diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt index 57c0c337d..21e84c2fc 100644 --- a/benchmarks/CMakeLists.txt +++ b/benchmarks/CMakeLists.txt @@ -12,14 +12,18 @@ CPMAddPackage( "RUN_HAVE_STD_REGEX 0" # ) -if (benchmark_ADDED) - # patch google benchmark target - set_target_properties(benchmark PROPERTIES CXX_STANDARD 14) -endif() +CPMAddPackage( + NAME nvbench + GITHUB_REPOSITORY NVIDIA/nvbench + GIT_TAG main + GIT_SHALLOW TRUE +) ################################################################################################### -# - compiler function ----------------------------------------------------------------------------- +### compiler function ############################################################################# +################################################################################################### +################################################################################################### function(ConfigureBench BENCH_NAME BENCH_SRC) add_executable(${BENCH_NAME} "${BENCH_SRC}") set_target_properties(${BENCH_NAME} PROPERTIES @@ -35,6 +39,22 @@ function(ConfigureBench BENCH_NAME BENCH_SRC) CUDA::cudart) endfunction(ConfigureBench) +################################################################################################### +function(ConfigureNVBench BENCH_NAME BENCH_SRC) + add_executable(${BENCH_NAME} "${BENCH_SRC}") + set_target_properties(${BENCH_NAME} PROPERTIES + POSITION_INDEPENDENT_CODE ON + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/nvbenchmarks") + target_include_directories(${BENCH_NAME} PRIVATE + "${CMAKE_CURRENT_SOURCE_DIR}") + #"${NVBench_SOURCE_DIR}") + target_compile_options(${BENCH_NAME} PRIVATE --expt-extended-lambda --expt-relaxed-constexpr) + target_link_libraries(${BENCH_NAME} PRIVATE + nvbench::main + pthread + cuco) +endfunction(ConfigureNVBench) + ################################################################################################### ### test sources ################################################################################## ################################################################################################### @@ -47,6 +67,14 @@ ConfigureBench(DYNAMIC_MAP_BENCH "${DYNAMIC_MAP_BENCH_SRC}") set(STATIC_MAP_BENCH_SRC "${CMAKE_CURRENT_SOURCE_DIR}/hash_table/static_map_bench.cu") ConfigureBench(STATIC_MAP_BENCH "${STATIC_MAP_BENCH_SRC}") +################################################################################################### +set(STATIC_MULTIMAP_BENCH_SRC "${CMAKE_CURRENT_SOURCE_DIR}/hash_table/static_multimap/static_multimap_bench.cu") +ConfigureNVBench(STATIC_MULTIMAP_BENCH "${STATIC_MULTIMAP_BENCH_SRC}") + +################################################################################################### +set(RETRIEVE_BENCH_SRC "${CMAKE_CURRENT_SOURCE_DIR}/hash_table/static_multimap/retrieve_bench.cu") +ConfigureNVBench(RETRIEVE_BENCH "${RETRIEVE_SRC}") + ################################################################################################### set(RBK_BENCH_SRC "${CMAKE_CURRENT_SOURCE_DIR}/reduce_by_key/reduce_by_key.cu") ConfigureBench(RBK_BENCH "${RBK_BENCH_SRC}") diff --git a/benchmarks/analysis/notebooks/StaticMultimap.ipynb b/benchmarks/analysis/notebooks/StaticMultimap.ipynb new file mode 100644 index 000000000..0269c5690 --- /dev/null +++ b/benchmarks/analysis/notebooks/StaticMultimap.ipynb @@ -0,0 +1,596 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Preparation" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install pandas\n", + "# !pip install matplotlib\n", + "\n", + "# Import libraries\n", + "import pandas as pd\n", + "\n", + "from Utils import *" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Global Parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Specify the data path\n", + "datafile = '../data/static-multimap-data.csv'\n", + "\n", + "output_keys = ['Benchmark', 'Label', 'Distribution', 'MatchingRate', 'Multiplicity', \\\n", + " 'NumInputs', 'Occupancy', 'GPU Time (sec)', 'Elem/s (elem/sec)']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import Data" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Read csv file\n", + "rawdf = pd.read_csv(datafile)\n", + "\n", + "# Filter out skipped tests\n", + "perfdf = rawdf[rawdf[\"Key\"] == rawdf[\"Value\"]].reset_index(drop=True)\n", + "\n", + "\n", + "# Add labels\n", + "perfdf['Label'] = perfdf[\"Key\"]\n", + "perfdf.loc[perfdf['Distribution'].notnull(), 'Label'] += \"_\" + perfdf['Distribution']\n", + "\n", + "# Trim data frame for visualization\n", + "perfdf = perfdf[output_keys]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Visualization" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Visualization Parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "staic_multimap_insert_uniform_multiplicity\n", + "staic_multimap_insert_occupancy\n", + "staic_multimap_count_uniform_multiplicity\n", + "staic_multimap_count_occupancy\n", + "staic_multimap_retrieve_uniform_multiplicity\n", + "staic_multimap_retrieve_occupancy\n", + "staic_multimap_retrieve_matching_rate\n", + "staic_multimap_query_uniform_multiplicity\n", + "staic_multimap_query_occupancy\n", + "staic_multimap_query_matching_rate\n", + "staic_multimap_count_matching_rate\n" + ] + } + ], + "source": [ + "# Get benchmark list\n", + "unique_bms = perfdf[\"Benchmark\"].unique()\n", + "for it in unique_bms:\n", + " print(it)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `insert` performance by varying key muliplicities\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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e6q+7xqZKJ9/Hjp0gFq17O/zz1ffvlu1asUXX3zBxIkT+eqrrxgwYAALFiwALFH++OOPTJ48mXXr1vHEE09Uupz69evzyiuvbPmilWfgwIFMnDiRiRMncsUVVwBw8cUXs8suuzB9+nSmT59Ox44d+eMf/7jlMbvuuisTJ05k8uTJzJs3jxdffHHLur333pv//ve/W+6PGDGCffbZp9LPpaqGD4e99oLate3v8OHVu//zzz+fa6+9lh9++IGxY8eyww47bFk3fvx4VqxYUeUy/P2sugcegEcfte80QNu28NhjtryqalyifP556NsXZs+2qvrs2Xa/upJlvXr1qF+/PgAbNmxgc1y9/7jjjkNEEBF69OjBvHnzKl1OnTp16Nu3L/fdd1+FH1tQUMCECRO4+eabtyy75ZZbGD9+PNOnTy+xbe3atenRowfz58/fsqxdu3asX7+exYsXo6q8++67HHvssZV+LlUxfDjceCM89JCdm3roIbtfXcny+++/p6ioiKOOOgqwmmajRo0A2LRpE9deey3//ve/q1yOv59VN3cudO0Ko0bB2WfDokXQpQssWFD1w++su9Y7mSuvhIkTy17/5ZewYUPJZWvXwsUXw+OPJ35MXh7cf3/qMcydO5fjjz+egoICBg4cSOvWrUusLyws5LnnnuOBKv7U9evXj27dunHdddeVu921117LnXfeCcBzzz3HzJkzycvLo3bt2lu2qV27Nnl5eUyZMoVu3bptWb5+/Xq++uqrrWI944wzeOmll9h3333p3r37lh+HMPTuvfWys86CSy+FO+6AbbeF/v2L1227LVx7LZxzDixdCmecUfKxY8akXva0adNo0qQJp512GjNnzuTII49kwIAB1K5dm4cffpiTTjqJVq1aVeZpbaWmvJ9hOeAAeOMN+OoreP11GDoU3noL8vPt6LEqalyNsnSSTLa8Mtq2bcukSZMoKCjgmWeeYfHixSXWX3rppRxyyCEcfPDBZe5DRJIu32677Tj//PO3nKcqS/yh2t57742qJtx//PLp06eTl5dH8+bNadeuXYkvG8BZZ53FSy+9xPDhwznnnHPKLT9MU6fC9tuXXLb99laLqA5FRUV8+umnDBo0iHHjxjFjxgyGDh3KggULeOmll7j88stT2o+/n+Hr3x+uuAJeeskqN8OG2dHiHXdUfd85V6NMVvPr0MEO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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_insert_uniform_multiplicity\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_single_perf(bm, tmpdf, \"Multiplicity\", unique_labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `insert` performance by varying occupancies\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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mt+KiEgelByKiES3SsC9wGZ8M7yG+JFK02/Ct5jZLOfcTuAafJKwFX8zPjmnAwaaY56G7x+4CkjG91krTg/h+yBuwDcFfC2PbSfg++htM7P3i3LSEL+H9YF1awNxjXbOLS7KebO5EFhhZjvwzSkvCMQ2A9/v8PHA+ZcCF+dzrHuAfwS+mxtz28g5tyRwnsfw/1ZOww9kcyCv39s59zYwDl/TtxNfE1c3cNhrA/ttw48o+3620+b1PV4J3GVmO4F/kll7Gor/BLafgk+uJ+D7T6abCHRFTUpFRIqdOVdsrXlERESimpkdA7zqnGse4VBKtUh+j2Y2AN+8tHWgb6WIiBQT1RyKiIhIqRBoMnst8LwSQxGR4qfkUEREADCzp81Ptp799XSkYysJ5ieQz+n6h+e/d/gF+jLmFN+CSMdWEgLzIG4DmgAPRzQYEZEySs1KRURERERERDWHIiIiIiIiouRQREREREREUHIoIiIiIiIiKDkUERERERERlByKiIiIiIgISg5FREREREQEJYciIiIiIiKCkkMRERERERFByaGIiIiIiIig5FBERERERERQcigiIiIiIiIoORQRERERERGUHIqIiIiIiAhKDkVERERERAQlhyIiIiIiIoKSQxEREREREUHJoYiIiIiIiKDkUERERERERFByKCIiIiIiIig5FBEREREREZQcioiIiIiICEoORUREREREBIiLdAAloX79+q5169aRDkNEitHMmTM3O+caRDqOolDZJFI2qXwSkWgUStlULpLD1q1bM2PGjEiHISLFyMxWRjqGolLZJFI2qXwSkWgUStmkZqUiIiIiIiKi5FBERERERESUHIqIiIhEPTM72cyWmNlSM7slh/UJZvaTme03sxuzrXvBzDaa2fySi1hESiMlhyIiIiJRzMxigSeAQUAnYJiZdcq22Z/ANcD4HA7xEnByOGMUkbJByaGIiIhIdOsLLHXOLXfOHQDeAM4I3sA5t9E5Nx04mH1n59y3+ORRRCRPSg5FREREolszYHXQ5+TAMhGRYlUuprII1aZNsHcvtGgBZpGORkRERASAnO5KXLGfxGwUMAqgZcuWuW63P2U/q7avynFdmzptiIvR7aVIaaX/eoG1a+Hyy+GHH6ByZahXD558Eo4+OtKRiUi5V7cubN166PI6deBPtRITKSeSgRZBn5sDa4v7JM65Z4FnAXr37p1r8vnszGe58fMbaVkrawL5x9Y/mDhkIsO7DS/u0ESkhJT7ZqXOwWmnQc+esG6df91zD5xzDqxYEenoRKTc27rVF1TZXzkljCJSVk0HOphZGzOrCAwFJkcqmGFdh1G9YnW+uPALfr/6d36/+nfePfdd6letz5CEIWE9d/Xq1QFYuXIlvXr1Iikpic6dO/P0009nbDN8+HDi4+Pp0qULl1xyCQcPHtINM4tPP/2Uvn37kpCQQFJSEueddx6rVmXWjKakpFC/fn3+/ve/Z9mvdevWbN68OePzN998w6mnngrAhg0bOPXUU+nevTudOnVi8ODBAKSlpXHNNdfQpUsXunbtSp8+ffjjjz9yPN57772HmbF48eKMZStWrMDMeOyxxzKWXXXVVbz00kshfX+lXfrvD7Bq1SpOPPFEEhMT6dSpEyuy3bhfffXVWbbPjX7/rMp9cvjDD7BvH9x1F1Sp4puTnn46XHghTJgQ6ehERESkvHPOpQBXAZ8Bi4C3nHMLzGy0mY0GMLPGZpYM/A34h5klm1nNwLpJwE9AfGD5pUWJp37V+lzR6wru+f6ejGV3fXsXY/uNpVrFahnLXnsNWreGmBj//tprRTlrVk2aNOHHH39kzpw5/Pzzz9x7772sXesrU4cPH87ixYuZN28ee/fu5fnnn8/1OPPnz+fqq69m4sSJLF68mDlz5jB8+PAsicaUKVOIj4/nrbfewrnQWvP+85//5IQTTuDXX39l4cKF3HvvvQC8+eabrF27lrlz5zJv3jzee+89ateuneMxJk2axFFHHcUbb7yRZXnDhg155JFHOHDgQEixRMqkSdClC8TG+vdJk4r3+CNGjGDs2LEsWrSIX375hYYNG2asmzFjBtu2bcv3GPr9D1Xuk8PVq6FzZ58UvvMODB3ql3fu7NeJiETcpk1wwQXw5ZeRjkREIsQ594lzrqNzrp1zblxg2dPOuacDf693zjV3ztV0ztUO/L0jsG6Yc66Jc65CYHmRH3//7Yi/8fbCt7n9q9sZ+f5Ivlv5HaN7j85Y/9prMGoUrFzpGzusXOk/F1eCWLFiRSpVqgTA/v37SUtLy1g3ePBgzAwzo2/fviQnJ+d6nPvuu49bb72VxMTEjGWnn346AwYMyPg8adIkrr32Wlq2bMm0adNCim/dunU0b94843O3bt0yljdp0oSYGH8L3rx5c+rUqXPI/rt27eKHH35gwoQJhyQHDRo0YODAgUycODGkWCJh0iS47TZ47DFfCfPYY/5zcSWICxcuJCUlhRNOOAHwNYpVq1YFIDU1lbFjx3L//ffnexz9/ocq98lhnz7wzTewe7dPBt98EzZvho8+gsMOi3R0IiJAtWrw+uu+qYOISBT49631qf7adB684lQmXj+Saq9P55QTq3HMMXDMMXDppbBnT9Z99uzxy9O3yf667rqCxbB69Wq6detGixYtuPnmm2natGmW9QcPHuSVV17h5JNzn+JxwYIF9OzZM9f1e/fu5csvv+TUU09l2LBhTAoxuxkzZgyXXnopxx57LOPGjcuo1Tz33HP58MMPSUpK4oYbbmD27Nk57v/+++9z8skn07FjR+rWrcusWbOyrL/lllt48MEHSU1NDSmecMjpN3zySb/u7ruhRg2480444QT/XqMGjB3r12/efOi+BfHbb79Ru3ZtzjrrLHr06MHYsWMzvovHH3+c008/nSZNmuR7HP3+hyr3yWH79jBkCJx8cmYhdumlsGSJb1oqIhJxVatCq1YQ1O9ARCTSmtdqwb6U/TiXRqNqjbKs278/531yW14YLVq0YO7cuSxdupSJEyeyYcOGLOuvvPJKBgwYQP/+/UM63pYtW0hKSqJjx46MHz8egI8++ohjjz2WqlWrcvbZZ/Pee+9l3JBbDkPbpy876aSTWL58OZdffjmLFy+mR48ebNq0iebNm7NkyRLuueceYmJiGDhwIF/m0Cpk0qRJDA00Zxs6dOghSUmbNm3o27cvr7/+ekjXVtKWLIFatbIuq1XLDwJZHFJSUvjuu+8YP34806dPZ/ny5bz00kusXbuWt99+m6uvvrrAx9Tv72m0UuCpp+CZZ+C55/znffvg228hhD6sIiLhVadO5tw6K1ZktsnJoRmKiEhJefhhgApc8sFLvDjnRR67fAa9mvbKWN+6tW9Kml2rVr7FVnFq2rQpnTt35rvvvuOcc84B4M4772TTpk0888wzee7buXNnZs2aRffu3alXrx5z5sxh/Pjx7Nq1C/A36T/88AOtW7cGfALx9ddfc/zxx1OvXj22bt1K/fr1Afjzzz8z/gaoW7cu559/Pueffz6nnnoq3377LWeffTaVKlVi0KBBDBo0iEaNGvH+++8zcODAjP22bNnCV199xfz58zEzUlNTMbNDmkneeuutnHPOOVmaQJakvH7HxERfW3jssZnLvv4a0nO2+vWL9u+gefPm9OjRg7Zt2wIwZMgQpk2bRuPGjVm6dCnt27cHYM+ePbRv356lS5fmeBz9/ocq9zWH4DvKXnklzJzpB6Xp3Nn/oxURibg///Qddq6/3hdQqan+s6axEJEocMMRNwCwZMuSLMvHjfONHoJVreqXF4fk5GT27t0LwNatW/nhhx+Ij48H4Pnnn+ezzz5j0qRJGX27cnPTTTcxbtw4Fi1alLFsT6Ap2Y4dO/j+++9ZtWoVK1asYMWKFTzxxBMZtTjHHHMMr7zyCuD7ub366qscG8iGvvrqq4zj7Ny5k2XLltGyZUtmzZqV0cQwLS2NuXPn0qpVqywxvfPOO4wYMYKVK1eyYsUKVq9eTZs2bfj++++zbJeQkECnTp346KOPCv4Fhtltt/mWeF9/DQcP+vdLL/XLi0OfPn3YunUrmzZtAvz33alTJ0455RTWr1+f8XtVrVo118QQ9PvnRMlhkJgYOPJInyyKiESV7t2hXTslhSISVdrVbUfLWi05kJp15MThw+HZZ31NoZl/f/ZZv7w4LFq0iMMOO4zu3btz9NFHc+ONN9K1a1cARo8ezYYNGzjiiCNISkrirrvuyvU4Xbt25ZFHHmHEiBEkJCRw5JFHsmjRIs4//3zeffddjjvuuIyBbwDOOOMMJk+ezP79+7n99ttZunQp3bt3p0ePHrRv354LLrgAgJkzZ9K7d2+6devGEUccwWWXXUafPn3YuHEjp512Gl26dKFbt27ExcVx1VVXZYlp0qRJnHnmmVmWnX322Tk2IbztttvyHHAnUoYN8w8Crr7azyF+9dX+87BhxXP82NhYxo8fz8CBA+natSvOOS6//PICH0e//6Es1CFZS7PevXu7GTNmRDoMESlGZjbTOdc70nEUhcomkbJJ5ZOIRKNQyibVHIqIiIiIiIiSw+ymTYOkJJg7N9KRiIhkc/bZcMstkY5CRCSLCbMm0POZnqS5tPw3jpAXX3yRpKSkLK8xY8ZEOiwpIfr9Q6fRSrOpVg1+/RUWLIDAfJUiItFh40YIdL4XEYkWB9MOMnv9bNbsWEOLWi0iHU6ORo4cyciRIyMdhkSIfv/QqeYwmw4d/MA0mk5MRKJOQoIKJxGJOh3rdQQOHbFUREofJYfZVK4MbdpA0Ii2IiLRITHR1xxu2RLpSEREMsTX81NILNms5FCktFNymIPERD2cF5EolJDg31VAiUgUaVqjKdUrVlfNoUgZoD6HOTjxRJg9O9JRiIhk06ULDBqkyVhFJKqYGed0OodWtVrlv7GIRLWw1hya2clmtsTMlprZIUPsmVmCmf1kZvvN7MZQ9jWzumb2uZn9HnivU9xxX301vPBCcR9VRKJFaS2baNkSPvkEDj+82A8tIlIUL57xIjf0uyFzQePGYHboq3HjIp2nevXqAKxcuZJevXqRlJRE586defrppzO2GT58OPHx8XTp0oVLLrmEgwcP5nnMTz/9lL59+5KQkEBSUhLnnXceq1atAuDiiy+mTZs2GSNc9uvXL2O/999/n27dupGQkEDXrl15//33M9ZdfPHFVK1alZ07d2Ysu/baazEzNm/eDPiJ3INHz7z33ns588wzSUpKon379tSqVStj3Y8//sgxxxxDfHw83bt3p0+fPsyZMyfj2K1bt8447vr16xk6dCjt2rWjU6dODB48mN9++61wX3hhtW6d8+/funWRDpv++wOsWrWKE088kcTERDp16sSKFSuybHv11Vdn2T43+v2zcc6F5QXEAsuAtkBF4FegU7ZtGgJ9gHHAjaHsC9wP3BL4+xbgvvxi6dWrlyuotDTnUlIKvJuIlBBghiuHZZNzToWTSJQrbPkUTa/C3TulubS0tPQvIfdXEVSrVs0559z+/fvdvn37nHPO7dy507Vq1cqtWbPGOefcxx9/nBHL0KFD3ZNPPpnr8ebNm+fat2/vFi5cmLHsgw8+cFOnTnXOOXfRRRe5t99++5D95syZ49q1a+eWL1/unHNu+fLlrl27du7XX3/N2K9r167ulVdecc45l5qa6rp27eqaNWvmNm3alOVacvL111+7U045Jcuyo48+2k2fPt0559wLL7zgjj/++Ix1rVq1cps2bXJpaWnu8MMPd0899VTGutmzZ7tvv/0213OFRW6/czH9/s7572PKlCnOOf9vYPfu3Rnrpk+f7i644II8v2Pnyt/vH0rZFM6aw77AUufccufcAeAN4IzgDZxzG51z04Hsj3Ty2vcMYGLg74nAkOIOfPduaNAAHnqouI8sIlGg1JZNAFx7re8YLSISSdddB8cck/H687BufN8ujt1H9vXL8hK0X5bXddeFfPqKFStSqVIlAPbv309aWuYc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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_insert_occupancy\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_dual_perf(bm, tmpdf, \"Occupancy\", unique_labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `count` performance by varying key muliplicities\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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87Z69eCGG6B7d1i0CM44Y8vHfvpp8mX/+OOP1K9fn9NOO42ff/6ZY445hgcffJCcnByeeOIJTj75ZBo3blyRp7WV6vJ+huXAA+Hdd2H0aHjnHXjuORg+HPLy7OyxMqpdjbJkkky0viKaNWvGxIkTKSgo4Pnnn+fXX3/dYvsVV1zB4YcfzmGHHVbqMexmpbLX77DDDlxwwQWbrlOVJvZUrX379qhq3OPHrp8+fTq5ubk0bNiQ5s2bb/FlAzjrrLMYOnQor7zyCt27dy+z/DBNmwY77rjluh13tFpEKhQVFTFq1Cj69evHmDFjmDFjBs899xzz5s1j6NChXHXVVUkdx9/P8N11F1x9NQwdapWbl16ys8V77qn8satcjTJRza9lSzvdLqlFi/LVNJKx++67s++++zJq1CjOCKo1d911FwsXLuSpp54q87ENGzZk/vz5W6xbvnw59evX32LdtddeS6dOnbj44uTHE9l333357rvv2LhxI9sE/2o3btzIhAkT2GeffYDN17Tmz5/PEUccwbBhwzj55JM3HWO33XajRo0afPTRR/Tv35+vvvoq6fLLq6z3ZZ997Aty5JGb133yCRTnr513rtz72rRpUzp27Mgee+wBwKmnnsrXX3/NbrvtRkFBAW3atAFg1apVtGnThoKCgrjH8fczfEccAc8/DyeeCOvWWW3yzTfhkEMqf+xqV6O87z4ILjFtUreurU+FwsJCVgcduJYsWcKXX35J27ZtARg8eDAjRozglVde2fSBLs3hhx/OsGHDWL58OQBvvfUW+++//xanVwANGjTgrLPO2qLVMpE2bdrQsWPHTadvAPfeey+dOnXa9MUv1rhxYx588EEeeOCBrY5z991389BDD20VUzrdeqtdNvnkE1i/3n5feqmtT4UDDjiAJUuWUHzr7MiRI2nXrh0nnXQSv/zyCzNnzmTmzJnUrVu31CQJ/n6mS+PG0KED/O9/1gKeiiQJVbBGmUiPHvb71lth9mxo3tySZPH6ypo6dSrXXXcdIoKqcv3119O+fXsAevXqRYsWLTj44IMBOO200+jTp0/c43To0IErr7ySQw89FBFhl112KbWV/LrrruOJJ54oV5xPP/00V111FW3atEFVOfjgg0v9cp566qnceeedjBo1aov1Xbt2LVeZYSg+S7zqKpg61WqY9923eX1l5eTk0K9fP44+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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_count_uniform_multiplicity\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_single_perf(bm, tmpdf, \"Multiplicity\", unique_labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `count` performance by varying occupancies\n", + "
    \n", + "
  • 100'000'000 key/value pairs inserted
  • \n", + "
  • 100'000'000 probing keys
  • \n", + "
  • Fixed matching rate: 0.5
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_count_occupancy\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_dual_perf(bm, tmpdf, \"Occupancy\", unique_labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `count` performance by varying matching rates\n", + "
    \n", + "
  • 100'000'000 key/value pairs inserted
  • \n", + "
  • 100'000'000 probing keys
  • \n", + "
  • Fixed matching rate: 0.5
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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+ckn7VeISIaApUaffHL//d7edihpREWLwtq1CRtLgQIFqFChAr///judOnUC4O233+b8+fNMmjTpvs+tUKECmzdvpkqVKuTKlYutW7cyduxYbty4AdiL9D///BNvb2/AJhBr1qzh4YcfJleuXFy+fJncue3spkuXLoX+DJAzZ066detGt27daNOmDb/99hsdO3Ykffr0tGzZkpYtW5IvXz4WL15MkyZNQp938eJFfv31V3bs2IGIEBQUhIjcM0zytddeo1OnTuGGQCam+32O5crZ3sJGje5uW7Pm7v/vuXPH7++gUKFCVK1aleKu0uaPPPII69evJ3/+/Bw4cICSJUsCcOvWLUqWLMmBAwciPU9y+/x3ntvJsSvHKJuzLNO+nEar9q14sMGDcf9FRsKdw0qVUipSIcX+GjSATZvg44/hv//sshZDh9rCNEop5ZhWrWDkyMirleoyFjEyahS4poCFypTJbk8IJ06c4Pbt2wBcvnyZP//8kzJlygAwdepUVq5cyZw5c0LndkXlpZdeYtSoUezevTt02y3XeNhr167xxx9/cOzYMY4cOcKRI0eYOHFiaC9Ow4YNmTFjBmDnuc2cOZNGrmzo119/DT3P9evXOXjwIEWKFGHz5s2hQwyDg4PZtm0bRYsWDRfT/Pnz6dmzJ0ePHuXIkSMcP36cYsWK8ccff4Q7rmzZspQvX55ly5bF/hfoZq+/bu+prFljq4+vWWMfv/56wpy/Ro0aXL58mZCik7/++ivly5endevWnDlzJvTzypQpU5SJISSvz/+7Fd/Re3FvPDw8WNljJQ/6PMjDtR5mw9oNCfErDaXJoVIqUW3fDqVLw1df2cfR/L+tlFKJZ/9++71VK3grYSr/pVbdu8PkybanUMR+nzzZbk8Iu3fvplatWlSpUoUGDRowbNgwKlWqBED//v05e/YstWvXxsfHh3feeSfK81SqVInx48fTs2dPypYtS926ddm9ezfdunVj4cKFNG7cOLTwDUD79u1ZunQpfn5+jBgxggMHDlClShWqVq1KyZIl6dHDDm7btGkTvr6+VK5cmdq1a/PUU09Ro0YNzp07R9u2balYsSKVK1cmTZo0DBo0KFxMc+bM4dFHHw23rWPHjpEOIX399dfvW3DHKV272hsBgwdDhgz2+6hRdntC8PT0ZOzYsTRp0oRKlSphjOHpp5+O9XmS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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_count_matching_rate\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_dual_perf(bm, tmpdf, \"MatchingRate\", unique_labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `retrieve` performance by varying key muliplicities\n", + "
    \n", + "
  • 100'000'000 key/value pairs inserted
  • \n", + "
  • 100'000'000 probing keys
  • \n", + "
  • Fixed matching rate: 0.5
  • \n", + "
  • Fixed occupancy: 0.8
  • \n", + "
  • UNIFORM distribution
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_retrieve_uniform_multiplicity\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_single_perf(bm, tmpdf, \"Multiplicity\", unique_labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `retrieve` performance by varying occupancies\n", + "
    \n", + "
  • 100'000'000 key/value pairs inserted
  • \n", + "
  • 100'000'000 probing keys
  • \n", + "
  • Fixed matching rate: 0.5
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_retrieve_occupancy\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_dual_perf(bm, tmpdf, \"Occupancy\", unique_labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `retrieve` performance by varying matching rates\n", + "
    \n", + "
  • 100'000'000 key/value pairs inserted
  • \n", + "
  • 100'000'000 probing keys
  • \n", + "
  • Fixed matching rate: 0.5
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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sE0bV3ymcGH4/HPfJ4bGGBOlYEF3FzD2I0cOqFPHlUF+/31XEjkVEkNjjEmKPaf20Hxqc3p82YNDZw8lvoOPWLdSY0yiPvoI3nkHRo2CatVcgZl69SA8HAICXG+t8HAbtmOM8YPIKSfgynyF4J4HDYJXX3VXrowxJo1af3A9nT7txLnL5/iu13cUy1PMb7HYqZwxJkEXL8KIEfDtt9C9u5uCYvp0CA2FUqVcPYdnnnHTgxljjN/8/LO7M/j771eWjRtniaExJk1bFLKIFtNaEJAlgOX3L+fG8jf6NR5LDo0xCdq1C667DipWdO/Ll4fgYJg0yY0zLFXKv/EZYww9ekDr1m6C+nPn/B2NMcZ4bfX+1VQoUIEV/VdQq2gtf4djyaExJmF588Leva476dmzkD07fP21e7bE0BjjV2++6Z6/+w5efhm2bnWDo43/XX993GNBr09eOf48efIA8M8//9CgQQOCgoKoWbMm48ePj9qmd+/eVK1alVq1anH//fdz+fLlBI+5cOFCGjVqRLVq1QgKCuKuu+5iz549ANx3332UL1+eoKAggoKCuOGGG6L2++abb6hTpw7VqlWjdu3afPPNN1Hr7rvvPnLlysWZM2eilj3yyCOICEePHgXcRO6Rxw0KCmLUqFHcdtttBAUFUalSJa677rqodb/99hutW7ematWq1K1bl4YNG7J+/fqoY5crVy7quAcPHqRnz55UrFiRGjVq0KlTJ/7666+k/cGTqly5uH//cuWSddjI3x9gz5493HTTTVSvXp0aNWqwe/fuGNsOGzYsxvbx8cfvr6pRv/+XD3+JjlNmfjQzbfz+qprhHw0aNFBjzLX79lvVcuVUQbVMGdW//3bL16xx7xct8l9swGpNA+1Lch7WNhmTBBER7qGq+sYbroHas+fq7SB144rx0dY+qRsBGvcjGXLnzq2qqhcvXtQLFy6oquqZM2e0bNmy+u+//6qq6vfff68REREaERGhPXv21I8++ije423cuFErVaqkW7ZsiVo2b948/fnnn1VVtW/fvvrll19etd/69eu1YsWKunPnTlVV3blzp1asWFH//PPPqP1q166tM2fOVFXV8PBwrV27tpYsWVKPHDkS47vE5aefftLOnTvHWNaqVStdtWqVqqpOnTpV27VrF7WubNmyeuTIEY2IiNAmTZrouHHjotatW7dOf/nl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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_retrieve_matching_rate\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_dual_perf(bm, tmpdf, \"MatchingRate\", unique_labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `query` (`retrieve` + `count`) performance by varying key muliplicities\n", + "
    \n", + "
  • 100'000'000 key/value pairs inserted
  • \n", + "
  • 100'000'000 probing keys
  • \n", + "
  • Fixed matching rate: 0.5
  • \n", + "
  • Fixed occupancy: 0.8
  • \n", + "
  • UNIFORM distribution
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_query_uniform_multiplicity\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_single_perf(bm, tmpdf, \"Multiplicity\", unique_labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `query` (`retrieve` + `count`) performance by varying occupancies\n", + "
    \n", + "
  • 100'000'000 key/value pairs inserted
  • \n", + "
  • 100'000'000 probing keys
  • \n", + "
  • Fixed matching rate: 0.5
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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HwD9+vW7JfmoXLkyTZs25ccff3TotWW0vXuhUKGE2woVsqN+XCEyMpIVK1YwadIkNmzYwKFDh/j22285fvw4s2fPZuTIkU5fM9O9/02aEr41nH9O/UOvGr1c1gsIbqwOKiK+wOdAJyAE2CAivxtjdsU77BzwNNA70bnlYrbXNsaEicjP2AWdv3VXvEop92nWDObNg3btbCG+Jk3scKF27TwdmVIq2ytSBB580P7crFnC7dncRx+lvL9SJTsENLHbboOlS10bS9myZalTpw4rVqygT58+ALz22mucPn2aL7/8MsVz69Spw+bNm2nQoAHFihVj69atTJo0iStXrgD2w/iqVauoVKkSYBOFJUuW0LFjR4oVK8b58+cpXtyW5D937lzczwBFixbloYce4qGHHqJnz54sX76c+++/n9y5c9OtWze6detGqVKlmDdvHh06dIg77+zZsyxevJgdO3YgIkRFRSEitwxvfPnll+nTp0+CoYsZKaX3sVYt2/sX/2/5kiUQm5sVL56+fwfly5enYcOGVKlSBYDevXuzdu1aSpcuzYEDB6hWrRoA165do1q1ahw4cCDJ62Tm9795/+bMGjKLMnXL0Lx887T/MpPgzp7ApsABY8whY0w4MAu4J/4BxphQY8wGIKlbbzmAvCKSA/ADXHRfQSnlCWFh9ib7tGl2aKgmgEopr3DuHNSuDV27JqwOqstDpGrChFuH9Pv52e2uEBISQliYXSft/PnzrFq1iho1agAwdepUFi5cyMyZM+PmXiXnhRdeYMKECezevTtu27WYcayXLl1i5cqVHDlyhODgYIKDg/n888/jemXatm3L9OnTATsP7YcffqBdzB+wxYsXx13n8uXLHDx4kIoVK7J58+a4oYHR0dFs27aN2267LUFMv/zyCwMHDuTw4cMEBwdz9OhRKleuzMqVKxMcV7NmTWrXrs2ff/7p/C/QzcaOtUN/lyyxf9+XLLGPx451zfWbNGnC+fPnOX36NGB/37Vr16ZHjx6cPHky7v3y8/NLNgGEzP3+b43aSs7SOclxIAe+Pq5dU8udSWA54Gi8xyEx21JljDkGTAKOACeAi8aYIJdHqJTKMEuW2OphLVt6OhKllIonNBR27XJ+wpJiwACYMsX2/InY71Om2O2usHv3bpo1a0aDBg1o06YNo0aNol69egAMHz6cU6dO0bx5c/z9/Xn99deTvU69evX4+OOPGThwIDVr1uSuu+5i9+7dPPTQQ8yZM4f27dvHFaABuOeee/j999+5ceMG48aN48CBAzRo0ICGDRtSrVo1Hn74YQA2bdpE48aNqV+/Ps2bN+fxxx+nSZMmhIaGcvfdd1O3bl3q169Pjhw5GDFiRIKYZs6cyb333ptg2/3335/k0M+xY8emWPjGU/r3twn/yJGQJ4/9PmGC3e4Kvr6+TJo0iQ4dOlCvXj2MMQwdOtTp62TW9z/aRBO4P5B2A9u55f0XR8ugOn1hkQeALsaYx2MePwI0NcbcMoBXRMYDV4wxk2IeFwF+BfoCF4DZwC/GmB+SOHcYMAygYsWKjQ4nNS5BKeVxLVrYm+tr1jh3nohsMsY0dk9UGaNx48Zm48aNng5DKZWUf/6BRx+FL79MOBw0Fdo2KaXcKfRqKPfMuocRTUY4XRDGkfbJbXMCsT1/FeI9Lo/jQzo7Av8aY04DiMgcoAVwSxJojJkCTAHbmKUnYKWUe1y5Ahs23KwYppRSXqNBA9i61dNRKKVUAiXzlWTNY07eOXeCO5PADUB1EakMHMMWdnnIwXOPAHeKiB8QBnQA9FaVUplURAS8+qqdcqOUUl4lKsqOVVeZ3rRp0/j4448TbLvrrrv4/PPPPRSRykhZ7f2/HnmdPDnctziC24aDAohId+AjwBf4xhgzQUSGAxhjJotIaWxyVxCIBq5gK4JeEpHXsMNBI4EtwOPGmBSLDuuwBqWyHh1ypZRym9BQqFbNTmSLKdXuKG2blFLucurKKSp9XImpd09N09qAnh4OijEmEAhMtG1yvJ9PYoeJJnXuf4H/ujM+pVTGWLkS6teHggU9HYlSSsWzfDlcvmwrmiillJcI3B/I9cjr1ClZx23P4dbF4pVS6tIlW3Tvvfc8HYlSSiWybJld06Bxpu7QU0plMQH7AyhXoBwNSjVw23NoEqiUcqsVK+yUG10XUCnldZYutevW5Mzp6UiUUgqA8Khwgg4G0b16d0TEbc+jSaBSyq0WL4ZcuaB5c09HopRS8Zw5Azt2QJs2no5EKaXirDyyksvhl+lRvYdbn0eTQKWUWy1ZYhPAvHk9HYlSSsUTHQ3jxkHPnp6OJPMqXdquEp/4q3TpdF02f/78ABw+fJhGjRrh7+9PnTp1mDw5rqwEAwYMoEaNGtStW5chQ4YQERGR4jUXLFhA06ZNqVmzJv7+/vTt25cjR44AMGjQICpXroy/vz/+/v60aNEi7rx58+ZRv359atasSb169Zg3b17cvkGDBuHn58fly5fjtj3zzDOICGfOnAHsguex1/X392fixInce++9+Pv7U61aNQoVKhS3b/Xq1bRt25YaNWrQoEEDmjRpwtZ4y5dUqlQp7ronT56kX79+VK1aldq1a9O9e3f27duXtl94WlWqlPT7X6lSui4b+/4DHDlyhM6dO1OrVi1q165NcHBwgmNHjhyZ4PjkZKb3f2jnoZSeXprXH37dve+/MSbLfDVq1MgopbzH2bPGiBgzfnzarwFsNF7QvqTnS9smpbIebZuMMZD8Vzrky5fPGGPMjRs3zPXr140xxly+fNncdttt5tixY8YYYwICAkx0dLSJjo42/fr1M1988UWy19u+fbupVq2a2bVrV9y23377zSxbtswYY8yjjz5qZs+efct5W7duNVWrVjWHDh0yxhhz6NAhU7VqVfPPP//EnVevXj0zffp0Y4wxUVFRpl69eqZcuXLm9OnTCV5LUpYsWWJ69OiRYFubNm3Mhg0bjDHGfPPNN6Zjx45x+2677TZz+vRpEx0dbe68807zv//9L27fli1bzPLly5N9LrdI7n120ftvjP19BAUFGWPsv4GrV6/G7duwYYN5+OGHU/wdG5M9339H2ie3VgdVSmVvhQvDli1QtKinI1FKqURWrQJ/f8iXz9OReK9nn4V4PRFOads26e3+/vDRRw5dIleuXHE/37hxg+jo6LjH3bt3j/u5adOmhISEJHudd955h5dffplatWrFbevVq1eqzz9p0iRefvllKleuDEDlypV56aWXeO+995g+fToA/fv356effuLhhx9m6dKl3HXXXcyfP9+h15ea5s2b814SVdWWLFlCzpw5GT58eNw2f39/lzznLZJ6Hx98EJ58Mvn9sc6cgT59Em5butThp961axeRkZF06tQJSNhDGBUVxejRo/nxxx+ZO3duitfJTO//jagbLPl3CbUb1Hb7+6/DQZVSbuPjAw0aQIUKno5EKaXiOXvWFoT58ENPR6JScfToUerXr0+FChV48cUXKVu2bIL9ERERTJ8+na5duyZ7jZ07d3LHHXek+DyjR4+OG5Y3YMCAuPMaNWqU4LjGjRuzc+fOuMfVq1fn9OnTnD9/npkzZ9Iv0XqTYWFhCYYD/vTTTw69brBDGHv37n3L9h07dtwSV1a0b98+ChcuzH333UfDhg0ZPXo0UVFRAHz22Wf06tWLMmXKpHqdzPT+n756mhcWvcCJyyfc/v5rT6BSym1efx1at075RqFSSmW45cvtd22cUpZaj11KlQud6PFJSYUKFdi2bRvHjx+nd+/e9OnTh1KlSsXtf/LJJ2ndujWtWrVy6Hpnz56lQ4cOXLt2jWHDhjFq1CgA3nvvPfok6rUyxtxSnTGpbffddx+zZs1i3bp1fPnllwn25c2bN8G8LkcMGDCAq1evEhUVxebNm5061+VSex+T2h/7+ylePF3/DiIjI1mxYgVbtmyhYsWK9O3bl2+//ZZu3boxe/Zslqbh2t7+/p8LO0eu33LRJrCN299/7QlUSrnFmTPw3//aEVdKKeVVli2z1aqaNPF0JMpBZcuWpU6dOqxYsSJu22uvvcbp06f54IMPUjy3Tp06cR+mixUrxtatWxk2bBhXrlxJ9byNGzcm2LZ582Zq166dYFu/fv0YN24cnTp1wscn/R+tZ8yYwb///stDDz3EU089lWRcmzZtSvfzeLvy5cvTsGFDqlSpQo4cOejduzebN29my5YtHDhwgGrVqlGpUiWuXbtGtWrVkr1OZnn/r4Rf4cL1Czww7oEMef81CVRKucWyZfa7rg+olPI6S5dCixaQO7enI8nc4vXIObTdSSEhIYSFhQFw/vx5Vq1aRY0aNQCYOnUqCxcuZObMmal+8H7hhReYMGECu3fvjtt27dq1VJ9/1KhRvP3223EVKYODg3nrrbd4/vnnExxXsWJFJkyYwJOx8+RcIGfOnLz55pusXbs2QdwA7du358aNG3z11Vdx2zZs2MCy2D+8GeW225KuDnrbbS65fJMmTTh//jynT58GYPHixdSuXZsePXpw8uRJgoODCQ4Oxs/PjwMHDiR7nczy/v916C+MMbSq2CpD3n9NApVSbrFkia23oDfalVJe5dw52LZN1wd0hZMnk64NevKkSy6/e/dumjVrRoMGDWjTpg2jRo2iXr16AAwfPpxTp07RvHlz/P39ef3115O9Tr169fj4448ZOHAgNWvW5K677mL37t089NBDccfEnxPm7+9PeHg4/v7+vPPOO9x9993UrFmTu+++m3fffTfJIhxPPPEEVatWvWV74jlhY8aMcfj1582bl+ef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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_query_occupancy\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_dual_perf(bm, tmpdf, \"Occupancy\", unique_labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### `query` (`retrieve` + `count`) performance by varying matching rates\n", + "
    \n", + "
  • 100'000'000 key/value pairs inserted
  • \n", + "
  • 100'000'000 probing keys
  • \n", + "
  • Fixed matching rate: 0.5
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for bm in unique_bms:\n", + " flag = \"staic_multimap_query_matching_rate\" == bm\n", + " \n", + " if flag:\n", + " tmpdf = perfdf[perfdf[\"Benchmark\"] == bm]\n", + " \n", + " unique_labels = tmpdf[\"Label\"].unique()\n", + " plot_dual_perf(bm, tmpdf, \"MatchingRate\", unique_labels)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/benchmarks/analysis/notebooks/Utils.py b/benchmarks/analysis/notebooks/Utils.py new file mode 100644 index 000000000..3e6a001e8 --- /dev/null +++ b/benchmarks/analysis/notebooks/Utils.py @@ -0,0 +1,99 @@ +# Import libraries +import pandas as pd +import matplotlib.pyplot as plt +import matplotlib + +# Global parameters +colors = ['b','r','g','m','y','c'] +styles = ['o','s','v','^','D',">"] + +def plot_single_perf(bm, df, xaxis, unique_labels): + fig = fig = plt.figure(1,figsize=(5, 5)) + fig.suptitle(bm) + + ax = fig.gca() + ax.set_xlabel(xaxis) + ax.set_ylabel('GPU Time (sec)') + + ax.set_xscale('log') + ax.set_xticks(list(df[xaxis])) + ax.get_xaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter()) + + marker_handles = [] + + num_style = len(df["Distribution"].unique()) + + # Iterate over labels and label indices + for lindex, lbl in enumerate(unique_labels): + tmpdf = df.loc[df['Label'] == lbl] + + x = tmpdf[xaxis] + perf = tmpdf["GPU Time (sec)"] + + # Get style & type index + sid = lindex % num_style + tid = int(lindex / num_style) + + if not tid: + ax.plot(x, perf, color=colors[sid]) + ax.scatter(x, perf, color=colors[sid], marker=styles[sid]) + + # Add legend + marker_handles.append(ax.plot([], [], c=colors[sid], marker=styles[sid], \ + label=lbl)[0]) + else: + ax.plot(x, perf, color=colors[sid], linestyle="--") + ax.scatter(x, perf, color=colors[sid], marker=styles[sid], facecolors='none') + + # Add legend + marker_handles.append(ax.plot([], [], c=colors[sid], marker=styles[sid], \ + mfc='none', linestyle="--", label=lbl)[0]) + + leg = plt.legend(handles = marker_handles, loc="upper left", ncol=2, frameon=False) + plt.savefig(bm + '.eps') + +def plot_dual_perf(bm, df, xaxis, unique_labels): + fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(15, 5)) + fig.suptitle(bm) + + marker_handles = [] + + lax = [ax1, ax2, ax3] + + for item in lax: + item.set_xlabel(xaxis) + item.set_ylabel("GPU Time (sec)") + + num_style = len(df["Distribution"].unique()) + + # Iterate over labels and label indices + for lindex, lbl in enumerate(unique_labels): + tmpdf = df.loc[df['Label'] == lbl] + + x = tmpdf[xaxis] + perf = tmpdf["GPU Time (sec)"] + + # Get style & type index + sid = lindex % num_style + tid = int(lindex / num_style) + + # INT32 + if not tid: + lax[sid].plot(x, perf, color=colors[sid]) + lax[sid].scatter(x, perf, color=colors[sid], marker=styles[sid]) + + # Add legend + marker_handles.append(lax[sid].plot([], [], c=colors[sid], marker=styles[sid], \ + label=lbl)[0]) + # INT64 + else: + + lax[sid].plot(x, perf, color=colors[sid], linestyle="--") + lax[sid].scatter(x, perf, color=colors[sid], marker=styles[sid], facecolors='none') + + # Add legend + marker_handles.append(lax[sid].plot([], [], c=colors[sid], marker=styles[sid], \ + mfc='none', linestyle="--", label=lbl)[0]) + + leg = plt.legend(handles = marker_handles, loc="upper left", ncol=2, frameon=False) + plt.savefig(bm + '.eps') \ No newline at end of file diff --git a/benchmarks/hash_table/static_multimap/retrieve_bench.cu b/benchmarks/hash_table/static_multimap/retrieve_bench.cu new file mode 100644 index 000000000..5856ed7c5 --- /dev/null +++ b/benchmarks/hash_table/static_multimap/retrieve_bench.cu @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +#include +#include + +#include "cuco/static_multimap.cuh" + +/** + * @brief Generates input keys by a given number of repetitions per key. + * + */ +template +static void generate_multikeys(OutputIt output_begin, + OutputIt output_end, + size_t const multiplicity) +{ + auto num_keys = std::distance(output_begin, output_end); + + for (auto i = 0; i < num_keys; ++i) { + output_begin[i] = (i % (num_keys / multiplicity)) + 1; + } +} + +/** + * @brief A benchmark evaluating multi-value retrieval performance by varing number of repetitions + * per key: + * - 100'000'000 keys are inserted + * - Map occupancy is fixed at 0.4 + * - Number of repetitions per key: 1, ... , 128, 256 + * + */ +template +std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> nvbench_retrieve( + nvbench::state& state, + nvbench::type_list, nvbench::enum_type>) +{ + std::size_t const num_keys = state.get_int64("NumInputs"); + auto const occupancy = state.get_float64("Occupancy"); + std::size_t const size = num_keys / occupancy; + std::size_t const multiplicity = state.get_int64("Multiplicity"); + + state.add_element_count(num_keys, "NumKeys"); + state.add_global_memory_writes(num_keys * 2); + + std::vector h_keys(num_keys); + std::vector> h_pairs(num_keys); + + generate_multikeys(h_keys.begin(), h_keys.end(), multiplicity); + for (auto i = 0; i < num_keys; ++i) { + Key key = h_keys[i]; + Value val = h_keys[i]; + h_pairs[i].first = key; + h_pairs[i].second = val; + } + + thrust::device_vector d_keys(h_keys); + thrust::device_vector> d_pairs(h_pairs); + + cuco::static_multimap, + cuco::double_hashing, + cuco::detail::MurmurHash3_32>> + map{size, -1, -1}; + map.insert(d_pairs.begin(), d_pairs.end()); + + auto const output_size = map.count_outer(d_keys.begin(), d_keys.end()); + thrust::device_vector> d_results(output_size); + + state.exec(nvbench::exec_tag::sync, [&](nvbench::launch& launch) { + map.retrieve_outer(d_keys.begin(), d_keys.end(), d_results.data().get(), launch.get_stream()); + }); +} + +template +std::enable_if_t<(sizeof(Key) != sizeof(Value)), void> nvbench_retrieve( + nvbench::state& state, + nvbench::type_list, nvbench::enum_type>) +{ + state.skip("Key should be the same type as Value."); +} + +using key_type = nvbench::type_list; +using value_type = nvbench::type_list; +using cg_size = nvbench::enum_type_list<1, 2, 4, 8, 16, 32>; +using buffer_size = nvbench::enum_type_list<1, 2, 4, 8, 16>; + +NVBENCH_BENCH_TYPES(nvbench_retrieve, + NVBENCH_TYPE_AXES(key_type, value_type, cg_size, nvbench::enum_type_list<2>)) + .set_type_axes_names({"Key", "Value", "CGSize", "BufferSize"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", {0.4}) + .add_int64_power_of_two_axis("Multiplicity", nvbench::range(0, 8, 1)); + +NVBENCH_BENCH_TYPES( + nvbench_retrieve, + NVBENCH_TYPE_AXES(key_type, value_type, nvbench::enum_type_list<8>, buffer_size)) + .set_type_axes_names({"Key", "Value", "CGSize", "BufferSize"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", {0.4}) + .add_int64_power_of_two_axis("Multiplicity", nvbench::range(0, 8, 1)); diff --git a/benchmarks/hash_table/static_multimap/static_multimap_bench.cu b/benchmarks/hash_table/static_multimap/static_multimap_bench.cu new file mode 100644 index 000000000..4ba873147 --- /dev/null +++ b/benchmarks/hash_table/static_multimap/static_multimap_bench.cu @@ -0,0 +1,450 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +#include +#include +#include + +#include +#include + +namespace { +// Custom pair equal +template +struct pair_equal { + __device__ bool operator()(const cuco::pair_type& lhs, + const cuco::pair_type& rhs) const + { + return lhs.first == rhs.first; + } +}; +} // anonymous namespace + +/** + * @brief A benchmark evaluating multi-value `insert` performance: + * - Total number of insertions: 100'000'000 + * - CG size: 8 + */ +template +std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> nvbench_static_multimap_insert( + nvbench::state& state, + nvbench::type_list, nvbench::enum_type>) +{ + auto const num_keys = state.get_int64("NumInputs"); + auto const occupancy = state.get_float64("Occupancy"); + + std::size_t const size = num_keys / occupancy; + + std::vector h_keys(num_keys); + std::vector> h_pairs(num_keys); + + generate_keys(h_keys.begin(), h_keys.end()); + + for (auto i = 0; i < num_keys; ++i) { + Key key = h_keys[i]; + Value val = h_keys[i]; + h_pairs[i].first = key; + h_pairs[i].second = val; + } + + thrust::device_vector> d_pairs(h_pairs); + + state.add_element_count(num_keys, "NumKeys"); + + state.exec(nvbench::exec_tag::sync | nvbench::exec_tag::timer, + [&](nvbench::launch& launch, auto& timer) { + cuco::static_multimap map{size, -1, -1}; + + // Use timers to explicitly mark the target region + timer.start(); + map.insert(d_pairs.begin(), d_pairs.end(), launch.get_stream()); + timer.stop(); + }); +} + +template +std::enable_if_t<(sizeof(Key) != sizeof(Value)), void> nvbench_static_multimap_insert( + nvbench::state& state, + nvbench::type_list, nvbench::enum_type>) +{ + state.skip("Key should be the same type as Value."); +} + +/** + * @brief A benchmark evaluating multi-value `count` performance: + * - Total number of insertions: 100'000'000 + * - CG size: 8 + */ +template +std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> nvbench_static_multimap_count( + nvbench::state& state, + nvbench::type_list, nvbench::enum_type>) +{ + auto const num_keys = state.get_int64("NumInputs"); + auto const occupancy = state.get_float64("Occupancy"); + auto const matching_rate = state.get_float64("MatchingRate"); + + std::size_t const size = num_keys / occupancy; + + std::vector h_keys(num_keys); + std::vector> h_pairs(num_keys); + + generate_keys(h_keys.begin(), h_keys.end()); + + for (auto i = 0; i < num_keys; ++i) { + Key key = h_keys[i]; + Value val = h_keys[i]; + h_pairs[i].first = key; + h_pairs[i].second = val; + } + + generate_probe_keys(matching_rate, h_keys.begin(), h_keys.end()); + + thrust::device_vector d_keys(h_keys); + thrust::device_vector> d_pairs(h_pairs); + + state.add_element_count(num_keys, "NumKeys"); + + cuco::static_multimap map{size, -1, -1}; + map.insert(d_pairs.begin(), d_pairs.end()); + + state.exec(nvbench::exec_tag::sync, [&](nvbench::launch& launch) { + auto count = map.count(d_keys.begin(), d_keys.end(), launch.get_stream()); + }); +} + +template +std::enable_if_t<(sizeof(Key) != sizeof(Value)), void> nvbench_static_multimap_count( + nvbench::state& state, + nvbench::type_list, nvbench::enum_type>) +{ + state.skip("Key should be the same type as Value."); +} + +/** + * @brief A benchmark evaluating multi-value `retrieve` performance: + * - Total number of insertions: 100'000'000 + * - CG size: 8 + */ +template +std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> nvbench_static_multimap_retrieve( + nvbench::state& state, + nvbench::type_list, nvbench::enum_type>) +{ + auto const num_keys = state.get_int64("NumInputs"); + auto const occupancy = state.get_float64("Occupancy"); + auto const matching_rate = state.get_float64("MatchingRate"); + + std::size_t const size = num_keys / occupancy; + + std::vector h_keys(num_keys); + std::vector> h_pairs(num_keys); + + generate_keys(h_keys.begin(), h_keys.end()); + + for (auto i = 0; i < num_keys; ++i) { + Key key = h_keys[i]; + Value val = h_keys[i]; + h_pairs[i].first = key; + h_pairs[i].second = val; + } + + generate_probe_keys(matching_rate, h_keys.begin(), h_keys.end()); + + thrust::device_vector d_keys(h_keys); + thrust::device_vector> d_pairs(h_pairs); + + state.add_element_count(num_keys, "NumKeys"); + + cuco::static_multimap map{size, -1, -1}; + map.insert(d_pairs.begin(), d_pairs.end()); + + auto const output_size = map.count_outer(d_keys.begin(), d_keys.end()); + thrust::device_vector> d_results(output_size); + + state.exec(nvbench::exec_tag::sync, [&](nvbench::launch& launch) { + map.retrieve_outer(d_keys.begin(), d_keys.end(), d_results.data().get(), launch.get_stream()); + }); +} + +template +std::enable_if_t<(sizeof(Key) != sizeof(Value)), void> nvbench_static_multimap_retrieve( + nvbench::state& state, + nvbench::type_list, nvbench::enum_type>) +{ + state.skip("Key should be the same type as Value."); +} + +/** + * @brief A benchmark evaluating multi-value query (`count` + `retrieve`) performance: + * - Total number of insertions: 100'000'000 + * - CG size: 8 + */ +template +std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> nvbench_static_multimap_query( + nvbench::state& state, + nvbench::type_list, nvbench::enum_type>) +{ + auto const num_keys = state.get_int64("NumInputs"); + auto const occupancy = state.get_float64("Occupancy"); + auto const matching_rate = state.get_float64("MatchingRate"); + + std::size_t const size = num_keys / occupancy; + + std::vector h_keys(num_keys); + std::vector> h_pairs(num_keys); + + generate_keys(h_keys.begin(), h_keys.end()); + + for (auto i = 0; i < num_keys; ++i) { + Key key = h_keys[i]; + Value val = h_keys[i]; + h_pairs[i].first = key; + h_pairs[i].second = val; + } + + generate_probe_keys(matching_rate, h_keys.begin(), h_keys.end()); + + thrust::device_vector d_keys(h_keys); + thrust::device_vector> d_pairs(h_pairs); + + state.add_element_count(num_keys, "NumKeys"); + + cuco::static_multimap map{size, -1, -1}; + map.insert(d_pairs.begin(), d_pairs.end()); + + auto const output_size = map.count_outer(d_keys.begin(), d_keys.end()); + thrust::device_vector> d_results(output_size); + + state.exec(nvbench::exec_tag::sync, [&](nvbench::launch& launch) { + auto count = map.count_outer(d_keys.begin(), d_keys.end(), launch.get_stream()); + map.retrieve_outer(d_keys.begin(), d_keys.end(), d_results.data().get(), launch.get_stream()); + }); +} + +template +std::enable_if_t<(sizeof(Key) != sizeof(Value)), void> nvbench_static_multimap_query( + nvbench::state& state, + nvbench::type_list, nvbench::enum_type>) +{ + state.skip("Key should be the same type as Value."); +} + +/** + * @brief A benchmark evaluating `pair_retrieve` performance: + * - CG size: 8 + */ +template +std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> nvbench_static_multimap_pair_retrieve( + nvbench::state& state, nvbench::type_list>) +{ + auto constexpr matching_rate = 0.5; + auto constexpr occupancy = 0.5; + auto constexpr dist = dist_type::UNIFORM; + + auto const num_input = state.get_int64("NumInputs"); + + std::size_t const size = num_input / occupancy; + + std::vector h_keys(num_input); + std::vector> h_pairs(num_input); + + generate_keys(h_keys.begin(), h_keys.end()); + + for (auto i = 0; i < num_input; ++i) { + Key key = h_keys[i]; + Value val = h_keys[i]; + h_pairs[i].first = key; + h_pairs[i].second = val; + } + + thrust::device_vector> d_pairs(h_pairs); + auto const pair_begin = d_pairs.begin(); + + cuco::static_multimap map{size, -1, -1}; + map.insert(pair_begin, pair_begin + num_input); + + generate_probe_keys(matching_rate, h_keys.begin(), h_keys.end()); + thrust::device_vector d_keys(h_keys); + + thrust::transform( + thrust::device, d_keys.begin(), d_keys.begin() + num_input, pair_begin, [] __device__(Key i) { + return cuco::pair_type{i, i}; + }); + + state.add_element_count(num_input, "NumInputs"); + + auto const output_size = + map.pair_count(pair_begin, pair_begin + num_input, pair_equal{}); + thrust::device_vector> d_results(output_size); + + auto out1_begin = thrust::make_zip_iterator( + thrust::make_tuple(thrust::make_discard_iterator(), thrust::make_discard_iterator())); + auto out2_begin = thrust::make_zip_iterator( + thrust::make_tuple(thrust::make_discard_iterator(), thrust::make_discard_iterator())); + + state.exec(nvbench::exec_tag::sync, [&](nvbench::launch& launch) { + auto [out1_end, out2_end] = map.pair_retrieve( + pair_begin, pair_begin + num_input, out1_begin, out2_begin, pair_equal{}); + }); +} + +template +std::enable_if_t<(sizeof(Key) != sizeof(Value)), void> nvbench_static_multimap_pair_retrieve( + nvbench::state& state, nvbench::type_list>) +{ + state.skip("Key should be the same type as Value."); +} + +using key_type = nvbench::type_list; +using value_type = nvbench::type_list; +using d_type = + nvbench::enum_type_list; + +using multiplicity = nvbench::enum_type_list<1, 2, 4, 8, 16, 32, 64, 128, 256>; + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_insert, + NVBENCH_TYPE_AXES(key_type, + value_type, + nvbench::enum_type_list, + multiplicity)) + .set_name("staic_multimap_insert_uniform_multiplicity") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", {0.8}); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_insert, + NVBENCH_TYPE_AXES(key_type, value_type, d_type, nvbench::enum_type_list<8>)) + .set_name("staic_multimap_insert_occupancy") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", nvbench::range(0.1, 0.9, 0.1)); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_count, + NVBENCH_TYPE_AXES(key_type, + value_type, + nvbench::enum_type_list, + multiplicity)) + .set_name("staic_multimap_count_uniform_multiplicity") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", {0.8}) + .add_float64_axis("MatchingRate", {0.5}); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_count, + NVBENCH_TYPE_AXES(key_type, value_type, d_type, nvbench::enum_type_list<8>)) + .set_name("staic_multimap_count_occupancy") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", nvbench::range(0.1, 0.9, 0.1)) + .add_float64_axis("MatchingRate", {0.5}); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_count, + NVBENCH_TYPE_AXES(key_type, value_type, d_type, nvbench::enum_type_list<8>)) + .set_name("staic_multimap_count_matching_rate") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", {0.8}) + .add_float64_axis("MatchingRate", {0.01, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_retrieve, + NVBENCH_TYPE_AXES(key_type, + value_type, + nvbench::enum_type_list, + multiplicity)) + .set_name("staic_multimap_retrieve_uniform_multiplicity") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", {0.8}) + .add_float64_axis("MatchingRate", {0.5}); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_retrieve, + NVBENCH_TYPE_AXES(key_type, value_type, d_type, nvbench::enum_type_list<8>)) + .set_name("staic_multimap_retrieve_occupancy") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", nvbench::range(0.1, 0.9, 0.1)) + .add_float64_axis("MatchingRate", {0.5}); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_retrieve, + NVBENCH_TYPE_AXES(key_type, value_type, d_type, nvbench::enum_type_list<8>)) + .set_name("staic_multimap_retrieve_matching_rate") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", {0.8}) + .add_float64_axis("MatchingRate", {0.01, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_query, + NVBENCH_TYPE_AXES(key_type, + value_type, + nvbench::enum_type_list, + multiplicity)) + .set_name("staic_multimap_query_uniform_multiplicity") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", {0.8}) + .add_float64_axis("MatchingRate", {0.5}); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_query, + NVBENCH_TYPE_AXES(key_type, value_type, d_type, nvbench::enum_type_list<8>)) + .set_name("staic_multimap_query_occupancy") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", nvbench::range(0.1, 0.9, 0.1)) + .add_float64_axis("MatchingRate", {0.5}); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_query, + NVBENCH_TYPE_AXES(key_type, value_type, d_type, nvbench::enum_type_list<8>)) + .set_name("staic_multimap_query_matching_rate") + .set_type_axes_names({"Key", "Value", "Distribution", "Multiplicity"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", {100'000'000}) // Total number of key/value pairs: 100'000'000 + .add_float64_axis("Occupancy", {0.8}) + .add_float64_axis("MatchingRate", {0.01, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}); + +NVBENCH_BENCH_TYPES(nvbench_static_multimap_pair_retrieve, + NVBENCH_TYPE_AXES(key_type, value_type, multiplicity)) + .set_name("staic_multimap_pair_retrieve_uniform_multiplicity") + .set_type_axes_names({"Key", "Value", "Multiplicity"}) + .set_timeout(100) // Custom timeout: 100 s. Default is 15 s. + .set_max_noise(3) // Custom noise: 3%. By default: 0.5%. + .add_int64_axis("NumInputs", + {1'000, + 100'000, + 1'000'000, + 10'000'000, + 100'000'000}); // Total number of key/value pairs: 100'000'000 diff --git a/benchmarks/key_generator.hpp b/benchmarks/key_generator.hpp new file mode 100644 index 000000000..09edb2654 --- /dev/null +++ b/benchmarks/key_generator.hpp @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include + +enum class dist_type { GAUSSIAN, GEOMETRIC, UNIFORM }; + +NVBENCH_DECLARE_ENUM_TYPE_STRINGS( + // Enum type: + dist_type, + // Callable to generate input strings: + // Short identifier used for tables, command-line args, etc. + // Used when context is available to figure out the enum type. + [](dist_type d) { + switch (d) { + case dist_type::GAUSSIAN: return "GAUSSIAN"; + case dist_type::GEOMETRIC: return "GEOMETRIC"; + case dist_type::UNIFORM: return "UNIFORM"; + default: return "ERROR"; + } + }, + // Callable to generate descriptions: + // If non-empty, these are used in `--list` to describe values. + // Used when context may not be available to figure out the type from the + // input string. + // Just use `[](auto) { return std::string{}; }` if you don't want these. + [](auto) { return std::string{}; }) + +template +static void generate_keys(OutputIt output_begin, OutputIt output_end) +{ + auto const num_keys = std::distance(output_begin, output_end); + + std::random_device rd; + std::mt19937 gen{rd()}; + + switch (Dist) { + case dist_type::GAUSSIAN: { + auto const mean = static_cast(num_keys / 2); + auto const dev = static_cast(num_keys / 5); + + std::normal_distribution<> distribution{mean, dev}; + + for (auto i = 0; i < num_keys; ++i) { + auto k = distribution(gen); + while (k >= num_keys) { + k = distribution(gen); + } + output_begin[i] = k; + } + break; + } + case dist_type::GEOMETRIC: { + auto const max = std::numeric_limits::max(); + auto const coeff = static_cast(num_keys) / static_cast(max); + // Random sampling in range [0, INT32_MAX] + std::geometric_distribution distribution{1e-9}; + + for (auto i = 0; i < num_keys; ++i) { + output_begin[i] = distribution(gen) * coeff; + } + break; + } + case dist_type::UNIFORM: { + std::uniform_int_distribution distribution{1, static_cast(num_keys / Multiplicity)}; + + for (auto i = 0; i < num_keys; ++i) { + output_begin[i] = distribution(gen); + } + break; + } + } // switch +} + +template +static void generate_probe_keys(double const matching_rate, + OutputIt output_begin, + OutputIt output_end) +{ + auto const num_keys = std::distance(output_begin, output_end); + auto const max = std::numeric_limits::max(); + + std::random_device rd; + std::mt19937 gen{rd()}; + + std::uniform_real_distribution rate_dist(0.0, 1.0); + std::uniform_int_distribution non_match_dist{static_cast(num_keys), max}; + + for (auto i = 0; i < num_keys; ++i) { + auto const tmp_rate = rate_dist(gen); + + if (tmp_rate > matching_rate) { output_begin[i] = non_match_dist(gen); } + } + + std::random_shuffle(output_begin, output_end); +} diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index f8598900b..aec370508 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -18,3 +18,4 @@ endfunction(ConfigureExample) ################################################################################################### ConfigureExample(STATIC_MAP_EXAMPLE "${CMAKE_CURRENT_SOURCE_DIR}/static_map/static_map_example.cu") +ConfigureExample(STATIC_MULTIMAP_EXAMPLE "${CMAKE_CURRENT_SOURCE_DIR}/static_multimap/static_multimap_example.cu") diff --git a/examples/static_multimap/static_multimap_example.cu b/examples/static_multimap/static_multimap_example.cu new file mode 100644 index 000000000..cda8f2073 --- /dev/null +++ b/examples/static_multimap/static_multimap_example.cu @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +#include +#include +#include + +#include + +int main(void) +{ + using key_type = int; + using value_type = int; + + int empty_key_sentinel = -1; + int empty_value_sentinel = -1; + + constexpr std::size_t N = 50'000; + + // Constructs a multimap with 100,000 slots using -1 and -1 as the empty key/value + // sentinels. Note the capacity is chosen knowing we will insert 50,000 keys, + // for an load factor of 50%. + cuco::static_multimap map{N * 2, empty_key_sentinel, empty_value_sentinel}; + + thrust::device_vector> pairs(N); + + // Create a sequence of pairs. Eeach key has two matches. + // E.g., {{0,0}, {1,1}, ... {0,25'000}, {1, 25'001}, ...} + thrust::transform(thrust::make_counting_iterator(0), + thrust::make_counting_iterator(pairs.size()), + pairs.begin(), + [] __device__(auto i) { return thrust::make_pair(i % (N / 2), i); }); + + // Inserts all pairs into the map + map.insert(pairs.begin(), pairs.end()); + + // Sequence of probe keys {0, 1, 2, ... 49'999} + thrust::device_vector keys_to_find(N); + thrust::sequence(keys_to_find.begin(), keys_to_find.end(), 0); + + // Counts the occurrences of keys in [0, 50'000) contained in the multimap. + // The `_outer` suffix indicates that the occurrence of a non-match is 1. + auto const output_size = map.count_outer(keys_to_find.begin(), keys_to_find.end()); + + thrust::device_vector> d_results(output_size); + + // Finds all keys {0, 1, 2, ...} and stores associated key/value pairs into `d_results` + // If a key `keys_to_find[i]` doesn't exist, `d_results[i].second == empty_value_sentinel` + auto output_end = + map.retrieve_outer(keys_to_find.begin(), keys_to_find.end(), d_results.data().get()); + auto retrieve_size = output_end - d_results.data().get(); + + // The total number of outer matches should be `N + N / 2` + assert(not(output_size == retrieve_size == N + N / 2)); + + return 0; +} diff --git a/include/cuco/allocator.hpp b/include/cuco/allocator.hpp index 21295c905..634e90423 100644 --- a/include/cuco/allocator.hpp +++ b/include/cuco/allocator.hpp @@ -29,16 +29,20 @@ class cuda_allocator { template cuda_allocator(cuda_allocator const&) noexcept - { } + { + } - value_type* allocate(std::size_t n) + value_type* allocate(std::size_t n, cudaStream_t stream = 0) { value_type* p; CUCO_CUDA_TRY(cudaMalloc(&p, sizeof(value_type) * n)); return p; } - void deallocate(value_type* p, std::size_t) { CUCO_CUDA_TRY(cudaFree(p)); } + void deallocate(value_type* p, std::size_t, cudaStream_t stream = 0) + { + CUCO_CUDA_TRY(cudaFree(p)); + } }; template diff --git a/include/cuco/detail/bitwise_compare.cuh b/include/cuco/detail/bitwise_compare.cuh index d554ddba3..03efb5fc4 100644 --- a/include/cuco/detail/bitwise_compare.cuh +++ b/include/cuco/detail/bitwise_compare.cuh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, NVIDIA CORPORATION. + * Copyright (c) 2020-2021, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,6 +14,8 @@ * limitations under the License. */ +#pragma once + #include #include diff --git a/include/cuco/detail/hash_functions.cuh b/include/cuco/detail/hash_functions.cuh index aec550aba..d5dcd0f64 100644 --- a/include/cuco/detail/hash_functions.cuh +++ b/include/cuco/detail/hash_functions.cuh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, NVIDIA CORPORATION. + * Copyright (c) 2017-2021, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,6 +36,8 @@ struct MurmurHash3_32 { __host__ __device__ constexpr MurmurHash3_32() : m_seed(0) {} + __host__ __device__ constexpr MurmurHash3_32(uint32_t seed) : m_seed(seed) {} + constexpr result_type __host__ __device__ operator()(Key const& key) const noexcept { constexpr int len = sizeof(argument_type); diff --git a/include/cuco/detail/pair.cuh b/include/cuco/detail/pair.cuh index 40d4aa8a4..0d8a85e3e 100644 --- a/include/cuco/detail/pair.cuh +++ b/include/cuco/detail/pair.cuh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, NVIDIA CORPORATION. + * Copyright (c) 2020-2021, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,6 +14,8 @@ * limitations under the License. */ +#pragma once + #include #include #include diff --git a/include/cuco/detail/prime.hpp b/include/cuco/detail/prime.hpp new file mode 100644 index 000000000..2dceba653 --- /dev/null +++ b/include/cuco/detail/prime.hpp @@ -0,0 +1,20194 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +namespace cuco { +namespace detail { + +constexpr std::array primes = { + 2, 3, 5, 7, 13, 19, 29, + 37, 43, 53, 59, 67, 73, 79, + 89, 97, 103, 109, 127, 137, 149, + 157, 163, 173, 179, 191, 197, 211, + 223, 229, 239, 251, 257, 263, 269, + 277, 283, 293, 307, 313, 331, 337, + 347, 353, 359, 367, 373, 379, 389, + 397, 409, 419, 431, 439, 449, 457, + 463, 479, 487, 499, 509, 521, 541, + 547, 557, 563, 569, 577, 587, 593, + 599, 607, 613, 619, 631, 641, 647, + 653, 659, 673, 683, 691, 701, 709, + 719, 727, 733, 739, 751, 757, 769, + 787, 797, 809, 821, 827, 839, 853, + 859, 877, 883, 907, 919, 929, 937, + 947, 953, 967, 977, 983, 991, 997, + 1009, 1019, 1031, 1039, 1049, 1061, 1069, + 1087, 1093, 1103, 1109, 1117, 1123, 1129, + 1151, 1163, 1171, 1181, 1187, 1193, 1201, + 1213, 1223, 1229, 1237, 1249, 1259, 1277, + 1283, 1289, 1297, 1303, 1319, 1327, 1361, + 1367, 1373, 1381, 1399, 1409, 1423, 1429, + 1439, 1447, 1453, 1459, 1471, 1481, 1487, + 1493, 1499, 1511, 1523, 1531, 1543, 1549, + 1559, 1567, 1579, 1597, 1607, 1613, 1619, + 1627, 1637, 1657, 1663, 1669, 1693, 1699, + 1709, 1721, 1733, 1741, 1747, 1753, 1759, + 1777, 1783, 1789, 1801, 1811, 1823, 1831, + 1847, 1861, 1867, 1873, 1879, 1889, 1901, + 1907, 1913, 1931, 1949, 1973, 1979, 1987, + 1993, 1999, 2011, 2017, 2027, 2039, 2053, + 2063, 2069, 2081, 2087, 2099, 2111, 2129, + 2137, 2143, 2153, 2161, 2179, 2203, 2213, + 2221, 2237, 2243, 2251, 2267, 2273, 2281, + 2287, 2293, 2309, 2333, 2339, 2347, 2357, + 2371, 2377, 2383, 2389, 2399, 2411, 2417, + 2423, 2437, 2447, 2459, 2467, 2473, 2503, + 2521, 2531, 2539, 2549, 2557, 2579, 2591, + 2609, 2617, 2633, 2647, 2657, 2663, 2671, + 2677, 2683, 2689, 2699, 2707, 2713, 2719, + 2729, 2741, 2749, 2767, 2777, 2789, 2797, + 2803, 2819, 2833, 2843, 2851, 2857, 2879, + 2887, 2897, 2903, 2909, 2917, 2927, 2939, + 2953, 2963, 2969, 2999, 3011, 3019, 3037, + 3049, 3061, 3067, 3079, 3089, 3109, 3119, + 3137, 3163, 3169, 3181, 3187, 3203, 3209, + 3217, 3229, 3251, 3257, 3271, 3299, 3307, + 3313, 3319, 3329, 3343, 3359, 3371, 3389, + 3407, 3413, 3433, 3449, 3457, 3463, 3469, + 3491, 3499, 3511, 3517, 3527, 3533, 3539, + 3547, 3557, 3571, 3581, 3593, 3607, 3613, + 3623, 3631, 3637, 3643, 3659, 3671, 3677, + 3691, 3697, 3709, 3719, 3727, 3733, 3739, + 3761, 3767, 3779, 3793, 3803, 3821, 3833, + 3847, 3853, 3863, 3877, 3889, 3907, 3917, + 3923, 3929, 3943, 3967, 3989, 4001, 4007, + 4013, 4019, 4027, 4049, 4057, 4073, 4079, + 4091, 4099, 4111, 4127, 4133, 4139, 4153, + 4159, 4177, 4201, 4211, 4217, 4229, 4241, + 4253, 4259, 4271, 4283, 4289, 4297, 4327, + 4337, 4349, 4357, 4363, 4373, 4391, 4397, + 4409, 4421, 4441, 4447, 4457, 4463, 4481, + 4493, 4507, 4513, 4519, 4547, 4561, 4567, + 4583, 4591, 4597, 4603, 4621, 4637, 4643, + 4649, 4657, 4663, 4673, 4679, 4691, 4703, + 4721, 4729, 4751, 4759, 4783, 4789, 4799, + 4813, 4831, 4861, 4871, 4877, 4889, 4903, + 4909, 4919, 4931, 4937, 4943, 4951, 4957, + 4967, 4973, 4987, 4993, 4999, 5009, 5021, + 5039, 5051, 5059, 5077, 5087, 5099, 5107, + 5113, 5119, 5147, 5153, 5167, 5179, 5189, + 5197, 5209, 5227, 5233, 5261, 5273, 5279, + 5297, 5303, 5309, 5323, 5333, 5347, 5381, + 5387, 5393, 5399, 5407, 5413, 5419, 5431, + 5437, 5443, 5449, 5471, 5477, 5483, 5501, + 5507, 5519, 5527, 5557, 5563, 5569, 5581, + 5591, 5623, 5639, 5647, 5653, 5659, 5669, + 5683, 5689, 5701, 5711, 5717, 5737, 5743, + 5749, 5779, 5791, 5801, 5807, 5813, 5821, + 5827, 5839, 5849, 5857, 5867, 5879, 5897, + 5903, 5923, 5939, 5953, 5981, 5987, 6007, + 6029, 6037, 6043, 6053, 6067, 6073, 6079, + 6089, 6101, 6113, 6121, 6131, 6143, 6151, + 6163, 6173, 6197, 6203, 6211, 6217, 6229, + 6247, 6257, 6263, 6269, 6277, 6287, 6299, + 6311, 6317, 6323, 6329, 6337, 6343, 6353, + 6359, 6367, 6373, 6379, 6389, 6397, 6421, + 6427, 6449, 6469, 6481, 6491, 6521, 6529, + 6547, 6553, 6563, 6569, 6577, 6599, 6607, + 6619, 6637, 6653, 6659, 6673, 6679, 6689, + 6701, 6709, 6719, 6733, 6761, 6779, 6791, + 6803, 6823, 6829, 6841, 6857, 6863, 6869, + 6883, 6899, 6907, 6917, 6947, 6959, 6967, + 6977, 6983, 6991, 6997, 7013, 7019, 7027, + 7039, 7057, 7069, 7079, 7103, 7109, 7121, + 7127, 7151, 7159, 7177, 7187, 7193, 7207, + 7213, 7219, 7229, 7237, 7243, 7253, 7283, + 7297, 7307, 7321, 7331, 7349, 7369, 7393, + 7411, 7417, 7433, 7451, 7457, 7477, 7487, + 7499, 7507, 7517, 7523, 7529, 7537, 7547, + 7559, 7573, 7583, 7589, 7603, 7621, 7639, + 7649, 7669, 7681, 7687, 7699, 7717, 7723, + 7741, 7753, 7759, 7789, 7817, 7823, 7829, + 7841, 7853, 7867, 7873, 7879, 7901, 7907, + 7919, 7927, 7933, 7949, 7963, 7993, 8009, + 8017, 8039, 8053, 8059, 8069, 8081, 8087, + 8093, 8101, 8111, 8117, 8123, 8147, 8161, + 8167, 8179, 8191, 8209, 8219, 8231, 8237, + 8243, 8263, 8269, 8287, 8293, 8311, 8317, + 8329, 8353, 8363, 8369, 8377, 8387, 8419, + 8429, 8443, 8461, 8467, 8501, 8513, 8521, + 8527, 8537, 8543, 8563, 8573, 8581, 8597, + 8609, 8623, 8629, 8641, 8647, 8663, 8669, + 8677, 8689, 8699, 8707, 8713, 8719, 8731, + 8737, 8747, 8753, 8761, 8779, 8803, 8819, + 8831, 8837, 8849, 8861, 8867, 8887, 8893, + 8923, 8929, 8941, 8951, 8963, 8969, 8999, + 9007, 9013, 9029, 9041, 9049, 9059, 9067, + 9091, 9103, 9109, 9127, 9133, 9151, 9157, + 9173, 9181, 9187, 9199, 9209, 9221, 9227, + 9239, 9257, 9277, 9283, 9293, 9311, 9319, + 9337, 9343, 9349, 9371, 9377, 9391, 9397, + 9403, 9413, 9419, 9431, 9437, 9461, 9467, + 9473, 9479, 9491, 9497, 9511, 9521, 9533, + 9539, 9547, 9587, 9601, 9613, 9619, 9629, + 9643, 9649, 9661, 9677, 9689, 9697, 9719, + 9733, 9739, 9749, 9767, 9781, 9787, 9803, + 9811, 9817, 9829, 9839, 9851, 9857, 9871, + 9883, 9901, 9907, 9923, 9929, 9941, 9949, + 9967, 9973, 10007, 10037, 10061, 10067, 10079, + 10091, 10099, 10111, 10133, 10139, 10151, 10159, + 10169, 10177, 10193, 10211, 10223, 10243, 10253, + 10259, 10267, 10273, 10289, 10301, 10313, 10321, + 10331, 10337, 10343, 10357, 10369, 10391, 10399, + 10427, 10433, 10453, 10459, 10477, 10487, 10499, + 10513, 10529, 10559, 10567, 10589, 10597, 10607, + 10613, 10627, 10639, 10651, 10657, 10663, 10687, + 10709, 10723, 10729, 10739, 10753, 10771, 10781, + 10789, 10799, 10831, 10837, 10847, 10853, 10859, + 10867, 10883, 10889, 10903, 10909, 10937, 10949, + 10957, 10973, 10979, 10987, 10993, 11003, 11027, + 11047, 11057, 11069, 11083, 11093, 11113, 11119, + 11131, 11149, 11159, 11171, 11177, 11197, 11213, + 11239, 11251, 11257, 11273, 11279, 11287, 11299, + 11311, 11317, 11329, 11351, 11369, 11383, 11393, + 11399, 11411, 11423, 11437, 11443, 11467, 11483, + 11489, 11497, 11503, 11519, 11527, 11549, 11579, + 11587, 11593, 11617, 11633, 11657, 11677, 11689, + 11699, 11717, 11731, 11743, 11777, 11783, 11789, + 11801, 11807, 11813, 11821, 11827, 11833, 11839, + 11863, 11887, 11897, 11903, 11909, 11923, 11933, + 11939, 11953, 11959, 11969, 11981, 11987, 12007, + 12037, 12043, 12049, 12071, 12097, 12107, 12113, + 12119, 12143, 12149, 12157, 12163, 12197, 12203, + 12211, 12227, 12239, 12251, 12263, 12269, 12277, + 12289, 12301, 12323, 12329, 12343, 12373, 12379, + 12391, 12401, 12409, 12421, 12433, 12451, 12457, + 12473, 12479, 12487, 12497, 12503, 12511, 12517, + 12527, 12539, 12547, 12553, 12569, 12577, 12583, + 12589, 12601, 12611, 12619, 12637, 12647, 12653, + 12659, 12671, 12689, 12697, 12703, 12713, 12721, + 12739, 12757, 12763, 12781, 12791, 12799, 12809, + 12821, 12829, 12841, 12853, 12889, 12899, 12907, + 12917, 12923, 12941, 12953, 12959, 12967, 12973, + 12979, 13001, 13007, 13033, 13043, 13049, 13063, + 13093, 13099, 13109, 13121, 13127, 13147, 13159, + 13171, 13177, 13183, 13217, 13229, 13241, 13249, + 13259, 13267, 13291, 13297, 13309, 13327, 13337, + 13367, 13381, 13397, 13411, 13417, 13441, 13451, + 13457, 13463, 13469, 13477, 13487, 13499, 13513, + 13523, 13537, 13553, 13567, 13577, 13591, 13597, + 13613, 13619, 13627, 13633, 13649, 13669, 13679, + 13687, 13693, 13709, 13721, 13729, 13751, 13757, + 13763, 13781, 13789, 13799, 13807, 13829, 13841, + 13859, 13873, 13879, 13901, 13907, 13913, 13921, + 13931, 13963, 13997, 14009, 14029, 14051, 14057, + 14071, 14081, 14087, 14107, 14143, 14149, 14159, + 14173, 14197, 14207, 14221, 14243, 14249, 14281, + 14293, 14303, 14321, 14327, 14341, 14347, 14369, + 14387, 14401, 14407, 14419, 14431, 14437, 14447, + 14461, 14479, 14489, 14503, 14519, 14533, 14543, + 14549, 14557, 14563, 14591, 14621, 14627, 14633, + 14639, 14653, 14669, 14683, 14699, 14713, 14723, + 14731, 14737, 14747, 14753, 14759, 14767, 14779, + 14797, 14813, 14821, 14827, 14843, 14851, 14867, + 14879, 14887, 14897, 14923, 14929, 14939, 14947, + 14957, 14969, 14983, 15013, 15031, 15053, 15061, + 15073, 15083, 15091, 15101, 15107, 15121, 15131, + 15137, 15149, 15161, 15173, 15187, 15193, 15199, + 15217, 15227, 15233, 15241, 15259, 15269, 15277, + 15287, 15299, 15307, 15313, 15319, 15329, 15349, + 15359, 15373, 15383, 15391, 15401, 15413, 15427, + 15439, 15451, 15461, 15467, 15473, 15493, 15511, + 15527, 15541, 15551, 15559, 15569, 15581, 15601, + 15607, 15619, 15629, 15641, 15647, 15661, 15667, + 15679, 15727, 15733, 15739, 15749, 15761, 15767, + 15773, 15787, 15797, 15803, 15809, 15817, 15823, + 15859, 15877, 15887, 15901, 15907, 15913, 15919, + 15937, 15959, 15971, 15991, 16001, 16007, 16033, + 16057, 16063, 16069, 16087, 16097, 16103, 16111, + 16127, 16139, 16183, 16189, 16217, 16223, 16229, + 16249, 16267, 16273, 16301, 16319, 16333, 16339, + 16349, 16361, 16369, 16381, 16411, 16417, 16427, + 16433, 16447, 16453, 16477, 16487, 16493, 16519, + 16529, 16547, 16553, 16561, 16567, 16573, 16603, + 16619, 16631, 16649, 16657, 16673, 16691, 16699, + 16729, 16741, 16747, 16759, 16787, 16811, 16823, + 16829, 16843, 16871, 16879, 16889, 16901, 16921, + 16927, 16937, 16943, 16963, 16979, 16987, 16993, + 17011, 17021, 17027, 17033, 17041, 17047, 17053, + 17077, 17093, 17099, 17107, 17117, 17123, 17137, + 17159, 17167, 17183, 17189, 17203, 17209, 17231, + 17239, 17257, 17291, 17299, 17317, 17327, 17333, + 17341, 17351, 17359, 17377, 17383, 17389, 17401, + 17417, 17431, 17443, 17449, 17467, 17477, 17483, + 17489, 17497, 17509, 17519, 17539, 17551, 17569, + 17579, 17597, 17609, 17623, 17657, 17669, 17681, + 17707, 17713, 17729, 17737, 17747, 17761, 17783, + 17789, 17807, 17827, 17837, 17851, 17863, 17881, + 17891, 17903, 17909, 17921, 17929, 17939, 17957, + 17971, 17977, 17987, 18013, 18041, 18047, 18059, + 18077, 18089, 18097, 18119, 18127, 18133, 18143, + 18149, 18169, 18181, 18191, 18199, 18211, 18217, + 18223, 18229, 18251, 18257, 18269, 18287, 18301, + 18307, 18313, 18329, 18341, 18353, 18367, 18379, + 18397, 18413, 18427, 18433, 18439, 18451, 18457, + 18481, 18493, 18503, 18517, 18523, 18539, 18553, + 18583, 18593, 18617, 18637, 18661, 18671, 18679, + 18691, 18701, 18713, 18719, 18731, 18743, 18749, + 18757, 18773, 18787, 18793, 18803, 18839, 18859, + 18869, 18899, 18911, 18917, 18947, 18959, 18973, + 18979, 19001, 19009, 19031, 19037, 19051, 19069, + 19079, 19087, 19121, 19139, 19157, 19163, 19181, + 19207, 19213, 19219, 19231, 19237, 19249, 19259, + 19267, 19273, 19289, 19301, 19309, 19319, 19333, + 19373, 19379, 19387, 19403, 19417, 19423, 19429, + 19441, 19447, 19457, 19463, 19469, 19477, 19483, + 19489, 19501, 19507, 19531, 19541, 19553, 19559, + 19571, 19577, 19583, 19597, 19603, 19609, 19661, + 19681, 19687, 19697, 19709, 19717, 19727, 19739, + 19751, 19759, 19777, 19793, 19801, 19813, 19819, + 19841, 19853, 19861, 19867, 19889, 19913, 19919, + 19927, 19937, 19949, 19961, 19973, 19979, 19991, + 19997, 20011, 20021, 20029, 20047, 20063, 20071, + 20089, 20101, 20107, 20113, 20123, 20129, 20143, + 20149, 20161, 20173, 20183, 20201, 20219, 20231, + 20249, 20261, 20269, 20287, 20297, 20323, 20333, + 20341, 20347, 20353, 20359, 20369, 20389, 20399, + 20407, 20431, 20441, 20477, 20483, 20507, 20521, + 20533, 20543, 20549, 20563, 20593, 20599, 20611, + 20627, 20639, 20663, 20681, 20693, 20707, 20717, + 20731, 20743, 20749, 20759, 20771, 20789, 20807, + 20849, 20857, 20873, 20879, 20887, 20897, 20903, + 20921, 20929, 20939, 20947, 20959, 20981, 21001, + 21011, 21017, 21023, 21031, 21059, 21067, 21089, + 21101, 21107, 21121, 21139, 21149, 21157, 21163, + 21169, 21179, 21187, 21193, 21211, 21221, 21227, + 21247, 21269, 21277, 21283, 21313, 21319, 21341, + 21347, 21377, 21383, 21391, 21397, 21407, 21419, + 21433, 21467, 21481, 21487, 21493, 21499, 21517, + 21523, 21529, 21557, 21563, 21569, 21577, 21587, + 21599, 21611, 21617, 21647, 21661, 21673, 21683, + 21701, 21713, 21727, 21737, 21751, 21757, 21767, + 21773, 21787, 21799, 21817, 21839, 21851, 21859, + 21871, 21881, 21893, 21911, 21929, 21937, 21943, + 21961, 21977, 21991, 21997, 22003, 22013, 22027, + 22037, 22051, 22063, 22073, 22079, 22091, 22109, + 22123, 22129, 22147, 22153, 22159, 22171, 22189, + 22229, 22247, 22259, 22271, 22277, 22283, 22291, + 22303, 22343, 22349, 22367, 22381, 22391, 22397, + 22409, 22433, 22441, 22447, 22453, 22469, 22481, + 22501, 22511, 22531, 22541, 22549, 22567, 22573, + 22613, 22619, 22637, 22643, 22651, 22669, 22679, + 22691, 22697, 22709, 22717, 22727, 22739, 22751, + 22769, 22777, 22783, 22807, 22817, 22853, 22859, + 22871, 22877, 22901, 22907, 22921, 22937, 22943, + 22961, 22973, 22993, 23003, 23011, 23017, 23027, + 23039, 23053, 23059, 23071, 23081, 23087, 23099, + 23117, 23131, 23143, 23159, 23167, 23173, 23189, + 23197, 23203, 23209, 23227, 23251, 23269, 23279, + 23291, 23297, 23311, 23321, 23327, 23333, 23339, + 23357, 23369, 23399, 23417, 23431, 23447, 23459, + 23473, 23497, 23509, 23531, 23537, 23549, 23557, + 23563, 23581, 23593, 23599, 23609, 23623, 23629, + 23663, 23669, 23677, 23687, 23719, 23741, 23747, + 23753, 23761, 23767, 23773, 23789, 23801, 23813, + 23819, 23827, 23833, 23857, 23869, 23879, 23887, + 23893, 23899, 23909, 23917, 23929, 23957, 23971, + 23977, 23993, 24001, 24007, 24019, 24029, 24043, + 24049, 24061, 24071, 24077, 24083, 24091, 24097, + 24103, 24109, 24121, 24133, 24151, 24169, 24179, + 24197, 24203, 24223, 24229, 24239, 24247, 24281, + 24317, 24329, 24337, 24359, 24371, 24379, 24391, + 24407, 24413, 24419, 24439, 24469, 24481, 24499, + 24509, 24517, 24527, 24533, 24547, 24571, 24593, + 24611, 24623, 24631, 24659, 24671, 24677, 24683, + 24691, 24697, 24709, 24733, 24749, 24763, 24781, + 24793, 24799, 24809, 24821, 24841, 24847, 24859, + 24877, 24889, 24907, 24917, 24923, 24943, 24953, + 24967, 24977, 24989, 25013, 25031, 25037, 25057, + 25073, 25087, 25097, 25111, 25117, 25127, 25147, + 25153, 25163, 25169, 25183, 25189, 25219, 25229, + 25237, 25243, 25253, 25261, 25301, 25307, 25321, + 25339, 25349, 25357, 25367, 25373, 25391, 25409, + 25423, 25439, 25447, 25453, 25463, 25469, 25523, + 25537, 25561, 25577, 25583, 25589, 25601, 25609, + 25621, 25633, 25639, 25657, 25667, 25673, 25679, + 25693, 25703, 25717, 25733, 25741, 25747, 25759, + 25771, 25793, 25799, 25819, 25841, 25847, 25867, + 25873, 25889, 25903, 25913, 25919, 25931, 25939, + 25951, 25969, 25981, 25997, 26003, 26017, 26029, + 26041, 26053, 26083, 26099, 26107, 26113, 26119, + 26141, 26153, 26161, 26171, 26177, 26183, 26189, + 26203, 26209, 26227, 26237, 26249, 26261, 26267, + 26293, 26309, 26317, 26339, 26347, 26357, 26371, + 26387, 26393, 26399, 26407, 26417, 26423, 26431, + 26437, 26449, 26459, 26479, 26489, 26497, 26513, + 26539, 26557, 26573, 26591, 26597, 26627, 26633, + 26641, 26647, 26669, 26681, 26687, 26693, 26699, + 26711, 26717, 26723, 26729, 26737, 26759, 26777, + 26783, 26801, 26813, 26821, 26833, 26839, 26849, + 26861, 26879, 26891, 26903, 26921, 26927, 26947, + 26953, 26959, 26981, 26987, 26993, 27011, 27017, + 27031, 27043, 27059, 27067, 27073, 27091, 27103, + 27109, 27127, 27143, 27179, 27191, 27197, 27211, + 27239, 27253, 27259, 27271, 27277, 27283, 27299, + 27329, 27337, 27361, 27367, 27397, 27407, 27427, + 27437, 27449, 27457, 27479, 27487, 27509, 27527, + 27539, 27551, 27581, 27611, 27617, 27631, 27647, + 27653, 27673, 27689, 27697, 27733, 27739, 27749, + 27763, 27773, 27779, 27791, 27799, 27809, 27817, + 27823, 27847, 27883, 27893, 27901, 27917, 27941, + 27947, 27953, 27961, 27967, 27983, 27997, 28019, + 28027, 28051, 28057, 28069, 28081, 28087, 28097, + 28109, 28123, 28151, 28163, 28181, 28201, 28211, + 28219, 28229, 28277, 28283, 28289, 28297, 28307, + 28319, 28349, 28387, 28393, 28403, 28409, 28429, + 28439, 28447, 28463, 28477, 28493, 28499, 28513, + 28537, 28547, 28559, 28571, 28579, 28591, 28597, + 28603, 28619, 28627, 28643, 28649, 28657, 28663, + 28669, 28687, 28697, 28703, 28711, 28723, 28729, + 28751, 28759, 28771, 28789, 28807, 28813, 28837, + 28843, 28859, 28867, 28879, 28901, 28909, 28921, + 28927, 28933, 28949, 28961, 28979, 29009, 29017, + 29023, 29033, 29059, 29077, 29101, 29123, 29129, + 29137, 29147, 29153, 29167, 29173, 29179, 29191, + 29201, 29207, 29221, 29231, 29243, 29251, 29269, + 29287, 29297, 29303, 29311, 29327, 29333, 29339, + 29347, 29363, 29383, 29389, 29399, 29411, 29423, + 29429, 29437, 29443, 29453, 29473, 29483, 29501, + 29527, 29537, 29567, 29573, 29581, 29587, 29599, + 29611, 29629, 29641, 29663, 29669, 29683, 29717, + 29723, 29741, 29753, 29759, 29789, 29803, 29819, + 29833, 29851, 29863, 29873, 29879, 29917, 29927, + 29947, 29959, 29983, 29989, 30011, 30029, 30047, + 30059, 30071, 30089, 30097, 30103, 30109, 30119, + 30133, 30139, 30161, 30169, 30181, 30187, 30197, + 30203, 30211, 30223, 30241, 30253, 30259, 30269, + 30293, 30307, 30313, 30319, 30341, 30347, 30367, + 30389, 30403, 30427, 30449, 30467, 30491, 30497, + 30509, 30517, 30529, 30539, 30553, 30559, 30577, + 30593, 30631, 30637, 30643, 30649, 30661, 30671, + 30677, 30689, 30697, 30703, 30713, 30727, 30757, + 30763, 30773, 30781, 30803, 30809, 30817, 30829, + 30839, 30851, 30859, 30869, 30881, 30893, 30911, + 30931, 30937, 30949, 30971, 30977, 30983, 31013, + 31019, 31033, 31039, 31051, 31063, 31069, 31079, + 31091, 31121, 31139, 31147, 31153, 31159, 31177, + 31183, 31189, 31219, 31231, 31237, 31247, 31253, + 31259, 31267, 31277, 31307, 31319, 31327, 31333, + 31357, 31379, 31387, 31393, 31469, 31477, 31489, + 31511, 31517, 31531, 31541, 31547, 31567, 31573, + 31583, 31601, 31607, 31627, 31643, 31649, 31657, + 31663, 31687, 31699, 31721, 31727, 31741, 31751, + 31769, 31793, 31799, 31817, 31847, 31859, 31873, + 31883, 31891, 31907, 31957, 31963, 31973, 31981, + 31991, 32003, 32009, 32027, 32051, 32057, 32063, + 32069, 32077, 32083, 32089, 32099, 32117, 32141, + 32159, 32173, 32183, 32189, 32203, 32213, 32233, + 32251, 32257, 32297, 32303, 32309, 32321, 32327, + 32341, 32353, 32359, 32369, 32377, 32401, 32411, + 32423, 32429, 32441, 32467, 32479, 32491, 32497, + 32503, 32531, 32537, 32561, 32569, 32579, 32587, + 32603, 32609, 32621, 32633, 32647, 32653, 32687, + 32693, 32707, 32713, 32719, 32749, 32771, 32779, + 32789, 32797, 32803, 32831, 32839, 32869, 32887, + 32909, 32917, 32933, 32939, 32957, 32969, 32983, + 32993, 32999, 33013, 33023, 33029, 33037, 33049, + 33071, 33083, 33091, 33107, 33113, 33119, 33149, + 33161, 33179, 33191, 33199, 33211, 33223, 33247, + 33287, 33301, 33311, 33317, 33329, 33343, 33349, + 33359, 33377, 33391, 33403, 33409, 33427, 33457, + 33469, 33479, 33487, 33493, 33503, 33521, 33529, + 33547, 33563, 33569, 33577, 33587, 33599, 33613, + 33619, 33629, 33637, 33647, 33679, 33703, 33713, + 33721, 33739, 33749, 33757, 33767, 33773, 33791, + 33797, 33809, 33827, 33851, 33857, 33863, 33871, + 33889, 33911, 33923, 33931, 33937, 33961, 33967, + 33997, 34019, 34031, 34039, 34057, 34123, 34129, + 34141, 34147, 34157, 34171, 34183, 34211, 34217, + 34231, 34253, 34259, 34267, 34273, 34283, 34297, + 34303, 34313, 34319, 34327, 34337, 34351, 34361, + 34367, 34381, 34403, 34421, 34429, 34439, 34457, + 34469, 34483, 34499, 34511, 34519, 34537, 34543, + 34549, 34583, 34589, 34603, 34613, 34631, 34649, + 34667, 34673, 34679, 34687, 34693, 34703, 34721, + 34729, 34739, 34747, 34757, 34763, 34781, 34807, + 34819, 34841, 34847, 34871, 34877, 34883, 34897, + 34913, 34919, 34939, 34949, 34961, 34981, 35023, + 35051, 35059, 35069, 35081, 35089, 35099, 35107, + 35117, 35129, 35141, 35149, 35159, 35171, 35201, + 35221, 35227, 35251, 35257, 35267, 35279, 35291, + 35311, 35317, 35323, 35339, 35353, 35363, 35381, + 35393, 35401, 35407, 35419, 35437, 35447, 35461, + 35491, 35507, 35521, 35527, 35533, 35543, 35569, + 35591, 35597, 35603, 35617, 35671, 35677, 35729, + 35747, 35753, 35759, 35771, 35797, 35803, 35809, + 35831, 35837, 35851, 35863, 35869, 35879, 35897, + 35911, 35923, 35933, 35951, 35963, 35969, 35977, + 35983, 35993, 35999, 36007, 36013, 36037, 36061, + 36067, 36073, 36083, 36097, 36107, 36131, 36137, + 36151, 36161, 36187, 36209, 36217, 36229, 36241, + 36251, 36263, 36269, 36277, 36293, 36299, 36307, + 36313, 36319, 36341, 36353, 36373, 36383, 36389, + 36433, 36451, 36457, 36467, 36473, 36479, 36493, + 36523, 36529, 36541, 36551, 36559, 36571, 36583, + 36599, 36607, 36629, 36637, 36643, 36653, 36671, + 36677, 36683, 36691, 36697, 36709, 36721, 36739, + 36749, 36761, 36767, 36779, 36787, 36793, 36809, + 36821, 36833, 36847, 36857, 36871, 36877, 36887, + 36899, 36913, 36919, 36929, 36943, 36973, 36979, + 36997, 37003, 37013, 37019, 37039, 37049, 37057, + 37087, 37097, 37117, 37123, 37139, 37159, 37171, + 37181, 37189, 37199, 37217, 37223, 37243, 37253, + 37273, 37307, 37313, 37321, 37337, 37357, 37363, + 37369, 37379, 37397, 37409, 37423, 37441, 37447, + 37463, 37483, 37489, 37501, 37507, 37517, 37529, + 37537, 37547, 37561, 37567, 37573, 37579, 37589, + 37607, 37619, 37633, 37643, 37649, 37657, 37663, + 37691, 37699, 37717, 37747, 37781, 37799, 37811, + 37831, 37847, 37853, 37861, 37871, 37879, 37889, + 37897, 37907, 37951, 37957, 37963, 37987, 37993, + 38011, 38039, 38047, 38053, 38069, 38083, 38113, + 38119, 38149, 38167, 38177, 38183, 38189, 38197, + 38219, 38231, 38237, 38261, 38273, 38281, 38287, + 38299, 38317, 38327, 38333, 38351, 38371, 38377, + 38393, 38431, 38447, 38453, 38459, 38501, 38543, + 38557, 38567, 38593, 38603, 38609, 38629, 38639, + 38651, 38669, 38677, 38693, 38699, 38707, 38713, + 38723, 38729, 38737, 38747, 38767, 38783, 38791, + 38803, 38821, 38833, 38839, 38851, 38861, 38867, + 38873, 38891, 38903, 38917, 38923, 38933, 38953, + 38959, 38971, 38977, 38993, 39019, 39041, 39047, + 39079, 39089, 39097, 39103, 39113, 39119, 39133, + 39139, 39157, 39163, 39181, 39191, 39199, 39209, + 39217, 39227, 39233, 39239, 39251, 39293, 39301, + 39313, 39323, 39341, 39359, 39367, 39373, 39383, + 39397, 39409, 39419, 39439, 39451, 39461, 39499, + 39509, 39521, 39541, 39551, 39563, 39569, 39581, + 39607, 39619, 39631, 39659, 39667, 39679, 39703, + 39709, 39719, 39727, 39733, 39749, 39761, 39769, + 39779, 39791, 39799, 39821, 39827, 39839, 39847, + 39857, 39863, 39869, 39877, 39883, 39901, 39929, + 39937, 39953, 39971, 39979, 39989, 40009, 40031, + 40037, 40063, 40087, 40093, 40099, 40111, 40123, + 40129, 40151, 40163, 40169, 40177, 40189, 40213, + 40231, 40237, 40253, 40277, 40283, 40289, 40343, + 40351, 40357, 40387, 40423, 40429, 40459, 40471, + 40483, 40493, 40499, 40507, 40519, 40529, 40543, + 40559, 40577, 40583, 40591, 40597, 40609, 40627, + 40637, 40693, 40699, 40709, 40739, 40751, 40759, + 40771, 40787, 40801, 40813, 40819, 40829, 40841, + 40847, 40853, 40867, 40879, 40897, 40903, 40927, + 40933, 40939, 40949, 40961, 40973, 40993, 41011, + 41017, 41023, 41039, 41047, 41057, 41077, 41113, + 41131, 41141, 41149, 41161, 41177, 41183, 41189, + 41201, 41213, 41221, 41227, 41233, 41243, 41257, + 41263, 41269, 41281, 41299, 41333, 41341, 41351, + 41357, 41381, 41387, 41399, 41411, 41443, 41453, + 41467, 41479, 41491, 41507, 41513, 41519, 41539, + 41549, 41579, 41593, 41603, 41609, 41617, 41627, + 41641, 41647, 41659, 41669, 41681, 41687, 41719, + 41729, 41737, 41759, 41771, 41777, 41801, 41809, + 41843, 41849, 41863, 41879, 41887, 41893, 41903, + 41911, 41927, 41941, 41947, 41953, 41959, 41969, + 41981, 41999, 42013, 42019, 42043, 42061, 42071, + 42083, 42089, 42101, 42131, 42139, 42157, 42169, + 42179, 42187, 42193, 42209, 42221, 42227, 42239, + 42257, 42281, 42293, 42299, 42307, 42323, 42331, + 42337, 42349, 42359, 42373, 42379, 42391, 42397, + 42403, 42409, 42433, 42443, 42451, 42457, 42463, + 42473, 42487, 42499, 42509, 42533, 42557, 42569, + 42577, 42589, 42611, 42641, 42649, 42667, 42677, + 42683, 42689, 42697, 42703, 42709, 42719, 42727, + 42737, 42743, 42751, 42767, 42773, 42787, 42793, + 42821, 42829, 42839, 42853, 42859, 42899, 42923, + 42929, 42937, 42943, 42953, 42961, 42967, 42979, + 42989, 43003, 43013, 43019, 43037, 43049, 43063, + 43093, 43103, 43117, 43133, 43151, 43159, 43177, + 43189, 43201, 43207, 43223, 43237, 43261, 43271, + 43283, 43291, 43313, 43319, 43331, 43391, 43397, + 43403, 43411, 43427, 43441, 43451, 43457, 43481, + 43487, 43499, 43517, 43541, 43573, 43579, 43591, + 43597, 43607, 43613, 43627, 43633, 43649, 43661, + 43669, 43691, 43711, 43717, 43753, 43759, 43777, + 43783, 43789, 43801, 43853, 43867, 43889, 43913, + 43933, 43943, 43951, 43961, 43969, 43987, 43997, + 44017, 44027, 44041, 44053, 44059, 44071, 44087, + 44101, 44111, 44119, 44129, 44159, 44171, 44179, + 44189, 44201, 44207, 44221, 44249, 44257, 44263, + 44269, 44279, 44293, 44351, 44357, 44371, 44381, + 44389, 44417, 44449, 44483, 44491, 44497, 44507, + 44519, 44531, 44537, 44543, 44549, 44563, 44579, + 44587, 44617, 44623, 44633, 44641, 44647, 44657, + 44683, 44699, 44711, 44729, 44741, 44753, 44771, + 44777, 44789, 44797, 44809, 44819, 44839, 44851, + 44867, 44879, 44887, 44893, 44909, 44917, 44927, + 44939, 44953, 44959, 44971, 44983, 45007, 45013, + 45053, 45061, 45077, 45083, 45119, 45127, 45137, + 45161, 45179, 45191, 45197, 45233, 45247, 45259, + 45281, 45289, 45307, 45317, 45329, 45337, 45343, + 45361, 45377, 45389, 45403, 45413, 45427, 45433, + 45439, 45481, 45491, 45497, 45503, 45523, 45533, + 45541, 45553, 45569, 45587, 45599, 45613, 45631, + 45641, 45659, 45667, 45673, 45691, 45697, 45707, + 45737, 45751, 45757, 45763, 45779, 45817, 45823, + 45833, 45841, 45853, 45863, 45869, 45887, 45893, + 45943, 45949, 45959, 45971, 45979, 45989, 46021, + 46027, 46049, 46061, 46073, 46091, 46099, 46133, + 46141, 46147, 46153, 46171, 46181, 46187, 46199, + 46219, 46229, 46237, 46261, 46271, 46279, 46301, + 46307, 46327, 46337, 46349, 46381, 46399, 46411, + 46439, 46447, 46457, 46471, 46477, 46489, 46499, + 46507, 46523, 46549, 46559, 46567, 46573, 46589, + 46601, 46619, 46633, 46639, 46649, 46663, 46679, + 46687, 46703, 46723, 46747, 46757, 46769, 46807, + 46817, 46829, 46853, 46861, 46867, 46877, 46889, + 46901, 46919, 46933, 46957, 46993, 47017, 47041, + 47051, 47057, 47087, 47093, 47111, 47119, 47129, + 47137, 47143, 47149, 47161, 47189, 47207, 47221, + 47237, 47251, 47269, 47279, 47287, 47293, 47303, + 47309, 47317, 47339, 47351, 47363, 47381, 47387, + 47407, 47417, 47431, 47441, 47459, 47491, 47497, + 47507, 47513, 47521, 47527, 47533, 47543, 47563, + 47569, 47581, 47591, 47599, 47609, 47623, 47629, + 47639, 47653, 47659, 47681, 47699, 47711, 47717, + 47737, 47743, 47777, 47791, 47797, 47807, 47819, + 47837, 47843, 47857, 47869, 47881, 47903, 47911, + 47917, 47933, 47939, 47947, 47963, 47969, 47977, + 48017, 48023, 48029, 48049, 48073, 48079, 48091, + 48109, 48119, 48131, 48157, 48163, 48179, 48187, + 48193, 48221, 48239, 48247, 48259, 48271, 48281, + 48299, 48311, 48337, 48353, 48371, 48383, 48397, + 48407, 48413, 48437, 48449, 48463, 48473, 48479, + 48487, 48497, 48523, 48533, 48539, 48563, 48571, + 48589, 48611, 48619, 48647, 48661, 48673, 48679, + 48731, 48751, 48757, 48767, 48779, 48787, 48799, + 48809, 48817, 48823, 48847, 48857, 48869, 48883, + 48889, 48907, 48947, 48953, 48973, 48989, 49003, + 49009, 49019, 49031, 49037, 49043, 49057, 49069, + 49081, 49103, 49109, 49117, 49123, 49139, 49157, + 49169, 49177, 49193, 49199, 49207, 49223, 49253, + 49261, 49277, 49297, 49307, 49331, 49339, 49363, + 49369, 49391, 49409, 49417, 49429, 49451, 49459, + 49477, 49499, 49523, 49529, 49537, 49547, 49559, + 49597, 49603, 49613, 49627, 49633, 49639, 49663, + 49669, 49681, 49697, 49711, 49727, 49739, 49747, + 49757, 49783, 49789, 49801, 49807, 49823, 49831, + 49843, 49853, 49871, 49877, 49891, 49919, 49927, + 49937, 49943, 49957, 49991, 49999, 50021, 50033, + 50047, 50053, 50069, 50077, 50087, 50093, 50101, + 50111, 50119, 50129, 50147, 50153, 50159, 50177, + 50207, 50221, 50227, 50261, 50273, 50287, 50311, + 50321, 50329, 50341, 50359, 50377, 50383, 50411, + 50417, 50423, 50441, 50459, 50497, 50503, 50513, + 50527, 50539, 50549, 50581, 50587, 50593, 50599, + 50627, 50647, 50671, 50683, 50707, 50723, 50741, + 50753, 50767, 50773, 50789, 50821, 50833, 50839, + 50849, 50857, 50867, 50873, 50891, 50909, 50923, + 50929, 50951, 50957, 50969, 50989, 51001, 51031, + 51043, 51059, 51071, 51109, 51131, 51137, 51151, + 51157, 51169, 51193, 51199, 51217, 51229, 51239, + 51257, 51263, 51283, 51307, 51329, 51341, 51347, + 51361, 51383, 51407, 51413, 51419, 51427, 51437, + 51449, 51461, 51473, 51479, 51487, 51503, 51511, + 51517, 51539, 51551, 51563, 51577, 51593, 51599, + 51607, 51613, 51631, 51637, 51647, 51659, 51673, + 51679, 51691, 51713, 51719, 51749, 51767, 51787, + 51797, 51803, 51817, 51827, 51839, 51853, 51859, + 51869, 51893, 51899, 51907, 51913, 51929, 51941, + 51949, 51971, 51977, 51991, 52009, 52021, 52027, + 52051, 52057, 52067, 52081, 52103, 52121, 52127, + 52147, 52153, 52163, 52177, 52183, 52189, 52201, + 52223, 52237, 52249, 52259, 52267, 52289, 52301, + 52313, 52321, 52361, 52369, 52379, 52387, 52433, + 52453, 52489, 52501, 52511, 52517, 52529, 52541, + 52553, 52561, 52567, 52579, 52609, 52627, 52639, + 52667, 52673, 52691, 52697, 52709, 52721, 52727, + 52733, 52747, 52757, 52769, 52783, 52807, 52813, + 52837, 52859, 52879, 52889, 52901, 52919, 52937, + 52951, 52957, 52963, 52973, 52981, 52999, 53017, + 53047, 53069, 53077, 53087, 53093, 53101, 53113, + 53129, 53147, 53161, 53171, 53189, 53197, 53231, + 53239, 53267, 53279, 53299, 53309, 53323, 53353, + 53359, 53377, 53401, 53407, 53419, 53437, 53453, + 53479, 53503, 53527, 53549, 53569, 53591, 53597, + 53609, 53617, 53623, 53629, 53639, 53653, 53681, + 53693, 53699, 53717, 53731, 53759, 53773, 53783, + 53791, 53813, 53819, 53831, 53849, 53857, 53881, + 53887, 53897, 53917, 53923, 53939, 53951, 53959, + 53987, 53993, 54001, 54011, 54037, 54049, 54059, + 54083, 54091, 54101, 54121, 54133, 54139, 54151, + 54163, 54181, 54193, 54217, 54251, 54269, 54277, + 54287, 54293, 54311, 54319, 54331, 54347, 54361, + 54367, 54377, 54401, 54409, 54419, 54437, 54443, + 54449, 54469, 54493, 54499, 54517, 54539, 54547, + 54559, 54577, 54583, 54601, 54617, 54623, 54629, + 54647, 54667, 54673, 54679, 54709, 54721, 54727, + 54751, 54767, 54773, 54779, 54787, 54799, 54829, + 54851, 54869, 54877, 54907, 54917, 54941, 54949, + 54959, 54973, 54979, 55001, 55009, 55021, 55049, + 55057, 55073, 55079, 55103, 55109, 55117, 55127, + 55147, 55163, 55171, 55201, 55207, 55213, 55219, + 55229, 55243, 55249, 55259, 55291, 55313, 55331, + 55337, 55343, 55351, 55373, 55381, 55399, 55411, + 55439, 55457, 55469, 55487, 55501, 55511, 55529, + 55541, 55547, 55579, 55589, 55603, 55609, 55619, + 55631, 55639, 55661, 55667, 55673, 55681, 55691, + 55697, 55711, 55717, 55733, 55763, 55787, 55793, + 55799, 55807, 55813, 55819, 55829, 55837, 55843, + 55849, 55871, 55889, 55897, 55903, 55921, 55927, + 55933, 55949, 55967, 55987, 55997, 56003, 56009, + 56039, 56053, 56081, 56087, 56093, 56099, 56113, + 56123, 56131, 56149, 56167, 56179, 56197, 56207, + 56237, 56249, 56263, 56269, 56299, 56311, 56333, + 56359, 56369, 56377, 56383, 56393, 56401, 56417, + 56431, 56437, 56443, 56453, 56467, 56473, 56479, + 56489, 56501, 56509, 56519, 56527, 56533, 56543, + 56569, 56591, 56597, 56611, 56629, 56659, 56671, + 56681, 56687, 56701, 56711, 56731, 56737, 56747, + 56767, 56773, 56779, 56807, 56813, 56821, 56827, + 56843, 56857, 56873, 56891, 56897, 56909, 56921, + 56929, 56941, 56951, 56957, 56963, 56983, 56989, + 56999, 57037, 57047, 57059, 57073, 57089, 57097, + 57107, 57119, 57131, 57139, 57149, 57163, 57173, + 57179, 57191, 57203, 57221, 57241, 57251, 57259, + 57269, 57283, 57301, 57329, 57347, 57367, 57373, + 57383, 57389, 57397, 57413, 57427, 57457, 57467, + 57487, 57493, 57503, 57527, 57557, 57571, 57587, + 57593, 57601, 57637, 57649, 57667, 57679, 57689, + 57697, 57709, 57719, 57727, 57737, 57751, 57773, + 57781, 57787, 57793, 57803, 57809, 57829, 57839, + 57847, 57853, 57859, 57881, 57899, 57917, 57923, + 57943, 57973, 57991, 58013, 58027, 58043, 58049, + 58057, 58067, 58073, 58099, 58109, 58129, 58147, + 58153, 58169, 58189, 58199, 58207, 58217, 58229, + 58237, 58243, 58271, 58309, 58321, 58337, 58363, + 58369, 58379, 58391, 58403, 58411, 58417, 58427, + 58439, 58451, 58477, 58511, 58537, 58543, 58549, + 58567, 58573, 58579, 58601, 58613, 58631, 58657, + 58679, 58687, 58693, 58699, 58711, 58727, 58733, + 58741, 58757, 58763, 58771, 58787, 58831, 58889, + 58897, 58907, 58913, 58921, 58937, 58943, 58963, + 58979, 58991, 58997, 59009, 59021, 59029, 59051, + 59063, 59069, 59077, 59083, 59093, 59107, 59113, + 59119, 59141, 59149, 59159, 59167, 59183, 59197, + 59207, 59219, 59233, 59239, 59263, 59273, 59281, + 59333, 59341, 59351, 59357, 59369, 59377, 59387, + 59393, 59399, 59407, 59417, 59441, 59447, 59453, + 59467, 59473, 59497, 59509, 59539, 59557, 59567, + 59581, 59611, 59617, 59627, 59651, 59659, 59669, + 59693, 59699, 59707, 59723, 59729, 59743, 59753, + 59771, 59779, 59791, 59797, 59809, 59833, 59863, + 59879, 59887, 59921, 59929, 59951, 59957, 59971, + 59981, 59999, 60013, 60029, 60037, 60077, 60083, + 60089, 60101, 60107, 60127, 60133, 60139, 60149, + 60161, 60167, 60209, 60217, 60223, 60251, 60257, + 60271, 60289, 60317, 60331, 60337, 60343, 60353, + 60373, 60383, 60397, 60413, 60427, 60443, 60449, + 60457, 60493, 60509, 60521, 60527, 60539, 60589, + 60601, 60607, 60617, 60623, 60631, 60637, 60647, + 60659, 60679, 60689, 60703, 60719, 60727, 60733, + 60757, 60763, 60773, 60779, 60793, 60811, 60821, + 60859, 60869, 60887, 60899, 60913, 60919, 60937, + 60943, 60953, 60961, 61001, 61007, 61027, 61043, + 61051, 61057, 61091, 61099, 61121, 61129, 61141, + 61151, 61169, 61211, 61223, 61231, 61253, 61261, + 61283, 61291, 61297, 61331, 61339, 61357, 61363, + 61379, 61403, 61409, 61417, 61441, 61463, 61469, + 61483, 61493, 61507, 61519, 61543, 61553, 61559, + 61583, 61603, 61609, 61627, 61637, 61643, 61651, + 61657, 61667, 61673, 61681, 61687, 61703, 61717, + 61723, 61729, 61751, 61757, 61781, 61813, 61819, + 61837, 61843, 61861, 61871, 61879, 61909, 61927, + 61933, 61949, 61961, 61967, 61979, 61987, 62003, + 62011, 62017, 62039, 62047, 62053, 62071, 62081, + 62099, 62119, 62129, 62137, 62143, 62171, 62189, + 62201, 62207, 62213, 62219, 62233, 62273, 62297, + 62303, 62311, 62323, 62347, 62383, 62401, 62417, + 62423, 62459, 62467, 62473, 62483, 62497, 62507, + 62533, 62539, 62549, 62563, 62581, 62591, 62597, + 62603, 62617, 62627, 62633, 62639, 62653, 62659, + 62683, 62701, 62723, 62731, 62743, 62753, 62761, + 62773, 62791, 62801, 62819, 62827, 62851, 62861, + 62869, 62897, 62903, 62921, 62927, 62939, 62969, + 62981, 62987, 63029, 63059, 63067, 63073, 63079, + 63097, 63103, 63113, 63127, 63149, 63179, 63197, + 63211, 63241, 63247, 63277, 63299, 63311, 63317, + 63331, 63337, 63347, 63353, 63361, 63367, 63377, + 63389, 63397, 63409, 63419, 63439, 63463, 63473, + 63487, 63493, 63499, 63521, 63527, 63533, 63541, + 63559, 63577, 63587, 63599, 63607, 63617, 63629, + 63647, 63659, 63667, 63689, 63697, 63703, 63709, + 63719, 63727, 63737, 63743, 63761, 63773, 63781, + 63793, 63799, 63809, 63823, 63839, 63853, 63863, + 63901, 63907, 63913, 63929, 63949, 63977, 63997, + 64007, 64013, 64019, 64033, 64063, 64081, 64091, + 64109, 64123, 64151, 64157, 64171, 64187, 64217, + 64223, 64231, 64237, 64271, 64279, 64301, 64319, + 64327, 64333, 64373, 64381, 64399, 64433, 64439, + 64451, 64483, 64489, 64499, 64513, 64553, 64567, + 64577, 64591, 64601, 64609, 64621, 64627, 64633, + 64661, 64667, 64679, 64693, 64709, 64717, 64747, + 64763, 64781, 64793, 64811, 64817, 64849, 64871, + 64877, 64891, 64901, 64919, 64927, 64937, 64951, + 64969, 64997, 65003, 65011, 65027, 65033, 65053, + 65063, 65071, 65089, 65099, 65111, 65119, 65129, + 65141, 65147, 65167, 65173, 65179, 65203, 65213, + 65239, 65257, 65267, 65287, 65293, 65309, 65323, + 65353, 65371, 65381, 65393, 65407, 65413, 65419, + 65437, 65447, 65479, 65497, 65519, 65537, 65543, + 65551, 65557, 65563, 65579, 65587, 65599, 65609, + 65617, 65629, 65647, 65657, 65677, 65687, 65699, + 65707, 65713, 65719, 65729, 65761, 65777, 65789, + 65809, 65827, 65837, 65843, 65851, 65867, 65881, + 65899, 65921, 65927, 65951, 65957, 65963, 65981, + 65993, 66029, 66037, 66047, 66067, 66083, 66089, + 66103, 66109, 66137, 66161, 66169, 66179, 66191, + 66221, 66239, 66271, 66293, 66301, 66337, 66343, + 66359, 66373, 66383, 66403, 66413, 66431, 66449, + 66457, 66463, 66491, 66499, 66509, 66523, 66529, + 66541, 66553, 66569, 66587, 66593, 66601, 66617, + 66629, 66643, 66653, 66683, 66697, 66713, 66721, + 66733, 66739, 66749, 66763, 66791, 66797, 66809, + 66821, 66841, 66851, 66863, 66877, 66883, 66889, + 66919, 66931, 66943, 66949, 66959, 66973, 67003, + 67021, 67033, 67043, 67049, 67057, 67073, 67079, + 67103, 67121, 67129, 67139, 67153, 67169, 67181, + 67187, 67211, 67217, 67231, 67247, 67261, 67271, + 67289, 67307, 67339, 67349, 67369, 67391, 67399, + 67409, 67421, 67427, 67433, 67447, 67453, 67477, + 67489, 67499, 67511, 67523, 67531, 67537, 67547, + 67559, 67567, 67577, 67589, 67601, 67607, 67619, + 67631, 67651, 67679, 67699, 67709, 67723, 67733, + 67741, 67751, 67757, 67763, 67777, 67783, 67789, + 67801, 67807, 67819, 67829, 67843, 67853, 67867, + 67883, 67891, 67901, 67927, 67933, 67939, 67957, + 67967, 67979, 67987, 67993, 68023, 68041, 68053, + 68059, 68071, 68087, 68099, 68111, 68141, 68147, + 68161, 68171, 68207, 68213, 68219, 68227, 68239, + 68261, 68279, 68311, 68329, 68351, 68371, 68389, + 68399, 68437, 68443, 68449, 68473, 68483, 68489, + 68501, 68507, 68521, 68531, 68539, 68567, 68581, + 68597, 68611, 68633, 68639, 68659, 68669, 68683, + 68699, 68711, 68729, 68737, 68743, 68749, 68767, + 68777, 68791, 68813, 68819, 68863, 68879, 68891, + 68897, 68903, 68909, 68917, 68927, 68947, 68963, + 68993, 69001, 69011, 69019, 69029, 69061, 69067, + 69073, 69109, 69119, 69127, 69143, 69149, 69163, + 69191, 69197, 69203, 69221, 69233, 69239, 69247, + 69257, 69263, 69313, 69337, 69371, 69379, 69389, + 69401, 69427, 69439, 69457, 69463, 69473, 69481, + 69491, 69497, 69539, 69557, 69593, 69623, 69653, + 69661, 69677, 69691, 69697, 69709, 69737, 69761, + 69767, 69779, 69809, 69821, 69827, 69833, 69847, + 69857, 69877, 69899, 69911, 69929, 69941, 69959, + 69991, 69997, 70003, 70009, 70019, 70039, 70051, + 70061, 70067, 70079, 70099, 70111, 70117, 70123, + 70139, 70157, 70163, 70177, 70183, 70199, 70207, + 70223, 70229, 70237, 70249, 70271, 70289, 70297, + 70309, 70321, 70327, 70351, 70373, 70379, 70393, + 70423, 70429, 70439, 70451, 70457, 70481, 70487, + 70501, 70507, 70529, 70537, 70549, 70571, 70583, + 70589, 70607, 70619, 70627, 70639, 70657, 70663, + 70687, 70709, 70717, 70729, 70753, 70769, 70783, + 70793, 70823, 70841, 70849, 70867, 70877, 70891, + 70901, 70913, 70919, 70937, 70949, 70957, 70969, + 70979, 70991, 70997, 71011, 71023, 71039, 71059, + 71069, 71081, 71089, 71119, 71129, 71143, 71153, + 71161, 71167, 71191, 71209, 71233, 71249, 71257, + 71263, 71287, 71293, 71317, 71327, 71333, 71339, + 71347, 71353, 71359, 71387, 71399, 71411, 71419, + 71429, 71437, 71443, 71453, 71471, 71479, 71503, + 71527, 71537, 71549, 71563, 71569, 71593, 71633, + 71647, 71663, 71671, 71693, 71699, 71707, 71713, + 71719, 71741, 71761, 71777, 71789, 71807, 71821, + 71837, 71843, 71849, 71861, 71867, 71879, 71887, + 71899, 71909, 71917, 71933, 71941, 71947, 71963, + 71971, 71983, 71993, 71999, 72019, 72031, 72043, + 72053, 72073, 72089, 72101, 72109, 72139, 72161, + 72167, 72173, 72211, 72221, 72227, 72251, 72269, + 72277, 72287, 72307, 72313, 72337, 72353, 72367, + 72379, 72421, 72431, 72461, 72467, 72481, 72493, + 72503, 72533, 72547, 72559, 72577, 72613, 72623, + 72643, 72649, 72661, 72671, 72679, 72689, 72701, + 72707, 72719, 72727, 72733, 72739, 72763, 72797, + 72817, 72823, 72859, 72869, 72883, 72889, 72901, + 72907, 72923, 72931, 72937, 72949, 72959, 72973, + 72997, 73009, 73019, 73037, 73043, 73061, 73079, + 73091, 73121, 73127, 73133, 73141, 73181, 73189, + 73237, 73243, 73259, 73277, 73291, 73303, 73309, + 73327, 73351, 73361, 73369, 73379, 73387, 73417, + 73433, 73453, 73459, 73471, 73477, 73483, 73517, + 73523, 73529, 73547, 73553, 73561, 73571, 73583, + 73589, 73597, 73607, 73613, 73637, 73643, 73651, + 73673, 73679, 73693, 73699, 73709, 73721, 73727, + 73751, 73757, 73771, 73783, 73819, 73847, 73859, + 73867, 73877, 73883, 73897, 73907, 73939, 73951, + 73961, 73973, 73999, 74017, 74027, 74047, 74071, + 74077, 74093, 74099, 74131, 74143, 74149, 74159, + 74167, 74177, 74189, 74197, 74203, 74209, 74219, + 74231, 74257, 74279, 74287, 74293, 74311, 74317, + 74323, 74353, 74363, 74377, 74383, 74411, 74419, + 74441, 74449, 74471, 74489, 74507, 74521, 74527, + 74551, 74561, 74567, 74573, 74587, 74597, 74609, + 74623, 74653, 74687, 74699, 74707, 74713, 74719, + 74729, 74747, 74759, 74771, 74779, 74797, 74821, + 74827, 74843, 74857, 74869, 74887, 74897, 74903, + 74923, 74929, 74941, 74959, 75011, 75017, 75029, + 75037, 75079, 75109, 75133, 75149, 75161, 75167, + 75181, 75193, 75209, 75217, 75223, 75239, 75253, + 75269, 75277, 75289, 75307, 75323, 75329, 75337, + 75347, 75353, 75367, 75377, 75389, 75401, 75407, + 75431, 75437, 75479, 75503, 75511, 75521, 75527, + 75533, 75539, 75553, 75571, 75577, 75583, 75611, + 75617, 75629, 75641, 75653, 75659, 75679, 75689, + 75703, 75709, 75721, 75731, 75743, 75767, 75773, + 75781, 75787, 75793, 75821, 75833, 75853, 75869, + 75883, 75913, 75931, 75937, 75967, 75979, 75989, + 75997, 76003, 76031, 76039, 76079, 76091, 76099, + 76123, 76129, 76147, 76157, 76163, 76207, 76213, + 76231, 76243, 76249, 76259, 76283, 76289, 76303, + 76333, 76343, 76367, 76379, 76387, 76403, 76421, + 76441, 76463, 76471, 76481, 76487, 76493, 76507, + 76519, 76537, 76543, 76561, 76579, 76597, 76603, + 76631, 76649, 76667, 76673, 76679, 76697, 76717, + 76733, 76753, 76771, 76777, 76801, 76819, 76829, + 76837, 76847, 76871, 76883, 76907, 76913, 76919, + 76943, 76949, 76961, 76991, 77003, 77017, 77023, + 77029, 77041, 77047, 77069, 77081, 77093, 77101, + 77137, 77153, 77167, 77191, 77201, 77213, 77237, + 77243, 77249, 77261, 77267, 77279, 77291, 77317, + 77323, 77339, 77347, 77359, 77369, 77377, 77383, + 77417, 77431, 77447, 77471, 77477, 77489, 77509, + 77521, 77527, 77543, 77549, 77557, 77563, 77569, + 77587, 77611, 77617, 77641, 77647, 77659, 77681, + 77687, 77699, 77711, 77719, 77731, 77743, 77761, + 77773, 77783, 77797, 77813, 77839, 77849, 77863, + 77893, 77899, 77929, 77951, 77969, 77977, 77983, + 77999, 78007, 78017, 78031, 78041, 78049, 78059, + 78079, 78101, 78121, 78137, 78157, 78163, 78173, + 78179, 78191, 78203, 78229, 78241, 78259, 78277, + 78283, 78301, 78307, 78317, 78341, 78347, 78367, + 78401, 78427, 78437, 78467, 78479, 78487, 78497, + 78509, 78517, 78539, 78553, 78569, 78577, 78583, + 78593, 78607, 78623, 78643, 78649, 78691, 78697, + 78707, 78713, 78721, 78737, 78779, 78787, 78797, + 78803, 78809, 78823, 78839, 78853, 78877, 78887, + 78893, 78901, 78919, 78929, 78941, 78977, 78989, + 79031, 79039, 79063, 79087, 79103, 79111, 79133, + 79139, 79147, 79153, 79159, 79181, 79187, 79193, + 79201, 79229, 79241, 79259, 79273, 79279, 79301, + 79309, 79319, 79333, 79349, 79357, 79367, 79379, + 79393, 79399, 79411, 79423, 79433, 79451, 79481, + 79493, 79531, 79537, 79549, 79559, 79579, 79589, + 79601, 79609, 79621, 79627, 79633, 79657, 79669, + 79687, 79693, 79699, 79757, 79769, 79777, 79801, + 79811, 79817, 79823, 79829, 79841, 79847, 79861, + 79867, 79873, 79889, 79901, 79907, 79939, 79967, + 79973, 79979, 79987, 79997, 80021, 80039, 80051, + 80071, 80077, 80107, 80141, 80147, 80153, 80167, + 80173, 80191, 80207, 80221, 80231, 80239, 80251, + 80263, 80273, 80279, 80287, 80309, 80317, 80329, + 80341, 80347, 80363, 80369, 80387, 80407, 80429, + 80447, 80471, 80489, 80513, 80527, 80537, 80557, + 80567, 80599, 80611, 80621, 80627, 80651, 80657, + 80669, 80677, 80683, 80701, 80713, 80737, 80747, + 80761, 80777, 80783, 80789, 80803, 80809, 80819, + 80831, 80849, 80863, 80897, 80909, 80917, 80923, + 80929, 80953, 80963, 80989, 81001, 81013, 81019, + 81031, 81041, 81047, 81071, 81077, 81083, 81097, + 81119, 81131, 81157, 81163, 81173, 81181, 81197, + 81203, 81223, 81233, 81239, 81281, 81293, 81299, + 81307, 81331, 81343, 81349, 81359, 81371, 81401, + 81409, 81421, 81439, 81457, 81463, 81509, 81517, + 81527, 81533, 81547, 81553, 81559, 81569, 81611, + 81619, 81629, 81637, 81647, 81667, 81677, 81689, + 81701, 81707, 81727, 81737, 81749, 81761, 81769, + 81799, 81817, 81839, 81847, 81853, 81869, 81883, + 81899, 81919, 81929, 81937, 81943, 81953, 81967, + 81973, 82003, 82009, 82021, 82031, 82037, 82051, + 82067, 82073, 82129, 82139, 82153, 82163, 82171, + 82183, 82189, 82207, 82217, 82223, 82231, 82237, + 82261, 82267, 82279, 82301, 82307, 82339, 82349, + 82361, 82373, 82387, 82393, 82421, 82457, 82463, + 82469, 82483, 82493, 82499, 82507, 82529, 82549, + 82559, 82567, 82591, 82601, 82609, 82619, 82633, + 82651, 82657, 82699, 82721, 82727, 82757, 82763, + 82781, 82787, 82793, 82799, 82811, 82837, 82847, + 82883, 82889, 82903, 82913, 82939, 82963, 82981, + 82997, 83003, 83009, 83023, 83047, 83059, 83071, + 83077, 83089, 83101, 83117, 83137, 83177, 83203, + 83219, 83227, 83233, 83243, 83257, 83267, 83273, + 83299, 83311, 83339, 83357, 83383, 83389, 83399, + 83407, 83417, 83423, 83431, 83437, 83443, 83449, + 83459, 83471, 83477, 83497, 83537, 83557, 83563, + 83579, 83591, 83597, 83609, 83617, 83639, 83653, + 83663, 83689, 83701, 83717, 83737, 83761, 83773, + 83791, 83813, 83833, 83843, 83857, 83869, 83891, + 83903, 83911, 83921, 83933, 83939, 83969, 83983, + 84011, 84017, 84047, 84053, 84059, 84067, 84089, + 84121, 84127, 84137, 84143, 84163, 84179, 84191, + 84199, 84211, 84221, 84229, 84239, 84247, 84263, + 84299, 84307, 84313, 84319, 84347, 84377, 84389, + 84401, 84407, 84421, 84431, 84437, 84443, 84449, + 84457, 84463, 84481, 84499, 84509, 84521, 84533, + 84551, 84559, 84589, 84629, 84649, 84659, 84673, + 84691, 84697, 84713, 84719, 84731, 84737, 84751, + 84761, 84787, 84793, 84809, 84827, 84857, 84869, + 84913, 84919, 84947, 84961, 84967, 84977, 84991, + 85009, 85021, 85027, 85037, 85049, 85061, 85081, + 85087, 85093, 85103, 85109, 85121, 85133, 85147, + 85159, 85193, 85199, 85213, 85223, 85229, 85237, + 85243, 85259, 85297, 85303, 85313, 85331, 85361, + 85369, 85381, 85411, 85427, 85439, 85447, 85453, + 85469, 85487, 85513, 85523, 85531, 85549, 85571, + 85577, 85597, 85607, 85619, 85627, 85639, 85661, + 85667, 85691, 85703, 85711, 85717, 85733, 85751, + 85781, 85793, 85817, 85829, 85837, 85843, 85853, + 85889, 85903, 85909, 85931, 85991, 85999, 86011, + 86017, 86027, 86069, 86077, 86083, 86111, 86117, + 86131, 86137, 86143, 86161, 86171, 86179, 86197, + 86209, 86239, 86249, 86257, 86263, 86269, 86287, + 86293, 86311, 86323, 86341, 86351, 86357, 86369, + 86381, 86389, 86399, 86413, 86423, 86441, 86453, + 86461, 86467, 86477, 86491, 86501, 86509, 86531, + 86539, 86561, 86573, 86579, 86587, 86599, 86627, + 86677, 86689, 86711, 86719, 86729, 86743, 86753, + 86767, 86783, 86813, 86837, 86843, 86851, 86857, + 86869, 86923, 86929, 86939, 86951, 86959, 86969, + 86981, 86993, 87011, 87037, 87049, 87071, 87083, + 87103, 87119, 87133, 87149, 87179, 87187, 87211, + 87221, 87251, 87257, 87277, 87293, 87299, 87313, + 87323, 87337, 87359, 87383, 87403, 87421, 87427, + 87433, 87443, 87473, 87481, 87491, 87509, 87517, + 87523, 87539, 87547, 87553, 87559, 87583, 87589, + 87613, 87623, 87629, 87641, 87649, 87671, 87679, + 87691, 87697, 87719, 87739, 87751, 87767, 87793, + 87803, 87811, 87833, 87853, 87869, 87877, 87887, + 87911, 87917, 87931, 87943, 87959, 87973, 87991, + 88001, 88007, 88019, 88037, 88069, 88079, 88093, + 88117, 88129, 88169, 88177, 88211, 88223, 88237, + 88259, 88289, 88301, 88321, 88327, 88337, 88379, + 88397, 88411, 88423, 88463, 88469, 88493, 88499, + 88513, 88523, 88547, 88589, 88607, 88643, 88651, + 88657, 88663, 88681, 88721, 88729, 88741, 88747, + 88771, 88789, 88799, 88807, 88813, 88819, 88843, + 88853, 88861, 88867, 88873, 88883, 88897, 88903, + 88919, 88937, 88951, 88969, 88993, 89003, 89009, + 89017, 89041, 89051, 89057, 89069, 89083, 89101, + 89107, 89113, 89119, 89137, 89153, 89189, 89203, + 89209, 89227, 89237, 89261, 89269, 89293, 89303, + 89317, 89329, 89363, 89371, 89381, 89387, 89393, + 89399, 89413, 89431, 89443, 89449, 89459, 89477, + 89491, 89501, 89513, 89519, 89527, 89533, 89561, + 89567, 89591, 89597, 89603, 89611, 89627, 89633, + 89653, 89659, 89669, 89681, 89689, 89753, 89759, + 89767, 89779, 89797, 89809, 89819, 89833, 89839, + 89849, 89867, 89891, 89897, 89909, 89917, 89923, + 89939, 89959, 89977, 89983, 89989, 90001, 90007, + 90017, 90023, 90031, 90053, 90059, 90067, 90073, + 90089, 90107, 90121, 90127, 90149, 90163, 90173, + 90187, 90197, 90203, 90217, 90227, 90239, 90247, + 90263, 90271, 90281, 90289, 90313, 90353, 90359, + 90371, 90379, 90397, 90403, 90437, 90469, 90481, + 90499, 90511, 90523, 90529, 90547, 90583, 90599, + 90617, 90631, 90641, 90647, 90659, 90677, 90697, + 90703, 90709, 90731, 90749, 90787, 90793, 90803, + 90821, 90833, 90841, 90847, 90863, 90887, 90901, + 90907, 90917, 90931, 90947, 90971, 90977, 90989, + 90997, 91009, 91019, 91033, 91079, 91097, 91121, + 91127, 91139, 91151, 91159, 91183, 91193, 91199, + 91229, 91237, 91243, 91249, 91283, 91291, 91297, + 91303, 91309, 91331, 91367, 91373, 91381, 91387, + 91393, 91411, 91423, 91433, 91453, 91459, 91493, + 91499, 91513, 91529, 91541, 91571, 91577, 91583, + 91591, 91621, 91631, 91639, 91673, 91691, 91703, + 91711, 91733, 91753, 91771, 91781, 91801, 91807, + 91813, 91823, 91837, 91867, 91873, 91909, 91921, + 91939, 91951, 91957, 91967, 91997, 92003, 92009, + 92033, 92041, 92051, 92077, 92083, 92107, 92119, + 92143, 92153, 92173, 92179, 92189, 92203, 92219, + 92227, 92233, 92243, 92251, 92269, 92297, 92311, + 92317, 92333, 92347, 92353, 92363, 92369, 92377, + 92383, 92399, 92413, 92419, 92431, 92459, 92467, + 92479, 92489, 92503, 92551, 92557, 92567, 92581, + 92593, 92623, 92639, 92647, 92657, 92669, 92681, + 92693, 92699, 92707, 92717, 92723, 92737, 92753, + 92761, 92767, 92779, 92789, 92801, 92809, 92821, + 92831, 92849, 92857, 92863, 92893, 92899, 92921, + 92927, 92941, 92951, 92957, 92987, 92993, 93001, + 93047, 93053, 93059, 93077, 93083, 93089, 93097, + 93103, 93113, 93131, 93139, 93151, 93169, 93179, + 93187, 93199, 93229, 93239, 93251, 93257, 93263, + 93281, 93287, 93307, 93319, 93329, 93337, 93371, + 93377, 93383, 93407, 93419, 93427, 93463, 93479, + 93487, 93493, 93503, 93523, 93529, 93553, 93559, + 93581, 93601, 93607, 93629, 93637, 93683, 93701, + 93719, 93739, 93761, 93787, 93809, 93827, 93851, + 93871, 93887, 93893, 93901, 93911, 93923, 93937, + 93949, 93967, 93979, 93997, 94007, 94033, 94049, + 94057, 94063, 94079, 94099, 94109, 94117, 94151, + 94169, 94201, 94207, 94219, 94229, 94253, 94261, + 94273, 94291, 94307, 94321, 94327, 94343, 94349, + 94379, 94397, 94421, 94427, 94433, 94439, 94447, + 94463, 94477, 94483, 94513, 94529, 94541, 94547, + 94559, 94573, 94583, 94597, 94603, 94613, 94621, + 94649, 94687, 94693, 94709, 94723, 94747, 94771, + 94777, 94789, 94811, 94819, 94837, 94847, 94873, + 94889, 94903, 94933, 94949, 94961, 94993, 94999, + 95009, 95021, 95027, 95063, 95071, 95083, 95089, + 95101, 95107, 95131, 95143, 95153, 95177, 95189, + 95203, 95213, 95219, 95231, 95239, 95257, 95267, + 95273, 95279, 95287, 95311, 95317, 95327, 95339, + 95369, 95383, 95393, 95401, 95413, 95419, 95429, + 95441, 95461, 95467, 95479, 95507, 95527, 95539, + 95549, 95561, 95569, 95581, 95597, 95603, 95617, + 95629, 95651, 95701, 95707, 95713, 95723, 95731, + 95737, 95747, 95773, 95783, 95789, 95801, 95813, + 95819, 95857, 95869, 95881, 95891, 95911, 95917, + 95923, 95929, 95947, 95957, 95971, 95987, 96001, + 96013, 96043, 96053, 96059, 96079, 96097, 96137, + 96149, 96157, 96167, 96179, 96199, 96211, 96221, + 96233, 96259, 96269, 96281, 96289, 96323, 96329, + 96337, 96353, 96377, 96401, 96419, 96431, 96443, + 96451, 96457, 96469, 96479, 96487, 96493, 96517, + 96527, 96553, 96581, 96587, 96601, 96643, 96661, + 96667, 96697, 96703, 96731, 96737, 96749, 96757, + 96763, 96769, 96779, 96787, 96797, 96821, 96827, + 96847, 96857, 96893, 96907, 96931, 96953, 96959, + 96973, 96979, 96989, 96997, 97003, 97021, 97039, + 97073, 97081, 97103, 97117, 97127, 97151, 97157, + 97169, 97177, 97187, 97213, 97231, 97241, 97259, + 97283, 97301, 97327, 97367, 97373, 97379, 97387, + 97397, 97423, 97429, 97441, 97453, 97459, 97499, + 97511, 97523, 97547, 97553, 97561, 97571, 97577, + 97583, 97607, 97613, 97649, 97673, 97687, 97711, + 97729, 97771, 97777, 97787, 97813, 97829, 97841, + 97847, 97859, 97871, 97879, 97919, 97927, 97943, + 97961, 97967, 97973, 97987, 98009, 98017, 98041, + 98047, 98057, 98081, 98101, 98123, 98129, 98143, + 98179, 98207, 98213, 98221, 98227, 98251, 98257, + 98269, 98297, 98317, 98323, 98347, 98369, 98377, + 98387, 98407, 98419, 98429, 98443, 98453, 98459, + 98467, 98473, 98479, 98491, 98507, 98519, 98533, + 98543, 98561, 98573, 98597, 98621, 98627, 98639, + 98663, 98669, 98689, 98711, 98717, 98729, 98737, + 98773, 98779, 98801, 98807, 98837, 98849, 98867, + 98873, 98887, 98893, 98899, 98909, 98927, 98939, + 98947, 98953, 98963, 98981, 98993, 98999, 99013, + 99023, 99041, 99053, 99079, 99089, 99103, 99109, + 99119, 99131, 99137, 99149, 99173, 99181, 99191, + 99223, 99233, 99241, 99251, 99257, 99277, 99289, + 99317, 99347, 99367, 99377, 99391, 99397, 99409, + 99431, 99439, 99469, 99487, 99497, 99523, 99529, + 99551, 99559, 99571, 99577, 99607, 99623, 99643, + 99661, 99667, 99679, 99689, 99707, 99713, 99719, + 99733, 99761, 99767, 99787, 99793, 99809, 99817, + 99823, 99829, 99839, 99859, 99871, 99877, 99901, + 99907, 99923, 99929, 99961, 99971, 99989, 100003, + 100019, 100043, 100049, 100057, 100069, 100103, 100109, + 100129, 100151, 100169, 100183, 100189, 100207, 100213, + 100237, 100267, 100279, 100291, 100297, 100313, 100333, + 100343, 100357, 100363, 100379, 100391, 100403, 100411, + 100417, 100447, 100459, 100469, 100483, 100493, 100501, + 100511, 100517, 100523, 100537, 100547, 100559, 100591, + 100609, 100621, 100649, 100669, 100693, 100699, 100733, + 100741, 100747, 100769, 100787, 100799, 100811, 100823, + 100829, 100847, 100853, 100907, 100913, 100927, 100937, + 100943, 100957, 100981, 100987, 100999, 101009, 101021, + 101027, 101051, 101063, 101081, 101089, 101107, 101113, + 101119, 101141, 101149, 101159, 101173, 101183, 101197, + 101203, 101209, 101221, 101267, 101273, 101279, 101287, + 101293, 101323, 101333, 101341, 101347, 101359, 101377, + 101383, 101399, 101411, 101419, 101429, 101449, 101467, + 101477, 101483, 101489, 101501, 101513, 101527, 101533, + 101561, 101573, 101581, 101599, 101611, 101627, 101641, + 101653, 101663, 101681, 101693, 101701, 101719, 101737, + 101747, 101771, 101789, 101797, 101807, 101833, 101839, + 101863, 101869, 101879, 101891, 101917, 101929, 101939, + 101957, 101963, 101977, 101987, 101999, 102013, 102019, + 102031, 102043, 102059, 102071, 102077, 102101, 102107, + 102121, 102139, 102149, 102161, 102181, 102191, 102197, + 102203, 102217, 102229, 102241, 102251, 102259, 102293, + 102299, 102317, 102329, 102337, 102359, 102367, 102397, + 102407, 102433, 102451, 102461, 102481, 102497, 102503, + 102523, 102533, 102539, 102547, 102559, 102587, 102593, + 102607, 102643, 102653, 102667, 102673, 102679, 102701, + 102761, 102769, 102793, 102811, 102829, 102841, 102859, + 102871, 102877, 102911, 102929, 102953, 102967, 102983, + 103001, 103007, 103043, 103049, 103067, 103079, 103087, + 103093, 103099, 103123, 103141, 103171, 103177, 103183, + 103217, 103231, 103237, 103289, 103307, 103319, 103333, + 103349, 103357, 103387, 103393, 103399, 103409, 103421, + 103451, 103457, 103471, 103483, 103511, 103529, 103549, + 103561, 103567, 103573, 103583, 103591, 103613, 103619, + 103643, 103651, 103657, 103669, 103681, 103687, 103699, + 103723, 103769, 103787, 103801, 103811, 103837, 103843, + 103867, 103889, 103903, 103913, 103919, 103951, 103963, + 103969, 103979, 103991, 103997, 104003, 104009, 104021, + 104033, 104047, 104053, 104059, 104087, 104107, 104113, + 104119, 104147, 104161, 104173, 104179, 104207, 104231, + 104239, 104281, 104287, 104297, 104309, 104323, 104347, + 104369, 104381, 104393, 104399, 104417, 104459, 104471, + 104479, 104491, 104513, 104527, 104537, 104543, 104549, + 104561, 104579, 104593, 104623, 104639, 104651, 104659, + 104677, 104683, 104693, 104701, 104707, 104717, 104723, + 104729, 104743, 104759, 104773, 104779, 104789, 104801, + 104827, 104849, 104869, 104879, 104891, 104911, 104917, + 104933, 104947, 104953, 104959, 104971, 104987, 104999, + 105019, 105031, 105037, 105071, 105097, 105107, 105137, + 105143, 105167, 105173, 105199, 105211, 105227, 105239, + 105251, 105263, 105269, 105277, 105319, 105331, 105337, + 105359, 105367, 105373, 105379, 105389, 105397, 105407, + 105437, 105449, 105467, 105491, 105499, 105509, 105517, + 105527, 105533, 105541, 105557, 105563, 105601, 105607, + 105613, 105619, 105649, 105667, 105673, 105683, 105691, + 105701, 105727, 105733, 105751, 105761, 105767, 105817, + 105829, 105863, 105871, 105883, 105899, 105907, 105913, + 105929, 105943, 105953, 105967, 105977, 105983, 105997, + 106013, 106019, 106031, 106087, 106103, 106109, 106121, + 106129, 106163, 106181, 106187, 106207, 106213, 106219, + 106243, 106261, 106273, 106279, 106291, 106297, 106303, + 106319, 106331, 106349, 106357, 106363, 106373, 106391, + 106397, 106411, 106417, 106427, 106433, 106441, 106451, + 106487, 106501, 106531, 106537, 106543, 106591, 106619, + 106627, 106637, 106649, 106657, 106663, 106669, 106681, + 106693, 106699, 106721, 106727, 106739, 106747, 106753, + 106759, 106781, 106787, 106801, 106823, 106853, 106859, + 106867, 106877, 106903, 106921, 106937, 106949, 106957, + 106963, 106979, 106993, 107021, 107033, 107053, 107069, + 107077, 107089, 107099, 107119, 107137, 107171, 107183, + 107197, 107209, 107227, 107243, 107251, 107269, 107279, + 107309, 107323, 107339, 107347, 107357, 107377, 107441, + 107449, 107467, 107473, 107507, 107563, 107581, 107599, + 107609, 107621, 107641, 107647, 107671, 107687, 107693, + 107699, 107713, 107719, 107741, 107747, 107761, 107773, + 107791, 107827, 107837, 107843, 107857, 107867, 107873, + 107881, 107897, 107903, 107923, 107941, 107951, 107971, + 107981, 107999, 108007, 108013, 108023, 108037, 108061, + 108079, 108089, 108107, 108127, 108139, 108161, 108179, + 108187, 108193, 108203, 108211, 108217, 108223, 108233, + 108247, 108263, 108271, 108287, 108293, 108301, 108343, + 108359, 108377, 108401, 108413, 108421, 108439, 108457, + 108463, 108497, 108503, 108517, 108529, 108541, 108553, + 108571, 108587, 108631, 108637, 108643, 108649, 108677, + 108707, 108727, 108739, 108751, 108761, 108769, 108791, + 108799, 108821, 108827, 108863, 108869, 108877, 108883, + 108893, 108907, 108917, 108923, 108929, 108943, 108949, + 108959, 108967, 108991, 109001, 109013, 109037, 109049, + 109063, 109073, 109097, 109103, 109111, 109121, 109133, + 109139, 109147, 109159, 109169, 109199, 109211, 109229, + 109253, 109267, 109279, 109297, 109303, 109313, 109321, + 109331, 109357, 109363, 109379, 109387, 109397, 109423, + 109433, 109441, 109451, 109469, 109481, 109507, 109517, + 109537, 109547, 109567, 109579, 109589, 109597, 109609, + 109619, 109639, 109661, 109673, 109717, 109741, 109751, + 109789, 109807, 109819, 109829, 109841, 109847, 109859, + 109873, 109883, 109891, 109897, 109903, 109913, 109919, + 109937, 109943, 109961, 109987, 110017, 110023, 110039, + 110051, 110059, 110069, 110083, 110119, 110129, 110161, + 110183, 110221, 110233, 110251, 110261, 110269, 110281, + 110291, 110311, 110321, 110339, 110359, 110419, 110431, + 110437, 110459, 110477, 110491, 110501, 110527, 110533, + 110543, 110557, 110563, 110569, 110581, 110587, 110597, + 110603, 110609, 110623, 110629, 110641, 110647, 110681, + 110711, 110729, 110749, 110771, 110777, 110807, 110813, + 110819, 110849, 110863, 110879, 110899, 110909, 110917, + 110923, 110933, 110939, 110947, 110969, 110977, 110989, + 111029, 111043, 111049, 111091, 111103, 111109, 111119, + 111127, 111143, 111149, 111187, 111211, 111217, 111227, + 111253, 111263, 111269, 111301, 111317, 111323, 111337, + 111347, 111373, 111409, 111427, 111439, 111467, 111487, + 111493, 111509, 111521, 111533, 111539, 111577, 111593, + 111599, 111611, 111623, 111637, 111653, 111659, 111667, + 111697, 111721, 111731, 111751, 111767, 111773, 111779, + 111791, 111799, 111821, 111827, 111833, 111847, 111857, + 111863, 111869, 111893, 111913, 111919, 111949, 111959, + 111973, 111997, 112019, 112031, 112061, 112067, 112087, + 112097, 112103, 112111, 112121, 112129, 112139, 112153, + 112163, 112181, 112199, 112207, 112213, 112223, 112237, + 112247, 112253, 112261, 112279, 112289, 112297, 112303, + 112327, 112337, 112349, 112361, 112397, 112403, 112429, + 112459, 112481, 112501, 112507, 112543, 112559, 112571, + 112577, 112583, 112589, 112601, 112621, 112643, 112657, + 112663, 112687, 112741, 112757, 112771, 112787, 112799, + 112807, 112831, 112843, 112859, 112877, 112901, 112909, + 112919, 112927, 112939, 112951, 112967, 112979, 112997, + 113011, 113017, 113023, 113039, 113051, 113063, 113081, + 113089, 113111, 113117, 113123, 113131, 113143, 113149, + 113159, 113167, 113173, 113189, 113209, 113227, 113233, + 113279, 113287, 113327, 113341, 113357, 113363, 113371, + 113381, 113417, 113437, 113453, 113467, 113489, 113497, + 113513, 113537, 113557, 113567, 113591, 113621, 113647, + 113657, 113683, 113717, 113723, 113731, 113749, 113759, + 113777, 113783, 113797, 113809, 113819, 113837, 113843, + 113891, 113899, 113909, 113921, 113933, 113947, 113957, + 113963, 113969, 113983, 113989, 114001, 114013, 114031, + 114041, 114067, 114073, 114083, 114089, 114113, 114143, + 114157, 114167, 114193, 114199, 114217, 114229, 114259, + 114269, 114277, 114299, 114311, 114319, 114329, 114343, + 114371, 114377, 114407, 114419, 114451, 114467, 114473, + 114479, 114487, 114493, 114547, 114553, 114571, 114577, + 114593, 114599, 114613, 114641, 114649, 114659, 114671, + 114679, 114689, 114713, 114743, 114749, 114757, 114769, + 114781, 114797, 114809, 114827, 114833, 114847, 114859, + 114883, 114889, 114901, 114913, 114941, 114967, 114973, + 114997, 115013, 115019, 115057, 115067, 115079, 115099, + 115117, 115123, 115133, 115151, 115163, 115183, 115201, + 115211, 115223, 115237, 115249, 115259, 115279, 115301, + 115309, 115319, 115327, 115337, 115343, 115361, 115399, + 115421, 115429, 115459, 115469, 115499, 115513, 115523, + 115547, 115553, 115561, 115571, 115589, 115597, 115603, + 115613, 115631, 115637, 115657, 115663, 115679, 115693, + 115727, 115733, 115741, 115751, 115757, 115763, 115769, + 115777, 115783, 115793, 115807, 115823, 115831, 115837, + 115849, 115859, 115873, 115879, 115891, 115901, 115931, + 115963, 115979, 115987, 116009, 116027, 116041, 116047, + 116089, 116099, 116107, 116113, 116131, 116141, 116159, + 116167, 116177, 116189, 116201, 116239, 116257, 116269, + 116279, 116293, 116329, 116341, 116351, 116359, 116371, + 116381, 116387, 116411, 116423, 116437, 116443, 116461, + 116471, 116483, 116491, 116507, 116531, 116537, 116549, + 116579, 116593, 116639, 116657, 116663, 116681, 116687, + 116707, 116719, 116731, 116741, 116747, 116789, 116797, + 116803, 116819, 116827, 116833, 116849, 116867, 116881, + 116903, 116911, 116923, 116929, 116953, 116959, 116969, + 116981, 116989, 117017, 117023, 117037, 117043, 117053, + 117071, 117101, 117109, 117119, 117127, 117133, 117163, + 117191, 117203, 117209, 117223, 117239, 117251, 117259, + 117269, 117281, 117307, 117319, 117329, 117353, 117361, + 117371, 117389, 117413, 117427, 117437, 117443, 117497, + 117503, 117511, 117517, 117529, 117539, 117563, 117571, + 117577, 117617, 117643, 117659, 117671, 117679, 117701, + 117709, 117721, 117727, 117751, 117757, 117763, 117773, + 117779, 117787, 117797, 117809, 117833, 117839, 117851, + 117877, 117883, 117889, 117899, 117911, 117917, 117937, + 117959, 117973, 117979, 117989, 118033, 118043, 118051, + 118057, 118081, 118093, 118127, 118147, 118163, 118169, + 118189, 118211, 118219, 118247, 118253, 118259, 118273, + 118297, 118343, 118361, 118369, 118387, 118399, 118409, + 118423, 118429, 118453, 118463, 118471, 118493, 118529, + 118543, 118549, 118571, 118583, 118589, 118603, 118619, + 118633, 118661, 118669, 118681, 118687, 118709, 118717, + 118739, 118747, 118757, 118787, 118799, 118819, 118831, + 118843, 118861, 118873, 118891, 118897, 118903, 118913, + 118927, 118967, 118973, 119027, 119033, 119039, 119047, + 119057, 119069, 119083, 119089, 119099, 119107, 119129, + 119159, 119173, 119179, 119191, 119227, 119233, 119243, + 119267, 119291, 119297, 119311, 119321, 119359, 119389, + 119417, 119429, 119447, 119489, 119503, 119513, 119533, + 119549, 119557, 119563, 119569, 119591, 119611, 119617, + 119627, 119633, 119653, 119659, 119671, 119677, 119687, + 119699, 119723, 119737, 119747, 119759, 119771, 119783, + 119797, 119809, 119827, 119839, 119849, 119869, 119881, + 119891, 119921, 119929, 119953, 119963, 119971, 119981, + 119993, 120011, 120017, 120041, 120047, 120067, 120077, + 120091, 120097, 120103, 120121, 120157, 120163, 120181, + 120193, 120199, 120209, 120223, 120233, 120247, 120277, + 120283, 120293, 120299, 120319, 120331, 120349, 120371, + 120383, 120391, 120397, 120413, 120427, 120473, 120503, + 120511, 120539, 120551, 120557, 120563, 120569, 120577, + 120587, 120607, 120619, 120641, 120647, 120661, 120671, + 120677, 120689, 120709, 120721, 120737, 120749, 120763, + 120779, 120811, 120817, 120823, 120829, 120847, 120863, + 120871, 120877, 120889, 120899, 120907, 120917, 120929, + 120937, 120943, 120977, 120997, 121007, 121013, 121019, + 121039, 121061, 121067, 121081, 121123, 121139, 121151, + 121157, 121169, 121181, 121189, 121229, 121259, 121267, + 121283, 121291, 121309, 121321, 121327, 121333, 121343, + 121349, 121357, 121367, 121379, 121403, 121421, 121439, + 121447, 121453, 121469, 121487, 121493, 121501, 121507, + 121523, 121531, 121547, 121553, 121559, 121571, 121577, + 121591, 121607, 121621, 121631, 121637, 121661, 121687, + 121697, 121711, 121721, 121727, 121763, 121787, 121843, + 121853, 121867, 121883, 121889, 121909, 121921, 121931, + 121937, 121949, 121963, 121993, 122011, 122021, 122027, + 122033, 122039, 122051, 122069, 122081, 122099, 122117, + 122131, 122147, 122167, 122173, 122201, 122207, 122219, + 122231, 122251, 122263, 122273, 122279, 122299, 122321, + 122327, 122347, 122363, 122387, 122393, 122399, 122443, + 122449, 122471, 122477, 122489, 122497, 122503, 122509, + 122527, 122533, 122557, 122579, 122597, 122609, 122651, + 122663, 122693, 122701, 122719, 122741, 122753, 122761, + 122777, 122789, 122819, 122827, 122833, 122839, 122849, + 122861, 122867, 122887, 122921, 122929, 122939, 122953, + 122963, 122971, 123001, 123007, 123017, 123031, 123049, + 123059, 123077, 123083, 123091, 123113, 123121, 123127, + 123143, 123169, 123191, 123203, 123209, 123217, 123229, + 123239, 123259, 123269, 123289, 123307, 123323, 123341, + 123373, 123379, 123397, 123407, 123419, 123427, 123433, + 123439, 123449, 123457, 123479, 123491, 123499, 123517, + 123527, 123547, 123553, 123581, 123593, 123601, 123619, + 123631, 123637, 123653, 123661, 123667, 123677, 123701, + 123707, 123719, 123727, 123733, 123757, 123787, 123803, + 123817, 123829, 123853, 123863, 123887, 123911, 123923, + 123931, 123941, 123953, 123973, 123979, 123989, 123997, + 124021, 124067, 124087, 124097, 124121, 124133, 124139, + 124147, 124153, 124171, 124181, 124193, 124199, 124213, + 124231, 124247, 124277, 124291, 124297, 124303, 124309, + 124337, 124343, 124349, 124363, 124427, 124433, 124447, + 124459, 124471, 124477, 124489, 124513, 124529, 124541, + 124561, 124567, 124577, 124601, 124633, 124643, 124669, + 124679, 124693, 124699, 124717, 124739, 124753, 124759, + 124769, 124777, 124783, 124793, 124799, 124819, 124847, + 124853, 124897, 124907, 124919, 124951, 124979, 124987, + 125003, 125017, 125029, 125053, 125063, 125093, 125101, + 125107, 125113, 125119, 125131, 125141, 125149, 125183, + 125197, 125207, 125219, 125231, 125243, 125261, 125269, + 125287, 125299, 125311, 125329, 125339, 125353, 125371, + 125383, 125399, 125407, 125423, 125429, 125441, 125453, + 125471, 125497, 125507, 125527, 125539, 125551, 125591, + 125597, 125617, 125627, 125639, 125651, 125659, 125669, + 125683, 125693, 125707, 125717, 125731, 125737, 125743, + 125753, 125777, 125789, 125803, 125813, 125821, 125863, + 125887, 125897, 125921, 125927, 125933, 125941, 125959, + 126001, 126011, 126019, 126031, 126037, 126047, 126067, + 126079, 126097, 126107, 126127, 126143, 126151, 126173, + 126199, 126211, 126223, 126229, 126241, 126257, 126271, + 126307, 126317, 126323, 126337, 126349, 126359, 126397, + 126421, 126433, 126443, 126457, 126473, 126481, 126487, + 126493, 126499, 126517, 126541, 126547, 126583, 126601, + 126611, 126631, 126641, 126653, 126683, 126691, 126703, + 126713, 126719, 126733, 126739, 126751, 126757, 126781, + 126823, 126839, 126851, 126857, 126913, 126923, 126943, + 126949, 126961, 126967, 126989, 127031, 127037, 127051, + 127079, 127103, 127123, 127133, 127139, 127157, 127163, + 127189, 127207, 127217, 127241, 127247, 127261, 127271, + 127277, 127289, 127297, 127321, 127331, 127343, 127363, + 127373, 127399, 127423, 127447, 127453, 127481, 127487, + 127493, 127507, 127529, 127541, 127549, 127579, 127591, + 127597, 127607, 127637, 127643, 127649, 127657, 127663, + 127669, 127679, 127691, 127703, 127709, 127717, 127727, + 127733, 127739, 127747, 127763, 127781, 127807, 127817, + 127837, 127843, 127849, 127859, 127867, 127873, 127913, + 127921, 127931, 127951, 127973, 127979, 127997, 128021, + 128033, 128047, 128053, 128099, 128111, 128119, 128147, + 128153, 128159, 128173, 128189, 128201, 128213, 128221, + 128237, 128257, 128273, 128287, 128311, 128321, 128327, + 128339, 128347, 128377, 128389, 128399, 128411, 128431, + 128437, 128449, 128461, 128467, 128473, 128483, 128489, + 128509, 128519, 128549, 128563, 128591, 128599, 128621, + 128629, 128657, 128663, 128669, 128677, 128683, 128693, + 128717, 128747, 128761, 128767, 128813, 128819, 128831, + 128837, 128857, 128873, 128879, 128903, 128923, 128939, + 128951, 128959, 128969, 128981, 128987, 128993, 129001, + 129011, 129023, 129037, 129049, 129061, 129083, 129089, + 129097, 129113, 129119, 129127, 129169, 129187, 129193, + 129209, 129221, 129229, 129263, 129277, 129287, 129293, + 129313, 129341, 129347, 129361, 129379, 129401, 129419, + 129439, 129449, 129457, 129469, 129491, 129497, 129509, + 129517, 129527, 129533, 129539, 129553, 129581, 129587, + 129593, 129607, 129629, 129641, 129671, 129707, 129719, + 129733, 129749, 129757, 129763, 129769, 129793, 129803, + 129841, 129853, 129887, 129893, 129901, 129917, 129937, + 129953, 129959, 129967, 130003, 130021, 130027, 130043, + 130051, 130057, 130069, 130079, 130087, 130099, 130121, + 130127, 130147, 130171, 130183, 130199, 130211, 130223, + 130241, 130253, 130259, 130267, 130279, 130303, 130337, + 130343, 130349, 130363, 130369, 130379, 130399, 130409, + 130423, 130439, 130447, 130457, 130469, 130477, 130483, + 130489, 130513, 130523, 130531, 130547, 130553, 130579, + 130589, 130619, 130631, 130639, 130649, 130657, 130681, + 130687, 130693, 130699, 130729, 130769, 130783, 130807, + 130817, 130829, 130841, 130859, 130873, 130927, 130957, + 130969, 130981, 130987, 131009, 131023, 131041, 131059, + 131071, 131101, 262187, 393271, 524347, 655439, 786547, + 917629, 1048703, 1179779, 1310851, 1441931, 1573009, 1704103, + 1835177, 1966259, 2097349, 2228423, 2359499, 2490583, 2621669, + 2752787, 2883887, 3014981, 3146069, 3277181, 3408259, 3539359, + 3670463, 3801541, 3932633, 4063711, 4194793, 4325873, 4456951, + 4588099, 4719181, 4850273, 4981349, 5112421, 5243501, 5374573, + 5505653, 5636731, 5767841, 5898931, 6030023, 6161107, 6292201, + 6423281, 6554357, 6685447, 6816527, 6947609, 7078693, 7209779, + 7340867, 7471939, 7603027, 7734119, 7865257, 7996333, 8127409, + 8258489, 8389567, 8520647, 8651723, 8782817, 8913889, 9044977, + 9176053, 9307127, 9438203, 9569299, 9700381, 9831461, 9962567, + 10093639, 10224743, 10355843, 10486921, 10618007, 10749107, 10880201, + 11011283, 11142359, 11273443, 11404529, 11535607, 11666689, 11797771, + 11928853, 12059939, 12191021, 12322109, 12453191, 12584263, 12715379, + 12846473, 12977597, 13108681, 13239757, 13370831, 13501919, 13633001, + 13764083, 13895159, 14026267, 14157371, 14288447, 14419523, 14550611, + 14681701, 14812781, 14943857, 15074929, 15206021, 15337141, 15468227, + 15599329, 15730417, 15861499, 15992573, 16123649, 16254743, 16385819, + 16516919, 16647991, 16779151, 16910227, 17041301, 17172377, 17303453, + 17434541, 17565649, 17696741, 17827847, 17958931, 18090031, 18221123, + 18352199, 18483271, 18614347, 18745429, 18876503, 19007579, 19138661, + 19269739, 19400819, 19531903, 19663003, 19794083, 19925161, 20056247, + 20187319, 20318399, 20449483, 20580563, 20711641, 20842721, 20973793, + 21104879, 21235979, 21367061, 21498133, 21629207, 21760303, 21891391, + 22022467, 22153543, 22284623, 22415699, 22546789, 22677869, 22808941, + 22940053, 23071129, 23202203, 23333279, 23464367, 23595449, 23726539, + 23857621, 23988707, 24119779, 24250861, 24381937, 24513017, 24644107, + 24775187, 24906281, 25037357, 25168439, 25299551, 25430641, 25561729, + 25692803, 25823881, 25954961, 26086043, 26217119, 26348191, 26479267, + 26610347, 26741431, 26872511, 27003583, 27134659, 27265751, 27396833, + 27527939, 27659033, 27790127, 27921217, 28052291, 28183369, 28314457, + 28445533, 28576619, 28707737, 28838809, 28969891, 29100979, 29232143, + 29363221, 29494313, 29625391, 29756483, 29887573, 30018647, 30149723, + 30280801, 30411893, 30542971, 30674047, 30805123, 30936197, 31067269, + 31198367, 31329439, 31460537, 31591649, 31722721, 31853797, 31984891, + 32115971, 32247049, 32378131, 32509223, 32640301, 32771443, 32902517, + 33033593, 33164683, 33295763, 33426851, 33557941, 33689041, 33820141, + 33951221, 34082303, 34213391, 34344463, 34475537, 34606609, 34737721, + 34868807, 34999879, 35130971, 35262047, 35393123, 35524207, 35655283, + 35786357, 35917487, 36048599, 36179699, 36310823, 36441919, 36572999, + 36704099, 36835187, 36966277, 37097353, 37228447, 37359547, 37490623, + 37621733, 37752851, 37883941, 38015039, 38146127, 38277241, 38408317, + 38539399, 38670473, 38801569, 38932651, 39063727, 39194833, 39325933, + 39457009, 39588091, 39719221, 39850303, 39981397, 40112491, 40243579, + 40374671, 40505789, 40636861, 40767953, 40899031, 41030111, 41161187, + 41292287, 41423399, 41554493, 41685577, 41816653, 41947727, 42078809, + 42209897, 42340979, 42472061, 42603161, 42734267, 42865357, 42996463, + 43127543, 43258619, 43389691, 43520777, 43651859, 43782967, 43914041, + 44045119, 44176201, 44307281, 44438363, 44569453, 44700527, 44831653, + 44962727, 45093833, 45225013, 45356089, 45487187, 45618263, 45749387, + 45880463, 46011547, 46142639, 46273727, 46404811, 46535887, 46666973, + 46798079, 46929161, 47060261, 47191343, 47322419, 47453491, 47584601, + 47715673, 47846759, 47977841, 48108937, 48240011, 48371107, 48502187, + 48633259, 48764351, 48895453, 49026533, 49157611, 49288703, 49419781, + 49550861, 49681943, 49813019, 49944121, 50075213, 50206333, 50337407, + 50468491, 50599567, 50730643, 50861719, 50992813, 51123887, 51254969, + 51386059, 51517159, 51648239, 51779311, 51910403, 52041491, 52172563, + 52303663, 52434757, 52565831, 52696921, 52828003, 52959103, 53090207, + 53221283, 53352367, 53483483, 53614559, 53745631, 53876731, 54007819, + 54138899, 54269977, 54401051, 54532129, 54663239, 54794317, 54925411, + 55056493, 55187567, 55318639, 55449721, 55580807, 55711879, 55843013, + 55974097, 56105183, 56236259, 56367373, 56498447, 56629537, 56760643, + 56891759, 57022831, 57153907, 57284989, 57416063, 57547151, 57678307, + 57809387, 57940459, 58071551, 58202647, 58333733, 58464817, 58595897, + 58726979, 58858069, 58989149, 59120221, 59251303, 59382397, 59513471, + 59644567, 59775647, 59906731, 60037823, 60168947, 60300029, 60431167, + 60562247, 60693341, 60824431, 60955513, 61086601, 61217713, 61348787, + 61479863, 61610971, 61742047, 61873157, 62004263, 62135347, 62266433, + 62397523, 62528597, 62659669, 62790769, 62921869, 63052967, 63184061, + 63315137, 63446221, 63577301, 63708391, 63839519, 63970601, 64101673, + 64232747, 64363829, 64494907, 64625983, 64757057, 64888139, 65019211, + 65150287, 65281369, 65412443, 65543603, 65674691, 65805767, 65936851, + 66067943, 66199019, 66330109, 66461189, 66592261, 66723337, 66854419, + 66985493, 67116601, 67247717, 67378793, 67509877, 67640957, 67772039, + 67903111, 68034191, 68165263, 68296337, 68427409, 68558489, 68689561, + 68820701, 68951789, 69082873, 69213959, 69345071, 69476189, 69607273, + 69738373, 69869447, 70000549, 70131629, 70262701, 70393789, 70524869, + 70655947, 70787039, 70918121, 71049229, 71180303, 71311381, 71442461, + 71573563, 71704637, 71835719, 71966819, 72097891, 72228973, 72360053, + 72491143, 72622219, 72753323, 72884407, 73015531, 73146643, 73277741, + 73408859, 73539959, 73671067, 73802149, 73933231, 74064307, 74195383, + 74326463, 74457563, 74588653, 74719727, 74850803, 74981891, 75112979, + 75244079, 75375191, 75506269, 75637357, 75768457, 75899533, 76030607, + 76161719, 76292803, 76423883, 76554977, 76686059, 76817141, 76948217, + 77079319, 77210411, 77341487, 77472589, 77603663, 77734739, 77865811, + 77996903, 78128003, 78259079, 78390203, 78521293, 78652393, 78783473, + 78914557, 79045651, 79176731, 79307803, 79438907, 79569991, 79701073, + 79832147, 79963283, 80094373, 80225459, 80356531, 80487611, 80618683, + 80749763, 80880851, 81011929, 81143047, 81274121, 81405193, 81536269, + 81667343, 81798421, 81929509, 82060591, 82191671, 82322749, 82453823, + 82584913, 82715993, 82847071, 82978153, 83109241, 83240317, 83371427, + 83502509, 83633597, 83764691, 83895769, 84026851, 84157949, 84289021, + 84420101, 84551209, 84682337, 84813413, 84944501, 85075579, 85206661, + 85337737, 85468813, 85599911, 85730999, 85862081, 85993153, 86124277, + 86255353, 86386451, 86517589, 86648669, 86779753, 86910827, 87041909, + 87173029, 87304103, 87435193, 87566317, 87697403, 87828479, 87959551, + 88090627, 88221713, 88352801, 88483877, 88614949, 88746037, 88877119, + 89008207, 89139299, 89270371, 89401451, 89532533, 89663611, 89794687, + 89925811, 90056887, 90187961, 90319039, 90450119, 90581201, 90712273, + 90843349, 90974459, 91105561, 91236643, 91367723, 91498837, 91629911, + 91760983, 91892063, 92023153, 92154241, 92285321, 92416397, 92547529, + 92678603, 92809679, 92940779, 93071887, 93202979, 93334051, 93465131, + 93596219, 93727301, 93858383, 93989473, 94120553, 94251629, 94382719, + 94513807, 94644919, 94776023, 94907117, 95038193, 95169289, 95300363, + 95431451, 95562529, 95693603, 95824679, 95955787, 96086867, 96217981, + 96349067, 96480179, 96611297, 96742379, 96873451, 97004527, 97135609, + 97266683, 97397759, 97528841, 97659929, 97791017, 97922089, 98053171, + 98184253, 98315339, 98446433, 98577539, 98708627, 98839721, 98970793, + 99101921, 99233003, 99364081, 99495247, 99626321, 99757403, 99888487, + 100019567, 100150649, 100281721, 100412797, 100543873, 100674961, 100806047, + 100937119, 101068237, 101199331, 101330441, 101461519, 101592593, 101723669, + 101854843, 101985943, 102117031, 102248117, 102379213, 102510293, 102641381, + 102772469, 102903553, 103034627, 103165747, 103296821, 103427917, 103558991, + 103690091, 103821169, 103952279, 104083391, 104214479, 104345551, 104476637, + 104607709, 104738789, 104869879, 105000953, 105132031, 105263107, 105394183, + 105525281, 105656357, 105787453, 105918529, 106049639, 106180733, 106311817, + 106442893, 106573979, 106705061, 106836151, 106967233, 107098309, 107229433, + 107360537, 107491609, 107622763, 107753839, 107884913, 108016001, 108147089, + 108278173, 108409267, 108540349, 108671441, 108802517, 108933613, 109064687, + 109195763, 109326859, 109457947, 109589027, 109720099, 109851193, 109982269, + 110113349, 110244437, 110375513, 110506609, 110637689, 110768771, 110899843, + 111030923, 111162011, 111293087, 111424193, 111555281, 111686357, 111817471, + 111948581, 112079729, 112210811, 112341883, 112472957, 112604047, 112735157, + 112866263, 112997347, 113128441, 113259533, 113390623, 113521697, 113652787, + 113783861, 113914973, 114046073, 114177149, 114308251, 114439343, 114570419, + 114701491, 114832567, 114963649, 115094729, 115225819, 115356907, 115487993, + 115619071, 115750177, 115881287, 116012359, 116143459, 116274559, 116405657, + 116536733, 116667833, 116798933, 116930039, 117061141, 117192217, 117323321, + 117454433, 117585539, 117716633, 117847727, 117978803, 118109903, 118240987, + 118372063, 118503157, 118634239, 118765313, 118896403, 119027543, 119158619, + 119289721, 119420797, 119551931, 119683073, 119814151, 119945239, 120076337, + 120207463, 120338549, 120469649, 120600751, 120731837, 120862919, 120994001, + 121125073, 121256153, 121387267, 121518343, 121649441, 121780517, 121911593, + 122042671, 122173787, 122304859, 122435933, 122567009, 122698097, 122829191, + 122960273, 123091357, 123222433, 123353519, 123484597, 123615671, 123746743, + 123877823, 124008919, 124139999, 124271083, 124402171, 124533251, 124664327, + 124795403, 124926479, 125057561, 125188639, 125319713, 125450791, 125581867, + 125712947, 125844031, 125975107, 126106193, 126237289, 126368381, 126499487, + 126630583, 126761681, 126892783, 127023859, 127154939, 127286039, 127417133, + 127548227, 127679303, 127810393, 127941467, 128072551, 128203627, 128334709, + 128465791, 128596879, 128727967, 128859053, 128990129, 129121211, 129252287, + 129383363, 129514439, 129645533, 129776627, 129907709, 130038781, 130169863, + 130300943, 130432033, 130563131, 130694219, 130825333, 130956407, 131087483, + 131218561, 131349637, 131480731, 131611811, 131742893, 131873971, 132005047, + 132136157, 132267229, 132398317, 132529409, 132660509, 132791623, 132922709, + 133053799, 133184879, 133315957, 133447031, 133578119, 133709201, 133840279, + 133971353, 134102429, 134233501, 134364611, 134495693, 134626781, 134757877, + 134888953, 135020047, 135151153, 135282227, 135413339, 135544427, 135675509, + 135806597, 135937709, 136068781, 136199873, 136330949, 136462033, 136593131, + 136724207, 136855291, 136986383, 137117459, 137248543, 137379617, 137510701, + 137641781, 137772863, 137903959, 138035071, 138166207, 138297283, 138428369, + 138559441, 138690521, 138821593, 138952687, 139083787, 139214861, 139345939, + 139477033, 139608109, 139739183, 139870273, 140001349, 140132453, 140263531, + 140394623, 140525711, 140656783, 140787859, 140918957, 141050051, 141181123, + 141312203, 141443299, 141574373, 141705479, 141836551, 141967643, 142098721, + 142229807, 142360879, 142491967, 142623067, 142754149, 142885261, 143016343, + 143147437, 143278511, 143409593, 143540669, 143671751, 143802823, 143933921, + 144064993, 144196069, 144327151, 144458269, 144589387, 144720491, 144851579, + 144982679, 145113779, 145244851, 145375933, 145507027, 145638107, 145769179, + 145900283, 146031371, 146162473, 146293601, 146424679, 146555777, 146686853, + 146817941, 146949031, 147080111, 147211189, 147342269, 147473341, 147604427, + 147735521, 147866611, 147997697, 148128779, 148259933, 148391059, 148522139, + 148653221, 148784327, 148915399, 149046473, 149177573, 149308651, 149439733, + 149570807, 149701879, 149832959, 149964043, 150095123, 150226207, 150357287, + 150488381, 150619453, 150750539, 150881659, 151012747, 151143829, 151274923, + 151406083, 151537187, 151668269, 151799353, 151930451, 152061523, 152192597, + 152323669, 152454751, 152585833, 152716909, 152848013, 152979103, 153110179, + 153241259, 153372337, 153503411, 153634487, 153765559, 153896651, 154027751, + 154158841, 154289917, 154421023, 154552109, 154683209, 154814281, 154945363, + 155076469, 155207543, 155338649, 155469733, 155600807, 155731889, 155862977, + 155994071, 156125143, 156256223, 156387299, 156518377, 156649457, 156780529, + 156911603, 157042681, 157173763, 157304839, 157435913, 157566989, 157698077, + 157829171, 157960259, 158091337, 158222411, 158353483, 158484569, 158615651, + 158746727, 158877799, 159008879, 159139951, 159271033, 159402107, 159533183, + 159664279, 159795367, 159926441, 160057519, 160188607, 160319689, 160450781, + 160581931, 160713023, 160844111, 160975189, 161106277, 161237357, 161368439, + 161499517, 161630627, 161761729, 161892847, 162023921, 162155087, 162286177, + 162417251, 162548341, 162679421, 162810497, 162941573, 163072711, 163203797, + 163334893, 163465979, 163597051, 163728167, 163859263, 163990357, 164121437, + 164252513, 164383601, 164514677, 164645749, 164776847, 164907943, 165039037, + 165170129, 165301333, 165432409, 165563483, 165694559, 165825631, 165956723, + 166087819, 166218901, 166349983, 166481057, 166612169, 166743251, 166874339, + 167005417, 167136499, 167267587, 167398681, 167529757, 167660833, 167791913, + 167923031, 168054113, 168185189, 168316283, 168447379, 168578471, 168709543, + 168840643, 168971717, 169102811, 169233899, 169364983, 169496057, 169627187, + 169758283, 169889359, 170020447, 170151547, 170282633, 170413757, 170544841, + 170675929, 170807003, 170938081, 171069161, 171200233, 171331337, 171462427, + 171593507, 171724589, 171855689, 171986783, 172117879, 172248961, 172380053, + 172511137, 172642219, 172773301, 172904387, 173035481, 173166557, 173297647, + 173428721, 173559797, 173690927, 173822029, 173953123, 174084221, 174215297, + 174346369, 174477451, 174608543, 174739627, 174870719, 175001803, 175132883, + 175263973, 175395053, 175526149, 175657249, 175788329, 175919411, 176050493, + 176181617, 176312701, 176443777, 176574859, 176705951, 176837029, 176968153, + 177099253, 177230351, 177361439, 177492551, 177623627, 177754711, 177885793, + 178016887, 178147967, 178279093, 178410173, 178541263, 178672369, 178803451, + 178934527, 179065609, 179196701, 179327783, 179458859, 179589937, 179721013, + 179852087, 179983169, 180114257, 180245371, 180376453, 180507533, 180638639, + 180769717, 180900793, 181031899, 181162987, 181294097, 181425187, 181556261, + 181687333, 181818409, 181949489, 182080567, 182211641, 182342717, 182473799, + 182604883, 182735983, 182867059, 182998147, 183129227, 183260299, 183391421, + 183522499, 183653621, 183784693, 183915779, 184046867, 184177943, 184309033, + 184440133, 184571213, 184702291, 184833409, 184964503, 185095577, 185226653, + 185357743, 185488847, 185619979, 185751073, 185882161, 186013273, 186144353, + 186275431, 186406531, 186537623, 186668707, 186799799, 186930907, 187062019, + 187193099, 187324171, 187455337, 187586417, 187717499, 187848581, 187979657, + 188110751, 188241847, 188372959, 188504053, 188635133, 188766251, 188897333, + 189028417, 189159511, 189290587, 189421669, 189552743, 189683843, 189814951, + 189946033, 190077109, 190208203, 190339277, 190470361, 190601459, 190732547, + 190863623, 190994723, 191125799, 191256893, 191387971, 191519047, 191650133, + 191781209, 191912317, 192043403, 192174517, 192305591, 192436703, 192567821, + 192698917, 192829991, 192961063, 193092139, 193223221, 193354303, 193485403, + 193616539, 193747627, 193878703, 194009791, 194140873, 194271949, 194403031, + 194534113, 194665187, 194796299, 194927399, 195058489, 195189571, 195320647, + 195451721, 195582797, 195713873, 195844967, 195976043, 196107161, 196238233, + 196369319, 196500407, 196631509, 196762591, 196893703, 197024791, 197155873, + 197286959, 197418047, 197549119, 197680201, 197811277, 197942351, 198073427, + 198204511, 198335597, 198466673, 198597769, 198728857, 198859943, 198991019, + 199122137, 199253237, 199384321, 199515397, 199646519, 199777601, 199908691, + 200039789, 200170889, 200301961, 200433059, 200564149, 200695237, 200826337, + 200957411, 201088487, 201219563, 201350641, 201481717, 201612791, 201743909, + 201875027, 202006117, 202137193, 202268291, 202399363, 202530451, 202661549, + 202792637, 202923731, 203054807, 203185889, 203316977, 203448053, 203579171, + 203710259, 203841343, 203972459, 204103553, 204234647, 204365719, 204496849, + 204627947, 204759019, 204890099, 205021171, 205152247, 205283321, 205414409, + 205545493, 205676609, 205807687, 205938779, 206069861, 206200937, 206332031, + 206463107, 206594237, 206725319, 206856409, 206987489, 207118589, 207249667, + 207380783, 207511867, 207642959, 207774031, 207905143, 208036243, 208167317, + 208298411, 208429489, 208560571, 208691647, 208822729, 208953841, 209084929, + 209216041, 209347141, 209478221, 209609293, 209740393, 209871469, 210002567, + 210133643, 210264739, 210395819, 210526903, 210657977, 210789067, 210920167, + 211051333, 211182407, 211313507, 211444609, 211575691, 211706767, 211837841, + 211968931, 212100017, 212231119, 212362201, 212493277, 212624371, 212755481, + 212886559, 213017641, 213148717, 213279797, 213410917, 213541997, 213673079, + 213804161, 213935261, 214066339, 214197419, 214328509, 214459603, 214590797, + 214721873, 214852961, 214984103, 215115217, 215246293, 215377399, 215508479, + 215639551, 215770637, 215901733, 216032819, 216163897, 216294977, 216426079, + 216557161, 216688247, 216819329, 216950423, 217081537, 217212613, 217343689, + 217474769, 217605847, 217736933, 217868023, 217999139, 218130233, 218261321, + 218392393, 218523469, 218654549, 218785649, 218916721, 219047797, 219178871, + 219309949, 219441029, 219572117, 219703193, 219834269, 219965359, 220096451, + 220227533, 220358623, 220489721, 220620793, 220751887, 220882969, 221014049, + 221145137, 221276227, 221407309, 221538391, 221669473, 221800571, 221931649, + 222062749, 222193831, 222324911, 222455983, 222587063, 222718157, 222849239, + 222980323, 223111403, 223242517, 223373593, 223504681, 223635793, 223766887, + 223897969, 224029049, 224160127, 224291233, 224422307, 224553389, 224684477, + 224815553, 224946637, 225077717, 225208793, 225339911, 225471061, 225602149, + 225733231, 225864371, 225995453, 226126531, 226257613, 226388693, 226519861, + 226650961, 226782037, 226913111, 227044189, 227175271, 227306363, 227437447, + 227568569, 227699651, 227830741, 227961821, 228092903, 228223979, 228355051, + 228486149, 228617227, 228748309, 228879383, 229010473, 229141567, 229272649, + 229403723, 229534813, 229665889, 229796971, 229928047, 230059169, 230190269, + 230321347, 230452441, 230583517, 230714591, 230845709, 230976791, 231107867, + 231238963, 231370039, 231501163, 231632237, 231763309, 231894391, 232025471, + 232156543, 232287641, 232418737, 232549859, 232680941, 232812017, 232943093, + 233074169, 233205299, 233336387, 233467523, 233598611, 233729687, 233860787, + 233991871, 234122947, 234254023, 234385097, 234516169, 234647263, 234778337, + 234909421, 235040501, 235171583, 235302659, 235433741, 235564837, 235695937, + 235827017, 235958089, 236089163, 236220239, 236351321, 236482409, 236613491, + 236744569, 236875687, 237006761, 237137833, 237268937, 237400013, 237531113, + 237662237, 237793313, 237924409, 238055483, 238186561, 238317643, 238448729, + 238579801, 238710929, 238842001, 238973083, 239104157, 239235233, 239366321, + 239497393, 239628491, 239759587, 239890687, 240021773, 240152909, 240284003, + 240415099, 240546179, 240677251, 240808333, 240939427, 241070507, 241201591, + 241332701, 241463809, 241594883, 241725959, 241857041, 241988113, 242119201, + 242250277, 242381357, 242512481, 242643581, 242774659, 242905759, 243036841, + 243167927, 243299011, 243430129, 243561223, 243692303, 243823379, 243954499, + 244085573, 244216649, 244347739, 244478827, 244609903, 244740989, 244872073, + 245003147, 245134223, 245265299, 245396401, 245527487, 245658559, 245789633, + 245920709, 246051787, 246182863, 246313939, 246445013, 246576101, 246707189, + 246838261, 246969337, 247100429, 247231529, 247362611, 247493689, 247624763, + 247755881, 247886953, 248018033, 248149129, 248280203, 248411279, 248542361, + 248673443, 248804531, 248935613, 249066689, 249197803, 249328951, 249460037, + 249591157, 249722237, 249853321, 249984407, 250115497, 250246573, 250377667, + 250508743, 250639817, 250770901, 250902023, 251033099, 251164183, 251295271, + 251426347, 251557421, 251688509, 251819609, 251950687, 252081773, 252212879, + 252343951, 252475031, 252606103, 252737267, 252868351, 252999427, 253130513, + 253261637, 253392731, 253523807, 253654931, 253786003, 253917143, 254048219, + 254179297, 254310409, 254441491, 254572601, 254703697, 254834791, 254965873, + 255096971, 255228073, 255359161, 255490241, 255621329, 255752411, 255883513, + 256014613, 256145689, 256276789, 256407919, 256539001, 256670077, 256801199, + 256932289, 257063371, 257194451, 257325529, 257456603, 257587679, 257718763, + 257849843, 257980927, 258112031, 258243137, 258374213, 258505297, 258636377, + 258767471, 258898543, 259029649, 259160729, 259291861, 259422953, 259554037, + 259685147, 259816231, 259947407, 260078521, 260209597, 260340671, 260471747, + 260602871, 260733971, 260865043, 260996167, 261127249, 261258391, 261389507, + 261520607, 261651757, 261782831, 261913919, 262045001, 262176077, 262307153, + 262438229, 262569317, 262700393, 262831477, 262962559, 263093641, 263224721, + 263355793, 263486911, 263618053, 263749141, 263880217, 264011311, 264142387, + 264273461, 264404603, 264535717, 264666793, 264797867, 264928957, 265060031, + 265191103, 265322207, 265453289, 265584373, 265715449, 265846541, 265977641, + 266108723, 266239849, 266370953, 266502043, 266633141, 266764229, 266895311, + 267026387, 267157463, 267288547, 267419629, 267550711, 267681787, 267812887, + 267943967, 268075061, 268206143, 268337219, 268468331, 268599431, 268730513, + 268861591, 268992667, 269123747, 269254837, 269385931, 269517029, 269648107, + 269779187, 269910283, 270041363, 270172447, 270303581, 270434653, 270565739, + 270696823, 270827899, 270958973, 271090049, 271221127, 271352203, 271483313, + 271614397, 271745477, 271876589, 272007661, 272138747, 272269831, 272400917, + 272532011, 272663113, 272794217, 272925299, 273056387, 273187483, 273318557, + 273449711, 273580787, 273711869, 273842941, 273974033, 274105121, 274236217, + 274367311, 274498387, 274629469, 274760593, 274891691, 275022791, 275153873, + 275284949, 275416027, 275547121, 275678197, 275809271, 275940347, 276071429, + 276202513, 276333611, 276464701, 276595793, 276726871, 276857947, 276989051, + 277120127, 277251203, 277382279, 277513351, 277644427, 277775503, 277906589, + 278037673, 278168749, 278299837, 278430931, 278562007, 278693141, 278824237, + 278955317, 279086417, 279217517, 279348599, 279479689, 279610769, 279741853, + 279872933, 280004009, 280135109, 280266209, 280397287, 280528361, 280659497, + 280790593, 280921673, 281052757, 281183839, 281314921, 281446001, 281577083, + 281708213, 281839303, 281970379, 282101471, 282232549, 282363637, 282494711, + 282625789, 282756889, 282888029, 283019137, 283150237, 283281311, 283412387, + 283543487, 283674577, 283805653, 283936753, 284067829, 284198909, 284329999, + 284461081, 284592157, 284723273, 284854351, 284985431, 285116543, 285247639, + 285378713, 285509803, 285640877, 285771961, 285903047, 286034137, 286165237, + 286296349, 286427437, 286558543, 286689617, 286820717, 286951811, 287082883, + 287213959, 287345053, 287476129, 287607211, 287738291, 287869367, 288000467, + 288131539, 288262621, 288393701, 288524773, 288655853, 288786929, 288918001, + 289049081, 289180153, 289311229, 289442303, 289573391, 289704479, 289835551, + 289966639, 290097763, 290228843, 290359921, 290490997, 290622077, 290753173, + 290884301, 291015379, 291146461, 291277549, 291408641, 291539723, 291670801, + 291801877, 291932987, 292064077, 292195153, 292326259, 292457381, 292588459, + 292719563, 292850693, 292981771, 293112887, 293244023, 293375119, 293506193, + 293637287, 293768383, 293899471, 294030547, 294161633, 294292723, 294423821, + 294554893, 294685967, 294817057, 294948151, 295079227, 295210319, 295341407, + 295472519, 295603603, 295734707, 295865821, 295996903, 296128003, 296259079, + 296390197, 296521271, 296652359, 296783441, 296914517, 297045643, 297176729, + 297307807, 297438899, 297569971, 297701111, 297832207, 297963283, 298094359, + 298225451, 298356559, 298487659, 298618739, 298749811, 298880899, 299012017, + 299143133, 299274223, 299405303, 299536381, 299667491, 299798593, 299929709, + 300060793, 300191891, 300323021, 300454103, 300585193, 300716267, 300847357, + 300978479, 301109551, 301240633, 301371731, 301502813, 301633903, 301765021, + 301896103, 302027177, 302158249, 302289329, 302420449, 302551547, 302682631, + 302813711, 302944783, 303075901, 303206983, 303338071, 303469151, 303600247, + 303731357, 303862451, 303993563, 304124657, 304255801, 304386881, 304517963, + 304649039, 304780123, 304911199, 305042281, 305173399, 305304487, 305435573, + 305566673, 305697767, 305828843, 305959943, 306091031, 306222149, 306353233, + 306484327, 306615409, 306746501, 306877573, 307008649, 307139737, 307270841, + 307401937, 307533029, 307664101, 307795219, 307926313, 308057413, 308188511, + 308319607, 308450717, 308581817, 308712889, 308843989, 308975063, 309106151, + 309237263, 309368369, 309499441, 309630521, 309761593, 309892691, 310023767, + 310154891, 310285967, 310417049, 310548127, 310679219, 310810301, 310941391, + 311072479, 311203561, 311334637, 311465723, 311596811, 311727887, 311859007, + 311990093, 312121217, 312252299, 312383399, 312514481, 312645559, 312776647, + 312907747, 313038853, 313169933, 313301011, 313432099, 313563221, 313694317, + 313825397, 313956469, 314087569, 314218643, 314349727, 314480813, 314611889, + 314742983, 314874073, 315005191, 315136267, 315267341, 315398431, 315529507, + 315660581, 315791653, 315922741, 316053821, 316184917, 316316017, 316447091, + 316578193, 316709317, 316840393, 316971469, 317102549, 317233669, 317364779, + 317495863, 317626979, 317758061, 317889139, 318020221, 318151331, 318282407, + 318413483, 318544571, 318675647, 318806737, 318937823, 319068899, 319200001, + 319331099, 319462177, 319593259, 319724351, 319855429, 319986547, 320117621, + 320248717, 320379793, 320510873, 320641957, 320773039, 320904137, 321035213, + 321166289, 321297371, 321428447, 321559529, 321690623, 321821699, 321952789, + 322083871, 322214951, 322346047, 322477121, 322608193, 322739267, 322870381, + 323001461, 323132539, 323263621, 323394707, 323525791, 323656867, 323787983, + 323919059, 324050143, 324181261, 324312371, 324443447, 324574519, 324705629, + 324836719, 324967831, 325098919, 325230023, 325361107, 325492199, 325623299, + 325754383, 325885471, 326016569, 326147641, 326278721, 326409803, 326540881, + 326671999, 326803091, 326934169, 327065243, 327196327, 327327431, 327458507, + 327589589, 327720661, 327851779, 327982859, 328113931, 328245017, 328376099, + 328507181, 328638253, 328769339, 328900417, 329031497, 329162569, 329293649, + 329424721, 329555833, 329686913, 329817989, 329949127, 330080209, 330211283, + 330342359, 330473443, 330604531, 330735611, 330866687, 330997763, 331128851, + 331259923, 331391051, 331522133, 331653209, 331784309, 331915393, 332046479, + 332177561, 332308637, 332439721, 332570857, 332701933, 332833043, 332964127, + 333095207, 333226297, 333357379, 333488501, 333619589, 333750667, 333881773, + 334012867, 334143967, 334275041, 334406147, 334537223, 334668311, 334799401, + 334930489, 335061607, 335192687, 335323783, 335454859, 335585951, 335717027, + 335848099, 335979247, 336110347, 336241421, 336372527, 336503611, 336634699, + 336765791, 336896869, 337027961, 337159051, 337290131, 337421221, 337552297, + 337683377, 337814461, 337945561, 338076643, 338207717, 338338801, 338469913, + 338600993, 338732081, 338863169, 338994281, 339125359, 339256439, 339387511, + 339518587, 339649663, 339780757, 339911833, 340042919, 340174001, 340305083, + 340436171, 340567321, 340698419, 340829497, 340960573, 341091691, 341222789, + 341353919, 341485007, 341616089, 341747173, 341878253, 342009341, 342140417, + 342271507, 342402581, 342533683, 342664759, 342795839, 342926921, 343057993, + 343189087, 343320163, 343451237, 343582319, 343713413, 343844497, 343975573, + 344106661, 344237767, 344368873, 344499949, 344631037, 344762113, 344893193, + 345024269, 345155341, 345286433, 345417517, 345548657, 345679753, 345810827, + 345941951, 346073033, 346204141, 346335217, 346466291, 346597379, 346728451, + 346859537, 346990639, 347121713, 347252833, 347383921, 347515001, 347646077, + 347777179, 347908277, 348039379, 348170453, 348301529, 348432611, 348563693, + 348694807, 348825881, 348956981, 349088059, 349219141, 349350223, 349481309, + 349612387, 349743461, 349874549, 350005633, 350136727, 350267803, 350398879, + 350529961, 350661037, 350792119, 350923201, 351054287, 351185423, 351316571, + 351447653, 351578729, 351709801, 351840877, 351971951, 352103029, 352234109, + 352365191, 352496273, 352627351, 352758431, 352889513, 353020607, 353151691, + 353282779, 353413859, 353544931, 353676017, 353807093, 353938171, 354069253, + 354200377, 354331451, 354462527, 354593621, 354724693, 354855797, 354986873, + 355117949, 355249031, 355380131, 355511231, 355642319, 355773413, 355904531, + 356035619, 356166737, 356297863, 356428939, 356560021, 356691121, 356822227, + 356953321, 357084401, 357215479, 357346559, 357477643, 357608723, 357739813, + 357870899, 358001977, 358133089, 358264183, 358395281, 358526359, 358657447, + 358788527, 358919599, 359050781, 359181857, 359312939, 359444017, 359575091, + 359706199, 359837281, 359968369, 360099449, 360230537, 360361621, 360492709, + 360623801, 360754897, 360885991, 361017089, 361148197, 361279297, 361410403, + 361541483, 361672561, 361803641, 361934723, 362065801, 362196881, 362327963, + 362459051, 362590133, 362721221, 362852311, 362983417, 363114503, 363245587, + 363376681, 363507757, 363638833, 363769937, 363901039, 364032127, 364163207, + 364294283, 364425371, 364556443, 364687529, 364818659, 364949731, 365080829, + 365211911, 365342983, 365474059, 365605181, 365736289, 365867377, 365998459, + 366129557, 366260647, 366391733, 366522811, 366653893, 366784973, 366916057, + 367047137, 367178219, 367309291, 367440379, 367571489, 367702567, 367833643, + 367964759, 368095831, 368226907, 368357993, 368489087, 368620171, 368751289, + 368882383, 369013471, 369144553, 369275633, 369406747, 369537841, 369668939, + 369800047, 369931123, 370062227, 370193339, 370324411, 370455499, 370586591, + 370717693, 370848769, 370979879, 371110981, 371242061, 371373151, 371504249, + 371635321, 371766397, 371897501, 372028583, 372159659, 372290791, 372421867, + 372552941, 372684071, 372815143, 372946229, 373077301, 373208483, 373339559, + 373470677, 373601791, 373732867, 373864009, 373995109, 374126201, 374257297, + 374388373, 374519447, 374650537, 374781611, 374912683, 375043763, 375174841, + 375305939, 375437053, 375568129, 375699209, 375830291, 375961363, 376092463, + 376223543, 376354651, 376485749, 376616831, 376747909, 376878991, 377010107, + 377141179, 377272261, 377403337, 377534411, 377665499, 377796571, 377927653, + 378058757, 378189853, 378320939, 378452023, 378583097, 378714181, 378845281, + 378976363, 379107457, 379238549, 379369643, 379500727, 379631807, 379762879, + 379893959, 380025043, 380156129, 380287213, 380418301, 380549447, 380680529, + 380811643, 380942717, 381073799, 381204871, 381335963, 381467069, 381598171, + 381729251, 381860327, 381991417, 382122511, 382253593, 382384679, 382515779, + 382646879, 382777961, 382909039, 383040113, 383171189, 383302267, 383433341, + 383564413, 383695517, 383826601, 383957677, 384088777, 384219863, 384350947, + 384482027, 384613127, 384744223, 384875297, 385006379, 385137457, 385268557, + 385399633, 385530731, 385661827, 385792907, 385923997, 386055071, 386186173, + 386317247, 386448343, 386579437, 386710589, 386841671, 386972743, 387103841, + 387234917, 387365999, 387497081, 387628231, 387759331, 387890413, 388021489, + 388152587, 388283659, 388414753, 388545827, 388676903, 388807997, 388939081, + 389070203, 389201297, 389332373, 389463491, 389594581, 389725657, 389856743, + 389987831, 390118909, 390249991, 390381067, 390512159, 390643243, 390774317, + 390905393, 391036517, 391167617, 391298689, 391429763, 391560839, 391691929, + 391823017, 391954099, 392085181, 392216303, 392347411, 392478521, 392609617, + 392740693, 392871769, 393002851, 393133927, 393265001, 393396077, 393527149, + 393658241, 393789317, 393920399, 394051477, 394182601, 394313677, 394444763, + 394575847, 394706947, 394838053, 394969129, 395100203, 395231297, 395362369, + 395493463, 395624549, 395755639, 395886713, 396017801, 396148891, 396279977, + 396411107, 396542207, 396673283, 396804383, 396935471, 397066559, 397197653, + 397328837, 397459913, 397590989, 397722107, 397853207, 397984291, 398115373, + 398246447, 398377523, 398508599, 398639671, 398770759, 398901851, 399032929, + 399164009, 399295087, 399426221, 399557299, 399688447, 399819523, 399950633, + 400081741, 400212829, 400343921, 400474993, 400606079, 400737163, 400868267, + 400999367, 401130473, 401261579, 401392669, 401523743, 401654837, 401785949, + 401917031, 402048107, 402179231, 402310331, 402441421, 402572503, 402703589, + 402834683, 402965789, 403096861, 403227949, 403359041, 403490119, 403621213, + 403752287, 403883369, 404014441, 404145551, 404276629, 404407709, 404538781, + 404669897, 404800969, 404932049, 405063121, 405194219, 405325301, 405456377, + 405587449, 405718529, 405849617, 405980699, 406111781, 406242871, 406373969, + 406505041, 406636117, 406767197, 406898291, 407029379, 407160461, 407291539, + 407422619, 407553709, 407684801, 407815909, 407947003, 408078089, 408209171, + 408340243, 408471331, 408602419, 408733513, 408864593, 408995677, 409126759, + 409257857, 409388963, 409520039, 409651117, 409782203, 409913321, 410044421, + 410175499, 410306573, 410437661, 410568757, 410699893, 410830969, 410962087, + 411093181, 411224267, 411355361, 411486437, 411617579, 411748663, 411879761, + 412010849, 412141937, 412273093, 412404193, 412535267, 412666343, 412797421, + 412928519, 413059607, 413190707, 413321789, 413452867, 413583941, 413715023, + 413846117, 413977189, 414108301, 414239377, 414370457, 414501547, 414632629, + 414763729, 414894817, 415025909, 415156997, 415288103, 415419187, 415550279, + 415681361, 415812433, 415943513, 416074619, 416205701, 416336801, 416467889, + 416598967, 416730047, 416861141, 416992241, 417123319, 417254393, 417385469, + 417516551, 417647623, 417778703, 417909847, 418040927, 418172003, 418303099, + 418434173, 418565249, 418696321, 418827397, 418958473, 419089547, 419220623, + 419351707, 419482799, 419613871, 419744947, 419876027, 420007099, 420138179, + 420269279, 420400369, 420531451, 420662551, 420793643, 420924733, 421055809, + 421186907, 421317983, 421449059, 421580141, 421711223, 421842299, 421973441, + 422104517, 422235617, 422366689, 422497763, 422628839, 422759929, 422891003, + 423022091, 423153163, 423284243, 423415327, 423546439, 423677539, 423808621, + 423939697, 424070771, 424201853, 424333033, 424464107, 424595183, 424726261, + 424857343, 424988449, 425119537, 425250649, 425381729, 425512817, 425643899, + 425774989, 425906077, 426037159, 426168241, 426299317, 426430391, 426561469, + 426692549, 426823651, 426954743, 427085821, 427216903, 427347979, 427479067, + 427610167, 427741241, 427872449, 428003533, 428134607, 428265679, 428396779, + 428527871, 428658973, 428790053, 428921159, 429052271, 429183353, 429314449, + 429445553, 429576647, 429707723, 429838807, 429969919, 430100999, 430232087, + 430363229, 430494329, 430625411, 430756511, 430887601, 431018681, 431149781, + 431280853, 431411987, 431543059, 431674141, 431805223, 431936339, 432067421, + 432198499, 432329581, 432460657, 432591743, 432722819, 432853891, 432984971, + 433116067, 433247201, 433378273, 433509347, 433640419, 433771511, 433902587, + 434033669, 434164741, 434295847, 434426987, 434558107, 434689183, 434820277, + 434951353, 435082433, 435213509, 435344593, 435475697, 435606817, 435737899, + 435868997, 436000099, 436131197, 436262273, 436393367, 436524457, 436655539, + 436786613, 436917707, 437048779, 437179861, 437310947, 437442029, 437573113, + 437704187, 437835313, 437966413, 438097507, 438228631, 438359711, 438490847, + 438621979, 438753079, 438884153, 439015229, 439146307, 439277477, 439408549, + 439539671, 439670789, 439801861, 439932959, 440064043, 440195141, 440326213, + 440457293, 440588377, 440719457, 440850539, 440981657, 441112739, 441243811, + 441374897, 441505973, 441637057, 441768139, 441899231, 442030321, 442161397, + 442292471, 442423543, 442554647, 442685753, 442816849, 442947941, 443079017, + 443210113, 443341201, 443472283, 443603371, 443734471, 443865547, 443996627, + 444127699, 444258797, 444389873, 444520949, 444652027, 444783113, 444914209, + 445045309, 445176397, 445307477, 445438559, 445569653, 445700729, 445831807, + 445962917, 446094001, 446225111, 446356223, 446487299, 446618383, 446749469, + 446880541, 447011681, 447142753, 447273829, 447404933, 447536017, 447667111, + 447798209, 447929297, 448060373, 448191467, 448322543, 448453633, 448584727, + 448715801, 448846883, 448977967, 449109047, 449240119, 449371207, 449502283, + 449633363, 449764439, 449895521, 450026623, 450157699, 450288781, 450419857, + 450550967, 450682049, 450813169, 450944243, 451075337, 451206421, 451337501, + 451468597, 451599683, 451730759, 451861843, 451992917, 452123989, 452255071, + 452386147, 452517223, 452648309, 452779387, 452910509, 453041587, 453172679, + 453303779, 453434851, 453565951, 453697039, 453828119, 453959203, 454090297, + 454221371, 454352443, 454483577, 454614649, 454745737, 454876811, 455007887, + 455138989, 455270071, 455401153, 455532247, 455663333, 455794433, 455925607, + 456056683, 456187757, 456318847, 456449933, 456581033, 456712117, 456843203, + 456974311, 457105417, 457236511, 457367593, 457498709, 457629787, 457760867, + 457892011, 458023091, 458154173, 458285251, 458416327, 458547437, 458678537, + 458809619, 458940701, 459071773, 459202859, 459333967, 459465047, 459596141, + 459727223, 459858299, 459989389, 460120469, 460251541, 460382617, 460513693, + 460644781, 460775857, 460906931, 461038007, 461169091, 461300171, 461431253, + 461562331, 461693411, 461824513, 461955601, 462086683, 462217771, 462348853, + 462479957, 462611033, 462742123, 462873239, 463004317, 463135391, 463266469, + 463397551, 463528633, 463659739, 463790843, 463921957, 464053061, 464184157, + 464315261, 464446357, 464577431, 464708533, 464839633, 464970721, 465101809, + 465232913, 465364013, 465495119, 465626201, 465757283, 465888361, 466019447, + 466150519, 466281601, 466412689, 466543807, 466674913, 466805987, 466937063, + 467068139, 467199217, 467330359, 467461457, 467592539, 467723639, 467854721, + 467985799, 468116897, 468248009, 468379081, 468510173, 468641263, 468772397, + 468903493, 469034593, 469165673, 469296769, 469427863, 469558963, 469690073, + 469821167, 469952243, 470083343, 470214443, 470345527, 470476603, 470607677, + 470738761, 470869853, 471000941, 471132019, 471263131, 471394219, 471525317, + 471656441, 471787513, 471918617, 472049689, 472180801, 472311907, 472442981, + 472574087, 472705183, 472836281, 472967371, 473098459, 473229551, 473360627, + 473491703, 473622781, 473753879, 473884951, 474016043, 474147127, 474278219, + 474409303, 474540383, 474671459, 474802553, 474933629, 475064717, 475195793, + 475326881, 475457959, 475589047, 475720121, 475851197, 475982279, 476113367, + 476244449, 476375551, 476506691, 476637779, 476768861, 476899949, 477031039, + 477162131, 477293209, 477424289, 477555409, 477686501, 477817573, 477948649, + 478079731, 478210813, 478341901, 478472977, 478604051, 478735171, 478866257, + 478997329, 479128411, 479259497, 479390623, 479521711, 479652829, 479783923, + 479915011, 480046111, 480177193, 480308267, 480439357, 480570479, 480701563, + 480832637, 480963713, 481094819, 481225891, 481356973, 481488047, 481619123, + 481750207, 481881289, 482012381, 482143471, 482274563, 482405647, 482536727, + 482667817, 482798893, 482929969, 483061043, 483192121, 483323207, 483454343, + 483585437, 483716543, 483847633, 483978713, 484109839, 484240921, 484372001, + 484503083, 484634179, 484765261, 484896371, 485027443, 485158519, 485289611, + 485420687, 485551763, 485682839, 485813917, 485944993, 486076093, 486207167, + 486338263, 486469349, 486600451, 486731537, 486862627, 486993707, 487124789, + 487255903, 487386979, 487518071, 487649143, 487780219, 487911301, 488042383, + 488173481, 488304571, 488435663, 488566763, 488697851, 488828933, 488960023, + 489091121, 489222211, 489353299, 489484399, 489615473, 489746549, 489877631, + 490008703, 490139803, 490270901, 490401973, 490533049, 490664123, 490795199, + 490926281, 491057389, 491188469, 491319541, 491450627, 491581721, 491712797, + 491843873, 491975009, 492106103, 492237181, 492368321, 492499393, 492630473, + 492761573, 492892717, 493023857, 493154993, 493286069, 493417151, 493548239, + 493679317, 493810403, 493941479, 494072587, 494203669, 494334781, 494465953, + 494597029, 494728109, 494859187, 494990263, 495121343, 495252421, 495383531, + 495514631, 495645707, 495776819, 495907913, 496039021, 496170107, 496301207, + 496432289, 496563367, 496694441, 496825513, 496956601, 497087713, 497218789, + 497349883, 497480957, 497612041, 497743121, 497874197, 498005273, 498136411, + 498267487, 498398561, 498529649, 498660727, 498791809, 498922883, 499053967, + 499185047, 499316119, 499447219, 499578293, 499709389, 499840463, 499971541, + 500102621, 500233703, 500364803, 500495881, 500626957, 500758033, 500889107, + 501020189, 501151289, 501282361, 501413491, 501544573, 501675649, 501806737, + 501937811, 502068893, 502199981, 502331107, 502462187, 502593269, 502724351, + 502855439, 502986551, 503117639, 503248741, 503379827, 503510923, 503641997, + 503773091, 503904173, 504035251, 504166343, 504297419, 504428503, 504559597, + 504690677, 504821777, 504952849, 505083941, 505215019, 505346099, 505477177, + 505608263, 505739369, 505870451, 506001533, 506132609, 506263699, 506394773, + 506525867, 506656939, 506788019, 506919109, 507050191, 507181271, 507312347, + 507443423, 507574541, 507705617, 507836779, 507967853, 508098947, 508230053, + 508361177, 508492249, 508623337, 508754437, 508885519, 509016623, 509147701, + 509278801, 509409899, 509540971, 509672063, 509803163, 509934263, 510065357, + 510196447, 510327523, 510458657, 510589741, 510720839, 510851927, 510983023, + 511114111, 511245187, 511376267, 511507361, 511638433, 511769507, 511900619, + 512031697, 512162773, 512293849, 512424953, 512556049, 512687137, 512818259, + 512949413, 513080509, 513211591, 513342679, 513473759, 513604831, 513735913, + 513866999, 513998113, 514129201, 514260283, 514391369, 514522457, 514653547, + 514784629, 514915747, 515046823, 515177903, 515309071, 515440199, 515571281, + 515702353, 515833427, 515964509, 516095641, 516226721, 516357841, 516488933, + 516620057, 516751129, 516882217, 517013291, 517144367, 517275449, 517406521, + 517537597, 517668703, 517799797, 517930879, 518061953, 518193073, 518324167, + 518455303, 518586389, 518717497, 518848573, 518979647, 519110743, 519241819, + 519372937, 519504031, 519635117, 519766189, 519897263, 520028363, 520159439, + 520290527, 520421623, 520552727, 520683851, 520814933, 520946033, 521077153, + 521208349, 521339449, 521470541, 521601643, 521732719, 521863801, 521994937, + 522126019, 522257107, 522388241, 522519331, 522650417, 522781531, 522912631, + 523043711, 523174829, 523305929, 523437011, 523568099, 523699171, 523830253, + 523961341, 524092427, 524223503, 524354591, 524485667, 524616761, 524747863, + 524878943, 525010027, 525141107, 525272191, 525403273, 525534367, 525665461, + 525796543, 525927629, 526058723, 526189799, 526320911, 526452001, 526583107, + 526714183, 526845259, 526976339, 527107453, 527238577, 527369653, 527500739, + 527631847, 527762929, 527894033, 528025153, 528156247, 528287321, 528418393, + 528549487, 528680573, 528811651, 528942749, 529073837, 529204909, 529336009, + 529467097, 529598177, 529729267, 529860367, 529991471, 530122573, 530253649, + 530384783, 530515873, 530646973, 530778049, 530909179, 531040267, 531171343, + 531302423, 531433541, 531564617, 531695699, 531826787, 531957901, 532089029, + 532220107, 532351199, 532482337, 532613441, 532744519, 532875601, 533006687, + 533137771, 533268863, 533399947, 533531029, 533662133, 533793209, 533924291, + 534055369, 534186449, 534317521, 534448619, 534579697, 534710777, 534841859, + 534972967, 535104043, 535235117, 535366189, 535497283, 535628369, 535759451, + 535890527, 536021599, 536152691, 536283767, 536414881, 536545957, 536677051, + 536808127, 536939257, 537070337, 537201437, 537332519, 537463601, 537594727, + 537725869, 537856951, 537988051, 538119133, 538250213, 538381301, 538512379, + 538643461, 538774547, 538905623, 539036713, 539167787, 539298863, 539429953, + 539561027, 539692121, 539823203, 539954299, 540085391, 540216473, 540347603, + 540478681, 540609761, 540740891, 540871963, 541003039, 541134127, 541265213, + 541396313, 541527391, 541658477, 541789559, 541920637, 542051717, 542182789, + 542313869, 542444941, 542576053, 542707181, 542838253, 542969351, 543100447, + 543231523, 543362623, 543493697, 543624769, 543755869, 543886991, 544018073, + 544149167, 544280239, 544411319, 544542469, 544673581, 544804669, 544935749, + 545066827, 545197901, 545328989, 545460067, 545591191, 545722267, 545853353, + 545984443, 546115547, 546246641, 546377717, 546508789, 546639889, 546770969, + 546902047, 547033159, 547164253, 547295407, 547426483, 547557589, 547688663, + 547819763, 547950841, 548081917, 548212997, 548344117, 548475203, 548606309, + 548737411, 548868493, 548999567, 549130639, 549261719, 549392803, 549523879, + 549654953, 549786037, 549917119, 550048201, 550179323, 550310401, 550441481, + 550572571, 550703687, 550834759, 550965859, 551096983, 551228107, 551359213, + 551490311, 551621407, 551752499, 551883583, 552014689, 552145807, 552276887, + 552407969, 552539041, 552670127, 552801199, 552932279, 553063351, 553194457, + 553325561, 553456633, 553587707, 553718827, 553849903, 553981003, 554112079, + 554243153, 554374241, 554505313, 554636399, 554767471, 554898601, 555029723, + 555160811, 555291899, 555422977, 555554081, 555685243, 555816319, 555947393, + 556078469, 556209559, 556340633, 556471711, 556602863, 556733939, 556865021, + 556996093, 557127169, 557258243, 557389333, 557520427, 557651503, 557782583, + 557913659, 558044749, 558175823, 558306901, 558437983, 558569093, 558700169, + 558831241, 558962347, 559093441, 559224521, 559355593, 559486679, 559617827, + 559748921, 559880017, 560011097, 560142169, 560273249, 560404333, 560535421, + 560666521, 560797609, 560928713, 561059791, 561190867, 561321949, 561453037, + 561584141, 561715277, 561846361, 561977443, 562108543, 562239619, 562370717, + 562501813, 562632887, 562763989, 562895063, 563026147, 563157229, 563288303, + 563419391, 563550473, 563681549, 563812643, 563943727, 564074803, 564205883, + 564336959, 564468053, 564599129, 564730207, 564861331, 564992411, 565123483, + 565254563, 565385659, 565516739, 565647833, 565778911, 565909997, 566041079, + 566172161, 566303233, 566434321, 566565451, 566696549, 566827631, 566958719, + 567089797, 567220873, 567351959, 567483067, 567614141, 567745237, 567876317, + 568007431, 568138541, 568269619, 568400719, 568531793, 568662881, 568793957, + 568925039, 569056141, 569187257, 569318339, 569449417, 569580491, 569711627, + 569842717, 569973791, 570104869, 570235949, 570367097, 570498191, 570629273, + 570760357, 570891439, 571022519, 571153591, 571284667, 571415759, 571546853, + 571677929, 571809019, 571940107, 572071189, 572202289, 572333383, 572464463, + 572595577, 572726689, 572857763, 572988851, 573119947, 573251023, 573382099, + 573513181, 573644261, 573775343, 573906449, 574037533, 574168643, 574299773, + 574430863, 574561951, 574693033, 574824113, 574955197, 575086279, 575217353, + 575348441, 575479547, 575610683, 575741767, 575872853, 576003959, 576135041, + 576266123, 576397201, 576528283, 576659357, 576790457, 576921539, 577052611, + 577183687, 577314761, 577445833, 577576927, 577708007, 577839083, 577970213, + 578101291, 578232383, 578363491, 578494591, 578625679, 578756831, 578887919, + 579019019, 579150107, 579281179, 579412261, 579543343, 579674461, 579805537, + 579936613, 580067689, 580198781, 580329881, 580460977, 580592113, 580723223, + 580854331, 580985407, 581116513, 581247599, 581378683, 581509771, 581640847, + 581771933, 581903011, 582034091, 582165193, 582296293, 582427369, 582558481, + 582689561, 582820709, 582951799, 583082879, 583213957, 583345033, 583476107, + 583607201, 583738301, 583869389, 584000471, 584131549, 584262631, 584393713, + 584524847, 584655919, 584786999, 584918111, 585049189, 585180263, 585311339, + 585442439, 585573511, 585704593, 585835673, 585966757, 586097833, 586228913, + 586360037, 586491121, 586622203, 586753367, 586884457, 587015549, 587146621, + 587277697, 587408777, 587539919, 587670997, 587802077, 587933173, 588064249, + 588195337, 588326411, 588457483, 588588557, 588719647, 588850741, 588981857, + 589112939, 589244023, 589375103, 589506193, 589637273, 589768351, 589899433, + 590030521, 590161609, 590292697, 590423807, 590554897, 590685971, 590817047, + 590948143, 591079219, 591210293, 591341371, 591472481, 591603577, 591734669, + 591865741, 591996857, 592127941, 592259069, 592390171, 592521257, 592652371, + 592783447, 592914521, 593045597, 593176673, 593307763, 593438851, 593569961, + 593701051, 593832163, 593963267, 594094339, 594225413, 594356513, 594487609, + 594618683, 594749783, 594880859, 595011953, 595143037, 595274117, 595405207, + 595536289, 595667377, 595798451, 595929527, 596060603, 596191681, 596322767, + 596453861, 596584957, 596716037, 596847113, 596978189, 597109307, 597240407, + 597371491, 597502589, 597633661, 597764737, 597895817, 598026899, 598157999, + 598289071, 598420153, 598551227, 598682321, 598813421, 598944497, 599075599, + 599206739, 599337853, 599468939, 599600033, 599731123, 599862233, 599993309, + 600124391, 600255463, 600386551, 600517663, 600648757, 600779873, 600910957, + 601042031, 601173107, 601304189, 601435267, 601566347, 601697429, 601828517, + 601959601, 602090767, 602221847, 602352923, 602484013, 602615087, 602746201, + 602877283, 603008387, 603139499, 603270583, 603401663, 603532747, 603663871, + 603794951, 603926101, 604057189, 604188269, 604319341, 604450417, 604581511, + 604712599, 604843693, 604974791, 605105869, 605236943, 605368019, 605499101, + 605630177, 605761267, 605892341, 606023477, 606154553, 606285643, 606416731, + 606547807, 606678893, 606809969, 606941047, 607072127, 607203203, 607334293, + 607465379, 607596461, 607727537, 607858609, 607989689, 608120761, 608251849, + 608382923, 608513999, 608645077, 608776177, 608907259, 609038341, 609169417, + 609300533, 609431609, 609562697, 609693779, 609824851, 609955949, 610087021, + 610218101, 610349203, 610480289, 610611413, 610742521, 610873607, 611004697, + 611135773, 611266849, 611397931, 611529013, 611660087, 611791177, 611922257, + 612053339, 612184429, 612315523, 612446617, 612577703, 612708793, 612839867, + 612970973, 613102073, 613233149, 613364231, 613495339, 613626427, 613757503, + 613888591, 614019671, 614150783, 614281867, 614412949, 614544079, 614675167, + 614806277, 614937371, 615068471, 615199577, 615330673, 615461747, 615592849, + 615723929, 615855017, 615986093, 616117171, 616248247, 616379333, 616510409, + 616641481, 616772593, 616903669, 617034749, 617165827, 617296907, 617428001, + 617559073, 617690147, 617821241, 617952341, 618083413, 618214529, 618345619, + 618476699, 618607783, 618738863, 618870001, 619001077, 619132187, 619263259, + 619394387, 619525507, 619656599, 619787677, 619918763, 620049839, 620181031, + 620312123, 620443199, 620574287, 620705369, 620836453, 620967527, 621098617, + 621229699, 621360809, 621491887, 621622973, 621754051, 621885133, 622016221, + 622147313, 622278431, 622409507, 622540591, 622671671, 622802743, 622933837, + 623064991, 623196073, 623327149, 623458237, 623589313, 623720399, 623851493, + 623982581, 624113663, 624244739, 624375821, 624506899, 624637973, 624769099, + 624900173, 625031249, 625162331, 625293413, 625424561, 625555643, 625686727, + 625817807, 625948879, 626079953, 626211037, 626342131, 626473207, 626604281, + 626735357, 626866463, 626997551, 627128693, 627259769, 627390851, 627521929, + 627653017, 627784093, 627915181, 628046269, 628177351, 628308431, 628439509, + 628570589, 628701673, 628832747, 628963837, 629094913, 629226029, 629357107, + 629488213, 629619307, 629750411, 629881487, 630012587, 630143663, 630274741, + 630405829, 630536903, 630667993, 630799111, 630930203, 631061279, 631192391, + 631323479, 631454573, 631585651, 631716739, 631847813, 631978891, 632109967, + 632241079, 632372179, 632503273, 632634367, 632765447, 632896549, 633027653, + 633158737, 633289823, 633420911, 633551993, 633683081, 633814157, 633945269, + 634076347, 634207421, 634338517, 634469609, 634600699, 634731829, 634862939, + 634994011, 635125087, 635256179, 635387251, 635518337, 635649433, 635780531, + 635911607, 636042731, 636173803, 636304891, 636435971, 636567073, 636698147, + 636829229, 636960329, 637091407, 637222511, 637353599, 637484671, 637615747, + 637746833, 637877963, 638009039, 638140123, 638271203, 638402279, 638533367, + 638664443, 638795543, 638926621, 639057697, 639188779, 639319853, 639450941, + 639582017, 639713101, 639844201, 639975283, 640106377, 640237457, 640368559, + 640499669, 640630747, 640761829, 640892909, 641024039, 641155111, 641286259, + 641417341, 641548423, 641679523, 641810623, 641941697, 642072791, 642203879, + 642334951, 642466037, 642597133, 642728213, 642859303, 642990377, 643121461, + 643252541, 643383619, 643514731, 643645811, 643776911, 643908011, 644039107, + 644170199, 644301283, 644432359, 644563441, 644694559, 644825641, 644956759, + 645087841, 645218921, 645350047, 645481139, 645612221, 645743297, 645874379, + 646005463, 646136549, 646267627, 646398703, 646529783, 646660871, 646791997, + 646923091, 647054167, 647185249, 647316359, 647447453, 647578553, 647709637, + 647840761, 647971837, 648102911, 648234019, 648365111, 648496207, 648627289, + 648758393, 648889469, 649020587, 649151719, 649282793, 649413893, 649545007, + 649676099, 649807181, 649938259, 650069353, 650200457, 650331533, 650462611, + 650593703, 650724803, 650855893, 650986993, 651118073, 651249169, 651380269, + 651511369, 651642527, 651773623, 651904723, 652035823, 652166917, 652297991, + 652429079, 652560191, 652691269, 652822369, 652953451, 653084573, 653215681, + 653346779, 653477857, 653608939, 653740027, 653871107, 654002191, 654133279, + 654264379, 654395477, 654526577, 654657683, 654788777, 654919877, 655050967, + 655182061, 655313167, 655444241, 655575329, 655706411, 655837487, 655968571, + 656099657, 656230747, 656361851, 656492953, 656624027, 656755103, 656886179, + 657017267, 657148339, 657279437, 657410527, 657541603, 657672689, 657803761, + 657934859, 658065953, 658197047, 658328119, 658459211, 658590287, 658721419, + 658852499, 658983581, 659114663, 659245739, 659376833, 659507909, 659638999, + 659770081, 659901199, 660032291, 660163367, 660294443, 660425531, 660556609, + 660687683, 660818759, 660949837, 661080911, 661211983, 661343071, 661474153, + 661605253, 661736333, 661867411, 661998497, 662129603, 662260679, 662391767, + 662522869, 662653963, 662785099, 662916181, 663047263, 663178357, 663309481, + 663440567, 663571663, 663702751, 663833831, 663964919, 664096021, 664227163, + 664358239, 664489313, 664620403, 664751501, 664882577, 665013653, 665144741, + 665275829, 665406901, 665537987, 665669087, 665800169, 665931251, 666062339, + 666193457, 666324539, 666455611, 666586693, 666717787, 666848863, 666979991, + 667111097, 667242181, 667373281, 667504373, 667635457, 667766597, 667897669, + 668028761, 668159851, 668290999, 668422103, 668553181, 668684279, 668815369, + 668946461, 669077593, 669208691, 669339773, 669470849, 669601927, 669733019, + 669864137, 669995213, 670126309, 670257389, 670388471, 670519547, 670650647, + 670781731, 670912813, 671043911, 671175007, 671306089, 671437199, 671568277, + 671699387, 671830493, 671961593, 672092711, 672223793, 672354869, 672485941, + 672617021, 672748093, 672879169, 673010251, 673141331, 673272421, 673403513, + 673534601, 673665673, 673796771, 673927843, 674058923, 674190031, 674321113, + 674452211, 674583293, 674714393, 674845489, 674976593, 675107683, 675238771, + 675369853, 675500927, 675632017, 675763093, 675894179, 676025291, 676156399, + 676287487, 676418573, 676549681, 676680757, 676811843, 676942919, 677074009, + 677205091, 677336183, 677467261, 677598347, 677729453, 677860543, 677991617, + 678122701, 678253783, 678384877, 678515969, 678647063, 678778141, 678909223, + 679040303, 679171379, 679302457, 679433537, 679564619, 679695713, 679826803, + 679957909, 680089027, 680220127, 680351209, 680482343, 680613467, 680744539, + 680875627, 681006709, 681137791, 681268871, 681399947, 681531073, 681662147, + 681793249, 681924343, 682055417, 682186559, 682317653, 682448737, 682579817, + 682710893, 682841977, 682973087, 683104187, 683235277, 683366351, 683497439, + 683628527, 683759611, 683890687, 684021781, 684152863, 684283991, 684415063, + 684546151, 684677263, 684808357, 684939439, 685070531, 685201607, 685332691, + 685463791, 685594873, 685725973, 685857077, 685988153, 686119271, 686250347, + 686381491, 686512573, 686643649, 686774749, 686905847, 687036943, 687168019, + 687299111, 687430213, 687561289, 687692371, 687823471, 687954563, 688085653, + 688216747, 688347929, 688479013, 688610093, 688741169, 688872269, 689003347, + 689134483, 689265601, 689396677, 689527757, 689658833, 689789923, 689920997, + 690052147, 690183223, 690314297, 690445391, 690576463, 690707539, 690838619, + 690969691, 691100777, 691231859, 691362943, 691494017, 691625101, 691756201, + 691887283, 692018381, 692149459, 692280539, 692411617, 692542691, 692673767, + 692804843, 692935921, 693067007, 693198091, 693329177, 693460249, 693591359, + 693722437, 693853529, 693984607, 694115687, 694246769, 694377841, 694508917, + 694639991, 694771073, 694902157, 695033233, 695164331, 695295421, 695426519, + 695557591, 695688757, 695819837, 695950919, 696082021, 696213101, 696344221, + 696475301, 696606377, 696737453, 696868537, 696999617, 697130689, 697261771, + 697392847, 697523971, 697655099, 697786171, 697917251, 698048333, 698179411, + 698310491, 698441593, 698572723, 698703839, 698834911, 698965987, 699097067, + 699228143, 699359251, 699490333, 699621407, 699752509, 699883633, 700014713, + 700145821, 700276919, 700407991, 700539097, 700670171, 700801261, 700932341, + 701063417, 701194523, 701325619, 701456719, 701587793, 701718889, 701849969, + 701981041, 702112129, 702243209, 702374297, 702505379, 702636463, 702767537, + 702898627, 703029731, 703160803, 703291877, 703423001, 703554079, 703685183, + 703816273, 703947379, 704078489, 704209591, 704340667, 704471773, 704602867, + 704733949, 704865037, 704996129, 705127217, 705258289, 705389401, 705520499, + 705651581, 705782653, 705913753, 706044827, 706175927, 706306999, 706438081, + 706569167, 706700243, 706831379, 706962457, 707093537, 707224619, 707355709, + 707486797, 707617901, 707749001, 707880083, 708011179, 708142261, 708273373, + 708404453, 708535547, 708666631, 708797707, 708928789, 709059881, 709190953, + 709322063, 709453169, 709584289, 709715411, 709846549, 709977643, 710108743, + 710239819, 710370901, 710501999, 710633083, 710764163, 710895253, 711026339, + 711157411, 711288493, 711419573, 711550681, 711681767, 711812867, 711943979, + 712075057, 712206139, 712337243, 712468331, 712599431, 712730533, 712861637, + 712992719, 713123821, 713254921, 713386007, 713517083, 713648161, 713779267, + 713910341, 714041443, 714172523, 714303607, 714434681, 714565759, 714696833, + 714827909, 714958997, 715090081, 715221203, 715352303, 715483381, 715614491, + 715745567, 715876643, 716007737, 716138827, 716269903, 716400989, 716532067, + 716663161, 716794277, 716925361, 717056467, 717187577, 717318649, 717449723, + 717580807, 717711889, 717843001, 717974123, 718105207, 718236293, 718367383, + 718498463, 718629547, 718760639, 718891741, 719022847, 719153921, 719285009, + 719416097, 719547197, 719678269, 719809373, 719940449, 720071531, 720202607, + 720333709, 720464791, 720595901, 720726991, 720858067, 720989147, 721120247, + 721251407, 721382483, 721513571, 721644659, 721775741, 721906907, 722037997, + 722169143, 722300221, 722431309, 722562389, 722693471, 722824549, 722955671, + 723086759, 723217841, 723348973, 723480047, 723611123, 723742199, 723873289, + 724004377, 724135457, 724266581, 724397669, 724528757, 724659839, 724790977, + 724922059, 725053187, 725184269, 725315341, 725446439, 725577521, 725708603, + 725839733, 725970823, 726101897, 726232973, 726364063, 726495149, 726626227, + 726757307, 726888413, 727019507, 727150607, 727281683, 727412783, 727543871, + 727674949, 727806031, 727937113, 728068199, 728199293, 728330441, 728461523, + 728592653, 728723731, 728854817, 728985911, 729117031, 729248119, 729379193, + 729510269, 729641347, 729772429, 729903509, 730034581, 730165673, 730296823, + 730427897, 730558979, 730690063, 730821137, 730952237, 731083361, 731214433, + 731345509, 731476583, 731607671, 731738779, 731869861, 732000953, 732132031, + 732263113, 732394207, 732525307, 732656383, 732787469, 732918551, 733049623, + 733180703, 733311781, 733442887, 733573961, 733705043, 733836119, 733967209, + 734098327, 734229413, 734360521, 734491601, 734622719, 734753797, 734884883, + 735015973, 735147073, 735278153, 735409237, 735540349, 735671441, 735802589, + 735933677, 736064753, 736195849, 736326953, 736458029, 736589129, 736720207, + 736851287, 736982369, 737113469, 737244667, 737375741, 737506837, 737637911, + 737768987, 737900069, 738031157, 738162239, 738293321, 738424399, 738555481, + 738686563, 738817649, 738948803, 739079893, 739210991, 739342063, 739473151, + 739604233, 739735309, 739866437, 739997519, 740128591, 740259673, 740390753, + 740521867, 740652943, 740784017, 740915101, 741046183, 741177259, 741308339, + 741439427, 741570509, 741701621, 741832709, 741963821, 742094893, 742225969, + 742357079, 742488167, 742619243, 742750357, 742881467, 743012549, 743143651, + 743274769, 743405857, 743536967, 743668049, 743799149, 743930287, 744061387, + 744192467, 744323551, 744454643, 744585719, 744716801, 744847891, 744978989, + 745110073, 745241171, 745372249, 745503359, 745634431, 745765507, 745896581, + 746027669, 746158789, 746289881, 746420957, 746552029, 746683111, 746814191, + 746945267, 747076411, 747207491, 747338567, 747469649, 747600751, 747731827, + 747862909, 747993991, 748125067, 748256141, 748387229, 748518349, 748649441, + 748780517, 748911601, 749042731, 749173811, 749304893, 749435971, 749567047, + 749698121, 749829253, 749960399, 750091483, 750222569, 750353683, 750484759, + 750615863, 750746957, 750878069, 751009141, 751140251, 751271351, 751402423, + 751533511, 751664593, 751795669, 751926751, 752057833, 752188939, 752320027, + 752451101, 752582177, 752713271, 752844347, 752975429, 753106513, 753237599, + 753368689, 753499871, 753630959, 753762059, 753893131, 754024213, 754155299, + 754286381, 754417459, 754548533, 754679609, 754810703, 754941779, 755072861, + 755203951, 755335039, 755466121, 755597237, 755728327, 755859407, 755990491, + 756121579, 756252661, 756383743, 756514853, 756645943, 756777023, 756908107, + 757039187, 757170269, 757301341, 757432427, 757563511, 757694593, 757825703, + 757956779, 758087861, 758218973, 758350057, 758481131, 758612207, 758743289, + 758874367, 759005449, 759136541, 759267653, 759398771, 759529843, 759660973, + 759792049, 759923141, 760054237, 760185319, 760316413, 760447487, 760578601, + 760709681, 760840771, 760971851, 761102989, 761234113, 761365229, 761496301, + 761627453, 761758531, 761889613, 762020713, 762151811, 762282931, 762414041, + 762545141, 762676217, 762807301, 762938377, 763069493, 763200611, 763331689, + 763462781, 763593889, 763724963, 763856057, 763987163, 764118239, 764249327, + 764380399, 764511479, 764642573, 764773651, 764904727, 765035807, 765166901, + 765297989, 765429073, 765560149, 765691301, 765822377, 765953459, 766084531, + 766215613, 766346687, 766477781, 766608853, 766739969, 766871047, 767002123, + 767133217, 767264341, 767395417, 767526509, 767657587, 767788667, 767919743, + 768050861, 768181943, 768313027, 768444101, 768575177, 768706249, 768837331, + 768968443, 769099543, 769230619, 769361713, 769492813, 769623893, 769754969, + 769886041, 770017139, 770148233, 770279387, 770410463, 770541557, 770672633, + 770803727, 770934799, 771065873, 771196961, 771328037, 771459113, 771590213, + 771721289, 771852379, 771983461, 772114561, 772245641, 772376767, 772507859, + 772639003, 772770079, 772901167, 773032243, 773163323, 773294407, 773425487, + 773556653, 773687743, 773818823, 773949901, 774081013, 774212137, 774343237, + 774474313, 774605407, 774736481, 774867601, 774998681, 775129759, 775260853, + 775391927, 775523003, 775654079, 775785173, 775916249, 776047333, 776178433, + 776309509, 776440589, 776571671, 776702743, 776833861, 776964959, 777096059, + 777227137, 777358289, 777489389, 777620483, 777751619, 777882733, 778013813, + 778144931, 778276013, 778407107, 778538197, 778669279, 778800353, 778931453, + 779062549, 779193631, 779324723, 779455799, 779586881, 779717959, 779849039, + 779980147, 780111257, 780242329, 780373403, 780504479, 780635573, 780766687, + 780897763, 781028861, 781159969, 781291067, 781422167, 781553249, 781684363, + 781815449, 781946533, 782077613, 782208731, 782339827, 782470981, 782602213, + 782733293, 782864393, 782995481, 783126559, 783257647, 783388721, 783519809, + 783650911, 783781987, 783913063, 784044179, 784175267, 784306351, 784437427, + 784568537, 784699613, 784830713, 784961797, 785092873, 785223973, 785355059, + 785486147, 785617223, 785748311, 785879401, 786010483, 786141593, 786272677, + 786403777, 786534871, 786665947, 786797021, 786928127, 787059199, 787190279, + 787321351, 787452431, 787583509, 787714607, 787845679, 787976773, 788107867, + 788238943, 788370029, 788501101, 788632189, 788763277, 788894363, 789025439, + 789156521, 789287599, 789418703, 789549793, 789680893, 789811991, 789943079, + 790074151, 790205233, 790336321, 790467451, 790598533, 790729607, 790860683, + 790991777, 791122861, 791253941, 791385053, 791516153, 791647237, 791778331, + 791909441, 792040549, 792171623, 792302699, 792433781, 792564853, 792695957, + 792827051, 792958147, 793089221, 793220339, 793351439, 793482523, 793613617, + 793744691, 793875767, 794006839, 794137913, 794269009, 794400091, 794531207, + 794662279, 794793361, 794924443, 795055523, 795186617, 795317689, 795448769, + 795579853, 795710939, 795842077, 795973163, 796104269, 796235347, 796366427, + 796497503, 796628627, 796759729, 796890817, 797021891, 797152969, 797284049, + 797415121, 797546249, 797677327, 797808437, 797939587, 798070681, 798201757, + 798332833, 798463927, 798595003, 798726107, 798857179, 798988277, 799119359, + 799250449, 799381553, 799512653, 799643731, 799774813, 799905901, 800036987, + 800168059, 800299139, 800430217, 800561309, 800692391, 800823473, 800954549, + 801085673, 801216751, 801347831, 801478903, 801609989, 801741077, 801872171, + 802003247, 802134329, 802265407, 802396523, 802527611, 802658699, 802789783, + 802920889, 803051971, 803183053, 803314147, 803445281, 803576381, 803707459, + 803838533, 803969611, 804100699, 804231793, 804362873, 804493973, 804625061, + 804756143, 804887261, 805018343, 805149419, 805280491, 805411613, 805542701, + 805673773, 805804849, 805935937, 806067013, 806198087, 806329169, 806460241, + 806591321, 806722409, 806853493, 806984567, 807115651, 807246779, 807377869, + 807508943, 807640051, 807771137, 807902231, 808033319, 808164419, 808295491, + 808426571, 808557647, 808688731, 808819813, 808950889, 809081963, 809213081, + 809344153, 809475241, 809606327, 809737447, 809868539, 809999623, 810130703, + 810261797, 810392899, 810524009, 810655099, 810786191, 810917269, 811048363, + 811179437, 811310527, 811441601, 811572677, 811703779, 811834861, 811965971, + 812097073, 812228171, 812359319, 812490409, 812621501, 812752573, 812883647, + 813014737, 813145811, 813276883, 813407971, 813539047, 813670147, 813801221, + 813932347, 814063421, 814194527, 814325599, 814456751, 814587833, 814718911, + 814849991, 814981073, 815112149, 815243251, 815374331, 815505421, 815636533, + 815767637, 815898761, 816029849, 816160921, 816291997, 816423071, 816554143, + 816685267, 816816353, 816947431, 817078513, 817209587, 817340659, 817471793, + 817602869, 817733941, 817865017, 817996097, 818127179, 818258251, 818389339, + 818520421, 818651497, 818782597, 818913671, 819044753, 819175829, 819306919, + 819438077, 819569173, 819700247, 819831319, 819962401, 820093511, 820224583, + 820355663, 820486739, 820617823, 820748987, 820880063, 821011157, 821142253, + 821273353, 821404457, 821535541, 821666617, 821797721, 821928839, 822059929, + 822191039, 822322121, 822453193, 822584267, 822715367, 822846439, 822977539, + 823108639, 823239727, 823370827, 823501907, 823632991, 823764079, 823895159, + 824026237, 824157329, 824288417, 824419493, 824550589, 824681677, 824812757, + 824943839, 825074941, 825206051, 825337127, 825468221, 825599303, 825730387, + 825861511, 825992611, 826123691, 826254799, 826385887, 826516981, 826648061, + 826779157, 826910239, 827041331, 827172443, 827303549, 827434631, 827565703, + 827696777, 827827927, 827959001, 828090083, 828221161, 828352237, 828483323, + 828614417, 828745507, 828876589, 829007671, 829138747, 829269821, 829400893, + 829531981, 829663067, 829794167, 829925279, 830056393, 830187473, 830318551, + 830449691, 830580769, 830711879, 830842973, 830974057, 831105139, 831236213, + 831367343, 831498419, 831629509, 831760603, 831891677, 832022759, 832153831, + 832284913, 832416031, 832547117, 832678213, 832809319, 832940393, 833071469, + 833202541, 833333629, 833464721, 833595793, 833726899, 833857991, 833989067, + 834120163, 834251273, 834382369, 834513451, 834644561, 834775637, 834906719, + 835037813, 835168889, 835299961, 835431061, 835562141, 835693213, 835824337, + 835955413, 836086487, 836217617, 836348693, 836479783, 836610877, 836741957, + 836873041, 837004117, 837135197, 837266317, 837397391, 837528467, 837659549, + 837790621, 837921697, 838052773, 838183847, 838314929, 838446013, 838577107, + 838708223, 838839319, 838970399, 839101489, 839232577, 839363671, 839494751, + 839625823, 839756941, 839888017, 840019091, 840150163, 840281243, 840412319, + 840543421, 840674501, 840805577, 840936689, 841067783, 841198859, 841329961, + 841461041, 841592131, 841723213, 841854347, 841985453, 842116637, 842247709, + 842378821, 842509897, 842640973, 842772053, 842903143, 843034217, 843165307, + 843296411, 843427493, 843558571, 843689681, 843820753, 843951853, 844082927, + 844214009, 844345081, 844476167, 844607273, 844738373, 844869463, 845000539, + 845131621, 845262703, 845393827, 845524943, 845656051, 845787133, 845918239, + 846049333, 846180443, 846311533, 846442621, 846573731, 846704813, 846835889, + 846967049, 847098121, 847229333, 847360439, 847491527, 847622621, 847753721, + 847884839, 848015929, 848147009, 848278097, 848409169, 848540263, 848671361, + 848802439, 848933521, 849064607, 849195707, 849326791, 849457883, 849588977, + 849720049, 849851153, 849982283, 850113361, 850244453, 850375529, 850506611, + 850637699, 850768771, 850899853, 851030951, 851162041, 851293133, 851424227, + 851555311, 851686397, 851817523, 851948621, 852079717, 852210803, 852341887, + 852472969, 852604063, 852735137, 852866213, 852997307, 853128383, 853259471, + 853390547, 853521637, 853652711, 853783783, 853914857, 854045971, 854177063, + 854308151, 854439241, 854570351, 854701429, 854832541, 854963657, 855094763, + 855225857, 855356941, 855488089, 855619169, 855750263, 855881347, 856012433, + 856143517, 856274599, 856405717, 856536797, 856667879, 856798981, 856930079, + 857061173, 857192257, 857323399, 857454473, 857585551, 857716631, 857847707, + 857978813, 858109891, 858241019, 858372107, 858503183, 858634261, 858765359, + 858896431, 859027511, 859158589, 859289663, 859420753, 859551853, 859682927, + 859814009, 859945109, 860076181, 860207267, 860338403, 860469481, 860600557, + 860731631, 860862719, 860993807, 861124879, 861255973, 861387101, 861518209, + 861649319, 861780407, 861911483, 862042561, 862173647, 862304731, 862435817, + 862566919, 862697993, 862829069, 862960141, 863091233, 863222329, 863353417, + 863484499, 863615591, 863746679, 863877761, 864008839, 864139933, 864271099, + 864402181, 864533279, 864664391, 864795511, 864926597, 865057673, 865188749, + 865319821, 865450897, 865581989, 865713061, 865844143, 865975247, 866106343, + 866237419, 866368511, 866499593, 866630707, 866761799, 866892937, 867024013, + 867155087, 867286177, 867417259, 867548333, 867679411, 867810511, 867941623, + 868072721, 868203797, 868334869, 868465951, 868597057, 868728139, 868859219, + 868990303, 869121377, 869252459, 869383531, 869514631, 869645719, 869776801, + 869907877, 870038959, 870170047, 870301141, 870432257, 870563333, 870694453, + 870825533, 870956609, 871087691, 871218763, 871349849, 871480931, 871612003, + 871743091, 871874173, 872005297, 872136389, 872267471, 872398573, 872529703, + 872660777, 872791873, 872922949, 873054089, 873185197, 873316271, 873447343, + 873578417, 873709511, 873840601, 873971677, 874102807, 874233901, 874364983, + 874496057, 874627157, 874758229, 874889303, 875020397, 875151469, 875282543, + 875413639, 875544781, 875675861, 875806933, 875938051, 876069127, 876200231, + 876331321, 876462409, 876593483, 876724579, 876855659, 876986791, 877117867, + 877248941, 877380017, 877511101, 877642189, 877773263, 877904371, 878035451, + 878166533, 878297663, 878428751, 878559833, 878690941, 878822023, 878953099, + 879084179, 879215257, 879346337, 879477433, 879608531, 879739603, 879870707, + 880001791, 880132871, 880263947, 880395049, 880526137, 880657231, 880788313, + 880919461, 881050553, 881181629, 881312713, 881443813, 881574893, 881705983, + 881837057, 881968147, 882099233, 882230347, 882361427, 882492503, 882623593, + 882754679, 882885779, 883016857, 883147963, 883279073, 883410181, 883541299, + 883672379, 883803469, 883934543, 884065661, 884196737, 884327831, 884458909, + 884590033, 884721127, 884852209, 884983289, 885114361, 885245467, 885376543, + 885507617, 885638693, 885769769, 885900863, 886031953, 886163071, 886294223, + 886425299, 886556423, 886687507, 886818589, 886949671, 887080771, 887211869, + 887342941, 887474017, 887605109, 887736203, 887867291, 887998367, 888129449, + 888260521, 888391601, 888522743, 888653851, 888784933, 888916013, 889047097, + 889178201, 889309277, 889440379, 889571477, 889702549, 889833629, 889964723, + 890095799, 890226877, 890357953, 890489057, 890620141, 890751299, 890882381, + 891013481, 891144563, 891275639, 891406721, 891537797, 891668929, 891800027, + 891931111, 892062203, 892193347, 892324421, 892455523, 892586623, 892717697, + 892848773, 892979869, 893110957, 893242039, 893373113, 893504189, 893635273, + 893766353, 893897441, 894028529, 894159613, 894290711, 894421807, 894552887, + 894683983, 894815087, 894946159, 895077233, 895208341, 895339433, 895470517, + 895601621, 895732697, 895863779, 895994851, 896125933, 896257009, 896388083, + 896519167, 896650253, 896781349, 896912431, 897043507, 897174583, 897305657, + 897436759, 897567833, 897698933, 897830041, 897961121, 898092193, 898223269, + 898354393, 898485481, 898616603, 898747679, 898878797, 899009869, 899140951, + 899272027, 899403157, 899534231, 899665321, 899796439, 899927513, 900058597, + 900189673, 900320761, 900451837, 900582959, 900714037, 900845123, 900976207, + 901107283, 901238441, 901369537, 901500623, 901631711, 901762811, 901893899, + 902024999, 902156093, 902287201, 902418287, 902549369, 902680459, 902811551, + 902942627, 903073747, 903204833, 903335933, 903467017, 903598117, 903729191, + 903860263, 903991351, 904122437, 904253509, 904384619, 904515743, 904646843, + 904777919, 904909009, 905040083, 905171159, 905302303, 905433383, 905564497, + 905695577, 905826659, 905957743, 906088823, 906219907, 906350981, 906482053, + 906613133, 906744217, 906875323, 907006411, 907137499, 907268611, 907399687, + 907530761, 907661849, 907792937, 907924009, 908055091, 908186173, 908317283, + 908448371, 908579453, 908710619, 908841707, 908972797, 909103873, 909234967, + 909366041, 909497117, 909628189, 909759269, 909890353, 910021439, 910152521, + 910283603, 910414721, 910545803, 910676909, 910807999, 910939079, 911070161, + 911201233, 911332339, 911463451, 911594527, 911725627, 911856713, 911987807, + 912118951, 912250037, 912381131, 912512219, 912643331, 912774413, 912905507, + 913036633, 913167751, 913298831, 913429927, 913561027, 913692103, 913823213, + 913954337, 914085433, 914216539, 914347613, 914478707, 914609797, 914740919, + 914872001, 915003079, 915134153, 915265271, 915396353, 915527441, 915658517, + 915789613, 915920701, 916051777, 916182859, 916313933, 916445011, 916576121, + 916707203, 916838287, 916969369, 917100451, 917231527, 917362601, 917493683, + 917624761, 917755843, 917886953, 918018043, 918149123, 918280289, 918411407, + 918542483, 918673573, 918804697, 918935777, 919066859, 919197931, 919329011, + 919460131, 919591207, 919722301, 919853387, 919984459, 920115571, 920246689, + 920377771, 920508851, 920639939, 920771023, 920902109, 921033181, 921164303, + 921295391, 921426487, 921557569, 921688661, 921819733, 921950839, 922081931, + 922213027, 922344131, 922475209, 922606297, 922737379, 922868459, 922999531, + 923130631, 923261711, 923392817, 923523889, 923654969, 923786057, 923917151, + 924048233, 924179317, 924310391, 924441481, 924572567, 924703651, 924834739, + 924965813, 925096889, 925227983, 925359091, 925490177, 925621273, 925752367, + 925883501, 926014591, 926145667, 926276761, 926407849, 926538937, 926670013, + 926801093, 926932169, 927063251, 927194329, 927325409, 927456493, 927587569, + 927718663, 927849757, 927980857, 928111963, 928243037, 928374113, 928505189, + 928636277, 928767349, 928898471, 929029597, 929160671, 929291801, 929422883, + 929553991, 929685091, 929816171, 929947253, 930078379, 930209459, 930340531, + 930471611, 930602711, 930733807, 930864899, 930995983, 931127063, 931258151, + 931389287, 931520417, 931651489, 931782571, 931913651, 932044727, 932175821, + 932306897, 932437973, 932569049, 932700127, 932831213, 932962297, 933093383, + 933224473, 933355603, 933486683, 933617761, 933748843, 933879923, 934011053, + 934142137, 934273217, 934404347, 934535431, 934666543, 934797691, 934928831, + 935059933, 935191009, 935322097, 935453219, 935584313, 935715413, 935846489, + 935977573, 936108697, 936239803, 936370913, 936502003, 936633109, 936764221, + 936895303, 937026469, 937157567, 937288657, 937419731, 937550821, 937681897, + 937812979, 937944053, 938075129, 938206201, 938337277, 938468359, 938599439, + 938730517, 938861639, 938992727, 939123803, 939254917, 939386027, 939517109, + 939648239, 939779371, 939910451, 940041527, 940172603, 940303691, 940434799, + 940565891, 940696997, 940828079, 940959157, 941090239, 941221319, 941352403, + 941483509, 941614603, 941745689, 941876791, 942007867, 942138991, 942270071, + 942401143, 942532223, 942663301, 942794387, 942925463, 943056547, 943187639, + 943318721, 943449809, 943580887, 943711991, 943843063, 943974151, 944105233, + 944236379, 944367467, 944498549, 944629649, 944760727, 944891839, 945022921, + 945154013, 945285101, 945416201, 945547279, 945678367, 945809441, 945940519, + 946071613, 946202689, 946333763, 946464877, 946595963, 946727057, 946858139, + 946989223, 947120299, 947251379, 947382461, 947513533, 947644613, 947775707, + 947906779, 948037919, 948169021, 948300131, 948431213, 948562291, 948693413, + 948824507, 948955607, 949086701, 949217849, 949348921, 949480019, 949611101, + 949742173, 949873247, 950004337, 950135443, 950266517, 950397593, 950528671, + 950659751, 950790847, 950921921, 951053029, 951184109, 951315193, 951446273, + 951577379, 951708469, 951839543, 951970631, 952101719, 952232839, 952363931, + 952495009, 952626089, 952757161, 952888241, 953019343, 953150423, 953281507, + 953412587, 953543677, 953674763, 953805847, 953936927, 954068081, 954199159, + 954330259, 954461341, 954592421, 954723557, 954854651, 954985723, 955116803, + 955247879, 955378967, 955510081, 955641173, 955772261, 955903337, 956034427, + 956165513, 956296589, 956427673, 956558747, 956689819, 956820913, 956951993, + 957083089, 957214177, 957345251, 957476369, 957607477, 957738581, 957869657, + 958000739, 958131817, 958262909, 958393999, 958525079, 958656157, 958787273, + 958918351, 959049431, 959180513, 959311597, 959442683, 959573807, 959704901, + 959835973, 959967059, 960098201, 960229313, 960360389, 960491491, 960622583, + 960753667, 960884791, 961015883, 961146961, 961278037, 961409117, 961540273, + 961671353, 961802453, 961933529, 962064613, 962195711, 962326811, 962457883, + 962588969, 962720123, 962851199, 962982277, 963113381, 963244459, 963375557, + 963506641, 963637721, 963768809, 963899897, 964030979, 964162097, 964293173, + 964424269, 964555357, 964686431, 964817519, 964948603, 965079691, 965210833, + 965341919, 965472997, 965604071, 965735143, 965866219, 965997299, 966128389, + 966259471, 966390587, 966521669, 966652741, 966783827, 966914929, 967046033, + 967177157, 967308229, 967439381, 967570469, 967701577, 967832687, 967963811, + 968094887, 968225971, 968357051, 968488139, 968619241, 968750339, 968881427, + 969012503, 969143603, 969274699, 969405797, 969536899, 969668023, 969799099, + 969930193, 970061291, 970192387, 970323481, 970454587, 970585663, 970716737, + 970847809, 970978927, 971110001, 971241091, 971372189, 971503261, 971634343, + 971765453, 971896547, 972027643, 972158797, 972289889, 972420983, 972552121, + 972683213, 972814303, 972945401, 973076473, 973207553, 973338637, 973469713, + 973600799, 973731877, 973862959, 973994089, 974125169, 974256253, 974387329, + 974518451, 974649527, 974780627, 974911703, 975042799, 975173891, 975304963, + 975436039, 975567133, 975698209, 975829297, 975960373, 976091461, 976222537, + 976353661, 976484749, 976615823, 976746919, 976878053, 977009129, 977140217, + 977271341, 977402443, 977533517, 977664599, 977795671, 977926753, 978057877, + 978188969, 978320053, 978451127, 978582211, 978713293, 978844367, 978975457, + 979106539, 979237613, 979368701, 979499789, 979630871, 979761943, 979893017, + 980024093, 980155219, 980286311, 980417393, 980548469, 980679551, 980810627, + 980941699, 981072791, 981203879, 981334967, 981466043, 981597121, 981728239, + 981859313, 981990407, 982121521, 982252597, 982383749, 982514839, 982645921, + 982777009, 982908097, 983039173, 983170271, 983301367, 983432447, 983563523, + 983694641, 983825741, 983956823, 984087899, 984218993, 984350111, 984481207, + 984612301, 984743423, 984874507, 985005587, 985136671, 985267753, 985398839, + 985529911, 985660987, 985792111, 985923199, 986054287, 986185373, 986316449, + 986447533, 986578609, 986709701, 986840839, 986971919, 987103001, 987234103, + 987365207, 987496297, 987627379, 987758477, 987889561, 988020661, 988151777, + 988282849, 988413997, 988545097, 988676179, 988807289, 988938397, 989069573, + 989200649, 989331757, 989462839, 989593933, 989725031, 989856103, 989987213, + 990118313, 990249401, 990380473, 990511589, 990642689, 990773761, 990904841, + 991035971, 991167059, 991298173, 991429249, 991560331, 991691417, 991822541, + 991953619, 992084701, 992215793, 992346869, 992477951, 992609041, 992740127, + 992871203, 993002287, 993133367, 993264443, 993395521, 993526609, 993657683, + 993788767, 993919873, 994050997, 994182073, 994313167, 994444271, 994575343, + 994706437, 994837531, 994968631, 995099713, 995230837, 995361923, 995493001, + 995624089, 995755181, 995886263, 996017357, 996148441, 996279517, 996410593, + 996541673, 996672751, 996803837, 996934933, 997066027, 997197127, 997328201, + 997459273, 997590367, 997721471, 997852577, 997983661, 998114791, 998245867, + 998376943, 998508023, 998639101, 998770177, 998901257, 999032389, 999163463, + 999294553, 999425627, 999556699, 999687781, 999818863, 999949939, 1000081013, + 1000212107, 1000343191, 1000474297, 1000605377, 1000736449, 1000867531, 1000998613, + 1001129687, 1001260759, 1001391847, 1001522987, 1001654063, 1001785153, 1001916241, + 1002047341, 1002178423, 1002309499, 1002440573, 1002571657, 1002702731, 1002833803, + 1002964877, 1003095953, 1003227067, 1003358149, 1003489231, 1003620311, 1003751407, + 1003882489, 1004013581, 1004144681, 1004275781, 1004406853, 1004537929, 1004669047, + 1004800127, 1004931227, 1005062327, 1005193411, 1005324491, 1005455573, 1005586651, + 1005717731, 1005848803, 1005979937, 1006111019, 1006242091, 1006373183, 1006504259, + 1006635337, 1006766413, 1006897517, 1007028599, 1007159687, 1007290763, 1007421907, + 1007552993, 1007684081, 1007815153, 1007946239, 1008077347, 1008208441, 1008339523, + 1008470599, 1008601673, 1008732793, 1008863873, 1008994951, 1009126031, 1009257169, + 1009388251, 1009519327, 1009650409, 1009781483, 1009912571, 1010043653, 1010174741, + 1010305837, 1010436913, 1010567993, 1010699099, 1010830181, 1010961271, 1011092347, + 1011223469, 1011354569, 1011485663, 1011616747, 1011747823, 1011878909, 1012009991, + 1012141069, 1012272143, 1012403219, 1012534343, 1012665419, 1012796507, 1012927583, + 1013058689, 1013189797, 1013320877, 1013451949, 1013583047, 1013714137, 1013845219, + 1013976307, 1014107417, 1014238531, 1014369611, 1014500689, 1014631763, 1014762839, + 1014893923, 1015025003, 1015156081, 1015287181, 1015418291, 1015549391, 1015680467, + 1015811561, 1015942657, 1016073791, 1016204909, 1016335987, 1016467061, 1016598133, + 1016729243, 1016860319, 1016991403, 1017122543, 1017253621, 1017384727, 1017515833, + 1017646921, 1017778001, 1017909073, 1018040147, 1018171229, 1018302319, 1018433411, + 1018564487, 1018695569, 1018826657, 1018957729, 1019088809, 1019219893, 1019350967, + 1019482043, 1019613121, 1019744233, 1019875327, 1020006439, 1020137549, 1020268649, + 1020399773, 1020530857, 1020661933, 1020793027, 1020924197, 1021055303, 1021186391, + 1021317491, 1021448563, 1021579693, 1021710779, 1021841867, 1021972957, 1022104033, + 1022235113, 1022366221, 1022497321, 1022628401, 1022759477, 1022890597, 1023021673, + 1023152747, 1023283829, 1023414913, 1023545987, 1023677059, 1023808151, 1023939239, + 1024070323, 1024201429, 1024332511, 1024463591, 1024594693, 1024725769, 1024856851, + 1024987933, 1025119013, 1025250101, 1025381191, 1025512273, 1025643361, 1025774437, + 1025905571, 1026036707, 1026167783, 1026298877, 1026429953, 1026561049, 1026692263, + 1026823351, 1026954431, 1027085509, 1027216601, 1027347697, 1027478831, 1027609907, + 1027740991, 1027872103, 1028003191, 1028134267, 1028265341, 1028396431, 1028527531, + 1028658643, 1028789759, 1028920843, 1029051931, 1029183011, 1029314087, 1029445169, + 1029576257, 1029707339, 1029838421, 1029969517, 1030100641, 1030231717, 1030362833, + 1030493911, 1030625033, 1030756141, 1030887217, 1031018291, 1031149387, 1031280479, + 1031411551, 1031542627, 1031673733, 1031804831, 1031935909, 1032066989, 1032198107, + 1032329209, 1032460307, 1032591403, 1032722491, 1032853579, 1032984661, 1033115761, + 1033246843, 1033377937, 1033509019, 1033640107, 1033771243, 1033902329, 1034033411, + 1034164511, 1034295617, 1034426801, 1034557873, 1034688983, 1034820067, 1034951189, + 1035082267, 1035213353, 1035344437, 1035475513, 1035606619, 1035737693, 1035868787, + 1035999883, 1036130957, 1036262057, 1036393129, 1036524259, 1036655341, 1036786423, + 1036917569, 1037048641, 1037179721, 1037310797, 1037441891, 1037572967, 1037704043, + 1037835121, 1037966201, 1038097331, 1038228407, 1038359521, 1038490597, 1038621671, + 1038752773, 1038883847, 1039014919, 1039146001, 1039277087, 1039408187, 1039539283, + 1039670381, 1039801463, 1039932539, 1040063641, 1040194733, 1040325827, 1040456941, + 1040588027, 1040719123, 1040850221, 1040981297, 1041112379, 1041243461, 1041374533, + 1041505631, 1041636707, 1041767801, 1041898883, 1042029983, 1042161089, 1042292197, + 1042423309, 1042554431, 1042685503, 1042816583, 1042947679, 1043078767, 1043209841, + 1043340919, 1043471993, 1043603131, 1043734231, 1043865307, 1043996389, 1044127477, + 1044258559, 1044389651, 1044520733, 1044651869, 1044782953, 1044914041, 1045045129, + 1045176203, 1045307279, 1045438379, 1045569493, 1045700573, 1045831651, 1045962727, + 1046093801, 1046224889, 1046355977, 1046487053, 1046618129, 1046749217, 1046880311, + 1047011387, 1047142471, 1047273611, 1047404711, 1047535799, 1047666901, 1047797983, + 1047929081, 1048060157, 1048191233, 1048322309, 1048453381, 1048584473, 1048715573, + 1048846691, 1048977779, 1049108857, 1049239931, 1049371051, 1049502127, 1049633213, + 1049764291, 1049895403, 1050026477, 1050157571, 1050288671, 1050419743, 1050550817, + 1050681913, 1050813007, 1050944161, 1051075237, 1051206341, 1051337447, 1051468519, + 1051599613, 1051730699, 1051861777, 1051992923, 1052124037, 1052255161, 1052386253, + 1052517337, 1052648453, 1052779543, 1052910619, 1053041767, 1053172843, 1053303941, + 1053435043, 1053566117, 1053697217, 1053828337, 1053959419, 1054090501, 1054221577, + 1054352653, 1054483739, 1054614851, 1054745933, 1054877009, 1055008109, 1055139269, + 1055270351, 1055401441, 1055532571, 1055663647, 1055794723, 1055925797, 1056056887, + 1056187961, 1056319049, 1056450137, 1056581231, 1056712309, 1056843427, 1056974531, + 1057105607, 1057236707, 1057367783, 1057498859, 1057629931, 1057761017, 1057892117, + 1058023201, 1058154283, 1058285357, 1058416433, 1058547509, 1058678617, 1058809699, + 1058940793, 1059071873, 1059202967, 1059334061, 1059465151, 1059596273, 1059727373, + 1059858467, 1059989551, 1060120627, 1060251713, 1060382797, 1060513871, 1060644967, + 1060776043, 1060907129, 1061038211, 1061169353, 1061300441, 1061431517, 1061562617, + 1061693701, 1061824781, 1061955877, 1062086969, 1062218063, 1062349153, 1062480257, + 1062611351, 1062742423, 1062873569, 1063004641, 1063135721, 1063266803, 1063397879, + 1063528981, 1063660067, 1063791149, 1063922227, 1064053321, 1064184409, 1064315491, + 1064446577, 1064577649, 1064708747, 1064839843, 1064970937, 1065102041, 1065233123, + 1065364243, 1065495317, 1065626389, 1065757471, 1065888583, 1066019677, 1066150777, + 1066281877, 1066412951, 1066544023, 1066675111, 1066806197, 1066937273, 1067068363, + 1067199443, 1067330531, 1067461613, 1067592731, 1067723803, 1067854883, 1067986001, + 1068117077, 1068248149, 1068379223, 1068510319, 1068641401, 1068772489, 1068903581, + 1069034657, 1069165763, 1069296847, 1069427929, 1069559059, 1069690147, 1069821251, + 1069952333, 1070083429, 1070214527, 1070345599, 1070476697, 1070607779, 1070738857, + 1070869937, 1071001027, 1071132137, 1071263209, 1071394283, 1071525359, 1071656431, + 1071787531, 1071918623, 1072049701, 1072180777, 1072311869, 1072442957, 1072574051, + 1072705129, 1072836239, 1072967341, 1073098423, 1073229523, 1073360623, 1073491711, + 1073622791, 1073753887, 1073885023, 1074016121, 1074147203, 1074278299, 1074409393, + 1074540487, 1074671567, 1074802639, 1074933719, 1075064807, 1075195879, 1075326961, + 1075458053, 1075589129, 1075720211, 1075851323, 1075982417, 1076113501, 1076244581, + 1076375653, 1076506729, 1076637817, 1076768923, 1076900029, 1077031103, 1077162179, + 1077293257, 1077424331, 1077555431, 1077686539, 1077817613, 1077948727, 1078079809, + 1078210897, 1078341973, 1078473073, 1078604147, 1078735219, 1078866311, 1078997389, + 1079128469, 1079259553, 1079390647, 1079521733, 1079652811, 1079783911, 1079914991, + 1080046069, 1080177169, 1080308249, 1080439343, 1080570419, 1080701497, 1080832589, + 1080963691, 1081094767, 1081225861, 1081356953, 1081488029, 1081619129, 1081750207, + 1081881293, 1082012369, 1082143481, 1082274619, 1082405711, 1082536789, 1082667869, + 1082798947, 1082930027, 1083061117, 1083192191, 1083323281, 1083454369, 1083585449, + 1083716533, 1083847621, 1083978697, 1084109779, 1084240867, 1084371941, 1084503031, + 1084634113, 1084765229, 1084896301, 1085027393, 1085158471, 1085289553, 1085420627, + 1085551703, 1085682803, 1085813887, 1085944963, 1086076037, 1086207119, 1086338249, + 1086469327, 1086600413, 1086731489, 1086862577, 1086993673, 1087124791, 1087255877, + 1087386961, 1087518049, 1087649179, 1087780259, 1087911371, 1088042479, 1088173561, + 1088304641, 1088435713, 1088566799, 1088697881, 1088829059, 1088960141, 1089091243, + 1089222331, 1089353407, 1089484541, 1089615613, 1089746711, 1089877787, 1090008889, + 1090139983, 1090271069, 1090402163, 1090533239, 1090664317, 1090795397, 1090926491, + 1091057563, 1091188643, 1091319721, 1091450797, 1091581913, 1091712991, 1091844073, + 1091975149, 1092106237, 1092237313, 1092368413, 1092499549, 1092630641, 1092761729, + 1092892819, 1093023977, 1093155053, 1093286147, 1093417219, 1093548299, 1093679393, + 1093810469, 1093941559, 1094072653, 1094203729, 1094334817, 1094465891, 1094596981, + 1094728069, 1094859149, 1094990269, 1095121387, 1095252481, 1095383567, 1095514649, + 1095645721, 1095776813, 1095907889, 1096038961, 1096170067, 1096301189, 1096432279, + 1096563361, 1096694437, 1096825519, 1096956593, 1097087699, 1097218781, 1097349853, + 1097480933, 1097612011, 1097743117, 1097874191, 1098005267, 1098136367, 1098267463, + 1098398537, 1098529639, 1098660733, 1098791819, 1098922901, 1099053973, 1099185053, + 1099316129, 1099447213, 1099578287, 1099709371, 1099840451, 1099971533, 1100102651, + 1100233747, 1100364829, 1100495933, 1100627051, 1100758123, 1100889199, 1101020287, + 1101151361, 1101282433, 1101413507, 1101544579, 1101675661, 1101806747, 1101937819, + 1102068893, 1102199983, 1102331059, 1102462139, 1102593221, 1102724303, 1102855387, + 1102986473, 1103117549, 1103248621, 1103379703, 1103510797, 1103641873, 1103773019, + 1103904091, 1104035173, 1104166289, 1104297377, 1104428471, 1104559553, 1104690637, + 1104821723, 1104952801, 1105083883, 1105214987, 1105346083, 1105477169, 1105608289, + 1105739417, 1105870499, 1106001583, 1106132711, 1106263793, 1106394869, 1106525957, + 1106657077, 1106788169, 1106919259, 1107050369, 1107181441, 1107312541, 1107443627, + 1107574703, 1107705791, 1107836879, 1107967951, 1108099067, 1108230143, 1108361251, + 1108492339, 1108623421, 1108754509, 1108885643, 1109016739, 1109147839, 1109278927, + 1109410067, 1109541161, 1109672261, 1109803381, 1109934479, 1110065591, 1110196667, + 1110327767, 1110458863, 1110589967, 1110721043, 1110852121, 1110983197, 1111114283, + 1111245413, 1111376509, 1111507589, 1111638683, 1111769767, 1111900849, 1112031967, + 1112163049, 1112294129, 1112425207, 1112556287, 1112687419, 1112818493, 1112949581, + 1113080663, 1113211739, 1113342847, 1113473923, 1113605011, 1113736103, 1113867197, + 1113998269, 1114129349, 1114260463, 1114391543, 1114522657, 1114653731, 1114784837, + 1114916021, 1115047093, 1115178167, 1115309287, 1115440379, 1115571451, 1115702557, + 1115833637, 1115964709, 1116095837, 1116226913, 1116357997, 1116489103, 1116620179, + 1116751291, 1116882373, 1117013459, 1117144543, 1117275641, 1117406789, 1117537901, + 1117668997, 1117800083, 1117931161, 1118062237, 1118193313, 1118324387, 1118455489, + 1118586569, 1118717683, 1118848769, 1118979857, 1119110929, 1119242009, 1119373081, + 1119504161, 1119635261, 1119766337, 1119897497, 1120028579, 1120159661, 1120290763, + 1120421837, 1120552913, 1120683997, 1120815071, 1120946201, 1121077313, 1121208419, + 1121339521, 1121470607, 1121601737, 1121732837, 1121863909, 1121995009, 1122126091, + 1122257179, 1122388271, 1122519397, 1122650491, 1122781579, 1122912689, 1123043767, + 1123174859, 1123305943, 1123437019, 1123568107, 1123699189, 1123830269, 1123961351, + 1124092429, 1124223511, 1124354587, 1124485673, 1124616749, 1124747891, 1124878987, + 1125010087, 1125141161, 1125272233, 1125403313, 1125534439, 1125665539, 1125796613, + 1125927701, 1126058803, 1126189879, 1126320997, 1126452097, 1126583209, 1126714289, + 1126845403, 1126976503, 1127107577, 1127238653, 1127369753, 1127500859, 1127631959, + 1127763037, 1127894153, 1128025289, 1128156373, 1128287453, 1128418567, 1128549649, + 1128680723, 1128811807, 1128942901, 1129073987, 1129205089, 1129336189, 1129467271, + 1129598357, 1129729429, 1129860521, 1129991623, 1130122699, 1130253827, 1130384929, + 1130516021, 1130647093, 1130778211, 1130909293, 1131040373, 1131171467, 1131302603, + 1131433703, 1131564869, 1131695947, 1131827101, 1131958181, 1132089263, 1132220339, + 1132351421, 1132482499, 1132613609, 1132744699, 1132875773, 1133006867, 1133137961, + 1133269037, 1133400119, 1133531227, 1133662337, 1133793413, 1133924551, 1134055631, + 1134186707, 1134317783, 1134448859, 1134579959, 1134711041, 1134842129, 1134973211, + 1135104293, 1135235371, 1135366447, 1135497529, 1135628609, 1135759693, 1135890779, + 1136021851, 1136152943, 1136284049, 1136415131, 1136546209, 1136677291, 1136808371, + 1136939459, 1137070531, 1137201629, 1137332711, 1137463783, 1137594877, 1137725957, + 1137857057, 1137988141, 1138119221, 1138250293, 1138381373, 1138512449, 1138643549, + 1138774627, 1138905709, 1139036809, 1139167907, 1139298991, 1139430091, 1139561183, + 1139692273, 1139823359, 1139954441, 1140085517, 1140216589, 1140347683, 1140478783, + 1140609871, 1140740971, 1140872099, 1141003177, 1141134271, 1141265371, 1141396447, + 1141527529, 1141658633, 1141789709, 1141920803, 1142051881, 1142182991, 1142314081, + 1142445173, 1142576261, 1142707333, 1142838419, 1142969501, 1143100573, 1143231667, + 1143362741, 1143493817, 1143624917, 1143756013, 1143887089, 1144018171, 1144149269, + 1144280341, 1144411481, 1144542589, 1144673669, 1144804819, 1144935893, 1145066971, + 1145198051, 1145329127, 1145460203, 1145591281, 1145722367, 1145853439, 1145984513, + 1146115591, 1146246671, 1146377747, 1146508819, 1146639913, 1146770993, 1146902083, + 1147033169, 1147164247, 1147295323, 1147426403, 1147557529, 1147688611, 1147819693, + 1147950767, 1148081839, 1148212931, 1148344003, 1148475091, 1148606167, 1148737313, + 1148868407, 1148999497, 1149130573, 1149261647, 1149392773, 1149523849, 1149654953, + 1149786037, 1149917143, 1150048223, 1150179301, 1150310377, 1150441451, 1150572523, + 1150703611, 1150834709, 1150965797, 1151096873, 1151227951, 1151359039, 1151490113, + 1151621197, 1151752271, 1151883361, 1152014443, 1152145517, 1152276611, 1152407687, + 1152538781, 1152669857, 1152800947, 1152932029, 1153063111, 1153194187, 1153325263, + 1153456357, 1153587493, 1153718567, 1153849657, 1153980749, 1154111863, 1154242939, + 1154374033, 1154505127, 1154636201, 1154767277, 1154898359, 1155029441, 1155160519, + 1155291619, 1155422711, 1155553783, 1155684863, 1155815939, 1155947017, 1156078093, + 1156209169, 1156340257, 1156471333, 1156602407, 1156733483, 1156864559, 1156995647, + 1157126759, 1157257859, 1157388941, 1157520019, 1157651119, 1157782201, 1157913283, + 1158044383, 1158175477, 1158306551, 1158437627, 1158568703, 1158699791, 1158830887, + 1158961963, 1159093087, 1159224161, 1159355261, 1159486337, 1159617409, 1159748501, + 1159879579, 1160010689, 1160141777, 1160272849, 1160403931, 1160535023, 1160666123, + 1160797223, 1160928299, 1161059401, 1161190519, 1161321593, 1161452687, 1161583771, + 1161714877, 1161845963, 1161977041, 1162108139, 1162239223, 1162370299, 1162501381, + 1162632481, 1162763573, 1162894669, 1163025761, 1163156843, 1163287919, 1163419003, + 1163550121, 1163681203, 1163812277, 1163943349, 1164074423, 1164205499, 1164336577, + 1164467677, 1164598783, 1164729859, 1164860947, 1164992071, 1165123153, 1165254227, + 1165385339, 1165516423, 1165647503, 1165778629, 1165909727, 1166040809, 1166171887, + 1166302967, 1166434043, 1166565121, 1166696203, 1166827303, 1166958427, 1167089501, + 1167220589, 1167351667, 1167482741, 1167613817, 1167744889, 1167875971, 1168007053, + 1168138133, 1168269229, 1168400357, 1168531459, 1168662533, 1168793609, 1168924693, + 1169055773, 1169186861, 1169317937, 1169449009, 1169580103, 1169711273, 1169842393, + 1169973529, 1170104633, 1170235711, 1170366793, 1170497921, 1170629003, 1170760079, + 1170891151, 1171022263, 1171153351, 1171284427, 1171415519, 1171546613, 1171677701, + 1171808777, 1171939849, 1172070973, 1172202077, 1172333167, 1172464247, 1172595329, + 1172726431, 1172857507, 1172988623, 1173119711, 1173250783, 1173381857, 1173512933, + 1173644009, 1173775093, 1173906197, 1174037279, 1174168351, 1174299449, 1174430549, + 1174561643, 1174692719, 1174823801, 1174954883, 1175085959, 1175217041, 1175348137, + 1175479247, 1175610329, 1175741401, 1175872487, 1176003571, 1176134671, 1176265759, + 1176396877, 1176527951, 1176659023, 1176790123, 1176921209, 1177052281, 1177183373, + 1177314487, 1177445569, 1177576643, 1177707721, 1177838821, 1177969921, 1178101007, + 1178232089, 1178363203, 1178494277, 1178625367, 1178756443, 1178887531, 1179018613, + 1179149687, 1179280783, 1179411859, 1179542957, 1179674051, 1179805127, 1179936203, + 1180067281, 1180198363, 1180329461, 1180460539, 1180591613, 1180722713, 1180853797, + 1180984873, 1181115967, 1181247059, 1181378137, 1181509223, 1181640307, 1181771389, + 1181902517, 1182033637, 1182164713, 1182295789, 1182426863, 1182557947, 1182689023, + 1182820099, 1182951193, 1183082267, 1183213373, 1183344473, 1183475549, 1183606637, + 1183737719, 1183868843, 1183999931, 1184131009, 1184262083, 1184393191, 1184524279, + 1184655371, 1184786453, 1184917541, 1185048637, 1185179761, 1185310853, 1185441989, + 1185573101, 1185704197, 1185835297, 1185966403, 1186097501, 1186228583, 1186359701, + 1186490783, 1186621861, 1186752971, 1186884079, 1187015197, 1187146273, 1187277359, + 1187408447, 1187539559, 1187670637, 1187801711, 1187932787, 1188063859, 1188194981, + 1188326071, 1188457159, 1188588257, 1188719353, 1188850433, 1188981517, 1189112593, + 1189243673, 1189374751, 1189505831, 1189636991, 1189768067, 1189899199, 1190030279, + 1190161361, 1190292469, 1190423573, 1190554663, 1190685739, 1190816827, 1190947907, + 1191079009, 1191210101, 1191341183, 1191472267, 1191603349, 1191734461, 1191865553, + 1191996671, 1192127747, 1192258831, 1192389923, 1192520999, 1192652081, 1192783181, + 1192914269, 1193045341, 1193176469, 1193307569, 1193438669, 1193569753, 1193700829, + 1193831923, 1193962997, 1194094091, 1194225167, 1194356239, 1194487321, 1194618401, + 1194749473, 1194880559, 1195011641, 1195142719, 1195273829, 1195404901, 1195535989, + 1195667063, 1195798171, 1195929247, 1196060353, 1196191439, 1196322511, 1196453593, + 1196584687, 1196715761, 1196846873, 1196977993, 1197109091, 1197240169, 1197371243, + 1197502343, 1197633431, 1197764507, 1197895607, 1198026689, 1198157761, 1198288859, + 1198419931, 1198551019, 1198682113, 1198813243, 1198944317, 1199075393, 1199206487, + 1199337571, 1199468687, 1199599759, 1199730871, 1199861959, 1199993033, 1200124127, + 1200255211, 1200386321, 1200517459, 1200648541, 1200779639, 1200910717, 1201041841, + 1201172957, 1201304063, 1201435139, 1201566229, 1201697317, 1201828393, 1201959481, + 1202090567, 1202221667, 1202352779, 1202483851, 1202614951, 1202746031, 1202877103, + 1203008201, 1203139279, 1203270371, 1203401443, 1203532529, 1203663619, 1203794707, + 1203925783, 1204056871, 1204188017, 1204319101, 1204450183, 1204581289, 1204712371, + 1204843487, 1204974559, 1205105633, 1205236717, 1205367791, 1205498869, 1205629979, + 1205761061, 1205892151, 1206023227, 1206154309, 1206285383, 1206416467, 1206547543, + 1206678617, 1206809693, 1206940783, 1207071871, 1207202947, 1207334027, 1207465139, + 1207596223, 1207727329, 1207858411, 1207989487, 1208120569, 1208251643, 1208382719, + 1208513807, 1208644889, 1208775961, 1208907061, 1209038177, 1209169249, 1209300331, + 1209431437, 1209562517, 1209693593, 1209824699, 1209955781, 1210086853, 1210217927, + 1210349009, 1210480171, 1210611263, 1210742359, 1210873483, 1211004583, 1211135699, + 1211266781, 1211397857, 1211528993, 1211660069, 1211791153, 1211922251, 1212053327, + 1212184399, 1212315491, 1212446581, 1212577661, 1212708733, 1212839869, 1212970949, + 1213102027, 1213233121, 1213364197, 1213495273, 1213626431, 1213757527, 1213888649, + 1214019739, 1214150813, 1214281919, 1214413033, 1214544109, 1214675207, 1214806289, + 1214937389, 1215068473, 1215199561, 1215330661, 1215461761, 1215592841, 1215723913, + 1215854993, 1215986071, 1216117159, 1216248233, 1216379369, 1216510441, 1216641529, + 1216772617, 1216903759, 1217034853, 1217165947, 1217297021, 1217428103, 1217559181, + 1217690291, 1217821399, 1217952473, 1218083551, 1218214661, 1218345769, 1218476851, + 1218607937, 1218739009, 1218870089, 1219001177, 1219132289, 1219263377, 1219394497, + 1219525579, 1219656671, 1219787747, 1219918837, 1220049977, 1220181097, 1220312201, + 1220443307, 1220574379, 1220705459, 1220836549, 1220967667, 1221098771, 1221229843, + 1221360961, 1221492037, 1221623131, 1221754213, 1221885289, 1222016399, 1222147499, + 1222278583, 1222409687, 1222540763, 1222671839, 1222802929, 1222934017, 1223065117, + 1223196211, 1223327297, 1223458373, 1223589449, 1223720521, 1223851667, 1223982757, + 1224113851, 1224244979, 1224376067, 1224507139, 1224638213, 1224769289, 1224900367, + 1225031443, 1225162567, 1225293659, 1225424731, 1225555813, 1225686899, 1225817981, + 1225949069, 1226080181, 1226211269, 1226342357, 1226473433, 1226604517, 1226735603, + 1226866717, 1226997803, 1227128879, 1227259973, 1227391063, 1227522143, 1227653309, + 1227784391, 1227915463, 1228046549, 1228177627, 1228308707, 1228439791, 1228570867, + 1228701959, 1228833043, 1228964161, 1229095247, 1229226331, 1229357411, 1229488493, + 1229619569, 1229750651, 1229881789, 1230012863, 1230143947, 1230275027, 1230406117, + 1230537233, 1230668317, 1230799397, 1230930469, 1231061549, 1231192631, 1231323721, + 1231454813, 1231585931, 1231717021, 1231848097, 1231979173, 1232110267, 1232241341, + 1232372461, 1232503541, 1232634659, 1232765783, 1232896859, 1233027931, 1233159017, + 1233290089, 1233421181, 1233552253, 1233683329, 1233814409, 1233945491, 1234076567, + 1234207649, 1234338727, 1234469801, 1234600903, 1234731997, 1234863089, 1234994191, + 1235125271, 1235256371, 1235387453, 1235518561, 1235649647, 1235780743, 1235911819, + 1236043019, 1236174109, 1236305209, 1236436283, 1236567359, 1236698461, 1236829549, + 1236960649, 1237091743, 1237222849, 1237353937, 1237485037, 1237616147, 1237747241, + 1237878319, 1238009407, 1238140489, 1238271571, 1238402647, 1238533763, 1238664857, + 1238796011, 1238927089, 1239058187, 1239189269, 1239320351, 1239451489, 1239582569, + 1239713659, 1239844733, 1239975817, 1240106921, 1240238029, 1240369127, 1240500211, + 1240631297, 1240762373, 1240893481, 1241024557, 1241155631, 1241286731, 1241417813, + 1241549011, 1241680123, 1241811203, 1241942281, 1242073367, 1242204443, 1242335527, + 1242466609, 1242597683, 1242728761, 1242859861, 1242990943, 1243122017, 1243253101, + 1243384183, 1243515257, 1243646351, 1243777439, 1243908521, 1244039609, 1244170727, + 1244301809, 1244432909, 1244563987, 1244695063, 1244826137, 1244957213, 1245088319, + 1245219401, 1245350531, 1245481631, 1245612703, 1245743813, 1245874901, 1246005977, + 1246137071, 1246268143, 1246399229, 1246530301, 1246661413, 1246792501, 1246923577, + 1247054671, 1247185757, 1247316871, 1247447953, 1247579027, 1247710099, 1247841197, + 1247972281, 1248103393, 1248234467, 1248365563, 1248496637, 1248627719, 1248758809, + 1248889883, 1249020967, 1249152049, 1249283137, 1249414237, 1249545343, 1249676437, + 1249807529, 1249938601, 1250069707, 1250200793, 1250331869, 1250462947, 1250594039, + 1250725123, 1250856199, 1250987281, 1251118369, 1251249443, 1251380519, 1251511669, + 1251642751, 1251773833, 1251904921, 1252036001, 1252167073, 1252298161, 1252429301, + 1252560403, 1252691483, 1252822567, 1252953643, 1253084783, 1253215861, 1253346959, + 1253478067, 1253609141, 1253740217, 1253871293, 1254002377, 1254133457, 1254264533, + 1254395627, 1254526709, 1254657839, 1254788917, 1254920003, 1255051079, 1255182163, + 1255313243, 1255444321, 1255575403, 1255706489, 1255837573, 1255968673, 1256099749, + 1256230837, 1256361929, 1256493037, 1256624137, 1256755211, 1256886311, 1257017387, + 1257148469, 1257279559, 1257410659, 1257541739, 1257672893, 1257803969, 1257935053, + 1258066129, 1258197203, 1258328297, 1258459369, 1258590449, 1258721543, 1258852717, + 1258983823, 1259114947, 1259246029, 1259377109, 1259508191, 1259639263, 1259770349, + 1259901427, 1260032507, 1260163601, 1260294691, 1260425767, 1260556853, 1260687931, + 1260819017, 1260950101, 1261081177, 1261212259, 1261343351, 1261474439, 1261605523, + 1261736633, 1261867757, 1261998841, 1262129917, 1262260997, 1262392093, 1262523167, + 1262654251, 1262785327, 1262916419, 1263047519, 1263178597, 1263309683, 1263440771, + 1263571843, 1263702917, 1263833993, 1263965089, 1264096187, 1264227311, 1264358419, + 1264489511, 1264620593, 1264751681, 1264882783, 1265013859, 1265144939, 1265276011, + 1265407093, 1265538227, 1265669299, 1265800373, 1265931463, 1266062543, 1266193619, + 1266324691, 1266455767, 1266586843, 1266717917, 1266849019, 1266980149, 1267111249, + 1267242329, 1267373423, 1267504531, 1267635643, 1267766719, 1267897823, 1268028913, + 1268159989, 1268291071, 1268422151, 1268553229, 1268684311, 1268815393, 1268946473, + 1269077581, 1269208679, 1269339751, 1269470833, 1269601913, 1269733027, 1269864133, + 1269995219, 1270126301, 1270257377, 1270388467, 1270519541, 1270650649, 1270781753, + 1270912837, 1271043937, 1271175013, 1271306107, 1271437199, 1271568283, 1271699369, + 1271830477, 1271961553, 1272092651, 1272223723, 1272354827, 1272485933, 1272617033, + 1272748111, 1272879229, 1273010341, 1273141421, 1273272503, 1273403611, 1273534729, + 1273665803, 1273796903, 1273928003, 1274059081, 1274190161, 1274321267, 1274452351, + 1274583439, 1274714527, 1274845601, 1274976691, 1275107819, 1275238897, 1275369989, + 1275501083, 1275632161, 1275763261, 1275894359, 1276025431, 1276156517, 1276287599, + 1276418677, 1276549787, 1276680859, 1276811941, 1276943027, 1277074159, 1277205233, + 1277336383, 1277467481, 1277598571, 1277729737, 1277860813, 1277991893, 1278122981, + 1278254099, 1278385183, 1278516269, 1278647347, 1278778421, 1278909493, 1279040569, + 1279171667, 1279302793, 1279433867, 1279564991, 1279696091, 1279827173, 1279958261, + 1280089339, 1280220433, 1280351519, 1280482591, 1280613667, 1280744747, 1280875847, + 1281006989, 1281138107, 1281269179, 1281400271, 1281531367, 1281662467, 1281793543, + 1281924653, 1282055737, 1282186811, 1282317893, 1282448969, 1282580053, 1282711187, + 1282842269, 1282973389, 1283104469, 1283235563, 1283366639, 1283497711, 1283628791, + 1283759923, 1283891023, 1284022111, 1284153217, 1284284291, 1284415367, 1284546451, + 1284677543, 1284808619, 1284939749, 1285070879, 1285201969, 1285333043, 1285464127, + 1285595249, 1285726331, 1285857403, 1285988503, 1286119591, 1286250683, 1286381791, + 1286512891, 1286643977, 1286775107, 1286906191, 1287037303, 1287168397, 1287299477, + 1287430567, 1287561647, 1287692741, 1287823841, 1287954949, 1288086091, 1288217167, + 1288348253, 1288479431, 1288610509, 1288741613, 1288872691, 1289003783, 1289134921, + 1289266003, 1289397103, 1289528203, 1289659291, 1289790377, 1289921519, 1290052591, + 1290183667, 1290314741, 1290445823, 1290576899, 1290708007, 1290839129, 1290970217, + 1291101293, 1291232417, 1291363499, 1291494587, 1291625663, 1291756793, 1291887887, + 1292018983, 1292150099, 1292281183, 1292412283, 1292543363, 1292674463, 1292805557, + 1292936633, 1293067723, 1293198901, 1293330001, 1293461083, 1293592171, 1293723253, + 1293854327, 1293985411, 1294116493, 1294247573, 1294378669, 1294509757, 1294640849, + 1294771921, 1294902997, 1295034079, 1295165159, 1295296237, 1295427323, 1295558437, + 1295689513, 1295820593, 1295951689, 1296082783, 1296213857, 1296344941, 1296476021, + 1296607097, 1296738169, 1296869257, 1297000333, 1297131413, 1297262497, 1297393577, + 1297524653, 1297655743, 1297786879, 1297917967, 1298049113, 1298180201, 1298311283, + 1298442359, 1298573447, 1298704531, 1298835667, 1298966789, 1299097867, 1299228947, + 1299360077, 1299491161, 1299622237, 1299753319, 1299884393, 1300015481, 1300146557, + 1300277651, 1300408723, 1300539809, 1300670893, 1300801981, 1300933063, 1301064139, + 1301195279, 1301326409, 1301457529, 1301588623, 1301719703, 1301850779, 1301981867, + 1302112939, 1302244033, 1302375143, 1302506273, 1302637387, 1302768541, 1302899641, + 1303030721, 1303161823, 1303292927, 1303424009, 1303555111, 1303686211, 1303817287, + 1303948367, 1304079443, 1304210527, 1304341601, 1304472691, 1304603777, 1304734859, + 1304865941, 1304997017, 1305128137, 1305259211, 1305390287, 1305521363, 1305652463, + 1305783553, 1305914639, 1306045759, 1306176863, 1306307971, 1306439059, 1306570193, + 1306701271, 1306832357, 1306963429, 1307094511, 1307225597, 1307356679, 1307487751, + 1307618861, 1307749967, 1307881051, 1308012131, 1308143203, 1308274277, 1308405361, + 1308536503, 1308667589, 1308798661, 1308929789, 1309060903, 1309191977, 1309323053, + 1309454149, 1309585307, 1309716391, 1309847491, 1309978583, 1310109667, 1310240773, + 1310371877, 1310502961, 1310634037, 1310765111, 1310896183, 1311027271, 1311158351, + 1311289423, 1311420521, 1311551623, 1311682699, 1311813773, 1311944849, 1312075927, + 1312207003, 1312338077, 1312469149, 1312600249, 1312731323, 1312862413, 1312993489, + 1313124569, 1313255681, 1313386757, 1313517841, 1313648953, 1313780029, 1313911111, + 1314042209, 1314173281, 1314304363, 1314435491, 1314566593, 1314697667, 1314828743, + 1314959827, 1315090901, 1315221979, 1315353073, 1315484153, 1315615241, 1315746319, + 1315877393, 1316008469, 1316139547, 1316270621, 1316401721, 1316532793, 1316663879, + 1316795003, 1316926099, 1317057187, 1317188267, 1317319351, 1317450427, 1317581557, + 1317712639, 1317843721, 1317974809, 1318105889, 1318236971, 1318368047, 1318499159, + 1318630237, 1318761361, 1318892447, 1319023549, 1319154649, 1319285743, 1319416817, + 1319547899, 1319678993, 1319810069, 1319941141, 1320072239, 1320203359, 1320334471, + 1320465563, 1320596657, 1320727741, 1320858817, 1320989897, 1321120973, 1321252057, + 1321383131, 1321514209, 1321645307, 1321776389, 1321907467, 1322038567, 1322169647, + 1322300719, 1322431801, 1322562877, 1322693971, 1322825047, 1322956121, 1323087197, + 1323218279, 1323349351, 1323480493, 1323611581, 1323742661, 1323873743, 1324004833, + 1324135919, 1324267027, 1324398137, 1324529233, 1324660313, 1324791407, 1324922491, + 1325053571, 1325184643, 1325315723, 1325446813, 1325577901, 1325708999, 1325840077, + 1325971159, 1326102269, 1326233347, 1326364423, 1326495503, 1326626593, 1326757711, + 1326888803, 1327019879, 1327150967, 1327282049, 1327413121, 1327544213, 1327675301, + 1327806373, 1327937459, 1328068531, 1328199629, 1328330777, 1328461859, 1328593001, + 1328724079, 1328855161, 1328986247, 1329117319, 1329248429, 1329379523, 1329510599, + 1329641683, 1329772789, 1329903899, 1330035011, 1330166083, 1330297169, 1330428247, + 1330559333, 1330690409, 1330821493, 1330952573, 1331083651, 1331214751, 1331345831, + 1331476919, 1331608001, 1331739121, 1331870201, 1332001283, 1332132383, 1332263459, + 1332394549, 1332525643, 1332656783, 1332787891, 1332919033, 1333050107, 1333181231, + 1333312313, 1333443421, 1333574507, 1333705619, 1333836697, 1333967779, 1334098859, + 1334229947, 1334361023, 1334492099, 1334623187, 1334754277, 1334885353, 1335016429, + 1335147509, 1335278621, 1335409697, 1335540779, 1335671863, 1335803009, 1335934081, + 1336065163, 1336196263, 1336327351, 1336458439, 1336589531, 1336720643, 1336851731, + 1336982839, 1337113919, 1337245031, 1337376113, 1337507189, 1337638331, 1337769409, + 1337900491, 1338031573, 1338162671, 1338293753, 1338424861, 1338555941, 1338687017, + 1338818093, 1338949187, 1339080277, 1339211351, 1339342439, 1339473511, 1339604587, + 1339735669, 1339866751, 1339997831, 1340128913, 1340259997, 1340391077, 1340522149, + 1340653231, 1340784311, 1340915383, 1341046493, 1341177589, 1341308663, 1341439793, + 1341570877, 1341701957, 1341833081, 1341964181, 1342095257, 1342226339, 1342357411, + 1342488517, 1342619609, 1342750699, 1342881781, 1343012873, 1343143951, 1343275061, + 1343406157, 1343537231, 1343668331, 1343799437, 1343930509, 1344061673, 1344192757, + 1344323861, 1344454933, 1344586007, 1344717091, 1344848179, 1344979271, 1345110413, + 1345241537, 1345372667, 1345503773, 1345634869, 1345765973, 1345897051, 1346028133, + 1346159231, 1346290321, 1346421397, 1346552479, 1346683567, 1346814643, 1346945737, + 1347076813, 1347207899, 1347338977, 1347470051, 1347601139, 1347732241, 1347863317, + 1347994391, 1348125463, 1348256537, 1348387619, 1348518733, 1348649821, 1348780897, + 1348911979, 1349043077, 1349174159, 1349305247, 1349436329, 1349567407, 1349698499, + 1349829583, 1349960663, 1350091739, 1350222829, 1350353957, 1350485051, 1350616147, + 1350747311, 1350878383, 1351009463, 1351140563, 1351271651, 1351402751, 1351533851, + 1351664929, 1351796003, 1351927123, 1352058203, 1352189327, 1352320399, 1352451487, + 1352582563, 1352713643, 1352844739, 1352975857, 1353106939, 1353238021, 1353369131, + 1353500221, 1353631309, 1353762383, 1353893501, 1354024589, 1354155679, 1354286761, + 1354417843, 1354548917, 1354680007, 1354811119, 1354942201, 1355073283, 1355204359, + 1355335441, 1355466533, 1355597623, 1355728739, 1355859811, 1355990887, 1356121961, + 1356253033, 1356384149, 1356515243, 1356646327, 1356777437, 1356908519, 1357039609, + 1357170691, 1357301791, 1357432871, 1357563953, 1357695043, 1357826117, 1357957217, + 1358088301, 1358219411, 1358350531, 1358481623, 1358612699, 1358743787, 1358874871, + 1359005983, 1359137057, 1359268147, 1359399269, 1359530383, 1359661469, 1359792547, + 1359923647, 1360054741, 1360185829, 1360316929, 1360448017, 1360579111, 1360710193, + 1360841311, 1360972391, 1361103517, 1361234621, 1361365703, 1361496847, 1361627983, + 1361759071, 1361890147, 1362021223, 1362152303, 1362283397, 1362414491, 1362545603, + 1362676717, 1362807811, 1362938891, 1363069963, 1363201061, 1363332143, 1363463219, + 1363594321, 1363725401, 1363856479, 1363987609, 1364118689, 1364249771, 1364380859, + 1364511931, 1364643013, 1364774087, 1364905177, 1365036251, 1365167327, 1365298411, + 1365429487, 1365560563, 1365691667, 1365822739, 1365953819, 1366084897, 1366215989, + 1366347083, 1366478159, 1366609241, 1366740317, 1366871411, 1367002499, 1367133577, + 1367264659, 1367395759, 1367526851, 1367657933, 1367789053, 1367920139, 1368051227, + 1368182311, 1368313421, 1368444523, 1368575597, 1368706681, 1368837781, 1368968863, + 1369099939, 1369231063, 1369362149, 1369493269, 1369624351, 1369755461, 1369886549, + 1370017643, 1370148719, 1370279797, 1370410871, 1370541947, 1370673019, 1370804107, + 1370935219, 1371066331, 1371197431, 1371328513, 1371459599, 1371590761, 1371721843, + 1371852943, 1371984043, 1372115119, 1372246193, 1372377269, 1372508419, 1372639493, + 1372770601, 1372901689, 1373032783, 1373163887, 1373295023, 1373426113, 1373557193, + 1373688287, 1373819383, 1373950469, 1374081557, 1374212641, 1374343717, 1374474817, + 1374605899, 1374736973, 1374868109, 1374999251, 1375130353, 1375261457, 1375392547, + 1375523641, 1375654717, 1375785799, 1375916903, 1376047993, 1376179081, 1376310197, + 1376441273, 1376572349, 1376703431, 1376834507, 1376965591, 1377096671, 1377227767, + 1377358847, 1377489943, 1377621029, 1377752107, 1377883183, 1378014293, 1378145383, + 1378276469, 1378407551, 1378538647, 1378669739, 1378800821, 1378931927, 1379063017, + 1379194109, 1379325271, 1379456359, 1379587441, 1379718547, 1379849633, 1379980727, + 1380111823, 1380242921, 1380373993, 1380505073, 1380636149, 1380767279, 1380898369, + 1381029451, 1381160527, 1381291603, 1381422689, 1381553791, 1381684873, 1381815959, + 1381947031, 1382078123, 1382209217, 1382340293, 1382471413, 1382602523, 1382733629, + 1382864723, 1382995811, 1383126887, 1383257963, 1383389047, 1383520121, 1383651211, + 1383782287, 1383913403, 1384044499, 1384175591, 1384306673, 1384437779, 1384568851, + 1384699937, 1384831031, 1384962127, 1385093209, 1385224297, 1385355397, 1385486521, + 1385617619, 1385748737, 1385879839, 1386010937, 1386142027, 1386273113, 1386404203, + 1386535331, 1386666403, 1386797483, 1386928577, 1387059659, 1387190731, 1387321847, + 1387452923, 1387584001, 1387715101, 1387846183, 1387977259, 1388108333, 1388239409, + 1388370491, 1388501567, 1388632639, 1388763721, 1388894827, 1389025997, 1389157117, + 1389288193, 1389419281, 1389550361, 1389681463, 1389812539, 1389943627, 1390074727, + 1390205801, 1390336873, 1390467971, 1390599043, 1390730147, 1390861223, 1390992313, + 1391123387, 1391254471, 1391385547, 1391516627, 1391647709, 1391778793, 1391909891, + 1392040987, 1392172219, 1392303307, 1392434411, 1392565487, 1392696563, 1392827659, + 1392958741, 1393089821, 1393220897, 1393351969, 1393483043, 1393614121, 1393745203, + 1393876307, 1394007401, 1394138513, 1394269621, 1394400697, 1394531773, 1394662859, + 1394793931, 1394925013, 1395056087, 1395187193, 1395318289, 1395449371, 1395580463, + 1395711547, 1395842639, 1395973721, 1396104793, 1396235873, 1396366957, 1396498049, + 1396629127, 1396760221, 1396891367, 1397022439, 1397153521, 1397284597, 1397415673, + 1397546749, 1397677871, 1397808953, 1397940079, 1398071161, 1398202249, 1398333353, + 1398464453, 1398595543, 1398726619, 1398857737, 1398988813, 1399119889, 1399250971, + 1399382071, 1399513169, 1399644241, 1399775327, 1399906399, 1400037503, 1400168579, + 1400299661, 1400430761, 1400561861, 1400692987, 1400824109, 1400955197, 1401086273, + 1401217361, 1401348449, 1401479533, 1401610621, 1401741697, 1401872821, 1402003903, + 1402134977, 1402266053, 1402397131, 1402528217, 1402659289, 1402790371, 1402921453, + 1403052557, 1403183629, 1403314729, 1403445833, 1403576917, 1403708029, 1403839147, + 1403970223, 1404101329, 1404232421, 1404363517, 1404494591, 1404625681, 1404756757, + 1404887831, 1405018913, 1405150007, 1405281113, 1405412207, 1405543291, 1405674367, + 1405805441, 1405936513, 1406067587, 1406198663, 1406329747, 1406460823, 1406591941, + 1406723041, 1406854117, 1406985197, 1407116273, 1407247349, 1407378421, 1407509501, + 1407640583, 1407771691, 1407902773, 1408033859, 1408164941, 1408296047, 1408427129, + 1408558231, 1408689361, 1408820443, 1408951553, 1409082637, 1409213713, 1409344801, + 1409475911, 1409606987, 1409738119, 1409869261, 1410000407, 1410131479, 1410262561, + 1410393637, 1410524747, 1410655819, 1410786899, 1410918001, 1411049111, 1411180229, + 1411311323, 1411442401, 1411573477, 1411704551, 1411835653, 1411966729, 1412097853, + 1412228933, 1412360029, 1412491147, 1412622251, 1412753323, 1412884397, 1413015479, + 1413146551, 1413277633, 1413408707, 1413539797, 1413670871, 1413801959, 1413933047, + 1414064123, 1414195199, 1414326293, 1414457389, 1414588463, 1414719571, 1414850669, + 1414981747, 1415112823, 1415243917, 1415374991, 1415506063, 1415637193, 1415768273, + 1415899357, 1416030437, 1416161531, 1416292607, 1416423709, 1416554791, 1416685877, + 1416816977, 1416948053, 1417079141, 1417210213, 1417341293, 1417472401, 1417603477, + 1417734557, 1417865629, 1417996709, 1418127797, 1418258879, 1418389981, 1418521103, + 1418652197, 1418783279, 1418914379, 1419045473, 1419176573, 1419307691, 1419438773, + 1419569863, 1419700937, 1419832013, 1419963101, 1420094189, 1420225267, 1420356347, + 1420487441, 1420618517, 1420749613, 1420880693, 1421011807, 1421142907, 1421274017, + 1421405099, 1421536187, 1421667287, 1421798453, 1421929541, 1422060637, 1422191737, + 1422322831, 1422453913, 1422584987, 1422716059, 1422847133, 1422978209, 1423109333, + 1423240433, 1423371581, 1423502681, 1423633763, 1423764851, 1423895923, 1424026999, + 1424158081, 1424289187, 1424420267, 1424551351, 1424682443, 1424813519, 1424944601, + 1425075697, 1425206807, 1425337897, 1425468983, 1425600061, 1425731149, 1425862259, + 1425993403, 1426124501, 1426255573, 1426386659, 1426517749, 1426648897, 1426779973, + 1426911049, 1427042147, 1427173229, 1427304311, 1427435389, 1427566477, 1427697571, + 1427828653, 1427959733, 1428090889, 1428222011, 1428353089, 1428484171, 1428615257, + 1428746339, 1428877423, 1429008517, 1429139603, 1429270681, 1429401773, 1429532857, + 1429663931, 1429795019, 1429926133, 1430057231, 1430188321, 1430319403, 1430450479, + 1430581561, 1430712649, 1430843741, 1430974817, 1431105889, 1431236981, 1431368063, + 1431499141, 1431630217, 1431761327, 1431892403, 1432023491, 1432154587, 1432285663, + 1432416737, 1432547861, 1432678943, 1432810037, 1432941109, 1433072189, 1433203267, + 1433334349, 1433465437, 1433596513, 1433727599, 1433858689, 1433989789, 1434120871, + 1434251969, 1434383087, 1434514171, 1434645253, 1434776327, 1434907427, 1435038503, + 1435169599, 1435300673, 1435431749, 1435562827, 1435693927, 1435825009, 1435956097, + 1436087207, 1436218321, 1436349401, 1436480491, 1436611573, 1436742653, 1436873731, + 1437004817, 1437135899, 1437266977, 1437398069, 1437529183, 1437660269, 1437791357, + 1437922433, 1438053509, 1438184599, 1438315687, 1438446781, 1438577873, 1438708979, + 1438840061, 1438971133, 1439102209, 1439233343, 1439364439, 1439495539, 1439626619, + 1439757713, 1439888819, 1440019927, 1440151019, 1440282131, 1440413257, 1440544397, + 1440675469, 1440806557, 1440937639, 1441068719, 1441199833, 1441330927, 1441462007, + 1441593091, 1441724191, 1441855273, 1441986347, 1442117437, 1442248529, 1442379607, + 1442510681, 1442641763, 1442772839, 1442903921, 1443034993, 1443166099, 1443297199, + 1443428303, 1443559379, 1443690461, 1443821539, 1443952621, 1444083701, 1444214773, + 1444345849, 1444476931, 1444608007, 1444739113, 1444870187, 1445001263, 1445132369, + 1445263453, 1445394527, 1445525611, 1445656703, 1445787781, 1445918891, 1446049981, + 1446181057, 1446312137, 1446443213, 1446574301, 1446705383, 1446836467, 1446967583, + 1447098661, 1447229741, 1447360823, 1447491901, 1447623011, 1447754089, 1447885169, + 1448016263, 1448147353, 1448278441, 1448409517, 1448540609, 1448671699, 1448802779, + 1448933869, 1449064949, 1449196027, 1449327101, 1449458173, 1449589261, 1449720379, + 1449851461, 1449982579, 1450113653, 1450244753, 1450375847, 1450506943, 1450638023, + 1450769101, 1450900177, 1451031317, 1451162441, 1451293531, 1451424629, 1451555713, + 1451686813, 1451817889, 1451948969, 1452080053, 1452211141, 1452342233, 1452473327, + 1452604411, 1452735563, 1452866647, 1452997727, 1453128851, 1453259953, 1453391029, + 1453522127, 1453653203, 1453784281, 1453915373, 1454046469, 1454177561, 1454308679, + 1454439829, 1454570903, 1454701979, 1454833073, 1454964151, 1455095227, 1455226313, + 1455357391, 1455488501, 1455619579, 1455750697, 1455881773, 1456012853, 1456143929, + 1456275001, 1456406089, 1456537171, 1456668247, 1456799321, 1456930421, 1457061497, + 1457192573, 1457323649, 1457454767, 1457585887, 1457716973, 1457848061, 1457979163, + 1458110243, 1458241319, 1458372403, 1458503477, 1458634589, 1458765673, 1458896749, + 1459027849, 1459158929, 1459290017, 1459421099, 1459552189, 1459683299, 1459814431, + 1459945511, 1460076587, 1460207677, 1460338751, 1460469851, 1460600923, 1460732069, + 1460863141, 1460994233, 1461125363, 1461256499, 1461387607, 1461518689, 1461649769, + 1461780857, 1461911977, 1462043057, 1462174141, 1462305239, 1462436399, 1462567481, + 1462698563, 1462829639, 1462960717, 1463091793, 1463222881, 1463353961, 1463485043, + 1463616179, 1463747281, 1463878379, 1464009467, 1464140549, 1464271681, 1464402767, + 1464533869, 1464664979, 1464796057, 1464927169, 1465058267, 1465189339, 1465320449, + 1465451549, 1465582621, 1465713719, 1465844803, 1465975921, 1466106997, 1466238071, + 1466369143, 1466500219, 1466631301, 1466762389, 1466893489, 1467024607, 1467155731, + 1467286811, 1467417901, 1467548989, 1467680083, 1467811183, 1467942263, 1468073357, + 1468204469, 1468335563, 1468466651, 1468597759, 1468728841, 1468859939, 1468991011, + 1469122093, 1469253199, 1469384309, 1469515381, 1469646463, 1469777563, 1469908637, + 1470039731, 1470170827, 1470301961, 1470433057, 1470564131, 1470695221, 1470826393, + 1470957493, 1471088581, 1471219657, 1471350743, 1471481821, 1471612897, 1471743983, + 1471875061, 1472006161, 1472137273, 1472268383, 1472399477, 1472530573, 1472661661, + 1472792743, 1472923817, 1473054899, 1473185981, 1473317059, 1473448159, 1473579251, + 1473710341, 1473841427, 1473972551, 1474103641, 1474234739, 1474365833, 1474496911, + 1474627993, 1474759073, 1474890191, 1475021291, 1475152379, 1475283463, 1475414537, + 1475545613, 1475676691, 1475807777, 1475938873, 1476069953, 1476201053, 1476332147, + 1476463253, 1476594331, 1476725423, 1476856499, 1476987587, 1477118663, 1477249751, + 1477380911, 1477511989, 1477643071, 1477774157, 1477905259, 1478036369, 1478167469, + 1478298559, 1478429669, 1478560747, 1478691821, 1478822921, 1478953999, 1479085073, + 1479216157, 1479347251, 1479478373, 1479609487, 1479740567, 1479871643, 1480002737, + 1480133821, 1480264909, 1480396003, 1480527121, 1480658203, 1480789279, 1480920361, + 1481051437, 1481182517, 1481313601, 1481444681, 1481575763, 1481706911, 1481837983, + 1481969089, 1482100181, 1482231277, 1482362359, 1482493447, 1482624527, 1482755641, + 1482886721, 1483017799, 1483148881, 1483279961, 1483411057, 1483542139, 1483673221, + 1483804349, 1483935433, 1484066531, 1484197619, 1484328707, 1484459789, 1484590873, + 1484721983, 1484853061, 1484984141, 1485115217, 1485246299, 1485377401, 1485508477, + 1485639557, 1485770647, 1485901763, 1486032851, 1486163947, 1486295071, 1486426163, + 1486557239, 1486688323, 1486819447, 1486950523, 1487081597, 1487212697, 1487343773, + 1487474861, 1487605943, 1487737021, 1487868103, 1487999189, 1488130271, 1488261349, + 1488392431, 1488523507, 1488654613, 1488785707, 1488916801, 1489047883, 1489178987, + 1489310083, 1489441207, 1489572347, 1489703429, 1489834501, 1489965583, 1490096681, + 1490227763, 1490358847, 1490489927, 1490621009, 1490752091, 1490883223, 1491014309, + 1491145387, 1491276469, 1491407543, 1491538649, 1491669731, 1491800833, 1491931933, + 1492063019, 1492194103, 1492325221, 1492456297, 1492587373, 1492718497, 1492849637, + 1492980719, 1493111791, 1493242873, 1493373949, 1493505031, 1493636107, 1493767199, + 1493898271, 1494029353, 1494160463, 1494291569, 1494422647, 1494553727, 1494684817, + 1494815897, 1494946993, 1495078111, 1495209217, 1495340293, 1495471379, 1495602467, + 1495733567, 1495864651, 1495995727, 1496126833, 1496257909, 1496388983, 1496520059, + 1496651137, 1496782237, 1496913311, 1497044389, 1497175513, 1497306607, 1497437713, + 1497568799, 1497699883, 1497830959, 1497962041, 1498093117, 1498224197, 1498355303, + 1498486387, 1498617481, 1498748561, 1498879639, 1499010731, 1499141849, 1499272921, + 1499404007, 1499535097, 1499666213, 1499797291, 1499928403, 1500059503, 1500190583, + 1500321701, 1500452783, 1500583873, 1500714959, 1500846031, 1500977111, 1501108183, + 1501239277, 1501370357, 1501501439, 1501632511, 1501763609, 1501894697, 1502025773, + 1502156867, 1502287979, 1502419067, 1502550143, 1502681237, 1502812331, 1502943413, + 1503074509, 1503205597, 1503336721, 1503467803, 1503598909, 1503730037, 1503861127, + 1503992233, 1504123319, 1504254403, 1504385521, 1504516613, 1504647689, 1504778773, + 1504909871, 1505040961, 1505172041, 1505303119, 1505434193, 1505565283, 1505696369, + 1505827451, 1505958533, 1506089617, 1506220693, 1506351773, 1506482867, 1506613939, + 1506745013, 1506876103, 1507007189, 1507138289, 1507269377, 1507400449, 1507531547, + 1507662659, 1507793803, 1507924879, 1508055979, 1508187053, 1508318131, 1508449211, + 1508580301, 1508711377, 1508842451, 1508973527, 1509104609, 1509235687, 1509366763, + 1509497851, 1509628987, 1509760093, 1509891167, 1510022279, 1510153361, 1510284439, + 1510415513, 1510546601, 1510677683, 1510808869, 1510939949, 1511071069, 1511202157, + 1511333233, 1511464321, 1511595427, 1511726509, 1511857603, 1511988691, 1512119801, + 1512250879, 1512381961, 1512513043, 1512644141, 1512775213, 1512906287, 1513037363, + 1513168439, 1513299527, 1513430629, 1513561703, 1513692781, 1513823881, 1513954961, + 1514086037, 1514217109, 1514348191, 1514479273, 1514610401, 1514741489, 1514872631, + 1515003719, 1515134807, 1515265889, 1515396989, 1515528067, 1515659143, 1515790219, + 1515921299, 1516052371, 1516183499, 1516314601, 1516445677, 1516576759, 1516707833, + 1516838909, 1516970011, 1517101087, 1517232161, 1517363273, 1517494351, 1517625427, + 1517756501, 1517887577, 1518018701, 1518149783, 1518280859, 1518411941, 1518543031, + 1518674111, 1518805231, 1518936313, 1519067387, 1519198459, 1519329533, 1519460623, + 1519591721, 1519722797, 1519853971, 1519985101, 1520116187, 1520247269, 1520378369, + 1520509489, 1520640617, 1520771689, 1520902771, 1521033859, 1521164941, 1521296041, + 1521427151, 1521558263, 1521689353, 1521820427, 1521951517, 1522082599, 1522213697, + 1522344787, 1522475861, 1522606957, 1522738031, 1522869113, 1523000191, 1523131273, + 1523262409, 1523393497, 1523524579, 1523655667, 1523786749, 1523917841, 1524048937, + 1524180013, 1524311093, 1524442189, 1524573329, 1524704407, 1524835511, 1524966617, + 1525097701, 1525228801, 1525359883, 1525490957, 1525622029, 1525753121, 1525884209, + 1526015303, 1526146381, 1526277469, 1526408549, 1526539621, 1526670697, 1526801779, + 1526932867, 1527063943, 1527195029, 1527326107, 1527457193, 1527588281, 1527719353, + 1527850483, 1527981569, 1528112653, 1528243729, 1528374823, 1528505947, 1528637021, + 1528768099, 1528899179, 1529030257, 1529161349, 1529292421, 1529423501, 1529554573, + 1529685659, 1529816731, 1529947813, 1530078917, 1530210023, 1530341117, 1530472193, + 1530603289, 1530734371, 1530865477, 1530996563, 1531127669, 1531258747, 1531389823, + 1531520899, 1531651993, 1531783081, 1531914157, 1532045243, 1532176319, 1532307397, + 1532438489, 1532569573, 1532700649, 1532831731, 1532962819, 1533093899, 1533224993, + 1533356113, 1533487187, 1533618271, 1533749359, 1533880451, 1534011547, 1534142641, + 1534273723, 1534404821, 1534535909, 1534667003, 1534798081, 1534929199, 1535060281, + 1535191363, 1535322457, 1535453533, 1535584607, 1535715691, 1535846783, 1535977867, + 1536108949, 1536240067, 1536371231, 1536502309, 1536633419, 1536764507, 1536895583, + 1537026691, 1537157767, 1537288849, 1537419937, 1537551019, 1537682117, 1537813243, + 1537944319, 1538075401, 1538206477, 1538337557, 1538468641, 1538599721, 1538730829, + 1538861939, 1538993021, 1539124099, 1539255181, 1539386257, 1539517339, 1539648421, + 1539779503, 1539910577, 1540041719, 1540172797, 1540303901, 1540435009, 1540566091, + 1540697183, 1540828271, 1540959367, 1541090449, 1541221543, 1541352649, 1541483761, + 1541614847, 1541745923, 1541877041, 1542008123, 1542139219, 1542270341, 1542401489, + 1542532561, 1542663697, 1542794783, 1542925897, 1543057001, 1543188137, 1543319233, + 1543450309, 1543581401, 1543712473, 1543843583, 1543974671, 1544105747, 1544236831, + 1544367953, 1544499041, 1544630117, 1544761261, 1544892343, 1545023419, 1545154547, + 1545285629, 1545416819, 1545547901, 1545679001, 1545810073, 1545941161, 1546072243, + 1546203317, 1546334411, 1546465483, 1546596631, 1546727719, 1546858793, 1546989883, + 1547120969, 1547252041, 1547383127, 1547514217, 1547645339, 1547776459, 1547907533, + 1548038627, 1548169739, 1548300839, 1548431917, 1548562991, 1548694093, 1548825167, + 1548956243, 1549087327, 1549218413, 1549349513, 1549480601, 1549611677, 1549742791, + 1549873873, 1550004947, 1550136073, 1550267161, 1550398243, 1550529329, 1550660401, + 1550791499, 1550922577, 1551053663, 1551184793, 1551315869, 1551446983, 1551578069, + 1551709163, 1551840259, 1551971363, 1552102459, 1552233533, 1552364617, 1552495729, + 1552626877, 1552757963, 1552889047, 1553020127, 1553151203, 1553282309, 1553413397, + 1553544469, 1553675561, 1553806649, 1553937757, 1554068833, 1554199909, 1554330997, + 1554462071, 1554593153, 1554724243, 1554855331, 1554986417, 1555117493, 1555248577, + 1555379663, 1555510757, 1555641839, 1555772941, 1555904017, 1556035133, 1556166211, + 1556297297, 1556428381, 1556559461, 1556690533, 1556821661, 1556952757, 1557083833, + 1557214913, 1557346019, 1557477113, 1557608189, 1557739279, 1557870371, 1558001453, + 1558132547, 1558263661, 1558394753, 1558525909, 1558656989, 1558788073, 1558919147, + 1559050249, 1559181329, 1559312411, 1559443531, 1559574613, 1559705689, 1559836769, + 1559967859, 1560098933, 1560230027, 1560361129, 1560492221, 1560623299, 1560754397, + 1560885497, 1561016599, 1561147681, 1561278757, 1561409831, 1561540919, 1561672031, + 1561803127, 1561934233, 1562065321, 1562196403, 1562327483, 1562458561, 1562589641, + 1562720713, 1562851793, 1562982923, 1563113999, 1563245077, 1563376169, 1563507241, + 1563638317, 1563769409, 1563900491, 1564031587, 1564162661, 1564293761, 1564424837, + 1564555943, 1564687039, 1564818137, 1564949227, 1565080357, 1565211451, 1565342549, + 1565473649, 1565604739, 1565735813, 1565866891, 1565997977, 1566129073, 1566260161, + 1566391273, 1566522359, 1566653437, 1566784519, 1566915643, 1567046731, 1567177831, + 1567308913, 1567440019, 1567571099, 1567702181, 1567833263, 1567964339, 1568095427, + 1568226529, 1568357629, 1568488771, 1568619851, 1568750923, 1568881999, 1569013081, + 1569144179, 1569275261, 1569406339, 1569537413, 1569668491, 1569799591, 1569930673, + 1570061747, 1570192847, 1570323959, 1570455049, 1570586161, 1570717237, 1570848317, + 1570979437, 1571110531, 1571241653, 1571372729, 1571503807, 1571634893, 1571765989, + 1571897069, 1572028141, 1572159217, 1572290297, 1572421397, 1572552473, 1572683551, + 1572814637, 1572945769, 1573076851, 1573207939, 1573339039, 1573470149, 1573601269, + 1573732343, 1573863419, 1573994509, 1574125583, 1574256713, 1574387797, 1574518921, + 1574650001, 1574781073, 1574912161, 1575043237, 1575174317, 1575305399, 1575436483, + 1575567589, 1575698693, 1575829769, 1575960853, 1576091927, 1576223029, 1576354207, + 1576485299, 1576616389, 1576747477, 1576878553, 1577009639, 1577140739, 1577271823, + 1577402903, 1577533987, 1577665069, 1577796191, 1577927279, 1578058367, 1578189443, + 1578320537, 1578451639, 1578582737, 1578713821, 1578844903, 1578975977, 1579107071, + 1579238153, 1579369277, 1579500401, 1579631527, 1579762609, 1579893683, 1580024773, + 1580155847, 1580286941, 1580418013, 1580549107, 1580680183, 1580811269, 1580942359, + 1581073433, 1581204517, 1581335647, 1581466759, 1581597863, 1581728969, 1581860041, + 1581991127, 1582122203, 1582253279, 1582384357, 1582515449, 1582646531, 1582777643, + 1582908721, 1583039819, 1583170903, 1583302001, 1583433101, 1583564201, 1583695301, + 1583826389, 1583957497, 1584088621, 1584219701, 1584350797, 1584481901, 1584612979, + 1584744053, 1584875141, 1585006229, 1585137317, 1585268389, 1585399477, 1585530577, + 1585661659, 1585792823, 1585923971, 1586055047, 1586186153, 1586317231, 1586448307, + 1586579381, 1586710457, 1586841539, 1586972641, 1587103723, 1587234829, 1587365903, + 1587496979, 1587628057, 1587759137, 1587890209, 1588021297, 1588152403, 1588283503, + 1588414589, 1588545661, 1588676743, 1588807849, 1588938931, 1589070037, 1589201113, + 1589332189, 1589463283, 1589594381, 1589725457, 1589856547, 1589987657, 1590118811, + 1590249883, 1590380963, 1590512039, 1590643129, 1590774203, 1590905291, 1591036397, + 1591167509, 1591298587, 1591429709, 1591560793, 1591691867, 1591822949, 1591954037, + 1592085109, 1592216183, 1592347303, 1592478443, 1592609609, 1592740687, 1592871767, + 1593002843, 1593133963, 1593265067, 1593396143, 1593527231, 1593658327, 1593789409, + 1593920501, 1594051633, 1594182721, 1594313879, 1594444961, 1594576037, 1594707113, + 1594838237, 1594969319, 1595100457, 1595231549, 1595362649, 1595493727, 1595624803, + 1595755877, 1595886959, 1596018037, 1596149123, 1596280207, 1596411281, 1596542383, + 1596673483, 1596804557, 1596935629, 1597066703, 1597197793, 1597328867, 1597459939, + 1597591027, 1597722127, 1597853207, 1597984313, 1598115397, 1598246497, 1598377591, + 1598508677, 1598639759, 1598770837, 1598901919, 1599033011, 1599164093, 1599295183, + 1599426259, 1599557347, 1599688427, 1599819509, 1599950593, 1600081723, 1600212799, + 1600343873, 1600474991, 1600606069, 1600737161, 1600868261, 1600999343, 1601130449, + 1601261551, 1601392631, 1601523733, 1601654867, 1601785949, 1601917039, 1602048127, + 1602179209, 1602310301, 1602441377, 1602572483, 1602703559, 1602834637, 1602965711, + 1603096801, 1603227877, 1603358951, 1603490027, 1603621099, 1603752193, 1603883293, + 1604014393, 1604145493, 1604276579, 1604407669, 1604538779, 1604669851, 1604800931, + 1604932037, 1605063127, 1605194231, 1605325303, 1605456379, 1605587453, 1605718613, + 1605849689, 1605980797, 1606111879, 1606242971, 1606374043, 1606505123, 1606636211, + 1606767289, 1606898399, 1607029471, 1607160547, 1607291633, 1607422711, 1607553791, + 1607684933, 1607816027, 1607947109, 1608078193, 1608209311, 1608340399, 1608471481, + 1608602563, 1608733649, 1608864727, 1608995803, 1609126901, 1609257977, 1609389049, + 1609520161, 1609651237, 1609782323, 1609913407, 1610044487, 1610175599, 1610306683, + 1610437769, 1610568917, 1610700001, 1610831099, 1610962217, 1611093299, 1611224387, + 1611355481, 1611486581, 1611617669, 1611748751, 1611879847, 1612010927, 1612142003, + 1612273087, 1612404169, 1612535251, 1612666327, 1612797427, 1612928501, 1613059601, + 1613190737, 1613321837, 1613452909, 1613583989, 1613715071, 1613846147, 1613977237, + 1614108337, 1614239423, 1614370517, 1614501617, 1614632693, 1614763769, 1614894857, + 1615025933, 1615157039, 1615288121, 1615419199, 1615550303, 1615681393, 1615812479, + 1615943561, 1616074661, 1616205761, 1616336849, 1616468027, 1616599109, 1616730187, + 1616861263, 1616992357, 1617123461, 1617254539, 1617385633, 1617516713, 1617647789, + 1617778907, 1617910027, 1618041137, 1618172263, 1618303363, 1618434437, 1618565513, + 1618696631, 1618827709, 1618958813, 1619089903, 1619220979, 1619352071, 1619483143, + 1619614237, 1619745331, 1619876437, 1620007513, 1620138587, 1620269671, 1620400751, + 1620531823, 1620662899, 1620793997, 1620925079, 1621056163, 1621187257, 1621318333, + 1621449407, 1621580483, 1621711621, 1621842701, 1621973809, 1622104927, 1622236037, + 1622367119, 1622498209, 1622629297, 1622760371, 1622891443, 1623022517, 1623153589, + 1623284681, 1623415763, 1623546853, 1623677953, 1623809041, 1623940117, 1624071233, + 1624202309, 1624333387, 1624464497, 1624595611, 1624726717, 1624857833, 1624988909, + 1625120033, 1625251123, 1625382203, 1625513287, 1625644367, 1625775457, 1625906561, + 1626037639, 1626168721, 1626299803, 1626430877, 1626561949, 1626693023, 1626824131, + 1626955219, 1627086301, 1627217419, 1627348493, 1627479613, 1627610687, 1627741781, + 1627872931, 1628004071, 1628135147, 1628266231, 1628397307, 1628528381, 1628659469, + 1628790551, 1628921639, 1629052783, 1629183883, 1629314993, 1629446069, 1629577207, + 1629708287, 1629839369, 1629970453, 1630101527, 1630232609, 1630363703, 1630494779, + 1630625861, 1630756949, 1630888031, 1631019107, 1631150189, 1631281277, 1631412353, + 1631543437, 1631674523, 1631805607, 1631936699, 1632067793, 1632198913, 1632330001, + 1632461093, 1632592193, 1632723307, 1632854389, 1632985493, 1633116581, 1633247663, + 1633378739, 1633509817, 1633640947, 1633772033, 1633903127, 1634034229, 1634165321, + 1634296423, 1634427517, 1634558617, 1634689691, 1634820767, 1634951839, 1635082957, + 1635214109, 1635345199, 1635476317, 1635607397, 1635738473, 1635869561, 1636000679, + 1636131751, 1636262839, 1636393951, 1636525031, 1636656107, 1636787179, 1636918271, + 1637049347, 1637180423, 1637311517, 1637442589, 1637573669, 1637704763, 1637835847, + 1637966923, 1638097997, 1638229091, 1638360181, 1638491291, 1638622393, 1638753491, + 1638884563, 1639015643, 1639146737, 1639277833, 1639408909, 1639540003, 1639671079, + 1639802161, 1639933249, 1640064343, 1640195429, 1640326517, 1640457593, 1640588669, + 1640719763, 1640850839, 1640981929, 1641113021, 1641244093, 1641375187, 1641506261, + 1641637357, 1641768431, 1641899509, 1642030591, 1642161671, 1642292779, 1642423921, + 1642555007, 1642686079, 1642817161, 1642948247, 1643079323, 1643210407, 1643341481, + 1643472557, 1643603629, 1643734717, 1643865803, 1643996903, 1644128023, 1644259117, + 1644390199, 1644521273, 1644652349, 1644783449, 1644914533, 1645045607, 1645176679, + 1645307777, 1645438849, 1645569941, 1645701023, 1645832131, 1645963211, 1646094283, + 1646225359, 1646356433, 1646487511, 1646618591, 1646749681, 1646880787, 1647011881, + 1647142961, 1647274043, 1647405157, 1647536239, 1647667379, 1647798497, 1647929573, + 1648060693, 1648191767, 1648322849, 1648453957, 1648585051, 1648716131, 1648847237, + 1648978333, 1649109409, 1649240501, 1649371639, 1649502719, 1649633831, 1649764931, + 1649896013, 1650027179, 1650158267, 1650289343, 1650420433, 1650551549, 1650682633, + 1650813739, 1650944831, 1651075919, 1651207021, 1651338103, 1651469191, 1651600277, + 1651731377, 1651862479, 1651993579, 1652124653, 1652255729, 1652386807, 1652517883, + 1652648989, 1652780081, 1652911153, 1653042227, 1653173303, 1653304403, 1653435491, + 1653566569, 1653697681, 1653828779, 1653959887, 1654090969, 1654222049, 1654353137, + 1654484219, 1654615351, 1654746463, 1654877573, 1655008657, 1655139757, 1655270843, + 1655401919, 1655533003, 1655664079, 1655795153, 1655926229, 1656057301, 1656188377, + 1656319487, 1656450569, 1656581681, 1656712753, 1656843827, 1656974927, 1657106027, + 1657237123, 1657368203, 1657499279, 1657630391, 1657761473, 1657892567, 1658023667, + 1658154739, 1658285831, 1658416933, 1658548007, 1658679091, 1658810177, 1658941283, + 1659072367, 1659203453, 1659334531, 1659465629, 1659596711, 1659727787, 1659858901, + 1659990023, 1660121107, 1660252183, 1660383287, 1660514369, 1660645477, 1660776581, + 1660907659, 1661038733, 1661169821, 1661300899, 1661431973, 1661563063, 1661694149, + 1661825237, 1661956319, 1662087391, 1662218501, 1662349583, 1662480713, 1662611831, + 1662742903, 1662873991, 1663005079, 1663136171, 1663267283, 1663398361, 1663529443, + 1663660571, 1663791659, 1663922731, 1664053829, 1664184911, 1664315987, 1664447077, + 1664578177, 1664709253, 1664840327, 1664971421, 1665102493, 1665233579, 1665364651, + 1665495731, 1665626821, 1665757901, 1665888989, 1666020061, 1666151189, 1666282279, + 1666413377, 1666544483, 1666675589, 1666806683, 1666937759, 1667068831, 1667199923, + 1667331011, 1667462171, 1667593243, 1667724343, 1667855437, 1667986511, 1668117611, + 1668248707, 1668379781, 1668510881, 1668641963, 1668773083, 1668904163, 1669035307, + 1669166383, 1669297463, 1669428539, 1669559629, 1669690703, 1669821779, 1669952861, + 1670083949, 1670215033, 1670346127, 1670477209, 1670608301, 1670739373, 1670870491, + 1671001613, 1671132709, 1671263791, 1671394873, 1671526033, 1671657109, 1671788227, + 1671919343, 1672050421, 1672181543, 1672312667, 1672443739, 1672574833, 1672705933, + 1672837021, 1672968131, 1673099213, 1673230327, 1673361401, 1673492503, 1673623591, + 1673754673, 1673885779, 1674016871, 1674147953, 1674279037, 1674410141, 1674541213, + 1674672299, 1674803411, 1674934487, 1675065617, 1675196707, 1675327789, 1675458871, + 1675589957, 1675721029, 1675852133, 1675983209, 1676114281, 1676245367, 1676376451, + 1676507557, 1676638637, 1676769767, 1676900851, 1677031973, 1677163049, 1677294149, + 1677425237, 1677556319, 1677687397, 1677818491, 1677949571, 1678080653, 1678211737, + 1678342817, 1678473893, 1678604969, 1678736099, 1678867171, 1678998263, 1679129359, + 1679260439, 1679391521, 1679522627, 1679653709, 1679784787, 1679915863, 1680046939, + 1680178081, 1680309167, 1680440249, 1680571331, 1680702403, 1680833501, 1680964577, + 1681095667, 1681226741, 1681357841, 1681488917, 1681620007, 1681751087, 1681882187, + 1682013313, 1682144389, 1682275513, 1682406629, 1682537711, 1682668811, 1682799887, + 1682930969, 1683062077, 1683193189, 1683324271, 1683455351, 1683586427, 1683717517, + 1683848591, 1683979663, 1684110739, 1684241821, 1684372897, 1684503971, 1684635079, + 1684766189, 1684897271, 1685028353, 1685159429, 1685290511, 1685421583, 1685552689, + 1685683787, 1685814883, 1685945969, 1686077047, 1686208123, 1686339199, 1686470287, + 1686601361, 1686732451, 1686863527, 1686994601, 1687125719, 1687256803, 1687387883, + 1687519021, 1687650131, 1687781203, 1687912279, 1688043361, 1688174437, 1688305613, + 1688436697, 1688567809, 1688698889, 1688829973, 1688961049, 1689092131, 1689223219, + 1689354307, 1689485411, 1689616541, 1689747613, 1689878699, 1690009799, 1690140889, + 1690271981, 1690403059, 1690534133, 1690665227, 1690796311, 1690927391, 1691058487, + 1691189567, 1691320669, 1691451743, 1691582831, 1691713909, 1691844983, 1691976061, + 1692107159, 1692238231, 1692369337, 1692500413, 1692631541, 1692762623, 1692893707, + 1693024789, 1693155869, 1693286941, 1693418021, 1693549111, 1693680229, 1693811369, + 1693942447, 1694073559, 1694204639, 1694335717, 1694466847, 1694597923, 1694729017, + 1694860127, 1694991271, 1695122357, 1695253477, 1695384571, 1695515669, 1695646741, + 1695777817, 1695908923, 1696039999, 1696171123, 1696302199, 1696433273, 1696564357, + 1696695433, 1696826539, 1696957627, 1697088713, 1697219789, 1697350861, 1697481991, + 1697613079, 1697744173, 1697875247, 1698006319, 1698137417, 1698268489, 1698399581, + 1698530653, 1698661751, 1698792829, 1698923903, 1699055003, 1699186087, 1699317203, + 1699448281, 1699579363, 1699710443, 1699841537, 1699972609, 1700103707, 1700234803, + 1700365889, 1700496977, 1700628049, 1700759149, 1700890231, 1701021323, 1701152417, + 1701283489, 1701414599, 1701545693, 1701676807, 1701807889, 1701938963, 1702070063, + 1702201199, 1702332287, 1702463359, 1702594441, 1702725539, 1702856621, 1702987703, + 1703118797, 1703249893, 1703380967, 1703512103, 1703643181, 1703774257, 1703905367, + 1704036449, 1704167581, 1704298663, 1704429781, 1704560863, 1704691939, 1704823033, + 1704954133, 1705085209, 1705216283, 1705347359, 1705478441, 1705609513, 1705740593, + 1705871711, 1706002783, 1706133883, 1706264957, 1706396039, 1706527139, 1706658227, + 1706789299, 1706920379, 1707051497, 1707182569, 1707313651, 1707444727, 1707575801, + 1707706873, 1707837959, 1707969037, 1708100189, 1708231279, 1708362361, 1708493441, + 1708624531, 1708755617, 1708886701, 1709017813, 1709148893, 1709279969, 1709411051, + 1709542123, 1709673211, 1709804297, 1709935369, 1710066467, 1710197539, 1710328649, + 1710459763, 1710590857, 1710721939, 1710853019, 1710984151, 1711115249, 1711246321, + 1711377457, 1711508569, 1711639649, 1711770721, 1711901831, 1712032909, 1712163991, + 1712295073, 1712426147, 1712557219, 1712688311, 1712819417, 1712950501, 1713081593, + 1713212681, 1713343757, 1713474859, 1713605987, 1713737087, 1713868181, 1713999257, + 1714130357, 1714261441, 1714392529, 1714523623, 1714654709, 1714785781, 1714916873, + 1715047949, 1715179027, 1715310131, 1715441251, 1715572349, 1715703433, 1715834537, + 1715965621, 1716096727, 1716227827, 1716358961, 1716490033, 1716621119, 1716752227, + 1716883321, 1717014407, 1717145491, 1717276567, 1717407641, 1717538743, 1717669841, + 1717800919, 1717932011, 1718063161, 1718194241, 1718325317, 1718456417, 1718587501, + 1718718583, 1718849669, 1718980741, 1719111833, 1719242909, 1719374003, 1719505079, + 1719636209, 1719767321, 1719898403, 1720029481, 1720160579, 1720291663, 1720422761, + 1720553839, 1720684949, 1720816021, 1720947103, 1721078179, 1721209271, 1721340343, + 1721471419, 1721602537, 1721733613, 1721864717, 1721995817, 1722126899, 1722257993, + 1722389087, 1722520169, 1722651247, 1722782389, 1722913471, 1723044551, 1723175651, + 1723306757, 1723437847, 1723568923, 1723700003, 1723831099, 1723962179, 1724093251, + 1724224339, 1724355421, 1724486501, 1724617589, 1724748671, 1724879749, 1725010871, + 1725141947, 1725273023, 1725404113, 1725535193, 1725666323, 1725797399, 1725928471, + 1726059557, 1726190647, 1726321721, 1726452797, 1726583879, 1726714963, 1726846039, + 1726977151, 1727108233, 1727239361, 1727370479, 1727501569, 1727632651, 1727763761, + 1727894851, 1728025933, 1728157019, 1728288113, 1728419233, 1728550331, 1728681413, + 1728812497, 1728943597, 1729074691, 1729205771, 1729336867, 1729467941, 1729599017, + 1729730117, 1729861219, 1729992307, 1730123393, 1730254501, 1730385583, 1730516687, + 1730647769, 1730778871, 1730909993, 1731041069, 1731172171, 1731303251, 1731434339, + 1731565411, 1731696497, 1731827579, 1731958693, 1732089809, 1732220887, 1732352021, + 1732483111, 1732614209, 1732745291, 1732876367, 1733007449, 1733138549, 1733269691, + 1733400787, 1733531893, 1733662967, 1733794057, 1733925143, 1734056237, 1734187313, + 1734318403, 1734449501, 1734580607, 1734711691, 1734842771, 1734973853, 1735104941, + 1735236037, 1735367111, 1735498187, 1735629277, 1735760387, 1735891463, 1736022539, + 1736153623, 1736284721, 1736415823, 1736546939, 1736678011, 1736809091, 1736940187, + 1737071309, 1737202381, 1737333463, 1737464539, 1737595637, 1737726713, 1737857789, + 1737988871, 1738119983, 1738251061, 1738382147, 1738513223, 1738644301, 1738775483, + 1738906567, 1739037653, 1739168729, 1739299829, 1739430907, 1739562007, 1739693089, + 1739824199, 1739955271, 1740086347, 1740217433, 1740348541, 1740479707, 1740610787, + 1740741859, 1740872933, 1741004047, 1741135127, 1741266203, 1741397293, 1741528381, + 1741659457, 1741790543, 1741921619, 1742052691, 1742183797, 1742314891, 1742445973, + 1742577059, 1742708141, 1742839247, 1742970323, 1743101417, 1743232489, 1743363599, + 1743494671, 1743625781, 1743756857, 1743887939, 1744019021, 1744150181, 1744281281, + 1744412353, 1744543429, 1744674541, 1744805641, 1744936733, 1745067811, 1745198911, + 1745330029, 1745461127, 1745592203, 1745723339, 1745854421, 1745985497, 1746116579, + 1746247693, 1746378773, 1746509851, 1746640927, 1746772003, 1746903077, 1747034183, + 1747165309, 1747296389, 1747427477, 1747558601, 1747689679, 1747820771, 1747951859, + 1748082943, 1748214019, 1748345113, 1748476189, 1748607283, 1748738357, 1748869429, + 1749000529, 1749131609, 1749262703, 1749393791, 1749524867, 1749655969, 1749787069, + 1749918151, 1750049227, 1750180301, 1750311373, 1750442467, 1750573613, 1750704713, + 1750835809, 1750966891, 1751097967, 1751229079, 1751360197, 1751491327, 1751622401, + 1751753473, 1751884549, 1752015691, 1752146783, 1752277871, 1752408947, 1752540059, + 1752671143, 1752802229, 1752933317, 1753064399, 1753195481, 1753326559, 1753457633, + 1753588721, 1753719811, 1753850897, 1753981991, 1754113103, 1754244181, 1754375257, + 1754506331, 1754637457, 1754768531, 1754899607, 1755030679, 1755161761, 1755292841, + 1755423931, 1755555013, 1755686143, 1755817247, 1755948319, 1756079393, 1756210493, + 1756341569, 1756472647, 1756603721, 1756734823, 1756865909, 1756996981, 1757128057, + 1757259131, 1757390251, 1757521361, 1757652469, 1757783543, 1757914643, 1758045719, + 1758176803, 1758307907, 1758439003, 1758570091, 1758701171, 1758832253, 1758963359, + 1759094443, 1759225529, 1759356607, 1759487687, 1759618793, 1759749877, 1759880971, + 1760012119, 1760143199, 1760274281, 1760405371, 1760536493, 1760667673, 1760798789, + 1760929901, 1761060997, 1761192071, 1761323153, 1761454237, 1761585317, 1761716419, + 1761847543, 1761978637, 1762109711, 1762240783, 1762371857, 1762502953, 1762634051, + 1762765133, 1762896217, 1763027291, 1763158379, 1763289461, 1763420563, 1763551649, + 1763682743, 1763813881, 1763944961, 1764076037, 1764207127, 1764338207, 1764469303, + 1764600403, 1764731497, 1764862573, 1764993653, 1765124737, 1765255813, 1765386941, + 1765518031, 1765649129, 1765780201, 1765911299, 1766042371, 1766173459, 1766304583, + 1766435659, 1766566733, 1766697841, 1766828941, 1766960023, 1767091121, 1767222209, + 1767353297, 1767484379, 1767615457, 1767746537, 1767877621, 1768008707, 1768139803, + 1768270877, 1768401967, 1768533047, 1768664137, 1768795213, 1768926287, 1769057363, + 1769188469, 1769319569, 1769450647, 1769581733, 1769712817, 1769843897, 1769974981, + 1770106073, 1770237179, 1770368261, 1770499337, 1770630419, 1770761527, 1770892621, + 1771023703, 1771154783, 1771285877, 1771417001, 1771548073, 1771679159, 1771810241, + 1771941341, 1772072453, 1772203571, 1772334671, 1772465753, 1772596843, 1772727917, + 1772859007, 1772990123, 1773121213, 1773252293, 1773383369, 1773514441, 1773645557, + 1773776647, 1773907741, 1774038817, 1774169899, 1774300973, 1774432057, 1774563169, + 1774694303, 1774825379, 1774956499, 1775087603, 1775218759, 1775349841, 1775480921, + 1775612009, 1775743117, 1775874193, 1776005267, 1776136343, 1776267431, 1776398531, + 1776529603, 1776660679, 1776791759, 1776922831, 1777053937, 1777185031, 1777316111, + 1777447193, 1777578277, 1777709357, 1777840439, 1777971521, 1778102617, 1778233697, + 1778364827, 1778495903, 1778627009, 1778758087, 1778889169, 1779020249, 1779151331, + 1779282403, 1779413497, 1779544609, 1779675697, 1779806773, 1779937853, 1780068937, + 1780200047, 1780331131, 1780462213, 1780593307, 1780724417, 1780855493, 1780986569, + 1781117641, 1781248717, 1781379793, 1781510867, 1781641987, 1781773093, 1781904167, + 1782035263, 1782166343, 1782297421, 1782428497, 1782559577, 1782690659, 1782821731, + 1782952841, 1783083919, 1783215011, 1783346111, 1783477217, 1783608289, 1783739381, + 1783870457, 1784001577, 1784132653, 1784263739, 1784394841, 1784526011, 1784657111, + 1784788193, 1784919281, 1785050353, 1785181427, 1785312517, 1785443633, 1785574711, + 1785705793, 1785836873, 1785967957, 1786099061, 1786230181, 1786361321, 1786492453, + 1786623539, 1786754611, 1786885693, 1787016769, 1787147849, 1787278921, 1787410021, + 1787541097, 1787672203, 1787803291, 1787934391, 1788065479, 1788196583, 1788327689, + 1788458761, 1788589837, 1788720917, 1788852011, 1788983089, 1789114177, 1789245281, + 1789376399, 1789507471, 1789638551, 1789769623, 1789900703, 1790031809, 1790162893, + 1790293991, 1790425163, 1790556239, 1790687323, 1790818417, 1790949497, 1791080593, + 1791211729, 1791342809, 1791473951, 1791605059, 1791736139, 1791867227, 1791998311, + 1792129397, 1792260473, 1792391569, 1792522663, 1792653749, 1792784849, 1792915939, + 1793047019, 1793178109, 1793309191, 1793440273, 1793571379, 1793702489, 1793833597, + 1793964673, 1794095761, 1794226877, 1794357991, 1794489079, 1794620153, 1794751241, + 1794882371, 1795013471, 1795144543, 1795275623, 1795406713, 1795537817, 1795668983, + 1795800101, 1795931173, 1796062253, 1796193353, 1796324437, 1796455559, 1796586647, + 1796717731, 1796848817, 1796979889, 1797110963, 1797242063, 1797373159, 1797504251, + 1797635381, 1797766499, 1797897587, 1798028669, 1798159747, 1798290847, 1798421923, + 1798553021, 1798684093, 1798815191, 1798946263, 1799077337, 1799208409, 1799339527, + 1799470633, 1799601721, 1799732797, 1799863883, 1799994961, 1800126061, 1800257153, + 1800388243, 1800519323, 1800650419, 1800781517, 1800912593, 1801043677, 1801174759, + 1801305899, 1801436971, 1801568071, 1801699171, 1801830257, 1801961333, 1802092417, + 1802223509, 1802354591, 1802485681, 1802616763, 1802747861, 1802878933, 1803010007, + 1803141089, 1803272183, 1803403279, 1803534377, 1803665483, 1803796591, 1803927667, + 1804058741, 1804189931, 1804321007, 1804452079, 1804583233, 1804714313, 1804845391, + 1804976483, 1805107561, 1805238641, 1805369771, 1805500843, 1805631943, 1805763017, + 1805894089, 1806025163, 1806156241, 1806287317, 1806418421, 1806549499, 1806680573, + 1806811651, 1806942757, 1807073843, 1807204939, 1807336033, 1807467127, 1807598203, + 1807729307, 1807860389, 1807991467, 1808122541, 1808253613, 1808384693, 1808515823, + 1808646923, 1808778077, 1808909153, 1809040243, 1809171323, 1809302497, 1809433583, + 1809564697, 1809695803, 1809826901, 1809957973, 1810089091, 1810220183, 1810351259, + 1810482341, 1810613491, 1810744567, 1810875667, 1811006741, 1811137819, 1811268967, + 1811400047, 1811531119, 1811662249, 1811793323, 1811924423, 1812055513, 1812186589, + 1812317693, 1812448769, 1812579851, 1812710923, 1812841999, 1812973079, 1813104151, + 1813235267, 1813366363, 1813497443, 1813628567, 1813759643, 1813890737, 1814021819, + 1814152931, 1814284007, 1814415137, 1814546243, 1814677331, 1814808403, 1814939479, + 1815070571, 1815201649, 1815332767, 1815463861, 1815594941, 1815726083, 1815857171, + 1815988259, 1816119341, 1816250419, 1816381499, 1816512601, 1816643677, 1816774829, + 1816905943, 1817037023, 1817168141, 1817299249, 1817430337, 1817561419, 1817692511, + 1817823641, 1817954737, 1818085831, 1818216931, 1818348011, 1818479101, 1818610177, + 1818741271, 1818872359, 1819003441, 1819134539, 1819265611, 1819396723, 1819527811, + 1819658891, 1819789963, 1819921057, 1820052139, 1820183213, 1820314289, 1820445371, + 1820576449, 1820707529, 1820838619, 1820969713, 1821100793, 1821231877, 1821362957, + 1821494047, 1821625147, 1821756241, 1821887341, 1822018423, 1822149503, 1822280587, + 1822411687, 1822542763, 1822673927, 1822805041, 1822936153, 1823067229, 1823198383, + 1823329483, 1823460559, 1823591641, 1823722727, 1823853821, 1823984923, 1824116003, + 1824247127, 1824378217, 1824509299, 1824640373, 1824771463, 1824902537, 1825033627, + 1825164709, 1825295837, 1825426921, 1825557997, 1825689091, 1825820173, 1825951307, + 1826082383, 1826213497, 1826344577, 1826475649, 1826606759, 1826737831, 1826868947, + 1827000037, 1827131123, 1827262201, 1827393289, 1827524371, 1827655477, 1827786551, + 1827917627, 1828048721, 1828179809, 1828310881, 1828441961, 1828573073, 1828704149, + 1828835221, 1828966297, 1829097397, 1829228483, 1829359573, 1829490661, 1829621771, + 1829752843, 1829883931, 1830015023, 1830146119, 1830277193, 1830408311, 1830539393, + 1830670489, 1830801589, 1830932683, 1831063771, 1831194851, 1831325929, 1831457009, + 1831588081, 1831719209, 1831850291, 1831981367, 1832112479, 1832243591, 1832374673, + 1832505751, 1832636837, 1832767913, 1832898989, 1833030071, 1833161149, 1833292271, + 1833423353, 1833554441, 1833685523, 1833816629, 1833947707, 1834078781, 1834209869, + 1834340969, 1834472041, 1834603117, 1834734229, 1834865323, 1834996399, 1835127499, + 1835258599, 1835389687, 1835520761, 1835651849, 1835782931, 1835914009, 1836045097, + 1836176183, 1836307267, 1836438341, 1836569417, 1836700499, 1836831571, 1836962657, + 1837093777, 1837224853, 1837355939, 1837487033, 1837618129, 1837749211, 1837880287, + 1838011361, 1838142433, 1838273509, 1838404609, 1838535689, 1838666779, 1838797879, + 1838928983, 1839060079, 1839191191, 1839322273, 1839453347, 1839584431, 1839715561, + 1839846637, 1839977743, 1840108817, 1840239937, 1840371019, 1840502101, 1840633247, + 1840764323, 1840895411, 1841026511, 1841157607, 1841288711, 1841419793, 1841550869, + 1841681957, 1841813063, 1841944157, 1842075247, 1842206347, 1842337439, 1842468527, + 1842599623, 1842730741, 1842861847, 1842992923, 1843123999, 1843255079, 1843386151, + 1843517239, 1843648327, 1843779409, 1843910489, 1844041601, 1844172697, 1844303771, + 1844434849, 1844565949, 1844697053, 1844828131, 1844959217, 1845090301, 1845221381, + 1845352501, 1845483587, 1845614671, 1845745763, 1845876863, 1846007941, 1846139023, + 1846270133, 1846401233, 1846532321, 1846663453, 1846794533, 1846925669, 1847056763, + 1847187869, 1847318953, 1847450029, 1847581103, 1847712187, 1847843279, 1847974379, + 1848105461, 1848236569, 1848367643, 1848498719, 1848629791, 1848760871, 1848891971, + 1849023047, 1849154147, 1849285231, 1849416311, 1849547437, 1849678513, 1849809589, + 1849940671, 1850071753, 1850202829, 1850333909, 1850464991, 1850596073, 1850727169, + 1850858263, 1850989339, 1851120413, 1851251489, 1851382567, 1851513659, 1851644749, + 1851775901, 1851907007, 1852038109, 1852169197, 1852300273, 1852431377, 1852562473, + 1852693567, 1852824641, 1852955719, 1853086811, 1853217929, 1853349007, 1853480081, + 1853611159, 1853742301, 1853873381, 1854004457, 1854135529, 1854266621, 1854397693, + 1854528799, 1854659923, 1854790997, 1854922081, 1855053191, 1855184273, 1855315361, + 1855446433, 1855577519, 1855708601, 1855839691, 1855970777, 1856101861, 1856232947, + 1856364019, 1856495107, 1856626181, 1856757257, 1856888329, 1857019433, 1857150541, + 1857281617, 1857412717, 1857543817, 1857674909, 1857805987, 1857937061, 1858068143, + 1858199249, 1858330363, 1858461443, 1858592531, 1858723627, 1858854703, 1858985801, + 1859116879, 1859247977, 1859379059, 1859510207, 1859641279, 1859772359, 1859903447, + 1860034543, 1860165631, 1860296717, 1860427817, 1860558893, 1860689989, 1860821099, + 1860952183, 1861083271, 1861214347, 1861345433, 1861476511, 1861607609, 1861738733, + 1861869809, 1862000887, 1862131969, 1862263061, 1862394137, 1862525279, 1862656351, + 1862787431, 1862918509, 1863049597, 1863180673, 1863311759, 1863442837, 1863573911, + 1863705007, 1863836081, 1863967169, 1864098241, 1864229329, 1864360409, 1864491491, + 1864622567, 1864753661, 1864884737, 1865015837, 1865146957, 1865278031, 1865409107, + 1865540197, 1865671319, 1865802403, 1865933501, 1866064579, 1866195671, 1866326771, + 1866457847, 1866589003, 1866720083, 1866851159, 1866982231, 1867113317, 1867244413, + 1867375501, 1867506583, 1867637659, 1867768739, 1867899841, 1868030939, 1868162039, + 1868293159, 1868424247, 1868555341, 1868686433, 1868817521, 1868948597, 1869079673, + 1869210859, 1869341933, 1869473029, 1869604109, 1869735181, 1869866269, 1869997391, + 1870128473, 1870259551, 1870390631, 1870521703, 1870652803, 1870783879, 1870914979, + 1871046091, 1871177249, 1871308321, 1871439419, 1871570497, 1871701597, 1871832691, + 1871963783, 1872094877, 1872225961, 1872357043, 1872488129, 1872619211, 1872750287, + 1872881359, 1873012433, 1873143523, 1873274617, 1873405691, 1873536767, 1873667839, + 1873798931, 1873930027, 1874061107, 1874192209, 1874323289, 1874454371, 1874585443, + 1874716517, 1874847613, 1874978701, 1875109781, 1875240883, 1875371959, 1875503039, + 1875634121, 1875765217, 1875896303, 1876027381, 1876158463, 1876289537, 1876420619, + 1876551707, 1876682779, 1876813859, 1876944947, 1877076031, 1877207131, 1877338231, + 1877469353, 1877600441, 1877731543, 1877862629, 1877993729, 1878124811, 1878255943, + 1878387031, 1878518111, 1878649193, 1878780271, 1878911347, 1879042439, 1879173521, + 1879304597, 1879435669, 1879566751, 1879697861, 1879828943, 1879960057, 1880091209, + 1880222291, 1880353381, 1880484527, 1880615603, 1880746723, 1880877797, 1881008879, + 1881139961, 1881271037, 1881402179, 1881533263, 1881664349, 1881795427, 1881926509, + 1882057609, 1882188703, 1882319809, 1882450883, 1882581977, 1882713103, 1882844191, + 1882975277, 1883106383, 1883237479, 1883368607, 1883499679, 1883630779, 1883761879, + 1883892953, 1884024041, 1884155131, 1884286231, 1884417313, 1884548387, 1884679481, + 1884810559, 1884941633, 1885072711, 1885203791, 1885334873, 1885465951, 1885597033, + 1885728137, 1885859219, 1885990313, 1886121397, 1886252503, 1886383589, 1886514683, + 1886645777, 1886776867, 1886907941, 1887039013, 1887170101, 1887301183, 1887432289, + 1887563369, 1887694451, 1887825523, 1887956611, 1888087697, 1888218779, 1888349917, + 1888481039, 1888612111, 1888743229, 1888874327, 1889005409, 1889136481, 1889267563, + 1889398639, 1889529769, 1889660869, 1889791951, 1889923033, 1890054109, 1890185201, + 1890316277, 1890447359, 1890578441, 1890709537, 1890840631, 1890971723, 1891102817, + 1891233889, 1891364989, 1891496069, 1891627151, 1891758227, 1891889323, 1892020409, + 1892151529, 1892282617, 1892413697, 1892544781, 1892675893, 1892806969, 1892938043, + 1893069127, 1893200207, 1893331283, 1893462359, 1893593431, 1893724507, 1893855583, + 1893986657, 1894117783, 1894248859, 1894379951, 1894511051, 1894642151, 1894773241, + 1894904369, 1895035451, 1895166551, 1895297629, 1895428741, 1895559817, 1895690941, + 1895822113, 1895953193, 1896084283, 1896215401, 1896346489, 1896477563, 1896608647, + 1896739721, 1896870797, 1897001881, 1897132973, 1897264051, 1897395127, 1897526209, + 1897657309, 1897788383, 1897919461, 1898050537, 1898181611, 1898312693, 1898443777, + 1898574877, 1898705971, 1898837051, 1898968163, 1899099269, 1899230341, 1899361417, + 1899492499, 1899623587, 1899754669, 1899885749, 1900016831, 1900147927, 1900279037, + 1900410133, 1900541207, 1900672303, 1900803379, 1900934507, 1901065583, 1901196667, + 1901327741, 1901458817, 1901589889, 1901720969, 1901852041, 1901983129, 1902114229, + 1902245339, 1902376447, 1902507559, 1902638653, 1902769741, 1902900829, 1903031947, + 1903163027, 1903294111, 1903425211, 1903556299, 1903687393, 1903818503, 1903949609, + 1904080709, 1904211811, 1904342959, 1904474053, 1904605139, 1904736227, 1904867353, + 1904998489, 1905129571, 1905260671, 1905391777, 1905522893, 1905654011, 1905785087, + 1905916169, 1906047257, 1906178369, 1906309441, 1906440517, 1906571599, 1906702673, + 1906833751, 1906964827, 1907095943, 1907227033, 1907358107, 1907489183, 1907620259, + 1907751337, 1907882429, 1908013511, 1908144593, 1908275671, 1908406783, 1908537887, + 1908668987, 1908800063, 1908931147, 1909062223, 1909193323, 1909324409, 1909455503, + 1909586579, 1909717651, 1909848749, 1909979831, 1910110921, 1910242013, 1910373119, + 1910504257, 1910635339, 1910766427, 1910897533, 1911028619, 1911159697, 1911290783, + 1911421867, 1911552943, 1911684029, 1911815107, 1911946181, 1912077257, 1912208357, + 1912339433, 1912470529, 1912601627, 1912732709, 1912863791, 1912994869, 1913125967, + 1913257063, 1913388151, 1913519327, 1913650421, 1913781503, 1913912597, 1914043669, + 1914174767, 1914305839, 1914436949, 1914568027, 1914699107, 1914830213, 1914961297, + 1915092371, 1915223473, 1915354549, 1915485631, 1915616749, 1915747829, 1915878901, + 1916009981, 1916141057, 1916272129, 1916403221, 1916534303, 1916665381, 1916796493, + 1916927567, 1917058667, 1917189751, 1917320861, 1917451933, 1917583039, 1917714131, + 1917845203, 1917976283, 1918107413, 1918238519, 1918369619, 1918500697, 1918631807, + 1918762883, 1918893971, 1919025067, 1919156191, 1919287277, 1919418353, 1919549431, + 1919680507, 1919811611, 1919942701, 1920073781, 1920204857, 1920335969, 1920467069, + 1920598181, 1920729257, 1920860329, 1920991421, 1921122499, 1921253573, 1921384667, + 1921515773, 1921646861, 1921777943, 1921909097, 1922040181, 1922171257, 1922302337, + 1922433419, 1922564507, 1922695589, 1922826671, 1922957749, 1923088823, 1923219901, + 1923350993, 1923482083, 1923613171, 1923744269, 1923875377, 1924006451, 1924137539, + 1924268677, 1924399753, 1924530841, 1924661927, 1924792999, 1924924103, 1925055179, + 1925186251, 1925317343, 1925448431, 1925579533, 1925710613, 1925841707, 1925972779, + 1926103919, 1926235007, 1926366083, 1926497197, 1926628271, 1926759347, 1926890431, + 1927021507, 1927152587, 1927283663, 1927414759, 1927545853, 1927676983, 1927808063, + 1927939151, 1928070241, 1928201371, 1928332481, 1928463553, 1928594641, 1928725811, + 1928856887, 1928988023, 1929119111, 1929250207, 1929381283, 1929512381, 1929643517, + 1929774599, 1929905683, 1930036769, 1930167853, 1930298941, 1930430041, 1930561181, + 1930692259, 1930823369, 1930954457, 1931085547, 1931216647, 1931347723, 1931478827, + 1931609899, 1931741003, 1931872087, 1932003167, 1932134273, 1932265367, 1932396509, + 1932527587, 1932658661, 1932789739, 1932920831, 1933051933, 1933183013, 1933314107, + 1933445179, 1933576273, 1933707389, 1933838471, 1933969547, 1934100661, 1934231753, + 1934362861, 1934493973, 1934625103, 1934756183, 1934887267, 1935018343, 1935149417, + 1935280547, 1935411619, 1935542723, 1935673819, 1935804901, 1935935993, 1936067167, + 1936198301, 1936329377, 1936460479, 1936591561, 1936722647, 1936853729, 1936984919, + 1937115991, 1937247083, 1937378203, 1937509307, 1937640403, 1937771477, 1937902601, + 1938033689, 1938164777, 1938295867, 1938426943, 1938558029, 1938689101, 1938820183, + 1938951277, 1939082357, 1939213429, 1939344509, 1939475581, 1939606703, 1939737781, + 1939868857, 1939999939, 1940131099, 1940262209, 1940393303, 1940524379, 1940655481, + 1940786563, 1940917637, 1941048709, 1941179813, 1941310913, 1941441989, 1941573107, + 1941704179, 1941835261, 1941966371, 1942097449, 1942228543, 1942359631, 1942490717, + 1942621819, 1942752901, 1942883989, 1943015083, 1943146159, 1943277233, 1943408351, + 1943539427, 1943670527, 1943801603, 1943932687, 1944063761, 1944194839, 1944325919, + 1944457013, 1944588103, 1944719177, 1944850309, 1944981419, 1945112503, 1945243591, + 1945374721, 1945505839, 1945636933, 1945768067, 1945899173, 1946030263, 1946161351, + 1946292433, 1946423543, 1946554627, 1946685701, 1946816783, 1946947859, 1947078949, + 1947210029, 1947341101, 1947472211, 1947603289, 1947734363, 1947865499, 1947996571, + 1948127689, 1948258771, 1948389887, 1948520993, 1948652119, 1948783211, 1948914299, + 1949045377, 1949176483, 1949307557, 1949438651, 1949569777, 1949700853, 1949831951, + 1949963063, 1950094141, 1950225239, 1950356311, 1950487387, 1950618479, 1950749569, + 1950880643, 1951011757, 1951142857, 1951273937, 1951405021, 1951536127, 1951667209, + 1951798291, 1951929379, 1952060491, 1952191597, 1952322689, 1952453773, 1952584849, + 1952715929, 1952847007, 1952978089, 1953109187, 1953240259, 1953371333, 1953502409, + 1953633481, 1953764569, 1953895661, 1954026791, 1954157873, 1954288969, 1954420049, + 1954551121, 1954682203, 1954813277, 1954944361, 1955075467, 1955206541, 1955337613, + 1955468693, 1955599783, 1955730863, 1955861981, 1955993059, 1956124139, 1956255211, + 1956386287, 1956517411, 1956648497, 1956779593, 1956910667, 1957041769, 1957172857, + 1957303951, 1957435027, 1957566113, 1957697197, 1957828283, 1957959371, 1958090473, + 1958221561, 1958352653, 1958483731, 1958614807, 1958745949, 1958877023, 1959008143, + 1959139261, 1959270343, 1959401417, 1959532493, 1959663569, 1959794657, 1959925757, + 1960056829, 1960187963, 1960319047, 1960450127, 1960581209, 1960712287, 1960843363, + 1960974523, 1961105639, 1961236721, 1961367797, 1961498899, 1961629973, 1961761069, + 1961892151, 1962023237, 1962154333, 1962285407, 1962416479, 1962547567, 1962678659, + 1962809731, 1962940813, 1963071907, 1963203001, 1963334081, 1963465157, 1963596241, + 1963727357, 1963858433, 1963989509, 1964120623, 1964251697, 1964382809, 1964513891, + 1964644987, 1964776061, 1964907157, 1965038233, 1965169307, 1965300433, 1965431509, + 1965562733, 1965693841, 1965824921, 1965955993, 1966087069, 1966218151, 1966349233, + 1966480331, 1966611487, 1966742587, 1966873669, 1967004749, 1967135839, 1967266919, + 1967398061, 1967529133, 1967660209, 1967791283, 1967922361, 1968053441, 1968184523, + 1968315599, 1968446719, 1968577801, 1968708901, 1968840007, 1968971089, 1969102171, + 1969233257, 1969364329, 1969495421, 1969626497, 1969757623, 1969888727, 1970019811, + 1970150887, 1970281967, 1970413061, 1970544133, 1970675249, 1970806339, 1970937427, + 1971068543, 1971199627, 1971330719, 1971461803, 1971592877, 1971723959, 1971855031, + 1971986113, 1972117187, 1972248293, 1972379411, 1972510483, 1972641557, 1972772639, + 1972903717, 1973034793, 1973165869, 1973296943, 1973428033, 1973559167, 1973690249, + 1973821331, 1973952403, 1974083483, 1974214577, 1974345661, 1974476759, 1974607849, + 1974739001, 1974870077, 1975001153, 1975132249, 1975263331, 1975394411, 1975525493, + 1975656589, 1975787677, 1975918793, 1976049877, 1976180957, 1976312029, 1976443109, + 1976574221, 1976705303, 1976836387, 1976967463, 1977098551, 1977229637, 1977360713, + 1977491797, 1977622873, 1977753949, 1977885083, 1978016167, 1978147253, 1978278349, + 1978409431, 1978540507, 1978671587, 1978802663, 1978933793, 1979064881, 1979195957, + 1979327041, 1979458127, 1979589223, 1979720321, 1979851397, 1979982491, 1980113567, + 1980244661, 1980375743, 1980506893, 1980637973, 1980769051, 1980900127, 1981031201, + 1981162273, 1981293361, 1981424441, 1981555553, 1981686653, 1981817741, 1981948831, + 1982079977, 1982211053, 1982342191, 1982473331, 1982604409, 1982735497, 1982866573, + 1982997649, 1983128737, 1983259819, 1983390911, 1983521987, 1983653059, 1983784157, + 1983915253, 1984046333, 1984177417, 1984308503, 1984439581, 1984570681, 1984701773, + 1984832849, 1984963927, 1985095027, 1985226169, 1985357243, 1985488331, 1985619407, + 1985750479, 1985881559, 1986012631, 1986143707, 1986274813, 1986405913, 1986536999, + 1986668083, 1986799169, 1986930271, 1987061359, 1987192453, 1987323551, 1987454647, + 1987585751, 1987716827, 1987847921, 1987979041, 1988110141, 1988241223, 1988372297, + 1988503381, 1988634463, 1988765539, 1988896619, 1989027697, 1989158771, 1989289877, + 1989420989, 1989552077, 1989683153, 1989814237, 1989945323, 1990076437, 1990207553, + 1990338629, 1990469713, 1990600793, 1990731871, 1990862947, 1990994029, 1991125139, + 1991256227, 1991387303, 1991518381, 1991649479, 1991780561, 1991911639, 1992042739, + 1992173831, 1992304903, 1992436021, 1992567097, 1992698171, 1992829243, 1992960329, + 1993091413, 1993222537, 1993353617, 1993484749, 1993615849, 1993746947, 1993878043, + 1994009123, 1994140217, 1994271289, 1994402369, 1994533447, 1994664541, 1994795629, + 1994926729, 1995057821, 1995188911, 1995320071, 1995451189, 1995582263, 1995713339, + 1995844457, 1995975529, 1996106641, 1996237723, 1996368797, 1996499893, 1996630991, + 1996762063, 1996893139, 1997024213, 1997155337, 1997286419, 1997417507, 1997548601, + 1997679683, 1997810761, 1997941867, 1998072949, 1998204067, 1998335147, 1998466219, + 1998597313, 1998728387, 1998859463, 1998990563, 1999121639, 1999252711, 1999383803, + 1999514879, 1999645981, 1999777061, 1999908133, 2000039213, 2000170301, 2000301427, + 2000432501, 2000563573, 2000694677, 2000825753, 2000956871, 2001087953, 2001219083, + 2001350189, 2001481301, 2001612377, 2001743467, 2001874541, 2002005617, 2002136701, + 2002267789, 2002398887, 2002529981, 2002661053, 2002792133, 2002923217, 2003054293, + 2003185369, 2003316449, 2003447527, 2003578627, 2003709703, 2003840809, 2003971889, + 2004103019, 2004234137, 2004365219, 2004496313, 2004627389, 2004758467, 2004889589, + 2005020671, 2005151747, 2005282823, 2005413911, 2005544993, 2005676083, 2005807187, + 2005938269, 2006069389, 2006200487, 2006331559, 2006462641, 2006593747, 2006724821, + 2006855911, 2006986991, 2007118063, 2007249157, 2007380237, 2007511343, 2007642433, + 2007773533, 2007904607, 2008035737, 2008166827, 2008297901, 2008428973, 2008560061, + 2008691161, 2008822247, 2008953371, 2009084449, 2009215561, 2009346641, 2009477759, + 2009608871, 2009739943, 2009871047, 2010002143, 2010133273, 2010264349, 2010395447, + 2010526519, 2010657617, 2010788729, 2010919819, 2011050901, 2011181981, 2011313053, + 2011444151, 2011575257, 2011706341, 2011837417, 2011968509, 2012099581, 2012230657, + 2012361731, 2012492819, 2012623909, 2012755009, 2012886107, 2013017207, 2013148297, + 2013279379, 2013410491, 2013541567, 2013672707, 2013803809, 2013934939, 2014066013, + 2014197091, 2014328191, 2014459331, 2014590421, 2014721503, 2014852579, 2014983683, + 2015114767, 2015245847, 2015376941, 2015508013, 2015639099, 2015770171, 2015901247, + 2016032323, 2016163453, 2016294541, 2016425623, 2016556699, 2016687809, 2016818899, + 2016949981, 2017081057, 2017212133, 2017343219, 2017474313, 2017605397, 2017736471, + 2017867543, 2017998623, 2018129699, 2018260799, 2018391883, 2018522963, 2018654051, + 2018785127, 2018916253, 2019047353, 2019178439, 2019309511, 2019440597, 2019571681, + 2019702791, 2019833867, 2019964951, 2020096037, 2020227137, 2020358213, 2020489297, + 2020620383, 2020751459, 2020882537, 2021013613, 2021144693, 2021275771, 2021406851, + 2021537933, 2021669029, 2021800117, 2021931203, 2022062279, 2022193361, 2022324439, + 2022455641, 2022586763, 2022717859, 2022848953, 2022980033, 2023111117, 2023242197, + 2023373347, 2023504421, 2023635503, 2023766579, 2023897661, 2024028757, 2024159843, + 2024290967, 2024422039, 2024553119, 2024684239, 2024815321, 2024946403, 2025077491, + 2025208567, 2025339649, 2025470723, 2025601847, 2025732953, 2025864053, 2025995189, + 2026126307, 2026257403, 2026388537, 2026519661, 2026650737, 2026781849, 2026912957, + 2027044057, 2027175131, 2027306231, 2027437309, 2027568383, 2027699461, 2027830561, + 2027961697, 2028092791, 2028223867, 2028354947, 2028486049, 2028617141, 2028748243, + 2028879329, 2029010429, 2029141501, 2029272607, 2029403681, 2029534781, 2029665857, + 2029796929, 2029928029, 2030059127, 2030190203, 2030321281, 2030452379, 2030583481, + 2030714563, 2030845637, 2030976719, 2031107797, 2031238921, 2031370037, 2031501119, + 2031632203, 2031763297, 2031894373, 2032025449, 2032156583, 2032287707, 2032418783, + 2032549889, 2032680961, 2032812037, 2032943131, 2033074229, 2033205301, 2033336377, + 2033467511, 2033598617, 2033729689, 2033860771, 2033991863, 2034122953, 2034254063, + 2034385139, 2034516229, 2034647333, 2034778411, 2034909491, 2035040653, 2035171729, + 2035302803, 2035433887, 2035564963, 2035696037, 2035827109, 2035958191, 2036089313, + 2036220419, 2036351491, 2036482571, 2036613659, 2036744747, 2036875823, 2037006899, + 2037137989, 2037269063, 2037400159, 2037531241, 2037662317, 2037793403, 2037924479, + 2038055561, 2038186637, 2038317709, 2038448809, 2038579889, 2038710967, 2038842053, + 2038973141, 2039104217, 2039235347, 2039366419, 2039497511, 2039628607, 2039759681, + 2039890789, 2040021917, 2040152993, 2040284093, 2040415171, 2040546281, 2040677389, + 2040808477, 2040939557, 2041070653, 2041201753, 2041332827, 2041463929, 2041595021, + 2041726133, 2041857241, 2041988317, 2042119481, 2042250563, 2042381641, 2042512727, + 2042643809, 2042774897, 2042905979, 2043037063, 2043168139, 2043299221, 2043430307, + 2043561379, 2043692461, 2043823547, 2043954623, 2044085699, 2044216771, 2044347857, + 2044478929, 2044610021, 2044741133, 2044872211, 2045003291, 2045134381, 2045265457, + 2045396567, 2045527651, 2045658733, 2045789813, 2045920889, 2046051979, 2046183059, + 2046314147, 2046445223, 2046576299, 2046707387, 2046838463, 2046969539, 2047100617, + 2047231729, 2047362829, 2047493909, 2047624987, 2047756093, 2047887197, 2048018281, + 2048149387, 2048280463, 2048411623, 2048542711, 2048673787, 2048804909, 2048935981, + 2049067061, 2049198209, 2049329287, 2049460373, 2049591457, 2049722537, 2049853621, + 2049984719, 2050115849, 2050246931, 2050378003, 2050509101, 2050640183, 2050771259, + 2050902367, 2051033447, 2051164601, 2051295679, 2051426753, 2051557829, 2051688943, + 2051820037, 2051951117, 2052082199, 2052213277, 2052344351, 2052475471, 2052606551, + 2052737663, 2052868739, 2052999821, 2053130941, 2053262111, 2053393217, 2053524311, + 2053655411, 2053786489, 2053917571, 2054048663, 2054179741, 2054310823, 2054441923, + 2054573009, 2054704097, 2054835173, 2054966281, 2055097367, 2055228509, 2055359587, + 2055490669, 2055621781, 2055752869, 2055883943, 2056015043, 2056146121, 2056277207, + 2056408301, 2056539383, 2056670477, 2056801567, 2056932641, 2057063717, 2057194829, + 2057325901, 2057456981, 2057588053, 2057719141, 2057850241, 2057981357, 2058112523, + 2058243623, 2058374711, 2058505783, 2058636857, 2058767951, 2058899041, 2059030147, + 2059161229, 2059292309, 2059423397, 2059554487, 2059685561, 2059816643, 2059947733, + 2060078807, 2060209903, 2060341043, 2060472203, 2060603299, 2060734387, 2060865463, + 2060996549, 2061127631, 2061258709, 2061389783, 2061520859, 2061651967, 2061783041, + 2061914119, 2062045201, 2062176289, 2062307371, 2062438447, 2062569539, 2062700617, + 2062831721, 2062962799, 2063093881, 2063224993, 2063356073, 2063487157, 2063618231, + 2063749349, 2063880443, 2064011569, 2064142651, 2064273727, 2064404807, 2064535883, + 2064666959, 2064798091, 2064929203, 2065060279, 2065191353, 2065322429, 2065453517, + 2065584637, 2065715737, 2065846819, 2065977899, 2066108977, 2066240081, 2066371159, + 2066502233, 2066633323, 2066764411, 2066895499, 2067026573, 2067157661, 2067288767, + 2067419839, 2067550939, 2067682013, 2067813089, 2067944161, 2068075241, 2068206331, + 2068337437, 2068468579, 2068599679, 2068730771, 2068861853, 2068992931, 2069124011, + 2069255087, 2069386177, 2069517349, 2069648479, 2069779601, 2069910709, 2070041783, + 2070172879, 2070304007, 2070435113, 2070566189, 2070697261, 2070828359, 2070959479, + 2071090559, 2071221643, 2071352719, 2071483793, 2071614871, 2071745957, 2071877039, + 2072008117, 2072139191, 2072270323, 2072401399, 2072532491, 2072663573, 2072794651, + 2072925731, 2073056809, 2073187891, 2073318983, 2073450061, 2073581179, 2073712271, + 2073843353, 2073974447, 2074105547, 2074236653, 2074367753, 2074498849, 2074629937, + 2074761011, 2074892111, 2075023183, 2075154269, 2075285347, 2075416487, 2075547563, + 2075678639, 2075809721, 2075940803, 2076071897, 2076202969, 2076334067, 2076465229, + 2076596303, 2076727397, 2076858491, 2076989591, 2077120663, 2077251773, 2077382849, + 2077513931, 2077645019, 2077776097, 2077907171, 2078038243, 2078169341, 2078300449, + 2078431529, 2078562631, 2078693713, 2078824799, 2078955877, 2079087011, 2079218093, + 2079349171, 2079480259, 2079611341, 2079742417, 2079873553, 2080004627, 2080135723, + 2080266883, 2080397981, 2080529081, 2080660171, 2080791247, 2080922339, 2081053411, + 2081184493, 2081315567, 2081446657, 2081577811, 2081708887, 2081839967, 2081971049, + 2082102167, 2082233243, 2082364367, 2082495439, 2082626527, 2082757627, 2082888701, + 2083019773, 2083150877, 2083281953, 2083413047, 2083544119, 2083675207, 2083806289, + 2083937399, 2084068489, 2084199563, 2084330641, 2084461727, 2084592803, 2084723881, + 2084854963, 2084986037, 2085117109, 2085248189, 2085379279, 2085510353, 2085641443, + 2085772537, 2085903613, 2086034707, 2086165799, 2086296887, 2086428013, 2086559089, + 2086690163, 2086821251, 2086952323, 2087083429, 2087214553, 2087345633, 2087476759, + 2087607887, 2087738959, 2087870041, 2088001117, 2088132191, 2088263263, 2088394339, + 2088525433, 2088656513, 2088787633, 2088918751, 2089049839, 2089180921, 2089312073, + 2089443149, 2089574231, 2089705333, 2089836439, 2089967527, 2090098603, 2090229677, + 2090360809, 2090491901, 2090622979, 2090754067, 2090885141, 2091016241, 2091147343, + 2091278419, 2091409499, 2091540599, 2091671671, 2091802747, 2091933853, 2092064927, + 2092196009, 2092327091, 2092458167, 2092589267, 2092720361, 2092851479, 2092982597, + 2093113691, 2093244787, 2093375861, 2093506957, 2093638037, 2093769121, 2093900209, + 2094031301, 2094162373, 2094293447, 2094424523, 2094555647, 2094686743, 2094817819, + 2094948899, 2095079981, 2095211057, 2095342147, 2095473251, 2095604327, 2095735399, + 2095866473, 2095997587, 2096128693, 2096259829, 2096390909, 2096521981, 2096653079, + 2096784211, 2096915329, 2097046417, 2097177503, 2097308593, 2097439699, 2097570803, + 2097701891, 2097832987, 2097964061, 2098095133, 2098226219, 2098357319, 2098488391, + 2098619473, 2098750559, 2098881637, 2099012719, 2099143819, 2099274893, 2099406031, + 2099537117, 2099668189, 2099799301, 2099930381, 2100061463, 2100192559, 2100323653, + 2100454753, 2100585833, 2100716927, 2100848003, 2100979079, 2101110173, 2101241279, + 2101372409, 2101503499, 2101634573, 2101765663, 2101896743, 2102027833, 2102158921, + 2102290019, 2102421121, 2102552233, 2102683337, 2102814449, 2102945531, 2103076621, + 2103207703, 2103338807, 2103469897, 2103601009, 2103732097, 2103863183, 2103994261, + 2104125367, 2104256449, 2104387529, 2104518601, 2104649681, 2104780753, 2104911829, + 2105042911, 2105173991, 2105305067, 2105436149, 2105567221, 2105698349, 2105829421, + 2105960497, 2106091583, 2106222661, 2106353741, 2106484819, 2106615961, 2106747061, + 2106878143, 2107009241, 2107140313, 2107271401, 2107402477, 2107533551, 2107664659, + 2107795783, 2107926859, 2108057951, 2108189033, 2108320147, 2108451227, 2108582299, + 2108713379, 2108844461, 2108975569, 2109106661, 2109237751, 2109368869, 2109499963, + 2109631087, 2109762167, 2109893243, 2110024361, 2110155499, 2110286579, 2110417681, + 2110548757, 2110679861, 2110810957, 2110942063, 2111073143, 2111204231, 2111335379, + 2111466463, 2111597549, 2111728621, 2111859703, 2111990789, 2112121867, 2112252949, + 2112384023, 2112515107, 2112646181, 2112777253, 2112908333, 2113039433, 2113170509, + 2113301591, 2113432723, 2113563799, 2113694887, 2113825963, 2113957051, 2114088133, + 2114219213, 2114350297, 2114481371, 2114612443, 2114743541, 2114874637, 2115005731, + 2115136819, 2115267901, 2115399007, 2115530101, 2115661181, 2115792257, 2115923351, + 2116054439, 2116185523, 2116316623, 2116447699, 2116578781, 2116709891, 2116840981, + 2116972063, 2117103137, 2117234209, 2117365297, 2117496377, 2117627507, 2117758613, + 2117889737, 2118020813, 2118151927, 2118283007, 2118414091, 2118545173, 2118676249, + 2118807337, 2118938417, 2119069517, 2119200593, 2119331717, 2119462799, 2119593899, + 2119725031, 2119856107, 2119987253, 2120118367, 2120249447, 2120380519, 2120511593, + 2120642677, 2120773757, 2120904833, 2121035947, 2121167029, 2121298103, 2121429197, + 2121560323, 2121691399, 2121822509, 2121953599, 2122084697, 2122215787, 2122346867, + 2122477949, 2122609033, 2122740119, 2122871221, 2123002309, 2123133391, 2123264467, + 2123395577, 2123526649, 2123657743, 2123788829, 2123919907, 2124051011, 2124182129, + 2124313201, 2124444277, 2124575371, 2124706447, 2124837521, 2124968617, 2125099727, + 2125230869, 2125361951, 2125493023, 2125624133, 2125755211, 2125886291, 2126017363, + 2126148457, 2126279567, 2126410717, 2126541799, 2126672923, 2126803999, 2126935123, + 2127066199, 2127197279, 2127328373, 2127459457, 2127590533, 2127721693, 2127852767, + 2127983881, 2128114979, 2128246067, 2128377161, 2128508281, 2128639361, 2128770467, + 2128901539, 2129032613, 2129163689, 2129294803, 2129425973, 2129557049, 2129688139, + 2129819227, 2129950313, 2130081389, 2130212471, 2130343543, 2130474623, 2130605707, + 2130736781, 2130867857, 2130998929, 2131130077, 2131261177, 2131392253, 2131523347, + 2131654477, 2131785569, 2131916693, 2132047769, 2132178847, 2132309947, 2132441099, + 2132572199, 2132703299, 2132834387, 2132965459, 2133096533, 2133227633, 2133358709, + 2133489797, 2133620933, 2133752039, 2133883183, 2134014341, 2134145443, 2134276541, + 2134407623, 2134538701, 2134669793, 2134800869, 2134931977, 2135063053, 2135194177, + 2135325251, 2135456329, 2135587409, 2135718511, 2135849593, 2135980669, 2136111781, + 2136242869, 2136373957, 2136505031, 2136636119, 2136767201, 2136898273, 2137029379, + 2137160461, 2137291549, 2137422643, 2137553723, 2137684807, 2137815923, 2137947011, + 2138078087, 2138209189, 2138340263, 2138471353, 2138602439, 2138733511, 2138864593, + 2138995669, 2139126757, 2139257831, 2139388913, 2139520013, 2139651091, 2139782173, + 2139913249, 2140044331, 2140175431, 2140306513, 2140437589, 2140568687, 2140699783, + 2140830899, 2140961987, 2141093077, 2141224159, 2141355239, 2141486329, 2141617421, + 2141748493, 2141879567, 2142010639, 2142141713, 2142272791, 2142403889, 2142534971, + 2142666047, 2142797123, 2142928219, 2143059319, 2143190437, 2143321513, 2143452589, + 2143583681, 2143714753, 2143845853, 2143976927, 2144108027, 2144239099, 2144370181, + 2144501263, 2144632339, 2144763451, 2144894527, 2145025601, 2145156703, 2145287779, + 2145418867, 2145549941, 2145681019, 2145812093, 2145943181, 2146074257, 2146205339, + 2146336453, 2146467577, 2146598681, 2146729777, 2146860851, 2146991939, 2147123021, + 2147254097, 2147385197, 2147516291, 2147647367, 2147778443, 2147909521, 2148040637, + 2148171719, 2148302809, 2148433909, 2148564983, 2148696083, 2148827203, 2148958303, + 2149089379, 2149220459, 2149351537, 2149482679, 2149613759, 2149744837, 2149875929, + 2150007011, 2150138101, 2150269189, 2150400313, 2150531387, 2150662477, 2150793577, + 2150924669, 2151055757, 2151186907, 2151318061, 2151449137, 2151580213, 2151711293, + 2151842377, 2151973451, 2152104523, 2152235627, 2152366757, 2152497833, 2152628909, + 2152759991, 2152891093, 2153022167, 2153153251, 2153284333, 2153415409, 2153546489, + 2153677619, 2153808691, 2153939771, 2154070843, 2154201947, 2154333023, 2154464107, + 2154595187, 2154726307, 2154857449, 2154988547, 2155119667, 2155250743, 2155381829, + 2155512929, 2155644067, 2155775213, 2155906301, 2156037391, 2156168489, 2156299573, + 2156430659, 2156561773, 2156692849, 2156823947, 2156955029, 2157086117, 2157217189, + 2157348283, 2157479407, 2157610513, 2157741673, 2157872771, 2158003867, 2158134941, + 2158266037, 2158397113, 2158528217, 2158659289, 2158790423, 2158921517, 2159052607, + 2159183683, 2159314757, 2159445839, 2159576921, 2159707997, 2159839133, 2159970223, + 2160101303, 2160232387, 2160363521, 2160494599, 2160625697, 2160756769, 2160887843, + 2161018933, 2161150031, 2161281113, 2161412191, 2161543277, 2161674349, 2161805441, + 2161936523, 2162067601, 2162198681, 2162329781, 2162460869, 2162591969, 2162723047, + 2162854163, 2162985241, 2163116353, 2163247447, 2163378563, 2163509693, 2163640769, + 2163771913, 2163902999, 2164034101, 2164165193, 2164296283, 2164427357, 2164558433, + 2164689517, 2164820629, 2164951753, 2165082827, 2165213917, 2165345027, 2165476121, + 2165607209, 2165738287, 2165869361, 2166000469, 2166131543, 2166262627, 2166393703, + 2166524783, 2166655873, 2166787027, 2166918133, 2167049221, 2167180297, 2167311379, + 2167442471, 2167573547, 2167704631, 2167835743, 2167966817, 2168097947, 2168229029, + 2168360119, 2168491243, 2168622319, 2168753413, 2168884511, 2169015587, 2169146677, + 2169277753, 2169408833, 2169539941, 2169671057, 2169802133, 2169933217, 2170064291, + 2170195421, 2170326497, 2170457581, 2170588661, 2170719757, 2170850849, 2170981931, + 2171113003, 2171244121, 2171375197, 2171506273, 2171637353, 2171768437, 2171899511, + 2172030611, 2172161707, 2172292831, 2172423961, 2172555037, 2172686137, 2172817217, + 2172948293, 2173079369, 2173210489, 2173341593, 2173472669, 2173603741, 2173734863, + 2173865951, 2173997027, 2174128127, 2174259203, 2174390279, 2174521369, 2174652463, + 2174783549, 2174914631, 2175045709, 2175176789, 2175307867, 2175438959, 2175570031, + 2175701113, 2175832187, 2175963299, 2176094381, 2176225481, 2176356571, 2176487647, + 2176618723, 2176749797, 2176880879, 2177011979, 2177143057, 2177274173, 2177405257, + 2177536343, 2177667419, 2177798531, 2177929603, 2178060679, 2178191753, 2178322837, + 2178453923, 2178585043, 2178716119, 2178847241, 2178978331, 2179109423, 2179240499, + 2179371577, 2179502651, 2179633741, 2179764817, 2179895891, 2180026969, 2180158051, + 2180289187, 2180420269, 2180551343, 2180682419, 2180813491, 2180944589, 2181075697, + 2181206801, 2181337877, 2181468959, 2181600041, 2181731129, 2181862219, 2181993301, + 2182124389, 2182255499, 2182386587, 2182517663, 2182648753, 2182779829, 2182910927, + 2183042003, 2183173117, 2183304217, 2183435291, 2183566423, 2183697553, 2183828629, + 2183959709, 2184090791, 2184221869, 2184352943, 2184484031, 2184615119, 2184746197, + 2184877273, 2185008377, 2185139461, 2185270543, 2185401623, 2185532707, 2185663789, + 2185794893, 2185926013, 2186057117, 2186188189, 2186319283, 2186450363, 2186581447, + 2186712551, 2186843639, 2186974721, 2187105793, 2187236903, 2187367979, 2187499057, + 2187630139, 2187761273, 2187892349, 2188023443, 2188154537, 2188285637, 2188416721, + 2188547821, 2188678903, 2188810007, 2188941089, 2189072177, 2189203253, 2189334361, + 2189465449, 2189596547, 2189727641, 2189858777, 2189989849, 2190120923, 2190252007, + 2190383101, 2190514177, 2190645251, 2190776339, 2190907417, 2191038511, 2191169597, + 2191300703, 2191431791, 2191562903, 2191693979, 2191825063, 2191956161, 2192087251, + 2192218367, 2192349449, 2192480527, 2192611639, 2192742733, 2192873833, 2193004927, + 2193136003, 2193267091, 2193398201, 2193529301, 2193660379, 2193791461, 2193922537, + 2194053611, 2194184711, 2194315789, 2194446871, 2194577977, 2194709053, 2194840127, + 2194971199, 2195102279, 2195233379, 2195364487, 2195495579, 2195626651, 2195757727, + 2195888803, 2196019877, 2196150953, 2196282041, 2196413137, 2196544213, 2196675287, + 2196806411, 2196937517, 2197068619, 2197199737, 2197330819, 2197461901, 2197592977, + 2197724051, 2197855133, 2197986209, 2198117281, 2198248357, 2198379437, 2198510521, + 2198641597, 2198772677, 2198903851, 2199034927, 2199166007, 2199297083, 2199428213, + 2199559319, 2199690461, 2199821557, 2199952649, 2200083737, 2200214831, 2200345943, + 2200477043, 2200608167, 2200739251, 2200870351, 2201001427, 2201132533, 2201263613, + 2201394691, 2201525773, 2201656907, 2201787979, 2201919059, 2202050131, 2202181213, + 2202312313, 2202443393, 2202574481, 2202705563, 2202836651, 2202967769, 2203098853, + 2203229927, 2203361021, 2203492097, 2203623197, 2203754279, 2203885361, 2204016433, + 2204147513, 2204278621, 2204409733, 2204540861, 2204671949, 2204803067, 2204934157, + 2205065243, 2205196381, 2205327463, 2205458543, 2205589651, 2205720787, 2205851861, + 2205983041, 2206114177, 2206245253, 2206376339, 2206507451, 2206638529, 2206769603, + 2206900681, 2207031767, 2207162897, 2207293981, 2207425093, 2207556179, 2207687267, + 2207818363, 2207949439, 2208080527, 2208211627, 2208342707, 2208473783, 2208604873, + 2208735989, 2208867079, 2208998153, 2209129249, 2209260337, 2209391411, 2209522507, + 2209653623, 2209784699, 2209915777, 2210046857, 2210177951, 2210309051, 2210440123, + 2210571227, 2210702309, 2210833381, 2210964491, 2211095563, 2211226639, 2211357737, + 2211488833, 2211619933, 2211751013, 2211882107, 2212013189, 2212144327, 2212275407, + 2212406489, 2212537589, 2212668739, 2212799851, 2212930949, 2213062039, 2213193113, + 2213324189, 2213455289, 2213586391, 2213717479, 2213848561, 2213979637, 2214110749, + 2214241831, 2214372907, 2214504037, 2214635113, 2214766189, 2214897283, 2215028359, + 2215159477, 2215290577, 2215421653, 2215552747, 2215683851, 2215814929, 2215946009, + 2216077081, 2216208191, 2216339263, 2216470343, 2216601421, 2216732503, 2216863577, + 2216994649, 2217125723, 2217256801, 2217387889, 2217518971, 2217650053, 2217781133, + 2217912223, 2218043327, 2218174411, 2218305487, 2218436611, 2218567691, 2218698767, + 2218829917, 2218961047, 2219092163, 2219223247, 2219354321, 2219485417, 2219616493, + 2219747567, 2219878643, 2220009763, 2220140837, 2220271909, 2220403013, 2220534131, + 2220665221, 2220796313, 2220927391, 2221058473, 2221189571, 2221320659, 2221451753, + 2221582837, 2221713917, 2221844993, 2221976083, 2222107159, 2222238247, 2222369329, + 2222500417, 2222631497, 2222762569, 2222893663, 2223024751, 2223155839, 2223286931, + 2223418003, 2223549079, 2223680159, 2223811237, 2223942341, 2224073447, 2224204529, + 2224335601, 2224466693, 2224597769, 2224728841, 2224859927, 2224991003, 2225122087, + 2225253167, 2225384257, 2225515333, 2225646421, 2225777507, 2225908591, 2226039667, + 2226170741, 2226301837, 2226432983, 2226564061, 2226695153, 2226826253, 2226957329, + 2227088429, 2227219541, 2227350617, 2227481689, 2227612769, 2227743877, 2227874959, + 2228006041, 2228137117, 2228268209, 2228399291, 2228530393, 2228661467, 2228792543, + 2228923633, 2229054713, 2229185797, 2229316871, 2229447943, 2229579061, 2229710149, + 2229841241, 2229972317, 2230103411, 2230234499, 2230365593, 2230496669, 2230627753, + 2230758833, 2230889911, 2231020991, 2231152069, 2231283157, 2231414267, 2231545339, + 2231676413, 2231807527, 2231938603, 2232069683, 2232200767, 2232331873, 2232462959, + 2232594127, 2232725203, 2232856291, 2232987371, 2233118443, 2233249547, 2233380637, + 2233511713, 2233642819, 2233773907, 2233904983, 2234036059, 2234167207, 2234298281, + 2234429389, 2234560463, 2234691577, 2234822713, 2234953813, 2235084919, 2235216017, + 2235347117, 2235478211, 2235609283, 2235740399, 2235871471, 2236002551, 2236133639, + 2236264729, 2236395841, 2236526927, 2236657999, 2236789081, 2236920167, 2237051249, + 2237182357, 2237313443, 2237444519, 2237575597, 2237706721, 2237837801, 2237968877, + 2238099961, 2238231071, 2238362167, 2238493259, 2238624337, 2238755419, 2238886499, + 2239017601, 2239148683, 2239279781, 2239410863, 2239541981, 2239673057, 2239804181, + 2239935253, 2240066327, 2240197409, 2240328481, 2240459561, 2240590691, 2240721773, + 2240852891, 2240983963, 2241115057, 2241246167, 2241377239, 2241508319, 2241639401, + 2241770473, 2241901549, 2242032647, 2242163773, 2242294853, 2242425931, 2242557029, + 2242688101, 2242819181, 2242950263, 2243081383, 2243212463, 2243343569, 2243474663, + 2243605739, 2243736827, 2243867959, 2243999057, 2244130151, 2244261241, 2244392323, + 2244523403, 2244654499, 2244785581, 2244916699, 2245047839, 2245178953, 2245310027, + 2245441139, 2245572227, 2245703303, 2245834387, 2245965461, 2246096549, 2246227649, + 2246358721, 2246489797, 2246620877, 2246751961, 2246883043, 2247014171, 2247145253, + 2247276391, 2247407467, 2247538561, 2247669647, 2247800729, 2247931813, 2248062907, + 2248194001, 2248325083, 2248456183, 2248587283, 2248718369, 2248849441, 2248980527, + 2249111609, 2249242687, 2249373773, 2249504849, 2249635939, 2249767043, 2249898121, + 2250029207, 2250160279, 2250291361, 2250422437, 2250553511, 2250684607, 2250815683, + 2250946799, 2251077889, 2251208989, 2251340089, 2251471223, 2251602317, 2251733389, + 2251864469, 2251995607, 2252126711, 2252257807, 2252388881, 2252519993, 2252651081, + 2252782171, 2252913259, 2253044359, 2253175451, 2253306551, 2253437723, 2253568799, + 2253699871, 2253830993, 2253962069, 2254093141, 2254224221, 2254355333, 2254486411, + 2254617493, 2254748597, 2254879691, 2255010767, 2255141839, 2255272913, 2255404001, + 2255535109, 2255666249, 2255797333, 2255928421, 2256059513, 2256190619, 2256321703, + 2256452791, 2256583907, 2256714983, 2256846061, 2256977153, 2257108279, 2257239359, + 2257370447, 2257501523, 2257632607, 2257763689, 2257894799, 2258025881, 2258157017, + 2258288089, 2258419181, 2258550271, 2258681357, 2258812429, 2258943509, 2259074677, + 2259205783, 2259336881, 2259467971, 2259599057, 2259730163, 2259861239, 2259992341, + 2260123421, 2260254509, 2260385609, 2260516693, 2260647773, 2260778869, 2260909967, + 2261041043, 2261172119, 2261303203, 2261434289, 2261565407, 2261696497, 2261827597, + 2261958757, 2262089833, 2262220943, 2262352019, 2262483103, 2262614209, 2262745301, + 2262876379, 2263007473, 2263138571, 2263269703, 2263400807, 2263531939, 2263663043, + 2263794139, 2263925231, 2264056343, 2264187433, 2264318531, 2264449633, 2264580707, + 2264711843, 2264842933, 2264974031, 2265105107, 2265236201, 2265367303, 2265498397, + 2265629557, 2265760681, 2265891769, 2266022849, 2266153961, 2266285061, 2266416133, + 2266547233, 2266678327, 2266809407, 2266940479, 2267071559, 2267202653, 2267333737, + 2267464831, 2267595919, 2267727061, 2267858137, 2267989247, 2268120329, 2268251437, + 2268382517, 2268513589, 2268644663, 2268775739, 2268906817, 2269037959, 2269169047, + 2269300123, 2269431209, 2269562287, 2269693373, 2269824451, 2269955533, 2270086627, + 2270217721, 2270348807, 2270479889, 2270610983, 2270742101, 2270873183, 2271004303, + 2271135397, 2271266507, 2271397649, 2271528739, 2271659827, 2271790907, 2271921983, + 2272053061, 2272184177, 2272315267, 2272446343, 2272577423, 2272708507, 2272839601, + 2272970681, 2273101757, 2273232833, 2273363909, 2273495023, 2273626123, 2273757197, + 2273888293, 2274019379, 2274150481, 2274281557, 2274412697, 2274543773, 2274674867, + 2274805957, 2274937031, 2275068109, 2275199203, 2275330289, 2275461361, 2275592441, + 2275723579, 2275854701, 2275985791, 2276116867, 2276247959, 2276379103, 2276510267, + 2276641363, 2276772437, 2276903543, 2277034631, 2277165721, 2277296821, 2277427949, + 2277559021, 2277690101, 2277821179, 2277952297, 2278083383, 2278214473, 2278345567, + 2278476653, 2278607753, 2278738831, 2278869917, 2279000993, 2279132071, 2279263157, + 2279394233, 2279525371, 2279656451, 2279787529, 2279918659, 2280049781, 2280180853, + 2280311939, 2280443027, 2280574159, 2280705253, 2280836381, 2280967457, 2281098557, + 2281229641, 2281360721, 2281491829, 2281622911, 2281753993, 2281885069, 2282016151, + 2282147237, 2282278319, 2282409391, 2282540483, 2282671603, 2282802677, 2282933759, + 2283064831, 2283195913, 2283326993, 2283458081, 2283589153, 2283720227, 2283851327, + 2283982411, 2284113487, 2284244569, 2284375649, 2284506737, 2284637809, 2284768903, + 2284899979, 2285031121, 2285162197, 2285293291, 2285424389, 2285555473, 2285686549, + 2285817631, 2285948719, 2286079799, 2286210893, 2286341971, 2286473051, 2286604123, + 2286735211, 2286866317, 2286997397, 2287128491, 2287259563, 2287390643, 2287521721, + 2287652819, 2287783921, 2287915013, 2288046113, 2288177197, 2288308271, 2288439347, + 2288570419, 2288701529, 2288832631, 2288963711, 2289094817, 2289225919, 2289357011, + 2289488101, 2289619181, 2289750269, 2289881359, 2290012447, 2290143523, 2290274599, + 2290405681, 2290536767, 2290667857, 2290798933, 2290930007, 2291061121, 2291192203, + 2291323277, 2291454383, 2291585537, 2291716621, 2291847703, 2291978783, 2292109867, + 2292240941, 2292372023, 2292503111, 2292634193, 2292765313, 2292896393, 2293027469, + 2293158541, 2293289623, 2293420711, 2293551791, 2293682863, 2293813967, 2293945051, + 2294076139, 2294207213, 2294338289, 2294469361, 2294600453, 2294731561, 2294862659, + 2294993749, 2295124829, 2295255913, 2295386993, 2295518083, 2295649241, 2295780341, + 2295911447, 2296042523, 2296173599, 2296304707, 2296435793, 2296566887, 2296697987, + 2296829063, 2296960181, 2297091257, 2297222339, 2297353439, 2297484551, 2297615699, + 2297746771, 2297877853, 2298008939, 2298140011, 2298271109, 2298402199, 2298533273, + 2298664349, 2298795439, 2298926533, 2299057613, 2299188733, 2299319807, 2299450931, + 2299582003, 2299713077, 2299844153, 2299975231, 2300106311, 2300237419, 2300368501, + 2300499667, 2300630741, 2300761819, 2300892917, 2301023993, 2301155107, 2301286181, + 2301417367, 2301548477, 2301679553, 2301810631, 2301941723, 2302072807, 2302203881, + 2302334989, 2302466071, 2302597151, 2302728247, 2302859323, 2302990409, 2303121481, + 2303252557, 2303383639, 2303514721, 2303645819, 2303776897, 2303908001, 2304039091, + 2304170203, 2304301301, 2304432379, 2304563473, 2304694549, 2304825623, 2304956701, + 2305087781, 2305218857, 2305349939, 2305481039, 2305612121, 2305743211, 2305874293, + 2306005381, 2306136473, 2306267629, 2306398709, 2306529787, 2306660891, 2306791987, + 2306923079, 2307054151, 2307185227, 2307316301, 2307447409, 2307578489, 2307709561, + 2307840649, 2307971747, 2308102847, 2308233919, 2308365011, 2308496083, 2308627187, + 2308758269, 2308889369, 2309020457, 2309151569, 2309282641, 2309413721, 2309544799, + 2309675881, 2309806969, 2309938067, 2310069199, 2310200273, 2310331349, 2310462431, + 2310593503, 2310724579, 2310855671, 2310986747, 2311117849, 2311248983, 2311380109, + 2311511227, 2311642321, 2311773403, 2311904509, 2312035639, 2312166737, 2312297809, + 2312428889, 2312559961, 2312691049, 2312822167, 2312953249, 2313084359, 2313215431, + 2313346513, 2313477587, 2313608729, 2313739807, 2313870917, 2314002023, 2314133123, + 2314264217, 2314395289, 2314526413, 2314657511, 2314788607, 2314919681, 2315050781, + 2315181937, 2315313019, 2315444099, 2315575231, 2315706329, 2315837411, 2315968549, + 2316099659, 2316230737, 2316361813, 2316492911, 2316623993, 2316755071, 2316886151, + 2317017247, 2317148329, 2317279403, 2317410497, 2317541573, 2317672699, 2317803773, + 2317934851, 2318065993, 2318197069, 2318328143, 2318459219, 2318590327, 2318721401, + 2318852509, 2318983603, 2319114713, 2319245801, 2319376889, 2319507961, 2319639041, + 2319770147, 2319901223, 2320032329, 2320163407, 2320294489, 2320425563, 2320556653, + 2320687757, 2320818881, 2320949989, 2321081123, 2321212211, 2321343307, 2321474383, + 2321605457, 2321736583, 2321867663, 2321998739, 2322129829, 2322260903, 2322391999, + 2322523109, 2322654197, 2322785273, 2322916367, 2323047469, 2323178551, 2323309627, + 2323440727, 2323571819, 2323702891, 2323833983, 2323965089, 2324096161, 2324227247, + 2324358319, 2324489413, 2324620489, 2324751617, 2324882689, 2325013799, 2325144881, + 2325275977, 2325407057, 2325538177, 2325669263, 2325800339, 2325931451, 2326062547, + 2326193621, 2326324703, 2326455787, 2326586863, 2326717949, 2326849039, 2326980113, + 2327111197, 2327242279, 2327373353, 2327504449, 2327635523, 2327766643, 2327897723, + 2328028811, 2328159907, 2328291023, 2328422101, 2328553181, 2328684263, 2328815353, + 2328946439, 2329077547, 2329208659, 2329339757, 2329470859, 2329601941, 2329733017, + 2329864133, 2329995211, 2330126287, 2330257367, 2330388443, 2330519539, 2330650613, + 2330781697, 2330912777, 2331043873, 2331174991, 2331306073, 2331437149, 2331568247, + 2331699347, 2331830429, 2331961501, 2332092629, 2332223717, 2332354793, 2332485899, + 2332616983, 2332748057, 2332879139, 2333010217, 2333141297, 2333272399, 2333403473, + 2333534549, 2333665639, 2333796713, 2333927803, 2334058879, 2334189967, 2334321043, + 2334452161, 2334583241, 2334714323, 2334845417, 2334976529, 2335107617, 2335238699, + 2335369783, 2335500857, 2335631939, 2335763011, 2335894087, 2336025163, 2336156281, + 2336287363, 2336418473, 2336549561, 2336680637, 2336811709, 2336942813, 2337073889, + 2337204973, 2337336073, 2337467147, 2337598267, 2337729367, 2337860471, 2337991567, + 2338122679, 2338253759, 2338384831, 2338515929, 2338647019, 2338778137, 2338909219, + 2339040311, 2339171399, 2339302523, 2339433611, 2339564687, 2339695789, 2339826871, + 2339957993, 2340089123, 2340220199, 2340351313, 2340482399, 2340613543, 2340744617, + 2340875699, 2341006793, 2341137893, 2341268983, 2341400059, 2341531141, 2341662227, + 2341793309, 2341924391, 2342055467, 2342186569, 2342317643, 2342448727, 2342579803, + 2342710901, 2342841973, 2342973097, 2343104171, 2343235261, 2343366341, 2343497461, + 2343628537, 2343759617, 2343890713, 2344021819, 2344152913, 2344284023, 2344415113, + 2344546199, 2344677299, 2344808383, 2344939481, 2345070589, 2345201671, 2345332753, + 2345463829, 2345594929, 2345726027, 2345857099, 2345988173, 2346119263, 2346250337, + 2346381437, 2346512551, 2346643631, 2346774739, 2346905837, 2347036919, 2347168013, + 2347299091, 2347430191, 2347561289, 2347692443, 2347823579, 2347954669, 2348085763, + 2348216873, 2348347951, 2348479031, 2348610137, 2348741243, 2348872343, 2349003467, + 2349134563, 2349265643, 2349396743, 2349527819, 2349658891, 2349789971, 2349921071, + 2350052153, 2350183247, 2350314359, 2350445443, 2350576531, 2350707631, 2350838713, + 2350969787, 2351100859, 2351231941, 2351363017, 2351494097, 2351625247, 2351756383, + 2351887481, 2352018619, 2352149729, 2352280811, 2352411913, 2352542993, 2352674089, + 2352805193, 2352936293, 2353067383, 2353198489, 2353329599, 2353460689, 2353591763, + 2353722851, 2353853923, 2353985017, 2354116153, 2354247241, 2354378317, 2354509403, + 2354640481, 2354771567, 2354902651, 2355033731, 2355164807, 2355295907, 2355426991, + 2355558077, 2355689173, 2355820319, 2355951391, 2356082471, 2356213567, 2356344647, + 2356475747, 2356606829, 2356737919, 2356869007, 2357000099, 2357131181, 2357262253, + 2357393329, 2357524409, 2357655491, 2357786569, 2357917643, 2358048743, 2358179849, + 2358310967, 2358442043, 2358573121, 2358704233, 2358835361, 2358966433, 2359097567, + 2359228661, 2359359787, 2359490863, 2359621937, 2359753009, 2359884103, 2360015233, + 2360146307, 2360277421, 2360408497, 2360539589, 2360670679, 2360801767, 2360932879, + 2361063961, 2361195047, 2361326171, 2361457249, 2361588323, 2361719411, 2361850523, + 2361981607, 2362112689, 2362243771, 2362374851, 2362505947, 2362637029, 2362768117, + 2362899247, 2363030333, 2363161441, 2363292517, 2363423599, 2363554703, 2363685809, + 2363816893, 2363947967, 2364079049, 2364210143, 2364341227, 2364472303, 2364603403, + 2364734483, 2364865561, 2364996659, 2365127759, 2365258859, 2365389937, 2365521017, + 2365652117, 2365783201, 2365914277, 2366045371, 2366176481, 2366307569, 2366438671, + 2366569759, 2366700887, 2366831959, 2366963047, 2367094189, 2367225277, 2367356363, + 2367487481, 2367618581, 2367749693, 2367880771, 2368011847, 2368142923, 2368274053, + 2368405163, 2368536311, 2368667401, 2368798501, 2368929593, 2369060693, 2369191777, + 2369322853, 2369453941, 2369585021, 2369716109, 2369847197, 2369978287, 2370109363, + 2370240451, 2370371527, 2370502691, 2370633763, 2370764927, 2370896069, 2371027201, + 2371158299, 2371289383, 2371420501, 2371551587, 2371682671, 2371813783, 2371944877, + 2372075963, 2372207039, 2372338181, 2372469259, 2372600333, 2372731411, 2372862487, + 2372993617, 2373124709, 2373255791, 2373386891, 2373518011, 2373649097, 2373780187, + 2373911269, 2374042357, 2374173449, 2374304533, 2374435631, 2374566707, 2374697779, + 2374828861, 2374959943, 2375091031, 2375222107, 2375353193, 2375484271, 2375615351, + 2375746427, 2375877503, 2376008623, 2376139699, 2376270781, 2376401873, 2376532973, + 2376664063, 2376795181, 2376926257, 2377057363, 2377188449, 2377319521, 2377450709, + 2377581821, 2377712899, 2377843973, 2377975087, 2378106179, 2378237297, 2378368423, + 2378499523, 2378630609, 2378761699, 2378892781, 2379023897, 2379154991, 2379286067, + 2379417197, 2379548287, 2379679373, 2379810463, 2379941569, 2380072679, 2380203767, + 2380334843, 2380465931, 2380597019, 2380728113, 2380859267, 2380990351, 2381121443, + 2381252557, 2381383643, 2381514721, 2381645803, 2381776877, 2381907949, 2382039041, + 2382170117, 2382301189, 2382432277, 2382563357, 2382694451, 2382825539, 2382956629, + 2383087723, 2383218823, 2383349923, 2383481027, 2383612117, 2383743199, 2383874287, + 2384005367, 2384136449, 2384267521, 2384398651, 2384529737, 2384660827, 2384791931, + 2384923003, 2385054079, 2385185161, 2385316237, 2385447319, 2385578407, 2385709481, + 2385840563, 2385971663, 2386102739, 2386233847, 2386364923, 2386496003, 2386627121, + 2386758193, 2386889287, 2387020381, 2387151511, 2387282659, 2387413807, 2387544893, + 2387675981, 2387807087, 2387938159, 2388069247, 2388200323, 2388331417, 2388462491, + 2388593579, 2388724651, 2388855743, 2388986833, 2389117943, 2389249043, 2389380137, + 2389511219, 2389642313, 2389773389, 2389904477, 2390035553, 2390166671, 2390297743, + 2390428853, 2390559937, 2390691013, 2390822099, 2390953189, 2391084271, 2391215377, + 2391346453, 2391477553, 2391608629, 2391739729, 2391870827, 2392001923, 2392132997, + 2392264081, 2392395169, 2392526261, 2392657339, 2392788469, 2392919549, 2393050661, + 2393181733, 2393312807, 2393443937, 2393575013, 2393706143, 2393837221, 2393968303, + 2394099397, 2394230473, 2394361553, 2394492641, 2394623719, 2394754829, 2394885907, + 2395016983, 2395148081, 2395279169, 2395410257, 2395541339, 2395672417, 2395803493, + 2395934579, 2396065657, 2396196763, 2396327863, 2396458963, 2396590051, 2396721127, + 2396852221, 2396983301, 2397114383, 2397245471, 2397376543, 2397507641, 2397638723, + 2397769837, 2397900913, 2398032023, 2398163113, 2398294201, 2398425287, 2398556399, + 2398687513, 2398818619, 2398949711, 2399080799, 2399211889, 2399342969, 2399474041, + 2399605123, 2399736221, 2399867297, 2399998373, 2400129449, 2400260521, 2400391601, + 2400522701, 2400653791, 2400784891, 2400915991, 2401047107, 2401178189, 2401309277, + 2401440409, 2401571509, 2401702601, 2401833689, 2401964767, 2402095841, 2402226929, + 2402358011, 2402489171, 2402620261, 2402751353, 2402882467, 2403013541, 2403144613, + 2403275687, 2403406763, 2403537839, 2403668933, 2403800011, 2403931097, 2404062169, + 2404193249, 2404324361, 2404455457, 2404586549, 2404717639, 2404848749, 2404979821, + 2405110907, 2405241983, 2405373067, 2405504147, 2405635229, 2405766317, 2405897413, + 2406028487, 2406159571, 2406290647, 2406421729, 2406552809, 2406683893, 2406814979, + 2406946097, 2407077229, 2407208303, 2407339397, 2407470473, 2407601563, 2407732699, + 2407863817, 2407994929, 2408126003, 2408257099, 2408388209, 2408519381, 2408650487, + 2408781569, 2408912641, 2409043729, 2409174829, 2409305929, 2409437057, 2409568141, + 2409699247, 2409830329, 2409961403, 2410092523, 2410223597, 2410354679, 2410485797, + 2410616893, 2410747991, 2410879099, 2411010179, 2411141251, 2411272397, 2411403481, + 2411534569, 2411665673, 2411796757, 2411927863, 2412058937, 2412190013, 2412321103, + 2412452179, 2412583297, 2412714433, 2412845563, 2412976637, 2413107713, 2413238797, + 2413369909, 2413500989, 2413632071, 2413763147, 2413894237, 2414025319, 2414156401, + 2414287489, 2414418569, 2414549647, 2414680727, 2414811803, 2414942903, 2415073979, + 2415205087, 2415336163, 2415467261, 2415598363, 2415729439, 2415860519, 2415991631, + 2416122703, 2416253783, 2416384891, 2416515971, 2416647049, 2416778167, 2416909277, + 2417040349, 2417171443, 2417302519, 2417433611, 2417564683, 2417695757, 2417826839, + 2417957939, 2418089033, 2418220109, 2418351197, 2418482327, 2418613403, 2418744499, + 2418875573, 2419006657, 2419137761, 2419268851, 2419399933, 2419531031, 2419662137, + 2419793213, 2419924301, 2420055401, 2420186479, 2420317567, 2420448643, 2420579717, + 2420710837, 2420841949, 2420973047, 2421104159, 2421235237, 2421366317, 2421497413, + 2421628493, 2421759577, 2421890663, 2422021757, 2422152829, 2422283959, 2422415057, + 2422546163, 2422677269, 2422808341, 2422939457, 2423070557, 2423201653, 2423332729, + 2423463827, 2423594917, 2423725991, 2423857081, 2423988157, 2424119239, 2424250319, + 2424381391, 2424512471, 2424643549, 2424774629, 2424905701, 2425036777, 2425167869, + 2425298951, 2425430081, 2425561153, 2425692257, 2425823329, 2425954439, 2426085511, + 2426216593, 2426347667, 2426478739, 2426609827, 2426740907, 2426871991, 2427003067, + 2427134141, 2427265223, 2427396313, 2427527411, 2427658489, 2427789563, 2427920639, + 2428051711, 2428182791, 2428313863, 2428444943, 2428576061, 2428707137, 2428838227, + 2428969307, 2429100379, 2429231461, 2429362549, 2429493629, 2429624731, 2429755829, + 2429886929, 2430018001, 2430149083, 2430280187, 2430411271, 2430542393, 2430673471, + 2430804553, 2430935629, 2431066709, 2431197799, 2431328881, 2431459957, 2431591033, + 2431722113, 2431853251, 2431984337, 2432115419, 2432246497, 2432377579, 2432508691, + 2432639767, 2432770841, 2432901929, 2433033019, 2433164101, 2433295231, 2433426329, + 2433557407, 2433688493, 2433819581, 2433950653, 2434081733, 2434212821, 2434343903, + 2434474979, 2434606061, 2434737143, 2434868273, 2434999349, 2435130437, 2435261561, + 2435392637, 2435523749, 2435654827, 2435785943, 2435917027, 2436048113, 2436179201, + 2436310291, 2436441401, 2436572473, 2436703553, 2436834637, 2436965723, 2437096801, + 2437227941, 2437359047, 2437490173, 2437621271, 2437752367, 2437883449, 2438014541, + 2438145617, 2438276693, 2438407787, 2438538877, 2438669993, 2438801087, 2438932163, + 2439063251, 2439194371, 2439325501, 2439456587, 2439587681, 2439718753, 2439849883, + 2439980957, 2440112047, 2440243159, 2440374239, 2440505371, 2440636447, 2440767523, + 2440898627, 2441029727, 2441160817, 2441291927, 2441422999, 2441554091, 2441685187, + 2441816261, 2441947357, 2442078433, 2442209521, 2442340597, 2442471671, 2442602753, + 2442733847, 2442864943, 2442996043, 2443127123, 2443258267, 2443389353, 2443520461, + 2443651571, 2443782659, 2443913777, 2444044853, 2444175953, 2444307031, 2444438107, + 2444569189, 2444700277, 2444831357, 2444962439, 2445093571, 2445224693, 2445355823, + 2445486931, 2445618017, 2445749107, 2445880181, 2446011257, 2446142417, 2446273499, + 2446404577, 2446535653, 2446666753, 2446797839, 2446928917, 2447060023, 2447191163, + 2447322239, 2447453339, 2447584417, 2447715497, 2447846579, 2447977669, 2448108757, + 2448239863, 2448370943, 2448502037, 2448633149, 2448764231, 2448895331, 2449026403, + 2449157611, 2449288687, 2449419767, 2449550861, 2449681943, 2449813049, 2449944127, + 2450075227, 2450206309, 2450337389, 2450468467, 2450599549, 2450730641, 2450861713, + 2450992787, 2451123863, 2451254963, 2451386057, 2451517151, 2451648229, 2451779303, + 2451910397, 2452041491, 2452172563, 2452303663, 2452434749, 2452565879, 2452696969, + 2452828043, 2452959143, 2453090249, 2453221321, 2453352427, 2453483533, 2453614679, + 2453745751, 2453876837, 2454007937, 2454139019, 2454270101, 2454401189, 2454532261, + 2454663347, 2454794431, 2454925507, 2455056587, 2455187687, 2455318769, 2455449851, + 2455580923, 2455712011, 2455843087, 2455974161, 2456105237, 2456236319, 2456367449, + 2456498549, 2456629631, 2456760703, 2456891777, 2457022871, 2457153949, 2457285023, + 2457416099, 2457547177, 2457678281, 2457809407, 2457940487, 2458071563, 2458202693, + 2458333769, 2458464851, 2458596011, 2458727101, 2458858187, 2458989283, 2459120357, + 2459251429, 2459382509, 2459513593, 2459644667, 2459775797, 2459906887, 2460037961, + 2460169057, 2460300187, 2460431263, 2460562367, 2460693467, 2460824567, 2460955681, + 2461086781, 2461217867, 2461348949, 2461480027, 2461611121, 2461742197, 2461873291, + 2462004371, 2462135443, 2462266517, 2462397593, 2462528689, 2462659783, 2462790907, + 2462921999, 2463053083, 2463184193, 2463315277, 2463446389, 2463577477, 2463708553, + 2463839629, 2463970709, 2464101781, 2464232861, 2464363961, 2464495039, 2464626137, + 2464757227, 2464888301, 2465019377, 2465150453, 2465281583, 2465412673, 2465543753, + 2465674837, 2465805941, 2465937041, 2466068113, 2466199189, 2466330281, 2466461359, + 2466592439, 2466723517, 2466854597, 2466985691, 2467116793, 2467247873, 2467378973, + 2467510079, 2467641157, 2467772243, 2467903351, 2468034433, 2468165509, 2468296609, + 2468427697, 2468558773, 2468689903, 2468821009, 2468952121, 2469083233, 2469214313, + 2469345397, 2469476473, 2469607573, 2469738703, 2469869797, 2470000909, 2470132019, + 2470263091, 2470394177, 2470525259, 2470656341, 2470787441, 2470918531, 2471049613, + 2471180687, 2471311789, 2471442863, 2471573939, 2471705011, 2471836111, 2471967193, + 2472098267, 2472229349, 2472360421, 2472491501, 2472622591, 2472753709, 2472884801, + 2473015877, 2473146959, 2473278047, 2473409119, 2473540219, 2473671293, 2473802369, + 2473933471, 2474064547, 2474195683, 2474326781, 2474457893, 2474588999, 2474720081, + 2474851187, 2474982269, 2475113357, 2475244433, 2475375521, 2475506597, 2475637679, + 2475768811, 2475899927, 2476031023, 2476162103, 2476293181, 2476424317, 2476555423, + 2476686533, 2476817611, 2476948711, 2477079791, 2477210863, 2477341957, 2477473043, + 2477604133, 2477735257, 2477866351, 2477997433, 2478128507, 2478259603, 2478390701, + 2478521779, 2478652859, 2478783943, 2478915037, 2479046113, 2479177187, 2479308259, + 2479439357, 2479570459, 2479701541, 2479832627, 2479963709, 2480094781, 2480225879, + 2480356969, 2480488063, 2480619151, 2480750269, 2480881363, 2481012463, 2481143563, + 2481274637, 2481405733, 2481536843, 2481667921, 2481799037, 2481930137, 2482061213, + 2482192333, 2482323407, 2482454501, 2482585583, 2482716679, 2482847791, 2482978903, + 2483109977, 2483241053, 2483372131, 2483503213, 2483634331, 2483765411, 2483896559, + 2484027659, 2484158737, 2484289879, 2484421001, 2484552097, 2484683183, 2484814259, + 2484945347, 2485076441, 2485207559, 2485338641, 2485469719, 2485600813, 2485731929, + 2485863001, 2485994081, 2486125153, 2486256233, 2486387347, 2486518421, 2486649493, + 2486780633, 2486911723, 2487042823, 2487173903, 2487304979, 2487436069, 2487567149, + 2487698231, 2487829313, 2487960389, 2488091461, 2488222553, 2488353641, 2488484723, + 2488615891, 2488746971, 2488878043, 2489009123, 2489140219, 2489271341, 2489402413, + 2489533517, 2489664599, 2489795683, 2489926757, 2490057839, 2490188923, 2490319999, + 2490451097, 2490582169, 2490713243, 2490844319, 2490975391, 2491106479, 2491237559, + 2491368641, 2491499713, 2491630811, 2491761911, 2491892999, 2492024071, 2492155147, + 2492286239, 2492417351, 2492548423, 2492679499, 2492810597, 2492941669, 2493072817, + 2493203917, 2493334999, 2493466099, 2493597191, 2493728267, 2493859349, 2493990431, + 2494121543, 2494252627, 2494383733, 2494514821, 2494645913, 2494777031, 2494908131, + 2495039203, 2495170297, 2495301373, 2495432447, 2495563537, 2495694637, 2495825791, + 2495956871, 2496087943, 2496219041, 2496350177, 2496481259, 2496612343, 2496743453, + 2496874561, 2497005673, 2497136753, 2497267879, 2497398973, 2497530067, 2497661147, + 2497792223, 2497923313, 2498054387, 2498185463, 2498316539, 2498447639, 2498578739, + 2498709841, 2498840969, 2498972087, 2499103169, 2499234263, 2499365353, 2499496429, + 2499627509, 2499758641, 2499889727, 2500020821, 2500151893, 2500282987, 2500414061, + 2500545143, 2500676221, 2500807297, 2500938397, 2501069489, 2501200561, 2501331643, + 2501462723, 2501593811, 2501724923, 2501855999, 2501987113, 2502118211, 2502249293, + 2502380371, 2502511457, 2502642529, 2502773621, 2502904693, 2503035797, 2503166879, + 2503297967, 2503429039, 2503560113, 2503691189, 2503822289, 2503953371, 2504084459, + 2504215541, 2504346629, 2504477747, 2504608849, 2504739929, 2504871013, 2505002111, + 2505133207, 2505264283, 2505395357, 2505526469, 2505657551, 2505788633, 2505919723, + 2506050797, 2506181869, 2506312951, 2506444027, 2506575107, 2506706201, 2506837309, + 2506968389, 2507099471, 2507230549, 2507361641, 2507492737, 2507623843, 2507754923, + 2507885999, 2508017077, 2508148157, 2508279239, 2508410321, 2508541393, 2508672487, + 2508803581, 2508934679, 2509065821, 2509196897, 2509327969, 2509459061, 2509590169, + 2509721317, 2509852417, 2509983503, 2510114597, 2510245679, 2510376763, 2510507837, + 2510638951, 2510770027, 2510901103, 2511032203, 2511163307, 2511294413, 2511425489, + 2511556561, 2511687637, 2511818713, 2511949789, 2512080881, 2512211953, 2512343027, + 2512474103, 2512605203, 2512736297, 2512867373, 2512998461, 2513129581, 2513260661, + 2513391733, 2513522831, 2513653907, 2513784979, 2513916071, 2514047153, 2514178241, + 2514309319, 2514440393, 2514571481, 2514702557, 2514833669, 2514964799, 2515095881, + 2515226957, 2515358047, 2515489129, 2515620227, 2515751299, 2515882381, 2516013469, + 2516144557, 2516275633, 2516406713, 2516537791, 2516668879, 2516799979, 2516931059, + 2517062131, 2517193271, 2517324343, 2517455417, 2517586501, 2517717583, 2517848681, + 2517979787, 2518110923, 2518242029, 2518373111, 2518504199, 2518635299, 2518766423, + 2518897499, 2519028571, 2519159653, 2519290727, 2519421799, 2519552891, 2519683963, + 2519815057, 2519946131, 2520077213, 2520208289, 2520339373, 2520470483, 2520601583, + 2520732673, 2520863759, 2520994849, 2521125931, 2521257007, 2521388113, 2521519193, + 2521650277, 2521781369, 2521912451, 2522043523, 2522174623, 2522305717, 2522436811, + 2522567891, 2522698973, 2522830067, 2522961139, 2523092219, 2523223321, 2523354401, + 2523485483, 2523616591, 2523747697, 2523878771, 2524009843, 2524140961, 2524272073, + 2524403159, 2524534241, 2524665317, 2524796401, 2524927481, 2525058581, 2525189657, + 2525320753, 2525451829, 2525582911, 2525713991, 2525845081, 2525976163, 2526107267, + 2526238339, 2526369457, 2526500549, 2526631621, 2526762703, 2526893779, 2527024901, + 2527155997, 2527287079, 2527418161, 2527549247, 2527680319, 2527811411, 2527942519, + 2528073601, 2528204677, 2528335751, 2528466847, 2528597921, 2528729009, 2528860129, + 2528991203, 2529122279, 2529253367, 2529384439, 2529515519, 2529646591, 2529777671, + 2529908743, 2530039823, 2530170941, 2530302031, 2530433173, 2530564279, 2530695379, + 2530826461, 2530957537, 2531088619, 2531219699, 2531350777, 2531481881, 2531612957, + 2531744029, 2531875163, 2532006247, 2532137323, 2532268423, 2532399497, 2532530587, + 2532661783, 2532792937, 2532924011, 2533055089, 2533186171, 2533317247, 2533448327, + 2533579423, 2533710503, 2533841579, 2533972673, 2534103763, 2534234869, 2534365961, + 2534497033, 2534628113, 2534759197, 2534890273, 2535021361, 2535152443, 2535283523, + 2535414601, 2535545689, 2535676823, 2535807919, 2535939047, 2536070123, 2536201201, + 2536332311, 2536463443, 2536594549, 2536725641, 2536856717, 2536987793, 2537118877, + 2537249969, 2537381059, 2537512141, 2537643221, 2537774321, 2537905397, 2538036517, + 2538167591, 2538298681, 2538429757, 2538560831, 2538691927, 2538823019, 2538954091, + 2539085177, 2539216289, 2539347373, 2539478449, 2539609529, 2539740607, 2539871687, + 2540002789, 2540133877, 2540264989, 2540396129, 2540527211, 2540658293, 2540789387, + 2540920477, 2541051551, 2541182639, 2541313711, 2541444791, 2541575879, 2541706987, + 2541838063, 2541969167, 2542100261, 2542231343, 2542362439, 2542493519, 2542624603, + 2542755689, 2542886771, 2543017847, 2543148931, 2543280023, 2543411111, 2543542187, + 2543673269, 2543804381, 2543935453, 2544066527, 2544197627, 2544328789, 2544459899, + 2544590977, 2544722051, 2544853127, 2544984251, 2545115329, 2545246423, 2545377529, + 2545508663, 2545639753, 2545770833, 2545901921, 2546033029, 2546164109, 2546295211, + 2546426353, 2546557487, 2546688569, 2546819659, 2546950733, 2547081809, 2547212909, + 2547343993, 2547475069, 2547606143, 2547737273, 2547868361, 2547999439, 2548130513, + 2548261591, 2548392677, 2548523759, 2548654861, 2548785973, 2548917071, 2549048143, + 2549179219, 2549310299, 2549441393, 2549572511, 2549703601, 2549834681, 2549965819, + 2550096893, 2550227969, 2550359089, 2550490169, 2550621289, 2550752381, 2550883463, + 2551014541, 2551145617, 2551276691, 2551407769, 2551538849, 2551669931, 2551801027, + 2551932157, 2552063237, 2552194339, 2552325421, 2552456497, 2552587571, 2552718643, + 2552849723, 2552980819, 2553111929, 2553243013, 2553374101, 2553505189, 2553636269, + 2553767389, 2553898469, 2554029587, 2554160659, 2554291777, 2554422851, 2554553941, + 2554685041, 2554816127, 2554947223, 2555078297, 2555209387, 2555340461, 2555471579, + 2555602661, 2555733749, 2555864821, 2555995901, 2556126997, 2556258079, 2556389167, + 2556520279, 2556651371, 2556782453, 2556913553, 2557044629, 2557175737, 2557306847, + 2557437947, 2557569023, 2557700107, 2557831183, 2557962283, 2558093387, 2558224469, + 2558355593, 2558486669, 2558617741, 2558748833, 2558879941, 2559011041, 2559142121, + 2559273193, 2559404269, 2559535343, 2559666437, 2559797521, 2559928699, 2560059823, + 2560190977, 2560322057, 2560453141, 2560584233, 2560715347, 2560846423, 2560977509, + 2561108603, 2561239679, 2561370751, 2561501827, 2561632903, 2561763979, 2561895073, + 2562026147, 2562157229, 2562288307, 2562419399, 2562550499, 2562681581, 2562812657, + 2562943739, 2563074821, 2563205933, 2563337009, 2563468081, 2563599163, 2563730261, + 2563861357, 2563992439, 2564123531, 2564254607, 2564385721, 2564516797, 2564647903, + 2564778991, 2564910079, 2565041197, 2565172301, 2565303379, 2565434471, 2565565579, + 2565696659, 2565827753, 2565958849, 2566089937, 2566221059, 2566352141, 2566483219, + 2566614311, 2566745383, 2566876457, 2567007533, 2567138611, 2567269699, 2567400817, + 2567531899, 2567662991, 2567794069, 2567925169, 2568056251, 2568187327, 2568318421, + 2568449497, 2568580571, 2568711671, 2568842753, 2568973843, 2569104947, 2569236023, + 2569367123, 2569498229, 2569629323, 2569760437, 2569891529, 2570022607, 2570153683, + 2570284777, 2570415877, 2570546971, 2570678051, 2570809127, 2570940223, 2571071303, + 2571202393, 2571333467, 2571464551, 2571595673, 2571726749, 2571857909, 2571988981, + 2572120069, 2572251163, 2572382237, 2572513309, 2572644407, 2572775519, 2572906619, + 2573037707, 2573168779, 2573299919, 2573431057, 2573562143, 2573693219, 2573824333, + 2573955443, 2574086527, 2574217601, 2574348677, 2574479759, 2574610877, 2574741959, + 2574873053, 2575004137, 2575135219, 2575266299, 2575397417, 2575528499, 2575659617, + 2575790699, 2575921793, 2576052883, 2576183957, 2576315059, 2576446133, 2576577229, + 2576708347, 2576839537, 2576970647, 2577101719, 2577232799, 2577363911, 2577495013, + 2577626137, 2577757211, 2577888283, 2578019399, 2578150481, 2578281553, 2578412653, + 2578543771, 2578674853, 2578806017, 2578937129, 2579068201, 2579199299, 2579330399, + 2579461481, 2579592559, 2579723659, 2579854733, 2579985857, 2580116933, 2580248009, + 2580379091, 2580510169, 2580641281, 2580772373, 2580903461, 2581034543, 2581165633, + 2581296709, 2581427809, 2581558901, 2581689977, 2581821049, 2581952137, 2582083243, + 2582214319, 2582345399, 2582476537, 2582607617, 2582738693, 2582869769, 2583000851, + 2583131951, 2583263027, 2583394139, 2583525211, 2583656297, 2583787369, 2583918443, + 2584049557, 2584180673, 2584311749, 2584442827, 2584573907, 2584704979, 2584836073, + 2584967159, 2585098237, 2585229323, 2585360447, 2585491523, 2585622607, 2585753689, + 2585884783, 2586015871, 2586146963, 2586278041, 2586409117, 2586540193, 2586671291, + 2586802411, 2586933491, 2587064563, 2587195649, 2587326751, 2587457857, 2587588933, + 2587720007, 2587851083, 2587982167, 2588113261, 2588244359, 2588375431, 2588506517, + 2588637589, 2588768669, 2588899751, 2589030863, 2589161947, 2589293023, 2589424109, + 2589555187, 2589686287, 2589817361, 2589948451, 2590079533, 2590210607, 2590341713, + 2590472789, 2590603879, 2590734977, 2590866053, 2590997131, 2591128231, 2591259313, + 2591390407, 2591521483, 2591652577, 2591783657, 2591914729, 2592045803, 2592176891, + 2592307967, 2592439093, 2592570181, 2592701281, 2592832357, 2592963481, 2593094579, + 2593225693, 2593356781, 2593487881, 2593618961, 2593750039, 2593881137, 2594012209, + 2594143289, 2594274367, 2594405449, 2594536523, 2594667599, 2594798671, 2594929747, + 2595060821, 2595191917, 2595323011, 2595454091, 2595585169, 2595716243, 2595847337, + 2595978431, 2596109543, 2596240649, 2596371727, 2596502819, 2596633927, 2596765037, + 2596896139, 2597027239, 2597158327, 2597289473, 2597420563, 2597551643, 2597682719, + 2597813851, 2597944939, 2598076049, 2598207127, 2598338213, 2598469303, 2598600397, + 2598731489, 2598862583, 2598993667, 2599124743, 2599255861, 2599386947, 2599518023, + 2599649113, 2599780207, 2599911313, 2600042437, 2600173571, 2600304647, 2600435743, + 2600566831, 2600697917, 2600829017, 2600960099, 2601091201, 2601222289, 2601353407, + 2601484547, 2601615631, 2601746743, 2601877819, 2602008919, 2602140001, 2602271093, + 2602402189, 2602533289, 2602664371, 2602795457, 2602926539, 2603057617, 2603188747, + 2603319833, 2603450911, 2603582077, 2603713153, 2603844233, 2603975317, 2604106397, + 2604237479, 2604368561, 2604499633, 2604630727, 2604761833, 2604892909, 2605023983, + 2605155061, 2605286171, 2605417249, 2605548343, 2605679423, 2605810523, 2605941601, + 2606072687, 2606203781, 2606334859, 2606465947, 2606597027, 2606728171, 2606859257, + 2606990357, 2607121453, 2607252577, 2607383651, 2607514733, 2607645839, 2607776921, + 2607907999, 2608039117, 2608170221, 2608301309, 2608432391, 2608563467, 2608694551, + 2608825631, 2608956733, 2609087807, 2609218879, 2609349979, 2609481053, 2609612153, + 2609743243, 2609874317, 2610005441, 2610136523, 2610267613, 2610398689, 2610529763, + 2610660847, 2610791923, 2610923027, 2611054129, 2611185263, 2611316353, 2611447453, + 2611578553, 2611709629, 2611840723, 2611971809, 2612102903, 2612234011, 2612365099, + 2612496203, 2612627291, 2612758387, 2612889463, 2613020573, 2613151649, 2613282769, + 2613413857, 2613544937, 2613676049, 2613807127, 2613938209, 2614069361, 2614200487, + 2614331569, 2614462649, 2614593749, 2614724837, 2614855909, 2614987007, 2615118083, + 2615249159, 2615380231, 2615511341, 2615642417, 2615773507, 2615904587, 2616035671, + 2616166757, 2616297889, 2616428987, 2616560059, 2616691151, 2616822227, 2616953299, + 2617084391, 2617215479, 2617346579, 2617477657, 2617608751, 2617739843, 2617870921, + 2618002021, 2618133097, 2618264171, 2618395249, 2618526329, 2618657491, 2618788577, + 2618919673, 2619050747, 2619181837, 2619312923, 2619444007, 2619575083, 2619706169, + 2619837247, 2619968333, 2620099423, 2620230563, 2620361647, 2620492747, 2620623829, + 2620754933, 2620886029, 2621017151, 2621148227, 2621279359, 2621410531, 2621541641, + 2621672741, 2621803823, 2621934901, 2622065977, 2622197059, 2622328147, 2622459233, + 2622590309, 2622721397, 2622852569, 2622983681, 2623114763, 2623245857, 2623376939, + 2623508033, 2623639127, 2623770203, 2623901297, 2624032379, 2624163481, 2624294557, + 2624425679, 2624556761, 2624687837, 2624818967, 2624950063, 2625081161, 2625212243, + 2625343319, 2625474437, 2625605539, 2625736627, 2625867701, 2625998779, 2626129867, + 2626260943, 2626392019, 2626523113, 2626654193, 2626785383, 2626916477, 2627047583, + 2627178709, 2627309791, 2627440873, 2627571971, 2627703049, 2627834141, 2627965229, + 2628096301, 2628227417, 2628358501, 2628489601, 2628620677, 2628751771, 2628882853, + 2629013939, 2629145021, 2629276093, 2629407167, 2629538293, 2629669391, 2629800491, + 2629931581, 2630062663, 2630193737, 2630324821, 2630455957, 2630587033, 2630718109, + 2630849189, 2630980267, 2631111377, 2631242461, 2631373559, 2631504653, 2631635731, + 2631766829, 2631897907, 2632028983, 2632160071, 2632291147, 2632422223, 2632553311, + 2632684391, 2632815487, 2632946579, 2633077679, 2633208757, 2633339833, 2633470907, + 2633601979, 2633733077, 2633864153, 2633995303, 2634126403, 2634257477, 2634388571, + 2634519649, 2634650737, 2634781823, 2634912899, 2635043987, 2635175071, 2635306147, + 2635437239, 2635568339, 2635699439, 2635830523, 2635961609, 2636092681, 2636223791, + 2636354887, 2636485991, 2636617063, 2636748139, 2636879221, 2637010331, 2637141407, + 2637272497, 2637403619, 2637534703, 2637665827, 2637796921, 2637928003, 2638059107, + 2638190197, 2638321289, 2638452367, 2638583459, 2638714541, 2638845617, 2638976701, + 2639107777, 2639238857, 2639369987, 2639501063, 2639632139, 2639763211, 2639894291, + 2640025403, 2640156481, 2640287597, 2640418691, 2640549763, 2640680837, 2640811937, + 2640943009, 2641074089, 2641205197, 2641336273, 2641467383, 2641598483, 2641729591, + 2641860679, 2641991783, 2642122867, 2642253947, 2642385023, 2642516101, 2642647201, + 2642778301, 2642909413, 2643040529, 2643171637, 2643302713, 2643433789, 2643564871, + 2643695947, 2643827027, 2643958151, 2644089241, 2644220357, 2644351441, 2644482517, + 2644613597, 2644744681, 2644875757, 2645006839, 2645137921, 2645269019, 2645400103, + 2645531201, 2645662273, 2645793349, 2645924441, 2646055513, 2646186619, 2646317711, + 2646448799, 2646579937, 2646711029, 2646842113, 2646973237, 2647104331, 2647235407, + 2647366481, 2647497569, 2647628657, 2647759729, 2647890803, 2648021903, 2648152993, + 2648284091, 2648415163, 2648546237, 2648677331, 2648808413, 2648939543, 2649070637, + 2649201713, 2649332821, 2649463907, 2649594979, 2649726059, 2649857213, 2649988307, + 2650119379, 2650250483, 2650381577, 2650512659, 2650643741, 2650774829, 2650905911, + 2651036987, 2651168077, 2651299163, 2651430251, 2651561357, 2651692429, 2651823509, + 2651954581, 2652085669, 2652216761, 2652347897, 2652478991, 2652610069, 2652741151, + 2652872227, 2653003361, 2653134437, 2653265509, 2653396583, 2653527661, 2653658767, + 2653789861, 2653920953, 2654052029, 2654183101, 2654314183, 2654445289, 2654576383, + 2654707459, 2654838551, 2654969677, 2655100751, 2655231827, 2655362921, 2655493999, + 2655625073, 2655756149, 2655887231, 2656018373, 2656149449, 2656280537, 2656411613, + 2656542701, 2656673777, 2656804859, 2656935961, 2657067041, 2657198123, 2657329223, + 2657460307, 2657591401, 2657722477, 2657853553, 2657984653, 2658115771, 2658246847, + 2658377923, 2658508997, 2658640109, 2658771187, 2658902263, 2659033343, 2659164427, + 2659295519, 2659426597, 2659557671, 2659688747, 2659819829, 2659950901, 2660081981, + 2660213053, 2660344129, 2660475227, 2660606321, 2660737397, 2660868479, 2660999563, + 2661130643, 2661261727, 2661392809, 2661523883, 2661654991, 2661786089, 2661917173, + 2662048283, 2662179361, 2662310491, 2662441577, 2662572659, 2662703753, 2662834847, + 2662965959, 2663097077, 2663228159, 2663359261, 2663490353, 2663621431, 2663752523, + 2663883601, 2664014687, 2664145763, 2664276841, 2664407953, 2664539041, 2664670157, + 2664801233, 2664932327, 2665063403, 2665194487, 2665325617, 2665456697, 2665587823, + 2665718921, 2665850101, 2665981211, 2666112283, 2666243369, 2666374471, 2666505547, + 2666636627, 2666767771, 2666898847, 2667029947, 2667161033, 2667292109, 2667423193, + 2667554287, 2667685381, 2667816469, 2667947543, 2668078627, 2668209743, 2668340833, + 2668471943, 2668603019, 2668734121, 2668865197, 2668996271, 2669127359, 2669258443, + 2669389519, 2669520593, 2669651693, 2669782769, 2669913859, 2670044933, 2670176011, + 2670307093, 2670438193, 2670569329, 2670700433, 2670831511, 2670962597, 2671093673, + 2671224757, 2671355837, 2671486927, 2671618007, 2671749109, 2671880231, 2672011327, + 2672142413, 2672273521, 2672404619, 2672535707, 2672666813, 2672797889, 2672928967, + 2673060097, 2673191173, 2673322277, 2673453359, 2673584453, 2673715543, 2673846671, + 2673977759, 2674108831, 2674239907, 2674370983, 2674502069, 2674633147, 2674764263, + 2674895339, 2675026423, 2675157521, 2675288617, 2675419729, 2675550827, 2675681903, + 2675812991, 2675944069, 2676075163, 2676206251, 2676337351, 2676468427, 2676599501, + 2676730579, 2676861673, 2676992761, 2677123837, 2677254929, 2677386043, 2677517159, + 2677648241, 2677779329, 2677910413, 2678041489, 2678172587, 2678303681, 2678434823, + 2678565913, 2678697019, 2678828123, 2678959223, 2679090311, 2679221411, 2679352499, + 2679483589, 2679614719, 2679745793, 2679876877, 2680007971, 2680139051, 2680270127, + 2680401319, 2680532429, 2680663537, 2680794619, 2680925713, 2681056813, 2681187893, + 2681318993, 2681450077, 2681581151, 2681712227, 2681843299, 2681974403, 2682105499, + 2682236587, 2682367711, 2682498827, 2682629923, 2682761071, 2682892187, 2683023319, + 2683154393, 2683285471, 2683416551, 2683547623, 2683678721, 2683809797, 2683940869, + 2684071967, 2684203087, 2684334167, 2684465297, 2684596399, 2684727517, 2684858591, + 2684989687, 2685120761, 2685251843, 2685382939, 2685514099, 2685645191, 2685776287, + 2685907361, 2686038449, 2686169527, 2686300619, 2686431703, 2686562777, 2686693873, + 2686824949, 2686956037, 2687087173, 2687218283, 2687349391, 2687480507, 2687611603, + 2687742683, 2687873761, 2688004843, 2688135937, 2688267013, 2688398087, 2688529183, + 2688660263, 2688791353, 2688922451, 2689053541, 2689184639, 2689315763, 2689446839, + 2689577911, 2689709041, 2689840117, 2689971191, 2690102267, 2690233367, 2690364449, + 2690495527, 2690626633, 2690757733, 2690888819, 2691019901, 2691151003, 2691282089, + 2691413167, 2691544241, 2691675313, 2691806387, 2691937459, 2692068553, 2692199633, + 2692330727, 2692461901, 2692592977, 2692724053, 2692855141, 2692986221, 2693117293, + 2693248387, 2693379463, 2693510537, 2693641633, 2693772727, 2693903801, 2694034933, + 2694166031, 2694297161, 2694428237, 2694559321, 2694690431, 2694821527, 2694952627, + 2695083701, 2695214783, 2695345859, 2695476961, 2695608053, 2695739129, 2695870237, + 2696001349, 2696132423, 2696263499, 2696394607, 2696525687, 2696656759, 2696787839, + 2696918921, 2697050011, 2697181103, 2697312209, 2697443303, 2697574421, 2697705499, + 2697836579, 2697967661, 2698098751, 2698229857, 2698360933, 2698492031, 2698623107, + 2698754183, 2698885291, 2699016377, 2699147471, 2699278579, 2699409659, 2699540741, + 2699671817, 2699802899, 2699933983, 2700065083, 2700196199, 2700327317, 2700458393, + 2700589469, 2700720551, 2700851651, 2700982727, 2701113817, 2701244911, 2701376009, + 2701507091, 2701638169, 2701769243, 2701900319, 2702031407, 2702162479, 2702293571, + 2702424667, 2702555741, 2702686849, 2702817961, 2702949043, 2703080131, 2703211237, + 2703342311, 2703473393, 2703604523, 2703735613, 2703866761, 2703997837, 2704128941, + 2704260019, 2704391099, 2704522189, 2704653293, 2704784389, 2704915481, 2705046557, + 2705177639, 2705308721, 2705439797, 2705570929, 2705702023, 2705833103, 2705964181, + 2706095257, 2706226339, 2706357419, 2706488503, 2706619577, 2706750667, 2706881741, + 2707012831, 2707143917, 2707274989, 2707406087, 2707537159, 2707668269, 2707799357, + 2707930429, 2708061539, 2708192611, 2708323721, 2708454809, 2708585927, 2708717023, + 2708848097, 2708979173, 2709110273, 2709241349, 2709372427, 2709503519, 2709634643, + 2709765743, 2709896821, 2710027921, 2710159003, 2710290083, 2710421167, 2710552291, + 2710683397, 2710814497, 2710945609, 2711076703, 2711207783, 2711338871, 2711469973, + 2711601059, 2711732147, 2711863223, 2711994301, 2712125389, 2712256507, 2712387647, + 2712518723, 2712649799, 2712780877, 2712911951, 2713043033, 2713174129, 2713305223, + 2713436309, 2713567391, 2713698473, 2713829579, 2713960721, 2714091797, 2714222957, + 2714354033, 2714485121, 2714616211, 2714747359, 2714878433, 2715009509, 2715140587, + 2715271661, 2715402751, 2715533831, 2715664907, 2715795991, 2715927091, 2716058167, + 2716189241, 2716320319, 2716451407, 2716582481, 2716713557, 2716844629, 2716975711, + 2717106827, 2717237909, 2717368987, 2717500063, 2717631143, 2717762269, 2717893379, + 2718024497, 2718155569, 2718286643, 2718417719, 2718548821, 2718679913, 2718810989, + 2718942071, 2719073153, 2719204231, 2719335319, 2719466401, 2719597483, 2719728589, + 2719859663, 2719990753, 2720121853, 2720252959, 2720384077, 2720515177, 2720646263, + 2720777357, 2720908451, 2721039523, 2721170611, 2721301691, 2721432781, 2721563863, + 2721694961, 2721826067, 2721957187, 2722088293, 2722219373, 2722350469, 2722481543, + 2722612631, 2722743739, 2722874831, 2723005913, 2723137037, 2723268109, 2723399209, + 2723530289, 2723661383, 2723792501, 2723923589, 2724054667, 2724185767, 2724316871, + 2724447961, 2724579037, 2724710161, 2724841267, 2724972377, 2725103449, 2725234537, + 2725365613, 2725496717, 2725627813, 2725758887, 2725889963, 2726021047, 2726152123, + 2726283223, 2726414303, 2726545411, 2726676493, 2726807569, 2726938649, 2727069733, + 2727200887, 2727331993, 2727463133, 2727594227, 2727725317, 2727856393, 2727987481, + 2728118563, 2728249637, 2728380749, 2728511839, 2728642949, 2728774043, 2728905119, + 2729036207, 2729167297, 2729298389, 2729429467, 2729560541, 2729691617, 2729822713, + 2729953841, 2730084919, 2730215993, 2730347143, 2730478229, 2730609319, 2730740417, + 2730871513, 2731002607, 2731133711, 2731264807, 2731395881, 2731526957, 2731658057, + 2731789129, 2731920223, 2732051327, 2732182441, 2732313517, 2732444609, 2732575691, + 2732706773, 2732837879, 2732969033, 2733100109, 2733231199, 2733362273, 2733493361, + 2733624461, 2733755539, 2733886633, 2734017709, 2734148783, 2734279883, 2734410961, + 2734542053, 2734673129, 2734804207, 2734935293, 2735066371, 2735197457, 2735328529, + 2735459633, 2735590723, 2735721797, 2735852909, 2735984023, 2736115103, 2736246179, + 2736377251, 2736508331, 2736639419, 2736770503, 2736901597, 2737032677, 2737163809, + 2737294909, 2737426001, 2737557077, 2737688153, 2737819261, 2737950353, 2738081443, + 2738212517, 2738343607, 2738474681, 2738605763, 2738736841, 2738867921, 2738999057, + 2739130139, 2739261229, 2739392323, 2739523433, 2739654527, 2739785621, 2739916703, + 2740047781, 2740178873, 2740309967, 2740441057, 2740572157, 2740703233, 2740834339, + 2740965413, 2741096489, 2741227591, 2741358701, 2741489789, 2741620883, 2741751989, + 2741883073, 2742014213, 2742145297, 2742276389, 2742407471, 2742538571, 2742669649, + 2742800729, 2742931811, 2743062943, 2743194017, 2743325099, 2743456181, 2743587263, + 2743718347, 2743849429, 2743980521, 2744111597, 2744242679, 2744373833, 2744504941, + 2744636021, 2744767097, 2744898197, 2745029279, 2745160373, 2745291469, 2745422549, + 2745553639, 2745684713, 2745815789, 2745946871, 2746077967, 2746209043, 2746340141, + 2746471229, 2746602301, 2746733387, 2746864481, 2746995557, 2747126633, 2747257717, + 2747388811, 2747519897, 2747650981, 2747782057, 2747913149, 2748044231, 2748175303, + 2748306389, 2748437467, 2748568541, 2748699649, 2748830741, 2748961843, 2749092937, + 2749224011, 2749355093, 2749486183, 2749617257, 2749748333, 2749879409, 2750010481, + 2750141651, 2750272747, 2750403823, 2750534903, 2750665993, 2750797087, 2750928181, + 2751059263, 2751190363, 2751321439, 2751452513, 2751583609, 2751714683, 2751845773, + 2751976859, 2752107937, 2752239013, 2752370087, 2752501159, 2752632241, 2752763341, + 2752894421, 2753025493, 2753156573, 2753287679, 2753418761, 2753549861, 2753680939, + 2753812021, 2753943113, 2754074189, 2754205273, 2754336373, 2754467447, 2754598529, + 2754729631, 2754860729, 2754991807, 2755122899, 2755253983, 2755385057, 2755516139, + 2755647211, 2755778293, 2755909379, 2756040457, 2756171549, 2756302643, 2756433751, + 2756564831, 2756695937, 2756827037, 2756958131, 2757089249, 2757220339, 2757351427, + 2757482503, 2757613577, 2757744667, 2757875749, 2758006831, 2758137929, 2758269001, + 2758400083, 2758531157, 2758662239, 2758793327, 2758924411, 2759055587, 2759186687, + 2759317789, 2759448889, 2759579983, 2759711063, 2759842139, 2759973217, 2760104353, + 2760235433, 2760366509, 2760497609, 2760628699, 2760759791, 2760890863, 2761021957, + 2761153051, 2761284139, 2761415219, 2761546321, 2761677403, 2761808521, 2761939627, + 2762070833, 2762201909, 2762332987, 2762464091, 2762595169, 2762726251, 2762857327, + 2762988433, 2763119521, 2763250603, 2763381683, 2763512783, 2763643873, 2763774971, + 2763906083, 2764037197, 2764168283, 2764299361, 2764430447, 2764561519, 2764692629, + 2764823723, 2764954799, 2765085901, 2765216981, 2765348077, 2765479193, 2765610283, + 2765741383, 2765872471, 2766003553, 2766134633, 2766265709, 2766396781, 2766527857, + 2766658933, 2766790007, 2766921119, 2767052261, 2767183423, 2767314533, 2767445633, + 2767576723, 2767707809, 2767838911, 2767969991, 2768101067, 2768232161, 2768363233, + 2768494307, 2768625383, 2768756461, 2768887567, 2769018647, 2769149743, 2769280819, + 2769411907, 2769542983, 2769674057, 2769805133, 2769936209, 2770067299, 2770198381, + 2770329511, 2770460587, 2770591727, 2770722821, 2770853927, 2770984999, 2771116081, + 2771247173, 2771378249, 2771509343, 2771640433, 2771771551, 2771902643, 2772033731, + 2772164827, 2772295913, 2772426991, 2772558127, 2772689203, 2772820279, 2772951353, + 2773082447, 2773213543, 2773344631, 2773475759, 2773606837, 2773737937, 2773869019, + 2774000107, 2774131183, 2774262287, 2774393393, 2774524483, 2774655563, 2774786681, + 2774917771, 2775048863, 2775179951, 2775311023, 2775442123, 2775573211, 2775704297, + 2775835399, 2775966491, 2776097567, 2776228687, 2776359779, 2776490863, 2776621997, + 2776753093, 2776884167, 2777015249, 2777146349, 2777277427, 2777408519, 2777539601, + 2777670677, 2777801749, 2777932897, 2778063979, 2778195071, 2778326143, 2778457273, + 2778588359, 2778719431, 2778850511, 2778981589, 2779112681, 2779243769, 2779374847, + 2779505923, 2779636999, 2779768081, 2779899167, 2780030249, 2780161327, 2780292461, + 2780423537, 2780554633, 2780685707, 2780816789, 2780947879, 2781078961, 2781210037, + 2781341141, 2781472247, 2781603323, 2781734401, 2781865477, 2781996563, 2782127669, + 2782258741, 2782389821, 2782520899, 2782651979, 2782783063, 2782914137, 2783045257, + 2783176349, 2783307421, 2783438513, 2783569601, 2783700743, 2783831833, 2783962921, + 2784094009, 2784225113, 2784356231, 2784487309, 2784618413, 2784749507, 2784880589, + 2785011679, 2785142783, 2785273871, 2785404943, 2785536041, 2785667113, 2785798201, + 2785929287, 2786060393, 2786191517, 2786322607, 2786453689, 2786584777, 2786715851, + 2786846947, 2786978021, 2787109103, 2787240191, 2787371263, 2787502343, 2787633427, + 2787764501, 2787895597, 2788026697, 2788157783, 2788288859, 2788419947, 2788551049, + 2788682131, 2788813211, 2788944283, 2789075357, 2789206429, 2789337511, 2789468587, + 2789599661, 2789730739, 2789861863, 2789992973, 2790124097, 2790255173, 2790386251, + 2790517333, 2790648433, 2790779521, 2790910601, 2791041707, 2791172819, 2791303901, + 2791434973, 2791566059, 2791697131, 2791828217, 2791959301, 2792090401, 2792221489, + 2792352569, 2792483641, 2792614717, 2792745797, 2792876921, 2793008039, 2793139127, + 2793270211, 2793401287, 2793532369, 2793663451, 2793794527, 2793925633, 2794056719, + 2794187807, 2794318903, 2794449991, 2794581073, 2794712159, 2794843253, 2794974337, + 2795105413, 2795236511, 2795367637, 2795498711, 2795629861, 2795760937, 2795892017, + 2796023093, 2796154177, 2796285253, 2796416341, 2796547451, 2796678527, 2796809599, + 2796940703, 2797071793, 2797202869, 2797333993, 2797465067, 2797596161, 2797727243, + 2797858333, 2797989407, 2798120503, 2798251591, 2798382689, 2798513771, 2798644861, + 2798775949, 2798907031, 2799038113, 2799169259, 2799300347, 2799431423, 2799562511, + 2799693587, 2799824663, 2799955747, 2800086871, 2800217969, 2800349047, 2800480219, + 2800611293, 2800742377, 2800873451, 2801004539, 2801135669, 2801266747, 2801397881, + 2801528999, 2801660089, 2801791177, 2801922271, 2802053347, 2802184439, 2802315521, + 2802446597, 2802577697, 2802708793, 2802839867, 2802970949, 2803102033, 2803233113, + 2803364189, 2803495267, 2803626347, 2803757503, 2803888579, 2804019653, 2804150747, + 2804281819, 2804412893, 2804543969, 2804675051, 2804806177, 2804937277, 2805068351, + 2805199429, 2805330509, 2805461609, 2805592681, 2805723761, 2805854861, 2805985951, + 2806117043, 2806248119, 2806379221, 2806510307, 2806641391, 2806772477, 2806903549, + 2807034641, 2807165719, 2807296801, 2807427901, 2807558987, 2807690069, 2807821141, + 2807952239, 2808083329, 2808214427, 2808345557, 2808476677, 2808607777, 2808738851, + 2808869929, 2809001003, 2809132087, 2809263169, 2809394249, 2809525321, 2809656431, + 2809787531, 2809918609, 2810049689, 2810180773, 2810311873, 2810442959, 2810574059, + 2810705137, 2810836211, 2810967311, 2811098399, 2811229501, 2811360577, 2811491653, + 2811622733, 2811753809, 2811884891, 2812015993, 2812147069, 2812278251, 2812409333, + 2812540411, 2812671493, 2812802569, 2812933681, 2813064763, 2813195899, 2813327009, + 2813458091, 2813589173, 2813720251, 2813851331, 2813982419, 2814113521, 2814244619, + 2814375701, 2814506777, 2814637853, 2814768937, 2814900029, 2815031101, 2815162183, + 2815293277, 2815424369, 2815555447, 2815686527, 2815817617, 2815948693, 2816079779, + 2816210857, 2816341961, 2816473067, 2816604139, 2816735263, 2816866361, 2816997451, + 2817128543, 2817259639, 2817390731, 2817521803, 2817652967, 2817784103, 2817915179, + 2818046263, 2818177339, 2818308419, 2818439521, 2818570619, 2818701713, 2818832843, + 2818963981, 2819095061, 2819226143, 2819357239, 2819488333, 2819619419, 2819750497, + 2819881619, 2820012707, 2820143779, 2820274949, 2820406081, 2820537169, 2820668251, + 2820799363, 2820930443, 2821061521, 2821192631, 2821323709, 2821454803, 2821585901, + 2821716973, 2821848053, 2821979131, 2822110229, 2822241307, 2822372383, 2822503457, + 2822634539, 2822765611, 2822896693, 2823027773, 2823158879, 2823289957, 2823421031, + 2823552161, 2823683257, 2823814349, 2823945431, 2824076543, 2824207627, 2824338709, + 2824469783, 2824600861, 2824731971, 2824863049, 2824994129, 2825125243, 2825256341, + 2825387429, 2825518543, 2825649623, 2825780723, 2825911807, 2826042887, 2826173971, + 2826305059, 2826436141, 2826567223, 2826698311, 2826829391, 2826960473, 2827091557, + 2827222637, 2827353713, 2827484843, 2827615943, 2827747079, 2827878173, 2828009257, + 2828140331, 2828271403, 2828402501, 2828533577, 2828664649, 2828795741, 2828926819, + 2829057929, 2829189007, 2829320089, 2829451171, 2829582271, 2829713353, 2829844441, + 2829975521, 2830106597, 2830237691, 2830368769, 2830499869, 2830630967, 2830762079, + 2830893161, 2831024279, 2831155351, 2831286427, 2831417509, 2831548613, 2831679701, + 2831810791, 2831941867, 2832072953, 2832204043, 2832335117, 2832466199, 2832597283, + 2832728387, 2832859483, 2832990593, 2833121701, 2833252783, 2833383857, 2833514939, + 2833646017, 2833777117, 2833908227, 2834039317, 2834170411, 2834301487, 2834432561, + 2834563651, 2834694739, 2834825839, 2834956937, 2835088019, 2835219103, 2835350191, + 2835481303, 2835612407, 2835743501, 2835874577, 2836005649, 2836136729, 2836267801, + 2836398883, 2836529963, 2836661039, 2836792111, 2836923203, 2837054287, 2837185397, + 2837316479, 2837447581, 2837578673, 2837709757, 2837840861, 2837971951, 2838103033, + 2838234121, 2838365207, 2838496319, 2838627397, 2838758473, 2838889589, 2839020671, + 2839151743, 2839282843, 2839413919, 2839544993, 2839676137, 2839807219, 2839938323, + 2840069443, 2840200537, 2840331623, 2840462701, 2840593787, 2840724877, 2840855951, + 2840987069, 2841118141, 2841249221, 2841380329, 2841511403, 2841642493, 2841773573, + 2841904697, 2842035773, 2842166891, 2842297963, 2842429049, 2842560121, 2842691197, + 2842822271, 2842953361, 2843084467, 2843215553, 2843346683, 2843477761, 2843608849, + 2843739929, 2843871011, 2844002129, 2844133247, 2844264323, 2844395447, 2844526549, + 2844657653, 2844788747, 2844919829, 2845050917, 2845182013, 2845313129, 2845444201, + 2845575283, 2845706359, 2845837433, 2845968511, 2846099647, 2846230727, 2846361821, + 2846492899, 2846623979, 2846755129, 2846886221, 2847017311, 2847148411, 2847279497, + 2847410581, 2847541663, 2847672761, 2847803839, 2847934931, 2848066031, 2848197139, + 2848328269, 2848459351, 2848590443, 2848721521, 2848852597, 2848983691, 2849114789, + 2849245897, 2849377019, 2849508097, 2849639179, 2849770267, 2849901377, 2850032453, + 2850163531, 2850294611, 2850425693, 2850556789, 2850687883, 2850818959, 2850950059, + 2851081141, 2851212233, 2851343323, 2851474397, 2851605469, 2851736551, 2851867649, + 2851998731, 2852129803, 2852260877, 2852391973, 2852523127, 2852654221, 2852785307, + 2852916401, 2853047503, 2853178579, 2853309653, 2853440747, 2853571823, 2853702913, + 2853834007, 2853965089, 2854096171, 2854227263, 2854358347, 2854489427, 2854620499, + 2854751573, 2854882651, 2855013737, 2855144827, 2855275909, 2855406991, 2855538071, + 2855669143, 2855800231, 2855931343, 2856062437, 2856193513, 2856324629, 2856455737, + 2856586819, 2856717907, 2856848999, 2856980083, 2857111183, 2857242299, 2857373371, + 2857504451, 2857635551, 2857766677, 2857897753, 2858028839, 2858159923, 2858291057, + 2858422247, 2858553359, 2858684449, 2858815537, 2858946613, 2859077693, 2859208789, + 2859339869, 2859470951, 2859602033, 2859733139, 2859864239, 2859995351, 2860126447, + 2860257571, 2860388659, 2860519741, 2860650833, 2860781923, 2860913039, 2861044139, + 2861175227, 2861306333, 2861437421, 2861568497, 2861699569, 2861830679, 2861961769, + 2862092867, 2862223939, 2862355019, 2862486101, 2862617179, 2862748261, 2862879337, + 2863010419, 2863141507, 2863272661, 2863403749, 2863534823, 2863665911, 2863796989, + 2863928071, 2864059201, 2864190281, 2864321357, 2864452429, 2864583509, 2864714597, + 2864845693, 2864976767, 2865107851, 2865238927, 2865370007, 2865501083, 2865632167, + 2865763249, 2865894329, 2866025413, 2866156541, 2866287637, 2866418713, 2866549789, + 2866680893, 2866811971, 2866943059, 2867074151, 2867205239, 2867336323, 2867467417, + 2867598493, 2867729567, 2867860673, 2867991761, 2868122837, 2868253943, 2868385049, + 2868516143, 2868647231, 2868778331, 2868909497, 2869040609, 2869171693, 2869302767, + 2869433867, 2869564969, 2869696079, 2869827179, 2869958251, 2870089363, 2870220473, + 2870351551, 2870482633, 2870613721, 2870744803, 2870875919, 2871007003, 2871138103, + 2871269183, 2871400261, 2871531349, 2871662429, 2871793537, 2871924611, 2872055689, + 2872186787, 2872317869, 2872448963, 2872580071, 2872711147, 2872842221, 2872973357, + 2873104433, 2873235517, 2873366621, 2873497723, 2873628817, 2873759897, 2873890997, + 2874022079, 2874153151, 2874284269, 2874415381, 2874546481, 2874677569, 2874808723, + 2874939817, 2875070897, 2875201991, 2875333067, 2875464143, 2875595221, 2875726297, + 2875857379, 2875988477, 2876119559, 2876250631, 2876381713, 2876512861, 2876643997, + 2876775079, 2876906167, 2877037253, 2877168331, 2877299407, 2877430483, 2877561613, + 2877692687, 2877823769, 2877954841, 2878085921, 2878217039, 2878348111, 2878479193, + 2878610299, 2878741379, 2878872461, 2879003537, 2879134639, 2879265721, 2879396813, + 2879527927, 2879659091, 2879790163, 2879921249, 2880052327, 2880183421, 2880314509, + 2880445583, 2880576689, 2880707761, 2880838847, 2880969979, 2881101059, 2881232177, + 2881363253, 2881494337, 2881625441, 2881756517, 2881887629, 2882018717, 2882149799, + 2882280881, 2882411953, 2882543047, 2882674121, 2882805197, 2882936281, 2883067357, + 2883198467, 2883329651, 2883460739, 2883591827, 2883722899, 2883853981, 2883985067, + 2884116161, 2884247237, 2884378361, 2884509437, 2884640531, 2884771613, 2884902697, + 2885033797, 2885164871, 2885295949, 2885427049, 2885558149, 2885689223, 2885820299, + 2885951377, 2886082453, 2886213593, 2886344687, 2886475789, 2886606871, 2886737977, + 2886869087, 2887000169, 2887131251, 2887262333, 2887393409, 2887524499, 2887655609, + 2887786691, 2887917803, 2888048929, 2888180021, 2888311099, 2888442203, 2888573327, + 2888704411, 2888835491, 2888966581, 2889097693, 2889228851, 2889359927, 2889491039, + 2889622111, 2889753197, 2889884279, 2890015357, 2890146473, 2890277569, 2890408657, + 2890539731, 2890670807, 2890801909, 2890932983, 2891064067, 2891195141, 2891326219, + 2891457301, 2891588383, 2891719469, 2891850541, 2891981647, 2892112739, 2892243829, + 2892374911, 2892506009, 2892637117, 2892768191, 2892899281, 2893030373, 2893161511, + 2893292629, 2893423711, 2893554791, 2893685881, 2893816969, 2893948073, 2894079163, + 2894210261, 2894341339, 2894472439, 2894603527, 2894734613, 2894865691, 2894996771, + 2895127871, 2895259013, 2895390089, 2895521183, 2895652261, 2895783337, 2895914423, + 2896045501, 2896176587, 2896307723, 2896438807, 2896569911, 2896700999, 2896832089, + 2896963163, 2897094259, 2897225339, 2897356453, 2897487611, 2897618699, 2897749801, + 2897880889, 2898011989, 2898143069, 2898274147, 2898405221, 2898536293, 2898667427, + 2898798533, 2898929611, 2899060687, 2899191803, 2899322897, 2899453981, 2899585061, + 2899716139, 2899847231, 2899978331, 2900109419, 2900240509, 2900371583, 2900502667, + 2900633773, 2900764849, 2900895947, 2901027029, 2901158119, 2901289199, 2901420317, + 2901551399, 2901682477, 2901813569, 2901944671, 2902075811, 2902206883, 2902338167, + 2902469249, 2902600357, 2902731439, 2902862519, 2902993591, 2903124689, 2903255779, + 2903386877, 2903517959, 2903649059, 2903780161, 2903911237, 2904042313, 2904173399, + 2904304477, 2904435557, 2904566629, 2904697703, 2904828779, 2904959851, 2905090939, + 2905222049, 2905353127, 2905484201, 2905615283, 2905746367, 2905877453, 2906008529, + 2906139629, 2906270711, 2906401783, 2906532899, 2906663971, 2906795069, 2906926153, + 2907057229, 2907188321, 2907319403, 2907450479, 2907581591, 2907712679, 2907843773, + 2907974851, 2908105951, 2908237061, 2908368139, 2908499239, 2908630349, 2908761467, + 2908892561, 2909023639, 2909154727, 2909285843, 2909416921, 2909548051, 2909679131, + 2909810209, 2909941343, 2910072419, 2910203507, 2910334627, 2910465703, 2910596783, + 2910727861, 2910858941, 2910990029, 2911121107, 2911252229, 2911383323, 2911514447, + 2911645523, 2911776601, 2911907711, 2912038823, 2912169901, 2912300999, 2912432093, + 2912563229, 2912694329, 2912825401, 2912956499, 2913087587, 2913218677, 2913349753, + 2913480847, 2913611923, 2913743011, 2913874091, 2914005181, 2914136261, 2914267351, + 2914398433, 2914529543, 2914660691, 2914791779, 2914922851, 2915053931, 2915185027, + 2915316109, 2915447189, 2915578271, 2915709347, 2915840423, 2915971501, 2916102583, + 2916233657, 2916364747, 2916495871, 2916626953, 2916758057, 2916889201, 2917020329, + 2917151407, 2917282481, 2917413557, 2917544629, 2917675721, 2917806803, 2917937879, + 2918068969, 2918200079, 2918331173, 2918462251, 2918593343, 2918724421, 2918855531, + 2918986633, 2919117739, 2919248869, 2919379993, 2919511109, 2919642181, 2919773291, + 2919904381, 2920035479, 2920166573, 2920297669, 2920428751, 2920559857, 2920690937, + 2920822027, 2920953127, 2921084207, 2921215279, 2921346377, 2921477467, 2921608553, + 2921739637, 2921870729, 2922001829, 2922132901, 2922263983, 2922395071, 2922526153, + 2922657233, 2922788329, 2922919403, 2923050491, 2923181627, 2923312703, 2923443799, + 2923574933, 2923706029, 2923837153, 2923968241, 2924099327, 2924230409, 2924361481, + 2924492591, 2924623717, 2924754841, 2924885917, 2925017003, 2925148087, 2925279179, + 2925410251, 2925541349, 2925672439, 2925803519, 2925934591, 2926065671, 2926196747, + 2926327819, 2926458893, 2926589993, 2926721087, 2926852171, 2926983263, 2927114381, + 2927245457, 2927376541, 2927507617, 2927638699, 2927769773, 2927900879, 2928031987, + 2928163081, 2928294167, 2928425263, 2928556349, 2928687439, 2928818513, 2928949607, + 2929080701, 2929211773, 2929342847, 2929473923, 2929605043, 2929736137, 2929867217, + 2929998289, 2930129381, 2930260507, 2930391589, 2930522689, 2930653769, 2930784847, + 2930915941, 2931047051, 2931178141, 2931309217, 2931440297, 2931571393, 2931702467, + 2931833557, 2931964643, 2932095763, 2932226837, 2932357927, 2932489003, 2932620077, + 2932751153, 2932882229, 2933013301, 2933144393, 2933275493, 2933406569, 2933537647, + 2933668721, 2933799833, 2933930917, 2934061993, 2934193069, 2934324181, 2934455291, + 2934586363, 2934717439, 2934848561, 2934979643, 2935110743, 2935241819, 2935372903, + 2935503979, 2935635119, 2935766213, 2935897301, 2936028377, 2936159459, 2936290537, + 2936421613, 2936552747, 2936683829, 2936814911, 2936946007, 2937077083, 2937208187, + 2937339259, 2937470339, 2937601417, 2937732493, 2937863597, 2937994673, 2938125791, + 2938256899, 2938387987, 2938519061, 2938650161, 2938781273, 2938912411, 2939043493, + 2939174569, 2939305651, 2939436733, 2939567809, 2939698891, 2939829979, 2939961103, + 2940092237, 2940223333, 2940354409, 2940485489, 2940616561, 2940747643, 2940878749, + 2941009837, 2941140941, 2941272041, 2941403117, 2941534207, 2941665283, 2941796359, + 2941927433, 2942058523, 2942189651, 2942320739, 2942451943, 2942583031, 2942714111, + 2942845183, 2942976317, 2943107411, 2943238489, 2943369571, 2943500657, 2943631763, + 2943762841, 2943893929, 2944025009, 2944156091, 2944287191, 2944418291, 2944549409, + 2944680481, 2944811591, 2944942709, 2945073787, 2945204861, 2945335957, 2945467037, + 2945598181, 2945729333, 2945860417, 2945991539, 2946122617, 2946253699, 2946384781, + 2946515893, 2946646973, 2946778061, 2946909137, 2947040227, 2947171303, 2947302403, + 2947433483, 2947564573, 2947695661, 2947826737, 2947957813, 2948088919, 2948220013, + 2948351093, 2948482169, 2948613253, 2948744329, 2948875417, 2949006497, 2949137627, + 2949268723, 2949399797, 2949530959, 2949662033, 2949793109, 2949924199, 2950055287, + 2950186367, 2950317439, 2950448513, 2950579591, 2950710667, 2950841771, 2950972867, + 2951103943, 2951235019, 2951366101, 2951497187, 2951628263, 2951759357, 2951890433, + 2952021529, 2952152653, 2952283757, 2952414853, 2952545951, 2952677047, 2952808123, + 2952939217, 2953070299, 2953201387, 2953332523, 2953463599, 2953594681, 2953725773, + 2953856861, 2953987943, 2954119027, 2954250107, 2954381191, 2954512277, 2954643407, + 2954774479, 2954905553, 2955036631, 2955167707, 2955298783, 2955429859, 2955560939, + 2955692023, 2955823097, 2955954187, 2956085261, 2956216337, 2956347419, 2956478491, + 2956609577, 2956740659, 2956871741, 2957002847, 2957133937, 2957265023, 2957396119, + 2957527201, 2957658299, 2957789381, 2957920463, 2958051563, 2958182707, 2958313783, + 2958444869, 2958576037, 2958707111, 2958838189, 2958969341, 2959100447, 2959231519, + 2959362629, 2959493809, 2959624903, 2959755977, 2959887053, 2960018129, 2960149211, + 2960280283, 2960411359, 2960542489, 2960673571, 2960804653, 2960935727, 2961066811, + 2961197893, 2961328967, 2961460063, 2961591137, 2961722219, 2961853291, 2961984433, + 2962115551, 2962246631, 2962377703, 2962508789, 2962639873, 2962770949, 2962902029, + 2963033111, 2963164199, 2963295287, 2963426359, 2963557459, 2963688547, 2963819653, + 2963950739, 2964081893, 2964212983, 2964344057, 2964475159, 2964606257, 2964737339, + 2964868411, 2964999487, 2965130569, 2965261643, 2965392733, 2965523831, 2965654943, + 2965786073, 2965917167, 2966048269, 2966179343, 2966310439, 2966441539, 2966572663, + 2966703743, 2966834831, 2966965909, 2967096983, 2967228113, 2967359233, 2967490313, + 2967621389, 2967752503, 2967883601, 2968014689, 2968145771, 2968276849, 2968407989, + 2968539071, 2968670209, 2968801351, 2968932433, 2969063507, 2969194589, 2969325683, + 2969456783, 2969587883, 2969718959, 2969850049, 2969981227, 2970112309, 2970243421, + 2970374507, 2970505579, 2970636677, 2970767749, 2970898829, 2971029931, 2971161019, + 2971292117, 2971423229, 2971554301, 2971685393, 2971816469, 2971947547, 2972078647, + 2972209769, 2972340841, 2972471917, 2972602993, 2972734081, 2972865163, 2972996237, + 2973127327, 2973258413, 2973389533, 2973520633, 2973651721, 2973782809, 2973913889, + 2974044989, 2974176083, 2974307173, 2974438249, 2974569331, 2974700431, 2974831537, + 2974962631, 2975093717, 2975224807, 2975355931, 2975487007, 2975618147, 2975749237, + 2975880331, 2976011411, 2976142489, 2976273581, 2976404719, 2976535813, 2976666887, + 2976798017, 2976929089, 2977060171, 2977191253, 2977322351, 2977453459, 2977584539, + 2977715669, 2977846741, 2977977853, 2978108951, 2978240099, 2978371181, 2978502311, + 2978633429, 2978764517, 2978895589, 2979026737, 2979157829, 2979288911, 2979419999, + 2979551131, 2979682231, 2979813311, 2979944389, 2980075471, 2980206553, 2980337641, + 2980468717, 2980599829, 2980730933, 2980862021, 2980993117, 2981124191, 2981255323, + 2981386409, 2981517509, 2981648611, 2981779721, 2981910797, 2982041911, 2982172993, + 2982304099, 2982435179, 2982566261, 2982697343, 2982828427, 2982959521, 2983090601, + 2983221679, 2983352767, 2983483871, 2983614961, 2983746067, 2983877161, 2984008241, + 2984139313, 2984270407, 2984401487, 2984532583, 2984663657, 2984794741, 2984925847, + 2985056923, 2985187999, 2985319081, 2985450161, 2985581239, 2985712319, 2985843391, + 2985974479, 2986105561, 2986236647, 2986367723, 2986498813, 2986629907, 2986760983, + 2986892059, 2987023153, 2987154257, 2987285369, 2987416447, 2987547539, 2987678641, + 2987809751, 2987940829, 2988071909, 2988203027, 2988334109, 2988465199, 2988596309, + 2988727397, 2988858493, 2988989567, 2989120639, 2989251761, 2989382849, 2989513949, + 2989645027, 2989776109, 2989907243, 2990038349, 2990169421, 2990300501, 2990431573, + 2990562719, 2990693843, 2990824919, 2990955997, 2991087079, 2991218161, 2991349243, + 2991480319, 2991611419, 2991742493, 2991873569, 2992004647, 2992135733, 2992266853, + 2992397929, 2992529003, 2992660087, 2992791199, 2992922279, 2993053369, 2993184443, + 2993315539, 2993446627, 2993577781, 2993708867, 2993839943, 2993971051, 2994102131, + 2994233243, 2994364349, 2994495421, 2994626497, 2994757583, 2994888709, 2995019803, + 2995150889, 2995281997, 2995413089, 2995544171, 2995675253, 2995806329, 2995937407, + 2996068483, 2996199593, 2996330683, 2996461757, 2996592883, 2996723969, 2996855051, + 2996986123, 2997117199, 2997248333, 2997379417, 2997510511, 2997641593, 2997772699, + 2997903793, 2998034867, 2998165949, 2998297031, 2998428109, 2998559203, 2998690291, + 2998821421, 2998952513, 2999083589, 2999214661, 2999345743, 2999476849, 2999607973, + 2999739049, 2999870141, 3000001229, 3000132313, 3000263389, 3000394471, 3000525569, + 3000656693, 3000787799, 3000918871, 3001049963, 3001181041, 3001312117, 3001443199, + 3001574299, 3001705381, 3001836463, 3001967537, 3002098613, 3002229719, 3002360813, + 3002491903, 3002623007, 3002754089, 3002885161, 3003016249, 3003147341, 3003278441, + 3003409523, 3003540613, 3003671701, 3003802801, 3003933937, 3004065023, 3004196141, + 3004327217, 3004458313, 3004589387, 3004720463, 3004851569, 3004982663, 3005113753, + 3005244829, 3005375953, 3005507041, 3005638133, 3005769223, 3005900297, 3006031393, + 3006162487, 3006293569, 3006424643, 3006555749, 3006686887, 3006817993, 3006949093, + 3007080221, 3007211303, 3007342399, 3007473473, 3007604549, 3007735639, 3007866713, + 3007997807, 3008128883, 3008259977, 3008391073, 3008522173, 3008653259, 3008784367, + 3008915447, 3009046519, 3009177631, 3009308719, 3009439847, 3009570919, 3009702013, + 3009833131, 3009964289, 3010095371, 3010226459, 3010357541, 3010488617, 3010619693, + 3010750777, 3010881857, 3011012941, 3011144029, 3011275103, 3011406191, 3011537273, + 3011668349, 3011799457, 3011930531, 3012061631, 3012192727, 3012323801, 3012454889, + 3012585967, 3012717047, 3012848143, 3012979219, 3013110293, 3013241411, 3013372493, + 3013503601, 3013634677, 3013765751, 3013896841, 3014027927, 3014159017, 3014290129, + 3014421203, 3014552363, 3014683459, 3014814553, 3014945627, 3015076721, 3015207821, + 3015338897, 3015469973, 3015601067, 3015732149, 3015863239, 3015994369, 3016125443, + 3016256521, 3016387609, 3016518697, 3016649777, 3016780853, 3016911929, 3017043017, + 3017174099, 3017305171, 3017436271, 3017567359, 3017698433, 3017829541, 3017960653, + 3018091729, 3018222833, 3018353909, 3018484999, 3018616079, 3018747163, 3018878237, + 3019009309, 3019140391, 3019271471, 3019402543, 3019533617, 3019664717, 3019795829, + 3019926911, 3020058023, 3020189119, 3020320201, 3020451283, 3020582363, 3020713463, + 3020844571, 3020975669, 3021106747, 3021237851, 3021368939, 3021500021, 3021631097, + 3021762199, 3021893291, 3022024403, 3022155481, 3022286569, 3022417663, 3022548743, + 3022679819, 3022810913, 3022942033, 3023073107, 3023204207, 3023335283, 3023466373, + 3023597461, 3023728619, 3023859701, 3023990789, 3024121861, 3024252967, 3024384043, + 3024515147, 3024646249, 3024777323, 3024908407, 3025039487, 3025170559, 3025301647, + 3025432777, 3025563901, 3025694981, 3025826053, 3025957127, 3026088203, 3026219279, + 3026350357, 3026481433, 3026612509, 3026743613, 3026874691, 3027005783, 3027136859, + 3027267941, 3027399013, 3027530117, 3027661211, 3027792307, 3027923383, 3028054483, + 3028185569, 3028316647, 3028447729, 3028578869, 3028709969, 3028841041, 3028972117, + 3029103193, 3029234269, 3029365393, 3029496467, 3029627543, 3029758643, 3029889763, + 3030020837, 3030151919, 3030282991, 3030414103, 3030545197, 3030676273, 3030807391, + 3030938467, 3031069543, 3031200631, 3031331753, 3031462843, 3031593947, 3031725029, + 3031856123, 3031987201, 3032118281, 3032249357, 3032380441, 3032511523, 3032642603, + 3032773697, 3032904803, 3033035893, 3033166987, 3033298061, 3033429169, 3033560261, + 3033691351, 3033822427, 3033953513, 3034084621, 3034215713, 3034346803, 3034477891, + 3034608971, 3034740043, 3034871117, 3035002189, 3035133271, 3035264347, 3035395421, + 3035526539, 3035657659, 3035788741, 3035919827, 3036050909, 3036181987, 3036313103, + 3036444193, 3036575281, 3036706363, 3036837443, 3036968521, 3037099603, 3037230689, + 3037361771, 3037492853, 3037623929, 3037755013, 3037886107, 3038017183, 3038148259, + 3038279347, 3038410421, 3038541511, 3038672587, 3038803661, 3038934749, 3039065849, + 3039196921, 3039328001, 3039459079, 3039590237, 3039721309, 3039852383, 3039983461, + 3040114543, 3040245623, 3040376743, 3040507849, 3040638949, 3040770049, 3040901137, + 3041032217, 3041163361, 3041294437, 3041425649, 3041556733, 3041687813, 3041818907, + 3041950003, 3042081079, 3042212153, 3042343237, 3042474317, 3042605389, 3042736537, + 3042867643, 3042998723, 3043129801, 3043260881, 3043391963, 3043523051, 3043654123, + 3043785299, 3043916371, 3044047453, 3044178541, 3044309651, 3044440757, 3044571833, + 3044702929, 3044834021, 3044965103, 3045096191, 3045227303, 3045358397, 3045489481, + 3045620563, 3045751663, 3045882751, 3046013837, 3046144931, 3046276033, 3046407113, + 3046538221, 3046669303, 3046800413, 3046931491, 3047062573, 3047193649, 3047324779, + 3047455867, 3047586943, 3047718019, 3047849099, 3047980183, 3048111259, 3048242357, + 3048373439, 3048504559, 3048635641, 3048766739, 3048897821, 3049028893, 3049159987, + 3049291123, 3049422221, 3049553317, 3049684409, 3049815481, 3049946569, 3050077651, + 3050208737, 3050339837, 3050470921, 3050602001, 3050733089, 3050864171, 3050995301, + 3051126373, 3051257483, 3051388573, 3051519661, 3051650747, 3051781897, 3051912979, + 3052044053, 3052175129, 3052306207, 3052437287, 3052568359, 3052699511, 3052830587, + 3052961669, 3053092799, 3053223893, 3053355001, 3053486119, 3053617201, 3053748281, + 3053879357, 3054010459, 3054141551, 3054272677, 3054403771, 3054534851, 3054665959, + 3054797063, 3054928159, 3055059251, 3055190387, 3055321501, 3055452577, 3055583651, + 3055714741, 3055845827, 3055976939, 3056108021, 3056239099, 3056370181, 3056501293, + 3056632373, 3056763461, 3056894539, 3057025613, 3057156719, 3057287791, 3057418883, + 3057549961, 3057681071, 3057812159, 3057943247, 3058074323, 3058205407, 3058336481, + 3058467553, 3058598633, 3058729717, 3058860797, 3058991879, 3059122961, 3059254043, + 3059385143, 3059516261, 3059647337, 3059778427, 3059909521, 3060040601, 3060171679, + 3060302779, 3060433861, 3060564937, 3060696019, 3060827117, 3060958211, 3061089293, + 3061220377, 3061351457, 3061482533, 3061613627, 3061744717, 3061875799, 3062006897, + 3062137987, 3062269069, 3062400163, 3062531237, 3062662333, 3062793421, 3062924503, + 3063055591, 3063186689, 3063317833, 3063448931, 3063580027, 3063711181, 3063842267, + 3063973351, 3064104451, 3064235617, 3064366703, 3064497827, 3064628923, 3064760003, + 3064891079, 3065022187, 3065153279, 3065284357, 3065415443, 3065546551, 3065677639, + 3065808791, 3065939869, 3066070949, 3066202063, 3066333143, 3066464221, 3066595309, + 3066726391, 3066857473, 3066988591, 3067119703, 3067250783, 3067381861, 3067512941, + 3067644017, 3067775089, 3067906189, 3068037263, 3068168339, 3068299439, 3068430527, + 3068561633, 3068692709, 3068823787, 3068954891, 3069085993, 3069217087, 3069348187, + 3069479267, 3069610339, 3069741419, 3069872513, 3070003589, 3070134671, 3070265743, + 3070396859, 3070528031, 3070659107, 3070790201, 3070921289, 3071052367, 3071183441, + 3071314579, 3071445673, 3071576749, 3071707829, 3071838961, 3071970053, 3072101129, + 3072232201, 3072363313, 3072494423, 3072625511, 3072756593, 3072887677, 3073018759, + 3073149841, 3073280921, 3073412021, 3073543097, 3073674173, 3073805281, 3073936363, + 3074067439, 3074198549, 3074329627, 3074460713, 3074591789, 3074722891, 3074853967, + 3074985071, 3075116171, 3075247243, 3075378349, 3075509429, 3075640591, 3075771667, + 3075902741, 3076033817, 3076164907, 3076295987, 3076427063, 3076558139, 3076689281, + 3076820363, 3076951457, 3077082553, 3077213641, 3077344733, 3077475829, 3077606929, + 3077738051, 3077869129, 3078000239, 3078131323, 3078262399, 3078393481, 3078524587, + 3078655661, 3078786749, 3078917867, 3079048949, 3079180057, 3079311143, 3079442221, + 3079573303, 3079704391, 3079835491, 3079966567, 3080097641, 3080228717, 3080359823, + 3080490923, 3080622023, 3080753131, 3080884259, 3081015373, 3081146461, 3081277541, + 3081408613, 3081539689, 3081670777, 3081801857, 3081932969, 3082064047, 3082195141, + 3082326217, 3082457291, 3082588381, 3082719469, 3082850543, 3082981639, 3083112737, + 3083243819, 3083374897, 3083505973, 3083637061, 3083768143, 3083899223, 3084030311, + 3084161407, 3084292481, 3084423553, 3084554657, 3084685757, 3084816883, 3084947963, + 3085079051, 3085210159, 3085341241, 3085472317, 3085603397, 3085734469, 3085865557, + 3085996631, 3086127719, 3086258831, 3086389913, 3086521001, 3086652089, 3086783209, + 3086914297, 3087045407, 3087176513, 3087307589, 3087438661, 3087569741, 3087700813, + 3087831917, 3087962993, 3088094071, 3088225229, 3088356319, 3088487429, 3088618501, + 3088749581, 3088880653, 3089011727, 3089142809, 3089273899, 3089404973, 3089536063, + 3089667137, 3089798209, 3089929351, 3090060451, 3090191537, 3090322633, 3090453727, + 3090584851, 3090715933, 3090847007, 3090978089, 3091109171, 3091240247, 3091371343, + 3091502417, 3091633511, 3091764589, 3091895711, 3092026789, 3092157941, 3092289017, + 3092420099, 3092551183, 3092682287, 3092813377, 3092944457, 3093075541, 3093206639, + 3093337717, 3093468799, 3093599879, 3093730951, 3093862027, 3093993101, 3094124221, + 3094255301, 3094386377, 3094517467, 3094648573, 3094779659, 3094910743, 3095041819, + 3095172893, 3095303969, 3095435047, 3095566129, 3095697211, 3095828303, 3095959381, + 3096090463, 3096221539, 3096352691, 3096483833, 3096614933, 3096746033, 3096877117, + 3097008191, 3097139281, 3097270391, 3097401481, 3097532623, 3097663711, 3097794797, + 3097925879, 3098056961, 3098188033, 3098319109, 3098450191, 3098581301, 3098712401, + 3098843479, 3098974573, 3099105731, 3099236837, 3099367933, 3099499019, 3099630097, + 3099761179, 3099892253, 3100023373, 3100154489, 3100285577, 3100416673, 3100547767, + 3100678883, 3100809973, 3100941059, 3101072201, 3101203279, 3101334359, 3101465453, + 3101596543, 3101727619, 3101858759, 3101989853, 3102120941, 3102252047, 3102383147, + 3102514231, 3102645311, 3102776389, 3102907463, 3103038571, 3103169669, 3103300813, + 3103431997, 3103563077, 3103694149, 3103825247, 3103956403, 3104087489, 3104218561, + 3104349683, 3104480759, 3104611871, 3104742947, 3104874053, 3105005149, 3105136247, + 3105267323, 3105398407, 3105529481, 3105660553, 3105791629, 3105922711, 3106053793, + 3106184899, 3106315997, 3106447121, 3106578203, 3106709311, 3106840393, 3106971467, + 3107102539, 3107233627, 3107364713, 3107495789, 3107626901, 3107757973, 3107889047, + 3108020131, 3108151217, 3108282337, 3108413411, 3108544489, 3108675587, 3108806669, + 3108937763, 3109068841, 3109199917, 3109330993, 3109462067, 3109593139, 3109724251, + 3109855349, 3109986463, 3110117537, 3110248613, 3110379707, 3110510779, 3110641939, + 3110773013, 3110904113, 3111035189, 3111166271, 3111297349, 3111428447, 3111559541, + 3111690643, 3111821723, 3111952813, 3112083889, 3112215017, 3112346113, 3112477201, + 3112608287, 3112739363, 3112870477, 3113001589, 3113132663, 3113263793, 3113394881, + 3113525957, 3113657033, 3113788109, 3113919187, 3114050299, 3114181381, 3114312457, + 3114443569, 3114574643, 3114705721, 3114836797, 3114967897, 3115099021, 3115230103, + 3115361189, 3115492273, 3115623389, 3115754471, 3115885543, 3116016623, 3116147743, + 3116278817, 3116409899, 3116540981, 3116672057, 3116803133, 3116934229, 3117065351, + 3117196447, 3117327533, 3117458651, 3117589723, 3117720803, 3117851887, 3117982997, + 3118114183, 3118245259, 3118376333, 3118507409, 3118638487, 3118769567, 3118900703, + 3119031787, 3119162881, 3119293963, 3119425063, 3119556157, 3119687239, 3119818327, + 3119949431, 3120080503, 3120211621, 3120342713, 3120473789, 3120604871, 3120735953, + 3120867037, 3120998117, 3121129189, 3121260281, 3121391353, 3121522433, 3121653511, + 3121784651, 3121915739, 3122046817, 3122177893, 3122308979, 3122440091, 3122571163, + 3122702251, 3122833327, 3122964419, 3123095491, 3123226571, 3123357689, 3123488777, + 3123619853, 3123750943, 3123882019, 3124013093, 3124144169, 3124275251, 3124406347, + 3124537421, 3124668499, 3124799593, 3124930729, 3125061809, 3125192887, 3125324051, + 3125455169, 3125586271, 3125717351, 3125848423, 3125979539, 3126110623, 3126241733, + 3126372817, 3126503951, 3126635069, 3126766187, 3126897287, 3127028419, 3127159499, + 3127290583, 3127421659, 3127552783, 3127683863, 3127814939, 3127946027, 3128077153, + 3128208271, 3128339353, 3128470451, 3128601523, 3128732627, 3128863721, 3128994797, + 3129125891, 3129256969, 3129388043, 3129519121, 3129650197, 3129781279, 3129912371, + 3130043467, 3130174543, 3130305667, 3130436753, 3130567837, 3130698911, 3130830011, + 3130961149, 3131092229, 3131223307, 3131354381, 3131485471, 3131616571, 3131747657, + 3131878759, 3132009833, 3132140933, 3132272041, 3132403121, 3132534203, 3132665281, + 3132796367, 3132927439, 3133058527, 3133189603, 3133320683, 3133451767, 3133582853, + 3133713931, 3133845007, 3133976099, 3134107177, 3134238293, 3134369377, 3134500469, + 3134631541, 3134762639, 3134893717, 3135024793, 3135155869, 3135286949, 3135418063, + 3135549143, 3135680237, 3135811339, 3135942421, 3136073497, 3136204607, 3136335701, + 3136466791, 3136597873, 3136728961, 3136860053, 3136991129, 3137122223, 3137253299, + 3137384399, 3137515477, 3137646559, 3137777633, 3137908727, 3138039803, 3138170911, + 3138302003, 3138433139, 3138564251, 3138695377, 3138826459, 3138957533, 3139088647, + 3139219739, 3139350817, 3139481897, 3139612969, 3139744061, 3139875181, 3140006257, + 3140137331, 3140268413, 3140399489, 3140530621, 3140661697, 3140792783, 3140923867, + 3141054941, 3141186149, 3141317237, 3141448337, 3141579443, 3141710519, 3141841657, + 3141972737, 3142103813, 3142234891, 3142365979, 3142497091, 3142628183, 3142759259, + 3142890353, 3143021429, 3143152541, 3143283631, 3143414713, 3143545807, 3143676929, + 3143808007, 3143939089, 3144070183, 3144201271, 3144332357, 3144463433, 3144594511, + 3144725611, 3144856697, 3144987821, 3145118939, 3145250027, 3145381139, 3145512259, + 3145643339, 3145774421, 3145905509, 3146036611, 3146167693, 3146298781, 3146429857, + 3146560933, 3146692007, 3146823109, 3146954189, 3147085297, 3147216389, 3147347503, + 3147478591, 3147609667, 3147740741, 3147871813, 3148002887, 3148133971, 3148265147, + 3148396247, 3148527331, 3148658423, 3148789499, 3148920571, 3149051671, 3149182781, + 3149313863, 3149444951, 3149576069, 3149707151, 3149838229, 3149969311, 3150100403, + 3150231503, 3150362591, 3150493667, 3150624761, 3150755849, 3150886931, 3151018049, + 3151149139, 3151280233, 3151411339, 3151542419, 3151673533, 3151804679, 3151935769, + 3152066843, 3152197967, 3152329049, 3152460121, 3152591227, 3152722303, 3152853397, + 3152984551, 3153115639, 3153246743, 3153377819, 3153508921, 3153640019, 3153771097, + 3153902173, 3154033249, 3154164329, 3154295407, 3154426489, 3154557643, 3154688729, + 3154819807, 3154950881, 3155081977, 3155213053, 3155344141, 3155475221, 3155606297, + 3155737391, 3155868467, 3155999551, 3156130669, 3156261743, 3156392821, 3156523897, + 3156654989, 3156786071, 3156917161, 3157048247, 3157179323, 3157310423, 3157441499, + 3157572629, 3157703701, 3157834783, 3157965857, 3158096983, 3158228063, 3158359207, + 3158490323, 3158621413, 3158752517, 3158883599, 3159014671, 3159145753, 3159276839, + 3159407921, 3159539011, 3159670109, 3159801181, 3159932261, 3160063349, 3160194431, + 3160325507, 3160456597, 3160587673, 3160718777, 3160849877, 3160980997, 3161112077, + 3161243191, 3161374267, 3161505343, 3161636459, 3161767537, 3161898631, 3162029711, + 3162160787, 3162291893, 3162422969, 3162554069, 3162685153, 3162816233, 3162947311, + 3163078403, 3163209521, 3163340597, 3163471691, 3163602769, 3163733843, 3163864967, + 3163996039, 3164127139, 3164258231, 3164389309, 3164520383, 3164651467, 3164782567, + 3164913667, 3165044747, 3165175823, 3165306913, 3165437987, 3165569059, 3165700163, + 3165831247, 3165962321, 3166093421, 3166224497, 3166355573, 3166486649, 3166617721, + 3166748801, 3166879879, 3167010961, 3167142061, 3167273143, 3167404223, 3167535317, + 3167666393, 3167797469, 3167928541, 3168059623, 3168190717, 3168321809, 3168452891, + 3168583969, 3168715087, 3168846221, 3168977353, 3169108441, 3169239559, 3169370671, + 3169501759, 3169632841, 3169763957, 3169895051, 3170026133, 3170157209, 3170288327, + 3170419409, 3170550553, 3170681809, 3170812907, 3170943983, 3171075071, 3171206147, + 3171337219, 3171468317, 3171599399, 3171730481, 3171861569, 3171992641, 3172123753, + 3172254851, 3172385933, 3172517027, 3172648099, 3172779187, 3172910261, 3173041379, + 3173172469, 3173303543, 3173434619, 3173565709, 3173696797, 3173827873, 3173958961, + 3174090047, 3174221119, 3174352193, 3174483271, 3174614371, 3174745451, 3174876547, + 3175007621, 3175138763, 3175269841, 3175400951, 3175532057, 3175663129, 3175794247, + 3175925321, 3176056393, 3176187481, 3176318569, 3176449709, 3176580793, 3176711869, + 3176842943, 3176974027, 3177105103, 3177236239, 3177367327, 3177498413, 3177629489, + 3177760571, 3177891671, 3178022767, 3178153871, 3178284943, 3178416047, 3178547269, + 3178678351, 3178809437, 3178940509, 3179071591, 3179202667, 3179333777, 3179464853, + 3179595959, 3179727037, 3179858117, 3179989249, 3180120343, 3180251419, 3180382493, + 3180513631, 3180644711, 3180775813, 3180906893, 3181037983, 3181169063, 3181300159, + 3181431233, 3181562309, 3181693397, 3181824479, 3181955551, 3182086651, 3182217737, + 3182348837, 3182479969, 3182611049, 3182742169, 3182873273, 3183004361, 3183135443, + 3183266521, 3183397597, 3183528701, 3183659803, 3183790877, 3183921973, 3184053073, + 3184184149, 3184315223, 3184446299, 3184577371, 3184708459, 3184839557, 3184970639, + 3185101721, 3185232797, 3185363873, 3185494957, 3185626079, 3185757173, 3185888267, + 3186019367, 3186150439, 3186281531, 3186412609, 3186543683, 3186674801, 3186805903, + 3186936997, 3187068089, 3187199161, 3187330241, 3187461313, 3187592407, 3187723501, + 3187854577, 3187985653, 3188116747, 3188247851, 3188378953, 3188510027, 3188641109, + 3188772239, 3188903317, 3189034391, 3189165479, 3189296581, 3189427729, 3189558811, + 3189689891, 3189820979, 3189952067, 3190083139, 3190214227, 3190345343, 3190476437, + 3190607557, 3190738637, 3190869733, 3191000807, 3191131891, 3191262983, 3191394077, + 3191525153, 3191656229, 3191787301, 3191918383, 3192049477, 3192180599, 3192311671, + 3192442763, 3192573877, 3192704953, 3192836063, 3192967159, 3193098269, 3193229341, + 3193360421, 3193491493, 3193622587, 3193753687, 3193884763, 3194015849, 3194146927, + 3194278013, 3194409103, 3194540177, 3194671261, 3194802337, 3194933419, 3195064517, + 3195195623, 3195326707, 3195457813, 3195588887, 3195719963, 3195851041, 3195982123, + 3196113197, 3196244287, 3196375361, 3196506433, 3196637557, 3196768633, 3196899733, + 3197030821, 3197161907, 3197292991, 3197424067, 3197555227, 3197686337, 3197817409, + 3197948491, 3198079579, 3198210661, 3198341743, 3198472861, 3198603937, 3198735053, + 3198866131, 3198997223, 3199128313, 3199259389, 3199390483, 3199521593, 3199652713, + 3199783793, 3199914869, 3200045951, 3200177041, 3200308117, 3200439241, 3200570357, + 3200701433, 3200832527, 3200963627, 3201094717, 3201225823, 3201356897, 3201487969, + 3201619079, 3201750151, 3201881227, 3202012313, 3202143401, 3202274473, 3202405553, + 3202536641, 3202667747, 3202798867, 3202929979, 3203061053, 3203192131, 3203323231, + 3203454311, 3203585387, 3203716459, 3203847533, 3203978611, 3204109771, 3204240859, + 3204371941, 3204503017, 3204634109, 3204765199, 3204896309, 3205027381, 3205158497, + 3205289573, 3205420649, 3205551737, 3205682827, 3205813967, 3205945063, 3206076143, + 3206207219, 3206338327, 3206469403, 3206600513, 3206731589, 3206862661, 3206993761, + 3207124847, 3207255937, 3207387031, 3207518131, 3207649213, 3207780311, 3207911389, + 3208042483, 3208173587, 3208304677, 3208435757, 3208566833, 3208697909, 3208828991, + 3208960081, 3209091187, 3209222299, 3209353387, 3209484479, 3209615551, 3209746679, + 3209877773, 3210008873, 3210139951, 3210271037, 3210402121, 3210533201, 3210664279, + 3210795359, 3210926441, 3211057517, 3211188623, 3211319759, 3211450903, 3211582001, + 3211713091, 3211844201, 3211975303, 3212106409, 3212237563, 3212368639, 3212499721, + 3212630797, 3212761931, 3212893007, 3213024091, 3213155173, 3213286247, 3213417323, + 3213548407, 3213679493, 3213810581, 3213941657, 3214072781, 3214203857, 3214334951, + 3214466023, 3214597109, 3214728191, 3214859281, 3214990357, 3215121431, 3215252527, + 3215383637, 3215514713, 3215645803, 3215776891, 3215907967, 3216039049, 3216170131, + 3216301217, 3216432299, 3216563381, 3216694487, 3216825583, 3216956657, 3217087777, + 3217218853, 3217349939, 3217481011, 3217612121, 3217743197, 3217874287, 3218005363, + 3218136463, 3218267543, 3218398661, 3218529739, 3218660827, 3218791943, 3218923027, + 3219054127, 3219185237, 3219316327, 3219447449, 3219578539, 3219709687, 3219840791, + 3219971869, 3220102987, 3220234067, 3220365149, 3220496263, 3220627349, 3220758421, + 3220889509, 3221020597, 3221151683, 3221282807, 3221413883, 3221544961, 3221676047, + 3221807123, 3221938249, 3222069353, 3222200441, 3222331513, 3222462599, 3222593707, + 3222724807, 3222855893, 3222986983, 3223118071, 3223249163, 3223380253, 3223511371, + 3223642453, 3223773547, 3223904623, 3224035721, 3224166797, 3224297899, 3224429011, + 3224560159, 3224691233, 3224822311, 3224953399, 3225084497, 3225215597, 3225346673, + 3225477757, 3225608833, 3225739921, 3225870997, 3226002113, 3226133219, 3226264309, + 3226395391, 3226526473, 3226657559, 3226788637, 3226919737, 3227050817, 3227181899, + 3227312971, 3227444047, 3227575181, 3227706283, 3227837357, 3227968433, 3228099517, + 3228230591, 3228361679, 3228492811, 3228623891, 3228755051, 3228886123, 3229017203, + 3229148291, 3229279379, 3229410517, 3229541599, 3229672679, 3229803757, 3229934831, + 3230065933, 3230197021, 3230328103, 3230459201, 3230590277, 3230721383, 3230852479, + 3230983589, 3231114661, 3231245749, 3231376877, 3231507959, 3231639067, 3231770203, + 3231901289, 3232032403, 3232163483, 3232294631, 3232425767, 3232556857, 3232687951, + 3232819033, 3232950121, 3233081197, 3233212309, 3233343403, 3233474501, 3233605579, + 3233736661, 3233867737, 3233998819, 3234129911, 3234261007, 3234392123, 3234523211, + 3234654299, 3234785383, 3234916469, 3235047583, 3235178711, 3235309799, 3235440877, + 3235571951, 3235703039, 3235834117, 3235965217, 3236096323, 3236227417, 3236358509, + 3236489591, 3236620679, 3236751781, 3236882861, 3237013957, 3237145031, 3237276109, + 3237407213, 3237538321, 3237669473, 3237800557, 3237931643, 3238062749, 3238193831, + 3238324913, 3238455991, 3238587127, 3238718227, 3238849301, 3238980373, 3239111453, + 3239242529, 3239373617, 3239504689, 3239635769, 3239766847, 3239897929, 3240029027, + 3240160153, 3240291247, 3240422323, 3240553429, 3240684511, 3240815623, 3240946703, + 3241077823, 3241208911, 3241339991, 3241471067, 3241602151, 3241733233, 3241864321, + 3241995413, 3242126497, 3242257589, 3242388697, 3242519771, 3242650849, 3242781931, + 3242913019, 3243044093, 3243175181, 3243306281, 3243437357, 3243568429, 3243699517, + 3243830591, 3243961673, 3244092749, 3244223821, 3244354921, 3244486027, 3244617113, + 3244748203, 3244879283, 3245010409, 3245141491, 3245272633, 3245403727, 3245534827, + 3245665909, 3245797001, 3245928073, 3246059213, 3246190303, 3246321383, 3246452467, + 3246583573, 3246714649, 3246845731, 3246976819, 3247107917, 3247238993, 3247370101, + 3247501207, 3247632301, 3247763401, 3247894487, 3248025611, 3248156683, 3248287781, + 3248418853, 3248549981, 3248681083, 3248812159, 3248943233, 3249074321, 3249205403, + 3249336479, 3249467581, 3249598727, 3249729811, 3249860897, 3249991991, 3250123067, + 3250254167, 3250385239, 3250516337, 3250647419, 3250778497, 3250909591, 3251040703, + 3251171801, 3251302889, 3251433967, 3251565047, 3251696141, 3251827247, 3251958361, + 3252089437, 3252220511, 3252351623, 3252482713, 3252613789, 3252744863, 3252875957, + 3253007029, 3253138103, 3253269191, 3253400263, 3253531357, 3253662431, 3253793513, + 3253924607, 3254055703, 3254186783, 3254317861, 3254448943, 3254580023, 3254711123, + 3254842211, 3254973283, 3255104401, 3255235483, 3255366563, 3255497701, 3255628781, + 3255759853, 3255890947, 3256022047, 3256153151, 3256284233, 3256415311, 3256546399, + 3256677481, 3256808573, 3256939649, 3257070721, 3257201807, 3257332901, 3257463977, + 3257595071, 3257726203, 3257857283, 3257988359, 3258119443, 3258250519, 3258381593, + 3258512693, 3258643769, 3258774851, 3258905927, 3259036999, 3259168111, 3259299187, + 3259430267, 3259561369, 3259692451, 3259823527, 3259954631, 3260085709, 3260216789, + 3260347877, 3260478967, 3260610049, 3260741123, 3260872217, 3261003299, 3261134381, + 3261265453, 3261396529, 3261527609, 3261658717, 3261789799, 3261920891, 3262052009, + 3262183129, 3262314203, 3262445279, 3262576351, 3262707443, 3262838519, 3262969603, + 3263100721, 3263231809, 3263362913, 3263493997, 3263625077, 3263756173, 3263887259, + 3264018349, 3264149429, 3264280507, 3264411583, 3264542707, 3264673781, 3264804863, + 3264935941, 3265067023, 3265198099, 3265329181, 3265460257, 3265591331, 3265722407, + 3265853497, 3265984577, 3266115673, 3266246779, 3266377853, 3266508943, 3266640017, + 3266771111, 3266902211, 3267033307, 3267164401, 3267295477, 3267426559, 3267557663, + 3267688741, 3267819817, 3267950891, 3268081963, 3268213057, 3268344161, 3268475257, + 3268606349, 3268737469, 3268868569, 3268999663, 3269130743, 3269261881, 3269392957, + 3269524067, 3269655139, 3269786231, 3269917333, 3270048421, 3270179531, 3270310651, + 3270441731, 3270572827, 3270703901, 3270835013, 3270966119, 3271097197, 3271228297, + 3271359389, 3271490461, 3271621547, 3271752637, 3271883729, 3272014829, 3272145901, + 3272276993, 3272408093, 3272539169, 3272670241, 3272801317, 3272932393, 3273063473, + 3273194579, 3273325663, 3273456787, 3273587869, 3273718949, 3273850031, 3273981107, + 3274112189, 3274243327, 3274374407, 3274505483, 3274636583, 3274767673, 3274898773, + 3275029847, 3275160953, 3275292107, 3275423209, 3275554291, 3275685373, 3275816447, + 3275947531, 3276078607, 3276209687, 3276340799, 3276471883, 3276602957, 3276734029, + 3276865117, 3276996199, 3277127317, 3277258433, 3277389539, 3277520629, 3277651709, + 3277782787, 3277913861, 3278044951, 3278176073, 3278307169, 3278438281, 3278569363, + 3278700443, 3278831551, 3278962657, 3279093733, 3279224807, 3279355889, 3279486961, + 3279618037, 3279749149, 3279880223, 3280011307, 3280142381, 3280273457, 3280404529, + 3280535659, 3280666747, 3280797827, 3280928921, 3281059997, 3281191163, 3281322251, + 3281453333, 3281584421, 3281715517, 3281846591, 3281977681, 3282108769, 3282239879, + 3282370961, 3282502039, 3282633119, 3282764203, 3282895307, 3283026389, 3283157491, + 3283288579, 3283419673, 3283550749, 3283681867, 3283812943, 3283944023, 3284075111, + 3284206187, 3284337271, 3284468347, 3284599457, 3284730551, 3284861663, 3284992741, + 3285123817, 3285254893, 3285385979, 3285517057, 3285648151, 3285779291, 3285910421, + 3286041497, 3286172581, 3286303661, 3286434743, 3286565819, 3286696891, 3286827967, + 3286959041, 3287090129, 3287221243, 3287352323, 3287483399, 3287614487, 3287745563, + 3287876639, 3288007727, 3288138809, 3288269891, 3288401009, 3288532109, 3288663199, + 3288794281, 3288925361, 3289056437, 3289187509, 3289318621, 3289449703, 3289580821, + 3289711907, 3289843001, 3289974131, 3290105261, 3290236373, 3290367449, 3290498551, + 3290629631, 3290760713, 3290891797, 3291022871, 3291153949, 3291285047, 3291416129, + 3291547249, 3291678347, 3291809449, 3291940543, 3292071631, 3292202729, 3292333861, + 3292464941, 3292596037, 3292727111, 3292858187, 3292989277, 3293120387, 3293251459, + 3293382551, 3293513627, 3293644723, 3293775829, 3293906951, 3294038023, 3294169111, + 3294300197, 3294431333, 3294562463, 3294693541, 3294824653, 3294955777, 3295086859, + 3295217951, 3295349027, 3295480103, 3295611191, 3295742291, 3295873379, 3296004487, + 3296135573, 3296266669, 3296397749, 3296528839, 3296659997, 3296791087, 3296922169, + 3297053273, 3297184381, 3297315467, 3297446557, 3297577687, 3297708767, 3297839873, + 3297970993, 3298102091, 3298233179, 3298364273, 3298495349, 3298626439, 3298757549, + 3298888631, 3299019707, 3299150783, 3299281861, 3299412953, 3299544037, 3299675111, + 3299806243, 3299937317, 3300068419, 3300199499, 3300330599, 3300461707, 3300592817, + 3300723929, 3300855011, 3300986119, 3301117213, 3301248317, 3301379399, 3301510501, + 3301641583, 3301772713, 3301903811, 3302034889, 3302166011, 3302297093, 3302428169, + 3302559251, 3302690327, 3302821439, 3302952511, 3303083587, 3303214669, 3303345743, + 3303476831, 3303607981, 3303739069, 3303870187, 3304001329, 3304132421, 3304263499, + 3304394573, 3304525709, 3304656781, 3304787861, 3304918963, 3305050037, 3305181109, + 3305312233, 3305443363, 3305574451, 3305705531, 3305836613, 3305967703, 3306098791, + 3306229943, 3306361061, 3306492151, 3306623231, 3306754349, 3306885427, 3307016527, + 3307147633, 3307278739, 3307409837, 3307540933, 3307672033, 3307803151, 3307934237, + 3308065337, 3308196427, 3308327513, 3308458589, 3308589673, 3308720749, 3308851907, + 3308983009, 3309114089, 3309245161, 3309376241, 3309507323, 3309638411, 3309769487, + 3309900631, 3310031759, 3310162847, 3310293919, 3310425007, 3310556099, 3310687199, + 3310818311, 3310949387, 3311080459, 3311211557, 3311342663, 3311473751, 3311604833, + 3311735909, 3311866981, 3311998087, 3312129167, 3312260257, 3312391331, 3312522443, + 3312653527, 3312784609, 3312915691, 3313046783, 3313177859, 3313308937, 3313440023, + 3313571137, 3313702261, 3313833343, 3313964417, 3314095493, 3314226569, 3314357647, + 3314488729, 3314619809, 3314750909, 3314881981, 3315013063, 3315144137, 3315275233, + 3315406309, 3315537397, 3315668471, 3315799549, 3315930643, 3316061737, 3316192849, + 3316323937, 3316455017, 3316586089, 3316717169, 3316848251, 3316979333, 3317110427, + 3317241503, 3317372609, 3317503723, 3317634811, 3317765897, 3317896973, 3318028061, + 3318159139, 3318290219, 3318421297, 3318552379, 3318683483, 3318814561, 3318945659, + 3319076743, 3319207817, 3319338889, 3319469969, 3319601041, 3319732183, 3319863277, + 3319994389, 3320125469, 3320256559, 3320387641, 3320518739, 3320649853, 3320780929, + 3320912011, 3321043087, 3321174161, 3321305291, 3321436403, 3321567493, 3321698573, + 3321829657, 3321960739, 3322091813, 3322222913, 3322353989, 3322485073, 3322616161, + 3322747243, 3322878337, 3323009411, 3323140517, 3323271593, 3323402669, 3323533747, + 3323664829, 3323795911, 3323926993, 3324058099, 3324189181, 3324320261, 3324451343, + 3324582419, 3324713519, 3324844613, 3324975707, 3325106783, 3325237871, 3325368971, + 3325500071, 3325631149, 3325762229, 3325893331, 3326024437, 3326155513, 3326286599, + 3326417671, 3326548759, 3326679857, 3326810939, 3326942029, 3327073157, 3327204229, + 3327335317, 3327466391, 3327597517, 3327728603, 3327859699, 3327990779, 3328121851, + 3328252943, 3328384019, 3328515097, 3328646219, 3328777301, 3328908391, 3329039471, + 3329170543, 3329301631, 3329432713, 3329563817, 3329694899, 3329826013, 3329957153, + 3330088243, 3330219317, 3330350407, 3330481499, 3330612583, 3330743659, 3330874777, + 3331005863, 3331136951, 3331268033, 3331399121, 3331530193, 3331661279, 3331792357, + 3331923443, 3332054527, 3332185601, 3332316677, 3332447749, 3332578913, 3332710001, + 3332841101, 3332972249, 3333103349, 3333234473, 3333365561, 3333496643, 3333627721, + 3333758797, 3333889883, 3334020961, 3334152043, 3334283131, 3334414207, 3334545281, + 3334676369, 3334807453, 3334938559, 3335069641, 3335200723, 3335331803, 3335462899, + 3335593973, 3335725051, 3335856131, 3335987203, 3336118343, 3336249479, 3336380627, + 3336511709, 3336642787, 3336773873, 3336904969, 3337036081, 3337167173, 3337298281, + 3337429367, 3337560451, 3337691543, 3337822637, 3337953709, 3338084803, 3338215879, + 3338346953, 3338478043, 3338609167, 3338740241, 3338871317, 3339002389, 3339133513, + 3339264641, 3339395723, 3339526831, 3339657967, 3339789071, 3339920153, 3340051229, + 3340182359, 3340313443, 3340444561, 3340575661, 3340706779, 3340837933, 3340969019, + 3341100131, 3341231203, 3341362301, 3341493401, 3341624497, 3341755591, 3341886679, + 3342017753, 3342148829, 3342279907, 3342410993, 3342542101, 3342673199, 3342804271, + 3342935363, 3343066481, 3343197553, 3343328689, 3343459781, 3343590869, 3343721947, + 3343853047, 3343984141, 3344115227, 3344246317, 3344377409, 3344508509, 3344639593, + 3344770669, 3344901757, 3345032833, 3345163909, 3345295027, 3345426103, 3345557179, + 3345688301, 3345819403, 3345950477, 3346081579, 3346212679, 3346343771, 3346474847, + 3346605919, 3346737013, 3346868099, 3346999181, 3347130271, 3347261377, 3347392453, + 3347523559, 3347654647, 3347785747, 3347916829, 3348047917, 3348178991, 3348310067, + 3348441143, 3348572251, 3348703327, 3348834407, 3348965483, 3349096559, 3349227653, + 3349358767, 3349489853, 3349620949, 3349752023, 3349883129, 3350014223, 3350145347, + 3350276431, 3350407507, 3350538601, 3350669681, 3350800753, 3350931839, 3351062921, + 3351193997, 3351325069, 3351456161, 3351587257, 3351718339, 3351849427, 3351980519, + 3352111591, 3352242679, 3352373779, 3352504853, 3352635931, 3352767007, 3352898167, + 3353029243, 3353160331, 3353291407, 3353422481, 3353553563, 3353684683, 3353815763, + 3353946851, 3354077963, 3354209069, 3354340153, 3354471233, 3354602357, 3354733433, + 3354864509, 3354995591, 3355126669, 3355257749, 3355388843, 3355519931, 3355651003, + 3355782077, 3355913177, 3356044277, 3356175353, 3356306467, 3356437543, 3356568619, + 3356699693, 3356830811, 3356961913, 3357093001, 3357224093, 3357355171, 3357486277, + 3357617369, 3357748447, 3357879523, 3358010609, 3358141687, 3358272839, 3358403911, + 3358535021, 3358666097, 3358797173, 3358928269, 3359059349, 3359190427, 3359321521, + 3359452601, 3359583691, 3359714779, 3359845861, 3359976941, 3360108013, 3360239093, + 3360370187, 3360501307, 3360632383, 3360763457, 3360894533, 3361025617, 3361156693, + 3361287779, 3361418867, 3361549987, 3361681067, 3361812173, 3361943293, 3362074367, + 3362205449, 3362336543, 3362467627, 3362598703, 3362729791, 3362860867, 3362991949, + 3363123037, 3363254129, 3363385237, 3363516323, 3363647401, 3363778489, 3363909581, + 3364040653, 3364171753, 3364302833, 3364433923, 3364565003, 3364696129, 3364827227, + 3364958299, 3365089393, 3365220493, 3365351581, 3365482717, 3365613799, 3365744917, + 3365875991, 3366007087, 3366138179, 3366269251, 3366400343, 3366531419, 3366662491, + 3366793589, 3366924703, 3367055807, 3367186883, 3367318007, 3367449149, 3367580231, + 3367711307, 3367842389, 3367973489, 3368104577, 3368235679, 3368366761, 3368497841, + 3368628917, 3368760013, 3368891129, 3369022201, 3369153301, 3369284377, 3369415519, + 3369546611, 3369677687, 3369808789, 3369939871, 3370070953, 3370202039, 3370333133, + 3370464241, 3370595317, 3370726409, 3370857481, 3370988581, 3371119663, 3371250749, + 3371381833, 3371512939, 3371644013, 3371775101, 3371906179, 3372037271, 3372168347, + 3372299431, 3372430541, 3372561637, 3372692723, 3372823807, 3372954883, 3373085959, + 3373217033, 3373348133, 3373479209, 3373610293, 3373741379, 3373872521, 3374003609, + 3374134691, 3374265779, 3374396863, 3374527943, 3374659021, 3374790119, 3374921213, + 3375052297, 3375183403, 3375314479, 3375445639, 3375576733, 3375707809, 3375838897, + 3375969977, 3376101061, 3376232137, 3376363253, 3376494347, 3376625443, 3376756519, + 3376887617, 3377018731, 3377149817, 3377280917, 3377412011, 3377543089, 3377674187, + 3377805269, 3377936351, 3378067453, 3378198529, 3378329609, 3378460697, 3378591779, + 3378722881, 3378853963, 3378985097, 3379116227, 3379247327, 3379378403, 3379509493, + 3379640611, 3379771693, 3379902769, 3380033843, 3380164967, 3380296067, 3380427173, + 3380558297, 3380689387, 3380820479, 3380951593, 3381082669, 3381213743, 3381344833, + 3381475919, 3381606997, 3381738071, 3381869159, 3382000241, 3382131353, 3382262437, + 3382393513, 3382524619, 3382655693, 3382786787, 3382917859, 3383048947, 3383180077, + 3383311157, 3383442259, 3383573353, 3383704481, 3383835577, 3383966681, 3384097757, + 3384228889, 3384359963, 3384491057, 3384622159, 3384753263, 3384884359, 3385015441, + 3385146529, 3385277647, 3385408727, 3385539811, 3385670891, 3385801967, 3385933043, + 3386064161, 3386195233, 3386326313, 3386457421, 3386588497, 3386719591, 3386850683, + 3386981779, 3387112853, 3387243941, 3387375029, 3387506123, 3387637213, 3387768317, + 3387899429, 3388030519, 3388161641, 3388292717, 3388423793, 3388554877, 3388685987, + 3388817059, 3388948139, 3389079227, 3389210317, 3389341393, 3389472467, 3389603563, + 3389734637, 3389865749, 3389996821, 3390127943, 3390259043, 3390390137, 3390521209, + 3390652303, 3390783391, 3390914467, 3391045543, 3391176617, 3391307723, 3391438819, + 3391569899, 3391700993, 3391832071, 3391963147, 3392094221, 3392225293, 3392356367, + 3392487467, 3392618539, 3392749673, 3392880767, 3393011857, 3393142967, 3393274051, + 3393405131, 3393536203, 3393667307, 3393798403, 3393929489, 3394060561, 3394191637, + 3394322713, 3394453813, 3394584889, 3394715983, 3394847063, 3394978157, 3395109271, + 3395240347, 3395371433, 3395502529, 3395633609, 3395764681, 3395895757, 3396026869, + 3396157967, 3396289063, 3396420149, 3396551231, 3396682319, 3396813421, 3396944503, + 3397075667, 3397206751, 3397337831, 3397468903, 3397599983, 3397731067, 3397862177, + 3397993253, 3398124347, 3398255461, 3398386567, 3398517643, 3398648717, 3398779789, + 3398910863, 3399041953, 3399173047, 3399304121, 3399435203, 3399566281, 3399697369, + 3399828457, 3399959531, 3400090637, 3400221709, 3400352783, 3400483909, 3400615013, + 3400746119, 3400877191, 3401008271, 3401139353, 3401270437, 3401401519, 3401532593, + 3401663701, 3401794777, 3401925853, 3402056939, 3402188021, 3402319111, 3402450197, + 3402581323, 3402712433, 3402843523, 3402974599, 3403105711, 3403236827, 3403367911, + 3403499003, 3403630093, 3403761167, 3403892257, 3404023331, 3404154407, 3404285483, + 3404416601, 3404547673, 3404678747, 3404809831, 3404940919, 3405071993, 3405203111, + 3405334199, 3405465277, 3405596351, 3405727439, 3405858517, 3405989591, 3406120727, + 3406251799, 3406382957, 3406514053, 3406645127, 3406776199, 3406907281, 3407038361, + 3407169443, 3407300587, 3407431697, 3407562779, 3407693873, 3407824991, 3407956063, + 3408087149, 3408218239, 3408349327, 3408480401, 3408611489, 3408742567, 3408873641, + 3409004843, 3409135931, 3409267013, 3409398089, 3409529161, 3409660343, 3409791449, + 3409922567, 3410053643, 3410184731, 3410315819, 3410446903, 3410577979, 3410709061, + 3410840137, 3410971243, 3411102337, 3411233443, 3411364529, 3411495629, 3411626707, + 3411757787, 3411888863, 3412020011, 3412151111, 3412282201, 3412413293, 3412544393, + 3412675537, 3412806637, 3412937711, 3413068787, 3413199859, 3413330951, 3413462033, + 3413593109, 3413724187, 3413855261, 3413986351, 3414117433, 3414248531, 3414379643, + 3414510731, 3414641803, 3414772897, 3414904027, 3415035131, 3415166213, 3415297307, + 3415428407, 3415559479, 3415690559, 3415821709, 3415952797, 3416083897, 3416215007, + 3416346083, 3416477159, 3416608241, 3416739341, 3416870417, 3417001517, 3417132613, + 3417263693, 3417394787, 3417525887, 3417656971, 3417788053, 3417919133, 3418050211, + 3418181293, 3418312367, 3418443443, 3418574531, 3418705607, 3418836691, 3418967771, + 3419098913, 3419230013, 3419361097, 3419492203, 3419623301, 3419754389, 3419885477, + 3420016553, 3420147667, 3420278809, 3420409897, 3420541031, 3420672109, 3420803203, + 3420934303, 3421065383, 3421196459, 3421327561, 3421458647, 3421589729, 3421720807, + 3421851883, 3421982969, 3422114089, 3422245199, 3422376283, 3422507369, 3422638451, + 3422769523, 3422900603, 3423031681, 3423162779, 3423293857, 3423424937, 3423556061, + 3423687139, 3423818257, 3423949339, 3424080433, 3424211513, 3424342613, 3424473707, + 3424604779, 3424735879, 3424866989, 3424998061, 3425129137, 3425260247, 3425391329, + 3425522431, 3425653531, 3425784617, 3425915723, 3426046831, 3426177913, 3426308999, + 3426440071, 3426571157, 3426702239, 3426833317, 3426964391, 3427095491, 3427226581, + 3427357679, 3427488761, 3427619837, 3427750913, 3427881991, 3428013073, 3428144183, + 3428275261, 3428406349, 3428537461, 3428668543, 3428799617, 3428930693, 3429061771, + 3429192857, 3429323957, 3429455069, 3429586183, 3429717287, 3429848371, 3429979451, + 3430110571, 3430241669, 3430372769, 3430503841, 3430634929, 3430766011, 3430897087, + 3431028203, 3431159287, 3431290399, 3431421473, 3431552599, 3431683679, 3431814779, + 3431945863, 3432076979, 3432208061, 3432339133, 3432470219, 3432601349, 3432732431, + 3432863521, 3432994619, 3433125701, 3433256797, 3433387873, 3433518947, 3433650023, + 3433781101, 3433912219, 3434043293, 3434174371, 3434305471, 3434436553, 3434567627, + 3434698703, 3434829793, 3434960869, 3435091949, 3435223049, 3435354137, 3435485227, + 3435616307, 3435747389, 3435878461, 3436009547, 3436140689, 3436271767, 3436402841, + 3436533931, 3436665007, 3436796101, 3436927201, 3437058301, 3437189377, 3437320451, + 3437451529, 3437582611, 3437713703, 3437844853, 3437975941, 3438107039, 3438238127, + 3438369229, 3438500311, 3438631397, 3438762497, 3438893587, 3439024697, 3439155773, + 3439286849, 3439417957, 3439549067, 3439680149, 3439811267, 3439942339, 3440073419, + 3440204513, 3440335621, 3440466697, 3440597777, 3440728873, 3440859971, 3440991049, + 3441122147, 3441253241, 3441384343, 3441515417, 3441646517, 3441777589, 3441908693, + 3442039789, 3442170883, 3442301963, 3442433087, 3442564199, 3442695317, 3442826389, + 3442957543, 3443088619, 3443219719, 3443350811, 3443481887, 3443612987, 3443744093, + 3443875187, 3444006271, 3444137371, 3444268483, 3444399599, 3444530723, 3444661799, + 3444792893, 3444923981, 3445055059, 3445186139, 3445317221, 3445448297, 3445579369, + 3445710451, 3445841527, 3445972619, 3446103697, 3446234791, 3446365903, 3446496983, + 3446628079, 3446759153, 3446890229, 3447021301, 3447152381, 3447283459, 3447414557, + 3447545653, 3447676801, 3447807877, 3447938951, 3448070023, 3448201117, 3448332191, + 3448463297, 3448594393, 3448725491, 3448856597, 3448987709, 3449118793, 3449249893, + 3449380967, 3449512063, 3449643139, 3449774227, 3449905331, 3450036419, 3450167531, + 3450298637, 3450429713, 3450560863, 3450691949, 3450823067, 3450954139, 3451085237, + 3451216313, 3451347401, 3451478489, 3451609561, 3451740637, 3451871729, 3452002811, + 3452133931, 3452265023, 3452396107, 3452527187, 3452658259, 3452789377, 3452920477, + 3453051551, 3453182651, 3453313729, 3453444809, 3453575887, 3453707017, 3453838139, + 3453969217, 3454100317, 3454231397, 3454362487, 3454493573, 3454624673, 3454755781, + 3454886861, 3455017939, 3455149013, 3455280109, 3455411191, 3455542271, 3455673359, + 3455804431, 3455935507, 3456066599, 3456197683, 3456328783, 3456459931, 3456591031, + 3456722107, 3456853181, 3456984257, 3457115329, 3457246411, 3457377487, 3457508597, + 3457639687, 3457770761, 3457901849, 3458032937, 3458164009, 3458295121, 3458426249, + 3458557339, 3458688419, 3458819519, 3458950591, 3459081667, 3459212749, 3459343843, + 3459474979, 3459606053, 3459737173, 3459868273, 3459999359, 3460130437, 3460261517, + 3460392643, 3460523747, 3460654859, 3460785949, 3460917023, 3461048099, 3461179193, + 3461310277, 3461441377, 3461572463, 3461703547, 3461834639, 3461965747, 3462096823, + 3462227897, 3462358973, 3462490051, 3462621133, 3462752239, 3462883321, 3463014419, + 3463145533, 3463276613, 3463407691, 3463538779, 3463669883, 3463800961, 3463932041, + 3464063117, 3464194199, 3464325287, 3464456389, 3464587481, 3464718553, 3464849627, + 3464980703, 3465111791, 3465242863, 3465373963, 3465505061, 3465636137, 3465767231, + 3465898327, 3466029401, 3466160473, 3466291547, 3466422623, 3466553719, 3466684799, + 3466815871, 3466946957, 3467078047, 3467209133, 3467340211, 3467471297, 3467602373, + 3467733473, 3467864549, 3467995649, 3468126743, 3468257827, 3468388907, 3468519983, + 3468651059, 3468782173, 3468913267, 3469044349, 3469175429, 3469306537, 3469437613, + 3469568731, 3469699819, 3469830979, 3469962059, 3470093149, 3470224249, 3470355337, + 3470486417, 3470617517, 3470748643, 3470879717, 3471010831, 3471141911, 3471272989, + 3471404071, 3471535159, 3471666251, 3471797327, 3471928423, 3472059533, 3472190621, + 3472321703, 3472452799, 3472583941, 3472715023, 3472846099, 3472977181, 3473108257, + 3473239337, 3473370413, 3473501491, 3473632567, 3473763641, 3473894731, 3474025829, + 3474156901, 3474288007, 3474419083, 3474550229, 3474681311, 3474812389, 3474943499, + 3475074583, 3475205663, 3475336757, 3475467839, 3475598933, 3475730017, 3475861139, + 3475992239, 3476123317, 3476254399, 3476385481, 3476516557, 3476647651, 3476778757, + 3476909833, 3477040921, 3477172057, 3477303133, 3477434227, 3477565319, 3477696401, + 3477827489, 3477958567, 3478089673, 3478220749, 3478351837, 3478482949, 3478614037, + 3478745203, 3478876283, 3479007373, 3479138501, 3479269579, 3479400689, 3479531761, + 3479662873, 3479793959, 3479925049, 3480056183, 3480187289, 3480318431, 3480449549, + 3480580679, 3480711757, 3480842861, 3480973957, 3481105049, 3481236173, 3481367261, + 3481498367, 3481629443, 3481760521, 3481891597, 3482022701, 3482153777, 3482284877, + 3482415971, 3482547049, 3482678153, 3482809229, 3482940313, 3483071387, 3483202517, + 3483333589, 3483464669, 3483595757, 3483726839, 3483857933, 3483989011, 3484120151, + 3484251227, 3484382353, 3484513481, 3484644563, 3484775641, 3484906741, 3485037823, + 3485168899, 3485300003, 3485431093, 3485562167, 3485693261, 3485824337, 3485955409, + 3486086489, 3486217601, 3486348689, 3486479767, 3486610843, 3486741931, 3486873079, + 3487004189, 3487135291, 3487266383, 3487397477, 3487528553, 3487659641, 3487790743, + 3487921831, 3488052941, 3488184023, 3488315107, 3488446193, 3488577277, 3488708359, + 3488839441, 3488970521, 3489101611, 3489232697, 3489363769, 3489494843, 3489625933, + 3489757013, 3489888113, 3490019219, 3490150309, 3490281391, 3490412473, 3490543571, + 3490674667, 3490805743, 3490936819, 3491067893, 3491198981, 3491330083, 3491461199, + 3491592287, 3491723363, 3491854441, 3491985517, 3492116623, 3492247699, 3492378787, + 3492509953, 3492641039, 3492772117, 3492903221, 3493034299, 3493165433, 3493296523, + 3493427621, 3493558699, 3493689791, 3493820881, 3493951973, 3494083091, 3494214167, + 3494345287, 3494476393, 3494607469, 3494738549, 3494869657, 3495000731, 3495131803, + 3495262889, 3495393991, 3495525079, 3495656183, 3495787283, 3495918367, 3496049449, + 3496180591, 3496311683, 3496442843, 3496573921, 3496705039, 3496836121, 3496967209, + 3497098291, 3497229397, 3497360521, 3497491597, 3497622683, 3497753761, 3497884843, + 3498015929, 3498147007, 3498278093, 3498409193, 3498540271, 3498671387, 3498802477, + 3498933553, 3499064651, 3499195787, 3499326863, 3499457987, 3499589069, 3499720141, + 3499851221, 3499982347, 3500113427, 3500244499, 3500375621, 3500506699, 3500637781, + 3500768881, 3500899993, 3501031109, 3501162239, 3501293329, 3501424403, 3501555503, + 3501686579, 3501817651, 3501948727, 3502079807, 3502210883, 3502341971, 3502473067, + 3502604177, 3502735279, 3502866373, 3502997521, 3503128621, 3503259709, 3503390833, + 3503521919, 3503653001, 3503784101, 3503915179, 3504046277, 3504177359, 3504308449, + 3504439531, 3504570613, 3504701693, 3504832781, 3504963863, 3505094941, 3505226057, + 3505357133, 3505488221, 3505619311, 3505750393, 3505881469, 3506012551, 3506143633, + 3506274713, 3506405797, 3506536889, 3506667971, 3506799047, 3506930131, 3507061237, + 3507192313, 3507323399, 3507454493, 3507585569, 3507716647, 3507847723, 3507978857, + 3508109933, 3508241017, 3508372111, 3508503203, 3508634317, 3508765399, 3508896493, + 3509027573, 3509158721, 3509289907, 3509421001, 3509552089, 3509683169, 3509814247, + 3509945347, 3510076481, 3510207557, 3510338633, 3510469741, 3510600833, 3510731911, + 3510862987, 3510994079, 3511125161, 3511256233, 3511387337, 3511518443, 3511649543, + 3511780633, 3511911719, 3512042803, 3512173879, 3512304979, 3512436071, 3512567147, + 3512698243, 3512829343, 3512960417, 3513091499, 3513222577, 3513353663, 3513484759, + 3513615877, 3513746959, 3513878033, 3514009117, 3514140199, 3514271273, 3514402349, + 3514533427, 3514664509, 3514795591, 3514926671, 3515057743, 3515188823, 3515319943, + 3515451047, 3515582137, 3515713211, 3515844337, 3515975413, 3516106501, 3516237607, + 3516368683, 3516499799, 3516630881, 3516761993, 3516893087, 3517024177, 3517155289, + 3517286411, 3517417507, 3517548583, 3517679663, 3517810753, 3517941857, 3518072941, + 3518204023, 3518335097, 3518466221, 3518597377, 3518728457, 3518859541, 3518990653, + 3519121741, 3519252823, 3519383897, 3519515029, 3519646133, 3519777221, 3519908323, + 3520039417, 3520170499, 3520301579, 3520432667, 3520563757, 3520694833, 3520825907, + 3520956991, 3521088079, 3521219153, 3521350229, 3521481311, 3521612383, 3521743469, + 3521874569, 3522005653, 3522136727, 3522267803, 3522398909, 3522529991, 3522661081, + 3522792191, 3522923263, 3523054343, 3523185431, 3523316513, 3523447589, 3523578691, + 3523709789, 3523840963, 3523972037, 3524103127, 3524234261, 3524365333, 3524496413, + 3524627501, 3524758591, 3524889673, 3525020749, 3525151829, 3525282907, 3525413993, + 3525545069, 3525676153, 3525807239, 3525938323, 3526069409, 3526200487, 3526331591, + 3526462663, 3526593737, 3526724809, 3526855901, 3526987031, 3527118139, 3527249227, + 3527380301, 3527511413, 3527642491, 3527773577, 3527904661, 3528035737, 3528166843, + 3528297919, 3528429017, 3528560117, 3528691223, 3528822313, 3528953419, 3529084513, + 3529215593, 3529346669, 3529477759, 3529608839, 3529739923, 3529870999, 3530002081, + 3530133157, 3530264263, 3530395361, 3530526437, 3530657513, 3530788619, 3530919709, + 3531050791, 3531181879, 3531312979, 3531444053, 3531575141, 3531706219, 3531837317, + 3531968423, 3532099499, 3532230593, 3532361669, 3532492753, 3532623841, 3532754933, + 3532886009, 3533017087, 3533148163, 3533279249, 3533410337, 3533541461, 3533672537, + 3533803631, 3533934709, 3534065789, 3534196877, 3534327967, 3534459041, 3534590119, + 3534721237, 3534852329, 3534983423, 3535114507, 3535245587, 3535376681, 3535507763, + 3535638919, 3535770011, 3535901087, 3536032163, 3536163263, 3536294347, 3536425427, + 3536556509, 3536687597, 3536818679, 3536949751, 3537080837, 3537211933, 3537343021, + 3537474103, 3537605179, 3537736253, 3537867353, 3537998447, 3538129519, 3538260619, + 3538391711, 3538522789, 3538653901, 3538784983, 3538916063, 3539047177, 3539178259, + 3539309383, 3539440493, 3539571577, 3539702653, 3539833727, 3539964811, 3540095891, + 3540226967, 3540358051, 3540489131, 3540620219, 3540751351, 3540882431, 3541013519, + 3541144657, 3541275737, 3541406821, 3541537919, 3541669003, 3541800079, 3541931171, + 3542062247, 3542193373, 3542324447, 3542455549, 3542586637, 3542717723, 3542848817, + 3542979917, 3543110999, 3543242081, 3543373157, 3543504247, 3543635339, 3543766451, + 3543897551, 3544028627, 3544159727, 3544290811, 3544421893, 3544552967, 3544684049, + 3544815137, 3544946239, 3545077313, 3545208389, 3545339461, 3545470541, 3545601613, + 3545732711, 3545863829, 3545994901, 3546125977, 3546257053, 3546388141, 3546519269, + 3546650399, 3546781477, 3546912553, 3547043629, 3547174723, 3547305809, 3547436881, + 3547568039, 3547699139, 3547830241, 3547961321, 3548092409, 3548223487, 3548354573, + 3548485663, 3548616739, 3548747849, 3548878933, 3549010027, 3549141139, 3549272239, + 3549403343, 3549534437, 3549665521, 3549796603, 3549927677, 3550058761, 3550189837, + 3550320923, 3550451999, 3550583119, 3550714201, 3550845329, 3550976411, 3551107487, + 3551238563, 3551369669, 3551500751, 3551631833, 3551762911, 3551894009, 3552025109, + 3552156193, 3552287267, 3552418351, 3552549431, 3552680513, 3552811601, 3552942703, + 3553073801, 3553204957, 3553336069, 3553467167, 3553598267, 3553729349, 3553860439, + 3553991513, 3554122589, 3554253671, 3554384767, 3554515843, 3554646919, 3554778049, + 3554909131, 3555040267, 3555171343, 3555302419, 3555433517, 3555564599, 3555695677, + 3555826753, 3555957829, 3556088911, 3556220047, 3556351133, 3556482247, 3556613321, + 3556744417, 3556875499, 3557006599, 3557137673, 3557268761, 3557399843, 3557530931, + 3557662007, 3557793079, 3557924171, 3558055247, 3558186341, 3558317431, 3558448547, + 3558579653, 3558710809, 3558841901, 3558972997, 3559104089, 3559235177, 3559366319, + 3559497397, 3559628489, 3559759613, 3559890701, 3560021789, 3560152891, 3560283983, + 3560415059, 3560546153, 3560677243, 3560808323, 3560939401, 3561070483, 3561201583, + 3561332699, 3561463781, 3561594853, 3561725929, 3561857009, 3561988093, 3562119193, + 3562250267, 3562381343, 3562512419, 3562643503, 3562774583, 3562905667, 3563036753, + 3563167837, 3563298911, 3563430047, 3563561129, 3563692229, 3563823301, 3563954437, + 3564085523, 3564216613, 3564347711, 3564478789, 3564609863, 3564741013, 3564872089, + 3565003163, 3565134247, 3565265377, 3565396487, 3565527571, 3565658683, 3565789769, + 3565920857, 3566051933, 3566183011, 3566314109, 3566445227, 3566576309, 3566707399, + 3566838491, 3566969569, 3567100657, 3567231757, 3567362833, 3567493933, 3567625007, + 3567756161, 3567887233, 3568018339, 3568149421, 3568280497, 3568411591, 3568542689, + 3568673761, 3568804843, 3568935991, 3569067077, 3569198153, 3569329237, 3569460313, + 3569591387, 3569722493, 3569853607, 3569984699, 3570115777, 3570246859, 3570377933, + 3570509011, 3570640093, 3570771179, 3570902261, 3571033343, 3571164473, 3571295549, + 3571426643, 3571557733, 3571688821, 3571819913, 3571951013, 3572082149, 3572213221, + 3572344301, 3572475383, 3572606467, 3572737541, 3572868653, 3572999777, 3573130849, + 3573261929, 3573393001, 3573524089, 3573655177, 3573786263, 3573917339, 3574048451, + 3574179523, 3574310617, 3574441691, 3574572773, 3574703893, 3574834999, 3574966079, + 3575097173, 3575228263, 3575359343, 3575490419, 3575621501, 3575752637, 3575883721, + 3576014797, 3576145873, 3576276971, 3576408071, 3576539149, 3576670241, 3576801383, + 3576932507, 3577063591, 3577194683, 3577325761, 3577456843, 3577587931, 3577719011, + 3577850083, 3577981189, 3578112283, 3578243371, 3578374453, 3578505563, 3578636639, + 3578767711, 3578898793, 3579029893, 3579160979, 3579292099, 3579423173, 3579554269, + 3579685363, 3579816533, 3579947627, 3580078721, 3580209797, 3580340887, 3580471987, + 3580603063, 3580734137, 3580865209, 3580996301, 3581127397, 3581258503, 3581389631, + 3581520721, 3581651797, 3581782871, 3581913943, 3582045017, 3582176093, 3582307213, + 3582438313, 3582569387, 3582700463, 3582831559, 3582962633, 3583093711, 3583224811, + 3583355899, 3583486981, 3583618111, 3583749187, 3583880269, 3584011357, 3584142461, + 3584273569, 3584404657, 3584535743, 3584666837, 3584797927, 3584929003, 3585060077, + 3585191153, 3585322243, 3585453317, 3585584441, 3585715537, 3585846629, 3585977701, + 3586108781, 3586239857, 3586370971, 3586502063, 3586633159, 3586764271, 3586895357, + 3587026439, 3587157551, 3587288647, 3587419721, 3587550829, 3587681941, 3587813017, + 3587944091, 3588075163, 3588206243, 3588337331, 3588468413, 3588599501, 3588730577, + 3588861659, 3588992731, 3589123817, 3589254913, 3589385993, 3589517081, 3589648177, + 3589779317, 3589910393, 3590041471, 3590172559, 3590303641, 3590434747, 3590565827, + 3590696899, 3590827973, 3590959051, 3591090133, 3591221209, 3591352283, 3591483391, + 3591614489, 3591745589, 3591876661, 3592007761, 3592138843, 3592269943, 3592401067, + 3592532171, 3592663297, 3592794377, 3592925459, 3593056553, 3593187659, 3593318789, + 3593449861, 3593580959, 3593712071, 3593843159, 3593974247, 3594105329, 3594236411, + 3594367507, 3594498599, 3594629699, 3594760811, 3594891887, 3595022969, 3595154051, + 3595285123, 3595416229, 3595547321, 3595678399, 3595809493, 3595940587, 3596071663, + 3596202737, 3596333857, 3596464973, 3596596049, 3596727157, 3596858233, 3596989349, + 3597120421, 3597251503, 3597382577, 3597513653, 3597644749, 3597775823, 3597906929, + 3598038001, 3598169111, 3598300219, 3598431311, 3598562467, 3598693541, 3598824613, + 3598955713, 3599086787, 3599217913, 3599349031, 3599480149, 3599611261, 3599742343, + 3599873423, 3600004517, 3600135613, 3600266687, 3600397789, 3600528863, 3600659941, + 3600791039, 3600922219, 3601053311, 3601184413, 3601315493, 3601446571, 3601577647, + 3601708751, 3601839833, 3601970989, 3602102111, 3602233189, 3602364281, 3602495431, + 3602626541, 3602757629, 3602888701, 3603019789, 3603150871, 3603281947, 3603413027, + 3603544103, 3603675191, 3603806293, 3603937369, 3604068451, 3604199569, 3604330643, + 3604461719, 3604592801, 3604723901, 3604854973, 3604986067, 3605117161, 3605248243, + 3605379317, 3605510437, 3605641561, 3605772637, 3605903747, 3606034823, 3606165907, + 3606297041, 3606428143, 3606559223, 3606690313, 3606821389, 3606952487, 3607083569, + 3607214669, 3607345741, 3607476827, 3607607903, 3607738993, 3607870099, 3608001193, + 3608132273, 3608263369, 3608394467, 3608525539, 3608656627, 3608787719, 3608918821, + 3609049921, 3609180997, 3609312071, 3609443197, 3609574303, 3609705389, 3609836521, + 3609967597, 3610098673, 3610229747, 3610360837, 3610491923, 3610623019, 3610754099, + 3610885181, 3611016281, 3611147363, 3611278471, 3611409563, 3611540651, 3611671729, + 3611802889, 3611933977, 3612065071, 3612196157, 3612327281, 3612458371, 3612589459, + 3612720557, 3612851629, 3612982717, 3613113793, 3613244867, 3613375951, 3613507043, + 3613638121, 3613769197, 3613900271, 3614031353, 3614162449, 3614293547, 3614424629, + 3614555719, 3614686793, 3614817881, 3614948971, 3615080071, 3615211169, 3615342259, + 3615473353, 3615604427, 3615735503, 3615866591, 3615997729, 3616128833, 3616259929, + 3616391033, 3616522123, 3616653197, 3616784287, 3616915361, 3617046439, 3617177513, + 3617308609, 3617439703, 3617570791, 3617701939, 3617833031, 3617964109, 3618095231, + 3618226351, 3618357433, 3618488551, 3618619657, 3618750731, 3618881821, 3619012907, + 3619144003, 3619275089, 3619406171, 3619537267, 3619668413, 3619799507, 3619930607, + 3620061691, 3620192791, 3620323879, 3620454967, 3620586043, 3620717119, 3620848199, + 3620979281, 3621110357, 3621241433, 3621372511, 3621503597, 3621634691, 3621765793, + 3621896879, 3622027967, 3622159081, 3622290163, 3622421267, 3622552379, 3622683461, + 3622814537, 3622945619, 3623076727, 3623207803, 3623338891, 3623470001, 3623601073, + 3623732171, 3623863247, 3623994343, 3624125419, 3624256507, 3624387581, 3624518663, + 3624649739, 3624780811, 3624911897, 3625042999, 3625174073, 3625305193, 3625436279, + 3625567369, 3625698457, 3625829561, 3625960633, 3626091709, 3626222801, 3626353883, + 3626485001, 3626616079, 3626747153, 3626878271, 3627009359, 3627140431, 3627271507, + 3627402619, 3627533699, 3627664783, 3627795877, 3627926963, 3628058047, 3628189121, + 3628320203, 3628451291, 3628582379, 3628713457, 3628844537, 3628975657, 3629106731, + 3629237803, 3629368877, 3629499989, 3629631107, 3629762237, 3629893313, 3630024403, + 3630155489, 3630286571, 3630417671, 3630548767, 3630679841, 3630810913, 3630941999, + 3631073077, 3631204153, 3631335247, 3631466329, 3631597447, 3631728559, 3631859639, + 3631990717, 3632121793, 3632252867, 3632384027, 3632515099, 3632646179, 3632777321, + 3632908393, 3633039469, 3633170543, 3633301663, 3633432749, 3633563821, 3633694907, + 3633826087, 3633957193, 3634088267, 3634219343, 3634350431, 3634481507, 3634612589, + 3634743703, 3634874791, 3635005931, 3635137003, 3635268137, 3635399227, 3635530361, + 3635661439, 3635792513, 3635923661, 3636054781, 3636185863, 3636316939, 3636448021, + 3636579103, 3636710183, 3636841277, 3636972397, 3637103497, 3637234589, 3637365691, + 3637496771, 3637627891, 3637758967, 3637890077, 3638021171, 3638152249, 3638283331, + 3638414407, 3638545489, 3638676589, 3638807663, 3638938739, 3639069839, 3639200927, + 3639332023, 3639463097, 3639594173, 3639725249, 3639856331, 3639987409, 3640118513, + 3640249601, 3640380691, 3640511773, 3640642867, 3640773973, 3640905053, 3641036131, + 3641167207, 3641298307, 3641429383, 3641560457, 3641691611, 3641822689, 3641953769, + 3642084847, 3642215939, 3642347011, 3642478109, 3642609209, 3642740303, 3642871391, + 3643002491, 3643133563, 3643264663, 3643395761, 3643526837, 3643657951, 3643789033, + 3643920113, 3644051197, 3644182279, 3644313353, 3644444467, 3644575559, 3644706641, + 3644837717, 3644968823, 3645099911, 3645231013, 3645362087, 3645493177, 3645624253, + 3645755363, 3645886477, 3646017553, 3646148647, 3646279739, 3646410827, 3646541911, + 3646673011, 3646804087, 3646935163, 3647066251, 3647197369, 3647328457, 3647459537, + 3647590621, 3647721751, 3647852827, 3647983919, 3648114997, 3648246089, 3648377177, + 3648508267, 3648639341, 3648770413, 3648901511, 3649032617, 3649163689, 3649294771, + 3649425937, 3649557011, 3649688087, 3649819177, 3649950263, 3650081341, 3650212441, + 3650343539, 3650474621, 3650605697, 3650736799, 3650867887, 3650998961, 3651130033, + 3651261137, 3651392219, 3651523307, 3651654379, 3651785477, 3651916573, 3652047673, + 3652178759, 3652309847, 3652440943, 3652572019, 3652703107, 3652834187, 3652965299, + 3653096387, 3653227463, 3653358563, 3653489657, 3653620753, 3653751841, 3653882917, + 3654014011, 3654145129, 3654276217, 3654407297, 3654538369, 3654669443, 3654800519, + 3654931597, 3655062683, 3655193771, 3655324859, 3655455931, 3655587049, 3655718159, + 3655849237, 3655980311, 3656111383, 3656242463, 3656373569, 3656504641, 3656635733, + 3656766823, 3656897921, 3657029017, 3657160097, 3657291179, 3657422267, 3657553369, + 3657684473, 3657815573, 3657946681, 3658077763, 3658208861, 3658339943, 3658471021, + 3658602139, 3658733227, 3658864301, 3658995383, 3659126459, 3659257549, 3659388697, + 3659519783, 3659650861, 3659781943, 3659913029, 3660044137, 3660175213, 3660306317, + 3660437411, 3660568489, 3660699577, 3660830651, 3660961723, 3661092797, 3661223869, + 3661354969, 3661486057, 3661617139, 3661748261, 3661879343, 3662010431, 3662141503, + 3662272597, 3662403673, 3662534749, 3662665823, 3662796899, 3662927999, 3663059083, + 3663190163, 3663321253, 3663452333, 3663583409, 3663714521, 3663845609, 3663976691, + 3664107809, 3664238917, 3664370041, 3664501133, 3664632281, 3664763357, 3664894463, + 3665025569, 3665156653, 3665287727, 3665418811, 3665549887, 3665680969, 3665812057, + 3665943131, 3666074207, 3666205321, 3666336403, 3666467491, 3666598577, 3666729659, + 3666860741, 3666991813, 3667122913, 3667254013, 3667385093, 3667516219, 3667647307, + 3667778437, 3667909519, 3668040601, 3668171701, 3668302787, 3668433863, 3668564969, + 3668696041, 3668827133, 3668958239, 3669089323, 3669220409, 3669351557, 3669482699, + 3669613777, 3669744863, 3669875953, 3670007063, 3670138163, 3670269329, 3670400417, + 3670531499, 3670662571, 3670793647, 3670924757, 3671055841, 3671186917, 3671317999, + 3671449139, 3671580223, 3671711311, 3671842423, 3671973517, 3672104621, 3672235711, + 3672366787, 3672497887, 3672628961, 3672760051, 3672891133, 3673022207, 3673153301, + 3673284379, 3673415467, 3673546553, 3673677629, 3673808713, 3673939811, 3674070901, + 3674201981, 3674333083, 3674464163, 3674595241, 3674726333, 3674857423, 3674988503, + 3675119597, 3675250679, 3675381763, 3675512837, 3675643921, 3675775001, 3675906097, + 3676037171, 3676168259, 3676299337, 3676430419, 3676561513, 3676692611, 3676823687, + 3676954843, 3677085931, 3677217007, 3677348111, 3677479187, 3677610281, 3677741407, + 3677872493, 3678003629, 3678134729, 3678265807, 3678396881, 3678527971, 3678659057, + 3678790139, 3678921221, 3679052359, 3679183433, 3679314547, 3679445647, 3679576721, + 3679707793, 3679838893, 3679969981, 3680101063, 3680232161, 3680363261, 3680494333, + 3680625419, 3680756491, 3680887597, 3681018683, 3681149767, 3681280843, 3681411941, + 3681543029, 3681674107, 3681805249, 3681936343, 3682067461, 3682198567, 3682329641, + 3682460731, 3682591859, 3682722931, 3682854029, 3682985113, 3683116189, 3683247263, + 3683378339, 3683509411, 3683640511, 3683771587, 3683902661, 3684033733, 3684164821, + 3684295919, 3684427027, 3684558131, 3684689231, 3684820313, 3684951401, 3685082473, + 3685213547, 3685344647, 3685475741, 3685606853, 3685737931, 3685869007, 3686000083, + 3686131171, 3686262259, 3686393363, 3686524441, 3686655521, 3686786603, 3686917693, + 3687048821, 3687179893, 3687310973, 3687442049, 3687573133, 3687704221, 3687835301, + 3687966407, 3688097489, 3688228601, 3688359737, 3688490809, 3688621897, 3688753001, + 3688884079, 3689015171, 3689146243, 3689277323, 3689408407, 3689539531, 3689670641, + 3689801741, 3689932817, 3690063893, 3690194983, 3690326083, 3690457159, 3690588233, + 3690719317, 3690850447, 3690981521, 3691112597, 3691243679, 3691374751, 3691505861, + 3691636933, 3691768027, 3691899137, 3692030213, 3692161289, 3692292361, 3692423489, + 3692554571, 3692685643, 3692816723, 3692947799, 3693078871, 3693209959, 3693341063, + 3693472141, 3693603227, 3693734393, 3693865477, 3693996577, 3694127653, 3694258727, + 3694389847, 3694520923, 3694652009, 3694783093, 3694914193, 3695045267, 3695176339, + 3695307419, 3695438491, 3695569567, 3695700641, 3695831747, 3695962861, 3696093937, + 3696225011, 3696356093, 3696487169, 3696618307, 3696749449, 3696880543, 3697011631, + 3697142723, 3697273813, 3697404943, 3697536019, 3697667111, 3697798193, 3697929269, + 3698060357, 3698191463, 3698322539, 3698453611, 3698584699, 3698715791, 3698846873, + 3698977957, 3699109087, 3699240187, 3699371293, 3699502439, 3699633521, 3699764599, + 3699895711, 3700026791, 3700157863, 3700288939, 3700420013, 3700551089, 3700682197, + 3700813271, 3700944371, 3701075459, 3701206547, 3701337637, 3701468713, 3701599799, + 3701730899, 3701861981, 3701993063, 3702124157, 3702255229, 3702386351, 3702517439, + 3702648511, 3702779669, 3702910751, 3703041851, 3703172947, 3703304023, 3703435123, + 3703566197, 3703697273, 3703828417, 3703959517, 3704090651, 3704221723, 3704352859, + 3704483933, 3704615009, 3704746099, 3704877173, 3705008257, 3705139357, 3705270433, + 3705401509, 3705532609, 3705663707, 3705794831, 3705925903, 3706056983, 3706188061, + 3706319137, 3706450217, 3706581289, 3706712371, 3706843447, 3706974521, 3707105639, + 3707236717, 3707367857, 3707498929, 3707630009, 3707761091, 3707892163, 3708023303, + 3708154391, 3708285479, 3708416597, 3708547681, 3708678767, 3708809843, 3708940919, + 3709071991, 3709203067, 3709334149, 3709465237, 3709596311, 3709727393, 3709858511, + 3709989583, 3710120663, 3710251777, 3710382869, 3710513987, 3710645087, 3710776177, + 3710907257, 3711038377, 3711169559, 3711300679, 3711431767, 3711562861, 3711693949, + 3711825053, 3711956161, 3712087243, 3712218317, 3712349413, 3712480489, 3712611601, + 3712742711, 3712873783, 3713004899, 3713135983, 3713267059, 3713398159, 3713529241, + 3713660323, 3713791399, 3713922479, 3714053561, 3714184651, 3714315727, 3714446833, + 3714577907, 3714709067, 3714840139, 3714971213, 3715102297, 3715233373, 3715364459, + 3715495547, 3715626619, 3715757713, 3715888801, 3716019907, 3716150983, 3716282069, + 3716413171, 3716544283, 3716675359, 3716806439, 3716937557, 3717068633, 3717199771, + 3717330853, 3717461953, 3717593039, 3717724123, 3717855199, 3717986273, 3718117367, + 3718248463, 3718379543, 3718510661, 3718641733, 3718772809, 3718903883, 3719034967, + 3719166053, 3719297149, 3719428231, 3719559307, 3719690407, 3719821481, 3719952623, + 3720083707, 3720214793, 3720345899, 3720477023, 3720608107, 3720739181, 3720870271, + 3721001353, 3721132427, 3721263523, 3721394603, 3721525681, 3721656769, 3721787843, + 3721918961, 3722050093, 3722181173, 3722312261, 3722443337, 3722574413, 3722705489, + 3722836567, 3722967641, 3723098759, 3723229831, 3723360923, 3723492023, 3723623153, + 3723754271, 3723885349, 3724016449, 3724147541, 3724278617, 3724409699, 3724540793, + 3724671871, 3724802951, 3724934023, 3725065139, 3725196217, 3725327297, 3725458369, + 3725589463, 3725720543, 3725851621, 3725982697, 3726113791, 3726244883, 3726375973, + 3726507053, 3726638137, 3726769213, 3726900311, 3727031437, 3727162511, 3727293607, + 3727424681, 3727555781, 3727686857, 3727817941, 3727949063, 3728080163, 3728211259, + 3728342377, 3728473451, 3728604553, 3728735629, 3728866711, 3728997791, 3729128863, + 3729259939, 3729391069, 3729522143, 3729653231, 3729784307, 3729915383, 3730046461, + 3730177543, 3730308641, 3730439729, 3730570819, 3730701899, 3730832983, 3730964063, + 3731095157, 3731226277, 3731357407, 3731488483, 3731619557, 3731750639, 3731881763, + 3732012847, 3732143927, 3732275011, 3732406087, 3732537169, 3732668309, 3732799393, + 3732930469, 3733061561, 3733192643, 3733323751, 3733454827, 3733585913, 3733716991, + 3733848073, 3733979147, 3734110249, 3734241349, 3734372443, 3734503519, 3734634593, + 3734765701, 3734896801, 3735027889, 3735158989, 3735290107, 3735421181, 3735552257, + 3735683333, 3735814417, 3735945529, 3736076623, 3736207711, 3736338791, 3736469879, + 3736600963, 3736732057, 3736863139, 3736994221, 3737125297, 3737256409, 3737387503, + 3737518583, 3737649673, 3737780747, 3737911913, 3738043009, 3738174101, 3738305173, + 3738436277, 3738567379, 3738698471, 3738829547, 3738960697, 3739091773, 3739222867, + 3739354009, 3739485083, 3739616173, 3739747303, 3739878377, 3740009467, 3740140589, + 3740271679, 3740402789, 3740533871, 3740665013, 3740796091, 3740927173, 3741058247, + 3741189359, 3741320431, 3741451513, 3741582589, 3741713693, 3741844811, 3741975883, + 3742106957, 3742238051, 3742369129, 3742500221, 3742631329, 3742762411, 3742893493, + 3743024573, 3743155649, 3743286733, 3743417819, 3743548961, 3743680043, 3743811121, + 3743942227, 3744073337, 3744204421, 3744335503, 3744466633, 3744597713, 3744728837, + 3744859919, 3744991027, 3745122119, 3745253203, 3745384289, 3745515377, 3745646551, + 3745777627, 3745908703, 3746039789, 3746170871, 3746301959, 3746433109, 3746564183, + 3746695261, 3746826337, 3746957413, 3747088487, 3747219583, 3747350671, 3747481763, + 3747612859, 3747743933, 3747875069, 3748006169, 3748137257, 3748268369, 3748399451, + 3748530529, 3748661603, 3748792693, 3748923767, 3749054857, 3749185931, 3749317007, + 3749448083, 3749579159, 3749710253, 3749841341, 3749972419, 3750103493, 3750234577, + 3750365677, 3750496751, 3750627827, 3750758917, 3750890053, 3751021129, 3751152217, + 3751283311, 3751414399, 3751545487, 3751676561, 3751807751, 3751938859, 3752069953, + 3752201041, 3752332141, 3752463269, 3752594347, 3752725433, 3752856511, 3752987591, + 3753118673, 3753249761, 3753380863, 3753511939, 3753643031, 3753774103, 3753905209, + 3754036289, 3754167379, 3754298459, 3754429531, 3754560611, 3754691687, 3754822783, + 3754953883, 3755084987, 3755216063, 3755347159, 3755478241, 3755609321, 3755740451, + 3755871599, 3756002671, 3756133757, 3756264839, 3756395911, 3756526987, 3756658069, + 3756789173, 3756920267, 3757051379, 3757182463, 3757313537, 3757444627, 3757575763, + 3757706863, 3757837973, 3757969063, 3758100179, 3758231287, 3758362381, 3758493469, + 3758624549, 3758755639, 3758886763, 3759017851, 3759148927, 3759280009, 3759411083, + 3759542177, 3759673261, 3759804343, 3759935447, 3760066523, 3760197601, 3760328681, + 3760459777, 3760590871, 3760721977, 3760853087, 3760984159, 3761115233, 3761246341, + 3761377453, 3761508533, 3761639617, 3761770697, 3761901799, 3762032887, 3762163961, + 3762295039, 3762426119, 3762557209, 3762688283, 3762819367, 3762950441, 3763081513, + 3763212589, 3763343677, 3763474763, 3763605847, 3763736927, 3763867999, 3763999093, + 3764130193, 3764261287, 3764392361, 3764523457, 3764654533, 3764785627, 3764916707, + 3765047779, 3765178897, 3765309983, 3765441059, 3765572189, 3765703339, 3765834419, + 3765965501, 3766096577, 3766227659, 3766358749, 3766489843, 3766620953, 3766752049, + 3766883189, 3767014331, 3767145439, 3767276521, 3767407601, 3767538689, 3767669779, + 3767800879, 3767931977, 3768063053, 3768194161, 3768325283, 3768456361, 3768587437, + 3768718511, 3768849593, 3768980669, 3769111747, 3769242821, 3769373897, 3769505041, + 3769636121, 3769767193, 3769898267, 3770029339, 3770160439, 3770291513, 3770422589, + 3770553671, 3770684789, 3770815871, 3770946947, 3771078037, 3771209137, 3771340211, + 3771471323, 3771602441, 3771733531, 3771864617, 3771995723, 3772126807, 3772257893, + 3772388981, 3772520057, 3772651147, 3772782227, 3772913299, 3773044403, 3773175487, + 3773306569, 3773437649, 3773568791, 3773699903, 3773830981, 3773962069, 3774093181, + 3774224273, 3774355373, 3774486479, 3774617557, 3774748657, 3774879751, 3775010831, + 3775141913, 3775273003, 3775404077, 3775535177, 3775666253, 3775797329, 3775928407, + 3776059481, 3776190559, 3776321669, 3776452747, 3776583827, 3776714927, 3776846039, + 3776977121, 3777108217, 3777239303, 3777370381, 3777501457, 3777632561, 3777763637, + 3777894713, 3778025791, 3778156873, 3778287949, 3778419079, 3778550189, 3778681267, + 3778812383, 3778943489, 3779074571, 3779205649, 3779336761, 3779467837, 3779598919, + 3779730023, 3779861149, 3779992231, 3780123311, 3780254417, 3780385493, 3780516611, + 3780647693, 3780778787, 3780909859, 3781040933, 3781172033, 3781303199, 3781434277, + 3781565351, 3781696433, 3781827523, 3781958599, 3782089681, 3782220779, 3782351851, + 3782482927, 3782614001, 3782745073, 3782876173, 3783007279, 3783138353, 3783269459, + 3783400561, 3783531659, 3783662731, 3783793807, 3783924887, 3784056007, 3784187087, + 3784318171, 3784449287, 3784580363, 3784711493, 3784842571, 3784973677, 3785104751, + 3785235823, 3785366909, 3785498027, 3785629117, 3785760247, 3785891321, 3786022439, + 3786153557, 3786284651, 3786415781, 3786546853, 3786677963, 3786809051, 3786940123, + 3787071199, 3787202281, 3787333393, 3787464469, 3787595543, 3787726637, 3787857709, + 3787988791, 3788119913, 3788251003, 3788382077, 3788513203, 3788644283, 3788775407, + 3788906479, 3789037559, 3789168653, 3789299729, 3789430867, 3789561943, 3789693029, + 3789824117, 3789955229, 3790086323, 3790217401, 3790348481, 3790479559, 3790610641, + 3790741729, 3790872803, 3791003921, 3791134993, 3791266081, 3791397173, 3791528281, + 3791659387, 3791790467, 3791921543, 3792052643, 3792183751, 3792314837, 3792445949, + 3792577027, 3792708163, 3792839257, 3792970331, 3793101407, 3793232501, 3793363579, + 3793494667, 3793625761, 3793756861, 3793887953, 3794019049, 3794150123, 3794281199, + 3794412277, 3794543377, 3794674451, 3794805529, 3794936603, 3795067769, 3795198859, + 3795329953, 3795461039, 3795592139, 3795723227, 3795854311, 3795985397, 3796116479, + 3796247591, 3796378687, 3796509763, 3796640851, 3796771933, 3796903013, 3797034103, + 3797165179, 3797296253, 3797427329, 3797558407, 3797689499, 3797820581, 3797951687, + 3798082787, 3798213931, 3798345073, 3798476179, 3798607259, 3798738337, 3798869429, + 3799000549, 3799131653, 3799262777, 3799393859, 3799524941, 3799656053, 3799787137, + 3799918219, 3800049301, 3800180389, 3800311499, 3800442577, 3800573653, 3800704751, + 3800835827, 3800966899, 3801097997, 3801229097, 3801360193, 3801491293, 3801622369, + 3801753451, 3801884549, 3802015663, 3802146739, 3802277819, 3802408891, 3802540003, + 3802671097, 3802802189, 3802933279, 3803064371, 3803195447, 3803326519, 3803457599, + 3803588671, 3803719811, 3803850887, 3803981969, 3804113041, 3804244117, 3804375193, + 3804506267, 3804637351, 3804768427, 3804899509, 3805030583, 3805161667, 3805292747, + 3805423907, 3805554979, 3805686083, 3805817159, 3805948241, 3806079349, 3806210449, + 3806341579, 3806472701, 3806603777, 3806734849, 3806865929, 3806997001, 3807128089, + 3807259163, 3807390253, 3807521329, 3807652477, 3807783571, 3807914701, 3808045777, + 3808176871, 3808307957, 3808439029, 3808570133, 3808701241, 3808832369, 3808963463, + 3809094563, 3809225647, 3809356739, 3809487839, 3809618941, 3809750023, 3809881109, + 3810012203, 3810143297, 3810274399, 3810405481, 3810536581, 3810667673, 3810798749, + 3810929821, 3811060921, 3811191997, 3811323071, 3811454191, 3811585279, 3811716367, + 3811847447, 3811978523, 3812109601, 3812240699, 3812371799, 3812502877, 3812633959, + 3812765057, 3812896141, 3813027227, 3813158329, 3813289423, 3813420521, 3813551603, + 3813682687, 3813813763, 3813944851, 3814075933, 3814207039, 3814338131, 3814469221, + 3814600333, 3814731407, 3814862483, 3814993571, 3815124679, 3815255789, 3815386871, + 3815517949, 3815649041, 3815780119, 3815911243, 3816042341, 3816173429, 3816304519, + 3816435643, 3816566723, 3816697799, 3816828877, 3816960001, 3817091077, 3817222153, + 3817353271, 3817484353, 3817615427, 3817746533, 3817877621, 3818008721, 3818139821, + 3818270927, 3818402039, 3818533123, 3818664209, 3818795293, 3818926373, 3819057457, + 3819188551, 3819319643, 3819450721, 3819581797, 3819712877, 3819843959, 3819975037, + 3820106153, 3820237259, 3820368337, 3820499453, 3820630531, 3820761617, 3820892701, + 3821023783, 3821154901, 3821285989, 3821417081, 3821548153, 3821679227, 3821810339, + 3821941439, 3822072559, 3822203659, 3822334759, 3822465851, 3822596951, 3822728023, + 3822859121, 3822990229, 3823121303, 3823252379, 3823383467, 3823514579, 3823645673, + 3823776767, 3823907851, 3824038937, 3824170073, 3824301157, 3824432267, 3824563339, + 3824694413, 3824825489, 3824956561, 3825087641, 3825218713, 3825349793, 3825480887, + 3825611963, 3825743063, 3825874139, 3826005223, 3826136317, 3826267391, 3826398481, + 3826529561, 3826660633, 3826791721, 3826922809, 3827053897, 3827184973, 3827316067, + 3827447161, 3827578241, 3827709331, 3827840431, 3827971517, 3828102601, 3828233681, + 3828364783, 3828495883, 3828626969, 3828758041, 3828889213, 3829020287, 3829151369, + 3829282451, 3829413527, 3829544617, 3829675747, 3829806821, 3829937893, 3830068973, + 3830200061, 3830331133, 3830462221, 3830593301, 3830724377, 3830855477, 3830986553, + 3831117629, 3831248737, 3831379831, 3831510979, 3831642071, 3831773147, 3831904277, + 3832035373, 3832166473, 3832297583, 3832428673, 3832559761, 3832690867, 3832821991, + 3832953073, 3833084183, 3833215271, 3833346479, 3833477567, 3833608643, 3833739733, + 3833870857, 3834001933, 3834133027, 3834264101, 3834395197, 3834526321, 3834657401, + 3834788473, 3834919547, 3835050619, 3835181719, 3835312799, 3835443889, 3835574983, + 3835706099, 3835837193, 3835968299, 3836099387, 3836230481, 3836361619, 3836492701, + 3836623781, 3836754863, 3836885951, 3837017027, 3837148099, 3837279181, 3837410273, + 3837541363, 3837672437, 3837803531, 3837934643, 3838065761, 3838196833, 3838327937, + 3838459057, 3838590131, 3838721207, 3838852291, 3838983389, 3839114467, 3839245559, + 3839376631, 3839507717, 3839638813, 3839769887, 3839900983, 3840032057, 3840163139, + 3840294217, 3840425321, 3840556397, 3840687479, 3840818557, 3840949639, 3841080731, + 3841211809, 3841342927, 3841474001, 3841605101, 3841736189, 3841867273, 3841998367, + 3842129453, 3842260553, 3842391653, 3842522759, 3842653847, 3842784929, 3842916001, + 3843047083, 3843178193, 3843309271, 3843440431, 3843571547, 3843702637, 3843833723, + 3843964849, 3844095923, 3844227019, 3844358113, 3844489199, 3844620271, 3844751359, + 3844882487, 3845013559, 3845144663, 3845275739, 3845406821, 3845537947, 3845669021, + 3845800183, 3845931347, 3846062471, 3846193553, 3846324689, 3846455773, 3846586847, + 3846717937, 3846849049, 3846980131, 3847111207, 3847242313, 3847373393, 3847504477, + 3847635557, 3847766639, 3847897717, 3848028797, 3848159873, 3848290949, 3848422043, + 3848553119, 3848684219, 3848815297, 3848946371, 3849077483, 3849208579, 3849339671, + 3849470749, 3849601831, 3849732911, 3849864001, 3849995113, 3850126211, 3850257331, + 3850388441, 3850519553, 3850650641, 3850781719, 3850912801, 3851043901, 3851174983, + 3851306083, 3851437157, 3851568277, 3851699387, 3851830513, 3851961601, 3852092677, + 3852223807, 3852354889, 3852485977, 3852617053, 3852748139, 3852879229, 3853010303, + 3853141421, 3853272499, 3853403599, 3853534697, 3853665779, 3853796873, 3853927951, + 3854059031, 3854190107, 3854321189, 3854452337, 3854583437, 3854714527, 3854845633, + 3854976733, 3855107813, 3855238901, 3855369977, 3855501053, 3855632129, 3855763201, + 3855894277, 3856025351, 3856156439, 3856287521, 3856418603, 3856549687, 3856680787, + 3856811867, 3856942997, 3857074127, 3857205203, 3857336303, 3857467391, 3857598523, + 3857729599, 3857860673, 3857991773, 3858122893, 3858253969, 3858385087, 3858516173, + 3858647257, 3858778331, 3858909409, 3859040483, 3859171579, 3859302659, 3859433737, + 3859564811, 3859695901, 3859826981, 3859958083, 3860089169, 3860220241, 3860351323, + 3860482411, 3860613563, 3860744647, 3860875727, 3861006839, 3861137911, 3861268987, + 3861400093, 3861531209, 3861662293, 3861793387, 3861924491, 3862055581, 3862186661, + 3862317751, 3862448827, 3862579909, 3862711003, 3862842077, 3862973161, 3863104241, + 3863235353, 3863366459, 3863497549, 3863628677, 3863759749, 3863890841, 3864021929, + 3864153001, 3864284141, 3864415229, 3864546311, 3864677389, 3864808469, 3864939553, + 3865070647, 3865201771, 3865332871, 3865463947, 3865595023, 3865726097, 3865857169, + 3865988249, 3866119321, 3866250433, 3866381509, 3866512607, 3866643691, 3866774767, + 3866905877, 3867036977, 3867168061, 3867299153, 3867430253, 3867561329, 3867692447, + 3867823573, 3867954647, 3868085723, 3868216867, 3868347949, 3868479053, 3868610131, + 3868741211, 3868872311, 3869003407, 3869134481, 3869265599, 3869396677, 3869527763, + 3869658839, 3869789941, 3869921023, 3870052099, 3870183199, 3870314291, 3870445367, + 3870576461, 3870707591, 3870838691, 3870969799, 3871100897, 3871231997, 3871363079, + 3871494157, 3871625267, 3871756379, 3871887511, 3872018593, 3872149667, 3872280739, + 3872411849, 3872542979, 3872674061, 3872805179, 3872936281, 3873067361, 3873198463, + 3873329567, 3873460663, 3873591737, 3873722837, 3873853927, 3873985001, 3874116083, + 3874247203, 3874378283, 3874509377, 3874640449, 3874771547, 3874902631, 3875033711, + 3875164831, 3875295937, 3875427011, 3875558123, 3875689199, 3875820281, 3875951353, + 3876082447, 3876213559, 3876344657, 3876475747, 3876606847, 3876737959, 3876869081, + 3877000157, 3877131239, 3877262327, 3877393427, 3877524551, 3877655623, 3877786697, + 3877917773, 3878048851, 3878179939, 3878311033, 3878442119, 3878573197, 3878704273, + 3878835361, 3878966459, 3879097571, 3879228649, 3879359741, 3879490829, 3879621917, + 3879753019, 3879884111, 3880015201, 3880146289, 3880277363, 3880408439, 3880539521, + 3880670621, 3880801693, 3880932767, 3881063843, 3881194949, 3881326021, 3881457101, + 3881588177, 3881719271, 3881850353, 3881981533, 3882112649, 3882243721, 3882374801, + 3882505873, 3882636971, 3882768061, 3882899159, 3883030237, 3883161349, 3883292459, + 3883423549, 3883554673, 3883685749, 3883816829, 3883947901, 3884078987, 3884210107, + 3884341193, 3884472301, 3884603383, 3884734457, 3884865557, 3884996657, 3885127747, + 3885258821, 3885389897, 3885520987, 3885652061, 3885783149, 3885914231, 3886045363, + 3886176473, 3886307561, 3886438637, 3886569721, 3886700833, 3886831909, 3886962997, + 3887094073, 3887225201, 3887356273, 3887487377, 3887618467, 3887749549, 3887880683, + 3888011801, 3888142877, 3888273953, 3888405061, 3888536159, 3888667259, 3888798421, + 3888929531, 3889060649, 3889191737, 3889322809, 3889453891, 3889584967, 3889716049, + 3889847153, 3889978231, 3890109319, 3890240423, 3890371517, 3890502589, 3890633713, + 3890764799, 3890895871, 3891026981, 3891158069, 3891289147, 3891420251, 3891551333, + 3891682411, 3891813487, 3891944579, 3892075651, 3892206727, 3892337807, 3892468897, + 3892600003, 3892731109, 3892862209, 3892993297, 3893124407, 3893255593, 3893386687, + 3893517787, 3893648897, 3893779979, 3893911051, 3894042161, 3894173237, 3894304319, + 3894435401, 3894566483, 3894697559, 3894828631, 3894959711, 3895090783, 3895221857, + 3895352977, 3895484053, 3895615159, 3895746259, 3895877339, 3896008411, 3896139493, + 3896270593, 3896401673, 3896532751, 3896663873, 3896794981, 3896926073, 3897057161, + 3897188261, 3897319337, 3897450409, 3897581521, 3897712627, 3897843701, 3897974803, + 3898105877, 3898236971, 3898368043, 3898499183, 3898630259, 3898761337, 3898892423, + 3899023537, 3899154631, 3899285743, 3899416819, 3899547893, 3899678969, 3899810063, + 3899941153, 3900072229, 3900203317, 3900334397, 3900465479, 3900596551, 3900727631, + 3900858757, 3900989857, 3901120933, 3901252031, 3901383131, 3901514209, 3901645303, + 3901776379, 3901907459, 3902038597, 3902169697, 3902300803, 3902431877, 3902562953, + 3902694041, 3902825119, 3902956201, 3903087283, 3903218359, 3903349433, 3903480527, + 3903611603, 3903742681, 3903873763, 3904004837, 3904135957, 3904267033, 3904398149, + 3904529227, 3904660301, 3904791409, 3904922537, 3905053657, 3905184749, 3905315833, + 3905446939, 3905578013, 3905709089, 3905840171, 3905971261, 3906102337, 3906233411, + 3906364513, 3906495599, 3906626671, 3906757763, 3906888877, 3907019953, 3907151057, + 3907282231, 3907413317, 3907544413, 3907675501, 3907806577, 3907937699, 3908068799, + 3908199941, 3908331019, 3908462099, 3908593187, 3908724271, 3908855383, 3908986463, + 3909117601, 3909248699, 3909379819, 3909510971, 3909642049, 3909773129, 3909904213, + 3910035313, 3910166399, 3910297471, 3910428569, 3910559641, 3910690723, 3910821857, + 3910952933, 3911084011, 3911215153, 3911346233, 3911477321, 3911608397, 3911739479, + 3911870591, 3912001663, 3912132739, 3912263819, 3912394891, 3912525989, 3912657113, + 3912788207, 3912919313, 3913050397, 3913181483, 3913312573, 3913443671, 3913574779, + 3913705853, 3913836967, 3913968043, 3914099141, 3914230219, 3914361317, 3914492399, + 3914623477, 3914754551, 3914885657, 3915016741, 3915147823, 3915278897, 3915409997, + 3915541073, 3915672151, 3915803249, 3915934357, 3916065449, 3916196521, 3916327601, + 3916458731, 3916589837, 3916720931, 3916852031, 3916983121, 3917114203, 3917245291, + 3917376373, 3917507491, 3917638567, 3917769641, 3917900761, 3918031841, 3918163003, + 3918294077, 3918425197, 3918556273, 3918687349, 3918818441, 3918949543, 3919080623, + 3919211711, 3919342813, 3919473893, 3919604993, 3919736111, 3919867183, 3919998347, + 3920129431, 3920260541, 3920391623, 3920522699, 3920653771, 3920784853, 3920915927, + 3921047033, 3921178111, 3921309193, 3921440273, 3921571417, 3921702553, 3921833659, + 3921964747, 3922095839, 3922226929, 3922358021, 3922489097, 3922620199, 3922751293, + 3922882373, 3923013499, 3923144591, 3923275663, 3923406737, 3923537833, 3923668913, + 3923800043, 3923931119, 3924062209, 3924193289, 3924324367, 3924455443, 3924586517, + 3924717607, 3924848717, 3924979811, 3925110887, 3925242011, 3925373147, 3925504223, + 3925635319, 3925766401, 3925897487, 3926028571, 3926159683, 3926290769, 3926421841, + 3926552921, 3926684023, 3926815097, 3926946169, 3927077243, 3927208339, 3927339419, + 3927470527, 3927601603, 3927732689, 3927863813, 3927994897, 3928125989, 3928257103, + 3928388179, 3928519271, 3928650347, 3928781419, 3928912499, 3929043583, 3929174677, + 3929305753, 3929436827, 3929567903, 3929699009, 3929830087, 3929961169, 3930092261, + 3930223337, 3930354419, 3930485509, 3930616589, 3930747671, 3930878759, 3931009843, + 3931140919, 3931272001, 3931403123, 3931534199, 3931665271, 3931796347, 3931927421, + 3932058497, 3932189609, 3932320687, 3932451763, 3932582839, 3932713969, 3932845051, + 3932976233, 3933107377, 3933238471, 3933369589, 3933500699, 3933631777, 3933762853, + 3933893981, 3934025093, 3934156241, 3934287323, 3934418441, 3934549519, 3934680593, + 3934811701, 3934942801, 3935073893, 3935204981, 3935336057, 3935467177, 3935598257, + 3935729353, 3935860433, 3935991529, 3936122621, 3936253733, 3936384811, 3936515887, + 3936646969, 3936778051, 3936909133, 3937040243, 3937171327, 3937302407, 3937433527, + 3937564619, 3937695721, 3937826813, 3937957927, 3938089009, 3938220101, 3938351237, + 3938482309, 3938613401, 3938744483, 3938875573, 3939006647, 3939137747, 3939268847, + 3939399929, 3939531019, 3939662099, 3939793177, 3939924271, 3940055347, 3940186421, + 3940317517, 3940448591, 3940579667, 3940710779, 3940841921, 3940972999, 3941104093, + 3941235209, 3941366353, 3941497463, 3941628541, 3941759629, 3941890717, 3942021803, + 3942152897, 3942283979, 3942415067, 3942546193, 3942677287, 3942808367, 3942939439, + 3943070519, 3943201597, 3943332671, 3943463743, 3943594817, 3943725911, 3943856993, + 3943988129, 3944119321, 3944250419, 3944381509, 3944512639, 3944643737, 3944774881, + 3944906011, 3945037099, 3945168181, 3945299279, 3945430409, 3945561481, 3945692561, + 3945823643, 3945954743, 3946085833, 3946216909, 3946348009, 3946479101, 3946610201, + 3946741273, 3946872367, 3947003461, 3947134559, 3947265643, 3947396771, 3947527861, + 3947658971, 3947790089, 3947921161, 3948052243, 3948183341, 3948314429, 3948445511, + 3948576601, 3948707687, 3948838771, 3948969859, 3949100963, 3949232069, 3949363147, + 3949494221, 3949625311, 3949756403, 3949887509, 3950018587, 3950149717, 3950280809, + 3950411953, 3950543033, 3950674109, 3950805233, 3950936317, 3951067399, 3951198529, + 3951329611, 3951460699, 3951591781, 3951722891, 3951853979, 3951985067, 3952116149, + 3952247231, 3952378319, 3952509391, 3952640491, 3952771619, 3952902719, 3953033797, + 3953164879, 3953295961, 3953427047, 3953558137, 3953689231, 3953820337, 3953951411, + 3954082493, 3954213581, 3954344699, 3954475781, 3954606869, 3954737947, 3954869053, + 3955000163, 3955131251, 3955262327, 3955393423, 3955524497, 3955655579, 3955786657, + 3955917737, 3956048839, 3956179967, 3956311039, 3956442121, 3956573197, 3956704277, + 3956835359, 3956966441, 3957097513, 3957228593, 3957359677, 3957490769, 3957621869, + 3957752951, 3957884027, 3958015111, 3958146209, 3958277287, 3958408381, 3958539457, + 3958670537, 3958801619, 3958932713, 3959063809, 3959194903, 3959325977, 3959457079, + 3959588153, 3959719277, 3959850421, 3959981521, 3960112631, 3960243731, 3960374849, + 3960505933, 3960637111, 3960768187, 3960899269, 3961030349, 3961161433, 3961292521, + 3961423603, 3961554683, 3961685771, 3961816853, 3961947931, 3962079013, 3962210101, + 3962341219, 3962472301, 3962603473, 3962734549, 3962865629, 3962996707, 3963127781, + 3963258853, 3963389929, 3963521041, 3963652127, 3963783203, 3963914281, 3964045367, + 3964176449, 3964307551, 3964438717, 3964569797, 3964700869, 3964831957, 3964963039, + 3965094121, 3965225219, 3965356303, 3965487377, 3965618453, 3965749603, 3965880691, + 3966011779, 3966142853, 3966273931, 3966405017, 3966536099, 3966667213, 3966798299, + 3966929381, 3967060453, 3967191581, 3967322677, 3967453751, 3967584827, 3967715923, + 3967847011, 3967978097, 3968109199, 3968240293, 3968371373, 3968502487, 3968633567, + 3968764649, 3968895751, 3969026833, 3969157939, 3969289019, 3969420101, 3969551177, + 3969682259, 3969813359, 3969944443, 3970075537, 3970206637, 3970337729, 3970468819, + 3970599923, 3970731001, 3970862081, 3970993177, 3971124281, 3971255357, 3971386429, + 3971517533, 3971648621, 3971779739, 3971910853, 3972041977, 3972173077, 3972304183, + 3972435319, 3972566401, 3972697489, 3972828577, 3972959677, 3973090777, 3973221851, + 3973352923, 3973483999, 3973615117, 3973746221, 3973877329, 3974008427, 3974139539, + 3974270633, 3974401751, 3974532949, 3974664053, 3974795137, 3974926231, 3975057311, + 3975188407, 3975319483, 3975450593, 3975581677, 3975712753, 3975843847, 3975974923, + 3976105999, 3976237099, 3976368191, 3976499269, 3976630349, 3976761449, 3976892537, + 3977023681, 3977154763, 3977285857, 3977416931, 3977548009, 3977679103, 3977810197, + 3977941271, 3978072347, 3978203419, 3978334519, 3978465593, 3978596669, 3978727763, + 3978858853, 3978989947, 3979121063, 3979252181, 3979383257, 3979514339, 3979645421, + 3979776509, 3979907623, 3980038729, 3980169839, 3980300941, 3980432039, 3980563121, + 3980694197, 3980825327, 3980956477, 3981087553, 3981218641, 3981349717, 3981480817, + 3981611897, 3981742979, 3981874073, 3982005151, 3982136237, 3982267309, 3982398389, + 3982529477, 3982660553, 3982791643, 3982922729, 3983053829, 3983184911, 3983315983, + 3983447059, 3983578141, 3983709253, 3983840353, 3983971441, 3984102557, 3984233647, + 3984364753, 3984495839, 3984626939, 3984758023, 3984889099, 3985020187, 3985151263, + 3985282339, 3985413427, 3985544527, 3985675609, 3985806691, 3985937773, 3986068871, + 3986199953, 3986331053, 3986462131, 3986593213, 3986724307, 3986855387, 3986986483, + 3987117557, 3987248633, 3987379763, 3987510841, 3987641921, 3987773017, 3987904103, + 3988035209, 3988166297, 3988297373, 3988428449, 3988559539, 3988690639, 3988821731, + 3988952819, 3989083927, 3989215003, 3989346103, 3989477179, 3989608253, 3989739349, + 3989870453, 3990001549, 3990132631, 3990263741, 3990394813, 3990525893, 3990657071, + 3990788147, 3990919237, 3991050313, 3991181393, 3991312477, 3991443553, 3991574669, + 3991705741, 3991836833, 3991967921, 3992099009, 3992230093, 3992361179, 3992492261, + 3992623357, 3992754503, 3992885579, 3993016663, 3993147761, 3993278843, 3993409919, + 3993541063, 3993672143, 3993803243, 3993934331, 3994065403, 3994196489, 3994327613, + 3994458697, 3994589771, 3994720883, 3994851961, 3994983061, 3995114171, 3995245307, + 3995376403, 3995507513, 3995638609, 3995769689, 3995900761, 3996031877, 3996162977, + 3996294077, 3996425177, 3996556259, 3996687361, 3996818443, 3996949529, 3997080601, + 3997211681, 3997342757, 3997473829, 3997604909, 3997736009, 3997867099, 3997998181, + 3998129273, 3998260349, 3998391427, 3998522501, 3998653583, 3998784677, 3998915749, + 3999046853, 3999177929, 3999309011, 3999440129, 3999571217, 3999702299, 3999833399, + 3999964471, 4000095551, 4000226647, 4000357729, 4000488827, 4000619929, 4000751009, + 4000882121, 4001013251, 4001144333, 4001275427, 4001406509, 4001537587, 4001668669, + 4001799743, 4001930827, 4002061907, 4002192979, 4002324089, 4002455227, 4002586319, + 4002717391, 4002848467, 4002979559, 4003110653, 4003241743, 4003372817, 4003503899, + 4003634983, 4003766093, 4003897187, 4004028263, 4004159347, 4004290421, 4004421503, + 4004552599, 4004683673, 4004814799, 4004945881, 4005076969, 4005208043, 4005339167, + 4005470239, 4005601339, 4005732439, 4005863551, 4005994661, 4006125733, 4006256831, + 4006387927, 4006519001, 4006650091, 4006781167, 4006912241, 4007043317, 4007174389, + 4007305483, 4007436577, 4007567653, 4007698729, 4007829803, 4007960903, 4008091993, + 4008223067, 4008354151, 4008485251, 4008616327, 4008747419, 4008878557, 4009009657, + 4009140739, 4009271843, 4009402939, 4009534013, 4009665089, 4009796179, 4009927253, + 4010058343, 4010189453, 4010320583, 4010451659, 4010582767, 4010713913, 4010844989, + 4010976061, 4011107147, 4011238241, 4011369343, 4011500459, 4011631541, 4011762613, + 4011893687, 4012024771, 4012155877, 4012286953, 4012418029, 4012549129, 4012680241, + 4012811317, 4012942393, 4013073487, 4013204563, 4013335661, 4013466733, 4013597827, + 4013728931, 4013860057, 4013991131, 4014122209, 4014253289, 4014384371, 4014515489, + 4014646579, 4014777677, 4014908749, 4015039837, 4015170911, 4015301987, 4015433143, + 4015564219, 4015695311, 4015826383, 4015957469, 4016088589, 4016219693, 4016350769, + 4016481871, 4016612953, 4016744027, 4016875129, 4017006223, 4017137303, 4017268379, + 4017399467, 4017530567, 4017661649, 4017792731, 4017923809, 4018054889, 4018185989, + 4018317089, 4018448177, 4018579261, 4018710337, 4018841413, 4018972543, 4019103623, + 4019234753, 4019365829, 4019496931, 4019628007, 4019759087, 4019890177, 4020021287, + 4020152369, 4020283447, 4020414527, 4020545621, 4020676703, 4020807781, 4020938861, + 4021069933, 4021201013, 4021332113, 4021463207, 4021594331, 4021725403, 4021856497, + 4021987591, 4022118703, 4022249789, 4022380861, 4022511973, 4022643047, 4022774159, + 4022905231, 4023036313, 4023167387, 4023298459, 4023429533, 4023560621, 4023691697, + 4023822787, 4023953929, 4024085003, 4024216099, 4024347179, 4024478257, 4024609339, + 4024740431, 4024871527, 4025002601, 4025133683, 4025264783, 4025395859, 4025526931, + 4025658017, 4025789101, 4025920177, 4026051269, 4026182341, 4026313429, 4026444511, + 4026575591, 4026706679, 4026837791, 4026968887, 4027099987, 4027231067, 4027362167, + 4027493243, 4027624327, 4027755409, 4027886521, 4028017607, 4028148679, 4028279767, + 4028410921, 4028542019, 4028673133, 4028804209, 4028935283, 4029066361, 4029197453, + 4029328529, 4029459617, 4029590701, 4029721781, 4029852859, 4029983941, 4030115021, + 4030246097, 4030377173, 4030508267, 4030639391, 4030770467, 4030901549, 4031032627, + 4031163713, 4031294789, 4031425861, 4031556943, 4031688077, 4031819153, 4031950253, + 4032081329, 4032212407, 4032343487, 4032474569, 4032605659, 4032736777, 4032867869, + 4032998947, 4033130047, 4033261121, 4033392247, 4033523321, 4033654403, 4033785493, + 4033916573, 4034047649, 4034178721, 4034309801, 4034440889, 4034571977, 4034703077, + 4034834183, 4034965261, 4035096341, 4035227431, 4035358519, 4035489593, 4035620669, + 4035751747, 4035882827, 4036013951, 4036145051, 4036276147, 4036407259, 4036538371, + 4036669451, 4036800527, 4036931599, 4037062681, 4037193773, 4037324867, 4037455999, + 4037587093, 4037718173, 4037849251, 4037980343, 4038111421, 4038242581, 4038373657, + 4038504731, 4038635807, 4038766913, 4038898007, 4039029079, 4039160189, 4039291271, + 4039422347, 4039553423, 4039684499, 4039815583, 4039946671, 4040077757, 4040208829, + 4040339917, 4040470999, 4040602087, 4040733163, 4040864329, 4040995423, 4041126499, + 4041257581, 4041388717, 4041519799, 4041650881, 4041781979, 4041913061, 4042044143, + 4042175233, 4042306313, 4042437403, 4042568501, 4042699613, 4042830691, 4042961801, + 4043092877, 4043223991, 4043355067, 4043486149, 4043617231, 4043748323, 4043879407, + 4044010513, 4044141643, 4044272719, 4044403801, 4044534899, 4044665971, 4044797051, + 4044928157, 4045059233, 4045190327, 4045321403, 4045452511, 4045583627, 4045714709, + 4045845781, 4045976867, 4046107939, 4046239027, 4046370109, 4046501183, 4046632267, + 4046763353, 4046894431, 4047025519, 4047156601, 4047287687, 4047418783, 4047549859, + 4047680933, 4047812051, 4047943129, 4048074263, 4048205351, 4048336423, 4048467497, + 4048598573, 4048729649, 4048860721, 4048991797, 4049122871, 4049253959, 4049385031, + 4049516129, 4049647201, 4049778323, 4049909401, 4050040487, 4050171563, 4050302657, + 4050433757, 4050564853, 4050695969, 4050827041, 4050958133, 4051089221, 4051220351, + 4051351453, 4051482541, 4051613617, 4051744709, 4051875787, 4052006867, 4052137963, + 4052269043, 4052400127, 4052531201, 4052662291, 4052793377, 4052924459, 4053055541, + 4053186617, 4053317711, 4053448783, 4053579863, 4053710987, 4053842081, 4053973193, + 4054104293, 4054235387, 4054366529, 4054497611, 4054628693, 4054759817, 4054890893, + 4055021981, 4055153083, 4055284157, 4055415251, 4055546329, 4055677421, 4055808499, + 4055939599, 4056070687, 4056201767, 4056332843, 4056463937, 4056595013, 4056726101, + 4056857179, 4056988283, 4057119403, 4057250507, 4057381579, 4057512673, 4057643747, + 4057774823, 4057905959, 4058037073, 4058168171, 4058299261, 4058430367, 4058561459, + 4058692531, 4058823631, 4058954741, 4059085819, 4059216923, 4059348017, 4059479101, + 4059610201, 4059741277, 4059872353, 4060003433, 4060134509, 4060265597, 4060396699, + 4060527799, 4060658873, 4060789963, 4060921057, 4061052197, 4061183279, 4061314379, + 4061445457, 4061576551, 4061707673, 4061838749, 4061969833, 4062100937, 4062232021, + 4062363113, 4062494239, 4062625331, 4062756403, 4062887503, 4063018601, 4063149703, + 4063280783, 4063411867, 4063542953, 4063674031, 4063805131, 4063936211, 4064067283, + 4064198357, 4064329453, 4064460581, 4064591719, 4064722793, 4064853893, 4064984969, + 4065116047, 4065247127, 4065378199, 4065509303, 4065640391, 4065771467, 4065902567, + 4066033661, 4066164743, 4066295843, 4066426939, 4066558039, 4066689113, 4066820207, + 4066951283, 4067082377, 4067213471, 4067344549, 4067475647, 4067606731, 4067737813, + 4067868923, 4068000059, 4068131131, 4068262229, 4068393319, 4068524443, 4068655523, + 4068786599, 4068917693, 4069048769, 4069179841, 4069310933, 4069442009, 4069573087, + 4069704179, 4069835251, 4069966331, 4070097403, 4070228497, 4070359571, 4070490643, + 4070621717, 4070752789, 4070883871, 4071014963, 4071146089, 4071277183, 4071408283, + 4071539413, 4071670487, 4071801583, 4071932699, 4072063811, 4072194913, 4072325989, + 4072457063, 4072588151, 4072719239, 4072850363, 4072981459, 4073112541, 4073243663, + 4073374769, 4073505869, 4073636947, 4073768029, 4073899121, 4074030193, 4074161339, + 4074292421, 4074423511, 4074554587, 4074685697, 4074816773, 4074947857, 4075078933, + 4075210019, 4075341091, 4075472197, 4075603271, 4075734347, 4075865477, 4075996549, + 4076127637, 4076258717, 4076389799, 4076520883, 4076651981, 4076783069, 4076914159, + 4077045257, 4077176329, 4077307411, 4077438487, 4077569567, 4077700663, 4077831881, + 4077962963, 4078094039, 4078225127, 4078356221, 4078487311, 4078618409, 4078749491, + 4078880563, 4079011639, 4079142733, 4079273827, 4079404933, 4079536007, 4079667091, + 4079798179, 4079929253, 4080060331, 4080191407, 4080322489, 4080453581, 4080584657, + 4080715739, 4080846817, 4080977921, 4081109027, 4081240103, 4081371179, 4081502261, + 4081633363, 4081764457, 4081895539, 4082026661, 4082157799, 4082288887, 4082419961, + 4082551043, 4082682127, 4082813201, 4082944277, 4083075407, 4083206483, 4083337567, + 4083468643, 4083599749, 4083730823, 4083861931, 4083993029, 4084124141, 4084255243, + 4084386337, 4084517413, 4084648487, 4084779577, 4084910651, 4085041733, 4085172809, + 4085303897, 4085434973, 4085566091, 4085697179, 4085828273, 4085959351, 4086090451, + 4086221533, 4086352643, 4086483727, 4086614801, 4086745907, 4086876979, 4087008061, + 4087139137, 4087270273, 4087401349, 4087532431, 4087663519, 4087794643, 4087925717, + 4088056807, 4088187919, 4088318999, 4088450083, 4088581157, 4088712241, 4088843327, + 4088974427, 4089105509, 4089236581, 4089367661, 4089498761, 4089629861, 4089760933, + 4089892007, 4090023083, 4090154161, 4090285253, 4090416329, 4090547413, 4090678507, + 4090809587, 4090940687, 4091071771, 4091202851, 4091333969, 4091465057, 4091596129, + 4091727217, 4091858291, 4091989393, 4092120479, 4092251557, 4092382631, 4092513703, + 4092644779, 4092775859, 4092906941, 4093038017, 4093169089, 4093300201, 4093431313, + 4093562401, 4093693477, 4093824551, 4093955641, 4094086723, 4094217817, 4094348903, + 4094479979, 4094611061, 4094742137, 4094873231, 4095004339, 4095135431, 4095266521, + 4095397619, 4095528691, 4095659797, 4095790873, 4095921967, 4096053103, 4096184177, + 4096315261, 4096446353, 4096577453, 4096708529, 4096839601, 4096970681, 4097101769, + 4097232859, 4097363939, 4097495041, 4097626151, 4097757247, 4097888359, 4098019447, + 4098150521, 4098281609, 4098412697, 4098543781, 4098674869, 4098805979, 4098937057, + 4099068131, 4099199233, 4099330331, 4099461409, 4099592491, 4099723577, 4099854659, + 4099985759, 4100116841, 4100247913, 4100378987, 4100510093, 4100641169, 4100772241, + 4100903321, 4101034393, 4101165469, 4101296569, 4101427669, 4101558751, 4101689831, + 4101820913, 4101951989, 4102083077, 4102214167, 4102345253, 4102476331, 4102607417, + 4102738511, 4102869583, 4103000683, 4103131777, 4103262871, 4103393953, 4103525077, + 4103656169, 4103787263, 4103918393, 4104049489, 4104180571, 4104311647, 4104442807, + 4104573883, 4104704969, 4104836069, 4104967193, 4105098271, 4105229351, 4105360423, + 4105491503, 4105622579, 4105753651, 4105884737, 4106015827, 4106146907, 4106278027, + 4106409113, 4106540227, 4106671337, 4106802409, 4106933497, 4107064573, 4107195661, + 4107326759, 4107457843, 4107588931, 4107720037, 4107851141, 4107982237, 4108113311, + 4108244389, 4108375477, 4108506559, 4108637651, 4108768733, 4108899863, 4109030957, + 4109162041, 4109293129, 4109424211, 4109555293, 4109686393, 4109817539, 4109948621, + 4110079693, 4110210781, 4110341867, 4110472943, 4110604021, 4110735121, 4110866209, + 4110997313, 4111128403, 4111259483, 4111390559, 4111521641, 4111652737, 4111783811, + 4111914883, 4112045983, 4112177071, 4112308181, 4112439271, 4112570383, 4112701471, + 4112832551, 4112963627, 4113094709, 4113225799, 4113356879, 4113487967, 4113619039, + 4113750119, 4113881203, 4114012313, 4114143409, 4114274543, 4114405627, 4114536703, + 4114667779, 4114798861, 4114929937, 4115061011, 4115192087, 4115323169, 4115454263, + 4115585347, 4115716441, 4115847517, 4115978597, 4116109709, 4116240781, 4116371863, + 4116502937, 4116634021, 4116765113, 4116896209, 4117027283, 4117158361, 4117289437, + 4117420511, 4117551601, 4117682713, 4117813789, 4117944931, 4118076143, 4118207221, + 4118338309, 4118469391, 4118600467, 4118731543, 4118862623, 4118993737, 4119124879, + 4119255977, 4119387049, 4119518131, 4119649207, 4119780283, 4119911401, 4120042477, + 4120173557, 4120304651, 4120435727, 4120566847, 4120697923, 4120829021, 4120960097, + 4121091173, 4121222267, 4121353391, 4121484469, 4121615573, 4121746649, 4121877731, + 4122008953, 4122140039, 4122271123, 4122402209, 4122533323, 4122664421, 4122795497, + 4122926569, 4123057681, 4123188779, 4123319881, 4123450967, 4123582061, 4123713151, + 4123844239, 4123975313, 4124106397, 4124237471, 4124368543, 4124499619, 4124630737, + 4124761819, 4124892917, 4125023993, 4125155117, 4125286201, 4125417281, 4125548363, + 4125679451, 4125810583, 4125941681, 4126072763, 4126203857, 4126334969, 4126466053, + 4126597129, 4126728233, 4126859311, 4126990393, 4127121491, 4127252603, 4127383691, + 4127514763, 4127645869, 4127776969, 4127908087, 4128039197, 4128170279, 4128301469, + 4128432589, 4128563689, 4128694763, 4128825859, 4128956969, 4129088071, 4129219147, + 4129350227, 4129481309, 4129612397, 4129743487, 4129874563, 4130005643, 4130136719, + 4130267807, 4130398879, 4130529959, 4130661043, 4130792117, 4130923217, 4131054299, + 4131185381, 4131316457, 4131447547, 4131578719, 4131709807, 4131840899, 4131971981, + 4132103069, 4132234147, 4132365269, 4132496341, 4132627439, 4132758523, 4132889627, + 4133020699, 4133151791, 4133282869, 4133413943, 4133545033, 4133676139, 4133807231, + 4133938363, 4134069437, 4134200533, 4134331613, 4134462707, 4134593779, 4134724861, + 4134855947, 4134987023, 4135118107, 4135249187, 4135380299, 4135511381, 4135642457, + 4135773569, 4135904677, 4136035751, 4136166823, 4136297903, 4136428979, 4136560081, + 4136691157, 4136822231, 4136953339, 4137084433, 4137215539, 4137346639, 4137477787, + 4137608861, 4137739993, 4137871069, 4138002149, 4138133267, 4138264379, 4138395461, + 4138526537, 4138657631, 4138788713, 4138919801, 4139050913, 4139182009, 4139313097, + 4139444191, 4139575367, 4139706443, 4139837521, 4139968601, 4140099683, 4140230867, + 4140361963, 4140493057, 4140624149, 4140755231, 4140886313, 4141017401, 4141148483, + 4141279573, 4141410661, 4141541737, 4141672817, 4141803931, 4141935089, 4142066171, + 4142197261, 4142328373, 4142459449, 4142590523, 4142721629, 4142852717, 4142983799, + 4143114889, 4143245999, 4143377093, 4143508169, 4143639259, 4143770339, 4143901481, + 4144032559, 4144163641, 4144294717, 4144425797, 4144556879, 4144687973, 4144819051, + 4144950133, 4145081233, 4145212343, 4145343457, 4145474533, 4145605621, 4145736701, + 4145867777, 4145998859, 4146129931, 4146261047, 4146392149, 4146523291, 4146654419, + 4146785491, 4146916591, 4147047691, 4147178767, 4147309871, 4147440967, 4147572041, + 4147703143, 4147834247, 4147965359, 4148096431, 4148227513, 4148358593, 4148489677, + 4148620757, 4148751833, 4148882909, 4149014027, 4149145123, 4149276233, 4149407363, + 4149538447, 4149669523, 4149800671, 4149931769, 4150062853, 4150193947, 4150325051, + 4150456127, 4150587227, 4150718323, 4150849397, 4150980469, 4151111551, 4151242633, + 4151373739, 4151504837, 4151635919, 4151767019, 4151898133, 4152029213, 4152160297, + 4152291371, 4152422447, 4152553519, 4152684607, 4152815699, 4152946783, 4153077857, + 4153208957, 4153340063, 4153471141, 4153602247, 4153733333, 4153864409, 4153995481, + 4154126593, 4154257669, 4154388751, 4154519827, 4154650939, 4154782033, 4154913107, + 4155044191, 4155175291, 4155306391, 4155437537, 4155568643, 4155699749, 4155830827, + 4155961907, 4156093009, 4156224109, 4156355201, 4156486273, 4156617359, 4156748459, + 4156879537, 4157010631, 4157141717, 4157272829, 4157403911, 4157534999, 4157666077, + 4157797169, 4157928259, 4158059333, 4158190409, 4158321491, 4158452587, 4158583687, + 4158714773, 4158845863, 4158976963, 4159108043, 4159239121, 4159370203, 4159501279, + 4159632457, 4159763533, 4159894649, 4160025733, 4160156821, 4160287897, 4160418973, + 4160550049, 4160681137, 4160812213, 4160943389, 4161074473, 4161205553, 4161336649, + 4161467729, 4161598811, 4161729889, 4161860977, 4161992053, 4162123127, 4162254227, + 4162385299, 4162516373, 4162647451, 4162778563, 4162909657, 4163040773, 4163171869, + 4163302943, 4163434031, 4163565127, 4163696213, 4163827303, 4163958413, 4164089537, + 4164220657, 4164351749, 4164482831, 4164613919, 4164745007, 4164876113, 4165007239, + 4165138339, 4165269421, 4165400501, 4165531577, 4165662661, 4165793767, 4165924877, + 4166056009, 4166187097, 4166318179, 4166449289, 4166580373, 4166711459, 4166842571, + 4166973667, 4167104779, 4167235867, 4167366947, 4167498029, 4167629161, 4167760271, + 4167891353, 4168022429, 4168153559, 4168284683, 4168415767, 4168546853, 4168677959, + 4168809049, 4168940123, 4169071217, 4169202337, 4169333423, 4169464511, 4169595607, + 4169726689, 4169857777, 4169988857, 4170119939, 4170251023, 4170382109, 4170513199, + 4170644279, 4170775373, 4170906451, 4171037561, 4171168633, 4171299731, 4171430807, + 4171561931, 4171693003, 4171824079, 4171955209, 4172086333, 4172217407, 4172348501, + 4172479573, 4172610647, 4172741731, 4172872813, 4173003941, 4173135047, 4173266129, + 4173397211, 4173528283, 4173659383, 4173790463, 4173921569, 4174052669, 4174183771, + 4174314871, 4174445963, 4174577063, 4174708151, 4174839247, 4174970321, 4175101459, + 4175232563, 4175363651, 4175494783, 4175625889, 4175756993, 4175888069, 4176019153, + 4176150233, 4176281323, 4176412447, 4176543521, 4176674629, 4176805709, 4176936793, + 4177067887, 4177198967, 4177330039, 4177461121, 4177592197, 4177723313, 4177854391, + 4177985477, 4178116573, 4178247653, 4178378753, 4178509831, 4178640979, 4178772053, + 4178903167, 4179034253, 4179165329, 4179296413, 4179427487, 4179558569, 4179689653, + 4179820739, 4179951833, 4180082923, 4180214011, 4180345093, 4180476169, 4180607261, + 4180738351, 4180869487, 4181000563, 4181131639, 4181262731, 4181393803, 4181524891, + 4181656009, 4181787089, 4181918189, 4182049337, 4182180437, 4182311519, 4182442619, + 4182573701, 4182704807, 4182835889, 4182966961, 4183098037, 4183229111, 4183360199, + 4183491271, 4183622347, 4183753433, 4183884533, 4184015609, 4184146721, 4184277803, + 4184408903, 4184539981, 4184671061, 4184802133, 4184933213, 4185064307, 4185195383, + 4185326459, 4185457543, 4185588637, 4185719723, 4185850829, 4185981937, 4186113037, + 4186244143, 4186375229, 4186506349, 4186637437, 4186768529, 4186899601, 4187030677, + 4187161757, 4187292833, 4187423917, 4187554993, 4187686073, 4187817173, 4187948269, + 4188079367, 4188210463, 4188341537, 4188472609, 4188603689, 4188734773, 4188865847, + 4188996953, 4189128029, 4189259147, 4189390243, 4189521331, 4189652429, 4189783511, + 4189914583, 4190045663, 4190176747, 4190307827, 4190438911, 4190570003, 4190701103, + 4190832181, 4190963261, 4191094343, 4191225449, 4191356531, 4191487621, 4191618701, + 4191749777, 4191880867, 4192011953, 4192143037, 4192274113, 4192405211, 4192536287, + 4192667387, 4192798459, 4192929547, 4193060629, 4193191711, 4193322797, 4193453897, + 4193584987, 4193716061, 4193847137, 4193978219, 4194109301, 4194240373, 4194371449, + 4194502541, 4194633647, 4194764731, 4194895807, 4195026911, 4195158031, 4195289123, + 4195420213, 4195551287, 4195682389, 4195813471, 4195944563, 4196075641, 4196206727, + 4196337839, 4196468911, 4196599993, 4196731073, 4196862151, 4196993279, 4197124363, + 4197255449, 4197386527, 4197517603, 4197648677, 4197779821, 4197910957, 4198042049, + 4198173131, 4198304213, 4198435289, 4198566391, 4198697533, 4198828609, 4198959719, + 4199090827, 4199221913, 4199352991, 4199484071, 4199615153, 4199746247, 4199877347, + 4200008419, 4200139529, 4200270601, 4200401693, 4200532769, 4200663847, 4200794959, + 4200926069, 4201057151, 4201188239, 4201319333, 4201450423, 4201581499, 4201712587, + 4201843693, 4201974769, 4202105861, 4202236981, 4202368067, 4202499143, 4202630251, + 4202761361, 4202892451, 4203023527, 4203154607, 4203285731, 4203416837, 4203547927, + 4203679001, 4203810077, 4203941167, 4204072253, 4204203331, 4204334429, 4204465523, + 4204596611, 4204727699, 4204858811, 4204989917, 4205120989, 4205252069, 4205383153, + 4205514233, 4205645341, 4205776423, 4205907509, 4206038597, 4206169687, 4206300779, + 4206431909, 4206562991, 4206694067, 4206825157, 4206956239, 4207087319, 4207218439, + 4207349563, 4207480679, 4207611761, 4207742873, 4207873973, 4208005063, 4208136193, + 4208267279, 4208398361, 4208529433, 4208660509, 4208791583, 4208922659, 4209053731, + 4209184813, 4209315899, 4209446971, 4209578129, 4209709241, 4209840367, 4209971501, + 4210102583, 4210233701, 4210364777, 4210495901, 4210626983, 4210758061, 4210889141, + 4211020243, 4211151331, 4211282431, 4211413513, 4211544593, 4211675669, 4211806751, + 4211937823, 4212068899, 4212199987, 4212331061, 4212462151, 4212593233, 4212724349, + 4212855443, 4212986539, 4213117663, 4213248757, 4213379831, 4213510907, 4213641983, + 4213773071, 4213904171, 4214035253, 4214166371, 4214297453, 4214428531, 4214559611, + 4214690699, 4214821823, 4214952899, 4215084001, 4215215077, 4215346151, 4215477239, + 4215608321, 4215739421, 4215870497, 4216001579, 4216132673, 4216263749, 4216394849, + 4216525939, 4216657019, 4216788101, 4216919183, 4217050289, 4217181373, 4217312459, + 4217443537, 4217574619, 4217705717, 4217836789, 4217967883, 4218098959, 4218230053, + 4218361129, 4218492203, 4218623293, 4218754373, 4218885467, 4219016539, 4219147637, + 4219278733, 4219409813, 4219540891, 4219671991, 4219803097, 4219934171, 4220065253, + 4220196347, 4220327429, 4220458549, 4220589623, 4220720729, 4220851801, 4220982889, + 4221114047, 4221245173, 4221376259, 4221507373, 4221638459, 4221769561, 4221900637, + 4222031711, 4222162799, 4222293871, 4222424959, 4222556053, 4222687151, 4222818253, + 4222949377, 4223080451, 4223211523, 4223342611, 4223473687, 4223604779, 4223735861, + 4223866949, 4223998073, 4224129149, 4224260221, 4224391309, 4224522409, 4224653491, + 4224784567, 4224915649, 4225046723, 4225177799, 4225308887, 4225440007, 4225571081, + 4225702153, 4225833229, 4225964321, 4226095403, 4226226479, 4226357579, 4226488663, + 4226619809, 4226750897, 4226881993, 4227013073, 4227144167, 4227275243, 4227406319, + 4227537397, 4227668503, 4227799613, 4227930709, 4228061809, 4228192883, 4228323977, + 4228455061, 4228586161, 4228717237, 4228848331, 4228979407, 4229110493, 4229241581, + 4229372657, 4229503757, 4229634853, 4229765933, 4229897011, 4230028087, 4230159161, + 4230290243, 4230421331, 4230552419, 4230683497, 4230814571, 4230945673, 4231076753, + 4231207861, 4231338967, 4231470041, 4231601113, 4231732187, 4231863269, 4231994381, + 4232125477, 4232256551, 4232387641, 4232518751, 4232649829, 4232780939, 4232912027, + 4233043141, 4233174227, 4233305299, 4233436399, 4233567493, 4233698591, 4233829667, + 4233960743, 4234091819, 4234222913, 4234354021, 4234485097, 4234616249, 4234747339, + 4234878413, 4235009497, 4235140607, 4235271749, 4235402887, 4235533997, 4235665097, + 4235796203, 4235927299, 4236058397, 4236189481, 4236320603, 4236451759, 4236582887, + 4236713969, 4236845143, 4236976223, 4237107337, 4237238419, 4237369501, 4237500583, + 4237631659, 4237762751, 4237893823, 4238024909, 4238156011, 4238287091, 4238418203, + 4238549299, 4238680399, 4238811491, 4238942567, 4239073661, 4239204743, 4239335831, + 4239466939, 4239598039, 4239729121, 4239860213, 4239991333, 4240122413, 4240253489, + 4240384609, 4240515689, 4240646777, 4240777867, 4240908943, 4241040053, 4241171131, + 4241302207, 4241433281, 4241564381, 4241695457, 4241826559, 4241957639, 4242088733, + 4242219809, 4242350911, 4242482021, 4242613099, 4242744263, 4242875353, 4243006441, + 4243137527, 4243268633, 4243399709, 4243530793, 4243661869, 4243792961, 4243924033, + 4244055121, 4244186213, 4244317289, 4244448367, 4244579441, 4244710529, 4244841637, + 4244972717, 4245103801, 4245234901, 4245365981, 4245497063, 4245628151, 4245759233, + 4245890317, 4246021411, 4246152517, 4246283623, 4246414699, 4246545773, 4246676867, + 4246807973, 4246939051, 4247070181, 4247201263, 4247332337, 4247463421, 4247594503, + 4247725577, 4247856653, 4247987741, 4248118817, 4248249893, 4248380987, 4248512083, + 4248643171, 4248774289, 4248905371, 4249036459, 4249167541, 4249298617, 4249429739, + 4249560853, 4249691959, 4249823051, 4249954127, 4250085209, 4250216303, 4250347379, + 4250478451, 4250609533, 4250740621, 4250871727, 4251002803, 4251133919, 4251265027, + 4251396101, 4251527179, 4251658267, 4251789349, 4251920423, 4252051501, 4252182589, + 4252313687, 4252444811, 4252575907, 4252706981, 4252838089, 4252969163, 4253100251, + 4253231329, 4253362411, 4253493499, 4253624593, 4253755669, 4253886773, 4254017869, + 4254149017, 4254280109, 4254411181, 4254542287, 4254673411, 4254804487, 4254935579, + 4255066657, 4255197743, 4255328821, 4255459919, 4255591013, 4255722101, 4255853179, + 4255984259, 4256115373, 4256246447, 4256377523, 4256508617, 4256639689, 4256770789, + 4256902007, 4257033103, 4257164207, 4257295283, 4257426361, 4257557461, 4257688579, + 4257819691, 4257950783, 4258081871, 4258212947, 4258344053, 4258475153, 4258606243, + 4258737361, 4258868437, 4258999529, 4259130653, 4259261731, 4259392807, 4259523881, + 4259654953, 4259786057, 4259917133, 4260048229, 4260179303, 4260310387, 4260441461, + 4260572543, 4260703639, 4260834731, 4260965827, 4261096927, 4261228019, 4261359097, + 4261490179, 4261621279, 4261752353, 4261883473, 4262014591, 4262145673, 4262276747, + 4262407819, 4262538913, 4262670031, 4262801111, 4262932183, 4263063281, 4263194393, + 4263325511, 4263456599, 4263587677, 4263718757, 4263849829, 4263980927, 4264112009, + 4264243091, 4264374181, 4264505257, 4264636339, 4264767439, 4264898513, 4265029589, + 4265160661, 4265291791, 4265422873, 4265553977, 4265685089, 4265816189, 4265947261, + 4266078353, 4266209443, 4266340517, 4266471631, 4266602723, 4266733813, 4266864949, + 4266996037, 4267127119, 4267258223, 4267389331, 4267520437, 4267651519, 4267782613, + 4267913687, 4268044771, 4268175881, 4268306963, 4268438087, 4268569177, 4268700283, + 4268831381, 4268962469, 4269093551, 4269224689, 4269355771, 4269486901, 4269617977, + 4269749063, 4269880169, 4270011253, 4270142339, 4270273429, 4270404623, 4270535707, + 4270666823, 4270797901, 4270928983, 4271060069, 4271191151, 4271322343, 4271453423, + 4271584511, 4271715611, 4271846713, 4271977807, 4272108881, 4272239957, 4272371053, + 4272502183, 4272633257, 4272764333, 4272895411, 4273026509, 4273157593, 4273288681, + 4273419763, 4273550843, 4273681931, 4273813067, 4273944197, 4274075279, 4274206361, + 4274337433, 4274468531, 4274599639, 4274730739, 4274861849, 4274992949, 4275124081, + 4275255161, 4275386237, 4275517327, 4275648409, 4275779483, 4275910607, 4276041689, + 4276172779, 4276303853, 4276434947, 4276566023, 4276697107, 4276828243, 4276959317, + 4277090393, 4277221469, 4277352553, 4277483641, 4277614729, 4277745803, 4277876963, + 4278008039, 4278139153, 4278270247, 4278401321, 4278532393, 4278663497, 4278794599, + 4278925741, 4279056829, 4279187903, 4279318997, 4279450121, 4279581197, 4279712287, + 4279843441, 4279974551, 4280105651, 4280236747, 4280367853, 4280498939, 4280630033, + 4280761129, 4280892271, 4281023377, 4281154453, 4281285529, 4281416609, 4281547691, + 4281678787, 4281809863, 4281940961, 4282072051, 4282203157, 4282334239, 4282465367, + 4282596443, 4282727521, 4282858607, 4282989703, 4283120813, 4283251891, 4283382977, + 4283514061, 4283645147, 4283776249, 4283907337, 4284038411, 4284169489, 4284300569, + 4284431707, 4284562781, 4284693877, 4284824969, 4284956047, 4285087123, 4285218199, + 4285349293, 4285480379, 4285611527, 4285742603, 4285873679, 4286004761, 4286135851, + 4286266927, 4286398001, 4286529077, 4286660219, 4286791307, 4286922407, 4287053483, + 4287184591, 4287315671, 4287446771, 4287577843, 4287708917, 4287840049, 4287971141, + 4288102237, 4288233311, 4288364387, 4288495459, 4288626539, 4288757611, 4288888687, + 4289019773, 4289150851, 4289281933, 4289413027, 4289544143, 4289675233, 4289806309, + 4289937389, 4290068521, 4290199597, 4290330677, 4290461759, 4290592837, 4290723929, + 4290855011, 4290986101, 4291117183, 4291248257, 4291379329, 4291510403, 4291641509, + 4291772581, 4291903663, 4292034737, 4292165879, 4292296963, 4292428037, 4292559163, + 4292690239, 4292821333, 4292952407, 4293083503, 4293214589, 4293345677, 4293476749, + 4293607841, 4293738937, 4293870011, 4294001149, 4294132229, 4294263373, 4294394509, + 4294525637, 4294656731, 4294787813, 4294918949, 4295050069, 4295181169, 4295312243, + 4295443367, 4295574457, 4295705543, 4295836631, 4295967703, 4296098783, 4296229871, + 4296360947, 4296492043, 4296623137, 4296754213, 4296885289, 4297016369, 4297147487, + 4297278571, 4297409671, 4297540763, 4297671863, 4297802941, 4297934041, 4298065117, + 4298196191, 4298327263, 4298458363, 4298589437, 4298720537, 4298851621, 4298982719, + 4299113801, 4299244891, 4299375991, 4299507067, 4299638141, 4299769237, 4299900329, + 4300031431, 4300162513, 4300293589, 4300424677, 4300555771, 4300686847, 4300817957, + 4300949033, 4301080123, 4301211221, 4301342317, 4301473453, 4301604529, 4301735617, + 4301866697, 4301997773, 4302128921, 4302259993, 4302391073, 4302522151, 4302653231, + 4302784313, 4302915433, 4303046509, 4303177597, 4303308701, 4303439801, 4303570891, + 4303701977, 4303833091, 4303964167, 4304095261, 4304226359, 4304357437, 4304488541, + 4304619637, 4304750731, 4304881811, 4305012919, 4305144007, 4305275099, 4305406199, + 4305537277, 4305668383, 4305799471, 4305930571, 4306061671, 4306192757, 4306323859, + 4306454939, 4306586021, 4306717109, 4306848229, 4306979309, 4307110397, 4307241469, + 4307372551, 4307503631, 4307634703, 4307765801, 4307896889, 4308027961, 4308159059, + 4308290159, 4308421267, 4308552341, 4308683429, 4308814501, 4308945577, 4309076669, + 4309207741, 4309338827, 4309469939, 4309601039, 4309732123, 4309863197, 4309994281, + 4310125363, 4310256469, 4310387567, 4310518643, 4310649743, 4310780843, 4310911951, + 4311043069, 4311174167, 4311305261, 4311436417, 4311567493, 4311698639, 4311829723, + 4311960799, 4312091881, 4312222961, 4312354037, 4312485109, 4312616197, 4312747291, + 4312878377, 4313009471, 4313140561, 4313271659, 4313402749, 4313533831, 4313664907, + 4313796029, 4313927113, 4314058201, 4314189283, 4314320377, 4314451459, 4314582533, + 4314713609, 4314844687, 4314975793, 4315106897, 4315237973, 4315369087, 4315500169, + 4315631249, 4315762327, 4315893497, 4316024593, 4316155667, 4316286787, 4316417863, + 4316548939, 4316680031, 4316811131, 4316942249, 4317073333, 4317204421, 4317335501, + 4317466639, 4317597727, 4317728803, 4317859891, 4317990967, 4318122059, 4318253131, + 4318384207, 4318515293, 4318646377, 4318777457, 4318908551, 4319039651, 4319170729, + 4319301841, 4319432939, 4319564027, 4319695117, 4319826193, 4319957321, 4320088393, + 4320219499, 4320350599, 4320481691, 4320612833, 4320743909, 4320874997, 4321006091, + 4321137169, 4321268251, 4321399331, 4321530419, 4321661501, 4321792577, 4321923677, + 4322054753, 4322185841, 4322316937, 4322448049, 4322579123, 4322710219, 4322841301, + 4322972387, 4323103493, 4323234581, 4323365653, 4323496769, 4323627863, 4323758947, + 4323890027, 4324021109, 4324152227, 4324283323, 4324414397, 4324545469, 4324676549, + 4324807621, 4324938767, 4325069843, 4325200937, 4325332043, 4325463127, 4325594213, + 4325725297, 4325856371, 4325987461, 4326118547, 4326249619, 4326380701, 4326511789, + 4326642883, 4326773963, 4326905119, 4327036199, 4327167289, 4327298363, 4327429451, + 4327560533, 4327691611, 4327822703, 4327953793, 4328084867, 4328215961, 4328347087, + 4328478173, 4328609249, 4328740321, 4328871401, 4329002567, 4329133687, 4329264763, + 4329395881, 4329526961, 4329658057, 4329789161, 4329920233, 4330051321, 4330182397, + 4330313473, 4330444579, 4330575671, 4330706747, 4330837859, 4330968989, 4331100061, + 4331231141, 4331362219, 4331493293, 4331624383, 4331755459, 4331886593, 4332017687, + 4332148771, 4332279901, 4332410981, 4332542057, 4332673133, 4332804253, 4332935329, + 4333066453, 4333197527, 4333328599, 4333459673, 4333590823, 4333721921, 4333853011, + 4333984103, 4334115217, 4334246291, 4334377429, 4334508509, 4334639627, 4334770709, + 4334901787, 4335032873, 4335163961, 4335295061, 4335426133, 4335557221, 4335688309, + 4335819403, 4335950539, 4336081619, 4336212707, 4336343807, 4336474889, 4336605983, + 4336737059, 4336868203, 4336999283, 4337130373, 4337261449, 4337392567, 4337523719, + 4337654791, 4337785873, 4337916953, 4338048031, 4338179143, 4338310237, 4338441337, + 4338572411, 4338703547, 4338834629, 4338965711, 4339096793, 4339227869, 4339358981, + 4339490053, 4339621141, 4339752239, 4339883351, 4340014433, 4340145521, 4340276593, + 4340407667, 4340538767, 4340669849, 4340800943, 4340932051, 4341063131, 4341194219, + 4341325297, 4341456391, 4341587491, 4341718571, 4341849667, 4341980767, 4342111841, + 4342242917, 4342373989, 4342505071, 4342636153, 4342767229, 4342898311, 4343029409, + 4343160487, 4343291599, 4343422687, 4343553761, 4343684833, 4343815909, 4343947019, + 4344078107, 4344209197, 4344340307, 4344471421, 4344602527, 4344733637, 4344864739, + 4344995819, 4345126913, 4345257989, 4345389067, 4345520149, 4345651223, 4345782323, + 4345913399, 4346044481, 4346175557, 4346306659, 4346437793, 4346568893, 4346699989, + 4346831107, 4346962189, 4347093271, 4347224347, 4347355429, 4347486503, 4347617579, + 4347748697, 4347879779, 4348010851, 4348141951, 4348273043, 4348404209, 4348535287, + 4348666367, 4348797449, 4348928561, 4349059633, 4349190709, 4349321783, 4349452859, + 4349583941, 4349715043, 4349846129, 4349977201, 4350108293, 4350239371, 4350370457, + 4350501559, 4350632653, 4350763741, 4350894817, 4351025971, 4351157047, 4351288141, + 4351419217, 4351550303, 4351681381, 4351812467, 4351943581, 4352074663, 4352205743, + 4352336881, 4352467963, 4352599039, 4352730127, 4352861269, 4352992361, 4353123443, + 4353254519, 4353385591, 4353516667, 4353647743, 4353778867, 4353909943, 4354041019, + 4354172111, 4354303189, 4354434299, 4354565417, 4354696517, 4354827643, 4354958747, + 4355089841, 4355220923, 4355351999, 4355483071, 4355614187, 4355745281, 4355876363, + 4356007441, 4356138559, 4356269653, 4356400729, 4356531833, 4356662909, 4356793997, + 4356925091, 4357056167, 4357187257, 4357318333, 4357449443, 4357580551, 4357711637, + 4357842733, 4357973827, 4358104909, 4358236007, 4358367131, 4358498237, 4358629309, + 4358760391, 4358891473, 4359022553, 4359153671, 4359284837, 4359415909, 4359547013, + 4359678131, 4359809213, 4359940313, 4360071389, 4360202501, 4360333573, 4360464659, + 4360595747, 4360726849, 4360857923, 4360989001, 4361120111, 4361251189, 4361382367, + 4361513501, 4361644577, 4361775661, 4361906743, 4362037817, 4362168901, 4362299983, + 4362431063, 4362562153, 4362693259, 4362824357, 4362955447, 4363086523, 4363217597, + 4363348681, 4363479761, 4363610837, 4363741957, 4363873039, 4364004119, 4364135201, + 4364266327, 4364397409, 4364528501, 4364659589, 4364790679, 4364921789, 4365052871, + 4365183967, 4365315043, 4365446117, 4365577217, 4365708289, 4365839389, 4365970517, + 4366101601, 4366232683, 4366363777, 4366494877, 4366625951, 4366757051, 4366888159, + 4367019253, 4367150351, 4367281439, 4367412521, 4367543611, 4367674687, 4367805769, + 4367936851, 4368067939, 4368199027, 4368330103, 4368461213, 4368592297, 4368723383, + 4368854467, 4368985573, 4369116659, 4369247731, 4369378813, 4369509901, 4369640981, + 4369772063, 4369903163, 4370034283, 4370165363, 4370296459, 4370427553, 4370558627, + 4370689699, 4370820787, 4370951861, 4371083053, 4371214153, 4371345227, 4371476323, + 4371607397, 4371738509, 4371869591, 4372000669, 4372131749, 4372262849, 4372393939, + 4372525013, 4372656097, 4372787173, 4372918259, 4373049337, 4373180411, 4373311511, + 4373442611, 4373573683, 4373704799, 4373835877, 4373966957, 4374098039, 4374229121, + 4374360281, 4374491383, 4374622457, 4374753541, 4374884617, 4375015691, 4375146781, + 4375277857, 4375408963, 4375540063, 4375671163, 4375802293, 4375933381, 4376064461, + 4376195581, 4376326657, 4376457763, 4376588903, 4376720011, 4376851109, 4376982221, + 4377113311, 4377244387, 4377375461, 4377506537, 4377637613, 4377768737, 4377899809, + 4378030903, 4378161979, 4378293053, 4378424143, 4378555229, 4378686313, 4378817411, + 4378948507, 4379079581, 4379210669, 4379341753, 4379472863, 4379603953, 4379735027, + 4379866109, 4379997187, 4380128281, 4380259381, 4380390479, 4380521591, 4380652691, + 4380783767, 4380914851, 4381046027, 4381177121, 4381308209, 4381439329, 4381570409, + 4381701487, 4381832563, 4381963637, 4382094737, 4382225819, 4382356903, 4382487983, + 4382619067, 4382750173, 4382881301, 4383012377, 4383143449, 4383274537, 4383405623, + 4383536701, 4383667777, 4383798869, 4383930071, 4384061147, 4384192231, 4384323313, + 4384454413, 4384585523, 4384716599, 4384847671, 4384978747, 4385109847, 4385240939, + 4385372011, 4385503093, 4385634173, 4385765249, 4385896363, 4386027449, 4386158533, + 4386289613, 4386420691, 4386551809, 4386682903, 4386813979, 4386945053, 4387076129, + 4387207213, 4387338323, 4387469413, 4387600493, 4387731583, 4387862657, 4387993747, + 4388124833, 4388255923, 4388387023, 4388518111, 4388649193, 4388780269, 4388911343, + 4389042433, 4389173549, 4389304631, 4389435707, 4389566809, 4389697883, 4389828983, + 4389960061, 4390091143, 4390222223, 4390353301, 4390484387, 4390615459, 4390746551, + 4390877651, 4391008747, 4391139869, 4391270941, 4391402021, 4391533093, 4391664169, + 4391795341, 4391926417, 4392057497, 4392188569, 4392319643, 4392450721, 4392581803, + 4392712879, 4392843967, 4392975061, 4393106161, 4393237259, 4393368337, 4393499413, + 4393630489, 4393761569, 4393892651, 4394023747, 4394154841, 4394285927, 4394417011, + 4394548087, 4394679173, 4394810269, 4394941391, 4395072463, 4395203581, 4395334693, + 4395465793, 4395596897, 4395727979, 4395859067, 4395990167, 4396121291, 4396252363, + 4396383469, 4396514569, 4396645667, 4396776749, 4396907831, 4397038903, 4397170049, + 4397301163, 4397432293, 4397563369, 4397694463, 4397825543, 4397956637, 4398087737, + 4398218809, 4398349883, 4398480959, 4398612067, 4398743177, 4398874261, 4399005349, + 4399136431, 4399267507, 4399398581, 4399529689, 4399660801, 4399791883, 4399922981, + 4400054059, 4400185159, 4400316241, 4400447321, 4400578397, 4400709493, 4400840581, + 4400971661, 4401102733, 4401233827, 4401364901, 4401495991, 4401627067, 4401758171, + 4401889279, 4402020373, 4402151461, 4402282559, 4402413649, 4402544767, 4402675891, + 4402806983, 4402938073, 4403069149, 4403200223, 4403331323, 4403462461, 4403593549, + 4403724629, 4403855713, 4403986789, 4404117929, 4404249029, 4404380107, 4404511207, + 4404642317, 4404773411, 4404904487, 4405035589, 4405166669, 4405297747, 4405428857, + 4405559933, 4405691071, 4405822147, 4405953221, 4406084317, 4406215423, 4406346499, + 4406477627, 4406608747, 4406739829, 4406870921, 4407001997, 4407133117, 4407264217, + 4407395303, 4407526411, 4407657491, 4407788597, 4407919673, 4408050799, 4408181891, + 4408312967, 4408444081, 4408575179, 4408706273, 4408837361, 4408968439, 4409099537, + 4409230681, 4409361821, 4409492897, 4409623969, 4409755081, 4409886161, 4410017257, + 4410148331, 4410279413, 4410410497, 4410541613, 4410672691, 4410803767, 4410934841, + 4411065913, 4411197029, 4411328101, 4411459177, 4411590251, 4411721351, 4411852441, + 4411983551, 4412114657, 4412245729, 4412376851, 4412507941, 4412639027, 4412770127, + 4412901209, 4413032293, 4413163393, 4413294481, 4413425591, 4413556663, 4413687767, + 4413818863, 4413950003, 4414081079, 4414212161, 4414343237, 4414474331, 4414605467, + 4414736561, 4414867643, 4414998781, 4415129879, 4415260957, 4415392039, 4415523113, + 4415654197, 4415785277, 4415916359, 4416047437, 4416178567, 4416309647, 4416440719, + 4416571799, 4416702877, 4416833999, 4416965071, 4417096147, 4417227253, 4417358347, + 4417489469, 4417620541, 4417751621, 4417882697, 4418013773, 4418144869, 4418275957, + 4418407033, 4418538109, 4418669191, 4418800291, 4418931383, 4419062489, 4419193577, + 4419324649, 4419455743, 4419586817, 4419717899, 4419848977, 4419980057, 4420111147, + 4420242221, 4420373311, 4420504409, 4420635481, 4420766579, 4420897667, 4421028749, + 4421159833, 4421290927, 4421422009, 4421553091, 4421684177, 4421815271, 4421946343, + 4422077437, 4422208529, 4422339611, 4422470683, 4422601811, 4422732883, 4422864001, + 4422995099, 4423126193, 4423257269, 4423388351, 4423519427, 4423650523, 4423781603, + 4423912693, 4424043791, 4424174891, 4424305993, 4424437133, 4424568227, 4424699371, + 4424830483, 4424961557, 4425092681, 4425223757, 4425354839, 4425485923, 4425617011, + 4425748097, 4425879223, 4426010297, 4426141373, 4426272449, 4426403537, 4426534691, + 4426665781, 4426796863, 4426927963, 4427059069, 4427190143, 4427321243, 4427452319, + 4427583403, 4427714527, 4427845601, 4427976677, 4428107753, 4428238879, 4428369961, + 4428501059, 4428632183, 4428763259, 4428894373, 4429025477, 4429156549, 4429287631, + 4429418717, 4429549799, 4429680901, 4429812001, 4429943143, 4430074223, 4430205331, + 4430336447, 4430467577, 4430598659, 4430729747, 4430860831, 4430991923, 4431123017, + 4431254101, 4431385213, 4431516311, 4431647411, 4431778487, 4431909577, 4432040651, + 4432171741, 4432302817, 4432433903, 4432565017, 4432696123, 4432827199, 4432958287, + 4433089363, 4433220443, 4433351599, 4433482687, 4433613781, 4433744933, 4433876009, + 4434007087, 4434138179, 4434269251, 4434400337, 4434531427, 4434662503, 4434793589, + 4434924667, 4435055767, 4435186871, 4435317961, 4435449043, 4435580117, 4435711199, + 4435842287, 4435973359, 4436104441, 4436235523, 4436366621, 4436497711, 4436628799, + 4436759879, 4436890957, 4437022081, 4437153157, 4437284279, 4437415357, 4437546467, + 4437677551, 4437808649, 4437939721, 4438070803, 4438201891, 4438332971, 4438464047, + 4438595123, 4438726199, 4438857287, 4438988479, 4439119571, 4439250659, 4439381747, + 4439512823, 4439643899, 4439774971, 4439906071, 4440037159, 4440168241, 4440299323, + 4440430399, 4440561523, 4440692611, 4440823711, 4440954803, 4441085879, 4441216951, + 4441348099, 4441479173, 4441610269, 4441741399, 4441872481, 4442003557, 4442134637, + 4442265757, 4442396867, 4442527961, 4442659037, 4442790127, 4442921213, 4443052309, + 4443183413, 4443314507, 4443445579, 4443576667, 4443707761, 4443838849, 4443969953, + 4444101047, 4444232147, 4444363237, 4444494311, 4444625411, 4444756487, 4444887581, + 4445018741, 4445149837, 4445280971, 4445412061, 4445543149, 4445674223, 4445805349, + 4445936423, 4446067537, 4446198611, 4446329687, 4446460787, 4446591871, 4446722947, + 4446854023, 4446985097, 4447116187, 4447247261, 4447378339, 4447509413, 4447640507, + 4447771583, 4447902713, 4448033797, 4448164873, 4448295947, 4448427019, 4448558117, + 4448689199, 4448820307, 4448951389, 4449082481, 4449213619, 4449344707, 4449475781, + 4449606853, 4449737959, 4449869033, 4450000109, 4450131197, 4450262287, 4450393361, + 4450524523, 4450655603, 4450786723, 4450917817, 4451048893, 4451179969, 4451311061, + 4451442137, 4451573219, 4451704297, 4451835371, 4451966473, 4452097567, 4452228653, + 4452359759, 4452490877, 4452621949, 4452753031, 4452884123, 4453015201, 4453146283, + 4453277357, 4453408457, 4453539533, 4453670609, 4453801691, 4453932767, 4454063879, + 4454194951, 4454326031, 4454457149, 4454588263, 4454719349, 4454850467, 4454981543, + 4455112661, 4455243733, 4455374831, 4455505981, 4455637093, 4455768169, 4455899243, + 4456030333, 4456161439, 4456292513, 4456423603, 4456554691, 4456685777, 4456816853, + 4456947931, 4457079007, 4457210113, 4457341219, 4457472319, 4457603401, 4457734483, + 4457865571, 4457996651, 4458127741, 4458258839, 4458389921, 4458521009, 4458652087, + 4458783193, 4458914269, 4459045369, 4459176473, 4459307609, 4459438769, 4459569847, + 4459700929, 4459832009, 4459963093, 4460094167, 4460225279, 4460356363, 4460487439, + 4460618521, 4460749613, 4460880689, 4461011761, 4461142837, 4461273923, 4461405019, + 4461536111, 4461667207, 4461798307, 4461929383, 4462060457, 4462191551, 4462322647, + 4462453739, 4462584851, 4462715969, 4462847069, 4462978183, 4463109271, 4463240351, + 4463371459, 4463502551, 4463633641, 4463764717, 4463895859, 4464026951, 4464158057, + 4464289169, 4464420241, 4464551389, 4464682463, 4464813623, 4464944741, 4465075831, + 4465206997, 4465338103, 4465469189, 4465600291, 4465731379, 4465862503, 4465993603, + 4466124679, 4466255771, 4466386843, 4466517917, 4466648999, 4466780077, 4466911159, + 4467042233, 4467173341, 4467304433, 4467435527, 4467566603, 4467697691, 4467828787, + 4467959861, 4468090961, 4468222049, 4468353133, 4468484233, 4468615313, 4468746389, + 4468877473, 4469008549, 4469139671, 4469270759, 4469401873, 4469532979, 4469664053, + 4469795173, 4469926267, 4470057373, 4470188473, 4470319573, 4470450653, 4470581729, + 4470712823, 4470843907, 4470975043, 4471106141, 4471237217, 4471368289, 4471499407, + 4471630483, 4471761599, 4471892671, 4472023753, 4472154839, 4472285927, 4472417003, + 4472548079, 4472679191, 4472810269, 4472941367, 4473072479, 4473203561, 4473334633, + 4473465709, 4473596783, 4473727883, 4473858967, 4473990041, 4474121137, 4474252229, + 4474383301, 4474514381, 4474645457, 4474776529, 4474907609, 4475038693, 4475169767, + 4475300861, 4475431943, 4475563019, 4475694109, 4475825191, 4475956279, 4476087353, + 4476218441, 4476349523, 4476480599, 4476611687, 4476742763, 4476873839, 4477004951, + 4477136023, 4477267133, 4477398217, 4477529321, 4477660417, 4477791491, 4477922573, + 4478053663, 4478184749, 4478315843, 4478446957, 4478578033, 4478709113, 4478840221, + 4478971297, 4479102373, 4479233453, 4479364531, 4479495611, 4479626707, 4479757787, + 4479888877, 4480020031, 4480151119, 4480282211, 4480413299, 4480544381, 4480675457, + 4480806601, 4480937677, 4481068769, 4481199841, 4481330921, 4481462009, 4481593111, + 4481724187, 4481855267, 4481986339, 4482117421, 4482248501, 4482379591, 4482510667, + 4482641749, 4482772873, 4482903949, 4483035071, 4483166189, 4483297267, 4483428353, + 4483559429, 4483690511, 4483821611, 4483952713, 4484083787, 4484214877, 4484345959, + 4484477069, 4484608151, 4484739227, 4484870311, 4485001399, 4485132481, 4485263579, + 4485394673, 4485525763, 4485656849, 4485787921, 4485919001, 4486050077, 4486181179, + 4486312297, 4486443371, 4486574473, 4486705577, 4486836667, 4486967747, 4487098823, + 4487229907, 4487360993, 4487492071, 4487623169, 4487754241, 4487885317, 4488016397, + 4488147493, 4488278567, 4488409697, 4488540769, 4488671861, 4488802949, 4488934061, + 4489065167, 4489196249, 4489327321, 4489458397, 4489589471, 4489720549, 4489851629, + 4489982711, 4490113861, 4490244991, 4490376083, 4490507191, 4490638279, 4490769359, + 4490900503, 4491031591, 4491162667, 4491293773, 4491424849, 4491555973, 4491687047, + 4491818131, 4491949309, 4492080401, 4492211483, 4492342597, 4492473697, 4492604771, + 4492735859, 4492866949, 4492998049, 4493129167, 4493260273, 4493391373, 4493522521, + 4493653603, 4493784679, 4493915761, 4494046841, 4494177917, 4494308993, 4494440081, + 4494571157, 4494702239, 4494833311, 4494964423, 4495095529, 4495226611, 4495357721, + 4495488797, 4495619881, 4495750957, 4495882037, 4496013121, 4496144201, 4496275279, + 4496406359, 4496537449, 4496668523, 4496799607, 4496930693, 4497061817, 4497192899, + 4497323981, 4497455063, 4497586141, 4497717223, 4497848309, 4497979411, 4498110493, + 4498241641, 4498372741, 4498503827, 4498634951, 4498766023, 4498897127, 4499028199, + 4499159279, 4499290373, 4499421461, 4499552539, 4499683663, 4499814757, 4499945831, + 4500076927, 4500208001, 4500339073, 4500470147, 4500601249, 4500732347, 4500863429, + 4500994517, 4501125611, 4501256701, 4501387783, 4501518869, 4501649941, 4501781021, + 4501912097, 4502043187, 4502174267, 4502305363, 4502436467, 4502567551, 4502698631, + 4502829707, 4502960789, 4503091883, 4503223001, 4503354139, 4503485219, 4503616291, + 4503747371, 4503878443, 4504009547, 4504140637, 4504271731, 4504402813, 4504533893, + 4504664971, 4504796063, 4504927187, 4505058281, 4505189357, 4505320441, 4505451553, + 4505582647, 4505713781, 4505844859, 4505975933, 4506107033, 4506238147, 4506369223, + 4506500303, 4506631403, 4506762503, 4506893627, 4507024699, 4507155781, 4507286869, + 4507417979, 4507549051, 4507680193, 4507811281, 4507942357, 4508073433, 4508204507, + 4508335603, 4508466719, 4508597813, 4508728897, 4508859973, 4508991103, 4509122221, + 4509253313, 4509384389, 4509515473, 4509646549, 4509777653, 4509908749, 4510039829, + 4510170937, 4510302019, 4510433093, 4510564243, 4510695367, 4510826459, 4510957543, + 4511088643, 4511219731, 4511350813, 4511481899, 4511612977, 4511744057, 4511875133, + 4512006269, 4512137363, 4512268459, 4512399553, 4512530651, 4512661729, 4512792811, + 4512923903, 4513054999, 4513186087, 4513317167, 4513448243, 4513579321, 4513710403, + 4513841483, 4513972591, 4514103677, 4514234761, 4514365841, 4514496941, 4514628031, + 4514759107, 4514890187, 4515021263, 4515152359, 4515283447, 4515414539, 4515545611, + 4515676699, 4515807827, 4515938927, 4516070011, 4516201091, 4516332169, 4516463243, + 4516594343, 4516725431, 4516856543, 4516987627, 4517118713, 4517249903, 4517381059, + 4517512171, 4517643259, 4517774353, 4517905429, 4518036521, 4518167593, 4518298693, + 4518429911, 4518561001, 4518692093, 4518823189, 4518954269, 4519085359, 4519216477, + 4519347563, 4519478657, 4519609751, 4519740913, 4519872001, 4520003077, 4520134169, + 4520265257, 4520396351, 4520527523, 4520658629, 4520789717, 4520920841, 4521051943, + 4521183053, 4521314129, 4521445207, 4521576287, 4521707369, 4521838499, 4521969601, + 4522100677, 4522231771, 4522362857, 4522493939, 4522625011, 4522756111, 4522887199, + 4523018341, 4523149441, 4523280521, 4523411597, 4523542679, 4523673751, 4523804827, + 4523935919, 4524067003, 4524198079, 4524329189, 4524460279, 4524591377, 4524722467, + 4524853559, 4524984679, 4525115831, 4525246907, 4525378001, 4525509083, 4525640173, + 4525771267, 4525902341, 4526033417, 4526164493, 4526295589, 4526426683, 4526557781, + 4526688869, 4526819951, 4526951047, 4527082129, 4527213209, 4527344281, 4527475357, + 4527606431, 4527737531, 4527868607, 4527999701, 4528130801, 4528261939, 4528393021, + 4528524101, 4528655179, 4528786253, 4528917331, 4529048413, 4529179493, 4529310571, + 4529441671, 4529572753, 4529703877, 4529834989, 4529966071, 4530097157, 4530228253, + 4530359377, 4530490469, 4530621553, 4530752627, 4530883703, 4531014809, 4531145893, + 4531276993, 4531408081, 4531539161, 4531670233, 4531801349, 4531932467, 4532063567, + 4532194651, 4532325727, 4532456861, 4532587951, 4532719049, 4532850139, 4532981227, + 4533112301, 4533243419, 4533374501, 4533505633, 4533636739, 4533767827, 4533898903, + 4534030001, 4534161089, 4534292177, 4534423259, 4534554331, 4534685423, 4534816499, + 4534947601, 4535078689, 4535209771, 4535340853, 4535471929, 4535603027, 4535734103, + 4535865179, 4535996251, 4536127333, 4536258407, 4536389489, 4536520577, 4536651667, + 4536782759, 4536913853, 4537044943, 4537176031, 4537307113, 4537438187, 4537569307, + 4537700459, 4537831531, 4537962613, 4538093699, 4538224771, 4538355847, 4538486941, + 4538618033, 4538749121, 4538880217, 4539011311, 4539142411, 4539273503, 4539404581, + 4539535673, 4539666749, 4539797849, 4539928957, 4540060039, 4540191121, 4540322197, + 4540453273, 4540584361, 4540715441, 4540846573, 4540977647, 4541108729, 4541239811, + 4541370917, 4541502011, 4541633101, 4541764177, 4541895269, 4542026369, 4542157441, + 4542288529, 4542419603, 4542550681, 4542681761, 4542812843, 4542943921, 4543075013, + 4543206097, 4543337221, 4543468343, 4543599421, 4543730537, 4543861633, 4543992737, + 4544123827, 4544254907, 4544385997, 4544517097, 4544648183, 4544779279, 4544910353, + 4545041437, 4545172543, 4545303619, 4545434693, 4545565793, 4545696871, 4545827959, + 4545959101, 4546090177, 4546221259, 4546352333, 4546483421, 4546614497, 4546745573, + 4546876669, 4547007749, 4547138821, 4547269907, 4547400983, 4547532061, 4547663147, + 4547794259, 4547925359, 4548056441, 4548187543, 4548318623, 4548449699, 4548580781, + 4548711877, 4548842959, 4548974041, 4549105177, 4549236269, 4549367359, 4549498441, + 4549629521, 4549760597, 4549891681, 4550022761, 4550153837, 4550284913, 4550416007, + 4550547149, 4550678281, 4550809363, 4550940437, 4551071527, 4551202657, 4551333751, + 4551464843, 4551595921, 4551727007, 4551858107, 4551989203, 4552120319, 4552251397, + 4552382491, 4552513591, 4552644731, 4552775803, 4552906877, 4553037949, 4553169043, + 4553300117, 4553431189, 4553562263, 4553693351, 4553824427, 4553955547, 4554086623, + 4554217699, 4554348779, 4554479851, 4554610927, 4554742009, 4554873091, 4555004213, + 4555135313, 4555266421, 4555397519, 4555528609, 4555659683, 4555790777, 4555921849, + 4556052929, 4556184019, 4556315147, 4556446241, 4556577331, 4556708417, 4556839517, + 4556970601, 4557101693, 4557232781, 4557363857, 4557494941, 4557626057, 4557757133, + 4557888217, 4558019299, 4558150391, 4558281487, 4558412581, 4558543663, 4558674739, + 4558805819, 4558936901, 4559067983, 4559199061, 4559330161, 4559461237, 4559592377, + 4559723449, 4559854543, 4559985631, 4560116731, 4560247823, 4560378913, 4560510011, + 4560641083, 4560772169, 4560903247, 4561034327, 4561165423, 4561296527, 4561427609, + 4561558681, 4561689757, 4561820833, 4561951931, 4562083007, 4562214103, 4562345209, + 4562476283, 4562607367, 4562738561, 4562869667, 4563000791, 4563131863, 4563262943, + 4563394021, 4563525137, 4563656221, 4563787337, 4563918431, 4564049537, 4564180609, + 4564311683, 4564442777, 4564573861, 4564704941, 4564836049, 4564967123, 4565098199, + 4565229287, 4565360399, 4565491477, 4565622559, 4565753641, 4565884717, 4566015791, + 4566146881, 4566277981, 4566409073, 4566540191, 4566671273, 4566802349, 4566933467, + 4567064597, 4567195687, 4567326767, 4567457857, 4567588931, 4567720037, 4567851121, + 4567982197, 4568113271, 4568244353, 4568375453, 4568506529, 4568637611, 4568768753, + 4568899831, 4569030911, 4569162023, 4569293129, 4569424201, 4569555299, 4569686413, + 4569817507, 4569948587, 4570079681, 4570210763, 4570341859, 4570472947, 4570604021, + 4570735111, 4570866221, 4570997357, 4571128483, 4571259569, 4571390641, 4571521727, + 4571652851, 4571783947, 4571915021, 4572046117, 4572177191, 4572308341, 4572439439, + 4572570517, 4572701663, 4572832751, 4572963877, 4573094987, 4573226087, 4573357169, + 4573488259, 4573619339, 4573750429, 4573881511, 4574012609, 4574143703, 4574274797, + 4574405873, 4574536969, 4574668067, 4574799167, 4574930263, 4575061417, 4575192509, + 4575323581, 4575454711, 4575585793, 4575716879, 4575848023, 4575979123, 4576110197, + 4576241279, 4576372351, 4576503493, 4576634567, 4576765651, 4576896767, 4577027839, + 4577158921, 4577290009, 4577421083, 4577552197, 4577683273, 4577814347, 4577945447, + 4578076553, 4578207653, 4578338767, 4578469867, 4578601031, 4578732127, 4578863227, + 4578994313, 4579125443, 4579256531, 4579387633, 4579518721, 4579649843, 4579780921, + 4579911997, 4580043077, 4580174149, 4580305253, 4580436347, 4580567423, 4580698517, + 4580829593, 4580960677, 4581091759, 4581222847, 4581353971, 4581485053, 4581616141, + 4581747217, 4581878297, 4582009387, 4582140467, 4582271557, 4582402633, 4582533733, + 4582664809, 4582795939, 4582927021, 4583058097, 4583189251, 4583320337, 4583451409, + 4583582513, 4583713597, 4583844721, 4583975821, 4584106909, 4584237997, 4584369137, + 4584500209, 4584631283, 4584762359, 4584893449, 4585024529, 4585155613, 4585286707, + 4585417787, 4585548859, 4585679953, 4585811033, 4585942111, 4586073229, 4586204303, + 4586335421, 4586466509, 4586597611, 4586728693, 4586859773, 4586990861, 4587121937, + 4587253019, 4587384103, 4587515197, 4587646279, 4587777391, 4587908477, 4588039549, + 4588170623, 4588301701, 4588432811, 4588563883, 4588694977, 4588826089, 4588957201, + 4589088277, 4589219351, 4589350511, 4589481593, 4589612681, 4589743849, 4589874923, + 4590006019, 4590137107, 4590268187, 4590399269, 4590530387, 4590661469, 4590792551, + 4590923633, 4591054723, 4591185799, 4591316903, 4591447999, 4591579073, 4591710169, + 4591841251, 4591972327, 4592103421, 4592234501, 4592365573, 4592496653, 4592627759, + 4592758861, 4592889943, 4593021077, 4593152149, 4593283223, 4593414299, 4593545377, + 4593676501, 4593807607, 4593938689, 4594069763, 4594200841, 4594331953, 4594463053, + 4594594127, 4594725257, 4594856401, 4594987483, 4595118557, 4595249657, 4595380729, + 4595511821, 4595642897, 4595773969, 4595905073, 4596036199, 4596167299, 4596298393, + 4596429473, 4596560587, 4596691681, 4596822823, 4596953909, 4597084997, 4597216093, + 4597347197, 4597478339, 4597609469, 4597740577, 4597871657, 4598002729, 4598133811, + 4598264939, 4598396027, 4598527099, 4598658173, 4598789263, 4598920351, 4599051451, + 4599182527, 4599313619, 4599444721, 4599575809, 4599706883, 4599837959, 4599969041, + 4600100123, 4600231231, 4600362359, 4600493477, 4600624571, 4600755647, 4600886723, + 4601017807, 4601148941, 4601280017, 4601411093, 4601542177, 4601673269, 4601804353, + 4601935447, 4602066533, 4602197617, 4602328693, 4602459769, 4602590879, 4602721969, + 4602853043, 4602984131, 4603115221, 4603246301, 4603377421, 4603508519, 4603639591, + 4603770671, 4603901759, 4604032831, 4604163929, 4604295001, 4604426087, 4604557159, + 4604688259, 4604819339, 4604950423, 4605081497, 4605212593, 4605343679, 4605474763, + 4605605863, 4605736939, 4605868031, 4605999109, 4606130203, 4606261279, 4606392359, + 4606523477, 4606654571, 4606785649, 4606916723, 4607047799, 4607178893, 4607309969, + 4607441057, 4607572133, 4607703257, 4607834339, 4607965423, 4608096509, 4608227599, + 4608358687, 4608489779, 4608620857, 4608751943, 4608883043, 4609014121, 4609145197, + 4609276277, 4609407373, 4609538471, 4609669543, 4609800619, 4609931707, 4610062811, + 4610193883, 4610324981, 4610456107, 4610587181, 4610718271, 4610849417, 4610980501, + 4611111581, 4611242659, 4611373759, 4611504893, 4611635969, 4611767047, 4611898121, + 4612029203, 4612160279, 4612291379, 4612422499, 4612553573, 4612684673, 4612815749, + 4612946827, 4613077901, 4613208979, 4613340059, 4613471143, 4613602243, 4613733391, + 4613864473, 4613995591, 4614126677, 4614257771, 4614388861, 4614519937, 4614651017, + 4614782099, 4614913181, 4615044289, 4615175399, 4615306519, 4615437601, 4615568693, + 4615699783, 4615830883, 4615961983, 4616093071, 4616224159, 4616355371, 4616486509, + 4616617591, 4616748673, 4616879753, 4617010891, 4617141967, 4617273043, 4617404117, + 4617535201, 4617666337, 4617797419, 4617928507, 4618059587, 4618190671, 4618321769, + 4618452841, 4618583927, 4618715021, 4618846121, 4618977227, 4619108309, 4619239403, + 4619370479, 4619501561, 4619632651, 4619763727, 4619894827, 4620025951, 4620157027, + 4620288103, 4620419189, 4620550261, 4620681341, 4620812431, 4620943541, 4621074637, + 4621205737, 4621336813, 4621467919, 4621598999, 4621730159, 4621861261, 4621992343, + 4622123417, 4622254493, 4622385583, 4622516659, 4622647747, 4622778821, 4622909899, + 4623040991, 4623172069, 4623303151, 4623434239, 4623565319, 4623696391, 4623827473, + 4623958589, 4624089683, 4624220767, 4624351873, 4624482949, 4624614047, 4624745123, + 4624876229, 4625007307, 4625138381, 4625269457, 4625400607, 4625531681, 4625662759, + 4625793841, 4625924921, 4626056041, 4626187141, 4626318217, 4626449297, 4626580369, + 4626711491, 4626842567, 4626973679, 4627104791, 4627235897, 4627367009, 4627498147, + 4627629229, 4627760329, 4627891403, 4628022479, 4628153557, 4628284673, 4628415817, + 4628546891, 4628677981, 4628809067, 4628940143, 4629071231, 4629202321, 4629333407, + 4629464501, 4629595573, 4629726697, 4629857797, 4629988873, 4630119953, 4630251071, + 4630382147, 4630513243, 4630644377, 4630775453, 4630906541, 4631037661, 4631168741, + 4631299831, 4631430913, 4631561989, 4631693111, 4631824189, 4631955277, 4632086359, + 4632217481, 4632348563, 4632479653, 4632610727, 4632741809, 4632872891, 4633003981, + 4633135057, 4633266137, 4633397221, 4633528297, 4633659377, 4633790479, 4633921559, + 4634052659, 4634183747, 4634314843, 4634445917, 4634576993, 4634708069, 4634839163, + 4634970251, 4635101327, 4635232417, 4635363503, 4635494593, 4635625711, 4635756803, + 4635887891, 4636019009, 4636150091, 4636281187, 4636412269, 4636543349, 4636674437, + 4636805513, 4636936589, 4637067689, 4637198771, 4637329877, 4637460953, 4637592031, + 4637723117, 4637854223, 4637985301, 4638116377, 4638247451, 4638378527, 4638509677, + 4638640771, 4638771847, 4638902921, 4639033999, 4639165073, 4639296169, 4639427257, + 4639558337, 4639689409, 4639820483, 4639951571, 4640082649, 4640213723, 4640344801, + 4640475911, 4640606989, 4640738077, 4640869169, 4641000311, 4641131431, 4641262567, + 4641393649, 4641524747, 4641655819, 4641786899, 4641918007, 4642049081, 4642180189, + 4642311269, 4642442353, 4642573433, 4642704541, 4642835623, 4642966733, 4643097829, + 4643228917, 4643359993, 4643491081, 4643622163, 4643753243, 4643884331, 4644015413, + 4644146527, 4644277601, 4644408677, 4644539749, 4644670837, 4644801911, 4644932993, + 4645064069, 4645195153, 4645326233, 4645457309, 4645588397, 4645719479, 4645850579, + 4645981651, 4646112787, 4646243863, 4646374939, 4646506019, 4646637091, 4646768171, + 4646899247, 4647030337, 4647161419, 4647292519, 4647423607, 4647554699, 4647685781, + 4647816857, 4647947929, 4648079011, 4648210121, 4648341289, 4648472377, 4648603489, + 4648734577, 4648865653, 4648996769, 4649127881, 4649258981, 4649390059, 4649521133, + 4649652233, 4649783351, 4649914447, 4650045523, 4650176599, 4650307679, 4650438787, + 4650569879, 4650700969, 4650832057, 4650963137, 4651094219, 4651225331, 4651356407, + 4651487497, 4651618613, 4651749769, 4651880887, 4652011963, 4652143079, 4652274157, + 4652405231, 4652536367, 4652667473, 4652798551, 4652929661, 4653060733, 4653191819, + 4653322907, 4653454037, 4653585121, 4653716203, 4653847277, 4653978353, 4654109459, + 4654240531, 4654371637, 4654502717, 4654633799, 4654764871, 4654895951, 4655027051, + 4655158129, 4655289203, 4655420279, 4655551357, 4655682463, 4655813549, 4655944627, + 4656075703, 4656206801, 4656337891, 4656468967, 4656600041, 4656731117, 4656862211, + 4656993283, 4657124357, 4657255429, 4657386511, 4657517629, 4657648703, 4657779787, + 4657910861, 4658041937, 4658173033, 4658304121, 4658435209, 4658566291, 4658697377, + 4658828477, 4658959549, 4659090641, 4659221713, 4659352799, 4659483887, 4659614959, + 4659746089, 4659877193, 4660008271, 4660139353, 4660270481, 4660401601, 4660532741, + 4660663829, 4660794907, 4660925987, 4661057077, 4661188157, 4661319241, 4661450341, + 4661581439, 4661712521, 4661843611, 4661974777, 4662105853, 4662236933, 4662368021, + 4662499103, 4662630187, 4662761261, 4662892387, 4663023467, 4663154611, 4663285687, + 4663416763, 4663547879, 4663678961, 4663810043, 4663941151, 4664072293, 4664203393, + 4664334541, 4664465621, 4664596723, 4664727811, 4664858893, 4664989999, 4665121093, + 4665252187, 4665383297, 4665514393, 4665645521, 4665776593, 4665907699, 4666038869, + 4666169951, 4666301039, 4666432171, 4666563271, 4666694353, 4666825447, 4666956523, + 4667087597, 4667218669, 4667349749, 4667480821, 4667611933, 4667743013, 4667874089, + 4668005171, 4668136247, 4668267343, 4668398419, 4668529499, 4668660583, 4668791711, + 4668922787, 4669053869, 4669184951, 4669316027, 4669447129, 4669578217, 4669709321, + 4669840423, 4669971499, 4670102573, 4670233681, 4670364767, 4670495857, 4670626967, + 4670758063, 4670889163, 4671020239, 4671151339, 4671282431, 4671413507, 4671544589, + 4671675677, 4671806801, 4671937889, 4672069001, 4672200167, 4672331291, 4672462363, + 4672593439, 4672724521, 4672855601, 4672986677, 4673117873, 4673248961, 4673380057, + 4673511133, 4673642209, 4673773319, 4673904397, 4674035503, 4674166579, 4674297689, + 4674428761, 4674559861, 4674690941, 4674822023, 4674953117, 4675084207, 4675215287, + 4675346371, 4675477453, 4675608529, 4675739611, 4675870699, 4676001773, 4676132887, + 4676263961, 4676395067, 4676526157, 4676657233, 4676788313, 4676919409, 4677050491, + 4677181589, 4677312667, 4677443741, 4677574813, 4677705917, 4677837019, 4677968101, + 4678099177, 4678230269, 4678361371, 4678492447, 4678623583, 4678754657, 4678885751, + 4679016829, 4679147903, 4679278991, 4679410063, 4679541151, 4679672269, 4679803351, + 4679934439, 4680065539, 4680196643, 4680327737, 4680458837, 4680589919, 4680721009, + 4680852083, 4680983171, 4681114247, 4681245323, 4681376407, 4681507507, 4681638583, + 4681769707, 4681900781, 4682031929, 4682163007, 4682294107, 4682425193, 4682556317, + 4682687393, 4682818499, 4682949599, 4683080671, 4683211747, 4683342841, 4683473933, + 4683605011, 4683736093, 4683867197, 4683998269, 4684129361, 4684260433, 4684391507, + 4684522589, 4684653667, 4684784743, 4684915819, 4685046901, 4685177999, 4685309117, + 4685440237, 4685571313, 4685702429, 4685833501, 4685964607, 4686095681, 4686226771, + 4686357889, 4686488971, 4686620053, 4686751133, 4686882227, 4687013311, 4687144391, + 4687275497, 4687406569, 4687537663, 4687668749, 4687799839, 4687930913, 4688061991, + 4688193101, 4688324197, 4688455271, 4688586359, 4688717443, 4688848559, 4688979653, + 4689110749, 4689241847, 4689372937, 4689504023, 4689635101, 4689766231, 4689897307, + 4690028401, 4690159493, 4690290587, 4690421677, 4690552751, 4690683827, 4690814899, + 4690945993, 4691077073, 4691208173, 4691339281, 4691470369, 4691601457, 4691732543, + 4691863663, 4691994793, 4692125891, 4692256963, 4692388037, 4692519109, 4692650201, + 4692781273, 4692912361, 4693043461, 4693174559, 4693305637, 4693436711, 4693567787, + 4693698881, 4693829971, 4693961057, 4694092129, 4694223223, 4694354309, 4694485409, + 4694616517, 4694747623, 4694878757, 4695009857, 4695140941, 4695272033, 4695403109, + 4695534187, 4695665267, 4695796351, 4695927589, 4696058687, 4696189789, 4696320869, + 4696451957, 4696583033, 4696714109, 4696845253, 4696976327, 4697107399, 4697238589, + 4697369681, 4697500757, 4697631847, 4697762929, 4697894011, 4698025093, 4698156181, + 4698287281, 4698418381, 4698549487, 4698680573, 4698811669, 4698942779, 4699073879, + 4699204981, 4699336087, 4699467173, 4699598287, 4699729379, 4699860467, 4699991539, + 4700122613, 4700253689, 4700384761, 4700515871, 4700646943, 4700778037, 4700909113, + 4701040189, 4701171283, 4701302381, 4701433459, 4701564533, 4701695611, 4701826687, + 4701957761, 4702088843, 4702219919, 4702350997, 4702482073, 4702613177, 4702744273, + 4702875361, 4703006453, 4703137577, 4703268649, 4703399797, 4703530891, 4703661973, + 4703793077, 4703924161, 4704055253, 4704186329, 4704317419, 4704448501, 4704579599, + 4704710693, 4704841777, 4704972871, 4705103959, 4705235131, 4705366223, 4705497299, + 4705628371, 4705759447, 4705890521, 4706021597, 4706152669, 4706283779, 4706414891, + 4706545973, 4706677049, 4706808133, 4706939207, 4707070283, 4707201361, 4707332459, + 4707463559, 4707594649, 4707725723, 4707856799, 4707987877, 4708118951, 4708250033, + 4708381121, 4708512223, 4708643309, 4708774391, 4708905491, 4709036621, 4709167693, + 4709298767, 4709429843, 4709560931, 4709692007, 4709823121, 4709954231, 4710085319, + 4710216421, 4710347503, 4710478579, 4710609653, 4710740789, 4710871883, 4711003043, + 4711134157, 4711265311, 4711396433, 4711527511, 4711658599, 4711789697, 4711920799, + 4712051957, 4712183039, 4712314121, 4712445211, 4712576399, 4712707471, 4712838547, + 4712969621, 4713100697, 4713231773, 4713362861, 4713493963, 4713625073, 4713756149, + 4713887239, 4714018327, 4714149409, 4714280503, 4714411621, 4714542709, 4714673797, + 4714804877, 4714935949, 4715067043, 4715198129, 4715329231, 4715460311, 4715591401, + 4715722507, 4715853619, 4715984717, 4716115823, 4716246901, 4716377977, 4716509059, + 4716640133, 4716771221, 4716902341, 4717033427, 4717164503, 4717295591, 4717426687, + 4717557769, 4717688851, 4717819987, 4717951079, 4718082157, 4718213243, 4718344333, + 4718475451, 4718606527, 4718737643, 4718868743, 4718999843, 4719130931, 4719262003, + 4719393079, 4719524167, 4719655249, 4719786343, 4719917429, 4720048511, 4720179587, + 4720310659, 4720441753, 4720572841, 4720703917, 4720834999, 4720966163, 4721097263, + 4721228399, 4721359481, 4721490559, 4721621651, 4721752733, 4721883809, 4722014897, + 4722145973, 4722277099, 4722408209, 4722539321, 4722670411, 4722801541, 4722932633, + 4723063711, 4723194787, 4723325869, 4723456957, 4723588033, 4723719151, 4723850227, + 4723981373, 4724112451, 4724243527, 4724374607, 4724505689, 4724636779, 4724767897, + 4724898977, 4725030113, 4725161191, 4725292283, 4725423359, 4725554443, 4725685537, + 4725816611, 4725947683, 4726078769, 4726209883, 4726340963, 4726472077, 4726603199, + 4726734283, 4726865369, 4726996441, 4727127523, 4727258617, 4727389697, 4727520781, + 4727651861, 4727782967, 4727914049, 4728045137, 4728176209, 4728307303, 4728438409, + 4728569497, 4728700577, 4728831649, 4728962723, 4729093841, 4729224937, 4729356011, + 4729487089, 4729618171, 4729749281, 4729880359, 4730011459, 4730142551, 4730273671, + 4730404801, 4730535893, 4730666977, 4730798117, 4730929223, 4731060343, 4731191417, + 4731322493, 4731453569, 4731584651, 4731715763, 4731846839, 4731977941, 4732109051, + 4732240129, 4732371221, 4732502293, 4732633429, 4732764523, 4732895599, 4733026681, + 4733157823, 4733288927, 4733420009, 4733551093, 4733682179, 4733813267, 4733944343, + 4734075421, 4734206501, 4734337591, 4734468709, 4734599783, 4734730867, 4734861961, + 4734993061, 4735124143, 4735255223, 4735386319, 4735517401, 4735648487, 4735779569, + 4735910659, 4736041753, 4736172829, 4736303927, 4736435021, 4736566117, 4736697193, + 4736828267, 4736959517, 4737090599, 4737221677, 4737352751, 4737483841, 4737614929, + 4737746017, 4737877093, 4738008179, 4738139261, 4738270337, 4738401413, 4738532507, + 4738663603, 4738794691, 4738925777, 4739056871, 4739187949, 4739319031, 4739450143, + 4739581219, 4739712301, 4739843393, 4739974507, 4740105583, 4740236659, 4740367733, + 4740498811, 4740629893, 4740760991, 4740892069, 4741023149, 4741154239, 4741285321, + 4741416409, 4741547509, 4741678583, 4741809659, 4741940767, 4742071843, 4742202923, + 4742334043, 4742465137, 4742596217, 4742727299, 4742858371, 4742989463, 4743120587, + 4743251717, 4743382801, 4743513883, 4743644987, 4743776087, 4743907163, 4744038281, + 4744169357, 4744300439, 4744431521, 4744562609, 4744693687, 4744824787, 4744955881, + 4745086987, 4745218063, 4745349137, 4745480219, 4745611331, 4745742451, 4745873537, + 4746004649, 4746135727, 4746266807, 4746397907, 4746529027, 4746660101, 4746791177, + 4746922249, 4747053341, 4747184437, 4747315519, 4747446607, 4747577687, 4747708787, + 4747839869, 4747970957, 4748102039, 4748233123, 4748364277, 4748495357, 4748626429, + 4748757521, 4748888603, 4749019687, 4749150773, 4749281869, 4749412949, 4749544021, + 4749675107, 4749806183, 4749937307, 4750068383, 4750199537, 4750330609, 4750461701, + 4750592807, 4750723927, 4750855001, 4750986077, 4751117159, 4751248231, 4751379323, + 4751510411, 4751641483, 4751772569, 4751903669, 4752034747, 4752165833, 4752296917, + 4752428053, 4752559127, 4752690233, 4752821321, 4752952397, 4753083473, 4753214549, + 4753345621, 4753476703, 4753607801, 4753738879, 4753869959, 4754001037, 4754132153, + 4754263249, 4754394341, 4754525453, 4754656549, 4754787637, 4754918711, 4755049807, + 4755180893, 4755311969, 4755443053, 4755574129, 4755705203, 4755836279, 4755967357, + 4756098443, 4756229521, 4756360633, 4756491763, 4756622837, 4756753933, 4756885027, + 4757016107, 4757147207, 4757278319, 4757409409, 4757540483, 4757671579, 4757802659, + 4757933731, 4758064921, 4758195997, 4758327071, 4758458161, 4758589261, 4758720341, + 4758851437, 4758982511, 4759113587, 4759244669, 4759375771, 4759506889, 4759637969, + 4759769041, 4759900127, 4760031223, 4760162371, 4760293451, 4760424527, 4760555627, + 4760686699, 4760817779, 4760948887, 4761079979, 4761211057, 4761342143, 4761473219, + 4761604303, 4761735397, 4761866513, 4761997589, 4762128661, 4762259741, 4762390819, + 4762521923, 4762653001, 4762784077, 4762915159, 4763046251, 4763177339, 4763308411, + 4763439563, 4763570657, 4763701753, 4763832833, 4763963923, 4764094997, 4764226099, + 4764357181, 4764488257, 4764619381, 4764750457, 4764881531, 4765012607, 4765143701, + 4765274779, 4765405961, 4765537037, 4765668109, 4765799209, 4765930283, 4766061407, + 4766192479, 4766323559, 4766454683, 4766585767, 4766716841, 4766847919, 4766979073, + 4767110147, 4767241231, 4767372317, 4767503393, 4767634471, 4767765553, 4767896629, + 4768027717, 4768158797, 4768289879, 4768420957, 4768552039, 4768683149, 4768814249, + 4768945367, 4769076443, 4769207539, 4769338643, 4769469721, 4769600809, 4769731907, + 4769862983, 4769994091, 4770125179, 4770256279, 4770387367, 4770518453, 4770649529, + 4770780613, 4770911707, 4771042799, 4771173877, 4771304959, 4771436057, 4771567159, + 4771698233, 4771829329, 4771960423, 4772091551, 4772222639, 4772353741, 4772484833, + 4772615917, 4772746999, 4772878081, 4773009169, 4773140243, 4773271343, 4773402457, + 4773533549, 4773664627, 4773795703, 4773926777, 4774057903, 4774189001, 4774320077, + 4774451153, 4774582229, 4774713301, 4774844441, 4774975531, 4775106617, 4775237689, + 4775368811, 4775499901, 4775630983, 4775762083, 4775893163, 4776024247, 4776155353, + 4776286429, 4776417509, 4776548611, 4776679711, 4776810803, 4776941879, 4777072987, + 4777204079, 4777335151, 4777466227, 4777597309, 4777728427, 4777859521, 4777990601, + 4778121697, 4778252771, 4778383861, 4778514941, 4778646031, 4778777189, 4778908327, + 4779039403, 4779170489, 4779301567, 4779432727, 4779563801, 4779694879, 4779825977, + 4779957089, 4780088167, 4780219261, 4780350361, 4780481443, 4780612519, 4780743631, + 4780874717, 4781005807, 4781136911, 4781267989, 4781399071, 4781530153, 4781661253, + 4781792333, 4781923409, 4782054481, 4782185567, 4782316697, 4782447809, 4782578897, + 4782710017, 4782841103, 4782972197, 4783103321, 4783234397, 4783365481, 4783496579, + 4783627679, 4783758779, 4783889923, 4784021003, 4784152213, 4784283299, 4784414387, + 4784545459, 4784676551, 4784807627, 4784938727, 4785069811, 4785200911, 4785331987, + 4785463069, 4785594161, 4785725239, 4785856373, 4785987457, 4786118537, 4786249621, + 4786380721, 4786511801, 4786642873, 4786773967, 4786905043, 4787036131, 4787167223, + 4787298301, 4787429377, 4787560471, 4787691551, 4787822629, 4787953739, 4788084839, + 4788215911, 4788347051, 4788478127, 4788609209, 4788740287, 4788871363, 4789002473, + 4789133561, 4789264651, 4789395749, 4789526849, 4789657993, 4789789111, 4789920193, + 4790051303, 4790182417, 4790313491, 4790444573, 4790575651, 4790706727, 4790837827, + 4790968901, 4791099991, 4791231077, 4791362207, 4791493327, 4791624401, 4791755533, + 4791886643, 4792017719, 4792148797, 4792279901, 4792410991, 4792542067, 4792673173, + 4792804279, 4792935353, 4793066459, 4793197531, 4793328649, 4793459753, 4793590843, + 4793721941, 4793853017, 4793984101, 4794115189, 4794246287, 4794377443, 4794508573, + 4794639649, 4794770723, 4794901823, 4795032941, 4795164013, 4795295119, 4795426199, + 4795557287, 4795688377, 4795819453, 4795950539, 4796081627, 4796212711, 4796343787, + 4796474863, 4796605937, 4796737027, 4796868107, 4796999183, 4797130271, 4797261349, + 4797392423, 4797523519, 4797654593, 4797785669, 4797916741, 4798047817, 4798178899, + 4798309981, 4798441057, 4798572131, 4798703267, 4798834349, 4798965461, 4799096587, + 4799227663, 4799358737, 4799489831, 4799620907, 4799751991, 4799883073, 4800014171, + 4800145243, 4800276317, 4800407413, 4800538517, 4800669607, 4800800701, 4800931783, + 4801062857, 4801193933, 4801325027, 4801456133, 4801587239, 4801718329, 4801849421, + 4801980511, 4802111641, 4802242717, 4802373791, 4802504911, 4802635991, 4802767063, + 4802898151, 4803029239, 4803160339, 4803291413, 4803422501, 4803553589, 4803684667, + 4803815743, 4803946817, 4804077907, 4804208999, 4804340089, 4804471187, 4804602263, + 4804733347, 4804864423, 4804995497, 4805126591, 4805257679, 4805388751, 4805519827, + 4805650903, 4805781979, 4805913059, 4806044137, 4806175237, 4806306311, 4806437401, + 4806568477, 4806699571, 4806830659, 4806961739, 4807092827, 4807223903, 4807355009, + 4807486097, 4807617173, 4807748317, 4807879393, 4808010469, 4808141543, 4808272619, + 4808403703, 4808534777, 4808665859, 4808796943, 4808928029, 4809059119, 4809190223, + 4809321299, 4809452377, 4809583453, 4809714527, 4809845609, 4809976747, 4810107859, + 4810238971, 4810370057, 4810501147, 4810632251, 4810763323, 4810894409, 4811025493, + 4811156639, 4811287739, 4811418853, 4811549983, 4811681059, 4811812147, 4811943223, + 4812074297, 4812205439, 4812336577, 4812467659, 4812598733, 4812729847, 4812860933, + 4812992033, 4813123141, 4813254233, 4813385327, 4813516423, 4813647533, 4813778657, + 4813909757, 4814040911, 4814172019, 4814303101, 4814434223, 4814565299, 4814696371, + 4814827447, 4814958527, 4815089621, 4815220703, 4815351787, 4815482869, 4815613961, + 4815745063, 4815876139, 4816007227, 4816138321, 4816269413, 4816400527, 4816531633, + 4816662731, 4816793803, 4816924901, 4817055973, 4817187049, 4817318131, 4817449211, + 4817580337, 4817711411, 4817842501, 4817973577, 4818104701, 4818235801, 4818366893, + 4818497977, 4818629051, 4818760123, 4818891239, 4819022333, 4819153457, 4819284529, + 4819415617, 4819546727, 4819677857, 4819808933, 4819940023, 4820071097, 4820202223, + 4820333351, 4820464457, 4820595587, 4820726663, 4820857747, 4820988827, 4821119903, + 4821250999, 4821382117, 4821513223, 4821644341, 4821775421, 4821906517, 4822037621, + 4822168709, 4822299791, 4822430863, 4822561943, 4822693021, 4822824133, 4822955209, + 4823086327, 4823217403, 4823348479, 4823479553, 4823610637, 4823741753, 4823872829, + 4824003913, 4824135011, 4824266089, 4824397163, 4824528259, 4824659339, 4824790423, + 4824921539, 4825052611, 4825183717, 4825314821, 4825445929, 4825577011, 4825708123, + 4825839197, 4825970297, 4826101387, 4826232469, 4826363543, 4826494693, 4826625779, + 4826756863, 4826887937, 4827019019, 4827150091, 4827281171, 4827412279, 4827543353, + 4827674443, 4827805517, 4827936593, 4828067693, 4828198769, 4828329859, 4828460933, + 4828592033, 4828723111, 4828854193, 4828985333, 4829116417, 4829247539, 4829378629, + 4829509717, 4829640793, 4829771879, 4829903011, 4830034103, 4830165181, 4830296257, + 4830427331, 4830558407, 4830689489, 4830820597, 4830951679, 4831082759, 4831213843, + 4831344919, 4831475993, 4831607069, 4831738141, 4831869221, 4832000317, 4832131393, + 4832262467, 4832393543, 4832524633, 4832655713, 4832786789, 4832917867, 4833048947, + 4833180031, 4833311113, 4833442189, 4833573299, 4833704371, 4833835451, 4833966523, + 4834097621, 4834228699, 4834359773, 4834490867, 4834621943, 4834753093, 4834884227, + 4835015299, 4835146453, 4835277527, 4835408621, 4835539733, 4835670809, 4835801897, + 4835932987, 4836064063, 4836195151, 4836326233, 4836457349, 4836588431, 4836719509, + 4836850589, 4836981689, 4837112767, 4837243843, 4837374917, 4837505989, 4837637093, + 4837768171, 4837899247, 4838030369, 4838161451, 4838292541, 4838423621, 4838554703, + 4838685793, 4838816867, 4838947951, 4839079027, 4839210113, 4839341189, 4839472289, + 4839603371, 4839734443, 4839865519, 4839996649, 4840127737, 4840258847, 4840389929, + 4840521001, 4840652081, 4840783229, 4840914307, 4841045381, 4841176463, 4841307551, + 4841438663, 4841569753, 4841700833, 4841831927, 4841963039, 4842094141, 4842225217, + 4842356293, 4842487387, 4842618463, 4842749543, 4842880619, 4843011703, 4843142783, + 4843273867, 4843404971, 4843536043, 4843667141, 4843798213, 4843929341, 4844060423, + 4844191507, 4844322619, 4844453699, 4844584807, 4844715881, 4844846957, 4844978041, + 4845109121, 4845240203, 4845371281, 4845502373, 4845633449, 4845764527, 4845895609, + 4846026739, 4846157831, 4846288927, 4846420037, 4846551121, 4846682219, 4846813333, + 4846944407, 4847075489, 4847206577, 4847337673, 4847468767, 4847599843, 4847730941, + 4847862029, 4847993113, 4848124187, 4848255317, 4848386401, 4848517483, 4848648559, + 4848779699, 4848910771, 4849041877, 4849172963, 4849304039, 4849435127, 4849566199, + 4849697297, 4849828381, 4849959481, 4850090617, 4850221741, 4850352821, 4850483899, + 4850614973, 4850746081, 4850877167, 4851008243, 4851139331, 4851270491, 4851401609, + 4851532687, 4851663767, 4851794897, 4851925979, 4852057051, 4852188139, 4852319221, + 4852450349, 4852581431, 4852712531, 4852843621, 4852974697, 4853105783, 4853236859, + 4853367941, 4853499019, 4853630113, 4853761189, 4853892311, 4854023387, 4854154463, + 4854285589, 4854416669, 4854547769, 4854678893, 4854809987, 4854941059, 4855072153, + 4855203289, 4855334401, 4855465477, 4855596563, 4855727651, 4855858723, 4855989799, + 4856120903, 4856251997, 4856383073, 4856514149, 4856645231, 4856776313, 4856907389, + 4857038467, 4857169547, 4857300647, 4857431731, 4857562817, 4857693901, 4857824989, + 4857956071, 4858087151, 4858218259, 4858349341, 4858480421, 4858611503, 4858742591, + 4858873699, 4859004793, 4859135887, 4859266981, 4859398069, 4859529149, 4859660231, + 4859791327, 4859922409, 4860053501, 4860184597, 4860315737, 4860446819, 4860577903, + 4860709013, 4860840143, 4860971293, 4861102369, 4861233451, 4861364537, 4861495651, + 4861626733, 4861757843, 4861888961, 4862020057, 4862151137, 4862282213, 4862413289, + 4862544367, 4862675471, 4862806549, 4862937623, 4863068701, 4863199813, 4863330911, + 4863462007, 4863593083, 4863724189, 4863855307, 4863986383, 4864117499, 4864248581, + 4864379659, 4864510733, 4864641811, 4864772893, 4864903993, 4865035067, 4865166161, + 4865297243, 4865428327, 4865559437, 4865690569, 4865821673, 4865952757, 4866083951, + 4866215027, 4866346127, 4866477199, 4866608273, 4866739351, 4866870439, 4867001533, + 4867132609, 4867263689, 4867394767, 4867525843, 4867656953, 4867788031, 4867919267, + 4868050357, 4868181431, 4868312513, 4868443589, 4868574661, 4868705741, 4868836813, + 4868967931, 4869099007, 4869230143, 4869361223, 4869492317, 4869623389, 4869754471, + 4869885557, 4870016633, 4870147753, 4870278827, 4870409909, 4870541017, 4870672111, + 4870803193, 4870934267, 4871065363, 4871196443, 4871327533, 4871458609, 4871589689, + 4871720761, 4871851837, 4871982931, 4872114059, 4872245143, 4872376279, 4872507359, + 4872638443, 4872769529, 4872900611, 4873031711, 4873162787, 4873293883, 4873424977, + 4873556113, 4873687199, 4873818283, 4873949413, 4874080501, 4874211577, 4874342651, + 4874473727, 4874604799, 4874735909, 4874866999, 4874998087, 4875129163, 4875260261, + 4875391333, 4875522409, 4875653527, 4875784649, 4875915731, 4876046803, 4876177903, + 4876308989, 4876440073, 4876571149, 4876702249, 4876833337, 4876964431, 4877095519, + 4877226617, 4877357699, 4877488793, 4877619871, 4877750947, 4877882039, 4878013123, + 4878144223, 4878275329, 4878406409, 4878537491, 4878668563, 4878799643, 4878930733, + 4879061807, 4879192891, 4879324007, 4879455089, 4879586171, 4879717259, 4879848401, + 4879979477, 4880110577, 4880241649, 4880372729, 4880503813, 4880634893, 4880765969, + 4880897057, 4881028133, 4881159229, 4881290321, 4881421397, 4881552469, 4881683549, + 4881814633, 4881945713, 4882076803, 4882207903, 4882338983, 4882470059, 4882601137, + 4882732229, 4882863311, 4882994401, 4883125529, 4883256629, 4883387737, 4883518813, + 4883649889, 4883780977, 4883912071, 4884043147, 4884174227, 4884305299, 4884436391, + 4884567463, 4884698537, 4884829613, 4884960697, 4885091773, 4885222871, 4885353943, + 4885485061, 4885616143, 4885747259, 4885878391, 4886009477, 4886140559, 4886271647, + 4886402723, 4886533811, 4886664901, 4886795981, 4886927113, 4887058207, 4887189323, + 4887320413, 4887451501, 4887582577, 4887713687, 4887844771, 4887975857, 4888106929, + 4888238011, 4888369117, 4888500191, 4888631281, 4888762363, 4888893463, 4889024549, + 4889155631, 4889286707, 4889417779, 4889548861, 4889679947, 4889811019, 4889942107, + 4890073229, 4890204313, 4890335389, 4890466499, 4890597611, 4890728723, 4890859807, + 4890990889, 4891121981, 4891253057, 4891384133, 4891515257, 4891646339, 4891777433, + 4891908523, 4892039617, 4892170721, 4892301833, 4892432921, 4892563999, 4892695109, + 4892826199, 4892957339, 4893088441, 4893219563, 4893350701, 4893481783, 4893612863, + 4893743977, 4893875057, 4894006153, 4894137229, 4894268321, 4894399403, 4894530481, + 4894661581, 4894792691, 4894923799, 4895054887, 4895185961, 4895317051, 4895448223, + 4895579309, 4895710399, 4895841499, 4895972581, 4896103657, 4896234769, 4896365843, + 4896496919, 4896628019, 4896759151, 4896890237, 4897021313, 4897152401, 4897283509, + 4897414591, 4897545677, 4897676801, 4897807877, 4897938953, 4898070031, 4898201129, + 4898332211, 4898463287, 4898594359, 4898725441, 4898856517, 4898987593, 4899118717, + 4899249791, 4899380887, 4899511973, 4899643097, 4899774181, 4899905261, 4900036343, + 4900167449, 4900298551, 4900429627, 4900560761, 4900691839, 4900822967, 4900954039, + 4901085127, 4901216207, 4901347313, 4901478391, 4901609467, 4901740541, 4901871641, + 4902002713, 4902133829, 4902264901, 4902395983, 4902527093, 4902658171, 4902789247, + 4902920339, 4903051451, 4903182533, 4903313669, 4903444751, 4903575823, 4903706923, + 4903838033, 4903969111, 4904100209, 4904231291, 4904362369, 4904493443, 4904624531, + 4904755649, 4904886731, 4905017809, 4905148909, 4905279983, 4905411067, 4905542167, + 4905673271, 4905804353, 4905935449, 4906066531, 4906197607, 4906328689, 4906459763, + 4906590841, 4906721929, 4906853027, 4906984183, 4907115277, 4907246363, 4907377439, + 4907508523, 4907639617, 4907770697, 4907901773, 4908032851, 4908163963, 4908295039, + 4908426119, 4908557201, 4908688283, 4908819361, 4908950461, 4909081561, 4909212643, + 4909343723, 4909474813, 4909605901, 4909736981, 4909868057, 4909999141, 4910130217, + 4910261299, 4910392379, 4910523451, 4910654531, 4910785613, 4910916713, 4911047821, + 4911178903, 4911309989, 4911441071, 4911572167, 4911703241, 4911834329, 4911965417, + 4912096517, 4912227623, 4912358767, 4912489853, 4912620931, 4912752017, 4912883089, + 4913014189, 4913145311, 4913276411, 4913407511, 4913538613, 4913669687, 4913800823, + 4913931929, 4914063013, 4914194093, 4914325183, 4914456269, 4914587351, 4914718427, + 4914849551, 4914980683, 4915111771, 4915242847, 4915373927, 4915505003, 4915636079, + 4915767151, 4915898227, 4916029331, 4916160407, 4916291483, 4916422561, 4916553637, + 4916684713, 4916815807, 4916946911, 4917077983, 4917209159, 4917340243, 4917471329, + 4917602483, 4917733663, 4917864767, 4917995851, 4918126933, 4918258019, 4918389097, + 4918520203, 4918651279, 4918782383, 4918913537, 4919044609, 4919175707, 4919306839, + 4919437927, 4919569033, 4919700113, 4919831201, 4919962273, 4920093371, 4920224453, + 4920355529, 4920486617, 4920617711, 4920748813, 4920879889, 4921011047, 4921142119, + 4921273207, 4921404289, 4921535371, 4921666469, 4921797589, 4921928699, 4922059783, + 4922190857, 4922321941, 4922453023, 4922584097, 4922715181, 4922846303, 4922977403, + 4923108583, 4923239669, 4923370757, 4923501881, 4923632993, 4923764071, 4923895153, + 4924026227, 4924157299, 4924288373, 4924419497, 4924550569, 4924681651, 4924812727, + 4924943813, 4925074897, 4925205991, 4925337077, 4925468183, 4925599277, 4925730349, + 4925861453, 4925992537, 4926123623, 4926254719, 4926385819, 4926516899, 4926647983, + 4926779119, 4926910207, 4927041281, 4927172353, 4927303427, 4927434503, 4927565623, + 4927696699, 4927827787, 4927958869, 4928089961, 4928221043, 4928352157, 4928483239, + 4928614331, 4928745487, 4928876629, 4929007723, 4929138803, 4929269879, 4929400979, + 4929532057, 4929663131, 4929794267, 4929925339, 4930056419, 4930187497, 4930318577, + 4930449697, 4930580789, 4930711883, 4930842977, 4930974079, 4931105159, 4931236319, + 4931367401, 4931498479, 4931629567, 4931760653, 4931891729, 4932022811, 4932153899, + 4932284983, 4932416089, 4932547199, 4932678271, 4932809417, 4932940489, 4933071629, + 4933202719, 4933333817, 4933464937, 4933596023, 4933727111, 4933858217, 4933989289, + 4934120447, 4934251519, 4934382599, 4934513681, 4934644753, 4934775829, 4934906927, + 4935038011, 4935169103, 4935300191, 4935431269, 4935562351, 4935693431, 4935824513, + 4935955589, 4936086671, 4936217747, 4936348819, 4936479917, 4936611047, 4936742137, + 4936873211, 4937004311, 4937135407, 4937266511, 4937397599, 4937528683, 4937659787, + 4937790863, 4937921953, 4938053027, 4938184099, 4938315203, 4938446281, 4938577373, + 4938708449, 4938839533, 4938970627, 4939101707, 4939232783, 4939363879, 4939494953, + 4939626031, 4939757143, 4939888229, 4940019311, 4940150387, 4940281469, 4940412553, + 4940543651, 4940674723, 4940805799, 4940936893, 4941067981, 4941199093, 4941330187, + 4941461269, 4941592367, 4941723467, 4941854557, 4941985637, 4942116709, 4942247801, + 4942378877, 4942509953, 4942641031, 4942772171, 4942903247, 4943034329, 4943165401, + 4943296489, 4943427563, 4943558687, 4943689787, 4943820901, 4943951977, 4944083051, + 4944214129, 4944345223, 4944476309, 4944607399, 4944738479, 4944869599, 4945000691, + 4945131781, 4945262857, 4945393933, 4945525009, 4945656101, 4945787177, 4945918249, + 4946049337, 4946180411, 4946311507, 4946442593, 4946573689, 4946704771, 4946835847, + 4946966957, 4947098029, 4947229121, 4947360203, 4947491303, 4947622399, 4947753487, + 4947884573, 4948015649, 4948146739, 4948277827, 4948408957, 4948540057, 4948671131, + 4948802267, 4948933357, 4949064467, 4949195549, 4949326631, 4949457703, 4949588801, + 4949719897, 4949850979, 4949982077, 4950113171, 4950244267, 4950375379, 4950506479, + 4950637561, 4950768661, 4950899741, 4951030823, 4951161947, 4951293029, 4951424119, + 4951555223, 4951686301, 4951817459, 4951948559, 4952079641, 4952210717, 4952341789, + 4952472901, 4952603987, 4952735077, 4952866199, 4952997281, 4953128357, 4953259439, + 4953390527, 4953521623, 4953652699, 4953783773, 4953914851, 4954045931, 4954177013, + 4954308091, 4954439167, 4954570249, 4954701329, 4954832401, 4954963477, 4955094559, + 4955225633, 4955356711, 4955487787, 4955618903, 4955749979, 4955881057, 4956012133, + 4956143207, 4956274303, 4956405397, 4956536527, 4956667609, 4956798733, 4956929827, + 4957060909, 4957191983, 4957323067, 4957454143, 4957585219, 4957716311, 4957847399, + 4957978471, 4958109617, 4958240717, 4958371799, 4958502893, 4958633969, 4958765041, + 4958896157, 4959027233, 4959158333, 4959289411, 4959420497, 4959551603, 4959682681, + 4959813773, 4959944887, 4960075961, 4960207069, 4960338161, 4960469233, 4960600321, + 4960731397, 4960862477, 4960993553, 4961124647, 4961255743, 4961386831, 4961517919, + 4961649029, 4961780141, 4961911219, 4962042301, 4962173449, 4962304531, 4962435617, + 4962566717, 4962697793, 4962828881, 4962959993, 4963091083, 4963222189, 4963353319, + 4963484429, 4963615507, 4963746589, 4963877669, 4964008759, 4964139857, 4964270933, + 4964402017, 4964533109, 4964664197, 4964795291, 4964926391, 4965057499, 4965188573, + 4965319669, 4965450767, 4965581857, 4965712931, 4965844021, 4965975107, 4966106191, + 4966237279, 4966368359, 4966499431, 4966630519, 4966761601, 4966892729, 4967023813, + 4967154889, 4967285971, 4967417069, 4967548141, 4967679229, 4967810311, 4967941441, + 4968072601, 4968203683, 4968334759, 4968465847, 4968596923, 4968727997, 4968859097, + 4968990179, 4969121257, 4969252367, 4969383487, 4969514567, 4969645657, 4969776751, + 4969907849, 4970038963, 4970170067, 4970301163, 4970432237, 4970563319, 4970694397, + 4970825501, 4970956591, 4971087673, 4971218779, 4971349871, 4971480961, 4971612059, + 4971743137, 4971874211, 4972005319, 4972136401, 4972267483, 4972398581, 4972529693, + 4972660787, 4972791869, 4972922993, 4973054101, 4973185201, 4973316287, 4973447371, + 4973578447, 4973709539, 4973840623, 4973971729, 4974102803, 4974233879, 4974364957, + 4974496031, 4974627107, 4974758179, 4974889267, 4975020353, 4975151429, 4975282511, + 4975413589, 4975544737, 4975675829, 4975806907, 4975937983, 4976069069, 4976200171, + 4976331259, 4976462353, 4976593429, 4976724509, 4976855623, 4976986733, 4977117833, + 4977248959, 4977380047, 4977511129, 4977642223, 4977773327, 4977904403, 4978035493, + 4978166569, 4978297679, 4978428757, 4978559843, 4978690939, 4978822019, 4978953107, + 4979084203, 4979215309, 4979346389, 4979477471, 4979608553, 4979739631, 4979870719, + 4980001801, 4980132877, 4980263957, 4980395029, 4980526129, 4980657233, 4980788311, + 4980919421, 4981050493, 4981181567, 4981312663, 4981443739, 4981574813, 4981705889, + 4981836973, 4981968109, 4982099183, 4982230339, 4982361427, 4982492527, 4982623627, + 4982754709, 4982885801, 4983016879, 4983147971, 4983279053, 4983410143, 4983541223, + 4983672329, 4983803413, 4983934493, 4984065587, 4984196681, 4984327753, 4984458851, + 4984589927, 4984721017, 4984852091, 4984983167, 4985114243, 4985245417, 4985376493, + 4985507633, 4985638781, 4985770001, 4985901073, 4986032167, 4986163243, 4986294329, + 4986425407, 4986556507, 4986687581, 4986818653, 4986949729, 4987080851, 4987211927, + 4987342999, 4987474109, 4987605209, 4987736287, 4987867369, 4987998467, 4988129539, + 4988260643, 4988391739, 4988522813, 4988653897, 4988785049, 4988916143, 4989047221, + 4989178319, 4989309401, 4989440497, 4989571571, 4989702667, 4989833741, 4989964823, + 4990095919, 4990226999, 4990358101, 4990489241, 4990620331, 4990751407, 4990882489, + 4991013563, 4991144657, 4991275771, 4991406853, 4991537953, 4991669027, 4991800159, + 4991931251, 4992062329, 4992193411, 4992324503, 4992455581, 4992586693, 4992717773, + 4992848867, 4992979973, 4993111049, 4993242143, 4993373233, 4993504343, 4993635431, + 4993766527, 4993897613, 4994028701, 4994159813, 4994290907, 4994422057, 4994553139, + 4994684231, 4994815321, 4994946427, 4995077501, 4995208579, 4995339667, 4995470741, + 4995601823, 4995732923, 4995864011, 4995995089, 4996126199, 4996257349, 4996388429, + 4996519501, 4996650619, 4996781701, 4996912801, 4997043913, 4997174989, 4997306089, + 4997437163, 4997568239, 4997699323, 4997830403, 4997961481, 4998092569, 4998223693, + 4998354791, 4998485887, 4998616963, 4998748043, 4998879143, 4999010267, 4999141339, + 4999272451, 4999403567, 4999534669, 4999665791, 4999796873, 4999927967, 5000059081, + 5000190163, 5000321237, 5000452309, 5000583383, 5000714461, 5000845537, 5000976619, + 5001107693, 5001238769, 5001369851, 5001500923, 5001631997, 5001763097, 5001894169, + 5002025261, 5002156339, 5002287421, 5002418497, 5002549571, 5002680679, 5002811761, + 5002942837, 5003073923, 5003205017, 5003336159, 5003467241, 5003598329, 5003729429, + 5003860517, 5003991607, 5004122689, 5004253777, 5004384899, 5004515977, 5004647069, + 5004778169, 5004909251, 5005040323, 5005171397, 5005302559, 5005433633, 5005564709, + 5005695791, 5005826879, 5005957963, 5006089061, 5006220133, 5006351227, 5006482301, + 5006613433, 5006744537, 5006875609, 5007006703, 5007137797, 5007268879, 5007399953, + 5007531031, 5007662117, 5007793237, 5007924331, 5008055419, 5008186507, 5008317581, + 5008448663, 5008579747, 5008710853, 5008841927, 5008972999, 5009104073, 5009235151, + 5009366233, 5009497349, 5009628451, 5009759551, 5009890651, 5010021733, 5010152831, + 5010283903, 5010414979, 5010546053, 5010677197, 5010808301, 5010939403, 5011070503, + 5011201583, 5011332659, 5011463747, 5011594897, 5011725989, 5011857061, 5011988153, + 5012119249, 5012250329, 5012381443, 5012512559, 5012643677, 5012774749, 5012905847, + 5013036923, 5013168049, 5013299191, 5013430273, 5013561361, 5013692449, 5013823541, + 5013954629, 5014085737, 5014216813, 5014347889, 5014478969, 5014610059, 5014741181, + 5014872253, 5015003327, 5015134427, 5015265499, 5015396609, 5015527681, 5015658787, + 5015789861, 5015920957, 5016052043, 5016183119, 5016314227, 5016445309, 5016576401, + 5016707473, 5016838553, 5016969649, 5017100743, 5017231823, 5017362913, 5017494007, + 5017625083, 5017756169, 5017887241, 5018018339, 5018149463, 5018280559, 5018411677, + 5018542819, 5018673931, 5018805031, 5018936113, 5019067231, 5019198307, 5019329383, + 5019460493, 5019591593, 5019722671, 5019853757, 5019984841, 5020115921, 5020246993, + 5020378073, 5020509181, 5020640267, 5020771387, 5020902463, 5021033539, 5021164627, + 5021295709, 5021426783, 5021557907, 5021689003, 5021820101, 5021951177, 5022082249, + 5022213331, 5022344449, 5022475543, 5022606629, 5022737719, 5022868819, 5022999901, + 5023130993, 5023262089, 5023393183, 5023524257, 5023655341, 5023786421, 5023917499, + 5024048581, 5024179687, 5024310773, 5024441869, 5024572951, 5024704063, 5024835181, + 5024966291, 5025097367, 5025228457, 5025359567, 5025490669, 5025621749, 5025752843, + 5025883921, 5026015003, 5026146109, 5026277197, 5026408291, 5026539367, 5026670443, + 5026801517, 5026932607, 5027063683, 5027194807, 5027325883, 5027456999, 5027588089, + 5027719217, 5027850313, 5027981411, 5028112483, 5028243557, 5028374639, 5028505717, + 5028636791, 5028767893, 5028898981, 5029030057, 5029161131, 5029292227, 5029423307, + 5029554379, 5029685477, 5029816567, 5029947667, 5030078759, 5030209831, 5030340923, + 5030472001, 5030603099, 5030734199, 5030865313, 5030996401, 5031127483, 5031258569, + 5031389641, 5031520721, 5031651797, 5031782869, 5031913979, 5032045079, 5032176161, + 5032307233, 5032438309, 5032569383, 5032700459, 5032831547, 5032962643, 5033093731, + 5033224843, 5033355917, 5033486989, 5033618113, 5033749207, 5033880337, 5034011417, + 5034142489, 5034273577, 5034404653, 5034535733, 5034666853, 5034797927, 5034928999, + 5035060073, 5035191173, 5035322251, 5035453333, 5035584461, 5035715539, 5035846657, + 5035977731, 5036108807, 5036239889, 5036370979, 5036502061, 5036633149, 5036764261, + 5036895361, 5037026453, 5037157549, 5037288623, 5037419729, 5037550801, 5037681923, + 5037813019, 5037944111, 5038075247, 5038206319, 5038337393, 5038468493, 5038599571, + 5038730659, 5038861757, 5038992839, 5039123911, 5039255021, 5039386111, 5039517199, + 5039648303, 5039779411, 5039910487, 5040041579, 5040172667, 5040303773, 5040434891, + 5040565967, 5040697049, 5040828157, 5040959237, 5041090309, 5041221413, 5041352513, + 5041483607, 5041614689, 5041745767, 5041876843, 5042007961, 5042139043, 5042270143, + 5042401237, 5042532347, 5042663443, 5042794529, 5042925653, 5043056789, 5043187873, + 5043318961, 5043450043, 5043581117, 5043712189, 5043843289, 5043974389, 5044105481, + 5044236569, 5044367723, 5044498817, 5044629917, 5044761013, 5044892107, 5045023213, + 5045154287, 5045285419, 5045416517, 5045547599, 5045678689, 5045809817, 5045940899, + 5046071977, 5046203077, 5046334151, 5046465223, 5046596297, 5046727373, 5046858457, + 5046989561, 5047120649, 5047251743, 5047382819, 5047513901, 5047645007, 5047776079, + 5047907153, 5048038319, 5048169391, 5048300471, 5048431567, 5048562671, 5048693761, + 5048824843, 5048955931, 5049087011, 5049218107, 5049349187, 5049480269, 5049611401, + 5049742487, 5049873607, 5050004689, 5050135781, 5050266877, 5050397969, 5050529041, + 5050660171, 5050791247, 5050922407, 5051053489, 5051184569, 5051315641, 5051446721, + 5051577799, 5051708873, 5051839981, 5051971063, 5052102161, 5052233239, 5052364327, + 5052495433, 5052626521, 5052757643, 5052888739, 5053019813, 5053150889, 5053281967, + 5053413041, 5053544113, 5053675201, 5053806299, 5053937393, 5054068469, 5054199559, + 5054330663, 5054461739, 5054592833, 5054723929, 5054855017, 5054986093, 5055117173, + 5055248257, 5055379333, 5055510413, 5055641497, 5055772571, 5055903647, 5056034771, + 5056165843, 5056296919, 5056427993, 5056559113, 5056690207, 5056821283, 5056952387, + 5057083489, 5057214581, 5057345659, 5057476733, 5057607869, 5057738971, 5057870047, + 5058001133, 5058132223, 5058263311, 5058394391, 5058525463, 5058656573, 5058787663, + 5058918749, 5059049837, 5059180913, 5059311991, 5059443113, 5059574189, 5059705279, + 5059836373, 5059967477, 5060098579, 5060229653, 5060360779, 5060491853, 5060622949, + 5060754037, 5060885131, 5061016223, 5061147317, 5061278393, 5061409499, 5061540623, + 5061671711, 5061802783, 5061933871, 5062064957, 5062196039, 5062327129, 5062458221, + 5062589293, 5062720367, 5062851487, 5062982563, 5063113639, 5063244721, 5063375803, + 5063506901, 5063637973, 5063769101, 5063900173, 5064031283, 5064162377, 5064293477, + 5064424553, 5064555631, 5064686717, 5064817817, 5064948929, 5065080001, 5065211077, + 5065342153, 5065473307, 5065604381, 5065735471, 5065866557, 5065997639, 5066128723, + 5066259797, 5066390899, 5066521973, 5066653061, 5066784139, 5066915219, 5067046297, + 5067177421, 5067308497, 5067439579, 5067570707, 5067701801, 5067832873, 5067963949, + 5068095037, 5068226123, 5068357201, 5068488277, 5068619357, 5068750429, 5068881523, + 5069012633, 5069143721, 5069274811, 5069405959, 5069537059, 5069668151, 5069799223, + 5069930323, 5070061411, 5070192493, 5070323591, 5070454667, 5070585749, 5070716843, + 5070847919, 5070979003, 5071110091, 5071241179, 5071372283, 5071503413, 5071634537, + 5071765609, 5071896721, 5072027813, 5072158901, 5072290021, 5072421113, 5072552209, + 5072683333, 5072814407, 5072945497, 5073076577, 5073207653, 5073338741, 5073469969, + 5073601079, 5073732163, 5073863237, 5073994333, 5074125409, 5074256503, 5074387583, + 5074518667, 5074649779, 5074780859, 5074911931, 5075043011, 5075174107, 5075305181, + 5075436259, 5075567339, 5075698423, 5075829509, 5075960581, 5076091681, 5076222803, + 5076353903, 5076485027, 5076616121, 5076747211, 5076878311, 5077009409, 5077140503, + 5077271593, 5077402709, 5077533781, 5077664959, 5077796039, 5077927133, 5078058241, + 5078189321, 5078320421, 5078451523, 5078582611, 5078713693, 5078844781, 5078975873, + 5079106969, 5079238049, 5079369121, 5079500201, 5079631273, 5079762349, 5079893453, + 5080024531, 5080155607, 5080286683, 5080417781, 5080548877, 5080679953, 5080811039, + 5080942123, 5081073247, 5081204329, 5081335423, 5081466527, 5081597617, 5081728693, + 5081859773, 5081990873, 5082121973, 5082253049, 5082384133, 5082515213, 5082646291, + 5082777367, 5082908461, 5083039541, 5083170619, 5083301701, 5083432789, 5083563871, + 5083694947, 5083826039, 5083957157, 5084088253, 5084219339, 5084350423, 5084481539, + 5084612627, 5084743747, 5084874857, 5085005951, 5085137027, 5085268103, 5085399181, + 5085530257, 5085661337, 5085792421, 5085923503, 5086054651, 5086185733, 5086316843, + 5086447921, 5086579021, 5086710103, 5086841183, 5086972259, 5087103337, 5087234417, + 5087365489, 5087496577, 5087627653, 5087758747, 5087889853, 5088020947, 5088152039, + 5088283111, 5088414197, 5088545311, 5088676441, 5088807539, 5088938639, 5089069757, + 5089200829, 5089331957, 5089463039, 5089594127, 5089725227, 5089856311, 5089987411, + 5090118493, 5090249617, 5090380693, 5090511821, 5090642899, 5090773973, 5090905069, + 5091036143, 5091167267, 5091298339, 5091429461, 5091560543, 5091691637, 5091822709, + 5091953791, 5092084871, 5092215971, 5092347047, 5092478143, 5092609229, 5092740313, + 5092871387, 5093002469, 5093133541, 5093264633, 5093395717, 5093526793, 5093657869, + 5093788949, 5093920021, 5094051113, 5094182231, 5094313303, 5094444379, 5094575461, + 5094706541, 5094837613, 5094968713, 5095099819, 5095230923, 5095362037, 5095493119, + 5095624207, 5095755299, 5095886401, 5096017477, 5096148557, 5096279647, 5096410721, + 5096541811, 5096672887, 5096803973, 5096935073, 5097066211, 5097197381, 5097328469, + 5097459541, 5097590627, 5097721729, 5097852853, 5097983941, 5098115063, 5098246151, + 5098377239, 5098508329, 5098639411, 5098770487, 5098901641, 5099032739, 5099163829, + 5099294903, 5099425997, 5099557097, 5099688173, 5099819267, 5099950363, 5100081457, + 5100212549, 5100343627, 5100474707, 5100605813, 5100736919, 5100868001, 5100999083, + 5101130161, 5101261267, 5101392367, 5101523467, 5101654577, 5101785649, 5101916821, + 5102047901, 5102178979, 5102310089, 5102441209, 5102572289, 5102703373, 5102834483, + 5102965561, 5103096643, 5103227743, 5103358831, 5103489907, 5103621013, 5103752111, + 5103883219, 5104014299, 5104145383, 5104276483, 5104407569, 5104538653, 5104669727, + 5104800821, 5104931899, 5105062993, 5105194069, 5105325149, 5105456227, 5105587313, + 5105718403, 5105849477, 5105980553, 5106111643, 5106242731, 5106373807, 5106504883, + 5106635957, 5106767053, 5106898151, 5107029223, 5107160297, 5107291391, 5107422469, + 5107553543, 5107684619, 5107815703, 5107946791, 5108077879, 5108208961, 5108340077, + 5108471171, 5108602267, 5108733367, 5108864441, 5108995531, 5109126623, 5109257711, + 5109388829, 5109519901, 5109650983, 5109782057, 5109913141, 5110044217, 5110175293, + 5110306429, 5110437539, 5110568627, 5110699709, 5110830797, 5110961917, 5111092999, + 5111224073, 5111355181, 5111486257, 5111617337, 5111748437, 5111879537, 5112010621, + 5112141719, 5112272797, 5112403873, 5112534983, 5112666079, 5112797177, 5112928277, + 5113059361, 5113190441, 5113321513, 5113452587, 5113583711, 5113714783, 5113845899, + 5113976983, 5114108081, 5114239157, 5114370241, 5114501321, 5114632441, 5114763541, + 5114894627, 5115025781, 5115156863, 5115287993, 5115419107, 5115550211, 5115681283, + 5115812357, 5115943453, 5116074541, 5116205669, 5116336789, 5116467869, 5116598947, + 5116730027, 5116861117, 5116992191, 5117123311, 5117254397, 5117385487, 5117516567, + 5117647771, 5117778847, 5117909921, 5118041003, 5118172153, 5118303241, 5118434323, + 5118565447, 5118696521, 5118827603, 5118958681, 5119089761, 5119220851, 5119351961, + 5119483043, 5119614121, 5119745207, 5119876301, 5120007457, 5120138609, 5120269681, + 5120400773, 5120531849, 5120662927, 5120794001, 5120925077, 5121056159, 5121187231, + 5121318317, 5121449453, 5121580571, 5121711659, 5121842741, 5121973837, 5122104919, + 5122236013, 5122367101, 5122498207, 5122629289, 5122760389, 5122891507, 5123022581, + 5123153663, 5123284757, 5123415833, 5123546947, 5123678023, 5123809109, 5123940221, + 5124071327, 5124202469, 5124333619, 5124464693, 5124595789, 5124726869, 5124857987, + 5124989059, 5125120139, 5125251221, 5125382347, 5125513483, 5125644593, 5125775701, + 5125906781, 5126037877, 5126168987, 5126300059, 5126431139, 5126562227, 5126693321, + 5126824393, 5126955469, 5127086557, 5127217651, 5127348763, 5127479843, 5127610927, + 5127742003, 5127873089, 5128004171, 5128135253, 5128266331, 5128397419, 5128528541, + 5128659631, 5128790713, 5128921841, 5129052913, 5129183987, 5129315101, 5129446199, + 5129577289, 5129708383, 5129839457, 5129970533, 5130101609, 5130232699, 5130363809, + 5130494899, 5130625999, 5130757129, 5130888223, 5131019317, 5131150403, 5131281481, + 5131412563, 5131543657, 5131674749, 5131805857, 5131936937, 5132068021, 5132199101, + 5132330191, 5132461273, 5132592397, 5132723473, 5132854583, 5132985721, 5133116827, + 5133247907, 5133379019, 5133510113, 5133641203, 5133772277, 5133903361, 5134034449, + 5134165567, 5134296649, 5134427807, 5134558889, 5134689961, 5134821053, 5134952161, + 5135083237, 5135214311, 5135345387, 5135476459, 5135607557, 5135738653, 5135869729, + 5136000839, 5136131929, 5136263047, 5136394157, 5136525307, 5136656381, 5136787471, + 5136918557, 5137049633, 5137180757, 5137311833, 5137442911, 5137573993, 5137705103, + 5137836191, 5137967267, 5138098373, 5138229491, 5138360567, 5138491639, 5138622733, + 5138753833, 5138884939, 5139016087, 5139147187, 5139278273, 5139409357, 5139540443, + 5139671521, 5139802601, 5139933691, 5140064773, 5140195861, 5140326959, 5140458053, + 5140589141, 5140720223, 5140851341, 5140982477, 5141113567, 5141244643, 5141375783, + 5141506919, 5141637997, 5141769097, 5141900173, 5142031249, 5142162331, 5142293413, + 5142424493, 5142555577, 5142686657, 5142817769, 5142948847, 5143079927, 5143210999, + 5143342081, 5143473169, 5143604251, 5143735349, 5143866439, 5143997519, 5144128601, + 5144259677, 5144390767, 5144521841, 5144652917, 5144784019, 5144915099, 5145046199, + 5145177277, 5145308369, 5145439441, 5145570517, 5145701591, 5145832667, 5145963763, + 5146094879, 5146225951, 5146357031, 5146488107, 5146619197, 5146750303, 5146881379, + 5147012471, 5147143553, 5147274653, 5147405759, 5147536841, 5147667919, 5147799001, + 5147930083, 5148061157, 5148192233, 5148323329, 5148454417, 5148585503, 5148716591, + 5148847663, 5148978781, 5149109887, 5149240979, 5149372061, 5149503137, 5149634219, + 5149765303, 5149896413, 5150027503, 5150158577, 5150289671, 5150420749, 5150551849, + 5150682923, 5150814073, 5150945153, 5151076237, 5151207311, 5151338383, 5151469457, + 5151600533, 5151731623, 5151862753, 5151993829, 5152124917, 5152256033, 5152387169, + 5152518251, 5152649377, 5152780463, 5152911553, 5153042677, 5153173783, 5153304881, + 5153436011, 5153567093, 5153698177, 5153829257, 5153960341, 5154091447, 5154222527, + 5154353609, 5154484747, 5154615827, 5154746963, 5154878051, 5155009133, 5155140217, + 5155271327, 5155402403, 5155533497, 5155664587, 5155795699, 5155926779, 5156057861, + 5156188957, 5156320069, 5156451187, 5156582281, 5156713363, 5156844439, 5156975533, + 5157106609, 5157237689, 5157368779, 5157499877, 5157630949, 5157762031, 5157893131, + 5158024241, 5158155341, 5158286417, 5158417489, 5158548587, 5158679671, 5158810747, + 5158941833, 5159072939, 5159204059, 5159335133, 5159466211, 5159597293, 5159728367, + 5159859473, 5159990557, 5160121643, 5160252737, 5160383843, 5160514927, 5160646009, + 5160777101, 5160908173, 5161039283, 5161170379, 5161301459, 5161432547, 5161563697, + 5161694777, 5161825871, 5161956967, 5162088047, 5162219119, 5162350247, 5162481343, + 5162612459, 5162743543, 5162874643, 5163005719, 5163136813, 5163267911, 5163398987, + 5163530063, 5163661147, 5163792223, 5163923333, 5164054411, 5164185511, 5164316639, + 5164447711, 5164578821, 5164709897, 5164840979, 5164972073, 5165103191, 5165234273, + 5165365351, 5165496439, 5165627521, 5165758621, 5165889697, 5166020801, 5166151933, + 5166283013, 5166414101, 5166545201, 5166676303, 5166807383, 5166938461, 5167069541, + 5167200617, 5167331749, 5167462823, 5167593943, 5167725041, 5167856123, 5167987211, + 5168118323, 5168249419, 5168380507, 5168511583, 5168642659, 5168773751, 5168904823, + 5169035897, 5169166969, 5169298049, 5169429197, 5169560281, 5169691367, 5169822439, + 5169953531, 5170084631, 5170215709, 5170346791, 5170477867, 5170608943, 5170740019, + 5170871093, 5171002259, 5171133337, 5171264467, 5171395549, 5171526641, 5171657717, + 5171788819, 5171919967, 5172051041, 5172182123, 5172313243, 5172444331, 5172575407, + 5172706529, 5172837613, 5172968693, 5173099777, 5173230851, 5173361929, 5173493053, + 5173624129, 5173755211, 5173886287, 5174017361, 5174148437, 5174279573, 5174410673, + 5174541761, 5174672849, 5174803967, 5174935049, 5175066133, 5175197231, 5175328307, + 5175459389, 5175590477, 5175721567, 5175852667, 5175983783, 5176114861, 5176245937, + 5176377029, 5176508119, 5176639231, 5176770329, 5176901407, 5177032507, 5177163613, + 5177294701, 5177425777, 5177556851, 5177687923, 5177819021, 5177950093, 5178081173, + 5178212251, 5178343367, 5178474439, 5178605513, 5178736657, 5178867737, 5178998831, + 5179129913, 5179260991, 5179392067, 5179523147, 5179654219, 5179785313, 5179916393, + 5180047529, 5180178643, 5180309723, 5180440819, 5180571917, 5180703061, 5180834147, + 5180965259, 5181096353, 5181227449, 5181358531, 5181489623, 5181620699, 5181751789, + 5181882883, 5182013957, 5182145047, 5182276153, 5182407229, 5182538341, 5182669421, + 5182800509, 5182931623, 5183062721, 5183193797, 5183324893, 5183455997, 5183587081, + 5183718157, 5183849257, 5183980343, 5184111467, 5184242579, 5184373679, 5184504757, + 5184635837, 5184766967, 5184898039, 5185029119, 5185160207, 5185291303, 5185422409, + 5185553497, 5185684579, 5185815667, 5185946741, 5186077837, 5186208913, 5186339993, + 5186471093, 5186602193, 5186733271, 5186864357, 5186995433, 5187126517, 5187257599, + 5187388693, 5187519773, 5187650863, 5187781943, 5187913021, 5188044143, 5188175227, + 5188306303, 5188437379, 5188568471, 5188699547, 5188830629, 5188961711, 5189092819, + 5189223947, 5189355037, 5189486111, 5189617187, 5189748259, 5189879341, 5190010451, + 5190141527, 5190272611, 5190403693, 5190534883, 5190665957, 5190797047, 5190928139, + 5191059239, 5191190357, 5191321451, 5191452523, 5191583599, 5191714673, 5191845749, + 5191976827, 5192107919, 5192239033, 5192370109, 5192501189, 5192632267, 5192763343, + 5192894417, 5193025493, 5193156587, 5193287663, 5193418777, 5193549857, 5193680939, + 5193812011, 5193943087, 5194074161, 5194205249, 5194336321, 5194467403, 5194598501, + 5194729591, 5194860703, 5194991777, 5195122909, 5195253991, 5195385071, 5195516153, + 5195647229, 5195778311, 5195909417, 5196040489, 5196171571, 5196302653, 5196433763, + 5196564871, 5196695993, 5196827071, 5196958171, 5197089251, 5197220363, 5197351441, + 5197482527, 5197613611, 5197744753, 5197875829, 5198006903, 5198137999, 5198269081, + 5198400187, 5198531291, 5198662367, 5198793461, 5198924567, 5199055639, 5199186763, + 5199317839, 5199448921, 5199580039, 5199711149, 5199842281, 5199973369, 5200104461, + 5200235539, 5200366621, 5200497697, 5200628827, 5200759903, 5200891009, 5201022097, + 5201153171, 5201284261, 5201415361, 5201546437, 5201677511, 5201808607, 5201939723, + 5202070799, 5202201883, 5202332959, 5202464087, 5202595159, 5202726239, 5202857353, + 5202988463, 5203119589, 5203250737, 5203381853, 5203512943, 5203644059, 5203775147, + 5203906237, 5204037323, 5204168413, 5204299489, 5204430577, 5204561651, 5204692741, + 5204823817, 5204954893, 5205085979, 5205217057, 5205348179, 5205479281, 5205610369, + 5205741449, 5205872557, 5206003639, 5206134793, 5206265873, 5206396963, 5206528037, + 5206659119, 5206790213, 5206921333, 5207052511, 5207183587, 5207314669, 5207445779, + 5207576879, 5207707987, 5207839097, 5207970239, 5208101357, 5208232453, 5208363527, + 5208494611, 5208625687, 5208756793, 5208887897, 5209018979, 5209150087, 5209281169, + 5209412251, 5209543333, 5209674427, 5209805539, 5209936657, 5210067739, 5210198839, + 5210329913, 5210460989, 5210592061, 5210723149, 5210854247, 5210985319, 5211116411, + 5211247487, 5211378559, 5211509669, 5211640783, 5211771869, 5211902981, 5212034081, + 5212165159, 5212296241, 5212427329, 5212558423, 5212689523, 5212820611, 5212951693, + 5213082767, 5213213851, 5213345021, 5213476097, 5213607193, 5213738267, 5213869361, + 5214000481, 5214131567, 5214262667, 5214393739, 5214524857, 5214655931, 5214787013, + 5214918089, 5215049197, 5215180283, 5215311359, 5215442443, 5215573523, 5215704617, + 5215835689, 5215966793, 5216097877, 5216229001, 5216360113, 5216491237, 5216622337, + 5216753413, 5216884637, 5217015731, 5217146827, 5217277903, 5217409003, 5217540101, + 5217671183, 5217802267, 5217933353, 5218064461, 5218195573, 5218326697, 5218457771, + 5218588853, 5218719937, 5218851013, 5218982089, 5219113177, 5219244287, 5219375407, + 5219506547, 5219637623, 5219768717, 5219899831, 5220030923, 5220162007, 5220293087, + 5220424169, 5220555251, 5220686329, 5220817411, 5220948511, 5221079621, 5221210693, + 5221341773, 5221472863, 5221603939, 5221735019, 5221866113, 5221997191, 5222128333, + 5222259409, 5222390501, 5222521631, 5222652703, 5222783791, 5222914897, 5223045973, + 5223177061, 5223308137, 5223439217, 5223570311, 5223701423, 5223832529, 5223963623, + 5224094723, 5224225813, 5224356901, 5224487987, 5224619087, 5224750189, 5224881293, + 5225012371, 5225143463, 5225274583, 5225405659, 5225536733, 5225667877, 5225798953, + 5225930029, 5226061109, 5226192197, 5226323299, 5226454399, 5226585541, 5226716641, + 5226847723, 5226978817, 5227109911, 5227241059, 5227372141, 5227503241, 5227634323, + 5227765481, 5227896581, 5228027653, 5228158739, 5228289851, 5228420957, 5228552051, + 5228683123, 5228814209, 5228945287, 5229076387, 5229207461, 5229338539, 5229469613, + 5229600697, 5229731809, 5229862901, 5229993983, 5230125071, 5230256153, 5230387237, + 5230518311, 5230649399, 5230780481, 5230911557, 5231042629, 5231173741, 5231304817, + 5231435899, 5231566979, 5231698063, 5231829143, 5231960291, 5232091363, 5232222449, + 5232353561, 5232484633, 5232615721, 5232746797, 5232877873, 5233008997, 5233140091, + 5233271171, 5233402249, 5233533353, 5233664441, 5233795529, 5233926601, 5234057681, + 5234188783, 5234319863, 5234450951, 5234582039, 5234713153, 5234844227, 5234975357, + 5235106447, 5235237541, 5235368627, 5235499699, 5235630779, 5235761857, 5235892943, + 5236024033, 5236155131, 5236286203, 5236417349, 5236548433, 5236679563, 5236810639, + 5236941761, 5237072839, 5237203913, 5237334989, 5237466079, 5237597173, 5237728267, + 5237859377, 5237990449, 5238121529, 5238252631, 5238383729, 5238514811, 5238645911, + 5238776993, 5238908089, 5239039171, 5239170263, 5239301381, 5239432477, 5239563551, + 5239694641, 5239825729, 5239956803, 5240087893, 5240218967, 5240350051, 5240481139, + 5240612227, 5240743301, 5240874389, 5241005477, 5241136553, 5241267673, 5241398807, + 5241529883, 5241660959, 5241792041, 5241923119, 5242054273, 5242185349, 5242316461, + 5242447549, 5242578631, 5242709749, 5242840843, 5242971941, 5243103037, 5243234137, + 5243365217, 5243496301, 5243627381, 5243758489, 5243889659, 5244020777, 5244151849, + 5244282937, 5244414011, 5244545083, 5244676163, 5244807257, 5244938357, 5245069433, + 5245200511, 5245331591, 5245462681, 5245593799, 5245724893, 5245855997, 5245987069, + 5246118181, 5246249273, 5246380361, 5246511443, 5246642521, 5246773621, 5246904709, + 5247035797, 5247166871, 5247297953, 5247429029, 5247560107, 5247691199, 5247822299, + 5247953371, 5248084451, 5248215523, 5248346617, 5248477699, 5248608817, 5248739891, + 5248870993, 5249002067, 5249133151, 5249264287, 5249395421, 5249526523, 5249657617, + 5249788727, 5249919839, 5250050921, 5250181997, 5250313139, 5250444223, 5250575339, + 5250706423, 5250837521, 5250968599, 5251099691, 5251230779, 5251361851, 5251492997, + 5251624069, 5251755143, 5251886221, 5252017307, 5252148383, 5252279479, 5252410573, + 5252541661, 5252672741, 5252803813, 5252934917, 5253065989, 5253197077, 5253328187, + 5253459317, 5253590417, 5253721511, 5253852587, 5253983687, 5254114771, 5254245853, + 5254376971, 5254508089, 5254639189, 5254770263, 5254901339, 5255032439, 5255163517, + 5255294591, 5255425699, 5255556781, 5255687867, 5255818961, 5255950043, 5256081121, + 5256212209, 5256343327, 5256474451, 5256605527, 5256736601, 5256867683, 5256998777, + 5257129853, 5257260941, 5257392013, 5257523107, 5257654189, 5257785319, 5257916401, + 5258047499, 5258178571, 5258309669, 5258440819, 5258571931, 5258703031, 5258834129, + 5258965207, 5259096307, 5259227381, 5259358469, 5259489577, 5259620669, 5259751759, + 5259882833, 5260013923, 5260145021, 5260276093, 5260407167, 5260538249, 5260669331, + 5260800439, 5260931513, 5261062613, 5261193709, 5261324791, 5261455999, 5261587099, + 5261718173, 5261849249, 5261980351, 5262111443, 5262242521, 5262373601, 5262504697, + 5262635813, 5262766897, 5262897977, 5263029067, 5263160171, 5263291247, 5263422397, + 5263553479, 5263684553, 5263815691, 5263946767, 5264077849, 5264208947, 5264340049, + 5264471131, 5264602241, 5264733319, 5264864393, 5264995469, 5265126541, 5265257623, + 5265388769, 5265519887, 5265650989, 5265782063, 5265913139, 5266044211, 5266175287, + 5266306403, 5266437479, 5266568551, 5266699651, 5266830733, 5266961809, 5267092889, + 5267223971, 5267355059, 5267486153, 5267617249, 5267748329, 5267879423, 5268010511, + 5268141629, 5268272707, 5268403783, 5268534857, 5268665929, 5268797011, 5268928087, + 5269059161, 5269190233, 5269321307, 5269452401, 5269583489, 5269714579, 5269845673, + 5269976807, 5270107901, 5270238973, 5270370067, 5270501141, 5270632259, 5270763341, + 5270894413, 5271025489, 5271156563, 5271287641, 5271418723, 5271549809, 5271680899, + 5271812017, 5271943109, 5272074239, 5272205321, 5272336393, 5272467469, 5272598561, + 5272729633, 5272860751, 5272991833, 5273122937, 5273254013, 5273385097, 5273516197, + 5273647273, 5273778359, 5273909447, 5274040529, 5274171619, 5274302711, 5274433811, + 5274564913, 5274696019, 5274827113, 5274958193, 5275089269, 5275220341, 5275351421, + 5275482521, 5275613617, 5275744697, 5275875853, 5276006927, 5276138009, 5276269093, + 5276400193, 5276531279, 5276662373, 5276793463, 5276924573, 5277055681, 5277186763, + 5277317863, 5277448951, 5277580129, 5277711211, 5277842291, 5277973423, 5278104521, + 5278235609, 5278366711, 5278497793, 5278628867, 5278759939, 5278891019, 5279022097, + 5279153197, 5279284321, 5279415419, 5279546491, 5279677583, 5279808691, 5279939767, + 5280070841, 5280201919, 5280332999, 5280464071, 5280595169, 5280726257, 5280857353, + 5280988451, 5281119527, 5281250633, 5281381709, 5281512787, 5281643891, 5281774991, + 5281906087, 5282037161, 5282168267, 5282299349, 5282430427, 5282561527, 5282692661, + 5282823737, 5282954821, 5283085967, 5283217039, 5283348127, 5283479219, 5283610291, + 5283741373, 5283872449, 5284003561, 5284134637, 5284265713, 5284396813, 5284527887, + 5284658959, 5284790039, 5284921151, 5285052313, 5285183399, 5285314481, 5285445559, + 5285576671, 5285707807, 5285838881, 5285969957, 5286101081, 5286232169, 5286363317, + 5286494401, 5286625481, 5286756569, 5286887741, 5287018813, 5287149899, 5287281001, + 5287412077, 5287543189, 5287674269, 5287805353, 5287936439, 5288067523, 5288198599, + 5288329687, 5288460761, 5288591843, 5288723003, 5288854121, 5288985193, 5289116299, + 5289247409, 5289378509, 5289509587, 5289640711, 5289771787, 5289902867, 5290033943, + 5290165031, 5290296119, 5290427201, 5290558289, 5290689361, 5290820443, 5290951517, + 5291082611, 5291213699, 5291344783, 5291475863, 5291606963, 5291738069, 5291869183, + 5292000271, 5292131357, 5292262471, 5292393553, 5292524771, 5292655867, 5292786949, + 5292918041, 5293049131, 5293180213, 5293311299, 5293442377, 5293573457, 5293704557, + 5293835633, 5293966709, 5294097811, 5294228897, 5294359991, 5294491063, 5294622163, + 5294753257, 5294884333, 5295015491, 5295146629, 5295277763, 5295408847, 5295539957, + 5295671033, 5295802111, 5295933199, 5296064299, 5296195379, 5296326457, 5296457561, + 5296588639, 5296719713, 5296850809, 5296981889, 5297112979, 5297244059, 5297375131, + 5297506213, 5297637343, 5297768417, 5297899517, 5298030593, 5298161677, 5298292757, + 5298423829, 5298554923, 5298686011, 5298817151, 5298948223, 5299079341, 5299210429, + 5299341533, 5299472627, 5299603711, 5299734857, 5299865933, 5299997029, 5300128121, + 5300259227, 5300390327, 5300521417, 5300652491, 5300783599, 5300914679, 5301045781, + 5301176891, 5301307969, 5301439049, 5301570151, 5301701257, 5301832337, 5301963437, + 5302094519, 5302225597, 5302356671, 5302487747, 5302618891, 5302749989, 5302881061, + 5303012137, 5303143213, 5303274313, 5303405399, 5303536493, 5303667571, 5303798657, + 5303929733, 5304060851, 5304191933, 5304323009, 5304454081, 5304585173, 5304716257, + 5304847337, 5304978409, 5305109507, 5305240607, 5305371749, 5305502821, 5305633933, + 5305765019, 5305896103, 5306027197, 5306158283, 5306289367, 5306420479, 5306551571, + 5306682643, 5306813717, 5306944829, 5307075911, 5307207007, 5307338083, 5307469159, + 5307600257, 5307731399, 5307862487, 5307993599, 5308124687, 5308255789, 5308386899, + 5308518029, 5308649161, 5308780261, 5308911337, 5309042411, 5309173543, 5309304667, + 5309435773, 5309566883, 5309697971, 5309829067, 5309960167, 5310091271, 5310222343, + 5310353423, 5310484523, 5310615619, 5310746699, 5310877771, 5311008853, 5311139927, + 5311271023, 5311402127, 5311533223, 5311664329, 5311795427, 5311926517, 5312057593, + 5312188667, 5312319767, 5312450903, 5312581987, 5312713067, 5312844149, 5312975231, + 5313106303, 5313237379, 5313368477, 5313499553, 5313630631, 5313761707, 5313892783, + 5314023901, 5314154983, 5314286063, 5314417151, 5314548257, 5314679333, 5314810411, + 5314941487, 5315072573, 5315203651, 5315334727, 5315465851, 5315596931, 5315728031, + 5315859151, 5315990233, 5316121319, 5316252401, 5316383477, 5316514549, 5316645629, + 5316776713, 5316907823, 5317038931, 5317170013, 5317301113, 5317432189, 5317563287, + 5317694411, 5317825483, 5317956557, 5318087641, 5318218721, 5318349847, 5318480933, + 5318612009, 5318743139, 5318874217, 5319005353, 5319136463, 5319267559, 5319398639, + 5319529741, 5319660821, 5319791933, 5319923027, 5320054099, 5320185179, 5320316273, + 5320447351, 5320578427, 5320709501, 5320840573, 5320971647, 5321102737, 5321233843, + 5321364959, 5321496031, 5321627111, 5321758207, 5321889299, 5322020381, 5322151453, + 5322282557, 5322413633, 5322544723, 5322675829, 5322806933, 5322938009, 5323069091, + 5323200163, 5323331267, 5323462363, 5323593439, 5323724531, 5323855631, 5323986727, + 5324117807, 5324248901, 5324379979, 5324511067, 5324642153, 5324773253, 5324904331, + 5325035413, 5325166489, 5325297581, 5325428657, 5325559747, 5325690833, 5325821911, + 5325952991, 5326084063, 5326215149, 5326346237, 5326477313, 5326608401, 5326739477, + 5326870589, 5327001721, 5327132827, 5327263951, 5327395039, 5327526121, 5327657243, + 5327788351, 5327919463, 5328050591, 5328181673, 5328312749, 5328443821, 5328574919, + 5328706001, 5328837089, 5328968201, 5329099273, 5329230419, 5329361491, 5329492577, + 5329623653, 5329754737, 5329885837, 5330016929, 5330148011, 5330279111, 5330410193, + 5330541269, 5330672341, 5330803433, 5330934517, 5331065617, 5331196709, 5331327791, + 5331458863, 5331589969, 5331721051, 5331852133, 5331983219, 5332114301, 5332245377, + 5332376449, 5332507541, 5332638643, 5332769723, 5332900813, 5333031901, 5333162977, + 5333294051, 5333425133, 5333556223, 5333687297, 5333818379, 5333949469, 5334080561, + 5334211637, 5334342733, 5334473813, 5334604903, 5334736021, 5334867107, 5334998237, + 5335129321, 5335260397, 5335391471, 5335522547, 5335653619, 5335784737, 5335915829, + 5336046913, 5336177993, 5336309071, 5336440147, 5336571257, 5336702353, 5336833441, + 5336964553, 5337095633, 5337226709, 5337357787, 5337488869, 5337619943, 5337751019, + 5337882103, 5338013201, 5338144291, 5338275379, 5338406587, 5338537679, 5338668757, + 5338799831, 5338930939, 5339062049, 5339193131, 5339324231, 5339455309, 5339586391, + 5339717473, 5339848583, 5339979661, 5340110753, 5340241831, 5340372929, 5340504023, + 5340635141, 5340766217, 5340897301, 5341028387, 5341159459, 5341290533, 5341421627, + 5341552747, 5341683827, 5341814899, 5341945981, 5342077063, 5342208149, 5342339263, + 5342470339, 5342601419, 5342732501, 5342863577, 5342994649, 5343125731, 5343256823, + 5343387901, 5343518977, 5343650051, 5343781169, 5343912251, 5344043323, 5344174411, + 5344305511, 5344436623, 5344567733, 5344698829, 5344829911, 5344960991, 5345092073, + 5345223193, 5345354281, 5345485363, 5345616457, 5345747543, 5345878631, 5346009743, + 5346140857, 5346271951, 5346403039, 5346534121, 5346665209, 5346796303, 5346927409, + 5347058491, 5347189567, 5347320647, 5347451729, 5347582843, 5347713977, 5347845053, + 5347976141, 5348107273, 5348238349, 5348369431, 5348500529, 5348631601, 5348762681, + 5348893793, 5349024869, 5349155951, 5349287023, 5349418103, 5349549181, 5349680269, + 5349811343, 5349942419, 5350073507, 5350204591, 5350335689, 5350466773, 5350597951, + 5350729031, 5350860107, 5350991207, 5351122279, 5351253361, 5351384449, 5351515531, + 5351646617, 5351777689, 5351908763, 5352039839, 5352170939, 5352302023, 5352433117, + 5352564197, 5352695279, 5352826373, 5352957451, 5353088561, 5353219633, 5353350721, + 5353481801, 5353612883, 5353743977, 5353875053, 5354006131, 5354137237, 5354268313, + 5354399419, 5354530501, 5354661601, 5354792687, 5354923793, 5355054871, 5355185971, + 5355317087, 5355448177, 5355579259, 5355710351, 5355841457, 5355972541, 5356103617, + 5356234699, 5356365779, 5356496861, 5356627967, 5356759061, 5356890139, 5357021239, + 5357152313, 5357283403, 5357414479, 5357545559, 5357676637, 5357807713, 5357938811, + 5358069887, 5358200971, 5358332069, 5358463153, 5358594281, 5358725353, 5358856427, + 5358987509, 5359118599, 5359249681, 5359380791, 5359511863, 5359642963, 5359774037, + 5359905121, 5360036257, 5360167339, 5360298413, 5360429489, 5360560577, 5360691649, + 5360822807, 5360953883, 5361084977, 5361216059, 5361347153, 5361478249, 5361609343, + 5361740431, 5361871517, 5362002617, 5362133701, 5362264777, 5362395851, 5362526941, + 5362658069, 5362789147, 5362920229, 5363051311, 5363182471, 5363313547, 5363444629, + 5363575703, 5363706779, 5363837851, 5363968949, 5364100033, 5364231113, 5364362221, + 5364493313, 5364624389, 5364755489, 5364886561, 5365017673, 5365148783, 5365279891, + 5365410989, 5365542067, 5365673149, 5365804243, 5365935319, 5366066413, 5366197489, + 5366328571, 5366459653, 5366590739, 5366721863, 5366852941, 5366984071, 5367115153, + 5367246271, 5367377357, 5367508451, 5367639523, 5367770609, 5367901681, 5368032793, + 5368163869, 5368294949, 5368426051, 5368557133, 5368688291, 5368819363, 5368950497, + 5369081573, 5369212657, 5369343799, 5369474893, 5369605973, 5369737081, 5369868169, + 5369999251, 5370130343, 5370261433, 5370392509, 5370523583, 5370654691, 5370785767, + 5370916843, 5371047937, 5371179013, 5371310099, 5371441199, 5371572277, 5371703357, + 5371834519, 5371965593, 5372096687, 5372227759, 5372358839, 5372489933, 5372621053, + 5372752139, 5372883211, 5373014299, 5373145397, 5373276481, 5373407569, 5373538741, + 5373669817, 5373800893, 5373931973, 5374063067, 5374194157, 5374325233, 5374456333, + 5374587431, 5374718543, 5374849703, 5374980799, 5375111887, 5375242963, 5375374051, + 5375505133, 5375636213, 5375767289, 5375898377, 5376029471, 5376160619, 5376291703, + 5376422791, 5376553979, 5376685109, 5376816187, 5376947273, 5377078349, 5377209421, + 5377340513, 5377471601, 5377602679, 5377733821, 5377864909, 5377995983, 5378127091, + 5378258167, 5378389243, 5378520319, 5378651413, 5378782529, 5378913613, 5379044743, + 5379175829, 5379306913, 5379437989, 5379569087, 5379700163, 5379831239, 5379962383, + 5380093483, 5380224557, 5380355633, 5380486777, 5380617937, 5380749037, 5380880129, + 5381011201, 5381142281, 5381273363, 5381404499, 5381535587, 5381666669, 5381797769, + 5381928889, 5382059983, 5382191117, 5382322229, 5382453311, 5382584413, 5382715493, + 5382846577, 5382977653, 5383108727, 5383239817, 5383370917, 5383501997, 5383633081, + 5383764167, 5383895263, 5384026337, 5384157421, 5384288519, 5384419637, 5384550757, + 5384681843, 5384812949, 5384944027, 5385075139, 5385206221, 5385337297, 5385468427, + 5385599501, 5385730579, 5385861653, 5385992747, 5386123823, 5386254901, 5386386001, + 5386517089, 5386648187, 5386779271, 5386910363, 5387041453, 5387172541, 5387303641, + 5387434721, 5387565797, 5387696869, 5387827961, 5387959081, 5388090157, 5388221287, + 5388352373, 5388483461, 5388614563, 5388745643, 5388876743, 5389007917, 5389139047, + 5389270163, 5389401247, 5389532353, 5389663451, 5389794533, 5389925621, 5390056697, + 5390187769, 5390318849, 5390449931, 5390581019, 5390712127, 5390843203, 5390974279, + 5391105371, 5391236507, 5391367621, 5391498709, 5391629797, 5391760877, 5391891949, + 5392023029, 5392154111, 5392285189, 5392416319, 5392547393, 5392678537, 5392809619, + 5392940701, 5393071799, 5393202887, 5393333983, 5393465057, 5393596157, 5393727233, + 5393858329, 5393989421, 5394120493, 5394251567, 5394382661, 5394513737, 5394644809, + 5394775907, 5394906991, 5395038083, 5395169191, 5395300271, 5395431397, 5395562503, + 5395693591, 5395824673, 5395955783, 5396086859, 5396217941, 5396349031, 5396480113, + 5396611217, 5396742289, 5396873381, 5397004499, 5397135577, 5397266663, 5397397771, + 5397528853, 5397659957, 5397791029, 5397922109, 5398053191, 5398184263, 5398315343, + 5398446437, 5398577539, 5398708613, 5398839701, 5398970791, 5399101913, 5399232991, + 5399364073, 5399495147, 5399626237, 5399757313, 5399888401, 5400019477, 5400150557, + 5400281629, 5400412711, 5400543839, 5400674953, 5400806029, 5400937121, 5401068221, + 5401199317, 5401330391, 5401461463, 5401592543, 5401723699, 5401854781, 5401985887, + 5402116987, 5402248067, 5402379163, 5402510237, 5402641319, 5402772407, 5402903483, + 5403034577, 5403165659, 5403296737, 5403427811, 5403558917, 5403690029, 5403821153, + 5403952237, 5404083319, 5404214437, 5404345511, 5404476587, 5404607699, 5404738771, + 5404869859, 5405000969, 5405132041, 5405263133, 5405394217, 5405525299, 5405656387, + 5405787463, 5405918549, 5406049637, 5406180757, 5406311849, 5406442927, 5406574007, + 5406705079, 5406836167, 5406967273, 5407098349, 5407229461, 5407360603, 5407491697, + 5407622777, 5407753849, 5407884929, 5408016007, 5408147123, 5408278201, 5408409311, + 5408540407, 5408671487, 5408802571, 5408933681, 5409064763, 5409195877, 5409326953, + 5409458069, 5409589147, 5409720241, 5409851389, 5409982493, 5410113571, 5410244647, + 5410375787, 5410506859, 5410637951, 5410769093, 5410900171, 5411031247, 5411162333, + 5411293417, 5411424503, 5411555587, 5411686751, 5411817841, 5411948939, 5412080017, + 5412211097, 5412342191, 5412473281, 5412604361, 5412735457, 5412866573, 5412997649, + 5413128731, 5413259837, 5413390987, 5413522061, 5413653139, 5413784219, 5413915291, + 5414046377, 5414177449, 5414308561, 5414439697, 5414570779, 5414701861, 5414832949, + 5414964031, 5415095143, 5415226217, 5415357301, 5415488383, 5415619459, 5415750559, + 5415881677, 5416012753, 5416143839, 5416274917, 5416405997, 5416537069, 5416668151, + 5416799231, 5416930333, 5417061437, 5417192537, 5417323619, 5417454703, 5417585777, + 5417716853, 5417847931, 5417979019, 5418110143, 5418241243, 5418372317, 5418503399, + 5418634493, 5418765581, 5418896663, 5419027777, 5419158881, 5419289963, 5419421039, + 5419552121, 5419683197, 5419814269, 5419945381, 5420076509, 5420207581, 5420338657, + 5420469799, 5420600891, 5420731963, 5420863037, 5420994121, 5421125221, 5421256319, + 5421387407, 5421518489, 5421649567, 5421780659, 5421911741, 5422042831, 5422173943, + 5422305019, 5422436147, 5422567247, 5422698349, 5422829429, 5422960507, 5423091631, + 5423222729, 5423353813, 5423484889, 5423615963, 5423747039, 5423878121, 5424009193, + 5424140317, 5424271403, 5424402479, 5424533581, 5424664667, 5424795743, 5424926863, + 5425057949, 5425189027, 5425320107, 5425451183, 5425582277, 5425713379, 5425844467, + 5425975549, 5426106667, 5426237753, 5426368841, 5426499919, 5426630999, 5426762119, + 5426893207, 5427024287, 5427155359, 5427286457, 5427417539, 5427548657, 5427679729, + 5427810803, 5427941933, 5428073011, 5428204097, 5428335191, 5428466293, 5428597381, + 5428728491, 5428859563, 5428990643, 5429121721, 5429252809, 5429383889, 5429514967, + 5429646043, 5429777123, 5429908201, 5430039281, 5430170443, 5430301549, 5430432673, + 5430563771, 5430694861, 5430825937, 5430957013, 5431088101, 5431219181, 5431350263, + 5431481339, 5431612423, 5431743547, 5431874633, 5432005729, 5432136811, 5432267909, + 5432398997, 5432530073, 5432661187, 5432792263, 5432923339, 5433054437, 5433185539, + 5433316613, 5433447787, 5433578861, 5433709933, 5433841013, 5433972091, 5434103167, + 5434234243, 5434365383, 5434496479, 5434627553, 5434758647, 5434889773, 5435020859, + 5435151949, 5435283023, 5435414203, 5435545277, 5435676377, 5435807453, 5435938531, + 5436069629, 5436200729, 5436331801, 5436462877, 5436593989, 5436725083, 5436856181, + 5436987263, 5437118383, 5437249483, 5437380577, 5437511663, 5437642739, 5437773811, + 5437904893, 5438036011, 5438167121, 5438298211, 5438429291, 5438560367, 5438691509, + 5438822611, 5438953691, 5439084817, 5439215897, 5439346973, 5439478067, 5439609157, + 5439740263, 5439871343, 5440002433, 5440133533, 5440264637, 5440395721, 5440526803, + 5440657907, 5440788979, 5440920059, 5441051159, 5441182259, 5441313331, 5441444423, + 5441575511, 5441706601, 5441837701, 5441968789, 5442099889, 5442231001, 5442362087, + 5442493211, 5442624283, 5442755387, 5442886459, 5443017539, 5443148611, 5443279693, + 5443410767, 5443541869, 5443672979, 5443804081, 5443935163, 5444066237, 5444197331, + 5444328431, 5444459551, 5444590631, 5444721727, 5444852807, 5444983889, 5445114973, + 5445246061, 5445377149, 5445508231, 5445639313, 5445770431, 5445901511, 5446032587, + 5446163687, 5446294759, 5446425857, 5446556933, 5446688011, 5446819093, 5446950169, + 5447081243, 5447212333, 5447343409, 5447474489, 5447605567, 5447736643, 5447867731, + 5447998813, 5448129913, 5448261019, 5448392093, 5448523187, 5448654259, 5448785347, + 5448916433, 5449047511, 5449178591, 5449309667, 5449440739, 5449571821, 5449702897, + 5449833971, 5449965049, 5450096131, 5450227261, 5450358343, 5450489417, 5450620507, + 5450751583, 5450882663, 5451013783, 5451144889, 5451275983, 5451407063, 5451538163, + 5451669239, 5451800327, 5451931409, 5452062547, 5452193629, 5452324729, 5452455847, + 5452586939, 5452718039, 5452849133, 5452980223, 5453111297, 5453242381, 5453373461, + 5453504561, 5453635637, 5453766733, 5453897863, 5454028963, 5454160051, 5454291173, + 5454422269, 5454553399, 5454684497, 5454815591, 5454946697, 5455077769, 5455208867, + 5455339949, 5455471051, 5455602179, 5455733267, 5455864367, 5455995451, 5456126531, + 5456257603, 5456388683, 5456519773, 5456650867, 5456781959, 5456913037, 5457044161, + 5457175261, 5457306389, 5457437467, 5457568591, 5457699671, 5457830789, 5457961867, + 5458092949, 5458224041, 5458355143, 5458486217, 5458617319, 5458748441, 5458879519, + 5459010611, 5459141689, 5459272817, 5459403899, 5459534981, 5459666071, 5459797177, + 5459928251, 5460059383, 5460190469, 5460321541, 5460452629, 5460583721, 5460714793, + 5460845867, 5460976943, 5461108019, 5461239101, 5461370179, 5461501267, 5461632343, + 5461763431, 5461894511, 5462025587, 5462156663, 5462287739, 5462418811, 5462549893, + 5462680981, 5462812057, 5462943173, 5463074249, 5463205369, 5463336493, 5463467579, + 5463598663, 5463729763, 5463860851, 5463991969, 5464123061, 5464254161, 5464385257, + 5464516333, 5464647469, 5464778563, 5464909661, 5465040733, 5465171851, 5465302943, + 5465434027, 5465565109, 5465696233, 5465827307, 5465958391, 5466089467, 5466220547, + 5466351629, 5466482701, 5466613777, 5466744863, 5466875969, 5467007089, 5467138267, + 5467269371, 5467400453, 5467531529, 5467662617, 5467793693, 5467924783, 5468055877, + 5468186987, 5468318069, 5468449171, 5468580251, 5468711327, 5468842399, 5468973473, + 5469104567, 5469235663, 5469366757, 5469497857, 5469628937, 5469760027, 5469891103, + 5470022179, 5470153289, 5470284427, 5470415537, 5470546667, 5470677739, 5470808831, + 5470939931, 5471071007, 5471202103, 5471333177, 5471464259, 5471595331, 5471726441, + 5471857513, 5471988631, 5472119717, 5472250807, 5472381907, 5472512989, 5472644069, + 5472775151, 5472906239, 5473037369, 5473168483, 5473299563, 5473430647, 5473561721, + 5473692799, 5473823879, 5473954961, 5474086039, 5474217113, 5474348221, 5474479303, + 5474610377, 5474741479, 5474872577, 5475003671, 5475134771, 5475265867, 5475396961, + 5475528067, 5475659141, 5475790213, 5475921287, 5476052383, 5476183469, 5476314541, + 5476445621, 5476576711, 5476707787, 5476838893, 5476969999, 5477101093, 5477232181, + 5477363291, 5477494381, 5477625457, 5477756539, 5477887619, 5478018701, 5478149783, + 5478280897, 5478412007, 5478543079, 5478674153, 5478805231, 5478936347, 5479067423, + 5479198601, 5479329677, 5479460801, 5479591891, 5479722979, 5479854067, 5479985143, + 5480116217, 5480247317, 5480378413, 5480509513, 5480640617, 5480771693, 5480902769, + 5481033847, 5481164999, 5481296081, 5481427169, 5481558241, 5481689327, 5481820429, + 5481951521, 5482082603, 5482213729, 5482344809, 5482475909, 5482607003, 5482738103, + 5482869187, 5483000309, 5483131399, 5483262481, 5483393557, 5483524661, 5483655757, + 5483786851, 5483917969, 5484049049, 5484180133, 5484311207, 5484442289, 5484573427, + 5484704501, 5484835589, 5484966727, 5485097803, 5485228901, 5485360003, 5485491091, + 5485622171, 5485753277, 5485884359, 5486015461, 5486146537, 5486277613, 5486408701, + 5486539789, 5486670877, 5486801981, 5486933059, 5487064151, 5487195239, 5487326323, + 5487457433, 5487588527, 5487719651, 5487850727, 5487981817, 5488112897, 5488243987, + 5488375073, 5488506161, 5488637251, 5488768343, 5488899457, 5489030609, 5489161687, + 5489292763, 5489423837, 5489554933, 5489686043, 5489817163, 5489948263, 5490079363, + 5490210437, 5490341537, 5490472613, 5490603689, 5490734827, 5490865903, 5490996983, + 5491128103, 5491259287, 5491390397, 5491521491, 5491652597, 5491783691, 5491914767, + 5492045843, 5492176967, 5492308043, 5492439133, 5492570231, 5492701321, 5492832407, + 5492963503, 5493094603, 5493225707, 5493356797, 5493487903, 5493618989, 5493750061, + 5493881167, 5494012243, 5494143383, 5494274459, 5494405547, 5494536643, 5494667791, + 5494798889, 5494929971, 5495061059, 5495192167, 5495323243, 5495454361, 5495585443, + 5495716529, 5495847611, 5495978689, 5496109781, 5496240889, 5496371963, 5496503041, + 5496634141, 5496765229, 5496896309, 5497027387, 5497158497, 5497289579, 5497420673, + 5497551757, 5497682837, 5497813921, 5497945003, 5498076107, 5498207207, 5498338289, + 5498469433, 5498600543, 5498731633, 5498862749, 5498993837, 5499124927, 5499256019, + 5499387133, 5499518221, 5499649307, 5499780379, 5499911453, 5500042543, 5500173631, + 5500304707, 5500435823, 5500566913, 5500698017, 5500829093, 5500960177, 5501091313, + 5501222393, 5501353469, 5501484581, 5501615687, 5501746813, 5501877919, 5502009017, + 5502140089, 5502271183, 5502402271, 5502533353, 5502664451, 5502795533, 5502926629, + 5503057733, 5503188811, 5503319893, 5503450999, 5503582079, 5503713157, 5503844233, + 5503975331, 5504106437, 5504237527, 5504368607, 5504499719, 5504630797, 5504761877, + 5504892959, 5505024103, 5505155189, 5505286291, 5505417373, 5505548483, 5505679559, + 5505810637, 5505941719, 5506072801, 5506203881, 5506334963, 5506466051, 5506597189, + 5506728277, 5506859353, 5506990427, 5507121539, 5507252633, 5507383727, 5507514833, + 5507645911, 5507776999, 5507908073, 5508039167, 5508170263, 5508301363, 5508432437, + 5508563519, 5508694591, 5508825677, 5508956771, 5509087853, 5509219013, 5509350097, + 5509481179, 5509612253, 5509743353, 5509874449, 5510005549, 5510136631, 5510267713, + 5510398871, 5510530001, 5510661073, 5510792171, 5510923277, 5511054371, 5511185461, + 5511316541, 5511447619, 5511578713, 5511709789, 5511840883, 5511971987, 5512103059, + 5512234141, 5512365239, 5512496321, 5512627411, 5512758499, 5512889587, 5513020693, + 5513151767, 5513282843, 5513413937, 5513545013, 5513676109, 5513807191, 5513938271, + 5514069349, 5514200437, 5514331513, 5514462637, 5514593717, 5514724793, 5514855869, + 5514986959, 5515118041, 5515249121, 5515380217, 5515511327, 5515642427, 5515773499, + 5515904621, 5516035703, 5516166781, 5516297869, 5516428949, 5516560117, 5516691209, + 5516822293, 5516953369, 5517084487, 5517215569, 5517346687, 5517477769, 5517608849, + 5517739979, 5517871127, 5518002209, 5518133281, 5518264357, 5518395433, 5518526509, + 5518657583, 5518788661, 5518919743, 5519050841, 5519181917, 5519312999, 5519444087, + 5519575219, 5519706301, 5519837381, 5519968541, 5520099617, 5520230731, 5520361807, + 5520492881, 5520623959, 5520755059, 5520886157, 5521017233, 5521148317, 5521279409, + 5521410491, 5521541581, 5521672661, 5521803739, 5521934813, 5522065889, 5522196961, + 5522328067, 5522459191, 5522590277, 5522721349, 5522852443, 5522983519, 5523114593, + 5523245677, 5523376759, 5523507833, 5523638909, 5523770017, 5523901139, 5524032223, + 5524163297, 5524294397, 5524425481, 5524556563, 5524687657, 5524818743, 5524949821, + 5525080919, 5525212009, 5525343091, 5525474167, 5525605313, 5525736409, 5525867483, + 5525998579, 5526129659, 5526260731, 5526391811, 5526522893, 5526653983, 5526785083, + 5526916217, 5527047301, 5527178383, 5527309471, 5527440577, 5527571689, 5527702777, + 5527833853, 5527964927, 5528096003, 5528227097, 5528358181, 5528489287, 5528620367, + 5528751439, 5528882543, 5529013639, 5529144713, 5529275803, 5529406889, 5529537973, + 5529669071, 5529800161, 5529931283, 5530062383, 5530193503, 5530324609, 5530455703, + 5530586779, 5530717853, 5530848931, 5530980019, 5531111123, 5531242201, 5531373277, + 5531504351, 5531635427, 5531766503, 5531897593, 5532028679, 5532159793, 5532290893, + 5532421967, 5532553067, 5532684161, 5532815251, 5532946339, 5533077437, 5533208537, + 5533339667, 5533470793, 5533601867, 5533732949, 5533864027, 5533995121, 5534126201, + 5534257291, 5534388373, 5534519449, 5534650523, 5534781599, 5534912689, 5535043777, + 5535174859, 5535305953, 5535437041, 5535568117, 5535699209, 5535830297, 5535961463, + 5536092539, 5536223611, 5536354687, 5536485763, 5536616861, 5536747949, 5536879043, + 5537010131, 5537141219, 5537272291, 5537403373, 5537534449, 5537665543, 5537796659, + 5537927753, 5538058847, 5538189931, 5538321053, 5538452149, 5538583229, 5538714319, + 5538845407, 5538976517, 5539107589, 5539238681, 5539369799, 5539500877, 5539631957, + 5539763029, 5539894111, 5540025199, 5540156273, 5540287351, 5540418451, 5540549593, + 5540680667, 5540811769, 5540942861, 5541073939, 5541205031, 5541336131, 5541467209, + 5541598291, 5541729409, 5541860503, 5541991603, 5542122679, 5542253837, 5542384927, + 5542516027, 5542647107, 5542778179, 5542909261, 5543040341, 5543171441, 5543302543, + 5543433617, 5543564707, 5543695783, 5543826863, 5543957953, 5544089039, 5544220111, + 5544351203, 5544482291, 5544613387, 5544744473, 5544875561, 5545006639, 5545137727, + 5545268831, 5545399931, 5545531037, 5545662113, 5545793191, 5545924271, 5546055373, + 5546186453, 5546317537, 5546448617, 5546579707, 5546710817, 5546841899, 5546973001, + 5547104081, 5547235157, 5547366233, 5547497309, 5547628397, 5547759493, 5547890567, + 5548021657, 5548152737, 5548283837, 5548414931, 5548546007, 5548677091, 5548808179, + 5548939259, 5549070341, 5549201419, 5549332501, 5549463613, 5549594711, 5549725787, + 5549856859, 5549988019, 5550119123, 5550250207, 5550381341, 5550512419, 5550643547, + 5550774673, 5550905761, 5551036859, 5551167943, 5551299031, 5551430117, 5551561193, + 5551692281, 5551823371, 5551954453, 5552085527, 5552216599, 5552347733, 5552478847, + 5552609941, 5552741017, 5552872097, 5553003257, 5553134347, 5553265427, 5553396503, + 5553527587, 5553658667, 5553789781, 5553920861, 5554051967, 5554183049, 5554314127, + 5554445249, 5554576333, 5554707409, 5554838503, 5554969579, 5555100671, 5555231777, + 5555362859, 5555493989, 5555625067, 5555756147, 5555887219, 5556018311, 5556149407, + 5556280487, 5556411559, 5556542639, 5556673729, 5556804859, 5556935933, 5557067011, + 5557198111, 5557329187, 5557460281, 5557591411, 5557722539, 5557853611, 5557984703, + 5558115781, 5558246873, 5558377963, 5558509067, 5558640167, 5558771269, 5558902397, + 5559033479, 5559164557, 5559295667, 5559426767, 5559557867, 5559688943, 5559820027, + 5559951109, 5560082189, 5560213261, 5560344337, 5560475461, 5560606549, 5560737631, + 5560868743, 5560999849, 5561130943, 5561262059, 5561393137, 5561524259, 5561655343, + 5561786443, 5561917549, 5562048629, 5562179717, 5562310799, 5562441971, 5562573073, + 5562704149, 5562835247, 5562966329, 5563097401, 5563228493, 5563359583, 5563490663, + 5563621751, 5563752823, 5563883933, 5564015063, 5564146157, 5564277233, 5564408309, + 5564539381, 5564670487, 5564801563, 5564932649, 5565063743, 5565194821, 5565325901, + 5565456983, 5565588073, 5565719183, 5565850289, 5565981371, 5566112459, 5566243531, + 5566374607, 5566505699, 5566636771, 5566767859, 5566898933, 5567030017, 5567161111, + 5567292217, 5567423297, 5567554393, 5567685493, 5567816567, 5567947657, 5568078739, + 5568209813, 5568340891, 5568471983, 5568603091, 5568734191, 5568865277, 5568996361, + 5569127467, 5569258547, 5569389629, 5569520713, 5569651793, 5569782871, 5569913953, + 5570045027, 5570176099, 5570307181, 5570438273, 5570569451, 5570700529, 5570831653, + 5570962741, 5571093823, 5571224899, 5571356023, 5571487109, 5571618193, 5571749291, + 5571880367, 5572011481, 5572142561, 5572273639, 5572404713, 5572535797, 5572666877, + 5572798003, 5572929079, 5573060153, 5573191229, 5573322301, 5573453377, 5573584477, + 5573715559, 5573846671, 5573977789, 5574108863, 5574239977, 5574371063, 5574502151, + 5574633223, 5574764411, 5574895483, 5575026559, 5575157677, 5575288753, 5575419827, + 5575550947, 5575682029, 5575813123, 5575944197, 5576075279, 5576206351, 5576337449, + 5576468531, 5576599603, 5576730689, 5576861761, 5576992843, 5577123977, 5577255049, + 5577386147, 5577517223, 5577648359, 5577779447, 5577910523, 5578041607, 5578172683, + 5578303763, 5578434839, 5578565957, 5578697041, 5578828133, 5578959209, 5579090323, + 5579221441, 5579352533, 5579483629, 5579614709, 5579745803, 5579876881, 5580007969, + 5580139057, 5580270133, 5580401219, 5580532327, 5580663419, 5580794501, 5580925579, + 5581056671, 5581187743, 5581318817, 5581449893, 5581580971, 5581712063, 5581843181, + 5581974263, 5582105369, 5582236441, 5582367521, 5582498599, 5582629681, 5582760787, + 5582891879, 5583022961, 5583154039, 5583285157, 5583416239, 5583547331, 5583678413, + 5583809513, 5583940591, 5584071667, 5584202759, 5584333849, 5584464943, 5584596053, + 5584727143, 5584858217, 5584989307, 5585120399, 5585251471, 5585382547, 5585513621, + 5585644693, 5585775773, 5585906849, 5586037921, 5586168997, 5586300089, 5586431173, + 5586562249, 5586693331, 5586824423, 5586955513, 5587086599, 5587217677, 5587348751, + 5587479827, 5587610921, 5587742021, 5587873117, 5588004197, 5588135281, 5588266357, + 5588397473, 5588528551, 5588659627, 5588790733, 5588921843, 5589052981, 5589184063, + 5589315161, 5589446249, 5589577321, 5589708407, 5589839483, 5589970571, 5590101661, + 5590232741, 5590363829, 5590494913, 5590626073, 5590757149, 5590888267, 5591019349, + 5591150423, 5591281499, 5591412581, 5591543653, 5591674729, 5591805827, 5591936921, + 5592068003, 5592199099, 5592330181, 5592461263, 5592592349, 5592723439, 5592854513, + 5592985589, 5593116667, 5593247743, 5593378849, 5593509931, 5593641037, 5593772113, + 5593903207, 5594034307, 5594165407, 5594296507, 5594427599, 5594558677, 5594689757, + 5594820893, 5594951987, 5595083107, 5595214181, 5595345257, 5595476387, 5595607469, + 5595738541, 5595869621, 5596000699, 5596131773, 5596262851, 5596393937, 5596525057, + 5596656133, 5596787237, 5596918309, 5597049391, 5597180473, 5597311589, 5597442671, + 5597573753, 5597704837, 5597835913, 5597966999, 5598098071, 5598229171, 5598360281, + 5598491359, 5598622459, 5598753539, 5598884653, 5599015759, 5599146869, 5599277951, + 5599409033, 5599540129, 5599671247, 5599802381, 5599933457, 5600064529, 5600195621, + 5600326727, 5600457817, 5600588899, 5600719981, 5600851057, 5600982131, 5601113207, + 5601244279, 5601375371, 5601506473, 5601637583, 5601768671, 5601899761, 5602030849, + 5602161937, 5602293023, 5602424117, 5602555193, 5602686269, 5602817357, 5602948433, + 5603079527, 5603210617, 5603341697, 5603472793, 5603603891, 5603734967, 5603866057, + 5603997143, 5604128239, 5604259369, 5604390443, 5604521537, 5604652681, 5604783781, + 5604914857, 5605045933, 5605177033, 5605308113, 5605439219, 5605570297, 5605701371, + 5605832483, 5605963577, 5606094667, 5606225743, 5606356831, 5606487907, 5606618999, + 5606750099, 5606881177, 5607012269, 5607143357, 5607274481, 5607405637, 5607536731, + 5607667811, 5607798883, 5607929993, 5608061077, 5608192151, 5608323223, 5608454363, + 5608585457, 5608716559, 5608847693, 5608978849, 5609109929, 5609241007, 5609372129, + 5609503201, 5609634299, 5609765377, 5609896477, 5610027559, 5610158641, 5610289757, + 5610420863, 5610551941, 5610683047, 5610814127, 5610945203, 5611076293, 5611207367, + 5611338463, 5611469537, 5611600609, 5611731691, 5611862777, 5611993873, 5612124971, + 5612256103, 5612387227, 5612518321, 5612649397, 5612780471, 5612911567, 5613042649, + 5613173737, 5613304861, 5613435937, 5613567049, 5613698131, 5613829217, 5613960299, + 5614091383, 5614222457, 5614353539, 5614484683, 5614615763, 5614746871, 5614877953, + 5615009041, 5615140133, 5615271223, 5615402333, 5615533411, 5615664497, 5615795579, + 5615926651, 5616057731, 5616188803, 5616319909, 5616451003, 5616582079, 5616713153, + 5616844253, 5616975349, 5617106431, 5617237543, 5617368661, 5617499743, 5617630847, + 5617761923, 5617893041, 5618024131, 5618155217, 5618286391, 5618417471, 5618548561, + 5618679691, 5618810837, 5618941943, 5619073037, 5619204121, 5619335201, 5619466327, + 5619597433, 5619728531, 5619859603, 5619990689, 5620121791, 5620252889, 5620383961, + 5620515041, 5620646113, 5620777193, 5620908287, 5621039377, 5621170481, 5621301589, + 5621432731, 5621563807, 5621694889, 5621825981, 5621957113, 5622088189, 5622219271, + 5622350351, 5622481441, 5622612547, 5622743653, 5622874759, 5623005893, 5623136969, + 5623268069, 5623399169, 5623530251, 5623661327, 5623792439, 5623923523, 5624054603, + 5624185711, 5624316827, 5624447911, 5624579003, 5624710081, 5624841179, 5624972261, + 5625103333, 5625234427, 5625365513, 5625496601, 5625627767, 5625758851, 5625889931, + 5626021067, 5626152167, 5626283239, 5626414351, 5626545439, 5626676519, 5626807591, + 5626938689, 5627069771, 5627200847, 5627331929, 5627463031, 5627594117, 5627725193, + 5627856277, 5627987389, 5628118471, 5628249581, 5628380663, 5628511781, 5628642883, + 5628773957, 5628905041, 5629036139, 5629167217, 5629298299, 5629429387, 5629560479, + 5629691567, 5629822643, 5629953737, 5630084819, 5630215901, 5630346973, 5630478083, + 5630609167, 5630740249, 5630871343, 5631002417, 5631133513, 5631264619, 5631395699, + 5631526781, 5631657947, 5631789047, 5631920137, 5632051253, 5632182373, 5632313471, + 5632444553, 5632575661, 5632706759, 5632837841, 5632968917, 5633100007, 5633231081, + 5633362177, 5633493251, 5633624323, 5633755399, 5633886473, 5634017563, 5634148643, + 5634279719, 5634410833, 5634541907, 5634672991, 5634804083, 5634935213, 5635066319, + 5635197457, 5635328551, 5635459649, 5635590721, 5635721801, 5635852883, 5635984001, + 5636115151, 5636246267, 5636377367, 5636508481, 5636639557, 5636770637, 5636901791, + 5637032867, 5637163963, 5637295049, 5637426127, 5637557227, 5637688339, 5637819413, + 5637950491, 5638081573, 5638212647, 5638343729, 5638474811, 5638605919, 5638737023, + 5638868111, 5638999187, 5639130281, 5639261363, 5639392453, 5639523557, 5639654641, + 5639785721, 5639916811, 5640047911, 5640178993, 5640310073, 5640441173, 5640572269, + 5640703351, 5640834427, 5640965507, 5641096579, 5641227653, 5641358729, 5641489801, + 5641620893, 5641751977, 5641883057, 5642014129, 5642145211, 5642276287, 5642407363, + 5642538437, 5642669537, 5642800619, 5642931713, 5643062813, 5643193901, 5643324997, + 5643456079, 5643587219, 5643718313, 5643849389, 5643980471, 5644111547, 5644242629, + 5644373729, 5644504829, 5644635907, 5644766983, 5644898087, 5645029193, 5645160277, + 5645291359, 5645422459, 5645553553, 5645684647, 5645815739, 5645946811, 5646077887, + 5646208987, 5646340087, 5646471203, 5646602293, 5646733373, 5646864469, 5646995561, + 5647126633, 5647257773, 5647388861, 5647519937, 5647651049, 5647782121, 5647913203, + 5648044279, 5648175371, 5648306449, 5648437523, 5648568599, 5648699671, 5648830753, + 5648961833, 5649092929, 5649224071, 5649355181, 5649486263, 5649617353, 5649748427, + 5649879503, 5650010581, 5650141661, 5650272767, 5650403851, 5650534931, 5650666061, + 5650797133, 5650928237, 5651059327, 5651190409, 5651321521, 5651452649, 5651583737, + 5651714819, 5651845909, 5651976997, 5652108157, 5652239261, 5652370351, 5652501457, + 5652632539, 5652763631, 5652894727, 5653025809, 5653156919, 5653288007, 5653419131, + 5653550237, 5653681321, 5653812397, 5653943473, 5654074579, 5654205659, 5654336759, + 5654467843, 5654598919, 5654729999, 5654861087, 5654992163, 5655123239, 5655254321, + 5655385531, 5655516617, 5655647689, 5655778769, 5655909863, 5656040993, 5656172077, + 5656303199, 5656434281, 5656565357, 5656696439, 5656827511, 5656958603, 5657089723, + 5657220799, 5657351891, 5657482969, 5657614051, 5657745131, 5657876243, 5658007331, + 5658138403, 5658269497, 5658400609, 5658531713, 5658662813, 5658793897, 5658925007, + 5659056113, 5659187251, 5659318333, 5659449407, 5659580533, 5659711613, 5659842703, + 5659973849, 5660104951, 5660236027, 5660367127, 5660498201, 5660629279, 5660760359, + 5660891441, 5661022531, 5661153623, 5661284701, 5661415777, 5661546851, 5661677933, + 5661809009, 5661940087, 5662071197, 5662202269, 5662333363, 5662464463, 5662595591, + 5662726669, 5662857751, 5662988843, 5663119919, 5663250997, 5663382143, 5663513221, + 5663644297, 5663775419, 5663906581, 5664037657, 5664168733, 5664299831, 5664430909, + 5664561983, 5664693061, 5664824149, 5664955229, 5665086319, 5665217401, 5665348483, + 5665479571, 5665610647, 5665741721, 5665872803, 5666003947, 5666135051, 5666266129, + 5666397223, 5666528297, 5666659429, 5666790529, 5666921633, 5667052711, 5667183787, + 5667314881, 5667445963, 5667577087, 5667708199, 5667839273, 5667970369, 5668101463, + 5668232561, 5668363637, 5668494719, 5668625821, 5668756909, 5668887989, 5669019089, + 5669150197, 5669281279, 5669412361, 5669543449, 5669674559, 5669805649, 5669936749, + 5670067853, 5670198973, 5670330049, 5670461141, 5670592217, 5670723313, 5670854389, + 5670985487, 5671116587, 5671247693, 5671378771, 5671509853, 5671640971, 5671772083, + 5671903183, 5672034271, 5672165351, 5672296439, 5672427577, 5672558651, 5672689733, + 5672820841, 5672951917, 5673082993, 5673214069, 5673345149, 5673476233, 5673607337, + 5673738449, 5673869521, 5674000637, 5674131713, 5674262857, 5674393981, 5674525111, + 5674656191, 5674787333, 5674918429, 5675049511, 5675180603, 5675311679, 5675442781, + 5675573983, 5675705107, 5675836193, 5675967281, 5676098377, 5676229463, 5676360581, + 5676491659, 5676622747, 5676753827, 5676884911, 5677015991, 5677147079, 5677278161, + 5677409261, 5677540333, 5677671443, 5677802521, 5677933631, 5678064713, 5678195801, + 5678326873, 5678457947, 5678589047, 5678720191, 5678851267, 5678982343, 5679113437, + 5679244511, 5679375587, 5679506671, 5679637759, 5679768847, 5679899921, 5680030999, + 5680162121, 5680293193, 5680424279, 5680555357, 5680686461, 5680817609, 5680948709, + 5681079793, 5681210893, 5681341969, 5681473079, 5681604157, 5681735233, 5681866313, + 5681997403, 5682128503, 5682259589, 5682390661, 5682521759, 5682652847, 5682783937, + 5682915011, 5683046087, 5683177177, 5683308259, 5683439381, 5683570463, 5683701539, + 5683832639, 5683963723, 5684094799, 5684225873, 5684356949, 5684488037, 5684619113, + 5684750191, 5684881289, 5685012391, 5685143467, 5685274571, 5685405679, 5685536761, + 5685667837, 5685798929, 5685930001, 5686061083, 5686192219, 5686323301, 5686454399, + 5686585477, 5686716551, 5686847623, 5686978697, 5687109787, 5687240861, 5687371939, + 5687503013, 5687634107, 5687765179, 5687896271, 5688027379, 5688158453, 5688289531, + 5688420613, 5688551699, 5688682777, 5688813929, 5688945019, 5689076101, 5689207177, + 5689338289, 5689469399, 5689600573, 5689731667, 5689862767, 5689993849, 5690124943, + 5690256043, 5690387161, 5690518241, 5690649329, 5690780441, 5690911519, 5691042607, + 5691173681, 5691304763, 5691435863, 5691566939, 5691698011, 5691829133, 5691960221, + 5692091303, 5692222379, 5692353497, 5692484579, 5692615651, 5692746749, 5692877837, + 5693008913, 5693139989, 5693271091, 5693402189, 5693533273, 5693664349, 5693795461, + 5693926541, 5694057619, 5694188701, 5694319789, 5694450871, 5694581951, 5694713071, + 5694844151, 5694975229, 5695106321, 5695237397, 5695368473, 5695499587, 5695630673, + 5695761749, 5695892831, 5696023903, 5696154977, 5696286059, 5696417147, 5696548259, + 5696679343, 5696810443, 5696941561, 5697072637, 5697203741, 5697334817, 5697465911, + 5697597011, 5697728083, 5697859157, 5697990239, 5698121327, 5698252409, 5698383491, + 5698514567, 5698645639, 5698776749, 5698907821, 5699038897, 5699170003, 5699301103, + 5699432183, 5699563279, 5699694361, 5699825437, 5699956529, 5700087649, 5700218753, + 5700349891, 5700480983, 5700612061, 5700743137, 5700874211, 5701005319, 5701136393, + 5701267469, 5701398557, 5701529677, 5701660807, 5701791889, 5701922977, 5702054119, + 5702185201, 5702316281, 5702447357, 5702578477, 5702709559, 5702840653, 5702971783, + 5703102883, 5703234011, 5703365099, 5703496187, 5703627263, 5703758351, 5703889463, + 5704020547, 5704151623, 5704282709, 5704413787, 5704544861, 5704676023, 5704807099, + 5704938191, 5705069281, 5705200381, 5705331469, 5705462563, 5705593637, 5705724751, + 5705855941, 5705987041, 5706118129, 5706249203, 5706380279, 5706511361, 5706642443, + 5706773521, 5706904603, 5707035689, 5707166789, 5707297891, 5707428977, 5707560073, + 5707691149, 5707822283, 5707953379, 5708084479, 5708215553, 5708346671, 5708477759, + 5708608837, 5708739913, 5708871013, 5709002093, 5709133187, 5709264277, 5709395381, + 5709526453, 5709657539, 5709788611, 5709919703, 5710050779, 5710181863, 5710312961, + 5710444079, 5710575151, 5710706233, 5710837333, 5710968407, 5711099483, 5711230561, + 5711361641, 5711492713, 5711623789, 5711754899, 5711885999, 5712017099, 5712148177, + 5712279281, 5712410383, 5712541459, 5712672547, 5712803647, 5712934753, 5713065881, + 5713196989, 5713328069, 5713459151, 5713590229, 5713721303, 5713852411, 5713983529, + 5714114617, 5714245709, 5714376781, 5714507863, 5714638991, 5714770063, 5714901139, + 5715032231, 5715163327, 5715294437, 5715425509, 5715556643, 5715687721, 5715818807, + 5715949879, 5716080971, 5716212049, 5716343137, 5716474219, 5716605299, 5716736429, + 5716867529, 5716998601, 5717129681, 5717260753, 5717391829, 5717522957, 5717654029, + 5717785103, 5717916181, 5718047317, 5718178391, 5718309469, 5718440551, 5718571669, + 5718702751, 5718833863, 5718964957, 5719096043, 5719227149, 5719358261, 5719489339, + 5719620449, 5719751561, 5719882639, 5720013721, 5720144803, 5720275903, 5720406983, + 5720538121, 5720669203, 5720800277, 5720931371, 5721062443, 5721193537, 5721324641, + 5721455717, 5721586811, 5721717887, 5721848971, 5721980057, 5722111139, 5722242233, + 5722373323, 5722504429, 5722635533, 5722766629, 5722897709, 5723028811, 5723159921, + 5723290999, 5723422087, 5723553161, 5723684293, 5723815367, 5723946457, 5724077587, + 5724208663, 5724339743, 5724470849, 5724601937, 5724733013, 5724864107, 5724995179, + 5725126279, 5725257361, 5725388443, 5725519519, 5725650629, 5725781707, 5725912781, + 5726043863, 5726174947, 5726306039, 5726437111, 5726568193, 5726699267, 5726830399, + 5726961533, 5727092627, 5727223709, 5727354803, 5727485887, 5727616981, 5727748063, + 5727879149, 5728010251, 5728141339, 5728272419, 5728403503, 5728534589, 5728665697, + 5728796803, 5728927889, 5729058967, 5729190041, 5729321119, 5729452213, 5729583313, + 5729714387, 5729845469, 5729976563, 5730107659, 5730238783, 5730369881, 5730500953, + 5730632041, 5730763117, 5730894229, 5731025317, 5731156397, 5731287491, 5731418591, + 5731549687, 5731680793, 5731811873, 5731942969, 5732074063, 5732205137, 5732336209, + 5732467289, 5732598379, 5732729459, 5732860537, 5732991611, 5733122683, 5733253783, + 5733384859, 5733515941, 5733647033, 5733778151, 5733909239, 5734040359, 5734171453, + 5734302527, 5734433611, 5734564711, 5734695793, 5734826939, 5734958027, 5735089099, + 5735220199, 5735351291, 5735482439, 5735613601, 5735744683, 5735875787, 5736006863, + 5736137941, 5736269051, 5736400127, 5736531217, 5736662317, 5736793399, 5736924491, + 5737055573, 5737186649, 5737317749, 5737448833, 5737579909, 5737710989, 5737842101, + 5737973173, 5738104259, 5738235341, 5738366467, 5738497547, 5738628629, 5738759701, + 5738890847, 5739021931, 5739153047, 5739284143, 5739415229, 5739546311, 5739677387, + 5739808471, 5739939559, 5740070641, 5740201721, 5740332809, 5740463887, 5740594991, + 5740726091, 5740857173, 5740988251, 5741119327, 5741250413, 5741381507, 5741512591, + 5741643673, 5741774791, 5741905867, 5742036961, 5742168059, 5742299137, 5742430223, + 5742561299, 5742692381, 5742823453, 5742954541, 5743085629, 5743216723, 5743347853, + 5743478927, 5743610003, 5743741099, 5743872181, 5744003257, 5744134339, 5744265431, + 5744396549, 5744527661, 5744658757, 5744789839, 5744920957, 5745052043, 5745183151, + 5745314261, 5745445351, 5745576437, 5745707519, 5745838627, 5745969707, 5746100791, + 5746231873, 5746362949, 5746494067, 5746625167, 5746756303, 5746887427, 5747018509, + 5747149609, 5747280709, 5747411801, 5747542873, 5747674001, 5747805073, 5747936153, + 5748067229, 5748198317, 5748329401, 5748460493, 5748591571, 5748722647, 5748853723, + 5748984931, 5749116017, 5749247089, 5749378183, 5749509263, 5749640359, 5749771453, + 5749902541, 5750033621, 5750164729, 5750295809, 5750426909, 5750557999, 5750689079, + 5750820191, 5750951263, 5751082339, 5751213427, 5751344531, 5751475637, 5751606727, + 5751737809, 5751868891, 5751999977, 5752131053, 5752262147, 5752393237, 5752524329, + 5752655411, 5752786483, 5752917571, 5753048663, 5753179753, 5753310839, 5753441963, + 5753573039, 5753704133, 5753835209, 5753966291, 5754097367, 5754228439, 5754359537, + 5754490631, 5754621731, 5754752831, 5754883919, 5755015001, 5755146073, 5755277179, + 5755408279, 5755539371, 5755670461, 5755801547, 5755932619, 5756063707, 5756194819, + 5756325931, 5756457017, 5756588107, 5756719183, 5756850259, 5756981359, 5757112447, + 5757243533, 5757374627, 5757505703, 5757636779, 5757767867, 5757898957, 5758030087, + 5758161161, 5758292261, 5758423337, 5758554419, 5758685507, 5758816597, 5758947673, + 5759078807, 5759209879, 5759340973, 5759472053, 5759603173, 5759734289, 5759865373, + 5759996449, 5760127531, 5760258607, 5760389681, 5760520769, 5760651859, 5760782939, + 5760914017, 5761045111, 5761176209, 5761307291, 5761438369, 5761569469, 5761700563, + 5761831651, 5761962797, 5762093893, 5762224967, 5762356049, 5762487121, 5762618203, + 5762749313, 5762880407, 5763011483, 5763142559, 5763273647, 5763404723, 5763535801, + 5763666907, 5763797983, 5763929071, 5764060187, 5764191269, 5764322341, 5764453439, + 5764584517, 5764715599, 5764846699, 5764977791, 5765108903, 5765239981, 5765371057, + 5765502131, 5765633207, 5765764289, 5765895361, 5766026437, 5766157519, 5766288617, + 5766419717, 5766550793, 5766681917, 5766813053, 5766944137, 5767075229, 5767206301, + 5767337383, 5767468463, 5767599559, 5767730663, 5767861741, 5767992821, 5768123899, + 5768255041, 5768386121, 5768517193, 5768648269, 5768779351, 5768910443, 5769041521, + 5769172603, 5769303779, 5769434863, 5769565943, 5769697019, 5769828109, 5769959213, + 5770090289, 5770221361, 5770352437, 5770483517, 5770614617, 5770745753, 5770876849, + 5771007967, 5771139133, 5771270209, 5771401283, 5771532391, 5771663467, 5771794541, + 5771925637, 5772056713, 5772187807, 5772318889, 5772449987, 5772581099, 5772712181, + 5772843253, 5772974351, 5773105427, 5773236541, 5773367617, 5773498691, 5773629773, + 5773760851, 5773891939, 5774023019, 5774154097, 5774285227, 5774416309, 5774547407, + 5774678479, 5774809553, 5774940629, 5775071719, 5775202799, 5775333887, 5775464971, + 5775596053, 5775727151, 5775858227, 5775989311, 5776120393, 5776251493, 5776382581, + 5776513669, 5776644779, 5776775857, 5776906937, 5777038019, 5777169107, 5777300183, + 5777431277, 5777562367, 5777693447, 5777824523, 5777955607, 5778086719, 5778217811, + 5778348883, 5778479963, 5778611089, 5778742181, 5778873307, 5779004411, 5779135489, + 5779266599, 5779397681, 5779528801, 5779659877, 5779790959, 5779922129, 5780053229, + 5780184301, 5780315393, 5780446487, 5780577581, 5780708669, 5780839751, 5780970823, + 5781101897, 5781232987, 5781364067, 5781495173, 5781626273, 5781757351, 5781888467, + 5782019567, 5782150643, 5782281731, 5782412803, 5782543883, 5782674971, 5782806049, + 5782937137, 5783068223, 5783199311, 5783330383, 5783461483, 5783592557, 5783723669, + 5783854759, 5783985839, 5784116917, 5784247993, 5784379087, 5784510161, 5784641237, + 5784772337, 5784903409, 5785034599, 5785165679, 5785296773, 5785427849, 5785558921, + 5785690007, 5785821109, 5785952203, 5786083283, 5786214359, 5786345431, 5786476513, + 5786607601, 5786738719, 5786869793, 5787000881, 5787131969, 5787263047, 5787394127, + 5787525223, 5787656311, 5787787387, 5787918469, 5788049563, 5788180637, 5788311733, + 5788442819, 5788573949, 5788705049, 5788836143, 5788967227, 5789098303, 5789229401, + 5789360483, 5789491579, 5789622653, 5789753741, 5789884853, 5790015953, 5790147031, + 5790278119, 5790409199, 5790540311, 5790671431, 5790802517, 5790933593, 5791064693, + 5791195793, 5791326889, 5791458007, 5791589081, 5791720169, 5791851251, 5791982323, + 5792113409, 5792244499, 5792375599, 5792506697, 5792637769, 5792768843, 5792899919, + 5793031009, 5793162121, 5793293203, 5793424277, 5793555403, 5793686491, 5793817591, + 5793948691, 5794079777, 5794210859, 5794341989, 5794473077, 5794604149, 5794735229, + 5794866383, 5794997479, 5795128583, 5795259667, 5795390803, 5795521957, 5795653067, + 5795784139, 5795915231, 5796046327, 5796177407, 5796308501, 5796439589, 5796570707, + 5796701791, 5796832891, 5796964021, 5797095097, 5797226177, 5797357283, 5797488379, + 5797619459, 5797750531, 5797881613, 5798012687, 5798143763, 5798274841, 5798405927, + 5798536999, 5798668087, 5798799277, 5798930353, 5799061453, 5799192533, 5799323669, + 5799454741, 5799585817, 5799716939, 5799848017, 5799979099, 5800110181, 5800241261, + 5800372337, 5800503409, 5800634503, 5800765583, 5800896659, 5801027741, 5801158813, + 5801289911, 5801420987, 5801552129, 5801683207, 5801814283, 5801945447, 5802076541, + 5802207613, 5802338699, 5802469787, 5802600889, 5802731971, 5802863051, 5802994159, + 5803125299, 5803256401, 5803387511, 5803518583, 5803649659, 5803780733, 5803911829, + 5804042903, 5804174023, 5804305099, 5804436173, 5804567309, 5804698423, 5804829533, + 5804960659, 5805091753, 5805222851, 5805353927, 5805485003, 5805616081, 5805747161, + 5805878237, 5806009333, 5806140409, 5806271483, 5806402571, 5806533673, 5806664749, + 5806795829, 5806926901, 5807057983, 5807189083, 5807320157, 5807451233, 5807582321, + 5807713393, 5807844467, 5807975539, 5808106613, 5808237703, 5808368789, 5808499883, + 5808630959, 5808762067, 5808893191, 5809024271, 5809155371, 5809286453, 5809417541, + 5809548643, 5809679797, 5809810891, 5809941967, 5810073047, 5810204149, 5810335229, + 5810466313, 5810597393, 5810728481, 5810859557, 5810990659, 5811121753, 5811252833, + 5811383933, 5811515023, 5811646097, 5811777193, 5811908327, 5812039421, 5812170499, + 5812301617, 5812432693, 5812563781, 5812694869, 5812825951, 5812957027, 5813088109, + 5813219183, 5813350297, 5813481383, 5813612459, 5813743541, 5813874613, 5814005731, + 5814136807, 5814267997, 5814399113, 5814530207, 5814661301, 5814792397, 5814923573, + 5815054667, 5815185769, 5815316863, 5815447943, 5815579019, 5815710091, 5815841177, + 5815972249, 5816103329, 5816234401, 5816365487, 5816496571, 5816627669, 5816758751, + 5816889833, 5817020921, 5817151999, 5817283081, 5817414179, 5817545257, 5817676339, + 5817807433, 5817938507, 5818069597, 5818200673, 5818331777, 5818462873, 5818593947, + 5818725049, 5818856123, 5818987247, 5819118341, 5819249419, 5819380499, 5819511571, + 5819642651, 5819773723, 5819904851, 5820035929, 5820167011, 5820298091, 5820429191, + 5820560293, 5820691379, 5820822509, 5820953581, 5821084657, 5821215749, 5821346833, + 5821477913, 5821609019, 5821740107, 5821871201, 5822002301, 5822133379, 5822264519, + 5822395597, 5822526691, 5822657833, 5822788919, 5822920057, 5823051133, 5823182213, + 5823313291, 5823444371, 5823575477, 5823706613, 5823837697, 5823968789, 5824099873, + 5824231057, 5824362139, 5824493219, 5824624291, 5824755367, 5824886447, 5825017529, + 5825148619, 5825279699, 5825410777, 5825541889, 5825672987, 5825804063, 5825935153, + 5826066269, 5826197357, 5826328481, 5826459559, 5826590633, 5826721753, 5826852841, + 5826983917, 5827114991, 5827246099, 5827377187, 5827508273, 5827639351, 5827770439, + 5827901543, 5828032627, 5828163751, 5828294827, 5828425907, 5828557001, 5828688079, + 5828819173, 5828950277, 5829081359, 5829212461, 5829343579, 5829474661, 5829605759, + 5829736831, 5829867917, 5829999001, 5830130081, 5830261159, 5830392263, 5830523351, + 5830654483, 5830785577, 5830916719, 5831047811, 5831178887, 5831309983, 5831441071, + 5831572189, 5831703281, 5831834357, 5831965439, 5832096511, 5832227651, 5832358757, + 5832489847, 5832620939, 5832752033, 5832883127, 5833014203, 5833145291, 5833276381, + 5833407469, 5833538561, 5833669651, 5833800727, 5833931833, 5834062919, 5834194027, + 5834325173, 5834456281, 5834587417, 5834718541, 5834849623, 5834980733, 5835111823, + 5835242921, 5835374059, 5835505141, 5835636229, 5835767303, 5835898391, 5836029491, + 5836160567, 5836291711, 5836422803, 5836553897, 5836684979, 5836816079, 5836947157, + 5837078237, 5837209331, 5837340413, 5837471491, 5837602577, 5837733691, 5837864833, + 5837995927, 5838127013, 5838258103, 5838389197, 5838520271, 5838651359, 5838782437, + 5838913523, 5839044599, 5839175677, 5839306751, 5839437839, 5839568941, 5839700017, + 5839831091, 5839962199, 5840093291, 5840224391, 5840355467, 5840486543, 5840617669, + 5840748743, 5840879827, 5841010907, 5841141983, 5841273071, 5841404147, 5841535241, + 5841666329, 5841797419, 5841928549, 5842059649, 5842190741, 5842321841, 5842452919, + 5842584001, 5842715077, 5842846183, 5842977269, 5843108351, 5843239459, 5843370539, + 5843501621, 5843632721, 5843763799, 5843894897, 5844025987, 5844157061, 5844288157, + 5844419281, 5844550367, 5844681443, 5844812527, 5844943607, 5845074679, 5845205777, + 5845336853, 5845467961, 5845599047, 5845730119, 5845861193, 5845992319, 5846123401, + 5846254499, 5846385593, 5846516693, 5846647799, 5846778881, 5846909989, 5847041077, + 5847172181, 5847303277, 5847434389, 5847565511, 5847696587, 5847827677, 5847958759, + 5848089833, 5848220909, 5848352011, 5848483103, 5848614197, 5848745311, 5848876391, + 5849007469, 5849138573, 5849269649, 5849400761, 5849531837, 5849662913, 5849793991, + 5849925073, 5850056153, 5850187247, 5850318323, 5850449399, 5850580471, 5850711563, + 5850842659, 5850973747, 5851104859, 5851235963, 5851367069, 5851498189, 5851629271, + 5851760351, 5851891439, 5852022529, 5852153611, 5852284717, 5852415839, 5852546911, + 5852678071, 5852809169, 5852940259, 5853071333, 5853202409, 5853333481, 5853464563, + 5853595663, 5853726751, 5853857833, 5853988937, 5854120031, 5854251103, 5854382267, + 5854513351, 5854644427, 5854775561, 5854906633, 5855037707, 5855168779, 5855299867, + 5855430979, 5855562079, 5855693153, 5855824229, 5855955307, 5856086389, 5856217469, + 5856348583, 5856479693, 5856610769, 5856741853, 5856872933, 5857004009, 5857135169, + 5857266251, 5857397323, 5857528403, 5857659487, 5857790563, 5857921639, 5858052731, + 5858183839, 5858314927, 5858446043, 5858577121, 5858708213, 5858839291, 5858970449, + 5859101539, 5859232637, 5859363737, 5859494857, 5859625931, 5859757039, 5859888149, + 5860019237, 5860150313, 5860281403, 5860412477, 5860543607, 5860674709, 5860805813, + 5860936891, 5861067967, 5861199053, 5861330147, 5861461223, 5861592311, 5861723401, + 5861854487, 5861985587, 5862116747, 5862247823, 5862378911, 5862510001, 5862641087, + 5862772169, 5862903257, 5863034329, 5863165409, 5863296493, 5863427599, 5863558721, + 5863689823, 5863820923, 5863951997, 5864083073, 5864214157, 5864345233, 5864476327, + 5864607403, 5864738491, 5864869651, 5865000727, 5865131803, 5865262877, 5865393977, + 5865525049, 5865656123, 5865787211, 5865918283, 5866049377, 5866180553, 5866311677, + 5866442753, 5866573829, 5866704911, 5866835987, 5866967063, 5867098147, 5867229223, + 5867360311, 5867491411, 5867622493, 5867753569, 5867884667, 5868015793, 5868146899, + 5868277973, 5868409051, 5868540143, 5868671257, 5868802333, 5868933439, 5869064521, + 5869195597, 5869326703, 5869457779, 5869588853, 5869719929, 5869851011, 5869982089, + 5870113163, 5870244241, 5870375323, 5870506409, 5870637481, 5870768573, 5870899669, + 5871030749, 5871161897, 5871293003, 5871424093, 5871555167, 5871686243, 5871817319, + 5871948437, 5872079513, 5872210607, 5872341703, 5872472779, 5872603853, 5872734941, + 5872866017, 5872997093, 5873128187, 5873259283, 5873390437, 5873521517, 5873652593, + 5873783719, 5873914799, 5874045883, 5874177007, 5874308081, 5874439159, 5874570239, + 5874701317, 5874832423, 5874963499, 5875094587, 5875225663, 5875356743, 5875487843, + 5875618933, 5875750009, 5875881083, 5876012159, 5876143283, 5876274359, 5876405489, + 5876536577, 5876667703, 5876798779, 5876929853, 5877060953, 5877192053, 5877323161, + 5877454237, 5877585313, 5877716387, 5877847471, 5877978563, 5878109647, 5878240723, + 5878371823, 5878502951, 5878634023, 5878765127, 5878896217, 5879027299, 5879158379, + 5879289461, 5879420543, 5879551649, 5879682773, 5879813861, 5879944969, 5880076099, + 5880207199, 5880338273, 5880469351, 5880600431, 5880731531, 5880862633, 5880993721, + 5881124801, 5881255921, 5881387003, 5881518089, 5881649161, 5881780243, 5881911319, + 5882042399, 5882173477, 5882304557, 5882435707, 5882566787, 5882697869, 5882828957, + 5882960093, 5883091199, 5883222277, 5883353369, 5883484447, 5883615539, 5883746629, + 5883877721, 5884008803, 5884139879, 5884270963, 5884402039, 5884533133, 5884664207, + 5884795289, 5884926361, 5885057471, 5885188553, 5885319637, 5885450713, 5885581799, + 5885712907, 5885844043, 5885975153, 5886106243, 5886237317, 5886368393, 5886499499, + 5886630587, 5886761663, 5886892789, 5887023889, 5887154993, 5887286071, 5887417177, + 5887548253, 5887679333, 5887810417, 5887941503, 5888072629, 5888203709, 5888334839, + 5888465939, 5888597023, 5888728099, 5888859191, 5888990291, 5889121369, 5889252449, + 5889383527, 5889514621, 5889645703, 5889776777, 5889907897, 5890038989, 5890170079, + 5890301177, 5890432253, 5890563383, 5890694533, 5890825613, 5890956727, 5891087801, + 5891218897, 5891350001, 5891481091, 5891612203, 5891743283, 5891874367, 5892005447, + 5892136519, 5892267599, 5892398671, 5892529763, 5892660889, 5892791963, 5892923041, + 5893054129, 5893185211, 5893316309, 5893447381, 5893578503, 5893709587, 5893840669, + 5893971763, 5894102869, 5894233981, 5894365067, 5894496149, 5894627251, 5894758327, + 5894889439, 5895020563, 5895151687, 5895282761, 5895413837, 5895544909, 5895675991, + 5895807089, 5895938189, 5896069271, 5896200371, 5896331473, 5896462549, 5896593631, + 5896724741, 5896855847, 5896986941, 5897118037, 5897249131, 5897380207, 5897511283, + 5897642369, 5897773513, 5897904611, 5898035699, 5898166777, 5898297871, 5898429011, + 5898560093, 5898691171, 5898822253, 5898953329, 5899084403, 5899215499, 5899346599, + 5899477679, 5899608761, 5899739863, 5899870939, 5900002013, 5900133097, 5900264189, + 5900395271, 5900526367, 5900657453, 5900788541, 5900919613, 5901050689, 5901181799, + 5901312887, 5901443981, 5901575089, 5901706177, 5901837287, 5901968363, 5902099439, + 5902230553, 5902361627, 5902492753, 5902623829, 5902754911, 5902886021, 5903017103, + 5903148193, 5903279267, 5903410339, 5903541437, 5903672513, 5903803627, 5903934719, + 5904065807, 5904196889, 5904327977, 5904459049, 5904590173, 5904721267, 5904852347, + 5904983429, 5905114529, 5905245649, 5905376761, 5905507849, 5905638941, 5905770049, + 5905901123, 5906032199, 5906163293, 5906294371, 5906425451, 5906556533, 5906687609, + 5906818699, 5906949791, 5907080887, 5907211963, 5907343037, 5907474191, 5907605293, + 5907736379, 5907867457, 5907998531, 5908129627, 5908260727, 5908391807, 5908522883, + 5908653983, 5908785073, 5908916147, 5909047241, 5909178323, 5909309407, 5909440513, + 5909571611, 5909702693, 5909833793, 5909964869, 5910095941, 5910227023, 5910358163, + 5910489259, 5910620381, 5910751453, 5910882553, 5911013659, 5911144781, 5911275893, + 5911406987, 5911538069, 5911669163, 5911800259, 5911931341, 5912062433, 5912193509, + 5912324591, 5912455697, 5912586781, 5912717869, 5912848957, 5912980043, 5913111131, + 5913242227, 5913373303, 5913504379, 5913635461, 5913766543, 5913897617, 5914028699, + 5914159777, 5914290869, 5914421959, 5914553033, 5914684133, 5914815281, 5914946353, + 5915077429, 5915208511, 5915339609, 5915470703, 5915601779, 5915732857, 5915863937, + 5915995013, 5916126091, 5916257173, 5916388267, 5916519431, 5916650533, 5916781631, + 5916912733, 5917043827, 5917174903, 5917305997, 5917437133, 5917568263, 5917699339, + 5917830419, 5917961501, 5918092573, 5918223659, 5918354737, 5918485813, 5918616911, + 5918747983, 5918879081, 5919010159, 5919141299, 5919272417, 5919403513, 5919534601, + 5919665701, 5919796793, 5919927889, 5920058983, 5920190057, 5920321139, 5920452217, + 5920583297, 5920714391, 5920845473, 5920976569, 5921107657, 5921238779, 5921369863, + 5921500943, 5921632043, 5921763121, 5921894281, 5922025357, 5922156473, 5922287587, + 5922418751, 5922549833, 5922680917, 5922811991, 5922943087, 5923074161, 5923205243, + 5923336337, 5923467421, 5923598501, 5923729589, 5923860673, 5923991747, 5924122823, + 5924253901, 5924384987, 5924516069, 5924647151, 5924778259, 5924909339, 5925040417, + 5925171491, 5925302567, 5925433649, 5925564721, 5925695801, 5925826877, 5925957959, + 5926089031, 5926220117, 5926351243, 5926482323, 5926613447, 5926744519, 5926875601, + 5927006707, 5927137787, 5927268869, 5927399977, 5927531053, 5927662127, 5927793217, + 5927924309, 5928055391, 5928186491, 5928317573, 5928448681, 5928579757, 5928710831, + 5928841903, 5928972979, 5929104053, 5929235167, 5929366243, 5929497347, 5929628423, + 5929759523, 5929890643, 5930021803, 5930152927, 5930284021, 5930415107, 5930546189, + 5930677279, 5930808379, 5930939453, 5931070531, 5931201607, 5931332681, 5931463801, + 5931594883, 5931725977, 5931857069, 5931988267, 5932119341, 5932250449, 5932381529, + 5932512617, 5932643729, 5932774817, 5932905899, 5933036999, 5933168071, 5933299181, + 5933430263, 5933561341, 5933692417, 5933823517, 5933954597, 5934085669, 5934216751, + 5934347857, 5934478937, 5934610013, 5934741107, 5934872191, 5935003379, 5935134473, + 5935265593, 5935396697, 5935527799, 5935658899, 5935790039, 5935921141, 5936052223, + 5936183303, 5936314393, 5936445469, 5936576551, 5936707631, 5936838709, 5936969821, + 5937100907, 5937232033, 5937363109, 5937494197, 5937625273, 5937756353, 5937887453, + 5938018531, 5938149617, 5938280731, 5938411819, 5938542899, 5938673989, 5938805063, + 5938936139, 5939067229, 5939198303, 5939329393, 5939460473, 5939591551, 5939722651, + 5939853757, 5939984833, 5940115913, 5940247013, 5940378089, 5940509171, 5940640243, + 5940771349, 5940902441, 5941033519, 5941164599, 5941295671, 5941426759, 5941557863, + 5941688939, 5941820021, 5941951153, 5942082247, 5942213363, 5942344489, 5942475599, + 5942606671, 5942737747, 5942868821, 5942999917, 5943131081, 5943262181, 5943393257, + 5943524329, 5943655427, 5943786559, 5943917657, 5944048757, 5944179883, 5944310963, + 5944442041, 5944573139, 5944704217, 5944835291, 5944966369, 5945097449, 5945228537, + 5945359619, 5945490737, 5945621819, 5945752909, 5945883989, 5946015071, 5946146147, + 5946277229, 5946408323, 5946539413, 5946670501, 5946801587, 5946932713, 5947063823, + 5947194917, 5947325999, 5947457149, 5947588223, 5947719313, 5947850399, 5947981489, + 5948112607, 5948243701, 5948374813, 5948505889, 5948636989, 5948768081, 5948899169, + 5949030251, 5949161363, 5949292471, 5949423563, 5949554669, 5949685751, 5949816863, + 5949947981, 5950079053, 5950210127, 5950341227, 5950472327, 5950603427, 5950734523, + 5950865597, 5950996699, 5951127773, 5951258849, 5951389957, 5951521061, 5951652139, + 5951783219, 5951914303, 5952045377, 5952176449, 5952307547, 5952438623, 5952569713, + 5952700801, 5952831887, 5952962959, 5953094053, 5953225127, 5953356229, 5953487311, + 5953618397, 5953749497, 5953880683, 5954011787, 5954142899, 5954274043, 5954405123, + 5954536219, 5954667307, 5954798407, 5954929493, 5955060589, 5955191687, 5955322759, + 5955453853, 5955584927, 5955716009, 5955847109, 5955978187, 5956109287, 5956240373, + 5956371493, 5956502639, 5956633717, 5956764823, 5956895911, 5957027009, 5957158111, + 5957289211, 5957420291, 5957551363, 5957682439, 5957813629, 5957944709, 5958075793, + 5958206867, 5958337967, 5958469051, 5958600143, 5958731221, 5958862297, 5958993421, + 5959124531, 5959255609, 5959386683, 5959517783, 5959648873, 5959779949, 5959911029, + 5960042107, 5960173187, 5960304277, 5960435353, 5960566433, 5960697529, 5960828623, + 5960959751, 5961090859, 5961221947, 5961353029, 5961484117, 5961615223, 5961746317, + 5961877393, 5962008473, 5962139549, 5962270627, 5962401703, 5962532827, 5962663919, + 5962794997, 5962926121, 5963057237, 5963188327, 5963319403, 5963450497, 5963581607, + 5963712683, 5963843813, 5963974909, 5964105997, 5964237073, 5964368153, 5964499253, + 5964630337, 5964761431, 5964892553, 5965023637, 5965154729, 5965285841, 5965416913, + 5965547989, 5965679087, 5965810163, 5965941239, 5966072341, 5966203469, 5966334541, + 5966465629, 5966596703, 5966727787, 5966858869, 5966989949, 5967121033, 5967252107, + 5967383237, 5967514313, 5967645427, 5967776527, 5967907601, 5968038677, 5968169761, + 5968300847, 5968431947, 5968563019, 5968694107, 5968825189, 5968956269, 5969087359, + 5969218447, 5969349521, 5969480597, 5969611673, 5969742749, 5969873821, 5970004921, + 5970136049, 5970267133, 5970398227, 5970529307, 5970660379, 5970791461, 5970922547, + 5971053619, 5971184719, 5971315793, 5971446931, 5971578013, 5971709089, 5971840169, + 5971971253, 5972102351, 5972233439, 5972364527, 5972495609, 5972626697, 5972757809, + 5972888903, 5973019981, 5973151099, 5973282173, 5973413261, 5973544333, 5973675427, + 5973806533, 5973937631, 5974068703, 5974199807, 5974330909, 5974462001, 5974593109, + 5974724219, 5974855301, 5974986397, 5975117497, 5975248579, 5975379659, 5975510731, + 5975641807, 5975772889, 5975903977, 5976035071, 5976166169, 5976297263, 5976428389, + 5976559481, 5976690557, 5976821629, 5976952727, 5977083857, 5977214933, 5977346071, + 5977477193, 5977608283, 5977739377, 5977870487, 5978001569, 5978132681, 5978263769, + 5978394871, 5978525947, 5978657039, 5978788117, 5978919239, 5979050317, 5979181399, + 5979312473, 5979443563, 5979574681, 5979705757, 5979836857, 5979967969, 5980099043, + 5980230127, 5980361209, 5980492283, 5980623361, 5980754449, 5980885579, 5981016659, + 5981147747, 5981278879, 5981409953, 5981541053, 5981672149, 5981803271, 5981934377, + 5982065459, 5982196547, 5982327677, 5982458753, 5982589861, 5982720941, 5982852019, + 5982983119, 5983114219, 5983245299, 5983376411, 5983507489, 5983638571, 5983769647, + 5983900733, 5984031811, 5984162953, 5984294039, 5984425129, 5984556209, 5984687281, + 5984818361, 5984949469, 5985080551, 5985211637, 5985342767, 5985473843, 5985604951, + 5985736033, 5985867133, 5985998243, 5986129333, 5986260407, 5986391479, 5986522609, + 5986653697, 5986784773, 5986915849, 5987046929, 5987178013, 5987309099, 5987440181, + 5987571257, 5987702377, 5987833499, 5987964583, 5988095671, 5988226747, 5988357857, + 5988488959, 5988620041, 5988751123, 5988882227, 5989013323, 5989144423, 5989275499, + 5989406581, 5989537657, 5989668733, 5989799821, 5989930897, 5990062009, 5990193101, + 5990324177, 5990455279, 5990586367, 5990717449, 5990848553, 5990979649, 5991110729, + 5991241811, 5991372973, 5991504049, 5991635173, 5991766289, 5991897377, 5992028453, + 5992159543, 5992290617, 5992421713, 5992552843, 5992683919, 5992815011, 5992946101, + 5993077177, 5993208283, 5993339371, 5993470451, 5993601541, 5993732621, 5993863741, + 5993994829, 5994125903, 5994256981, 5994388061, 5994519149, 5994650231, 5994781307, + 5994912379, 5995043479, 5995174561, 5995305643, 5995436731, 5995567861, 5995698977, + 5995830077, 5995961159, 5996092243, 5996223347, 5996354443, 5996485559, 5996616631, + 5996747741, 5996878813, 5997009901, 5997140977, 5997272101, 5997403177, 5997534269, + 5997665369, 5997796487, 5997927571, 5998058659, 5998189733, 5998320827, 5998451903, + 5998583021, 5998714103, 5998845179, 5998976281, 5999107357, 5999238461, 5999369539, + 5999500631, 5999631713, 5999762803, 5999893909, 6000025039, 6000156121, 6000287213, + 6000418301, 6000549403, 6000680489, 6000811567, 6000942671, 6001073747, 6001204831, + 6001335917, 6001467001, 6001598089, 6001729193, 6001860283, 6001991363, 6002122537, + 6002253613, 6002384693, 6002515769, 6002646857, 6002777951, 6002909047, 6003040151, + 6003171247, 6003302323, 6003433411, 6003564487, 6003695567, 6003826639, 6003957719, + 6004088807, 6004219927, 6004351013, 6004482091, 6004613189, 6004744289, 6004875379, + 6005006461, 6005137603, 6005268701, 6005399791, 6005530901, 6005662009, 6005793083, + 6005924189, 6006055271, 6006186409, 6006317501, 6006448573, 6006579679, 6006710761, + 6006841847, 6006972929, 6007104041, 6007235119, 6007366201, 6007497283, 6007628399, + 6007759493, 6007890587, 6008021671, 6008152753, 6008283839, 6008414911, 6008546003, + 6008677079, 6008808187, 6008939273, 6009070351, 6009201433, 6009332507, 6009463591, + 6009594671, 6009725819, 6009856891, 6009987967, 6010119053, 6010250153, 6010381241, + 6010512337, 6010643411, 6010774501, 6010905613, 6011036699, 6011167781, 6011298859, + 6011429939, 6011561021, 6011692111, 6011823217, 6011954303, 6012085379, 6012216451, + 6012347533, 6012478607, 6012609683, 6012740809, 6012871903, 6013003063, 6013134163, + 6013265243, 6013396331, 6013527413, 6013658491, 6013789597, 6013920709, 6014051833, + 6014182907, 6014313997, 6014445119, 6014576207, 6014707319, 6014838413, 6014969507, + 6015100583, 6015231689, 6015362777, 6015493873, 6015624977, 6015756073, 6015887147, + 6016018297, 6016149371, 6016280497, 6016411573, 6016542659, 6016673731, 6016804813, + 6016935889, 6017066969, 6017198041, 6017329177, 6017460271, 6017591347, 6017722421, + 6017853509, 6017984593, 6018115667, 6018246743, 6018377819, 6018508921, 6018640007, + 6018771089, 6018902161, 6019033261, 6019164379, 6019295467, 6019426547, 6019557647, + 6019688747, 6019819843, 6019950917, 6020081989, 6020213063, 6020344151, 6020475233, + 6020606311, 6020737417, 6020868499, 6020999627, 6021130699, 6021261787, 6021392869, + 6021523943, 6021655043, 6021786143, 6021917221, 6022048343, 6022179437, 6022310521, + 6022441597, 6022572727, 6022703821, 6022834903, 6022966069, 6023097151, 6023228251, + 6023359327, 6023490457, 6023621609, 6023752717, 6023883851, 6024014981, 6024146081, + 6024277177, 6024408263, 6024539359, 6024670433, 6024801521, 6024932603, 6025063741, + 6025194817, 6025325947, 6025457021, 6025588109, 6025719181, 6025850269, 6025981349, + 6026112437, 6026243519, 6026374619, 6026505713, 6026636789, 6026767867, 6026899027, + 6027030133, 6027161207, 6027292283, 6027423383, 6027554521, 6027685607, 6027816727, + 6027947867, 6028079027, 6028210099, 6028341181, 6028472267, 6028603369, 6028734469, + 6028865587, 6028996669, 6029127761, 6029258861, 6029389969, 6029521061, 6029652143, + 6029783257, 6029914333, 6030045419, 6030176521, 6030307603, 6030438683, 6030569759, + 6030700849, 6030831943, 6030963041, 6031094117, 6031225253, 6031356329, 6031487431, + 6031618543, 6031749667, 6031880741, 6032011813, 6032142911, 6032273993, 6032405081, + 6032536183, 6032667269, 6032798371, 6032929471, 6033060547, 6033191623, 6033322697, + 6033453773, 6033584873, 6033715949, 6033847049, 6033978151, 6034109227, 6034240351, + 6034371449, 6034502521, 6034633597, 6034764683, 6034895761, 6035026891, 6035158007, + 6035289083, 6035420177, 6035551289, 6035682371, 6035813503, 6035944583, 6036075707, + 6036206783, 6036337861, 6036468943, 6036600041, 6036731117, 6036862199, 6036993341, + 6037124453, 6037255531, 6037386623, 6037517699, 6037648777, 6037779851, 6037910947, + 6038042047, 6038173123, 6038304203, 6038435321, 6038566403, 6038697491, 6038828581, + 6038959697, 6039090787, 6039221861, 6039352951, 6039484043, 6039615119, 6039746191, + 6039877273, 6040008347, 6040139449, 6040270529, 6040401607, 6040532761, 6040663877, + 6040794953, 6040926041, 6041057119, 6041188213, 6041319289, 6041450381, 6041581453, + 6041712529, 6041843609, 6041974693, 6042105787, 6042236861, 6042367943, 6042499061, + 6042630133, 6042761209, 6042892291, 6043023367, 6043154443, 6043285529, 6043416611, + 6043547729, 6043678819, 6043809901, 6043940977, 6044072053, 6044203133, 6044334209, + 6044465309, 6044596423, 6044727499, 6044858593, 6044989667, 6045120749, 6045251827, + 6045382901, 6045514003, 6045645091, 6045776207, 6045907289, 6046038409, 6046169483, + 6046300613, 6046431737, 6046562833, 6046693907, 6046824983, 6046956073, 6047087149, + 6047218249, 6047349377, 6047480477, 6047611579, 6047742653, 6047873747, 6048004829, + 6048135901, 6048266993, 6048398089, 6048529163, 6048660257, 6048791347, 6048922427, + 6049053539, 6049184611, 6049315709, 6049446811, 6049577899, 6049708981, 6049840057, + 6049971133, 6050102221, 6050233307, 6050364401, 6050495491, 6050626573, 6050757653, + 6050888731, 6051019811, 6051150883, 6051281969, 6051413047, 6051544123, 6051675197, + 6051806311, 6051937391, 6052068467, 6052199581, 6052330657, 6052461743, 6052592831, + 6052723909, 6052855013, 6052986089, 6053117171, 6053248283, 6053379401, 6053510479, + 6053641567, 6053772653, 6053903743, 6054034817, 6054165913, 6054297043, 6054428117, + 6054559201, 6054690287, 6054821363, 6054952499, 6055083581, 6055214657, 6055345763, + 6055476997, 6055608079, 6055739213, 6055870309, 6056001421, 6056132497, 6056263621, + 6056394697, 6056525773, 6056656883, 6056787973, 6056919109, 6057050213, 6057181301, + 6057312379, 6057443453, 6057574591, 6057705683, 6057836777, 6057967879, 6058098953, + 6058230131, 6058361209, 6058492301, 6058623379, 6058754473, 6058885571, 6059016643, + 6059147723, 6059278831, 6059409907, 6059540983, 6059672063, 6059803147, 6059934227, + 6060065309, 6060196399, 6060327473, 6060458581, 6060589663, 6060720739, 6060851821, + 6060982897, 6061113983, 6061245061, 6061376137, 6061507213, 6061638301, 6061769377, + 6061900457, 6062031533, 6062162609, 6062293697, 6062424787, 6062555867, 6062686939, + 6062818049, 6062949127, 6063080227, 6063211303, 6063342379, 6063473459, 6063604543, + 6063735619, 6063866713, 6063997813, 6064128899, 6064259983, 6064391143, 6064522279, + 6064653359, 6064784437, 6064915513, 6065046607, 6065177681, 6065308757, 6065439839, + 6065570911, 6065702003, 6065833097, 6065964209, 6066095281, 6066226357, 6066357439, + 6066488557, 6066619631, 6066750731, 6066881831, 6067012937, 6067144009, 6067275101, + 6067406179, 6067537261, 6067668337, 6067799447, 6067930529, 6068061607, 6068192693, + 6068323771, 6068454857, 6068585953, 6068717047, 6068848133, 6068979289, 6069110387, + 6069241469, 6069372583, 6069503681, 6069634757, 6069765881, 6069896977, 6070028057, + 6070159133, 6070290223, 6070421297, 6070552381, 6070683481, 6070814569, 6070945717, + 6071076793, 6071207873, 6071338961, 6071470039, 6071601227, 6071732327, 6071863417, + 6071994527, 6072125627, 6072256709, 6072387781, 6072518899, 6072649997, 6072781069, + 6072912149, 6073043231, 6073174313, 6073305397, 6073436471, 6073567559, 6073698637, + 6073829743, 6073960817, 6074091889, 6074222969, 6074354089, 6074485199, 6074616323, + 6074747473, 6074878567, 6075009641, 6075140779, 6075271889, 6075402961, 6075534041, + 6075665117, 6075796189, 6075927283, 6076058363, 6076189439, 6076320511, 6076451597, + 6076582691, 6076713803, 6076844911, 6076976021, 6077107159, 6077238253, 6077369351, + 6077500447, 6077631541, 6077762641, 6077893729, 6078024851, 6078155929, 6078287003, + 6078418111, 6078549193, 6078680287, 6078811441, 6078942563, 6079073647, 6079204739, + 6079335841, 6079466923, 6079597999, 6079729087, 6079860173, 6079991251, 6080122327, + 6080253427, 6080384507, 6080515621, 6080646701, 6080777783, 6080908859, 6081039967, + 6081171053, 6081302141, 6081433213, 6081564301, 6081695381, 6081826463, 6081957569, + 6082088647, 6082219723, 6082350871, 6082481987, 6082613059, 6082744153, 6082875263, + 6083006357, 6083137433, 6083268533, 6083399627, 6083530703, 6083661781, 6083792857, + 6083923931, 6084055039, 6084186133, 6084317209, 6084448301, 6084579377, 6084710449, + 6084841531, 6084972643, 6085103741, 6085234819, 6085365899, 6085496999, 6085628071, + 6085759153, 6085890241, 6086021341, 6086152421, 6086283503, 6086414627, 6086545763, + 6086676839, 6086807911, 6086938987, 6087070091, 6087201167, 6087332327, 6087463423, + 6087594503, 6087725587, 6087856661, 6087987751, 6088118873, 6088249949, 6088381027, + 6088512119, 6088643221, 6088774301, 6088905377, 6089036479, 6089167561, 6089298637, + 6089429743, 6089560823, 6089691929, 6089823023, 6089954111, 6090085213, 6090216313, + 6090347387, 6090478469, 6090609541, 6090740639, 6090871739, 6091002823, 6091133897, + 6091264973, 6091396063, 6091527139, 6091658227, 6091789309, 6091920397, 6092051477, + 6092182549, 6092313671, 6092444749, 6092575847, 6092706979, 6092838079, 6092969171, + 6093100243, 6093231329, 6093362417, 6093493501, 6093624583, 6093755671, 6093886769, + 6094017871, 6094148959, 6094280041, 6094411123, 6094542199, 6094673279, 6094804361, + 6094935433, 6095066507, 6095197579, 6095328677, 6095459761, 6095590843, 6095721953, + 6095853053, 6095984131, 6096115229, 6096246307, 6096377381, 6096508471, 6096639547, + 6096770621, 6096901747, 6097032853, 6097164013, 6097295117, 6097426217, 6097557317, + 6097688407, 6097819489, 6097950581, 6098081669, 6098212751, 6098343829, 6098474903, + 6098606039, 6098737133, 6098868211, 6098999311, 6099130391, 6099261491, 6099392573, + 6099523649, 6099654727, 6099785807, 6099916961, 6100048057, 6100179131, 6100310219, + 6100441343, 6100572437, 6100703519, 6100834613, 6100965709, 6101096803, 6101227879, + 6101359031, 6101490113, 6101621209, 6101752343, 6101883439, 6102014531, 6102145607, + 6102276709, 6102407797, 6102538889, 6102670087, 6102801167, 6102932243, 6103063327, + 6103194431, 6103325509, 6103456591, 6103587667, 6103718741, 6103849823, 6103980901, + 6104111977, 6104243059, 6104374151, 6104505289, 6104636383, 6104767481, 6104898559, + 6105029641, 6105160753, 6105291859, 6105422941, 6105554017, 6105685121, 6105816209, + 6105947291, 6106078379, 6106209457, 6106340549, 6106471633, 6106602709, 6106733791, + 6106864877, 6106995977, 6107127053, 6107258159, 6107389259, 6107520347, 6107651467, + 6107782567, 6107913659, 6108044737, 6108175817, 6108306889, 6108437981, 6108569053, + 6108700139, 6108831241, 6108962341, 6109093469, 6109224553, 6109355639, 6109486729, + 6109617817, 6109748933, 6109880083, 6110011207, 6110142281, 6110273353, 6110404439, + 6110535521, 6110666599, 6110797703, 6110928799, 6111059893, 6111190973, 6111322069, + 6111453149, 6111584233, 6111715331, 6111846407, 6111977483, 6112108571, 6112239643, + 6112370717, 6112501807, 6112632907, 6112764011, 6112895141, 6113026219, 6113157293, + 6113288393, 6113419493, 6113550587, 6113681659, 6113812739, 6113943827, 6114074903, + 6114205987, 6114337069, 6114468161, 6114599261, 6114730337, 6114861449, 6114992537, + 6115123639, 6115254713, 6115385821, 6115516903, 6115647991, 6115779067, 6115910189, + 6116041279, 6116172353, 6116303429, 6116434501, 6116565583, 6116696687, 6116827799, + 6116958899, 6117089977, 6117221081, 6117352193, 6117483277, 6117614381, 6117745453, + 6117876529, 6118007603, 6118138709, 6118269803, 6118400917, 6118532029, 6118663121, + 6118794277, 6118925353, 6119056441, 6119187517, 6119318627, 6119449709, 6119580791, + 6119711893, 6119842979, 6119974087, 6120105193, 6120236273, 6120367369, 6120498451, + 6120629569, 6120760649, 6120891737, 6121022851, 6121153957, 6121285031, 6121416113, + 6121547207, 6121678309, 6121809403, 6121940509, 6122071597, 6122202677, 6122333759, + 6122464879, 6122596001, 6122727073, 6122858171, 6122989259, 6123120337, 6123251413, + 6123382493, 6123513569, 6123644699, 6123775793, 6123906881, 6124037957, 6124169069, + 6124300159, 6124431241, 6124562317, 6124693423, 6124824523, 6124955621, 6125086729, + 6125217823, 6125348899, 6125479993, 6125611081, 6125742193, 6125873287, 6126004369, + 6126135461, 6126266533, 6126397679, 6126528773, 6126659879, 6126790951, 6126922027, + 6127053103, 6127184209, 6127315307, 6127446419, 6127577497, 6127708577, 6127839691, + 6127970791, 6128101867, 6128232959, 6128364041, 6128495129, 6128626201, 6128757289, + 6128888393, 6129019493, 6129150589, 6129281701, 6129412829, 6129543949, 6129675061, + 6129806159, 6129937243, 6130068337, 6130199417, 6130330499, 6130461593, 6130592669, + 6130723747, 6130854853, 6130985929, 6131117021, 6131248093, 6131379197, 6131510279, + 6131641363, 6131772461, 6131903539, 6132034621, 6132165703, 6132296791, 6132427871, + 6132558953, 6132690037, 6132821119, 6132952193, 6133083293, 6133214401, 6133345487, + 6133476607, 6133607719, 6133738811, 6133869887, 6134000987, 6134132077, 6134263181, + 6134394263, 6134525347, 6134656421, 6134787497, 6134918623, 6135049729, 6135180809, + 6135311881, 6135442961, 6135574043, 6135705137, 6135836233, 6135967309, 6136098407, + 6136229483, 6136360567, 6136491671, 6136622747, 6136753849, 6136884953, 6137016043, + 6137147123, 6137278241, 6137409323, 6137540407, 6137671487, 6137802589, 6137933743, + 6138064837, 6138195913, 6138327011, 6138458083, 6138589169, 6138720257, 6138851371, + 6138982457, 6139113529, 6139244609, 6139375709, 6139506781, 6139637857, 6139768933, + 6139900007, 6140031097, 6140162263, 6140293343, 6140424461, 6140555543, 6140686621, + 6140817721, 6140948797, 6141079877, 6141210991, 6141342083, 6141473197, 6141604309, + 6141735419, 6141866503, 6141997577, 6142128653, 6142259737, 6142390817, 6142521893, + 6142652983, 6142784057, 6142915139, 6143046253, 6143177353, 6143308427, 6143439551, + 6143570659, 6143701763, 6143832839, 6143963911, 6144094993, 6144226073, 6144357179, + 6144488263, 6144619339, 6144750421, 6144881497, 6145012579, 6145143677, 6145274753, + 6145405829, 6145537039, 6145668119, 6145799201, 6145930291, 6146061367, 6146192477, + 6146323627, 6146454719, 6146585869, 6146716943, 6146848027, 6146979101, 6147110237, + 6147241333, 6147372419, 6147503513, 6147634607, 6147765683, 6147896761, 6148027843, + 6148158923, 6148289999, 6148421077, 6148552159, 6148683257, 6148814341, 6148945421, + 6149076503, 6149207591, 6149338681, 6149469779, 6149600867, 6149731943, 6149863051, + 6149994161, 6150125287, 6150256361, 6150387437, 6150518533, 6150649607, 6150780707, + 6150911791, 6151042879, 6151173967, 6151305053, 6151436131, 6151567211, 6151698317, + 6151829399, 6151960483, 6152091599, 6152222717, 6152353793, 6152484869, 6152616011, + 6152747113, 6152878253, 6153009341, 6153140437, 6153271511, 6153402583, 6153533663, + 6153664807, 6153795913, 6153926993, 6154058069, 6154189199, 6154320307, 6154451383, + 6154582459, 6154713553, 6154844669, 6154975741, 6155106833, 6155237947, 6155369063, + 6155500139, 6155631211, 6155762311, 6155893399, 6156024481, 6156155557, 6156286639, + 6156417713, 6156548803, 6156679889, 6156810997, 6156942073, 6157073161, 6157204247, + 6157335341, 6157466429, 6157597519, 6157728637, 6157859761, 6157990843, 6158121917, + 6158253007, 6158384083, 6158515171, 6158646257, 6158777333, 6158908411, 6159039503, + 6159170581, 6159301661, 6159432733, 6159563827, 6159694909, 6159826031, 6159957107, + 6160088201, 6160219277, 6160350359, 6160481441, 6160612543, 6160743707, 6160874779, + 6161005859, 6161136941, 6161268013, 6161399129, 6161530223, 6161661299, 6161792383, + 6161923463, 6162054553, 6162185641, 6162316729, 6162447883, 6162578957, 6162710053, + 6162841151, 6162972223, 6163103311, 6163234397, 6163365469, 6163496543, 6163627619, + 6163758721, 6163889861, 6164020969, 6164152051, 6164283131, 6164414213, 6164545337, + 6164676433, 6164807533, 6164938669, 6165069749, 6165200849, 6165331927, 6165463013, + 6165594101, 6165725227, 6165856303, 6165987409, 6166118509, 6166249597, 6166380677, + 6166511759, 6166642847, 6166773997, 6166905103, 6167036177, 6167167267, 6167298341, + 6167429417, 6167560499, 6167691581, 6167822663, 6167953789, 6168084917, 6168216001, + 6168347111, 6168478201, 6168609299, 6168740387, 6168871477, 6169002577, 6169133651, + 6169264757, 6169395847, 6169526921, 6169657997, 6169789099, 6169920227, 6170051311, + 6170182393, 6170313559, 6170444689, 6170575847, 6170706967, 6170838043, 6170969141, + 6171100213, 6171231289, 6171362381, 6171493457, 6171624559, 6171755651, 6171886741, + 6172017833, 6172148933, 6172280039, 6172411129, 6172542247, 6172673357, 6172804441, + 6172935521, 6173066609, 6173197687, 6173328773, 6173459857, 6173590939, 6173722081, + 6173853199, 6173984291, 6174115373, 6174246553, 6174377633, 6174508709, 6174639781, + 6174770869, 6174902009, 6175033099, 6175164187, 6175295281, 6175426391, 6175557491, + 6175688569, 6175819649, 6175950721, 6176081797, 6176212871, 6176343949, 6176475049, + 6176606143, 6176737249, 6176868331, 6176999417, 6177130507, 6177261581, 6177392653, + 6177523727, 6177654817, 6177785893, 6177916967, 6178048039, 6178179113, 6178310197, + 6178441273, 6178572359, 6178703437, 6178834547, 6178965679, 6179096771, 6179227853, + 6179358931, 6179490007, 6179621137, 6179752213, 6179883287, 6180014359, 6180145441, + 6180276533, 6180407729, 6180538801, 6180669883, 6180800981, 6180932057, 6181063139, + 6181194263, 6181325357, 6181456429, 6181587527, 6181718603, 6181849691, 6181980773, + 6182111861, 6182242943, 6182374027, 6182505103, 6182636209, 6182767291, 6182898367, + 6183029507, 6183160579, 6183291677, 6183422759, 6183553847, 6183684929, 6183816007, + 6183947083, 6184078163, 6184209307, 6184340387, 6184471459, 6184602623, 6184733699, + 6184864783, 6184995871, 6185126951, 6185258039, 6185389117, 6185520197, 6185651317, + 6185782399, 6185913473, 6186044563, 6186175661, 6186306743, 6186437863, 6186568937, + 6186700019, 6186831109, 6186962219, 6187093307, 6187224401, 6187355483, 6187486559, + 6187617637, 6187748729, 6187879811, 6188010883, 6188142007, 6188273107, 6188404181, + 6188535263, 6188666401, 6188797501, 6188928671, 6189059749, 6189190831, 6189321907, + 6189453001, 6189584083, 6189715157, 6189846233, 6189977357, 6190108451, 6190239533, + 6190370623, 6190501697, 6190632803, 6190763903, 6190894979, 6191026057, 6191157139, + 6191288219, 6191419303, 6191550397, 6191681501, 6191812631, 6191943721, 6192074821, + 6192205897, 6192336973, 6192468151, 6192599279, 6192730373, 6192861491, 6192992579, + 6193123661, 6193254733, 6193385827, 6193516907, 6193647983, 6193779071, 6193910153, + 6194041229, 6194172307, 6194303399, 6194434471, 6194565557, 6194696639, 6194827741, + 6194958829, 6195089903, 6195220979, 6195352057, 6195483139, 6195614219, 6195745307, + 6195876397, 6196007491, 6196138573, 6196269649, 6196400723, 6196531799, 6196662947, + 6196794031, 6196925113, 6197056231, 6197187317, 6197318401, 6197449481, 6197580611, + 6197711687, 6197842789, 6197973893, 6198105029, 6198236117, 6198367247, 6198498373, + 6198629453, 6198760531, 6198891619, 6199022693, 6199153799, 6199284893, 6199416019, + 6199547143, 6199678231, 6199809311, 6199940389, 6200071489, 6200202563, 6200333677, + 6200464763, 6200595859, 6200726971, 6200858047, 6200989141, 6201120221, 6201251311, + 6201382391, 6201513463, 6201644549, 6201775667, 6201906757, 6202037857, 6202168957, + 6202300073, 6202431149, 6202562239, 6202693319, 6202824449, 6202955531, 6203086609, + 6203217719, 6203348803, 6203479883, 6203610971, 6203742043, 6203873119, 6204004201, + 6204135323, 6204266401, 6204397487, 6204528587, 6204659663, 6204790751, 6204921823, + 6205052897, 6205184039, 6205315111, 6205446193, 6205577321, 6205708417, 6205839491, + 6205970567, 6206101639, 6206232719, 6206363819, 6206494909, 6206625991, 6206757071, + 6206888143, 6207019261, 6207150353, 6207281453, 6207412567, 6207543647, 6207674771, + 6207805909, 6207936983, 6208068071, 6208199147, 6208330229, 6208461313, 6208592393, + 6208723481, 6208854571, 6208985681, 6209116757, 6209247839, 6209378921, 6209510003, + 6209641079, 6209772181, 6209903281, 6210034357, 6210165457, 6210296551, 6210427631, + 6210558707, 6210689783, 6210820879, 6210951997, 6211083079, 6211214153, 6211345237, + 6211476353, 6211607483, 6211738583, 6211869661, 6212000737, 6212131817, 6212262899, + 6212393983, 6212525069, 6212656181, 6212787299, 6212918389, 6213049541, 6213180629, + 6213311719, 6213442793, 6213573871, 6213704951, 6213836023, 6213967099, 6214098227, + 6214229303, 6214360379, 6214491469, 6214622569, 6214753667, 6214884749, 6215015827, + 6215146901, 6215277989, 6215409097, 6215540183, 6215671279, 6215802407, 6215933483, + 6216064601, 6216195677, 6216326783, 6216457873, 6216588949, 6216720031, 6216851203, + 6216982319, 6217113451, 6217244531, 6217375607, 6217506689, 6217637779, 6217768861, + 6217899943, 6218031023, 6218162101, 6218293177, 6218424269, 6218555351, 6218686429, + 6218817547, 6218948623, 6219079709, 6219210791, 6219341899, 6219472979, 6219604117, + 6219735191, 6219866267, 6219997351, 6220128449, 6220259543, 6220390697, 6220521781, + 6220652857, 6220783963, 6220915061, 6221046133, 6221177219, 6221308297, 6221439377, + 6221570479, 6221701609, 6221832689, 6221963831, 6222094903, 6222225991, 6222357109, + 6222488203, 6222619297, 6222750407, 6222881491, 6223012597, 6223143671, 6223274753, + 6223405841, 6223536961, 6223668053, 6223799147, 6223930241, 6224061313, 6224192393, + 6224323493, 6224454581, 6224585669, 6224716747, 6224847821, 6224978897, 6225110027, + 6225241117, 6225372191, 6225503267, 6225634339, 6225765431, 6225896503, 6226027649, + 6226158721, 6226289801, 6226420903, 6226552001, 6226683077, 6226814171, 6226945261, + 6227076337, 6227207461, 6227338541, 6227469629, 6227600723, 6227731799, 6227862871, + 6227993951, 6228125023, 6228256103, 6228387181, 6228518291, 6228649367, 6228780461, + 6228911539, 6229042613, 6229173701, 6229304773, 6229435867, 6229566949, 6229698047, + 6229829119, 6229960201, 6230091281, 6230222371, 6230353453, 6230484539, 6230615653, + 6230746747, 6230877857, 6231008957, 6231140081, 6231271183, 6231402263, 6231533411, + 6231664487, 6231795569, 6231926647, 6232057771, 6232188863, 6232319957, 6232451033, + 6232582121, 6232713197, 6232844273, 6232975363, 6233106461, 6233237533, 6233368607, + 6233499697, 6233630791, 6233761871, 6233892961, 6234024037, 6234155117, 6234286207, + 6234417289, 6234548377, 6234679459, 6234810607, 6234941689, 6235072793, 6235203881, + 6235334957, 6235466047, 6235597189, 6235728263, 6235859381, 6235990459, 6236121557, + 6236252629, 6236383709, 6236514793, 6236645879, 6236776963, 6236908049, 6237039131, + 6237170263, 6237301363, 6237432473, 6237563641, 6237694721, 6237825899, 6237956987, + 6238088063, 6238219201, 6238350289, 6238481369, 6238612469, 6238743547, 6238874641, + 6239005723, 6239136811, 6239267887, 6239399017, 6239530097, 6239661173, 6239792249, + 6239923331, 6240054413, 6240185509, 6240316591, 6240447667, 6240578741, 6240709823, + 6240840901, 6240971977, 6241103051, 6241234127, 6241365199, 6241496273, 6241627361, + 6241758463, 6241889543, 6242020633, 6242151731, 6242282821, 6242413901, 6242545039, + 6242676163, 6242807261, 6242938343, 6243069473, 6243200597, 6243331673, 6243462749, + 6243593833, 6243724909, 6243856037, 6243987121, 6244118197, 6244249279, 6244380367, + 6244511453, 6244642559, 6244773637, 6244904779, 6245035879, 6245166997, 6245298071, + 6245429147, 6245560219, 6245691301, 6245822393, 6245953507, 6246084587, 6246215671, + 6246346751, 6246477877, 6246608959, 6246740047, 6246871123, 6247002277, 6247133351, + 6247264447, 6247395527, 6247526617, 6247657699, 6247788773, 6247919857, 6248050931, + 6248182013, 6248313091, 6248444179, 6248575259, 6248706367, 6248837467, 6248968543, + 6249099737, 6249230809, 6249361883, 6249492973, 6249624113, 6249755209, 6249886297, + 6250017391, 6250148497, 6250279573, 6250410679, 6250541761, 6250672837, 6250803917, + 6250935049, 6251066183, 6251197261, 6251328337, 6251459429, 6251590529, 6251721617, + 6251852693, 6251983781, 6252114853, 6252245927, 6252377029, 6252508111, 6252639233, + 6252770351, 6252901423, 6253032553, 6253163629, 6253294711, 6253425793, 6253556921, + 6253688041, 6253819127, 6253950203, 6254081369, 6254212451, 6254343587, 6254474693, + 6254605783, 6254736911, 6254867999, 6254999077, 6255130151, 6255261247, 6255392329, + 6255523433, 6255654511, 6255785593, 6255916703, 6256047781, 6256178879, 6256310003, + 6256441097, 6256572181, 6256703291, 6256834403, 6256965479, 6257096557, 6257227637, + 6257358727, 6257489813, 6257620921, 6257752009, 6257883083, 6258014171, 6258145259, + 6258276331, 6258407431, 6258538511, 6258669611, 6258800683, 6258931807, 6259062893, + 6259193971, 6259325053, 6259456153, 6259587233, 6259718347, 6259849469, 6259980553, + 6260111629, 6260242739, 6260373857, 6260504933, 6260636047, 6260767129, 6260898211, + 6261029293, 6261160379, 6261291457, 6261422533, 6261553633, 6261684721, 6261815821, + 6261946913, 6262078001, 6262209073, 6262340153, 6262471249, 6262602337, 6262733413, + 6262864501, 6262995577, 6263126663, 6263257747, 6263388827, 6263519923, 6263650999, + 6263782087, 6263913167, 6264044243, 6264175343, 6264306457, 6264437537, 6264568633, + 6264699731, 6264830813, 6264961897, 6265092971, 6265224089, 6265355177, 6265486261, + 6265617343, 6265748417, 6265879523, 6266010613, 6266141711, 6266272783, 6266403859, + 6266534969, 6266666101, 6266797177, 6266928259, 6267059341, 6267190417, 6267321521, + 6267452599, 6267583687, 6267714769, 6267845867, 6267976969, 6268108061, 6268239149, + 6268370231, 6268501303, 6268632439, 6268763533, 6268894657, 6269025731, 6269156813, + 6269287933, 6269419043, 6269550121, 6269681203, 6269812301, 6269943389, 6270074483, + 6270205573, 6270336647, 6270467773, 6270598849, 6270729931, 6270861007, 6270992081, + 6271123153, 6271254257, 6271385359, 6271516457, 6271647563, 6271778659, 6271909733, + 6272040823, 6272171953, 6272303029, 6272434117, 6272565199, 6272696273, 6272827387, + 6272958463, 6273089551, 6273220631, 6273351703, 6273482777, 6273613849, 6273744943, + 6273876017, 6274007143, 6274138229, 6274269341, 6274400413, 6274531507, 6274662593, + 6274793683, 6274924801, 6275055887, 6275186963, 6275318039, 6275449129, 6275580203, + 6275711287, 6275842373, 6275973449, 6276104531, 6276235621, 6276366703, 6276497779, + 6276628879, 6276759959, 6276891037, 6277022111, 6277153199, 6277284281, 6277415383, + 6277546481, 6277677607, 6277808687, 6277939771, 6278070857, 6278201959, 6278333041, + 6278464133, 6278595283, 6278726387, 6278857489, 6278988571, 6279119653, 6279250729, + 6279381811, 6279512893, 6279643967, 6279775049, 6279906121, 6280037221, 6280168303, + 6280299379, 6280430473, 6280561561, 6280692637, 6280823753, 6280954837, 6281085919, + 6281216999, 6281348081, 6281479153, 6281610263, 6281741339, 6281872481, 6282003589, + 6282134671, 6282265771, 6282396859, 6282527941, 6282659029, 6282790117, 6282921233, + 6283052311, 6283183433, 6283314509, 6283445653, 6283576727, 6283707803, 6283838879, + 6283969973, 6284101049, 6284232133, 6284363219, 6284494343, 6284625449, 6284756587, + 6284887669, 6285018763, 6285149867, 6285280943, 6285412019, 6285543101, 6285674249, + 6285805327, 6285936403, 6286067477, 6286198559, 6286329661, 6286460743, 6286591849, + 6286722929, 6286854037, 6286985123, 6287116223, 6287247319, 6287378411, 6287509489, + 6287640563, 6287771663, 6287902739, 6288033841, 6288164951, 6288296041, 6288427133, + 6288558239, 6288689321, 6288820409, 6288951509, 6289082599, 6289213703, 6289344823, + 6289475897, 6289606991, 6289738067, 6289869241, 6290000351, 6290131459, 6290262551, + 6290393623, 6290524711, 6290655797, 6290786891, 6290917973, 6291049069, 6291180167, + 6291311249, 6291442321, 6291573439, 6291704521, 6291835597, 6291966691, 6292097771, + 6292228849, 6292359947, 6292491071, 6292622143, 6292753237, 6292884329, 6293015431, + 6293146507, 6293277589, 6293408669, 6293539751, 6293670829, 6293801923, 6293933071, + 6294064151, 6294195263, 6294326341, 6294457441, 6294588529, 6294719611, 6294850733, + 6294981811, 6295112891, 6295243963, 6295375063, 6295506149, 6295637239, 6295768327, + 6295899419, 6296030501, 6296161583, 6296292659, 6296423743, 6296554861, 6296685953, + 6296817041, 6296948113, 6297079213, 6297210323, 6297341417, 6297472543, 6297603629, + 6297734713, 6297865787, 6297996863, 6298128097, 6298259197, 6298390277, 6298521349, + 6298652443, 6298783549, 6298914649, 6299045729, 6299176811, 6299307901, 6299438987, + 6299570083, 6299701159, 6299832251, 6299963333, 6300094421, 6300225559, 6300356651, + 6300487729, 6300618809, 6300749951, 6300881029, 6301012117, 6301143197, 6301274293, + 6301405367, 6301536443, 6301667521, 6301798619, 6301929707, 6302060783, 6302191867, + 6302322941, 6302454017, 6302585089, 6302716163, 6302847263, 6302978347, 6303109427, + 6303240529, 6303371603, 6303502679, 6303633767, 6303764861, 6303895937, 6304027027, + 6304158103, 6304289179, 6304420253, 6304551349, 6304682431, 6304813577, 6304944721, + 6305075801, 6305206877, 6305337949, 6305469047, 6305600131, 6305731213, 6305862287, + 6305993359, 6306124457, 6306255541, 6306386663, 6306517739, 6306648833, 6306779909, + 6306910991, 6307042067, 6307173149, 6307304233, 6307435327, 6307566409, 6307697509, + 6307828607, 6307959683, 6308090809, 6308221921, 6308353021, 6308484113, 6308615207, + 6308746289, 6308877409, 6309008483, 6309139579, 6309270659, 6309401731, 6309532819, + 6309663907, 6309794983, 6309926059, 6310057183, 6310188257, 6310319339, 6310450429, + 6310581503, 6310712593, 6310843687, 6310974767, 6311105839, 6311236937, 6311368079, + 6311499151, 6311630243, 6311761319, 6311892409, 6312023519, 6312154603, 6312285701, + 6312416777, 6312547849, 6312678937, 6312810043, 6312941149, 6313072273, 6313203361, + 6313334449, 6313465567, 6313596643, 6313727731, 6313858813, 6313989887, 6314120959, + 6314252129, 6314383249, 6314514329, 6314645419, 6314776519, 6314907611, 6315038711, + 6315169787, 6315300863, 6315431939, 6315563011, 6315694087, 6315825163, 6315956261, + 6316087399, 6316218499, 6316349621, 6316480697, 6316611779, 6316742879, 6316873961, + 6317005033, 6317136121, 6317267219, 6317398303, 6317529451, 6317660533, 6317791609, + 6317922701, 6318053801, 6318184879, 6318315961, 6318447053, 6318578141, 6318709273, + 6318840349, 6318971441, 6319102541, 6319233629, 6319364773, 6319495907, 6319626979, + 6319758059, 6319889131, 6320020261, 6320151361, 6320282443, 6320413531, 6320544611, + 6320675689, 6320806813, 6320937911, 6321068989, 6321200063, 6321331171, 6321462271, + 6321593353, 6321724433, 6321855511, 6321986599, 6322117691, 6322248797, 6322379881, + 6322510967, 6322642111, 6322773187, 6322904261, 6323035351, 6323166433, 6323297507, + 6323428583, 6323559667, 6323690749, 6323821831, 6323952967, 6324084043, 6324215147, + 6324346219, 6324477293, 6324608369, 6324739489, 6324870619, 6325001693, 6325132787, + 6325263869, 6325394947, 6325526047, 6325657189, 6325788263, 6325919339, 6326050417, + 6326181497, 6326312581, 6326443657, 6326574797, 6326705881, 6326836963, 6326968057, + 6327099133, 6327230207, 6327361301, 6327492389, 6327623479, 6327754571, 6327885643, + 6328016759, 6328147873, 6328278959, 6328410037, 6328541111, 6328672199, 6328803277, + 6328934351, 6329065427, 6329196529, 6329327603, 6329458679, 6329589751, 6329720827, + 6329851903, 6329983027, 6330114137, 6330245209, 6330376289, 6330507389, 6330638527, + 6330769603, 6330900679, 6331031809, 6331162913, 6331294009, 6331425097, 6331556191, + 6331687267, 6331818377, 6331949467, 6332080571, 6332211647, 6332342749, 6332473859, + 6332604961, 6332736089, 6332867161, 6332998271, 6333129347, 6333260477, 6333391601, + 6333522677, 6333653759, 6333784859, 6333915941, 6334047047, 6334178119, 6334309193, + 6334440271, 6334571377, 6334702457, 6334833541, 6334964617, 6335095721, 6335226803, + 6335357939, 6335489057, 6335620183, 6335751259, 6335882339, 6336013421, 6336144523, + 6336275609, 6336406693, 6336537803, 6336668879, 6336799981, 6336931079, 6337062161, + 6337193237, 6337324337, 6337455413, 6337586503, 6337717591, 6337848679, 6337979761, + 6338110843, 6338241929, 6338373011, 6338504089, 6338635169, 6338766289, 6338897371, + 6339028447, 6339159523, 6339290611, 6339421709, 6339552809, 6339683897, 6339815021, + 6339946141, 6340077217, 6340208311, 6340339391, 6340470473, 6340601573, 6340732663, + 6340863751, 6340994831, 6341125927, 6341257003, 6341388091, 6341519179, 6341650297, + 6341781443, 6341912569, 6342043679, 6342174793, 6342305869, 6342436943, 6342568031, + 6342699119, 6342830231, 6342961333, 6343092433, 6343223519, 6343354603, 6343485703, + 6343616779, 6343747867, 6343878941, 6344010019, 6344141099, 6344272199, 6344403277, + 6344534377, 6344665451, 6344796539, 6344927681, 6345058781, 6345189853, 6345320951, + 6345452023, 6345583141, 6345714223, 6345845333, 6345976409, 6346107511, 6346238597, + 6346369681, 6346500767, 6346631869, 6346762963, 6346894039, 6347025137, 6347156213, + 6347287301, 6347418421, 6347549557, 6347680649, 6347811731, 6347942827, 6348073903, + 6348204983, 6348336073, 6348467149, 6348598229, 6348729311, 6348860459, 6348991541, + 6349122613, 6349253699, 6349384801, 6349515917, 6349647047, 6349778209, 6349909297, + 6350040371, 6350171467, 6350302547, 6350433619, 6350564699, 6350695829, 6350826929, + 6350958011, 6351089099, 6351220219, 6351351311, 6351482411, 6351613487, 6351744571, + 6351875659, 6352006747, 6352137859, 6352268941, 6352400027, 6352531111, 6352662191, + 6352793281, 6352924363, 6353055473, 6353186563, 6353317681, 6353448757, 6353579849, + 6353710931, 6353842031, 6353973113, 6354104201, 6354235291, 6354366367, 6354497453, + 6354628541, 6354759629, 6354890749, 6355021837, 6355152919, 6355284011, 6355415083, + 6355546177, 6355677277, 6355808399, 6355939501, 6356070587, 6356201681, 6356332777, + 6356463857, 6356594953, 6356726083, 6356857181, 6356988269, 6357119357, 6357250429, + 6357381521, 6357512611, 6357643723, 6357774803, 6357905881, 6358036957, 6358168031, + 6358299131, 6358430207, 6358561309, 6358692397, 6358823477, 6358954559, 6359085643, + 6359216749, 6359347829, 6359478901, 6359609983, 6359741081, 6359872199, 6360003283, + 6360134357, 6360265469, 6360396577, 6360527681, 6360658781, 6360789889, 6360920989, + 6361052081, 6361183187, 6361314283, 6361445371, 6361576457, 6361707529, 6361838603, + 6361969693, 6362100769, 6362231849, 6362362957, 6362494031, 6362625127, 6362756207, + 6362887339, 6363018413, 6363149519, 6363280613, 6363411697, 6363542777, 6363673873, + 6363804977, 6363936127, 6364067201, 6364198331, 6364329403, 6364460521, 6364591603, + 6364722677, 6364853749, 6364984837, 6365115917, 6365247001, 6365378099, 6365509231, + 6365640311, 6365771383, 6365902471, 6366033559, 6366164683, 6366295769, 6366426851, + 6366557957, 6366689089, 6366820193, 6366951277, 6367082383, 6367213471, 6367344553, + 6367475627, 6367606753, 6367737829, 6367868933, 6368000017, 6368131109, 6368262191, + 6368393293, 6368524387, 6368655463, 6368786573, 6368917699, 6369048779, 6369179879, + 6369310951, 6369442069, 6369573157, 6369704233, 6369835309, 6369966413, 6370097501, + 6370228577, 6370359679, 6370490759, 6370621847, 6370752961, 6370884041, 6371015117, + 6371146189, 6371277299, 6371408413, 6371539501, 6371670619, 6371801693, 6371932771, + 6372063853, 6372194947, 6372326057, 6372457151, 6372588223, 6372719299, 6372850381, + 6372981467, 6373112567, 6373243651, 6373374737, 6373505821, 6373636901, 6373767977, + 6373899079, 6374030171, 6374161247, 6374292359, 6374423431, 6374554507, 6374685631, + 6374816717, 6374947837, 6375078937, 6375210043, 6375341143, 6375472247, 6375603323, + 6375734401, 6375865477, 6375996553, 6376127671, 6376258793, 6376389881, 6376520987, + 6376652099, 6376783183, 6376914277, 6377045351, 6377176427, 6377307523, 6377438653, + 6377569729, 6377700869, 6377831959, 6377963051, 6378094139, 6378225211, 6378356287, + 6378487361, 6378618437, 6378749513, 6378880609, 6379011707, 6379142807, 6379273963, + 6379405069, 6379536157, 6379667309, 6379798441, 6379929529, 6380060623, 6380191709, + 6380322829, 6380453909, 6380585011, 6380716087, 6380847163, 6380978269, 6381109349, + 6381240487, 6381371567, 6381502643, 6381633749, 6381764843, 6381895937, 6382027027, + 6382158103, 6382289227, 6382420309, 6382551389, 6382682461, 6382813537, 6382944649, + 6383075747, 6383206831, 6383337943, 6383469031, 6383600141, 6383731241, 6383862343, + 6383993417, 6384124489, 6384255589, 6384386681, 6384517829, 6384648929, 6384780011, + 6384911083, 6385042171, 6385173247, 6385304353, 6385435447, 6385566533, 6385697609, + 6385828699, 6385959779, 6386090897, 6386221997, 6386353073, 6386484173, 6386615281, + 6386746381, 6386877479, 6387008591, 6387139663, 6387270763, 6387401861, 6387532933, + 6387664021, 6387795097, 6387926191, 6388057297, 6388188371, 6388319447, 6388450529, + 6388581631, 6388712747, 6388843823, 6388974919, 6389106011, 6389237083, 6389368211, + 6389499331, 6389630419, 6389761513, 6389892611, 6390023693, 6390154777, 6390285877, + 6390416959, 6390548039, 6390679129, 6390810211, 6390941341, 6391072417, 6391203493, + 6391334581, 6391465697, 6391596803, 6391727891, 6391859003, 6391990091, 6392121163, + 6392252287, 6392383373, 6392514481, 6392645591, 6392776681, 6392907769, 6393038863, + 6393169963, 6393301037, 6393432127, 6393563219, 6393694327, 6393825419, 6393956497, + 6394087571, 6394218643, 6394349729, 6394480817, 6394611901, 6394742983, 6394874063, + 6395005147, 6395136221, 6395267297, 6395398531, 6395529631, 6395660731, 6395791823, + 6395922901, 6396053977, 6396185071, 6396316153, 6396447229, 6396578327, 6396709411, + 6396840487, 6396971563, 6397102651, 6397233751, 6397364833, 6397495927, 6397627001, + 6397758089, 6397889167, 6398020273, 6398151359, 6398282453, 6398413537, 6398544623, + 6398675707, 6398806781, 6398937997, 6399069077, 6399200167, 6399331243, 6399462343, + 6399593419, 6399724517, 6399855589, 6399986669, 6400117769, 6400248853, 6400379969, + 6400511041, 6400642123, 6400773199, 6400904299, 6401035373, 6401166461, 6401297593, + 6401428699, 6401559779, 6401690873, 6401821967, 6401953067, 6402084149, 6402215233, + 6402346337, 6402477413, 6402608489, 6402739573, 6402870671, 6403001777, 6403132859, + 6403263947, 6403395023, 6403526099, 6403657181, 6403788277, 6403919359, 6404050489, + 6404181577, 6404312659, 6404443751, 6404574857, 6404705929, 6404837009, 6404968111, + 6405099191, 6405230291, 6405361423, 6405492539, 6405623639, 6405754757, 6405885833, + 6406016909, 6406147997, 6406279073, 6406410149, 6406541227, 6406672303, 6406803407, + 6406934489, 6407065571, 6407196647, 6407327723, 6407458801, 6407589883, 6407720959, + 6407852039, 6407983139, 6408114217, 6408245297, 6408376369, 6408507449, 6408638521, + 6408769643, 6408900739, 6409031869, 6409162987, 6409294069, 6409425149, 6409556323, + 6409687409, 6409818581, 6409949659, 6410080763, 6410211859, 6410342963, 6410474047, + 6410605129, 6410736209, 6410867293, 6410998453, 6411129553, 6411260627, 6411391699, + 6411522839, 6411653947, 6411785063, 6411916151, 6412047227, 6412178317, 6412309417, + 6412440491, 6412571567, 6412702643, 6412833761, 6412964849, 6413095921, 6413227001, + 6413358073, 6413489167, 6413620247, 6413751329, 6413882413, 6414013499, 6414144593, + 6414275701, 6414406787, 6414537889, 6414668969, 6414800047, 6414931123, 6415062211, + 6415193293, 6415324367, 6415455451, 6415586537, 6415717661, 6415848737, 6415979813, + 6416110891, 6416241991, 6416373071, 6416504177, 6416635273, 6416766373, 6416897477, + 6417028559, 6417159667, 6417290741, 6417421819, 6417552907, 6417683989, 6417815087, + 6417946169, 6418077257, 6418208333, 6418339423, 6418470511, 6418601621, 6418732693, + 6418863769, 6418994851, 6419125987, 6419257081, 6419388181, 6419519269, 6419650343, + 6419781421, 6419912503, 6420043583, 6420174659, 6420305761, 6420436849, 6420567941, + 6420699071, 6420830153, 6420961249, 6421092329, 6421223401, 6421354483, 6421485557, + 6421616633, 6421747747, 6421878847, 6422009939, 6422141039, 6422272123, 6422403227, + 6422534311, 6422665397, 6422796481, 6422927579, 6423058657, 6423189733, 6423320821, + 6423451897, 6423582973, 6423714053, 6423845149, 6423976231, 6424107311, 6424238393, + 6424369481, 6424500557, 6424631701, 6424762781, 6424893877, 6425025053, 6425156141, + 6425287223, 6425418301, 6425549419, 6425680531, 6425811629, 6425942701, 6426073777, + 6426204877, 6426336001, 6426467119, 6426598193, 6426729289, 6426860389, 6426991469, + 6427122587, 6427253681, 6427384763, 6427515869, 6427646983, 6427778083, 6427909157, + 6428040239, 6428171311, 6428302393, 6428433469, 6428564587, 6428695667, 6428826739, + 6428957849, 6429088933, 6429220013, 6429351197, 6429482287, 6429613391, 6429744473, + 6429875579, 6430006651, 6430137731, 6430268809, 6430399903, 6430531073, 6430662193, + 6430793287, 6430924387, 6431055467, 6431186543, 6431317663, 6431448739, 6431579813, + 6431710897, 6431841973, 6431973071, 6432104183, 6432235279, 6432366407, 6432497509, + 6432628597, 6432759689, 6432890767, 6433021849, 6433152949, 6433284029, 6433415117, + 6433546211, 6433677293, 6433808387, 6433939513, 6434070611, 6434201699, 6434332781, + 6434463857, 6434594941, 6434726021, 6434857103, 6434988187, 6435119263, 6435250337, + 6435381413, 6435512507, 6435643609, 6435774703, 6435905803, 6436036913, 6436168009, + 6436299119, 6436430191, 6436561283, 6436692373, 6436823453, 6436954543, 6437085617, + 6437216689, 6437347837, 6437478913, 6437609987, 6437741071, 6437872159, 6438003259, + 6438134359, 6438265451, 6438396623, 6438527717, 6438658817, 6438789893, 6438921019, + 6439052093, 6439183183, 6439314311, 6439445399, 6439576477, 6439707557, 6439838653, + 6439969741, 6440100817, 6440231891, 6440362997, 6440494069, 6440625157, 6440756233, + 6440887351, 6441018427, 6441149509, 6441280583, 6441411667, 6441542741, 6441673837, + 6441804949, 6441936037, 6442067117, 6442198193, 6442329269, 6442460347, 6442591447, + 6442722607, 6442853687, 6442984787, 6443115883, 6443246969, 6443378047, 6443509139, + 6443640211, 6443771291, 6443902363, 6444033451, 6444164543, 6444295681, 6444426811, + 6444557893, 6444688973, 6444820069, 6444951179, 6445082261, 6445213337, 6445344421, + 6445475501, 6445606589, 6445737671, 6445868771, 6445999843, 6446130937, 6446262029, + 6446393111, 6446524211, 6446655301, 6446786383, 6446917523, 6447048607, 6447179707, + 6447310783, 6447441877, 6447572953, 6447704051, 6447835139, 6447966271, 6448097389, + 6448228489, 6448359563, 6448490681, 6448621783, 6448752887, 6448883981, 6449015071, + 6449146153, 6449277253, 6449408369, 6449539507, 6449670607, 6449801719, 6449932799, + 6450063883, 6450194963, 6450326083, 6450457159, 6450588247, 6450719323, 6450850429, + 6450981541, 6451112623, 6451243703, 6451374827, 6451505927, 6451637021, 6451768123, + 6451899203, 6452030303, 6452161421, 6452292499, 6452423629, 6452554741, 6452685859, + 6452816947, 6452948023, 6453079141, 6453210227, 6453341299, 6453472397, 6453603469, + 6453734549, 6453865631, 6453996727, 6454127807, 6454258891, 6454389967, 6454521071, + 6454652143, 6454783249, 6454914359, 6455045431, 6455176517, 6455307631, 6455438707, + 6455569787, 6455700859, 6455831939, 6455963011, 6456094111, 6456225203, 6456356287, + 6456487379, 6456618457, 6456749531, 6456880603, 6457011719, 6457142899, 6457273993, + 6457405079, 6457536157, 6457667263, 6457798349, 6457929449, 6458060561, 6458191661, + 6458322733, 6458453839, 6458584927, 6458716003, 6458847089, 6458978177, 6459109301, + 6459240373, 6459371453, 6459502537, 6459633643, 6459764747, 6459895829, 6460026919, + 6460158031, 6460289111, 6460420193, 6460551269, 6460682341, 6460813421, 6460944493, + 6461075581, 6461206657, 6461337739, 6461468869, 6461599957, 6461731039, 6461862119, + 6461993201, 6462124297, 6462255439, 6462386527, 6462517613, 6462648707, 6462779783, + 6462910877, 6463041953, 6463173049, 6463304131, 6463435213, 6463566341, 6463697431, + 6463828513, 6463959587, 6464090669, 6464221747, 6464352847, 6464483923, 6464615009, + 6464746109, 6464877197, 6465008273, 6465139349, 6465270439, 6465401513, 6465532609, + 6465663697, 6465794827, 6465925913, 6466056997, 6466188073, 6466319147, 6466450231, + 6466581311, 6466712389, 6466843463, 6466974559, 6467105651, 6467236817, 6467367889, + 6467498963, 6467630053, 6467761141, 6467892227, 6468023351, 6468154447, 6468285557, + 6468416651, 6468547733, 6468678841, 6468809917, 6468941033, 6469072111, 6469203199, + 6469334303, 6469465391, 6469596473, 6469727549, 6469858651, 6469989731, 6470120897, + 6470251979, 6470383081, 6470514187, 6470645261, 6470776337, 6470907409, 6471038503, + 6471169583, 6471300673, 6471431767, 6471562841, 6471693953, 6471825053, 6471956137, + 6472087213, 6472218287, 6472349393, 6472480501, 6472611601, 6472742701, 6472873787, + 6473004859, 6473135941, 6473267023, 6473398147, 6473529241, 6473660321, 6473791453, + 6473922557, 6474053629, 6474184711, 6474315811, 6474446911, 6474577987, 6474709103, + 6474840199, 6474971281, 6475102363, 6475233437, 6475364629, 6475495711, 6475626799, + 6475757881, 6475888957, 6476020039, 6476151133, 6476282231, 6476413373, 6476544449, + 6476675567, 6476806709, 6476937791, 6477068869, 6477199943, 6477331019, 6477462149, + 6477593263, 6477724339, 6477855413, 6477986539, 6478117649, 6478248761, 6478379917, + 6478510991, 6478642069, 6478773143, 6478904251, 6479035327, 6479166403, 6479297509, + 6479428607, 6479559689, 6479690761, 6479821849, 6479952923, 6480083999, 6480215087, + 6480346183, 6480477259, 6480608357, 6480739471, 6480870547, 6481001641, 6481132753, + 6481263917, 6481395017, 6481526089, 6481657183, 6481788301, 6481919377, 6482050459, + 6482181539, 6482312701, 6482443777, 6482574851, 6482705941, 6482837027, 6482968099, + 6483099173, 6483230261, 6483361333, 6483492439, 6483623533, 6483754633, 6483885719, + 6484016807, 6484147883, 6484278967, 6484410067, 6484541177, 6484672267, 6484803349, + 6484934459, 6485065537, 6485196631, 6485327711, 6485458783, 6485589911, 6485721001, + 6485852081, 6485983201, 6486114289, 6486245371, 6486376447, 6486507551, 6486638629, + 6486769721, 6486900809, 6487031951, 6487163069, 6487294243, 6487425383, 6487556497, + 6487687571, 6487818691, 6487949771, 6488080849, 6488211931, 6488343013, 6488474101, + 6488605177, 6488736253, 6488867339, 6488998423, 6489129497, 6489260633, 6489391717, + 6489522797, 6489653879, 6489784979, 6489916067, 6490047163, 6490178237, 6490309333, + 6490440427, 6490571509, 6490702583, 6490833659, 6490964743, 6491095823, 6491226923, + 6491358001, 6491489077, 6491620169, 6491751241, 6491882339, 6492013421, 6492144497, + 6492275609, 6492406681, 6492537757, 6492668893, 6492799969, 6492931087, 6493062181, + 6493193261, 6493324333, 6493455407, 6493586483, 6493717577, 6493848679, 6493979759, + 6494110867, 6494241947, 6494373019, 6494504153, 6494635229, 6494766301, 6494897377, + 6495028451, 6495159523, 6495290611, 6495421721, 6495552793, 6495683879, 6495814993, + 6495946087, 6496077173, 6496208309, 6496339391, 6496470509, 6496601593, 6496732729, + 6496863809, 6496994923, 6497126017, 6497257223, 6497388299, 6497519393, 6497650469, + 6497781581, 6497912683, 6498043787, 6498174899, 6498305999, 6498437107, 6498568187, + 6498699283, 6498830369, 6498961531, 6499092637, 6499223737, 6499354867, 6499485977, + 6499617053, 6499748141, 6499879223, 6500010337, 6500141441, 6500272529, 6500403601, + 6500534687, 6500665771, 6500796859, 6500927987, 6501059077, 6501190181, 6501321263, + 6501452351, 6501583423, 6501714533, 6501845621, 6501976693, 6502107769, 6502238867, + 6502369963, 6502501087, 6502632161, 6502763233, 6502894319, 6503025401, 6503156477, + 6503287577, 6503418683, 6503549761, 6503680877, 6503811953, 6503943053, 6504074141, + 6504205217, 6504336361, 6504467441, 6504598517, 6504729617, 6504860741, 6504991819, + 6505122893, 6505253977, 6505385063, 6505516159, 6505647251, 6505778329, 6505909429, + 6506040503, 6506171587, 6506302681, 6506433763, 6506564837, 6506695919, 6506827003, + 6506958079, 6507089179, 6507220309, 6507351397, 6507482473, 6507613547, 6507744631, + 6507875729, 6508006823, 6508137907, 6508268983, 6508400057, 6508531129, 6508662221, + 6508793293, 6508924381, 6509055463, 6509186543, 6509317631, 6509448709, 6509579827, + 6509710937, 6509842021, 6509973161, 6510104291, 6510235363, 6510366437, 6510497533, + 6510628609, 6510759683, 6510890783, 6511021871, 6511152971, 6511284047, 6511415147, + 6511546231, 6511677311, 6511808389, 6511939463, 6512070557, 6512201629, 6512332709, + 6512463781, 6512594863, 6512725943, 6512857019, 6512988109, 6513119233, 6513250309, + 6513381383, 6513512497, 6513643583, 6513774667, 6513905743, 6514036819, 6514167923, + 6514299031, 6514430113, 6514561223, 6514692311, 6514823389, 6514954469, 6515085587, + 6515216699, 6515347781, 6515478881, 6515609981, 6515741059, 6515872133, 6516003209, + 6516134291, 6516265433, 6516396533, 6516527617, 6516658691, 6516789871, 6516920951, + 6517052023, 6517183109, 6517314197, 6517445269, 6517576361, 6517707433, 6517838513, + 6517969603, 6518100707, 6518231803, 6518363009, 6518494097, 6518625181, 6518756261, + 6518887363, 6519018439, 6519149537, 6519280613, 6519411779, 6519542923, 6519673997, + 6519805073, 6519936149, 6520067237, 6520198337, 6520329421, 6520460501, 6520591573, + 6520722653, 6520853737, 6520984837, 6521115947, 6521247053, 6521378183, 6521509261, + 6521640337, 6521771411, 6521902507, 6522033587, 6522164689, 6522295823, 6522426919, + 6522557999, 6522689083, 6522820159, 6522951233, 6523082323, 6523213423, 6523344497, + 6523475611, 6523606757, 6523737853, 6523868927, 6524000009, 6524131091, 6524262167, + 6524393243, 6524524327, 6524655421, 6524786509, 6524917601, 6525048697, 6525179779, + 6525310859, 6525442003, 6525573181, 6525704291, 6525835363, 6525966451, 6526097549, + 6526228627, 6526359703, 6526490801, 6526621891, 6526752971, 6526884071, 6527015167, + 6527146253, 6527277373, 6527408449, 6527539553, 6527670631, 6527801717, 6527932891, + 6528063967, 6528195059, 6528326149, 6528457237, 6528588329, 6528719401, 6528850501, + 6528981581, 6529112669, 6529243741, 6529374821, 6529505893, 6529636991, 6529768073, + 6529899149, 6530030233, 6530161373, 6530292449, 6530423573, 6530554673, 6530685787, + 6530816861, 6530947967, 6531079109, 6531210197, 6531341281, 6531472379, 6531603511, + 6531734591, 6531865667, 6531996749, 6532127827, 6532258939, 6532390013, 6532521113, + 6532652233, 6532783333, 6532914433, 6533045531, 6533176609, 6533307707, 6533438801, + 6533569949, 6533701037, 6533832133, 6533963207, 6534094289, 6534225361, 6534356441, + 6534487559, 6534618631, 6534749717, 6534880811, 6535011887, 6535142959, 6535274059, + 6535405147, 6535536221, 6535667351, 6535798441, 6535929539, 6536060617, 6536191699, + 6536322799, 6536453873, 6536584973, 6536716051, 6536847137, 6536978233, 6537109361, + 6537240461, 6537371569, 6537502651, 6537633733, 6537764819, 6537895961, 6538027037, + 6538158119, 6538289201, 6538420307, 6538551413, 6538682509, 6538813613, 6538944703, + 6539075783, 6539206879, 6539337971, 6539469047, 6539600147, 6539731279, 6539862353, + 6539993429, 6540124537, 6540255613, 6540386717, 6540517811, 6540648889, 6540780007, + 6540911119, 6541042219, 6541173293, 6541304381, 6541435507, 6541566593, 6541697719, + 6541828861, 6541959937, 6542091037, 6542222131, 6542353247, 6542484331, 6542615407, + 6542746517, 6542877641, 6543008723, 6543139831, 6543270907, 6543401981, 6543533057, + 6543664187, 6543795287, 6543926383, 6544057483, 6544188559, 6544319633, 6544450711, + 6544581809, 6544712903, 6544844003, 6544975091, 6545106179, 6545237261, 6545368337, + 6545499419, 6545630491, 6545761571, 6545892671, 6546023761, 6546154883, 6546285959, + 6546417037, 6546548117, 6546679189, 6546810287, 6546941389, 6547072463, 6547203547, + 6547334623, 6547465699, 6547596779, 6547727867, 6547858939, 6547990019, 6548121113, + 6548252189, 6548383267, 6548514347, 6548645449, 6548776523, 6548907619, 6549038747, + 6549169841, 6549300913, 6549431989, 6549563071, 6549694181, 6549825307, 6549956389, + 6550087469, 6550218557, 6550349629, 6550480711, 6550611799, 6550742873, 6550873957, + 6551005037, 6551136113, 6551267197, 6551398279, 6551529371, 6551660449, 6551791601, + 6551922673, 6552053779, 6552184913, 6552316031, 6552447127, 6552578231, 6552709333, + 6552840407, 6552971489, 6553102573, 6553233649, 6553364737, 6553495813, 6553626971, + 6553758049, 6553889137, 6554020229, 6554151313, 6554282401, 6554413499, 6554544571, + 6554675693, 6554806771, 6554937859, 6555068939, 6555200023, 6555331109, 6555462197, + 6555593269, 6555724367, 6555855451, 6555986531, 6556117621, 6556248697, 6556379773, + 6556510867, 6556641941, 6556773053, 6556904129, 6557035211, 6557166289, 6557297363, + 6557428441, 6557559523, 6557690603, 6557821693, 6557952767, 6558083839, 6558214913, + 6558345991, 6558477067, 6558608159, 6558739249, 6558870323, 6559001399, 6559132499, + 6559263583, 6559394657, 6559525729, 6559656847, 6559787939, 6559919029, 6560050153, + 6560181227, 6560312321, 6560443427, 6560574521, 6560705617, 6560836693, 6560967781, + 6561098861, 6561229937, 6561361019, 6561492097, 6561623197, 6561754301, 6561885377, + 6562016459, 6562147547, 6562278631, 6562409723, 6562540807, 6562671881, 6562802959, + 6562934033, 6563065109, 6563196229, 6563327321, 6563458393, 6563589467, 6563720557, + 6563851631, 6563982713, 6564113789, 6564244871, 6564375943, 6564507017, 6564638231, + 6564769307, 6564900401, 6565031497, 6565162577, 6565293661, 6565424737, 6565555837, + 6565686923, 6565818019, 6565949167, 6566080291, 6566211383, 6566342467, 6566473561, + 6566604701, 6566735783, 6566866877, 6566997977, 6567129077, 6567260159, 6567391267, + 6567522343, 6567653441, 6567784519, 6567915671, 6568046743, 6568177831, 6568308913, + 6568440001, 6568571089, 6568702169, 6568833259, 6568964357, 6569095433, 6569226533, + 6569357609, 6569488691, 6569619781, 6569750893, 6569881993, 6570013123, 6570144199, + 6570275287, 6570406393, 6570537487, 6570668563, 6570799657, 6570930799, 6571061873, + 6571192951, 6571324103, 6571455181, 6571586291, 6571717423, 6571848509, 6571979611, + 6572110709, 6572241791, 6572372867, 6572503961, 6572635033, 6572766107, 6572897179, + 6573028261, 6573159413, 6573290489, 6573421577, 6573552653, 6573683749, 6573814823, + 6573945899, 6574076983, 6574208087, 6574339171, 6574470247, 6574601323, 6574732447, + 6574863527, 6574994623, 6575125741, 6575256823, 6575387899, 6575519009, 6575650091, + 6575781197, 6575912281, 6576043373, 6576174457, 6576305537, 6576436637, 6576567719, + 6576698801, 6576829877, 6576960967, 6577092061, 6577223183, 6577354313, 6577485391, + 6577616491, 6577747567, 6577878677, 6578009759, 6578140831, 6578271913, 6578402993, + 6578534069, 6578665147, 6578796229, 6578927347, 6579058457, 6579189541, 6579320617, + 6579451699, 6579582839, 6579713963, 6579845047, 6579976163, 6580107253, 6580238377, + 6580369459, 6580500557, 6580631639, 6580762711, 6580893829, 6581024903, 6581155979, + 6581287087, 6581418187, 6581549263, 6581680363, 6581811479, 6581942567, 6582073643, + 6582204731, 6582335807, 6582466883, 6582597971, 6582729059, 6582860147, 6582991297, + 6583122373, 6583253477, 6583384601, 6583515691, 6583646767, 6583777841, 6583908967, + 6584040049, 6584171123, 6584302223, 6584433301, 6584564387, 6584695471, 6584826551, + 6584957651, 6585088733, 6585219811, 6585350887, 6585481961, 6585613039, 6585744127, + 6585875207, 6586006303, 6586137427, 6586268567, 6586399643, 6586530739, 6586661881, + 6586793047, 6586924129, 6587055221, 6587186293, 6587317381, 6587448487, 6587579591, + 6587710663, 6587841761, 6587972849, 6588103937, 6588235021, 6588366139, 6588497219, + 6588628297, 6588759391, 6588890501, 6589021601, 6589152679, 6589283783, 6589414879, + 6589545959, 6589677043, 6589808227, 6589939303, 6590070397, 6590201503, 6590332601, + 6590463679, 6590594783, 6590725913, 6590856989, 6590988067, 6591119149, 6591250229, + 6591381311, 6591512387, 6591643463, 6591774571, 6591905651, 6592036753, 6592167871, + 6592298969, 6592430063, 6592561163, 6592692289, 6592823401, 6592954493, 6593085589, + 6593216677, 6593347753, 6593478887, 6593609983, 6593741087, 6593872193, 6594003281, + 6594134377, 6594265511, 6594396583, 6594527663, 6594658789, 6594789869, 6594921017, + 6595052117, 6595183211, 6595314353, 6595445459, 6595576567, 6595707647, 6595838749, + 6595969829, 6596100911, 6596232001, 6596363089, 6596494171, 6596625247, 6596756401, + 6596887481, 6597018569, 6597149641, 6597280771, 6597411859, 6597542947, 6597674023, + 6597805099, 6597936173, 6598067263, 6598198351, 6598329427, 6598460503, 6598591609, + 6598722761, 6598853851, 6598984927, 6599116003, 6599247077, 6599378161, 6599509243, + 6599640323, 6599771419, 6599902513, 6600033611, 6600164689, 6600295783, 6600426869, + 6600557969, 6600689087, 6600820183, 6600951257, 6601082329, 6601213447, 6601344539, + 6601475651, 6601606723, 6601737803, 6601868891, 6601999967, 6602131121, 6602262197, + 6602393311, 6602524399, 6602655503, 6602786609, 6602917703, 6603048787, 6603179879, + 6603310957, 6603442037, 6603573121, 6603704197, 6603835313, 6603966419, 6604097503, + 6604228619, 6604359709, 6604490797, 6604621957, 6604753063, 6604884157, 6605015231, + 6605146367, 6605277443, 6605408519, 6605539597, 6605670749, 6605801821, 6605932903, + 6606064007, 6606195143, 6606326219, 6606457307, 6606588409, 6606719491, 6606850609, + 6606981707, 6607112783, 6607243859, 6607374973, 6607506071, 6607637143, 6607768231, + 6607899323, 6608030411, 6608161489, 6608292571, 6608423699, 6608554831, 6608685931, + 6608817011, 6608948113, 6609079199, 6609210281, 6609341357, 6609472523, 6609603599, + 6609734689, 6609865763, 6609996839, 6610127917, 6610259021, 6610390103, 6610521187, + 6610652329, 6610783423, 6610914503, 6611045593, 6611176679, 6611307767, 6611438843, + 6611569931, 6611701043, 6611832121, 6611963201, 6612094273, 6612225353, 6612356449, + 6612487529, 6612618629, 6612749701, 6612880789, 6613011863, 6613142947, 6613274021, + 6613405103, 6613536221, 6613667293, 6613798379, 6613929463, 6614060567, 6614191667, + 6614322749, 6614453843, 6614584937, 6614716013, 6614847089, 6614978189, 6615109261, + 6615240347, 6615371467, 6615502547, 6615633637, 6615764713, 6615895787, 6616026887, + 6616157959, 6616289047, 6616420147, 6616551223, 6616682323, 6616813417, 6616944563, + 6617075639, 6617206733, 6617337809, 6617468933, 6617600051, 6617731181, 6617862253, + 6617993329, 6618124421, 6618255559, 6618386647, 6618517727, 6618648809, 6618779911, + 6618910993, 6619042117, 6619173229, 6619304359, 6619435447, 6619566523, 6619697611, + 6619828687, 6619959763, 6620090837, 6620221921, 6620353009, 6620484083, 6620615219, + 6620746309, 6620877391, 6621008467, 6621139571, 6621270661, 6621401747, 6621532837, + 6621663941, 6621795031, 6621926117, 6622057199, 6622188319, 6622319399, 6622450477, + 6622581583, 6622712669, 6622843763, 6622974863, 6623105959, 6623237041, 6623368117, + 6623499227, 6623630303, 6623761379, 6623892467, 6624023563, 6624154637, 6624285727, + 6624416803, 6624547877, 6624678959, 6624810043, 6624941129, 6625072219, 6625203349, + 6625334473, 6625465549, 6625596629, 6625727741, 6625858823, 6625989901, 6626120983, + 6626252099, 6626383201, 6626514283, 6626645359, 6626776439, 6626907517, 6627038591, + 6627169663, 6627300761, 6627431849, 6627562939, 6627694027, 6627825101, 6627956183, + 6628087343, 6628218427, 6628349503, 6628480583, 6628611739, 6628742821, 6628873931, + 6629005021, 6629136133, 6629267251, 6629398331, 6629529421, 6629660549, 6629791621, + 6629922697, 6630053777, 6630184849, 6630315931, 6630447023, 6630578117, 6630709207, + 6630840283, 6630971357, 6631102507, 6631233589, 6631364681, 6631495753, 6631626853, + 6631757941, 6631889021, 6632020097, 6632151179, 6632282257, 6632413367, 6632544439, + 6632675551, 6632806637, 6632937713, 6633068821, 6633199913, 6633331009, 6633462091, + 6633593167, 6633724283, 6633855359, 6633986501, 6634117573, 6634248697, 6634379783, + 6634510871, 6634641947, 6634773043, 6634904117, 6635035217, 6635166319, 6635297413, + 6635428489, 6635559587, 6635690671, 6635821757, 6635952871, 6636083969, 6636215041, + 6636346121, 6636477251, 6636608453, 6636739541, 6636870619, 6637001713, 6637132787, + 6637263869, 6637394941, 6637526017, 6637657093, 6637788167, 6637919279, 6638050399, + 6638181479, 6638312563, 6638443699, 6638574773, 6638705851, 6638836927, 6638968013, + 6639099101, 6639230183, 6639361277, 6639492383, 6639623467, 6639754547, 6639885647, + 6640016741, 6640147819, 6640278929, 6640410013, 6640541087, 6640672163, 6640803241, + 6640934323, 6641065397, 6641196493, 6641327569, 6641458651, 6641589727, 6641720849, + 6641851943, 6641983021, 6642114109, 6642245189, 6642376261, 6642507371, 6642638467, + 6642769543, 6642900629, 6643031723, 6643162807, 6643293911, 6643424989, 6643556071, + 6643687147, 6643818239, 6643949327, 6644080427, 6644211529, 6644342629, 6644473723, + 6644604829, 6644735939, 6644867057, 6644998141, 6645129221, 6645260311, 6645391387, + 6645522467, 6645653593, 6645784667, 6645915739, 6646046831, 6646177907, 6646308989, + 6646440061, 6646571137, 6646702261, 6646833337, 6646964473, 6647095561, 6647226667, + 6647357741, 6647488871, 6647619947, 6647751041, 6647882207, 6648013291, 6648144397, + 6648275479, 6648406553, 6648537641, 6648668827, 6648799901, 6648931019, 6649062113, + 6649193231, 6649324309, 6649455409, 6649586483, 6649717579, 6649848701, 6649979773, + 6650110853, 6650241937, 6650373029, 6650504101, 6650635177, 6650766277, 6650897353, + 6651028429, 6651159511, 6651290593, 6651421687, 6651552799, 6651683887, 6651814991, + 6651946097, 6652077209, 6652208323, 6652339457, 6652470547, 6652601647, 6652732721, + 6652863799, 6652994899, 6653126003, 6653257097, 6653388179, 6653519287, 6653650361, + 6653781451, 6653912527, 6654043601, 6654174679, 6654305783, 6654436879, 6654567967, + 6654699091, 6654830179, 6654961297, 6655092371, 6655223459, 6655354571, 6655485647, + 6655616753, 6655747853, 6655878937, 6656010019, 6656141117, 6656272193, 6656403319, + 6656534393, 6656665511, 6656796659, 6656927747, 6657058819, 6657189901, 6657320977, + 6657452057, 6657583133, 6657714229, 6657845329, 6657976427, 6658107541, 6658238617, + 6658369693, 6658500791, 6658631869, 6658762949, 6658894027, 6659025119, 6659156191, + 6659287301, 6659418379, 6659549459, 6659680571, 6659811643, 6659942747, 6660073859, + 6660204949, 6660336043, 6660467147, 6660598271, 6660729359, 6660860441, 6660991517, + 6661122649, 6661253747, 6661384837, 6661515911, 6661646983, 6661778059, 6661909157, + 6662040241, 6662171377, 6662302457, 6662433553, 6662564663, 6662695789, 6662826917, + 6662957989, 6663089063, 6663220139, 6663351217, 6663482291, 6663613381, 6663744457, + 6663875539, 6664006633, 6664137731, 6664268827, 6664399913, 6664530989, 6664662061, + 6664793141, 6664924237, 6665055317, 6665186389, 6665317489, 6665448607, 6665579707, + 6665710847, 6665841971, 6665973043, 6666104117, 6666235231, 6666366319, 6666497401, + 6666628481, 6666759557, 6666890669, 6667021763, 6667152847, 6667283971, 6667415071, + 6667546189, 6667677271, 6667808419, 6667939507, 6668070593, 6668201671, 6668332789, + 6668463871, 6668594951, 6668726033, 6668857109, 6668988197, 6669119273, 6669250349, + 6669381427, 6669512533, 6669643639, 6669774733, 6669905819, 6670036931, 6670168013, + 6670299131, 6670430227, 6670561309, 6670692419, 6670823491, 6670954579, 6671085727, + 6671216819, 6671347957, 6671479033, 6671610107, 6671741191, 6671872271, 6672003343, + 6672134453, 6672265591, 6672396667, 6672527753, 6672658879, 6672789971, 6672921053, + 6673052147, 6673183219, 6673314299, 6673445413, 6673576499, 6673707571, 6673838653, + 6673969733, 6674100809, 6674231911, 6674362987, 6674494063, 6674625149, 6674756233, + 6674887367, 6675018461, 6675149549, 6675280649, 6675411731, 6675542803, 6675673891, + 6675804973, 6675936089, 6676067173, 6676198261, 6676329389, 6676460467, 6676591541, + 6676722641, 6676853723, 6676984823, 6677115899, 6677246993, 6677378111, 6677509211, + 6677640317, 6677771423, 6677902573, 6678033679, 6678164761, 6678295837, 6678426913, + 6678558023, 6678689099, 6678820177, 6678951277, 6679082353, 6679213427, 6679344521, + 6679475597, 6679606691, 6679737781, 6679868861, 6679999957, 6680131033, 6680262131, + 6680393231, 6680524351, 6680655439, 6680786549, 6680917631, 6681048721, 6681179807, + 6681310891, 6681441967, 6681573043, 6681704137, 6681835253, 6681966329, 6682097407, + 6682228489, 6682359571, 6682490651, 6682621793, 6682752899, 6682883989, 6683015069, + 6683146159, 6683277247, 6683408323, 6683539439, 6683670517, 6683801599, 6683932681, + 6684063767, 6684194903, 6684325979, 6684457061, 6684588133, 6684719231, 6684850321, + 6684981397, 6685112471, 6685243601, 6685374691, 6685505767, 6685636843, 6685767997, + 6685899091, 6686030171, 6686161267, 6686292367, 6686423453, 6686554573, 6686685671, + 6686816761, 6686947859, 6687078947, 6687210031, 6687341147, 6687472277, 6687603359, + 6687734491, 6687865571, 6687996671, 6688127759, 6688258831, 6688389931, 6688521013, + 6688652093, 6688783181, 6688914269, 6689045351, 6689176433, 6689307517, 6689438593, + 6689569669, 6689700793, 6689831873, 6689962949, 6690094039, 6690225149, 6690356227, + 6690487337, 6690618421, 6690749497, 6690880579, 6691011653, 6691142791, 6691273877, + 6691404983, 6691536113, 6691667189, 6691798279, 6691929397, 6692060491, 6692191589, + 6692322733, 6692453827, 6692584967, 6692716049, 6692847121, 6692978207, 6693109279, + 6693240377, 6693371449, 6693502523, 6693633599, 6693764677, 6693895753, 6694026847, + 6694157923, 6694289003, 6694420091, 6694551167, 6694682249, 6694813361, 6694944439, + 6695075537, 6695206613, 6695337689, 6695468777, 6695599853, 6695730947, 6695862031, + 6695993111, 6696124187, 6696255263, 6696386341, 6696517423, 6696648499, 6696779627, + 6696910709, 6697041839, 6697172929, 6697304017, 6697435109, 6697566191, 6697697273, + 6697828363, 6697959449, 6698090527, 6698221603, 6698352677, 6698483777, 6698614861, + 6698745941, 6698877043, 6699008143, 6699139217, 6699270299, 6699401393, 6699532501, + 6699663577, 6699794663, 6699925753, 6700056827, 6700187899, 6700318979, 6700450063, + 6700581137, 6700712209, 6700843379, 6700974457, 6701105539, 6701236637, 6701367733, + 6701498827, 6701629919, 6701761007, 6701892101, 6702023183, 6702154267, 6702285347, + 6702416443, 6702547519, 6702678599, 6702809681, 6702940771, 6703071853, 6703202929, + 6703334003, 6703465133, 6703596257, 6703727357, 6703858529, 6703989601, 6704120693, + 6704251811, 6704382899, 6704513993, 6704645071, 6704776159, 6704907241, 6705038339, + 6705169417, 6705300523, 6705431627, 6705562711, 6705693829, 6705824903, 6705955979, + 6706087051, 6706218137, 6706349249, 6706480321, 6706611403, 6706742489, 6706873583, + 6707004683, 6707135767, 6707266847, 6707397943, 6707529043, 6707660143, 6707791219, + 6707922293, 6708053369, 6708184481, 6708315553, 6708446651, 6708577751, 6708708829, + 6708839923, 6708971029, 6709102109, 6709233191, 6709364267, 6709495339, 6709626421, + 6709757503, 6709888607, 6710019683, 6710150773, 6710281847, 6710412949, 6710544023, + 6710675099, 6710806171, 6710937269, 6711068417, 6711199511, 6711330583, 6711461657, + 6711592733, 6711723833, 6711854921, 6711986009, 6712117081, 6712248163, 6712379239, + 6712510331, 6712641407, 6712772489, 6712903567, 6713034677, 6713165749, 6713296829, + 6713427911, 6713559001, 6713690077, 6713821151, 6713952229, 6714083303, 6714214421, + 6714345497, 6714476569, 6714607663, 6714738739, 6714869881, 6715001023, 6715132111, + 6715263197, 6715394297, 6715525391, 6715656487, 6715787581, 6715918667, 6716049761, + 6716180839, 6716311963, 6716443061, 6716574133, 6716705207, 6716836283, 6716967379, + 6717098461, 6717229553, 6717360631, 6717491717, 6717622799, 6717753883, 6717884993, + 6718016077, 6718147169, 6718278271, 6718409371, 6718540447, 6718671521, 6718802593, + 6718933667, 6719064739, 6719195839, 6719326949, 6719458037, 6719589131, 6719720251, + 6719851349, 6719982433, 6720113507, 6720244589, 6720375667, 6720506761, 6720637867, + 6720768947, 6720900041, 6721031117, 6721162223, 6721293307, 6721424383, 6721555537, + 6721686611, 6721817717, 6721948799, 6722079883, 6722210977, 6722342057, 6722473171, + 6722604299, 6722735429, 6722866517, 6722997629, 6723128717, 6723259813, 6723390917, + 6723522019, 6723653093, 6723784213, 6723915307, 6724046419, 6724177517, 6724308599, + 6724439671, 6724570751, 6724701829, 6724832929, 6724964041, 6725095129, 6725226203, + 6725357291, 6725488373, 6725619469, 6725750593, 6725881681, 6726012767, 6726143863, + 6726274939, 6726406109, 6726537199, 6726668281, 6726799421, 6726930493, 6727061569, + 6727192709, 6727323781, 6727454861, 6727585973, 6727717063, 6727848139, 6727979213, + 6728110289, 6728241397, 6728372501, 6728503583, 6728634683, 6728765863, 6728896961, + 6729028037, 6729159121, 6729290209, 6729421339, 6729552419, 6729683497, 6729814571, + 6729945679, 6730076783, 6730207919, 6730339003, 6730470091, 6730601179, 6730732303, + 6730863383, 6730994489, 6731125561, 6731256643, 6731387753, 6731518847, 6731649979, + 6731781053, 6731912141, 6732043243, 6732174377, 6732305453, 6732436531, 6732567607, + 6732698701, 6732829841, 6732960917, 6733091993, 6733223083, 6733354171, 6733485251, + 6733616381, 6733747457, 6733878539, 6734009671, 6734140789, 6734271881, 6734402963, + 6734534057, 6734665129, 6734796217, 6734927323, 6735058399, 6735189499, 6735320573, + 6735451649, 6735582727, 6735713849, 6735844949, 6735976021, 6736107097, 6736238177, + 6736369279, 6736500373, 6736631453, 6736762541, 6736893629, 6737024717, 6737155801, + 6737286929, 6737418041, 6737549141, 6737680219, 6737811319, 6737942429, 6738073561, + 6738204653, 6738335741, 6738466841, 6738597917, 6738728999, 6738860071, 6738991157, + 6739122233, 6739253329, 6739384411, 6739515487, 6739646567, 6739777669, 6739908743, + 6740039821, 6740170909, 6740301991, 6740433109, 6740564183, 6740695267, 6740826401, + 6740957501, 6741088579, 6741219691, 6741350771, 6741481849, 6741612923, 6741744007, + 6741875087, 6742006207, 6742137317, 6742268447, 6742399537, 6742530623, 6742661699, + 6742792781, 6742923881, 6743054957, 6743186029, 6743317117, 6743448199, 6743579281, + 6743710357, 6743841473, 6743972551, 6744103669, 6744234769, 6744365843, 6744496933, + 6744628019, 6744759101, 6744890183, 6745021307, 6745152413, 6745283497, 6745414597, + 6745545671, 6745676759, 6745807841, 6745938917, 6746070011, 6746201141, 6746332217, + 6746463289, 6746594389, 6746725507, 6746856581, 6746987671, 6747118751, 6747249827, + 6747380911, 6747512003, 6747643087, 6747774169, 6747905261, 6748036363, 6748167443, + 6748298561, 6748429661, 6748560743, 6748691861, 6748822939, 6748954039, 6749085131, + 6749216237, 6749347313, 6749478403, 6749609479, 6749740559, 6749871649, 6750002723, + 6750133807, 6750264893, 6750395983, 6750527089, 6750658183, 6750789259, 6750920357, + 6751051453, 6751182547, 6751313729, 6751444801, 6751575911, 6751706989, 6751838069, + 6751969141, 6752100221, 6752231383, 6752362469, 6752493557, 6752624651, 6752755727, + 6752886809, 6753017917, 6753149009, 6753280081, 6753411169, 6753542251, 6753673327, + 6753804401, 6753935501, 6754066577, 6754197721, 6754328813, 6754459897, 6754591003, + 6754722083, 6754853179, 6754984273, 6755115349, 6755246437, 6755377511, 6755508589, + 6755639663, 6755770783, 6755901907, 6756033017, 6756164099, 6756295207, 6756426301, + 6756557387, 6756688493, 6756819571, 6756950647, 6757081757, 6757212851, 6757343953, + 6757475029, 6757606109, 6757737191, 6757868269, 6757999351, 6758130437, 6758261509, + 6758392591, 6758523671, 6758654743, 6758785841, 6758916961, 6759048053, 6759179131, + 6759310237, 6759441313, 6759572399, 6759703487, 6759834577, 6759965669, 6760096741, + 6760227839, 6760358929, 6760490117, 6760621213, 6760752329, 6760883447, 6761014523, + 6761145641, 6761276777, 6761407859, 6761538937, 6761670061, 6761801143, 6761932217, + 6762063367, 6762194471, 6762325571, 6762456667, 6762587759, 6762718843, 6762849923, + 6762980999, 6763112087, 6763243163, 6763374251, 6763505339, 6763636441, 6763767523, + 6763898623, 6764029703, 6764160791, 6764291893, 6764422967, 6764554057, 6764685143, + 6764816263, 6764947337, 6765078449, 6765209533, 6765340613, 6765471697, 6765602791, + 6765733913, 6765865009, 6765996137, 6766127237, 6766258309, 6766389407, 6766520479, + 6766651579, 6766782679, 6766913761, 6767044847, 6767175937, 6767307017, 6767438099, + 6767569199, 6767700271, 6767831347, 6767962423, 6768093503, 6768224587, 6768355681, + 6768486799, 6768617953, 6768749027, 6768880099, 6769011181, 6769142257, 6769273349, + 6769404479, 6769535557, 6769666669, 6769797781, 6769928903, 6770059981, 6770191063, + 6770322137, 6770453231, 6770584349, 6770715421, 6770846501, 6770977573, 6771108689, + 6771239807, 6771370901, 6771501977, 6771633073, 6771764177, 6771895253, 6772026361, + 6772157453, 6772288547, 6772419631, 6772550711, 6772681787, 6772812863, 6772943971, + 6773075051, 6773206123, 6773337223, 6773468297, 6773599387, 6773730473, 6773861561, + 6773992633, 6774123709, 6774254783, 6774385883, 6774516971, 6774648061, 6774779149, + 6774910231, 6775041359, 6775172447, 6775303523, 6775434613, 6775565707, 6775696787, + 6775827859, 6775958939, 6776090029, 6776221117, 6776352227, 6776483299, 6776614381, + 6776745463, 6776876543, 6777007637, 6777138721, 6777269813, 6777400919, 6777531991, + 6777663121, 6777794251, 6777925387, 6778056463, 6778187557, 6778318633, 6778449707, + 6778580791, 6778711867, 6778842991, 6778974089, 6779105197, 6779236273, 6779367347, + 6779498437, 6779629513, 6779760587, 6779891681, 6780022787, 6780153869, 6780284963, + 6780416039, 6780547129, 6780678221, 6780809317, 6780940393, 6781071509, 6781202609, + 6781333717, 6781464793, 6781595879, 6781726957, 6781858037, 6781989113, 6782120203, + 6782251291, 6782382413, 6782513497, 6782644571, 6782775653, 6782906737, 6783037841, + 6783168919, 6783300011, 6783431111, 6783562189, 6783693269, 6783824363, 6783955441, + 6784086523, 6784217597, 6784348741, 6784479817, 6784610923, 6784742017, 6784873099, + 6785004179, 6785135281, 6785266417, 6785397503, 6785528627, 6785659711, 6785790833, + 6785921927, 6786053011, 6786184087, 6786315161, 6786446269, 6786577367, 6786708443, + 6786839567, 6786970649, 6787101733, 6787232833, 6787363907, 6787495049, 6787626127, + 6787757227, 6787888307, 6788019379, 6788150461, 6788281561, 6788412637, 6788543731, + 6788674861, 6788805941, 6788937037, 6789068119, 6789199213, 6789330293, 6789461369, + 6789592499, 6789723601, 6789854681, 6789985753, 6790116847, 6790247921, 6790378993, + 6790510127, 6790641199, 6790772321, 6790903423, 6791034517, 6791165621, 6791296693, + 6791427883, 6791558993, 6791690089, 6791821177, 6791952259, 6792083341, 6792214423, + 6792345509, 6792476597, 6792607697, 6792738769, 6792869851, 6793000927, 6793132001, + 6793263077, 6793394177, 6793525253, 6793656361, 6793787447, 6793918529, 6794049667, + 6794180741, 6794311861, 6794442983, 6794574091, 6794705167, 6794836247, 6794967329, + 6795098419, 6795229523, 6795360619, 6795491707, 6795622811, 6795753907, 6795884999, + 6796016081, 6796147199, 6796278271, 6796409353, 6796540441, 6796671521, 6796802629, + 6796933721, 6797064803, 6797195891, 6797327021, 6797458097, 6797589173, 6797720291, + 6797851363, 6797982439, 6798113533, 6798244627, 6798375737, 6798506833, 6798637907, + 6798768983, 6798900091, 6799031191, 6799162277, 6799293349, 6799424483, 6799555577, + 6799686683, 6799817851, 6799948943, 6800080037, 6800211151, 6800342273, 6800473363, + 6800604439, 6800735533, 6800866697, 6800997817, 6801128891, 6801260017, 6801391123, + 6801522229, 6801653351, 6801784427, 6801915503, 6802046591, 6802177663, 6802308749, + 6802439849, 6802570937, 6802702051, 6802833127, 6802964221, 6803095361, 6803226499, + 6803357599, 6803488673, 6803619763, 6803750843, 6803881957, 6804013057, 6804144157, + 6804275239, 6804406321, 6804537401, 6804668491, 6804799583, 6804930661, 6805061743, + 6805192853, 6805323929, 6805455001, 6805586153, 6805717229, 6805848307, 6805979387, + 6806110489, 6806241569, 6806372659, 6806503751, 6806634823, 6806765909, 6806896997, + 6807028069, 6807159167, 6807290251, 6807421337, 6807552421, 6807683563, 6807814711, + 6807945847, 6808076971, 6808208047, 6808339169, 6808470293, 6808601369, 6808732453, + 6808863533, 6808994609, 6809125681, 6809256781, 6809387861, 6809518949, 6809650049, + 6809781157, 6809912233, 6810043309, 6810174401, 6810305569, 6810436673, 6810567749, + 6810698897, 6810829997, 6810961099, 6811092173, 6811223267, 6811354339, 6811485467, + 6811616561, 6811747639, 6811878739, 6812009861, 6812140963, 6812272039, 6812403113, + 6812534191, 6812665267, 6812796373, 6812927449, 6813058559, 6813189631, 6813320743, + 6813451817, 6813582929, 6813714001, 6813845081, 6813976157, 6814107319, 6814238393, + 6814369483, 6814500607, 6814631723, 6814762819, 6814893931, 6815025029, 6815156137, + 6815287247, 6815418331, 6815549453, 6815680559, 6815811677, 6815942779, 6816073861, + 6816204937, 6816336029, 6816467107, 6816598181, 6816729281, 6816860363, 6816991453, + 6817122541, 6817253621, 6817384697, 6817515787, 6817646873, 6817777963, 6817909037, + 6818040137, 6818171281, 6818302411, 6818433493, 6818564579, 6818695651, 6818826779, + 6818957857, 6819088957, 6819220049, 6819351127, 6819482209, 6819613289, 6819744391, + 6819875471, 6820006549, 6820137677, 6820268761, 6820399849, 6820530971, 6820662059, + 6820793131, 6820924217, 6821055331, 6821186419, 6821317511, 6821448589, 6821579663, + 6821710741, 6821841827, 6821972917, 6822103999, 6822235081, 6822366217, 6822497317, + 6822628447, 6822759521, 6822890597, 6823021697, 6823152797, 6823283911, 6823415003, + 6823546141, 6823677241, 6823808357, 6823939439, 6824070523, 6824201669, 6824332787, + 6824463923, 6824595079, 6824726159, 6824857261, 6824988361, 6825119437, 6825250577, + 6825381679, 6825512777, 6825643907, 6825775007, 6825906083, 6826037177, 6826168267, + 6826299343, 6826430417, 6826561519, 6826692611, 6826823687, 6826954763, 6827085841, + 6827216927, 6827348027, 6827479147, 6827610247, 6827741339, 6827872417, 6828003503, + 6828134611, 6828265693, 6828396797, 6828527917, 6828659003, 6828790079, 6828921161, + 6829052233, 6829183307, 6829314379, 6829445477, 6829576597, 6829707671, 6829838767, + 6829969873, 6830100961, 6830232041, 6830363119, 6830494199, 6830625289, 6830756363, + 6830887471, 6831018617, 6831149713, 6831280787, 6831411859, 6831542947, 6831674041, + 6831805117, 6831936193, 6832067311, 6832198409, 6832329499, 6832460573, 6832591651, + 6832722733, 6832853827, 6832984903, 6833115997, 6833247097, 6833378183, 6833509259, + 6833640343, 6833771449, 6833902541, 6834033641, 6834164789, 6834295873, 6834426953, + 6834558067, 6834689179, 6834820261, 6834951373, 6835082459, 6835213549, 6835344667, + 6835475743, 6835606853, 6835737943, 6835869037, 6836000137, 6836131219, 6836262319, + 6836393461, 6836524579, 6836655671, 6836786753, 6836917837, 6837048929, 6837180017, + 6837311119, 6837442193, 6837573269, 6837704399, 6837835471, 6837966547, 6838097641, + 6838228777, 6838359881, 6838490977, 6838622057, 6838753133, 6838884209, 6839015303, + 6839146399, 6839277491, 6839408591, 6839539667, 6839670743, 6839801821, 6839932921, + 6840064003, 6840195077, 6840326149, 6840457231, 6840588323, 6840719407, 6840850481, + 6840981607, 6841112693, 6841243771, 6841374847, 6841505929, 6841637009, 6841768091, + 6841899179, 6842030281, 6842161367, 6842292439, 6842423557, 6842554637, 6842685709, + 6842816801, 6842947873, 6843078947, 6843210037, 6843341123, 6843472217, 6843603289, + 6843734377, 6843865459, 6843996553, 6844127671, 6844258747, 6844389823, 6844520897, + 6844651973, 6844783067, 6844914161, 6845045261, 6845176333, 6845307409, 6845438491, + 6845569589, 6845700691, 6845831767, 6845962847, 6846093923, 6846225007, 6846356117, + 6846487199, 6846618287, 6846749387, 6846880471, 6847011557, 6847142657, 6847273739, + 6847404829, 6847535909, 6847666981, 6847798123, 6847929199, 6848060281, 6848191387, + 6848322469, 6848453551, 6848584643, 6848715721, 6848846803, 6848977897, 6849108977, + 6849240049, 6849371159, 6849502267, 6849633359, 6849764437, 6849895517, 6850026619, + 6850157693, 6850288769, 6850419859, 6850550939, 6850682011, 6850813091, 6850944181, + 6851075269, 6851206361, 6851337443, 6851468521, 6851599603, 6851730709, 6851861791, + 6851992867, 6852123947, 6852255029, 6852386143, 6852517249, 6852648343, 6852779477, + 6852910567, 6853041641, 6853172717, 6853303801, 6853434877, 6853565959, 6853697041, + 6853828229, 6853959379, 6854090497, 6854221571, 6854352643, 6854483737, 6854614831, + 6854745923, 6854877011, 6855008117, 6855139271, 6855270347, 6855401431, 6855532507, + 6855663599, 6855794707, 6855925789, 6856056887, 6856187983, 6856319089, 6856450163, + 6856581241, 6856712327, 6856843423, 6856974517, 6857105597, 6857236669, 6857367841, + 6857498941, 6857630023, 6857761151, 6857892253, 6858023357, 6858154439, 6858285583, + 6858416659, 6858547741, 6858678829, 6858809911, 6858940987, 6859072091, 6859203173, + 6859334269, 6859465351, 6859596437, 6859727533, 6859858609, 6859989707, 6860120797, + 6860251877, 6860382959, 6860514043, 6860645119, 6860776211, 6860907307, 6861038407, + 6861169543, 6861300619, 6861431729, 6861562811, 6861693899, 6861824999, 6861956081, + 6862087171, 6862218247, 6862349321, 6862480409, 6862611487, 6862742581, 6862873657, + 6863004767, 6863135843, 6863266939, 6863398043, 6863529133, 6863660213, 6863791331, + 6863922421, 6864053503, 6864184687, 6864315761, 6864446843, 6864577927, 6864709001, + 6864840113, 6864971189, 6865102297, 6865233373, 6865364453, 6865495601, 6865626673, + 6865757771, 6865888847, 6866019943, 6866151023, 6866282147, 6866413243, 6866544343, + 6866675423, 6866806501, 6866937577, 6867068683, 6867199789, 6867330889, 6867461971, + 6867593053, 6867724183, 6867855277, 6867986453, 6868117537, 6868248623, 6868379699, + 6868510793, 6868641889, 6868773059, 6868904131, 6869035231, 6869166331, 6869297417, + 6869428513, 6869559637, 6869690713, 6869821793, 6869952871, 6870083971, 6870215089, + 6870346177, 6870477281, 6870608357, 6870739459, 6870870533, 6871001611, 6871132687, + 6871263769, 6871394843, 6871525933, 6871657019, 6871788109, 6871919191, 6872050277, + 6872181367, 6872312459, 6872443547, 6872574619, 6872705713, 6872836799, 6872967901, + 6873098983, 6873230059, 6873361177, 6873492253, 6873623327, 6873754399, 6873885517, + 6874016599, 6874147723, 6874278809, 6874409887, 6874540969, 6874672081, 6874803157, + 6874934237, 6875065343, 6875196439, 6875327551, 6875458663, 6875589739, 6875720843, + 6875851933, 6875983007, 6876114103, 6876245237, 6876376319, 6876507427, 6876638521, + 6876769597, 6876900671, 6877031747, 6877162849, 6877293953, 6877425029, 6877556123, + 6877687247, 6877818349, 6877949431, 6878080621, 6878211733, 6878342831, 6878473913, + 6878604989, 6878736083, 6878867189, 6878998267, 6879129347, 6879260419, 6879391501, + 6879522577, 6879653657, 6879784783, 6879915857, 6880046939, 6880178017, 6880309103, + 6880440241, 6880571351, 6880702441, 6880833599, 6880964689, 6881095783, 6881226881, + 6881357953, 6881489059, 6881620133, 6881751211, 6881882297, 6882013373, 6882144473, + 6882275549, 6882406649, 6882537791, 6882668873, 6882799949, 6882931037, 6883062139, + 6883193249, 6883324321, 6883455409, 6883586519, 6883717601, 6883848677, 6883979749, + 6884110823, 6884241967, 6884373047, 6884504119, 6884635193, 6884766293, 6884897381, + 6885028471, 6885159559, 6885290641, 6885421727, 6885552799, 6885683881, 6885814967, + 6885946049, 6886077139, 6886208227, 6886339331, 6886470407, 6886601563, 6886732637, + 6886863713, 6886994819, 6887125897, 6887256973, 6887388049, 6887519129, 6887650201, + 6887781281, 6887912411, 6888043511, 6888174583, 6888305659, 6888436759, 6888567863, + 6888698939, 6888830017, 6888961097, 6889092179, 6889223261, 6889354361, 6889485451, + 6889616527, 6889747649, 6889878763, 6890009851, 6890140931, 6890272013, 6890403167, + 6890534239, 6890665319, 6890796427, 6890927501, 6891058609, 6891189749, 6891320827, + 6891451907, 6891583001, 6891714097, 6891845179, 6891976313, 6892107419, 6892238501, + 6892369591, 6892500683, 6892631773, 6892762901, 6892894009, 6893025127, 6893156219, + 6893287307, 6893418391, 6893549483, 6893680559, 6893811671, 6893942753, 6894073853, + 6894204949, 6894336037, 6894467117, 6894598247, 6894729337, 6894860437, 6894991531, + 6895122631, 6895253707, 6895384789, 6895515881, 6895646959, 6895778039, 6895909117, + 6896040257, 6896171339, 6896302417, 6896433497, 6896564579, 6896695691, 6896826787, + 6896957861, 6897088943, 6897220019, 6897351091, 6897482171, 6897613249, 6897744341, + 6897875423, 6898006517, 6898137599, 6898268677, 6898399763, 6898530841, 6898661923, + 6898793009, 6898924091, 6899055167, 6899186249, 6899317333, 6899448449, 6899579539, + 6899710621, 6899841701, 6899972809, 6900103943, 6900235033, 6900366107, 6900497189, + 6900628289, 6900759413, 6900890539, 6901021643, 6901152719, 6901283801, 6901414909, + 6901546007, 6901677089, 6901808167, 6901939271, 6902070347, 6902201419, 6902332501, + 6902463593, 6902594669, 6902725769, 6902856841, 6902987933, 6903119011, 6903250087, + 6903381181, 6903512351, 6903643433, 6903774517, 6903905599, 6904036693, 6904167839, + 6904298939, 6904430021, 6904561099, 6904692173, 6904823281, 6904954367, 6905085457, + 6905216537, 6905347637, 6905478721, 6905609813, 6905740903, 6905872007, 6906003103, + 6906134219, 6906265297, 6906396379, 6906527461, 6906658541, 6906789683, 6906920771, + 6907051871, 6907182979, 6907314091, 6907445191, 6907576267, 6907707371, 6907838449, + 6907969531, 6908100607, 6908231689, 6908362763, 6908493859, 6908624953, 6908756027, + 6908887109, 6909018191, 6909149311, 6909280409, 6909411491, 6909542573, 6909673663, + 6909804761, 6909935833, 6910066931, 6910198013, 6910329103, 6910460177, 6910591267, + 6910722349, 6910853423, 6910984499, 6911115583, 6911246663, 6911377747, 6911508823, + 6911639897, 6911770991, 6911902117, 6912033229, 6912164323, 6912295417, 6912426497, + 6912557581, 6912688693, 6912819791, 6912950917, 6913082027, 6913213121, 6913344197, + 6913475269, 6913606367, 6913737487, 6913868639, 6913999723, 6914130829, 6914261923, + 6914392997, 6914524069, 6914655169, 6914786293, 6914917379, 6915048457, 6915179533, + 6915310613, 6915441721, 6915572821, 6915703901, 6915835019, 6915966091, 6916097183, + 6916228261, 6916359343, 6916490423, 6916621499, 6916752589, 6916883689, 6917014777, + 6917145853, 6917276929, 6917408009, 6917539081, 6917670163, 6917801239, 6917932313, + 6918063391, 6918194467, 6918325541, 6918456641, 6918587717, 6918718813, 6918849887, + 6918980963, 6919112041, 6919243141, 6919374223, 6919505323, 6919636417, 6919767493, + 6919898581, 6920029679, 6920160787, 6920291863, 6920422969, 6920554051, 6920685131, + 6920816207, 6920947303, 6921078379, 6921209461, 6921340567, 6921471691, 6921602767, + 6921733913, 6921864997, 6921996071, 6922127159, 6922258253, 6922389329, 6922520413, + 6922651487, 6922782569, 6922913651, 6923044741, 6923175869, 6923306947, 6923438021, + 6923569187, 6923700293, 6923831407, 6923962489, 6924093587, 6924224693, 6924355777, + 6924486853, 6924617929, 6924749011, 6924880093, 6925011179, 6925142293, 6925273393, + 6925404467, 6925535611, 6925666691, 6925797763, 6925928861, 6926059963, 6926191067, + 6926322173, 6926453263, 6926584361, 6926715451, 6926846527, 6926977627, 6927108709, + 6927239857, 6927370973, 6927502063, 6927633137, 6927764251, 6927895367, 6928026451, + 6928157531, 6928288607, 6928419709, 6928550791, 6928681909, 6928812983, 6928944089, + 6929075171, 6929206253, 6929337413, 6929468503, 6929599577, 6929730659, 6929861801, + 6929992889, 6930123961, 6930255041, 6930386129, 6930517219, 6930648299, 6930779477, + 6930910579, 6931041653, 6931172737, 6931303823, 6931434977, 6931566049, 6931697141, + 6931828237, 6931959319, 6932090401, 6932221501, 6932352593, 6932483671, 6932614747, + 6932745823, 6932876897, 6933007979, 6933139061, 6933270133, 6933401213, 6933532301, + 6933663397, 6933794503, 6933925577, 6934056667, 6934187747, 6934318841, 6934449919, + 6934581011, 6934712101, 6934843177, 6934974287, 6935105363, 6935236453, 6935367539, + 6935498621, 6935629697, 6935760773, 6935891861, 6936022957, 6936154031, 6936285121, + 6936416197, 6936547301, 6936678407, 6936809479, 6936940561, 6937071641, 6937202729, + 6937333841, 6937464923, 6937596023, 6937727129, 6937858229, 6937989337, 6938120443, + 6938251519, 6938382613, 6938513711, 6938644787, 6938775881, 6938906957, 6939038059, + 6939169141, 6939300217, 6939431321, 6939562393, 6939693479, 6939824587, 6939955663, + 6940086743, 6940217827, 6940348907, 6940479979, 6940611101, 6940742251, 6940873343, + 6941004451, 6941135561, 6941266639, 6941397719, 6941528813, 6941659889, 6941790983, + 6941922089, 6942053197, 6942184273, 6942315397, 6942446471, 6942577549, 6942708649, + 6942839741, 6942970829, 6943101917, 6943232993, 6943364137, 6943495213, 6943626293, + 6943757369, 6943888451, 6944019581, 6944150687, 6944281777, 6944412869, 6944543941, + 6944675027, 6944806111, 6944937191, 6945068281, 6945199361, 6945330439, 6945461513, + 6945592657, 6945723739, 6945854821, 6945985897, 6946116973, 6946248091, 6946379171, + 6946510289, 6946641389, 6946772461, 6946903559, 6947034637, 6947165717, 6947296801, + 6947427959, 6947559053, 6947690149, 6947821259, 6947952353, 6948083431, 6948214523, + 6948345629, 6948476701, 6948607859, 6948738931, 6948870029, 6949001123, 6949132207, + 6949263313, 6949394393, 6949525469, 6949656569, 6949787651, 6949918727, 6950049809, + 6950180891, 6950311987, 6950443061, 6950574133, 6950705213, 6950836307, 6950967389, + 6951098501, 6951229589, 6951360701, 6951491831, 6951622943, 6951754027, 6951885107, + 6952016207, 6952147283, 6952278433, 6952409533, 6952540627, 6952671749, 6952802849, + 6952933927, 6953065001, 6953196073, 6953327167, 6953458247, 6953589329, 6953720401, + 6953851483, 6953982557, 6954113651, 6954244727, 6954375833, 6954506947, 6954638023, + 6954769103, 6954900217, 6955031299, 6955162391, 6955293469, 6955424543, 6955555639, + 6955686761, 6955817837, 6955948921, 6956080007, 6956211191, 6956342291, 6956473399, + 6956604491, 6956735579, 6956866661, 6956997739, 6957128819, 6957259891, 6957391031, + 6957522109, 6957653221, 6957784307, 6957915383, 6958046477, 6958177591, 6958308683, + 6958439809, 6958570891, 6958701973, 6958833067, 6958964143, 6959095217, 6959226293, + 6959357381, 6959488453, 6959619529, 6959750621, 6959881693, 6960012803, 6960143881, + 6960274957, 6960406031, 6960537107, 6960668201, 6960799289, 6960930413, 6961061507, + 6961192603, 6961323689, 6961454761, 6961585859, 6961716947, 6961848029, 6961979117, + 6962110193, 6962241317, 6962372449, 6962503567, 6962634643, 6962765717, 6962896817, + 6963027901, 6963158977, 6963290099, 6963421183, 6963552263, 6963683339, 6963814463, + 6963945539, 6964076627, 6964207699, 6964338811, 6964469891, 6964600963, 6964732039, + 6964863133, 6964994233, 6965125309, 6965256457, 6965387537, 6965518627, 6965649737, + 6965780881, 6965912029, 6966043121, 6966174209, 6966305321, 6966436439, 6966567511, + 6966698633, 6966829763, 6966960857, 6967091941, 6967223017, 6967354109, 6967485181, + 6967616323, 6967747403, 6967878563, 6968009663, 6968140747, 6968271823, 6968402923, + 6968534011, 6968665087, 6968796167, 6968927239, 6969058331, 6969189419, 6969320537, + 6969451627, 6969582703, 6969713833, 6969844957, 6969976043, 6970107119, 6970238201, + 6970369277, 6970500367, 6970631471, 6970762571, 6970893653, 6971024771, 6971155843, + 6971286937, 6971418023, 6971549099, 6971680181, 6971811269, 6971942371, 6972073447, + 6972204539, 6972335633, 6972466757, 6972597829, 6972728923, 6972860047, 6972991199, + 6973122283, 6973253363, 6973384459, 6973515539, 6973646639, 6973777787, 6973908863, + 6974039957, 6974171041, 6974302123, 6974433211, 6974564291, 6974695393, 6974826473, + 6974957567, 6975088639, 6975219721, 6975350803, 6975481937, 6975613019, 6975744091, + 6975875167, 6976006243, 6976137317, 6976268389, 6976399483, 6976530569, 6976661641, + 6976792721, 6976923817, 6977054927, 6977186003, 6977317093, 6977448187, 6977579269, + 6977710417, 6977841509, 6977972629, 6978103703, 6978234797, 6978365879, 6978496951, + 6978628037, 6978759119, 6978890197, 6979021319, 6979152403, 6979283483, 6979414627, + 6979545847, 6979676947, 6979808021, 6979939093, 6980070193, 6980201281, 6980332367, + 6980463443, 6980594531, 6980725613, 6980856703, 6980987833, 6981118987, 6981250093, + 6981381191, 6981512311, 6981643387, 6981774469, 6981905543, 6982036619, 6982167691, + 6982298779, 6982429889, 6982560979, 6982692077, 6982823149, 6982954229, 6983085311, + 6983216393, 6983347507, 6983478581, 6983609671, 6983740807, 6983871889, 6984002999, + 6984134099, 6984265177, 6984396259, 6984527353, 6984658427, 6984789527, 6984920603, + 6985051691, 6985182769, 6985313857, 6985444957, 6985576049, 6985707139, 6985838221, + 6985969303, 6986100409, 6986231489, 6986362571, 6986493677, 6986624753, 6986755837, + 6986886911, 6987018007, 6987149089, 6987280163, 6987411251, 6987542363, 6987673439, + 6987804517, 6987935597, 6988066721, 6988197833, 6988328923, 6988459997, 6988591079, + 6988722161, 6988853257, 6988984361, 6989115433, 6989246557, 6989377673, 6989508811, + 6989639887, 6989770967, 6989902069, 6990033181, 6990164281, 6990295357, 6990426433, + 6990557507, 6990688597, 6990819673, 6990950753, 6991081829, 6991212901, 6991343977, + 6991475059, 6991606151, 6991737251, 6991868347, 6991999429, 6992130503, 6992261597, + 6992392697, 6992523803, 6992654881, 6992785963, 6992917069, 6993048193, 6993179327, + 6993310421, 6993441509, 6993572587, 6993703687, 6993834761, 6993965857, 6994096981, + 6994228103, 6994359259, 6994490339, 6994621433, 6994752551, 6994883641, 6995014759, + 6995145869, 6995276989, 6995408107, 6995539189, 6995670277, 6995801353, 6995932441, + 6996063583, 6996194701, 6996325811, 6996456889, 6996587999, 6996719083, 6996850169, + 6996981247, 6997112323, 6997243397, 6997374469, 6997505587, 6997636697, 6997767797, + 6997898891, 6998029967, 6998161097, 6998292181, 6998423261, 6998554361, 6998685437, + 6998816543, 6998947621, 6999078701, 6999209773, 6999340883, 6999471961, 6999603049, + 6999734129, 6999865211, 6999996299, 7000127377, 7000258471, 7000389553, 7000520641, + 7000651717, 7000782797, 7000913873, 7001044997, 7001176073, 7001307161, 7001438233, + 7001569307, 7001700379, 7001831453, 7001962543, 7002093689, 7002224767, 7002355849, + 7002486929, 7002618013, 7002749087, 7002880169, 7003011271, 7003142357, 7003273439, + 7003404521, 7003535621, 7003666697, 7003797793, 7003928917, 7004059999, 7004191091, + 7004322163, 7004453321, 7004584423, 7004715499, 7004846573, 7004977663, 7005108779, + 7005239887, 7005370969, 7005502061, 7005633137, 7005764221, 7005895297, 7006026397, + 7006157471, 7006288547, 7006419653, 7006550741, 7006681849, 7006812937, 7006944047, + 7007075171, 7007206247, 7007337329, 7007468401, 7007599531, 7007730641, 7007861723, + 7007992799, 7008123883, 7008254969, 7008386041, 7008517141, 7008648221, 7008779293, + 7008910379, 7009041451, 7009172543, 7009303627, 7009434703, 7009565803, 7009696909, + 7009828037, 7009959109, 7010090203, 7010221277, 7010352353, 7010483429, 7010614529, + 7010745601, 7010876693, 7011007849, 7011138923, 7011270001, 7011401083, 7011532163, + 7011663259, 7011794341, 7011925447, 7012056539, 7012187621, 7012318693, 7012449803, + 7012580879, 7012711987, 7012843081, 7012974169, 7013105249, 7013236327, 7013367479, + 7013498593, 7013629697, 7013760779, 7013891879, 7014022973, 7014154051, 7014285139, + 7014416251, 7014547363, 7014678443, 7014809521, 7014940601, 7015071673, 7015202827, + 7015333901, 7015464977, 7015596067, 7015727197, 7015858273, 7015989371, 7016120459, + 7016251553, 7016382629, 7016513711, 7016644783, 7016775901, 7016907013, 7017038087, + 7017169163, 7017300263, 7017431357, 7017562439, 7017693511, 7017824603, 7017955741, + 7018086821, 7018217951, 7018349027, 7018480127, 7018611217, 7018742293, 7018873441, + 7019004547, 7019135633, 7019266711, 7019397799, 7019528881, 7019659957, 7019791043, + 7019922157, 7020053237, 7020184333, 7020315437, 7020446539, 7020577639, 7020708727, + 7020839801, 7020970889, 7021101979, 7021233071, 7021364143, 7021495237, 7021626317, + 7021757411, 7021888513, 7022019617, 7022150699, 7022281781, 7022412869, 7022543947, + 7022675047, 7022806121, 7022937209, 7023068293, 7023199367, 7023330469, 7023461563, + 7023592651, 7023723761, 7023854863, 7023985957, 7024117031, 7024248131, 7024379203, + 7024510277, 7024641353, 7024772429, 7024903531, 7025034613, 7025165723, 7025296813, + 7025427953, 7025559041, 7025690131, 7025821207, 7025952281, 7026083369, 7026214451, + 7026345551, 7026476627, 7026607699, 7026738847, 7026869923, 7027001011, 7027132127, + 7027263203, 7027394281, 7027525387, 7027656487, 7027787561, 7027918649, 7028049757, + 7028180839, 7028311919, 7028443069, 7028574151, 7028705249, 7028836327, 7028967427, + 7029098509, 7029229589, 7029360697, 7029491773, 7029622861, 7029753947, 7029885053, + 7030016129, 7030147249, 7030278337, 7030409411, 7030540483, 7030671581, 7030802711, + 7030933807, 7031064917, 7031196013, 7031327101, 7031458177, 7031589251, 7031720327, + 7031851403, 7031982577, 7032113651, 7032244729, 7032375803, 7032506927, 7032638101, + 7032769217, 7032900307, 7033031381, 7033162457, 7033293539, 7033424647, 7033555723, + 7033686797, 7033817941, 7033949029, 7034080111, 7034211199, 7034342303, 7034473399, + 7034604509, 7034735599, 7034866681, 7034997793, 7035128897, 7035259981, 7035391063, + 7035522149, 7035653227, 7035784309, 7035915389, 7036046509, 7036177607, 7036308679, + 7036439771, 7036570883, 7036701967, 7036833071, 7036964167, 7037095267, 7037226341, + 7037357429, 7037488511, 7037619583, 7037750663, 7037881759, 7038012841, 7038143933, + 7038275021, 7038406117, 7038537193, 7038668297, 7038799373, 7038930467, 7039061543, + 7039192621, 7039323701, 7039454789, 7039585921, 7039717021, 7039848103, 7039979201, + 7040110289, 7040241367, 7040372483, 7040503577, 7040634659, 7040765731, 7040896847, + 7041027947, 7041159101, 7041290203, 7041421307, 7041552389, 7041683489, 7041814567, + 7041945641, 7042076737, 7042207819, 7042338959, 7042470037, 7042601117, 7042732201, + 7042863293, 7042994369, 7043125471, 7043256643, 7043387783, 7043518877, 7043649979, + 7043781067, 7043912179, 7044043271, 7044174353, 7044305431, 7044436513, 7044567619, + 7044698711, 7044829787, 7044960877, 7045091959, 7045223077, 7045354153, 7045485229, + 7045616359, 7045747433, 7045878529, 7046009617, 7046140697, 7046271797, 7046402873, + 7046533951, 7046665037, 7046796139, 7046927213, 7047058289, 7047189407, 7047320557, + 7047451637, 7047582719, 7047713801, 7047844889, 7047975971, 7048107049, 7048238149, + 7048369231, 7048500323, 7048631431, 7048762541, 7048893659, 7049024737, 7049155811, + 7049286883, 7049418031, 7049549161, 7049680237, 7049811341, 7049942437, 7050073529, + 7050204631, 7050335731, 7050466817, 7050597893, 7050728969, 7050860051, 7050991133, + 7051122209, 7051253327, 7051384399, 7051515481, 7051646611, 7051777697, 7051908791, + 7052039879, 7052170963, 7052302043, 7052433161, 7052564293, 7052695379, 7052826481, + 7052957609, 7053088687, 7053219769, 7053350849, 7053481927, 7053613009, 7053744097, + 7053875207, 7054006283, 7054137367, 7054268461, 7054399537, 7054530611, 7054661693, + 7054792813, 7054923899, 7055054999, 7055186093, 7055317189, 7055448263, 7055579357, + 7055710471, 7055841553, 7055972633, 7056103711, 7056234797, 7056365923, 7056497027, + 7056628099, 7056759173, 7056890257, 7057021331, 7057152419, 7057283507, 7057414597, + 7057545673, 7057676761, 7057807843, 7057938931, 7058070017, 7058201147, 7058332241, + 7058463317, 7058594401, 7058725523, 7058856601, 7058987723, 7059118817, 7059249917, + 7059381031, 7059512113, 7059643189, 7059774287, 7059905429, 7060036513, 7060167589, + 7060298669, 7060429787, 7060560863, 7060691951, 7060823023, 7060954123, 7061085209, + 7061216287, 7061347393, 7061478509, 7061609593, 7061740681, 7061871847, 7062002933, + 7062134017, 7062265099, 7062396181, 7062527279, 7062658357, 7062789443, 7062920519, + 7063051603, 7063182691, 7063313809, 7063444889, 7063575979, 7063707073, 7063838203, + 7063969291, 7064100367, 7064231501, 7064362573, 7064493739, 7064624863, 7064755937, + 7064887019, 7065018091, 7065149173, 7065280289, 7065411371, 7065542443, 7065673519, + 7065804601, 7065935713, 7066066907, 7066198031, 7066329107, 7066460231, 7066591307, + 7066722379, 7066853459, 7066984537, 7067115613, 7067246699, 7067377777, 7067508857, + 7067639947, 7067771023, 7067902103, 7068033191, 7068164297, 7068295369, 7068426499, + 7068557609, 7068688703, 7068819809, 7068950891, 7069081997, 7069213069, 7069344169, + 7069475311, 7069606441, 7069737523, 7069868623, 7069999723, 7070130803, 7070261879, + 7070392957, 7070524031, 7070655127, 7070786207, 7070917307, 7071048389, 7071179471, + 7071310553, 7071441647, 7071572771, 7071703871, 7071834961, 7071966043, 7072097117, + 7072228217, 7072359289, 7072490371, 7072621453, 7072752529, 7072883611, 7073014699, + 7073145797, 7073276911, 7073407997, 7073539091, 7073670193, 7073801279, 7073932361, + 7074063461, 7074194591, 7074325703, 7074456803, 7074587879, 7074718993, 7074850171, + 7074981281, 7075112393, 7075243493, 7075374637, 7075505711, 7075636801, 7075767877, + 7075898957, 7076030029, 7076161133, 7076292229, 7076423303, 7076554379, 7076685461, + 7076816543, 7076947681, 7077078773, 7077209861, 7077340939, 7077472067, 7077603161, + 7077734249, 7077865369, 7077996479, 7078127587, 7078258673, 7078389749, 7078520821, + 7078651901, 7078782973, 7078914067, 7079045143, 7079176217, 7079307311, 7079438413, + 7079569513, 7079700601, 7079831729, 7079962801, 7080093883, 7080225001, 7080356077, + 7080487151, 7080618229, 7080749353, 7080880447, 7081011533, 7081142633, 7081273757, + 7081404857, 7081535957, 7081667029, 7081798211, 7081929317, 7082060389, 7082191469, + 7082322547, 7082453647, 7082584759, 7082715839, 7082846933, 7082978011, 7083109127, + 7083240209, 7083371293, 7083502403, 7083633493, 7083764591, 7083895673, 7084026757, + 7084157837, 7084288921, 7084420001, 7084551079, 7084682161, 7084813273, 7084944367, + 7085075443, 7085206537, 7085337613, 7085468699, 7085599777, 7085730871, 7085861947, + 7085993041, 7086124121, 7086255203, 7086386297, 7086517391, 7086648463, 7086779549, + 7086910687, 7087041763, 7087172941, 7087304033, 7087435129, 7087566247, 7087697327, + 7087828403, 7087959493, 7088090587, 7088221667, 7088352749, 7088483861, 7088614961, + 7088746079, 7088877157, 7089008233, 7089139319, 7089270401, 7089401477, 7089532577, + 7089663671, 7089794783, 7089925883, 7090056983, 7090188071, 7090319147, 7090450223, + 7090581301, 7090712399, 7090843481, 7090974581, 7091105687, 7091236771, 7091367901, + 7091498993, 7091630069, 7091761141, 7091892233, 7092023317, 7092154403, 7092285521, + 7092416599, 7092547687, 7092678767, 7092809849, 7092940927, 7093072093, 7093203193, + 7093334267, 7093465363, 7093596449, 7093727567, 7093858649, 7093989737, 7094120809, + 7094251961, 7094383057, 7094514131, 7094645203, 7094776361, 7094907433, 7095038513, + 7095169603, 7095300691, 7095431767, 7095562879, 7095693953, 7095825029, 7095956107, + 7096087247, 7096218323, 7096349401, 7096480519, 7096611607, 7096742699, 7096873801, + 7097004907, 7097136043, 7097267171, 7097398249, 7097529349, 7097660431, 7097791537, + 7097922617, 7098053689, 7098184763, 7098315841, 7098447007, 7098578093, 7098709171, + 7098840271, 7098971381, 7099102453, 7099233563, 7099364641, 7099495723, 7099626797, + 7099757879, 7099889051, 7100020139, 7100151217, 7100282347, 7100413427, 7100544523, + 7100675597, 7100806679, 7100937751, 7101068851, 7101199943, 7101331031, 7101462149, + 7101593237, 7101724309, 7101855407, 7101986519, 7102117637, 7102248719, 7102379917, + 7102510993, 7102642069, 7102773157, 7102904239, 7103035333, 7103166407, 7103297501, + 7103428621, 7103559713, 7103690819, 7103821891, 7103952971, 7104084067, 7104215143, + 7104346231, 7104477313, 7104608389, 7104739471, 7104870547, 7105001639, 7105132721, + 7105263827, 7105394927, 7105526003, 7105657079, 7105788161, 7105919251, 7106050333, + 7106181413, 7106312491, 7106443577, 7106574659, 7106705731, 7106836819, 7106967893, + 7107099001, 7107230111, 7107361201, 7107492283, 7107623357, 7107754447, 7107885527, + 7108016611, 7108147693, 7108278797, 7108409897, 7108540981, 7108672057, 7108803179, + 7108934263, 7109065349, 7109196443, 7109327573, 7109458669, 7109589763, 7109720843, + 7109851921, 7109983007, 7110114083, 7110245171, 7110376243, 7110507343, 7110638419, + 7110769511, 7110900637, 7111031731, 7111162823, 7111293907, 7111424981, 7111556071, + 7111687169, 7111818253, 7111949387, 7112080487, 7112211559, 7112342663, 7112473741, + 7112604853, 7112735933, 7112867017, 7112998097, 7113129173, 7113260257, 7113391333, + 7113522407, 7113653537, 7113784621, 7113915703, 7114046783, 7114177897, 7114308973, + 7114440079, 7114571153, 7114702241, 7114833337, 7114964419, 7115095529, 7115226637, + 7115357737, 7115488819, 7115619899, 7115750977, 7115882051, 7116013129, 7116144227, + 7116275321, 7116406393, 7116537481, 7116668563, 7116799687, 7116930763, 7117061837, + 7117192909, 7117324003, 7117455089, 7117586171, 7117717249, 7117848359, 7117979431, + 7118110513, 7118241587, 7118372659, 7118503751, 7118634839, 7118765921, 7118897041, + 7119028151, 7119159259, 7119290357, 7119421451, 7119552533, 7119683621, 7119814699, + 7119945793, 7120076879, 7120207967, 7120339063, 7120470163, 7120601261, 7120732351, + 7120863427, 7120994533, 7121125651, 7121256773, 7121387863, 7121518979, 7121650093, + 7121781179, 7121912263, 7122043337, 7122174413, 7122305497, 7122436583, 7122567689, + 7122698761, 7122829849, 7122960973, 7123092049, 7123223137, 7123354213, 7123485289, + 7123616377, 7123747471, 7123878547, 7124009621, 7124140703, 7124271809, 7124402933, + 7124534033, 7124665111, 7124796191, 7124927267, 7125058361, 7125189443, 7125320533, + 7125451607, 7125582679, 7125713813, 7125844903, 7125975979, 7126107067, 7126238209, + 7126369297, 7126500401, 7126631507, 7126762579, 7126893667, 7127024741, 7127155813, + 7127286893, 7127417971, 7127549053, 7127680139, 7127811211, 7127942299, 7128073373, + 7128204469, 7128335549, 7128466637, 7128597779, 7128728851, 7128859961, 7128991039, + 7129122137, 7129253249, 7129384337, 7129515409, 7129646527, 7129777609, 7129908683, + 7130039759, 7130170871, 7130301953, 7130433071, 7130564143, 7130695279, 7130826379, + 7130957459, 7131088541, 7131219629, 7131350719, 7131481823, 7131612941, 7131744019, + 7131875227, 7132006309, 7132137391, 7132268491, 7132399583, 7132530679, 7132661773, + 7132792847, 7132923943, 7133055029, 7133186117, 7133317201, 7133448323, 7133579441, + 7133710513, 7133841641, 7133972723, 7134103799, 7134234901, 7134365977, 7134497059, + 7134628157, 7134759299, 7134890407, 7135021489, 7135152571, 7135283689, 7135414817, + 7135545899, 7135676981, 7135808077, 7135939169, 7136070257, 7136201363, 7136332453, + 7136463553, 7136594657, 7136725733, 7136856809, 7136987933, 7137119009, 7137250091, + 7137381203, 7137512287, 7137643363, 7137774473, 7137905561, 7138036639, 7138167727, + 7138298851, 7138429997, 7138561081, 7138692167, 7138823239, 7138954327, 7139085439, + 7139216533, 7139347619, 7139478719, 7139609797, 7139740871, 7139871953, 7140003061, + 7140134159, 7140265243, 7140396323, 7140527413, 7140658493, 7140789613, 7140920707, + 7141051781, 7141182871, 7141314029, 7141445123, 7141576243, 7141707319, 7141838441, + 7141969517, 7142100593, 7142231669, 7142362771, 7142493859, 7142624971, 7142756059, + 7142887133, 7143018247, 7143149329, 7143280483, 7143411581, 7143542663, 7143673769, + 7143804847, 7143935921, 7144066997, 7144198081, 7144329167, 7144460243, 7144591319, + 7144722401, 7144853501, 7144984579, 7145115667, 7145246753, 7145377873, 7145508947, + 7145640031, 7145771117, 7145902201, 7146033281, 7146164357, 7146295451, 7146426607, + 7146557681, 7146688771, 7146819857, 7146950999, 7147082093, 7147213201, 7147344329, + 7147475417, 7147606511, 7147737593, 7147868681, 7147999753, 7148130839, 7148261957, + 7148393029, 7148524111, 7148655187, 7148786299, 7148917379, 7149048461, 7149179551, + 7149310697, 7149441779, 7149572861, 7149703937, 7149835013, 7149966151, 7150097237, + 7150228321, 7150359407, 7150490483, 7150621613, 7150752709, 7150883807, 7151014879, + 7151145973, 7151277059, 7151408153, 7151539249, 7151670329, 7151801429, 7151932507, + 7152063587, 7152194689, 7152325769, 7152456877, 7152587951, 7152719027, 7152850099, + 7152981181, 7153112261, 7153243351, 7153374433, 7153505507, 7153636579, 7153767667, + 7153898761, 7154029859, 7154161009, 7154292109, 7154423189, 7154554327, 7154685409, + 7154816497, 7154947601, 7155078683, 7155209773, 7155340849, 7155471923, 7155603017, + 7155734099, 7155865187, 7155996311, 7156127383, 7156258463, 7156389551, 7156520627, + 7156651727, 7156782799, 7156913909, 7157044981, 7157176079, 7157307151, 7157438251, + 7157569333, 7157700413, 7157831501, 7157962597, 7158093689, 7158224761, 7158355859, + 7158486941, 7158618037, 7158749197, 7158880277, 7159011361, 7159142437, 7159273547, + 7159404641, 7159535723, 7159666823, 7159797899, 7159928977, 7160060077, 7160191177, + 7160322283, 7160453359, 7160584447, 7160715533, 7160846629, 7160977709, 7161108803, + 7161239879, 7161370967, 7161502079, 7161633151, 7161764227, 7161895333, 7162026413, + 7162157489, 7162288591, 7162419689, 7162550771, 7162681879, 7162812959, 7162944037, + 7163075111, 7163206201, 7163337287, 7163468383, 7163599463, 7163730551, 7163861633, + 7163992711, 7164123787, 7164254873, 7164385957, 7164517033, 7164648107, 7164779213, + 7164910289, 7165041409, 7165172519, 7165303603, 7165434701, 7165565801, 7165696883, + 7165827959, 7165959067, 7166090143, 7166221247, 7166352353, 7166483459, 7166614561, + 7166745643, 7166876723, 7167007801, 7167138877, 7167269953, 7167401039, 7167532117, + 7167663197, 7167794287, 7167925363, 7168056457, 7168187603, 7168318699, 7168449773, + 7168580849, 7168711937, 7168843009, 7168974143, 7169105243, 7169236339, 7169367431, + 7169498533, 7169629633, 7169760707, 7169891803, 7170022877, 7170153953, 7170285043, + 7170416117, 7170547193, 7170678269, 7170809341, 7170940463, 7171071569, 7171202653, + 7171333727, 7171464803, 7171595897, 7171726973, 7171858049, 7171989127, 7172120231, + 7172251327, 7172382403, 7172513483, 7172644597, 7172775679, 7172906863, 7173037939, + 7173169013, 7173300089, 7173431249, 7173562327, 7173693437, 7173824521, 7173955619, + 7174086697, 7174217773, 7174348849, 7174479943, 7174611151, 7174742227, 7174873319, + 7175004407, 7175135489, 7175266573, 7175397721, 7175528821, 7175659913, 7175790997, + 7175922077, 7176053177, 7176184261, 7176315347, 7176446423, 7176577559, 7176708647, + 7176839743, 7176970831, 7177101923, 7177232999, 7177364137, 7177495211, 7177626289, + 7177757383, 7177888499, 7178019571, 7178150741, 7178281843, 7178412919, 7178544001, + 7178675111, 7178806211, 7178937323, 7179068401, 7179199513, 7179330629, 7179461741, + 7179592831, 7179723913, 7179854989, 7179986063, 7180117151, 7180248239, 7180379321, + 7180510417, 7180641491, 7180772591, 7180903687, 7181034793, 7181165909, 7181297003, + 7181428127, 7181559199, 7181690291, 7181821399, 7181952473, 7182083549, 7182214639, + 7182345719, 7182476797, 7182607889, 7182738973, 7182870047, 7183001141, 7183132217, + 7183263293, 7183394371, 7183525463, 7183656551, 7183787627, 7183918717, 7184049809, + 7184180881, 7184311963, 7184443073, 7184574157, 7184705249, 7184836367, 7184967473, + 7185098581, 7185229691, 7185360781, 7185491861, 7185623009, 7185754159, 7185885233, + 7186016351, 7186147429, 7186278557, 7186409663, 7186540759, 7186671857, 7186802969, + 7186934047, 7187065121, 7187196197, 7187327311, 7187458429, 7187589533, 7187720621, + 7187851711, 7187982797, 7188113873, 7188244949, 7188376031, 7188507107, 7188638179, + 7188769267, 7188900343, 7189031441, 7189162529, 7189293667, 7189424741, 7189555817, + 7189686899, 7189817977, 7189949083, 7190080189, 7190211271, 7190342371, 7190473447, + 7190604521, 7190735639, 7190866741, 7190997829, 7191128941, 7191260029, 7191391127, + 7191522241, 7191653401, 7191784531, 7191915659, 7192046749, 7192177823, 7192308901, + 7192439993, 7192571093, 7192702207, 7192833289, 7192964411, 7193095493, 7193226569, + 7193357651, 7193488727, 7193619833, 7193750929, 7193882023, 7194013147, 7194144281, + 7194275357, 7194406451, 7194537527, 7194668599, 7194799691, 7194930803, 7195061879, + 7195193021, 7195324109, 7195455199, 7195586323, 7195717429, 7195848523, 7195979597, + 7196110687, 7196241799, 7196372879, 7196503987, 7196635093, 7196766167, 7196897251, + 7197028327, 7197159401, 7197290473, 7197421549, 7197552643, 7197683719, 7197814801, + 7197945889, 7198076993, 7198208131, 7198339217, 7198470317, 7198601453, 7198732531, + 7198863611, 7198994689, 7199125771, 7199256901, 7199387981, 7199519137, 7199650219, + 7199781361, 7199912501, 7200043603, 7200174691, 7200305771, 7200436843, 7200567929, + 7200699001, 7200830101, 7200961181, 7201092257, 7201223333, 7201354453, 7201485527, + 7201616701, 7201747807, 7201878881, 7202010041, 7202141113, 7202272201, 7202403349, + 7202534447, 7202665531, 7202796617, 7202927713, 7203058853, 7203189971, 7203321077, + 7203452203, 7203583291, 7203714377, 7203845501, 7203976607, 7204107737, 7204238813, + 7204369943, 7204501019, 7204632101, 7204763201, 7204894273, 7205025361, 7205156437, + 7205287541, 7205418673, 7205549761, 7205680841, 7205811919, 7205943011, 7206074111, + 7206205219, 7206336299, 7206467423, 7206598507, 7206729599, 7206860681, 7206991789, + 7207122889, 7207253969, 7207385047, 7207516133, 7207647263, 7207778339, 7207909411, + 7208040503, 7208171599, 7208302679, 7208433773, 7208564897, 7208695987, 7208827081, + 7208958157, 7209089243, 7209220367, 7209351439, 7209482513, 7209613639, 7209744719, + 7209875807, 7210006879, 7210137997, 7210269071, 7210400161, 7210531241, 7210662313, + 7210793413, 7210924499, 7211055587, 7211186659, 7211317733, 7211448809, 7211579899, + 7211710993, 7211842091, 7211973163, 7212104281, 7212235357, 7212366463, 7212497557, + 7212628651, 7212759751, 7212890837, 7213021913, 7213153033, 7213284109, 7213415191, + 7213546283, 7213677397, 7213808471, 7213939559, 7214070641, 7214201747, 7214332837, + 7214463911, 7214595023, 7214726107, 7214857183, 7214988257, 7215119341, 7215250439, + 7215381583, 7215512659, 7215643759, 7215774833, 7215905927, 7216037009, 7216168087, + 7216299163, 7216430239, 7216561337, 7216692433, 7216823513, 7216954627, 7217085709, + 7217216791, 7217347913, 7217479019, 7217610109, 7217741203, 7217872289, 7218003371, + 7218134477, 7218265553, 7218396671, 7218527803, 7218658877, 7218789953, 7218921053, + 7219052131, 7219183211, 7219314331, 7219445411, 7219576537, 7219707617, 7219838701, + 7219969789, 7220100863, 7220231989, 7220363077, 7220494187, 7220625277, 7220756377, + 7220887469, 7221018557, 7221149693, 7221280817, 7221411907, 7221542981, 7221674059, + 7221805153, 7221936251, 7222067383, 7222198463, 7222329559, 7222460639, 7222591741, + 7222722827, 7222853917, 7222984991, 7223116067, 7223247149, 7223378221, 7223509303, + 7223640401, 7223771507, 7223902579, 7224033667, 7224164771, 7224295849, 7224426931, + 7224558007, 7224689099, 7224820181, 7224951269, 7225082383, 7225213477, 7225344563, + 7225475669, 7225606741, 7225737823, 7225868963, 7226000053, 7226131229, 7226262313, + 7226393407, 7226524511, 7226655589, 7226786663, 7226917777, 7227048863, 7227179959, + 7227311033, 7227442109, 7227573187, 7227704269, 7227835367, 7227966451, 7228097677, + 7228228751, 7228359833, 7228490923, 7228622017, 7228753097, 7228884197, 7229015279, + 7229146403, 7229277533, 7229408617, 7229539727, 7229670821, 7229801893, 7229932987, + 7230064073, 7230195157, 7230326237, 7230457321, 7230588401, 7230719491, 7230850589, + 7230981683, 7231112821, 7231243919, 7231375031, 7231506127, 7231637219, 7231768303, + 7231899391, 7232030479, 7232161567, 7232292647, 7232423719, 7232554843, 7232685931, + 7232817013, 7232948123, 7233079211, 7233210289, 7233341371, 7233472459, 7233603539, + 7233734639, 7233865711, 7233996793, 7234127897, 7234259029, 7234390127, 7234521211, + 7234652303, 7234783421, 7234914499, 7235045581, 7235176661, 7235307799, 7235438891, + 7235570021, 7235701141, 7235832217, 7235963299, 7236094373, 7236225463, 7236356539, + 7236487637, 7236618713, 7236749791, 7236880867, 7237011959, 7237143031, 7237274123, + 7237405211, 7237536289, 7237667369, 7237798441, 7237929581, 7238060653, 7238191769, + 7238322841, 7238453923, 7238585017, 7238716103, 7238847179, 7238978251, 7239109327, + 7239240419, 7239371497, 7239502597, 7239633683, 7239764759, 7239895843, 7240026919, + 7240158007, 7240289081, 7240420181, 7240551257, 7240682357, 7240813439, 7240944539, + 7241075629, 7241206711, 7241337791, 7241468881, 7241599993, 7241731097, 7241862169, + 7241993249, 7242124363, 7242255469, 7242386551, 7242517627, 7242648701, 7242779809, + 7242910963, 7243042039, 7243173137, 7243304227, 7243435453, 7243566541, 7243697621, + 7243828703, 7243959791, 7244090869, 7244221961, 7244353043, 7244484131, 7244615227, + 7244746307, 7244877379, 7245008453, 7245139547, 7245270661, 7245401749, 7245532829, + 7245663907, 7245795019, 7245926123, 7246057199, 7246188277, 7246319363, 7246450439, + 7246581533, 7246712617, 7246843697, 7246974793, 7247105867, 7247236963, 7247368043, + 7247499169, 7247630249, 7247761321, 7247892403, 7248023483, 7248154559, 7248285643, + 7248416743, 7248547829, 7248678901, 7248809977, 7248941059, 7249072151, 7249203239, + 7249334317, 7249465403, 7249596479, 7249727561, 7249858663, 7249989743, 7250120837, + 7250251909, 7250382991, 7250514077, 7250645161, 7250776237, 7250907317, 7251038401, + 7251169487, 7251300559, 7251431633, 7251562709, 7251693781, 7251824863, 7251955937, + 7252087039, 7252218119, 7252349233, 7252480307, 7252611397, 7252742473, 7252873547, + 7253004677, 7253135777, 7253266849, 7253397923, 7253528999, 7253660087, 7253791229, + 7253922301, 7254053393, 7254184541, 7254315631, 7254446707, 7254577787, 7254708869, + 7254839941, 7254971021, 7255102093, 7255233169, 7255364251, 7255495339, 7255626431, + 7255757513, 7255888597, 7256019677, 7256150753, 7256281841, 7256412931, 7256544041, + 7256675119, 7256806223, 7256937313, 7257068453, 7257199559, 7257330643, 7257461737, + 7257592829, 7257723923, 7257855019, 7257986101, 7258117271, 7258248407, 7258379549, + 7258510661, 7258641743, 7258772839, 7258903913, 7259035027, 7259166127, 7259297209, + 7259428283, 7259559367, 7259690441, 7259821553, 7259952641, 7260083713, 7260214807, + 7260345881, 7260476957, 7260608029, 7260739103, 7260870181, 7261001273, 7261132369, + 7261263491, 7261394599, 7261525681, 7261656763, 7261787867, 7261918949, 7262050031, + 7262181127, 7262312201, 7262443351, 7262574463, 7262705579, 7262836657, 7262967743, + 7263098827, 7263229913, 7263360997, 7263492073, 7263623149, 7263754241, 7263885319, + 7264016401, 7264147493, 7264278587, 7264409681, 7264540757, 7264671901, 7264802981, + 7264934057, 7265065147, 7265196229, 7265327317, 7265458411, 7265589497, 7265720611, + 7265851699, 7265982821, 7266113947, 7266245047, 7266376121, 7266507197, 7266638311, + 7266769403, 7266900479, 7267031561, 7267162673, 7267293749, 7267424833, 7267555931, + 7267687043, 7267818119, 7267949207, 7268080283, 7268211371, 7268342443, 7268473543, + 7268604617, 7268735767, 7268866853, 7268997937, 7269129017, 7269260111, 7269391183, + 7269522263, 7269653351, 7269784447, 7269915559, 7270046657, 7270177819, 7270308919, + 7270439999, 7270571117, 7270702199, 7270833287, 7270964359, 7271095439, 7271226517, + 7271357593, 7271488669, 7271619757, 7271750861, 7271881949, 7272013027, 7272144119, + 7272275191, 7272406279, 7272537353, 7272668483, 7272799577, 7272930703, 7273061777, + 7273192853, 7273323929, 7273455017, 7273586113, 7273717193, 7273848317, 7273979389, + 7274110469, 7274241577, 7274372659, 7274503757, 7274634847, 7274765947, 7274897029, + 7275028129, 7275159247, 7275290389, 7275421477, 7275552587, 7275683671, 7275814753, + 7275945863, 7276076953, 7276208047, 7276339121, 7276470193, 7276601279, 7276732369, + 7276863443, 7276994531, 7277125613, 7277256689, 7277387773, 7277518861, 7277649959, + 7277781031, 7277912107, 7278043183, 7278174329, 7278305407, 7278436493, 7278567601, + 7278698677, 7278829771, 7278960851, 7279091923, 7279223041, 7279354127, 7279485217, + 7279616317, 7279747399, 7279878491, 7280009573, 7280140661, 7280271751, 7280402827, + 7280533913, 7280665057, 7280796139, 7280927221, 7281058331, 7281189431, 7281320509, + 7281451589, 7281582661, 7281713737, 7281844831, 7281975923, 7282106999, 7282238071, + 7282369163, 7282500257, 7282631333, 7282762423, 7282893503, 7283024599, 7283155697, + 7283286821, 7283417893, 7283548991, 7283680069, 7283811149, 7283942227, 7284073331, + 7284204457, 7284335549, 7284466627, 7284597709, 7284728783, 7284859871, 7284990949, + 7285122043, 7285253147, 7285384261, 7285515353, 7285646453, 7285777549, 7285908629, + 7286039711, 7286170789, 7286301877, 7286432953, 7286564039, 7286695151, 7286826233, + 7286957323, 7287088409, 7287219491, 7287350563, 7287481639, 7287612719, 7287743807, + 7287874931, 7288006079, 7288137221, 7288268303, 7288399421, 7288530523, 7288661599, + 7288792699, 7288923809, 7289054887, 7289185963, 7289317037, 7289448109, 7289579183, + 7289710283, 7289841371, 7289972477, 7290103553, 7290234643, 7290365737, 7290496831, + 7290627907, 7290759001, 7290890099, 7291021181, 7291152257, 7291283353, 7291414453, + 7291545533, 7291676621, 7291807703, 7291938779, 7292069857, 7292200957, 7292332039, + 7292463121, 7292594219, 7292725303, 7292856391, 7292987473, 7293118549, 7293249629, + 7293380713, 7293511811, 7293642887, 7293774029, 7293905123, 7294036213, 7294167313, + 7294298423, 7294429511, 7294560593, 7294691683, 7294822781, 7294953863, 7295084947, + 7295216021, 7295347093, 7295478187, 7295609323, 7295740411, 7295871547, 7296002621, + 7296133727, 7296264823, 7296395921, 7296526999, 7296658073, 7296789161, 7296920237, + 7297051357, 7297182437, 7297313521, 7297444657, 7297575811, 7297706917, 7297838057, + 7297969163, 7298100239, 7298231323, 7298362397, 7298493473, 7298624549, 7298755687, + 7298886767, 7299017839, 7299148933, 7299280007, 7299411079, 7299542171, 7299673267, + 7299804353, 7299935437, 7300066537, 7300197649, 7300328729, 7300459867, 7300590961, + 7300722059, 7300853141, 7300984217, 7301115337, 7301246417, 7301377529, 7301508601, + 7301639677, 7301770787, 7301901881, 7302032953, 7302164029, 7302295103, 7302426223, + 7302557323, 7302688397, 7302819551, 7302950651, 7303081769, 7303212853, 7303343947, + 7303475041, 7303606207, 7303737281, 7303868353, 7303999427, 7304130517, 7304261603, + 7304392687, 7304523791, 7304654887, 7304785987, 7304917127, 7305048203, 7305179291, + 7305310367, 7305441443, 7305572551, 7305703627, 7305834707, 7305965819, 7306096891, + 7306227967, 7306359077, 7306490167, 7306621261, 7306752367, 7306883443, 7307014529, + 7307145611, 7307276687, 7307407801, 7307538877, 7307669981, 7307801087, 7307932183, + 7308063277, 7308194357, 7308325447, 7308456527, 7308587603, 7308718679, 7308849781, + 7308980869, 7309111949, 7309243031, 7309374109, 7309505191, 7309636331, 7309767403, + 7309898483, 7310029561, 7310160661, 7310291777, 7310422849, 7310553923, 7310685029, + 7310816141, 7310947213, 7311078319, 7311209413, 7311340493, 7311471599, 7311602723, + 7311733853, 7311864991, 7311996077, 7312127161, 7312258241, 7312389317, 7312520389, + 7312651481, 7312782557, 7312913639, 7313044727, 7313175817, 7313306909, 7313438003, + 7313569093, 7313700259, 7313831359, 7313962433, 7314093559, 7314224633, 7314355717, + 7314486799, 7314617903, 7314748981, 7314880081, 7315011199, 7315142281, 7315273393, + 7315404517, 7315535597, 7315666693, 7315797773, 7315928863, 7316059957, 7316191037, + 7316322151, 7316453233, 7316584307, 7316715397, 7316846489, 7316977573, 7317108647, + 7317239723, 7317370873, 7317501991, 7317633067, 7317764183, 7317895271, 7318026349, + 7318157423, 7318288507, 7318419629, 7318550713, 7318681813, 7318812913, 7318944037, + 7319075123, 7319206253, 7319337353, 7319468459, 7319599537, 7319730619, 7319861699, + 7319992777, 7320123871, 7320254957, 7320386057, 7320517151, 7320648227, 7320779327, + 7320910451, 7321041523, 7321172623, 7321303699, 7321434793, 7321565903, 7321696997, + 7321828081, 7321959157, 7322090231, 7322221303, 7322352377, 7322483453, 7322614543, + 7322745623, 7322876707, 7323007781, 7323138857, 7323269939, 7323401023, 7323532127, + 7323663229, 7323794311, 7323925391, 7324056463, 7324187567, 7324318643, 7324449721, + 7324580819, 7324711943, 7324843027, 7324974113, 7325105213, 7325236309, 7325367457, + 7325498563, 7325629669, 7325760749, 7325891827, 7326022901, 7326153977, 7326285049, + 7326416129, 7326547219, 7326678299, 7326809381, 7326940469, 7327071541, 7327202629, + 7327333711, 7327464787, 7327595881, 7327726963, 7327858037, 7327989113, 7328120213, + 7328251321, 7328382401, 7328513473, 7328644573, 7328775647, 7328906731, 7329037813, + 7329168907, 7329300001, 7329431099, 7329562171, 7329693277, 7329824401, 7329955481, + 7330086557, 7330217647, 7330348747, 7330479823, 7330610909, 7330741981, 7330873061, + 7331004157, 7331135249, 7331266333, 7331397419, 7331528521, 7331659613, 7331790703, + 7331921777, 7332052873, 7332183959, 7332315031, 7332446113, 7332577211, 7332708301, + 7332839377, 7332970457, 7333101541, 7333232617, 7333363691, 7333494769, 7333625861, + 7333756943, 7333888061, 7334019157, 7334150267, 7334281343, 7334412439, 7334543519, + 7334674597, 7334805677, 7334936797, 7335067879, 7335198967, 7335330059, 7335461171, + 7335592249, 7335723359, 7335854447, 7335985529, 7336116617, 7336247701, 7336378789, + 7336509877, 7336640953, 7336772039, 7336903127, 7337034223, 7337165327, 7337296427, + 7337427557, 7337558629, 7337689717, 7337820793, 7337951899, 7338082993, 7338214097, + 7338345181, 7338476261, 7338607333, 7338738413, 7338869533, 7339000607, 7339131689, + 7339262767, 7339393847, 7339524967, 7339656043, 7339787123, 7339918211, 7340049287, + 7340180363, 7340311441, 7340442517, 7340573609, 7340704699, 7340835781, 7340966921, + 7341098033, 7341229111, 7341360193, 7341491273, 7341622369, 7341753443, 7341884521, + 7342015619, 7342146701, 7342277791, 7342408883, 7342539959, 7342671031, 7342802143, + 7342933217, 7343064293, 7343195381, 7343326453, 7343457533, 7343588611, 7343719711, + 7343850851, 7343981947, 7344113039, 7344244139, 7344375221, 7344506317, 7344637427, + 7344768499, 7344899579, 7345030717, 7345161809, 7345292891, 7345423979, 7345555067, + 7345686149, 7345817233, 7345948349, 7346079427, 7346210507, 7346341603, 7346472691, + 7346603767, 7346734847, 7346865941, 7346997013, 7347128137, 7347259217, 7347390311, + 7347521393, 7347652493, 7347783577, 7347914681, 7348045763, 7348176839, 7348307933, + 7348439039, 7348570121, 7348701221, 7348832297, 7348963397, 7349094469, 7349225591, + 7349356667, 7349487763, 7349618909, 7349749997, 7349881069, 7350012151, 7350143233, + 7350274307, 7350405407, 7350536491, 7350667603, 7350798727, 7350929819, 7351060891, + 7351191971, 7351323047, 7351454129, 7351585207, 7351716287, 7351847359, 7351978519, + 7352109617, 7352240717, 7352371801, 7352502901, 7352634031, 7352765129, 7352896207, + 7353027287, 7353158383, 7353289477, 7353420553, 7353551657, 7353682759, 7353813911, + 7353944989, 7354076071, 7354207163, 7354338241, 7354469321, 7354600397, 7354731479, + 7354862569, 7354993643, 7355124731, 7355255807, 7355386891, 7355517989, 7355649079, + 7355780191, 7355911273, 7356042349, 7356173431, 7356304511, 7356435601, 7356566681, + 7356697769, 7356828841, 7356959921, 7357091009, 7357222097, 7357353173, 7357484297, + 7357615379, 7357746467, 7357877543, 7358008639, 7358139751, 7358270873, 7358401949, + 7358533031, 7358664167, 7358795243, 7358926319, 7359057413, 7359188503, 7359319607, + 7359450697, 7359581849, 7359712933, 7359844061, 7359975167, 7360106249, 7360237343, + 7360368527, 7360499609, 7360630681, 7360761757, 7360892879, 7361023961, 7361155033, + 7361286113, 7361417221, 7361548303, 7361679397, 7361810479, 7361941567, 7362072667, + 7362203747, 7362334841, 7362465919, 7362596993, 7362728077, 7362859177, 7362990277, + 7363121371, 7363252459, 7363383541, 7363514629, 7363645721, 7363776793, 7363907893, + 7364038967, 7364170049, 7364301157, 7364432237, 7364563321, 7364694433, 7364825519, + 7364956601, 7365087673, 7365218747, 7365349891, 7365480971, 7365612061, 7365743149, + 7365874231, 7366005313, 7366136411, 7366267483, 7366398569, 7366529671, 7366660831, + 7366791911, 7366923001, 7367054081, 7367185159, 7367316241, 7367447341, 7367578423, + 7367709541, 7367840629, 7367971703, 7368102799, 7368233897, 7368365021, 7368496123, + 7368627199, 7368758317, 7368889417, 7369020511, 7369151591, 7369282673, 7369413749, + 7369544881, 7369675961, 7369807057, 7369938131, 7370069219, 7370200297, 7370331427, + 7370462503, 7370593577, 7370724649, 7370855749, 7370986823, 7371117917, 7371248999, + 7371380077, 7371511183, 7371642283, 7371773369, 7371904483, 7372035557, 7372166629, + 7372297799, 7372428907, 7372560011, 7372691089, 7372822181, 7372953253, 7373084333, + 7373215463, 7373346577, 7373477653, 7373608769, 7373739847, 7373870929, 7374002033, + 7374133121, 7374264193, 7374395299, 7374526391, 7374657497, 7374788621, 7374919697, + 7375050821, 7375181899, 7375312999, 7375444127, 7375575199, 7375706291, 7375837433, + 7375968521, 7376099593, 7376230721, 7376361793, 7376492891, 7376623987, 7376755081, + 7376886169, 7377017243, 7377148343, 7377279431, 7377410519, 7377541601, 7377672689, + 7377803773, 7377934919, 7378066009, 7378197083, 7378328179, 7378459267, 7378590343, + 7378721417, 7378852489, 7378983571, 7379114671, 7379245747, 7379376853, 7379507953, + 7379639027, 7379770109, 7379901181, 7380032263, 7380163361, 7380294461, 7380425603, + 7380556769, 7380687841, 7380818927, 7380950029, 7381081109, 7381212191, 7381343351, + 7381474439, 7381605521, 7381736603, 7381867679, 7381998751, 7382129837, 7382260913, + 7382392097, 7382523191, 7382654263, 7382785349, 7382916421, 7383047543, 7383178619, + 7383309697, 7383440777, 7383571861, 7383702967, 7383834067, 7383965143, 7384096231, + 7384227329, 7384358407, 7384489481, 7384620553, 7384751687, 7384882763, 7385013859, + 7385144939, 7385276023, 7385407129, 7385538227, 7385669323, 7385800397, 7385931491, + 7386062591, 7386193673, 7386324761, 7386455833, 7386587009, 7386718117, 7386849199, + 7386980287, 7387111363, 7387242461, 7387373549, 7387504633, 7387635713, 7387766807, + 7387897879, 7388028979, 7388160053, 7388291149, 7388422243, 7388553323, 7388684461, + 7388815537, 7388946619, 7389077719, 7389208901, 7389340001, 7389471077, 7389602161, + 7389733243, 7389864319, 7389995401, 7390126529, 7390257607, 7390388683, 7390519771, + 7390650887, 7390781987, 7390913077, 7391044163, 7391175269, 7391306353, 7391437433, + 7391568511, 7391699591, 7391830709, 7391961793, 7392092867, 7392223957, 7392355031, + 7392486107, 7392617231, 7392748313, 7392879391, 7393010467, 7393141589, 7393272703, + 7393403777, 7393534849, 7393665967, 7393797053, 7393928159, 7394059261, 7394190337, + 7394321437, 7394452511, 7394583583, 7394714737, 7394845831, 7394976923, 7395108011, + 7395239129, 7395370207, 7395501293, 7395632411, 7395763489, 7395894577, 7396025683, + 7396156763, 7396287887, 7396419001, 7396550093, 7396681199, 7396812281, 7396943369, + 7397074481, 7397205553, 7397336651, 7397467741, 7397598823, 7397729947, 7397861027, + 7397992103, 7398123179, 7398254251, 7398385327, 7398516401, 7398647491, 7398778589, + 7398909731, 7399040809, 7399171891, 7399302997, 7399434073, 7399565149, 7399696223, + 7399827319, 7399958399, 7400089507, 7400220587, 7400351659, 7400482751, 7400613833, + 7400744957, 7400876051, 7401007157, 7401138257, 7401269339, 7401400423, 7401531497, + 7401662573, 7401793661, 7401924757, 7402055839, 7402186921, 7402317997, 7402449071, + 7402580197, 7402711289, 7402842373, 7402973491, 7403104603, 7403235683, 7403366767, + 7403497847, 7403628941, 7403760017, 7403891113, 7404022211, 7404153283, 7404284357, + 7404415451, 7404546629, 7404677713, 7404808793, 7404939923, 7405070999, 7405202081, + 7405333181, 7405464277, 7405595359, 7405726457, 7405857551, 7405988633, 7406119723, + 7406250799, 7406381881, 7406512973, 7406644057, 7406775133, 7406906263, 7407037397, + 7407168473, 7407299579, 7407430663, 7407561737, 7407692821, 7407823901, 7407955007, + 7408086097, 7408217183, 7408348271, 7408479359, 7408610437, 7408741511, 7408872599, + 7409003671, 7409134751, 7409265823, 7409396957, 7409528029, 7409659189, 7409790277, + 7409921357, 7410052451, 7410183523, 7410314599, 7410445699, 7410576773, 7410707873, + 7410838949, 7410970043, 7411101143, 7411232221, 7411363303, 7411494427, 7411625509, + 7411756609, 7411887689, 7412018797, 7412149873, 7412280971, 7412412089, 7412543179, + 7412674261, 7412805347, 7412936423, 7413067513, 7413198587, 7413329681, 7413460753, + 7413591883, 7413722971, 7413854081, 7413985177, 7414116257, 7414247353, 7414378457, + 7414509551, 7414640677, 7414771759, 7414902841, 7415033921, 7415164993, 7415296093, + 7415427167, 7415558243, 7415689319, 7415820397, 7415951509, 7416082613, 7416213691, + 7416344777, 7416475849, 7416606931, 7416738013, 7416869099, 7417000207, 7417131283, + 7417262357, 7417393433, 7417524511, 7417655593, 7417786697, 7417917769, 7418048851, + 7418179931, 7418311013, 7418442089, 7418573167, 7418704291, 7418835439, 7418966521, + 7419097633, 7419228727, 7419359809, 7419490889, 7419621983, 7419753083, 7419884167, + 7420015283, 7420146397, 7420277483, 7420408559, 7420539631, 7420670773, 7420801853, + 7420932943, 7421064019, 7421195129, 7421326277, 7421457349, 7421588441, 7421719519, + 7421850613, 7421981689, 7422112793, 7422243887, 7422374963, 7422506041, 7422637133, + 7422768211, 7422899293, 7423030379, 7423161511, 7423292627, 7423423699, 7423554797, + 7423685879, 7423816951, 7423948057, 7424079181, 7424210257, 7424341339, 7424472431, + 7424603503, 7424734607, 7424865691, 7424996771, 7425127849, 7425258937, 7425390017, + 7425521093, 7425652237, 7425783349, 7425914423, 7426045513, 7426176683, 7426307797, + 7426438879, 7426570049, 7426701137, 7426832219, 7426963309, 7427094383, 7427225497, + 7427356571, 7427487643, 7427618729, 7427749829, 7427880913, 7428012041, 7428143117, + 7428274193, 7428405269, 7428536369, 7428667457, 7428798529, 7428929633, 7429060729, + 7429191827, 7429322909, 7429454009, 7429585127, 7429716211, 7429847287, 7429978421, + 7430109509, 7430240633, 7430371717, 7430502823, 7430633911, 7430765003, 7430896141, + 7431027217, 7431158291, 7431289409, 7431420487, 7431551563, 7431682649, 7431813733, + 7431944813, 7432075897, 7432206979, 7432338079, 7432469171, 7432600249, 7432731329, + 7432862431, 7432993531, 7433124619, 7433255699, 7433386771, 7433517853, 7433648927, + 7433780023, 7433911097, 7434042193, 7434173269, 7434304373, 7434435457, 7434566543, + 7434697619, 7434828691, 7434959797, 7435090903, 7435221979, 7435353091, 7435484207, + 7435615309, 7435746391, 7435877467, 7436008543, 7436139629, 7436270707, 7436401793, + 7436532893, 7436663977, 7436795083, 7436926157, 7437057289, 7437188383, 7437319457, + 7437450539, 7437581621, 7437712703, 7437843779, 7437974893, 7438106003, 7438237087, + 7438368167, 7438499239, 7438630333, 7438761409, 7438892537, 7439023633, 7439154719, + 7439285797, 7439416889, 7439547971, 7439679047, 7439810123, 7439941199, 7440072281, + 7440203363, 7440334439, 7440465521, 7440596609, 7440727681, 7440858779, 7440989863, + 7441120937, 7441252069, 7441383149, 7441514221, 7441645301, 7441776389, 7441907483, + 7442038577, 7442169673, 7442300759, 7442431831, 7442562971, 7442694047, 7442825149, + 7442956229, 7443087313, 7443218401, 7443349517, 7443480589, 7443611663, 7443742753, + 7443873869, 7444004987, 7444136071, 7444267153, 7444398259, 7444529341, 7444660507, + 7444791617, 7444922689, 7445053799, 7445184917, 7445316001, 7445447077, 7445578187, + 7445709281, 7445840357, 7445971433, 7446102509, 7446233581, 7446364661, 7446495733, + 7446626857, 7446757933, 7446889007, 7447020103, 7447151183, 7447282277, 7447413367, + 7447544441, 7447675523, 7447806623, 7447937719, 7448068801, 7448199883, 7448330977, + 7448462069, 7448593151, 7448724229, 7448855327, 7448986411, 7449117491, 7449248603, + 7449379741, 7449510839, 7449641917, 7449773011, 7449904093, 7450035233, 7450166333, + 7450297417, 7450428509, 7450559609, 7450690693, 7450821773, 7450952849, 7451083931, + 7451215003, 7451346083, 7451477183, 7451608267, 7451739367, 7451870501, 7452001639, + 7452132713, 7452263801, 7452394879, 7452525961, 7452657059, 7452788131, 7452919207, + 7453050281, 7453181377, 7453312453, 7453443581, 7453574663, 7453705739, 7453836919, + 7453967993, 7454099119, 7454230219, 7454361293, 7454492443, 7454623529, 7454754617, + 7454885719, 7455016799, 7455147883, 7455278977, 7455410087, 7455541189, 7455672271, + 7455803353, 7455934459, 7456065541, 7456196621, 7456327699, 7456458797, 7456589879, + 7456720987, 7456852087, 7456983161, 7457114233, 7457245319, 7457376403, 7457507483, + 7457638577, 7457769673, 7457900771, 7458031849, 7458162923, 7458294071, 7458425179, + 7458556277, 7458687361, 7458818447, 7458949523, 7459080631, 7459211707, 7459342789, + 7459473881, 7459605031, 7459736111, 7459867199, 7459998277, 7460129371, 7460260463, + 7460391551, 7460522669, 7460653777, 7460784893, 7460915981, 7461047063, 7461178139, + 7461309293, 7461440377, 7461571471, 7461702557, 7461833651, 7461964723, 7462095841, + 7462226971, 7462358083, 7462489157, 7462620247, 7462751333, 7462882423, 7463013521, + 7463144639, 7463275711, 7463406799, 7463537903, 7463668999, 7463800073, 7463931149, + 7464062251, 7464193351, 7464324431, 7464455513, 7464586609, 7464717703, 7464848777, + 7464979853, 7465110929, 7465242007, 7465373089, 7465504199, 7465635277, 7465766389, + 7465897471, 7466028611, 7466159689, 7466290781, 7466421863, 7466552939, 7466684021, + 7466815099, 7466946203, 7467077279, 7467208363, 7467339449, 7467470531, 7467601619, + 7467732691, 7467863771, 7467994873, 7468125947, 7468257031, 7468388111, 7468519211, + 7468650311, 7468781389, 7468912471, 7469043563, 7469174641, 7469305717, 7469436797, + 7469567909, 7469698991, 7469830111, 7469961199, 7470092297, 7470223379, 7470354461, + 7470485543, 7470616661, 7470747751, 7470878827, 7471009901, 7471141003, 7471272079, + 7471403153, 7471534229, 7471665329, 7471796407, 7471927513, 7472058611, 7472189713, + 7472320787, 7472451863, 7472582939, 7472714023, 7472845117, 7472976191, 7473107263, + 7473238397, 7473369479, 7473500557, 7473631631, 7473762707, 7473893803, 7474024903, + 7474155991, 7474287077, 7474418167, 7474549249, 7474680337, 7474811411, 7474942499, + 7475073643, 7475204731, 7475335807, 7475466907, 7475598029, 7475729101, 7475860241, + 7475991317, 7476122393, 7476253471, 7476384547, 7476515633, 7476646729, 7476777817, + 7476908891, 7477039987, 7477171069, 7477302149, 7477433237, 7477564331, 7477695403, + 7477826491, 7477957573, 7478088649, 7478219729, 7478350811, 7478481919, 7478613013, + 7478744089, 7478875181, 7479006263, 7479137363, 7479268441, 7479399523, 7479530627, + 7479661807, 7479792911, 7479923999, 7480055111, 7480186193, 7480317277, 7480448369, + 7480579481, 7480710553, 7480841647, 7480972747, 7481103829, 7481234903, 7481365979, + 7481497061, 7481628151, 7481759231, 7481890313, 7482021389, 7482152473, 7482283553, + 7482414631, 7482545737, 7482676841, 7482807953, 7482939031, 7483070107, 7483201189, + 7483332271, 7483463353, 7483594439, 7483725521, 7483856669, 7483987751, 7484118841, + 7484249953, 7484381059, 7484512151, 7484643223, 7484774303, 7484905397, 7485036469, + 7485167549, 7485298627, 7485429739, 7485560821, 7485691933, 7485823013, 7485954089, + 7486085161, 7486216261, 7486347371, 7486478443, 7486609517, 7486740593, 7486871669, + 7487002769, 7487133851, 7487264947, 7487396023, 7487527147, 7487658221, 7487789293, + 7487920397, 7488051469, 7488182557, 7488313633, 7488444721, 7488575797, 7488706889, + 7488837971, 7488969043, 7489100147, 7489231223, 7489362329, 7489493419, 7489624531, + 7489755653, 7489886731, 7490017813, 7490148893, 7490279989, 7490411077, 7490542151, + 7490673241, 7490804329, 7490935409, 7491066491, 7491197569, 7491328657, 7491459749, + 7491590831, 7491721957, 7491853051, 7491984187, 7492115263, 7492246361, 7492377449, + 7492508561, 7492639633, 7492770781, 7492901869, 7493032957, 7493164057, 7493295133, + 7493426251, 7493557327, 7493688409, 7493819483, 7493950573, 7494081653, 7494212729, + 7494343807, 7494474899, 7494605971, 7494737053, 7494868153, 7494999227, 7495130333, + 7495261441, 7495392529, 7495523611, 7495654709, 7495785799, 7495916887, 7496047981, + 7496179063, 7496310163, 7496441237, 7496572327, 7496703413, 7496834497, 7496965571, + 7497096643, 7497227723, 7497358801, 7497489877, 7497620981, 7497752081, 7497883153, + 7498014301, 7498145387, 7498276481, 7498407563, 7498538647, 7498669721, 7498800811, + 7498931927, 7499063009, 7499194121, 7499325221, 7499456303, 7499587379, 7499718467, + 7499849633, 7499980717, 7500111797, 7500242881, 7500373961, 7500505049, 7500636139, + 7500767231, 7500898309, 7501029407, 7501160483, 7501291657, 7501422743, 7501553819, + 7501684903, 7501815983, 7501947059, 7502078131, 7502209217, 7502340311, 7502471443, + 7502602519, 7502733599, 7502864687, 7502995769, 7503126871, 7503257959, 7503389051, + 7503520181, 7503651283, 7503782369, 7503913463, 7504044551, 7504175687, 7504306781, + 7504437901, 7504569011, 7504700149, 7504831231, 7504962343, 7505093417, 7505224513, + 7505355587, 7505486669, 7505617751, 7505748839, 7505879939, 7506011011, 7506142129, + 7506273223, 7506404317, 7506535397, 7506666481, 7506797633, 7506928739, 7507059829, + 7507190917, 7507322003, 7507453081, 7507584163, 7507715261, 7507846343, 7507977439, + 7508108521, 7508239631, 7508370707, 7508501789, 7508632861, 7508763953, 7508895029, + 7509026113, 7509157189, 7509288329, 7509419417, 7509550501, 7509681587, 7509812669, + 7509943751, 7510074833, 7510205933, 7510337011, 7510468087, 7510599203, 7510730291, + 7510861427, 7510992509, 7511123597, 7511254787, 7511385877, 7511516953, 7511648029, + 7511779123, 7511910199, 7512041281, 7512172357, 7512303479, 7512434557, 7512565633, + 7512696713, 7512827797, 7512958877, 7513089959, 7513221071, 7513352159, 7513483231, + 7513614307, 7513745429, 7513876507, 7514007587, 7514138683, 7514269759, 7514400923, + 7514532001, 7514663129, 7514794271, 7514925347, 7515056447, 7515187543, 7515318617, + 7515449699, 7515580781, 7515711869, 7515842941, 7515974041, 7516105133, 7516236209, + 7516367293, 7516498391, 7516629473, 7516760597, 7516891699, 7517022811, 7517153893, + 7517284981, 7517416073, 7517547161, 7517678237, 7517809337, 7517940431, 7518071507, + 7518202583, 7518333661, 7518464743, 7518595853, 7518726931, 7518858013, 7518989089, + 7519120163, 7519251247, 7519382323, 7519513433, 7519644511, 7519775587, 7519906687, + 7520037779, 7520168917, 7520299993, 7520431067, 7520562139, 7520693231, 7520824309, + 7520955389, 7521086477, 7521217553, 7521348631, 7521479717, 7521610799, 7521741893, + 7521872977, 7522004071, 7522135147, 7522266223, 7522397297, 7522528397, 7522659499, + 7522790591, 7522921667, 7523052739, 7523183831, 7523314919, 7523445991, 7523577119, + 7523708201, 7523839307, 7523970383, 7524101467, 7524232603, 7524363689, 7524494821, + 7524625919, 7524756997, 7524888083, 7525019171, 7525150247, 7525281367, 7525412443, + 7525543523, 7525674601, 7525805719, 7525936799, 7526067877, 7526198957, 7526330029, + 7526461133, 7526592217, 7526723299, 7526854409, 7526985511, 7527116629, 7527247703, + 7527378853, 7527509929, 7527641029, 7527772103, 7527903193, 7528034273, 7528165409, + 7528296511, 7528427591, 7528558663, 7528689757, 7528820837, 7528951933, 7529083007, + 7529214103, 7529345177, 7529476249, 7529607341, 7529738417, 7529869493, 7530000581, + 7530131671, 7530262763, 7530393847, 7530524927, 7530656009, 7530787093, 7530918169, + 7531049243, 7531180333, 7531311421, 7531442507, 7531573601, 7531704703, 7531835807, + 7531966889, 7532098001, 7532229091, 7532360167, 7532491261, 7532622407, 7532753489, + 7532884651, 7533015733, 7533146813, 7533277889, 7533408973, 7533540073, 7533671149, + 7533802223, 7533933331, 7534064411, 7534195483, 7534326559, 7534457633, 7534588709, + 7534719793, 7534850879, 7534981967, 7535113067, 7535244161, 7535375233, 7535506313, + 7535637397, 7535768473, 7535899559, 7536030631, 7536161779, 7536292853, 7536423943, + 7536555071, 7536686147, 7536817219, 7536948299, 7537079401, 7537210487, 7537341583, + 7537472687, 7537603789, 7537734863, 7537865939, 7537997017, 7538128093, 7538259167, + 7538390263, 7538521369, 7538652449, 7538783543, 7538914697, 7539045769, 7539176857, + 7539307933, 7539439007, 7539570097, 7539701203, 7539832297, 7539963371, 7540094447, + 7540225541, 7540356619, 7540487711, 7540618817, 7540749901, 7540880983, 7541012107, + 7541143273, 7541274437, 7541405519, 7541536609, 7541667691, 7541798779, 7541929903, + 7542061013, 7542192157, 7542323267, 7542454343, 7542585433, 7542716537, 7542847651, + 7542978733, 7543109863, 7543240951, 7543372027, 7543503127, 7543634221, 7543765319, + 7543896397, 7544027489, 7544158619, 7544289691, 7544420771, 7544551853, 7544682953, + 7544814031, 7544945129, 7545076219, 7545207343, 7545338443, 7545469517, 7545600589, + 7545731737, 7545862817, 7545993901, 7546124981, 7546256071, 7546387151, 7546518227, + 7546649303, 7546780379, 7546911479, 7547042567, 7547173639, 7547304719, 7547435807, + 7547566879, 7547697967, 7547829049, 7547960129, 7548091211, 7548222299, 7548353381, + 7548484477, 7548615637, 7548746747, 7548877823, 7549008911, 7549139987, 7549271111, + 7549402207, 7549533287, 7549664389, 7549795481, 7549926647, 7550057741, 7550188813, + 7550319899, 7550450993, 7550582069, 7550713141, 7550844221, 7550975329, 7551106403, + 7551237481, 7551368563, 7551499639, 7551630727, 7551761809, 7551892913, 7552023989, + 7552155073, 7552286149, 7552417247, 7552548319, 7552679447, 7552810567, 7552941647, + 7553072773, 7553203859, 7553334967, 7553466059, 7553597147, 7553728249, 7553859347, + 7553990453, 7554121537, 7554252619, 7554383713, 7554514861, 7554645947, 7554777077, + 7554908149, 7555039223, 7555170323, 7555301407, 7555432513, 7555563601, 7555694687, + 7555825789, 7555956883, 7556087969, 7556219051, 7556350127, 7556481221, 7556612299, + 7556743373, 7556874467, 7557005543, 7557136619, 7557267719, 7557398791, 7557529871, + 7557660967, 7557792059, 7557923137, 7558054271, 7558185353, 7558316453, 7558447543, + 7558578617, 7558709699, 7558840771, 7558971857, 7559102953, 7559234041, 7559365153, + 7559496299, 7559627377, 7559758471, 7559889553, 7560020659, 7560151741, 7560282817, + 7560413953, 7560545039, 7560676117, 7560807193, 7560938279, 7561069387, 7561200469, + 7561331543, 7561462633, 7561593709, 7561724813, 7561855919, 7561987019, 7562118103, + 7562249203, 7562380277, 7562511371, 7562642453, 7562773529, 7562904653, 7563035759, + 7563166837, 7563297923, 7563429017, 7563560107, 7563691181, 7563822317, 7563953393, + 7564084469, 7564215559, 7564346653, 7564477727, 7564608859, 7564739953, 7564871053, + 7565002141, 7565133281, 7565264353, 7565395429, 7565526523, 7565657597, 7565788679, + 7565919763, 7566050861, 7566181933, 7566313033, 7566444161, 7566575243, 7566706363, + 7566837493, 7566968573, 7567099651, 7567230731, 7567361807, 7567492883, 7567623971, + 7567755049, 7567886153, 7568017229, 7568148323, 7568279413, 7568410519, 7568541601, + 7568672687, 7568803763, 7568934851, 7569065923, 7569197033, 7569328121, 7569459197, + 7569590297, 7569721403, 7569852481, 7569983579, 7570114681, 7570245763, 7570376861, + 7570507957, 7570639061, 7570770139, 7570901213, 7571032307, 7571163389, 7571294503, + 7571425601, 7571556673, 7571687779, 7571818879, 7571950007, 7572081089, 7572212189, + 7572343267, 7572474347, 7572605437, 7572736511, 7572867593, 7572998681, 7573129789, + 7573260869, 7573391971, 7573523051, 7573654141, 7573785217, 7573916291, 7574047367, + 7574178467, 7574309563, 7574440691, 7574571779, 7574702851, 7574833963, 7574965067, + 7575096203, 7575227279, 7575358367, 7575489443, 7575620519, 7575751621, 7575882697, + 7576013813, 7576144903, 7576275983, 7576407067, 7576538147, 7576669229, 7576800311, + 7576931389, 7577062481, 7577193563, 7577324641, 7577455723, 7577586799, 7577717899, + 7577849011, 7577980117, 7578111253, 7578242333, 7578373433, 7578504517, 7578635591, + 7578766667, 7578897773, 7579028861, 7579159933, 7579291009, 7579422089, 7579553171, + 7579684249, 7579815367, 7579946477, 7580077553, 7580208653, 7580339749, 7580470823, + 7580601907, 7580732989, 7580864089, 7580995267, 7581126341, 7581257441, 7581388603, + 7581519683, 7581650759, 7581781849, 7581912929, 7582044011, 7582175089, 7582306181, + 7582437253, 7582568351, 7582699447, 7582830551, 7582961629, 7583092703, 7583223821, + 7583354893, 7583485969, 7583617081, 7583748167, 7583879243, 7584010339, 7584141427, + 7584272513, 7584403649, 7584534827, 7584665929, 7584797039, 7584928129, 7585059211, + 7585190297, 7585321439, 7585452551, 7585583623, 7585714723, 7585845797, 7585976869, + 7586107967, 7586239051, 7586370203, 7586501303, 7586632397, 7586763497, 7586894573, + 7587025669, 7587156791, 7587287891, 7587419003, 7587550097, 7587681181, 7587812273, + 7587943369, 7588074469, 7588205587, 7588336727, 7588467823, 7588598911, 7588729987, + 7588861067, 7588992139, 7589123219, 7589254301, 7589385407, 7589516489, 7589647579, + 7589778653, 7589909729, 7590040823, 7590171907, 7590303041, 7590434147, 7590565223, + 7590696329, 7590827411, 7590958483, 7591089557, 7591220653, 7591351739, 7591482823, + 7591613927, 7591745003, 7591876081, 7592007161, 7592138293, 7592269369, 7592400443, + 7592531539, 7592662639, 7592793739, 7592924831, 7593055913, 7593187013, 7593318097, + 7593449251, 7593580339, 7593711421, 7593842507, 7593973601, 7594104703, 7594235791, + 7594366867, 7594497943, 7594629017, 7594760137, 7594891217, 7595022307, 7595153383, + 7595284507, 7595415631, 7595546731, 7595677807, 7595808893, 7595939971, 7596071059, + 7596202139, 7596333229, 7596464303, 7596595427, 7596726517, 7596857599, 7596988699, + 7597119787, 7597250861, 7597381949, 7597513037, 7597644137, 7597775257, 7597906363, + 7598037449, 7598168549, 7598299669, 7598430751, 7598561827, 7598692931, 7598824027, + 7598955101, 7599086213, 7599217303, 7599348389, 7599479509, 7599610607, 7599741763, + 7599872851, 7600003937, 7600135021, 7600266103, 7600397177, 7600528277, 7600659401, + 7600790531, 7600921613, 7601052779, 7601183861, 7601314943, 7601446049, 7601577127, + 7601708207, 7601839283, 7601970391, 7602101471, 7602232553, 7602363677, 7602494759, + 7602625831, 7602756907, 7602887989, 7603019069, 7603150147, 7603281239, 7603412329, + 7603543477, 7603674569, 7603805641, 7603936807, 7604067883, 7604198983, 7604330093, + 7604461201, 7604592311, 7604723387, 7604854507, 7604985611, 7605116683, 7605247757, + 7605378841, 7605509917, 7605640993, 7605772091, 7605903163, 7606034239, 7606165331, + 7606296409, 7606427483, 7606558559, 7606689631, 7606820759, 7606951837, 7607082913, + 7607213993, 7607345093, 7607476169, 7607607247, 7607738329, 7607869411, 7608000503, + 7608131579, 7608262679, 7608393773, 7608524849, 7608655931, 7608787003, 7608918091, + 7609049243, 7609180349, 7609311431, 7609442507, 7609573589, 7609704671, 7609835759, + 7609966867, 7610097947, 7610229037, 7610360113, 7610491219, 7610622293, 7610753401, + 7610884481, 7611015569, 7611146651, 7611277727, 7611408799, 7611539911, 7611671021, + 7611802109, 7611933239, 7612064323, 7612195403, 7612326479, 7612457551, 7612588649, + 7612719743, 7612850827, 7612981927, 7613113019, 7613244091, 7613375197, 7613506289, + 7613637389, 7613768471, 7613899543, 7614030623, 7614161743, 7614292817, 7614423911, + 7614554993, 7614686071, 7614817181, 7614948259, 7615079371, 7615210483, 7615341557, + 7615472663, 7615603741, 7615734821, 7615865927, 7615997047, 7616128141, 7616259239, + 7616390333, 7616521417, 7616652509, 7616783609, 7616914703, 7617045827, 7617176899, + 7617307979, 7617439073, 7617570151, 7617701227, 7617832319, 7617963401, 7618094509, + 7618225583, 7618356689, 7618487761, 7618618919, 7618750033, 7618881113, 7619012237, + 7619143321, 7619274431, 7619405537, 7619536627, 7619667701, 7619798773, 7619929861, + 7620060947, 7620192029, 7620323107, 7620454189, 7620585283, 7620716357, 7620847453, + 7620978559, 7621109647, 7621240721, 7621371829, 7621502909, 7621633997, 7621765201, + 7621896281, 7622027353, 7622158459, 7622289547, 7622420677, 7622551823, 7622682913, + 7622813993, 7622945069, 7623076147, 7623207257, 7623338341, 7623469417, 7623600511, + 7623731603, 7623862679, 7623993761, 7624124863, 7624255939, 7624387021, 7624518133, + 7624649233, 7624780333, 7624911421, 7625042533, 7625173607, 7625304679, 7625435761, + 7625566847, 7625697931, 7625829017, 7625960143, 7626091223, 7626222323, 7626353411, + 7626484501, 7626615587, 7626746683, 7626877759, 7627008841, 7627139951, 7627271059, + 7627402151, 7627533247, 7627664377, 7627795451, 7627926533, 7628057609, 7628188697, + 7628319779, 7628450861, 7628581943, 7628713019, 7628844143, 7628975257, 7629106351, + 7629237443, 7629368521, 7629499639, 7629630727, 7629761807, 7629892883, 7630023967, + 7630155053, 7630286141, 7630417213, 7630548323, 7630679411, 7630810483, 7630941611, + 7631072737, 7631203841, 7631334913, 7631465993, 7631597069, 7631728219, 7631859329, + 7631990413, 7632121513, 7632252611, 7632383683, 7632514759, 7632645833, 7632776911, + 7632907987, 7633039069, 7633170151, 7633301231, 7633432307, 7633563383, 7633694459, + 7633825553, 7633956679, 7634087777, 7634218853, 7634349941, 7634481031, 7634612131, + 7634743213, 7634874307, 7635005387, 7635136469, 7635267557, 7635398651, 7635529723, + 7635660827, 7635791899, 7635922999, 7636054087, 7636185181, 7636316263, 7636447337, + 7636578413, 7636709489, 7636840567, 7636971649, 7637102723, 7637233801, 7637364899, + 7637495977, 7637627071, 7637758151, 7637889227, 7638020353, 7638151427, 7638282521, + 7638413623, 7638544709, 7638675787, 7638806863, 7638937961, 7639069043, 7639200119, + 7639331257, 7639462343, 7639593431, 7639724507, 7639855591, 7639986691, 7640117767, + 7640248849, 7640379937, 7640511023, 7640642099, 7640773177, 7640904281, 7641035359, + 7641166441, 7641297577, 7641428657, 7641559729, 7641690811, 7641821911, 7641952987, + 7642084117, 7642215223, 7642346297, 7642477379, 7642608481, 7642739557, 7642870637, + 7643001713, 7643132789, 7643263861, 7643394943, 7643526031, 7643657123, 7643788199, + 7643919289, 7644050369, 7644181453, 7644312593, 7644443687, 7644574781, 7644705919, + 7644837023, 7644968099, 7645099201, 7645230283, 7645361413, 7645492487, 7645623563, + 7645754653, 7645885727, 7646016853, 7646147959, 7646279063, 7646410171, 7646541247, + 7646672321, 7646803427, 7646934511, 7647065633, 7647196709, 7647327797, 7647458921, + 7647589993, 7647721093, 7647852193, 7647983279, 7648114351, 7648245467, 7648376569, + 7648507663, 7648638737, 7648769851, 7648900943, 7649032151, 7649163233, 7649294309, + 7649425397, 7649556493, 7649687569, 7649818651, 7649949743, 7650080843, 7650211951, + 7650343037, 7650474119, 7650605191, 7650736273, 7650867349, 7650998473, 7651129547, + 7651260653, 7651391729, 7651522819, 7651653899, 7651784971, 7651916047, 7652047121, + 7652178197, 7652309281, 7652440409, 7652571503, 7652702581, 7652833673, 7652964751, + 7653095843, 7653226939, 7653358021, 7653489101, 7653620189, 7653751277, 7653882349, + 7654013443, 7654144529, 7654275637, 7654406717, 7654537789, 7654668869, 7654799941, + 7654931017, 7655062091, 7655193163, 7655324267, 7655455349, 7655586451, 7655717551, + 7655848631, 7655979703, 7656110789, 7656241877, 7656372949, 7656504101, 7656635191, + 7656766283, 7656897371, 7657028459, 7657159541, 7657290649, 7657421729, 7657552801, + 7657683883, 7657814963, 7657946047, 7658077123, 7658208199, 7658339281, 7658470357, + 7658601443, 7658732519, 7658863631, 7658994703, 7659125849, 7659256921, 7659387997, + 7659519079, 7659650171, 7659781247, 7659912331, 7660043411, 7660174523, 7660305607, + 7660436683, 7660567757, 7660698853, 7660829971, 7660961053, 7661092157, 7661223233, + 7661354321, 7661485411, 7661616511, 7661747591, 7661878667, 7662009743, 7662140869, + 7662271951, 7662403043, 7662534179, 7662665333, 7662796429, 7662927509, 7663058617, + 7663189693, 7663320793, 7663451867, 7663582967, 7663714061, 7663845139, 7663976231, + 7664107309, 7664238383, 7664369459, 7664500553, 7664631641, 7664762717, 7664893813, + 7665024911, 7665155999, 7665287081, 7665418157, 7665549239, 7665680317, 7665811429, + 7665942523, 7666073663, 7666204739, 7666335829, 7666466911, 7666597997, 7666729097, + 7666860241, 7666991341, 7667122429, 7667253509, 7667384587, 7667515703, 7667646797, + 7667777879, 7667908951, 7668040027, 7668171101, 7668302203, 7668433351, 7668564427, + 7668695509, 7668826621, 7668957733, 7669088809, 7669219949, 7669351031, 7669482113, + 7669613201, 7669744273, 7669875347, 7670006429, 7670137507, 7670268587, 7670399669, + 7670530741, 7670661827, 7670792933, 7670924021, 7671055169, 7671186277, 7671317369, + 7671448457, 7671579557, 7671710633, 7671841711, 7671972787, 7672103861, 7672234939, + 7672366027, 7672497139, 7672628231, 7672759307, 7672890419, 7673021501, 7673152573, + 7673283647, 7673414759, 7673545843, 7673676919, 7673808019, 7673939093, 7674070199, + 7674201323, 7674332411, 7674463483, 7674594569, 7674725693, 7674856817, 7674988007, + 7675119119, 7675250197, 7675381279, 7675512353, 7675643471, 7675774553, 7675905641, + 7676036717, 7676167817, 7676298893, 7676430029, 7676561119, 7676692211, 7676823283, + 7676954357, 7677085441, 7677216539, 7677347633, 7677478709, 7677609781, 7677740867, + 7677871973, 7678003051, 7678134151, 7678265233, 7678396379, 7678527487, 7678658641, + 7678789733, 7678920811, 7679051899, 7679183021, 7679314169, 7679445247, 7679576323, + 7679707397, 7679838487, 7679969569, 7680100643, 7680231751, 7680362831, 7680493907, + 7680624989, 7680756067, 7680887153, 7681018249, 7681149353, 7681280437, 7681411531, + 7681542641, 7681673719, 7681804817, 7681935913, 7682066989, 7682198087, 7682329169, + 7682460271, 7682591351, 7682722451, 7682853539, 7682984611, 7683115703, 7683246797, + 7683377951, 7683509033, 7683640141, 7683771217, 7683902299, 7684033387, 7684164469, + 7684295551, 7684426637, 7684557709, 7684688783, 7684819873, 7684950947, 7685082091, + 7685213167, 7685344243, 7685475331, 7685606437, 7685737529, 7685868601, 7685999701, + 7686130811, 7686261883, 7686393007, 7686524093, 7686655183, 7686786269, 7686917347, + 7687048427, 7687179569, 7687310663, 7687441799, 7687572887, 7687703963, 7687835039, + 7687966127, 7688097211, 7688228293, 7688359369, 7688490449, 7688621557, 7688752633, + 7688883721, 7689014797, 7689145879, 7689276961, 7689408187, 7689539269, 7689670357, + 7689801481, 7689932561, 7690063649, 7690194731, 7690325807, 7690456883, 7690587967, + 7690719079, 7690850177, 7690981261, 7691112361, 7691243449, 7691374543, 7691505629, + 7691636707, 7691767789, 7691898917, 7692029999, 7692161117, 7692292199, 7692423287, + 7692554431, 7692685513, 7692816617, 7692947707, 7693078807, 7693209907, 7693340987, + 7693472063, 7693603163, 7693734253, 7693865327, 7693996399, 7694127521, 7694258647, + 7694389789, 7694520863, 7694651957, 7694783053, 7694914133, 7695045221, 7695176297, + 7695307369, 7695438479, 7695569551, 7695700627, 7695831701, 7695962789, 7696093903, + 7696224983, 7696356077, 7696487173, 7696618253, 7696749329, 7696880413, 7697011529, + 7697142641, 7697273713, 7697404831, 7697535947, 7697667023, 7697798099, 7697929237, + 7698060373, 7698191461, 7698322547, 7698453643, 7698584743, 7698715819, 7698846913, + 7698978013, 7699109179, 7699240261, 7699371373, 7699502467, 7699633541, 7699764629, + 7699895701, 7700026777, 7700157851, 7700288951, 7700420041, 7700551141, 7700682217, + 7700813303, 7700944439, 7701075511, 7701206609, 7701337681, 7701468767, 7701599849, + 7701730969, 7701862073, 7701993151, 7702124231, 7702255339, 7702386467, 7702517551, + 7702648663, 7702779803, 7702910911, 7703041991, 7703173067, 7703304139, 7703435237, + 7703566313, 7703697401, 7703828501, 7703959579, 7704090661, 7704221761, 7704352853, + 7704483937, 7704615011, 7704746123, 7704877211, 7705008287, 7705139383, 7705270459, + 7705401547, 7705532621, 7705663717, 7705794797, 7705925939, 7706057017, 7706188097, + 7706319223, 7706450329, 7706581417, 7706712521, 7706843653, 7706974729, 7707105829, + 7707236921, 7707368003, 7707499091, 7707630163, 7707761267, 7707892349, 7708023451, + 7708154527, 7708285661, 7708416757, 7708547831, 7708678907, 7708810009, 7708941103, + 7709072177, 7709203253, 7709334329, 7709465429, 7709596519, 7709727601, 7709858693, + 7709989789, 7710120871, 7710251947, 7710383053, 7710514151, 7710645223, 7710776299, + 7710907397, 7711038473, 7711169549, 7711300621, 7711431733, 7711562819, 7711693921, + 7711825061, 7711956137, 7712087209, 7712218289, 7712349367, 7712480467, 7712611553, + 7712742659, 7712873747, 7713004823, 7713135929, 7713267007, 7713398087, 7713529169, + 7713660271, 7713791363, 7713922439, 7714053517, 7714184593, 7714315699, 7714446781, + 7714577861, 7714708933, 7714840019, 7714971137, 7715102243, 7715233319, 7715364401, + 7715495479, 7715626573, 7715757677, 7715888767, 7716019853, 7716150941, 7716282037, + 7716413213, 7716544327, 7716675413, 7716806551, 7716937649, 7717068743, 7717199837, + 7717330937, 7717462037, 7717593131, 7717724213, 7717855297, 7717986377, 7718117467, + 7718248541, 7718379619, 7718510713, 7718641793, 7718772911, 7718903989, 7719035101, + 7719166177, 7719297293, 7719428377, 7719559451, 7719690523, 7719821609, 7719952693, + 7720083779, 7720214861, 7720345951, 7720477027, 7720608149, 7720739239, 7720870319, + 7721001413, 7721132491, 7721263591, 7721394697, 7721525789, 7721656861, 7721787959, + 7721919031, 7722050137, 7722181217, 7722312289, 7722443363, 7722574477, 7722705569, + 7722836657, 7722967787, 7723098869, 7723230001, 7723361083, 7723492157, 7723623239, + 7723754327, 7723885423, 7724016499, 7724147579, 7724278687, 7724409787, 7724540861, + 7724671957, 7724803049, 7724934163, 7725065263, 7725196337, 7725327413, 7725458491, + 7725589607, 7725720697, 7725851789, 7725982867, 7726113943, 7726245061, 7726376153, + 7726507247, 7726638319, 7726769417, 7726900529, 7727031619, 7727162749, 7727293843, + 7727424983, 7727556061, 7727687137, 7727818243, 7727949353, 7728080441, 7728211523, + 7728342619, 7728473713, 7728604799, 7728735871, 7728866947, 7728998021, 7729129141, + 7729260251, 7729391401, 7729522477, 7729653557, 7729784633, 7729915729, 7730046809, + 7730177909, 7730309023, 7730440097, 7730571179, 7730702261, 7730833339, 7730964457, + 7731095539, 7731226631, 7731357713, 7731488867, 7731619943, 7731751019, 7731882113, + 7732013203, 7732144283, 7732275361, 7732406449, 7732537523, 7732668623, 7732799713, + 7732930817, 7733061893, 7733192989, 7733324069, 7733455141, 7733586233, 7733717323, + 7733848429, 7733979503, 7734110621, 7734241693, 7734372809, 7734503981, 7734635053, + 7734766133, 7734897211, 7735028293, 7735159379, 7735290467, 7735421543, 7735552633, + 7735683719, 7735814813, 7735945907, 7736076989, 7736208097, 7736339197, 7736470349, + 7736601461, 7736732543, 7736863619, 7736994691, 7737125783, 7737256907, 7737388003, + 7737519091, 7737650171, 7737781273, 7737912349, 7738043449, 7738174531, 7738305611, + 7738436723, 7738567819, 7738698907, 7738829993, 7738961093, 7739092199, 7739223277, + 7739354351, 7739485459, 7739616539, 7739747627, 7739878709, 7740009787, 7740140869, + 7740271993, 7740403117, 7740534209, 7740665287, 7740796409, 7740927497, 7741058569, + 7741189763, 7741320857, 7741451933, 7741583021, 7741714093, 7741845179, 7741976251, + 7742107363, 7742238457, 7742369533, 7742500607, 7742631709, 7742762791, 7742893877, + 7743024953, 7743156041, 7743287117, 7743418217, 7743549367, 7743680447, 7743811519, + 7743942617, 7744073707, 7744204789, 7744335871, 7744466959, 7744598041, 7744729127, + 7744860217, 7744991297, 7745122369, 7745253443, 7745384551, 7745515681, 7745646767, + 7745777843, 7745908921, 7746039997, 7746171079, 7746302171, 7746433267, 7746564367, + 7746695443, 7746826517, 7746957607, 7747088707, 7747219801, 7747350881, 7747481977, + 7747613051, 7747744153, 7747875253, 7748006341, 7748137421, 7748268499, 7748399579, + 7748530663, 7748661737, 7748792809, 7748923961, 7749055043, 7749186161, 7749317267, + 7749448349, 7749579427, 7749710503, 7749841591, 7749972679, 7750103773, 7750234847, + 7750365929, 7750497037, 7750628129, 7750759207, 7750890283, 7751021359, 7751152433, + 7751283509, 7751414581, 7751545667, 7751676773, 7751807857, 7751938963, 7752070037, + 7752201139, 7752332213, 7752463289, 7752594391, 7752725501, 7752856603, 7752987679, + 7753118759, 7753249859, 7753380959, 7753512079, 7753643159, 7753774247, 7753905329, + 7754036467, 7754167543, 7754298623, 7754429699, 7754560777, 7754691877, 7754822953, + 7754954027, 7755085103, 7755216181, 7755347261, 7755478337, 7755609427, 7755740501, + 7755871589, 7756002689, 7756133767, 7756264853, 7756395931, 7756527011, 7756658111, + 7756789211, 7756920289, 7757051377, 7757182463, 7757313601, 7757444699, 7757575789, + 7757706877, 7757837951, 7757969027, 7758100187, 7758231281, 7758362357, 7758493433, + 7758624529, 7758755651, 7758886727, 7759017829, 7759148939, 7759280017, 7759411109, + 7759542181, 7759673279, 7759804373, 7759935461, 7760066579, 7760197657, 7760328761, + 7760459843, 7760590919, 7760722009, 7760853091, 7760984171, 7761115253, 7761246349, + 7761377479, 7761508561, 7761639649, 7761770747, 7761901859, 7762032953, 7762164043, + 7762295141, 7762426213, 7762557307, 7762688399, 7762819481, 7762950557, 7763081633, + 7763212729, 7763343803, 7763474893, 7763605981, 7763737063, 7763868137, 7763999249, + 7764130343, 7764261431, 7764392557, 7764523639, 7764654713, 7764785857, 7764916933, + 7765048021, 7765179139, 7765310221, 7765441297, 7765572407, 7765703483, 7765834579, + 7765965661, 7766096749, 7766227829, 7766358907, 7766489981, 7766621069, 7766752159, + 7766883233, 7767014429, 7767145523, 7767276613, 7767407693, 7767538781, 7767669853, + 7767800941, 7767932023, 7768063129, 7768194221, 7768325339, 7768456447, 7768587577, + 7768718693, 7768849787, 7768980881, 7769111957, 7769243047, 7769374157, 7769505239, + 7769636323, 7769767399, 7769898503, 7770029599, 7770160703, 7770291791, 7770422867, + 7770553943, 7770685061, 7770816139, 7770947221, 7771078309, 7771209389, 7771340477, + 7771471597, 7771602677, 7771733777, 7771864853, 7771995953, 7772127047, 7772258159, + 7772389253, 7772520337, 7772651429, 7772782547, 7772913649, 7773044771, 7773175847, + 7773306929, 7773438007, 7773569101, 7773700243, 7773831337, 7773962429, 7774093519, + 7774224637, 7774355711, 7774486793, 7774617869, 7774748953, 7774880083, 7775011163, + 7775142239, 7775273381, 7775404453, 7775535527, 7775666611, 7775797691, 7775928763, + 7776059849, 7776190921, 7776322003, 7776453077, 7776584161, 7776715237, 7776846317, + 7776977389, 7777108463, 7777239551, 7777370641, 7777501729, 7777632829, 7777763911, + 7777894987, 7778026093, 7778157187, 7778288263, 7778419349, 7778550443, 7778681527, + 7778812603, 7778943701, 7779074827, 7779205939, 7779337021, 7779468097, 7779599183, + 7779730303, 7779861409, 7779992533, 7780123613, 7780254707, 7780385779, 7780516859, + 7780647977, 7780779067, 7780910141, 7781041237, 7781172319, 7781303399, 7781434487, + 7781565559, 7781696641, 7781827717, 7781958817, 7782089923, 7782221003, 7782352111, + 7782483211, 7782614293, 7782745379, 7782876467, 7783007569, 7783138667, 7783269751, + 7783400827, 7783531901, 7783662973, 7783794071, 7783925143, 7784056243, 7784187373, + 7784318497, 7784449579, 7784580679, 7784711789, 7784842889, 7784973979, 7785105061, + 7785236141, 7785367223, 7785498359, 7785629431, 7785760523, 7785891599, 7786022693, + 7786153787, 7786284881, 7786415999, 7786547123, 7786678247, 7786809337, 7786940459, + 7787071601, 7787202673, 7787333753, 7787464831, 7787595917, 7787727037, 7787858137, + 7787989241, 7788120341, 7788251413, 7788382501, 7788513583, 7788644657, 7788775733, + 7788906821, 7789037909, 7789168999, 7789300081, 7789431157, 7789562257, 7789693333, + 7789824409, 7789955533, 7790086609, 7790217689, 7790348777, 7790479897, 7790610973, + 7790742053, 7790873131, 7791004211, 7791135311, 7791266387, 7791397501, 7791528583, + 7791659663, 7791790763, 7791921857, 7792052929, 7792184009, 7792315081, 7792446157, + 7792577237, 7792708321, 7792839401, 7792970489, 7793101567, 7793232649, 7793363759, + 7793494831, 7793625907, 7793756987, 7793888101, 7794019183, 7794150269, 7794281347, + 7794412441, 7794543539, 7794674621, 7794805717, 7794936859, 7795067947, 7795199099, + 7795330189, 7795461269, 7795592353, 7795723469, 7795854569, 7795985641, 7796116721, + 7796247829, 7796378911, 7796509999, 7796641087, 7796772163, 7796903243, 7797034319, + 7797165427, 7797296503, 7797427579, 7797558677, 7797689759, 7797820871, 7797951949, + 7798083061, 7798214153, 7798345241, 7798476313, 7798607389, 7798738463, 7798869541, + 7799000707, 7799131787, 7799262869, 7799393969, 7799525113, 7799656261, 7799787367, + 7799918449, 7800049541, 7800180613, 7800311719, 7800442831, 7800573919, 7800704993, + 7800836089, 7800967183, 7801098259, 7801229411, 7801360487, 7801491559, 7801622641, + 7801753717, 7801884799, 7802015917, 7802147021, 7802278093, 7802409187, 7802540287, + 7802671379, 7802802473, 7802933557, 7803064637, 7803195713, 7803326801, 7803457897, + 7803588979, 7803720073, 7803851147, 7803982259, 7804113377, 7804244467, 7804375561, + 7804506637, 7804637713, 7804768823, 7804899899, 7805030977, 7805162059, 7805293163, + 7805424239, 7805555347, 7805686439, 7805817559, 7805948663, 7806079759, 7806210847, + 7806341929, 7806473027, 7806604103, 7806735179, 7806866297, 7806997391, 7807128479, + 7807259561, 7807390637, 7807521721, 7807652807, 7807783897, 7807914971, 7808046061, + 7808177159, 7808308243, 7808439323, 7808570431, 7808701541, 7808832631, 7808963711, + 7809094817, 7809225911, 7809356987, 7809488069, 7809619183, 7809750259, 7809881333, + 7810012409, 7810143499, 7810274587, 7810405661, 7810536733, 7810667831, 7810798909, + 7810930009, 7811061109, 7811192227, 7811323313, 7811454403, 7811585477, 7811716553, + 7811847689, 7811978761, 7812109843, 7812240929, 7812372017, 7812503123, 7812634241, + 7812765313, 7812896449, 7813027529, 7813158601, 7813289683, 7813420759, 7813551833, + 7813682927, 7813814039, 7813945133, 7814076223, 7814207321, 7814338409, 7814469493, + 7814600567, 7814731663, 7814862749, 7814993869, 7815124987, 7815256079, 7815387253, + 7815518353, 7815649463, 7815780589, 7815911699, 7816042807, 7816173899, 7816304989, + 7816436063, 7816567141, 7816698223, 7816829303, 7816960379, 7817091467, 7817222579, + 7817353699, 7817484791, 7817615879, 7817746961, 7817878039, 7818009119, 7818140191, + 7818271267, 7818402379, 7818533453, 7818664547, 7818795619, 7818926729, 7819057817, + 7819188889, 7819320013, 7819451093, 7819582171, 7819713269, 7819844341, 7819975421, + 7820106493, 7820237573, 7820368651, 7820499751, 7820630849, 7820761939, 7820893039, + 7821024137, 7821155213, 7821286303, 7821417403, 7821548503, 7821679577, 7821810671, + 7821941753, 7822072831, 7822203919, 7822334999, 7822466087, 7822597163, 7822728257, + 7822859339, 7822990421, 7823121499, 7823252579, 7823383669, 7823514761, 7823645867, + 7823776967, 7823908087, 7824039161, 7824170239, 7824301333, 7824432449, 7824563557, + 7824694639, 7824825737, 7824956819, 7825087943, 7825219021, 7825350103, 7825481177, + 7825612273, 7825743361, 7825874437, 7826005543, 7826136629, 7826267711, 7826398829, + 7826529929, 7826661049, 7826792191, 7826923297, 7827054461, 7827185533, 7827316631, + 7827447709, 7827578797, 7827709871, 7827840947, 7827972029, 7828103141, 7828234231, + 7828365319, 7828496399, 7828627531, 7828758611, 7828889711, 7829020831, 7829151971, + 7829283079, 7829414167, 7829545249, 7829676329, 7829807437, 7829938541, 7830069619, + 7830200701, 7830331781, 7830462853, 7830593957, 7830725041, 7830856141, 7830987251, + 7831118341, 7831249421, 7831380523, 7831511621, 7831642727, 7831773847, 7831904921, + 7832036027, 7832167151, 7832298233, 7832429321, 7832560397, 7832691521, 7832822611, + 7832953717, 7833084793, 7833215903, 7833346993, 7833478091, 7833609167, 7833740249, + 7833871327, 7834002413, 7834133491, 7834264631, 7834395731, 7834526809, 7834657937, + 7834789013, 7834920091, 7835051167, 7835182259, 7835313361, 7835444459, 7835575543, + 7835706617, 7835837699, 7835968781, 7836099853, 7836230953, 7836362057, 7836493163, + 7836624259, 7836755351, 7836886451, 7837017557, 7837148651, 7837279811, 7837410901, + 7837541989, 7837673069, 7837804147, 7837935247, 7838066387, 7838197483, 7838328557, + 7838459641, 7838590759, 7838721893, 7838852981, 7838984057, 7839115189, 7839246301, + 7839377401, 7839508487, 7839639559, 7839770647, 7839901757, 7840032847, 7840163927, + 7840295009, 7840426103, 7840557181, 7840688267, 7840819361, 7840950517, 7841081597, + 7841212723, 7841343803, 7841474881, 7841605979, 7841737063, 7841868149, 7841999233, + 7842130337, 7842261437, 7842392527, 7842523607, 7842654689, 7842785773, 7842916847, + 7843047929, 7843179011, 7843310087, 7843441201, 7843572287, 7843703381, 7843834477, + 7843965581, 7844096657, 7844227733, 7844358827, 7844489921, 7844621003, 7844752079, + 7844883173, 7845014249, 7845145361, 7845276437, 7845407509, 7845538601, 7845669697, + 7845800791, 7845931871, 7846062943, 7846194017, 7846325107, 7846456183, 7846587311, + 7846718443, 7846849531, 7846980613, 7847111707, 7847242783, 7847373889, 7847504983, + 7847636059, 7847767139, 7847898211, 7848029333, 7848160423, 7848291497, 7848422579, + 7848553663, 7848684757, 7848815831, 7848946913, 7849078001, 7849209113, 7849340189, + 7849471271, 7849602359, 7849733431, 7849864549, 7849995623, 7850126707, 7850257783, + 7850388863, 7850519953, 7850651057, 7850782141, 7850913223, 7851044317, 7851175411, + 7851306511, 7851437597, 7851568687, 7851699769, 7851830849, 7851961937, 7852093009, + 7852224103, 7852355209, 7852486379, 7852617481, 7852748567, 7852879651, 7853010793, + 7853141869, 7853272949, 7853404057, 7853535191, 7853666269, 7853797349, 7853928449, + 7854059533, 7854190609, 7854321689, 7854452783, 7854583921, 7854714997, 7854846071, + 7854977147, 7855108237, 7855239349, 7855370423, 7855501529, 7855632601, 7855763701, + 7855894777, 7856025899, 7856156983, 7856288147, 7856419243, 7856550329, 7856681401, + 7856812477, 7856943569, 7857074707, 7857205801, 7857336887, 7857467999, 7857599137, + 7857730241, 7857861317, 7857992411, 7858123513, 7858254587, 7858385671, 7858516759, + 7858647833, 7858778909, 7858910039, 7859041121, 7859172239, 7859303321, 7859434411, + 7859565487, 7859696567, 7859827639, 7859958713, 7860089789, 7860220909, 7860352001, + 7860483077, 7860614171, 7860745279, 7860876377, 7861007489, 7861138561, 7861269641, + 7861400717, 7861531793, 7861662871, 7861793959, 7861925063, 7862056141, 7862187247, + 7862318323, 7862449409, 7862580491, 7862711587, 7862842661, 7862973757, 7863104881, + 7863235957, 7863367117, 7863498211, 7863629287, 7863760391, 7863891463, 7864022581, + 7864153657, 7864284739, 7864415857, 7864546931, 7864678007, 7864809079, 7864940207, + 7865071297, 7865202409, 7865333491, 7865464567, 7865595643, 7865726717, 7865857799, + 7865988917, 7866120013, 7866251087, 7866382169, 7866513251, 7866644353, 7866775429, + 7866906503, 7867037641, 7867168717, 7867299821, 7867430917, 7867561993, 7867693117, + 7867824193, 7867955269, 7868086349, 7868217437, 7868348531, 7868479643, 7868610719, + 7868741843, 7868872951, 7869004037, 7869135167, 7869266281, 7869397357, 7869528439, + 7869659513, 7869790589, 7869921701, 7870052789, 7870183883, 7870314973, 7870446049, + 7870577149, 7870708243, 7870839371, 7870970473, 7871101573, 7871232659, 7871363777, + 7871494849, 7871625929, 7871757011, 7871888083, 7872019163, 7872150241, 7872281321, + 7872412393, 7872543479, 7872674569, 7872805649, 7872936739, 7873067821, 7873198913, + 7873330001, 7873461077, 7873592149, 7873723229, 7873854337, 7873985423, 7874116501, + 7874247581, 7874378663, 7874509757, 7874640833, 7874771917, 7874902993, 7875034073, + 7875165217, 7875296309, 7875427409, 7875558487, 7875689579, 7875820651, 7875951749, + 7876082849, 7876213993, 7876345079, 7876476151, 7876607237, 7876738313, 7876869419, + 7877000501, 7877131579, 7877262671, 7877393761, 7877524841, 7877655931, 7877787059, + 7877918161, 7878049279, 7878180353, 7878311431, 7878442531, 7878573613, 7878704693, + 7878835781, 7878966889, 7879097983, 7879229081, 7879360201, 7879491289, 7879622369, + 7879753459, 7879884541, 7880015641, 7880146723, 7880277817, 7880408903, 7880539999, + 7880671081, 7880802169, 7880933293, 7881064369, 7881195451, 7881326527, 7881457607, + 7881588727, 7881719819, 7881850939, 7881982063, 7882113149, 7882244263, 7882375343, + 7882506427, 7882637513, 7882768601, 7882899709, 7883030789, 7883161889, 7883292961, + 7883424047, 7883555189, 7883686289, 7883817373, 7883948461, 7884079573, 7884210679, + 7884341767, 7884472859, 7884603949, 7884735029, 7884866113, 7884997193, 7885128271, + 7885259353, 7885390453, 7885521529, 7885652609, 7885783687, 7885914779, 7886045861, + 7886176951, 7886308043, 7886439131, 7886570207, 7886701283, 7886832361, 7886963437, + 7887094511, 7887225601, 7887356683, 7887487763, 7887618839, 7887749941, 7887881033, + 7888012133, 7888143269, 7888274341, 7888405423, 7888536497, 7888667623, 7888798733, + 7888929821, 7889060981, 7889192053, 7889323129, 7889454203, 7889585309, 7889716397, + 7889847499, 7889978573, 7890109673, 7890240767, 7890371887, 7890502987, 7890634189, + 7890765293, 7890896369, 7891027453, 7891158547, 7891289629, 7891420721, 7891551809, + 7891682941, 7891814041, 7891945121, 7892076229, 7892207311, 7892338393, 7892469469, + 7892600563, 7892731663, 7892862763, 7892993891, 7893124979, 7893256067, 7893387163, + 7893518261, 7893649339, 7893780421, 7893911561, 7894042649, 7894173733, 7894304809, + 7894435891, 7894566971, 7894698061, 7894829147, 7894960253, 7895091353, 7895222449, + 7895353541, 7895484629, 7895615771, 7895746861, 7895878009, 7896009097, 7896140191, + 7896271277, 7896402379, 7896533479, 7896664597, 7896795719, 7896926801, 7897057937, + 7897189009, 7897320103, 7897451179, 7897582279, 7897713353, 7897844431, 7897975511, + 7898106647, 7898237719, 7898368811, 7898499887, 7898630977, 7898762077, 7898893159, + 7899024239, 7899155317, 7899286427, 7899417521, 7899548633, 7899679729, 7899810803, + 7899941893, 7900072981, 7900204063, 7900335143, 7900466263, 7900597361, 7900728439, + 7900859521, 7900990597, 7901121689, 7901252789, 7901383873, 7901514979, 7901646059, + 7901777141, 7901908213, 7902039307, 7902170387, 7902301469, 7902432547, 7902563621, + 7902694693, 7902825767, 7902956851, 7903087931, 7903219003, 7903350079, 7903481177, + 7903612259, 7903743371, 7903874443, 7904005523, 7904136601, 7904267711, 7904398783, + 7904529881, 7904660977, 7904792059, 7904923139, 7905054239, 7905185333, 7905316423, + 7905447499, 7905578609, 7905709681, 7905840763, 7905971837, 7906102927, 7906234019, + 7906365127, 7906496327, 7906627439, 7906758527, 7906889611, 7907020687, 7907151781, + 7907282881, 7907413993, 7907545081, 7907676233, 7907807311, 7907938387, 7908069467, + 7908200551, 7908331637, 7908462721, 7908593821, 7908724927, 7908856027, 7908987109, + 7909118207, 7909249291, 7909380377, 7909511473, 7909642571, 7909773671, 7909904771, + 7910035849, 7910166947, 7910298049, 7910429159, 7910560237, 7910691317, 7910822401, + 7910953483, 7911084583, 7911215701, 7911346811, 7911477911, 7911608989, 7911740069, + 7911871151, 7912002281, 7912133393, 7912264537, 7912395637, 7912526719, 7912657849, + 7912788929, 7912920007, 7913051101, 7913182181, 7913313283, 7913444389, 7913575469, + 7913706569, 7913837653, 7913968729, 7914099827, 7914230899, 7914361981, 7914493163, + 7914624239, 7914755323, 7914886417, 7915017491, 7915148567, 7915279651, 7915410733, + 7915541807, 7915672901, 7915803977, 7915935089, 7916066161, 7916197241, 7916328313, + 7916459389, 7916590471, 7916721569, 7916852653, 7916983729, 7917114839, 7917245911, + 7917376991, 7917508099, 7917639241, 7917770317, 7917901391, 7918032503, 7918163587, + 7918294661, 7918425793, 7918556897, 7918688039, 7918819121, 7918950199, 7919081273, + 7919212373, 7919343451, 7919474557, 7919605657, 7919736733, 7919867821, 7919998949, + 7920130039, 7920261113, 7920392197, 7920523277, 7920654353, 7920785429, 7920916561, + 7921047661, 7921178809, 7921309889, 7921440979, 7921572077, 7921703159, 7921834237, + 7921965319, 7922096393, 7922227471, 7922358559, 7922489657, 7922620747, 7922751839, + 7922882923, 7923014089, 7923145169, 7923276253, 7923407339, 7923538421, 7923669493, + 7923800579, 7923931651, 7924062739, 7924193821, 7924324909, 7924456039, 7924587163, + 7924718237, 7924849313, 7924980421, 7925111497, 7925242573, 7925373671, 7925504761, + 7925635843, 7925766917, 7925898031, 7926029147, 7926160219, 7926291311, 7926422407, + 7926553487, 7926684587, 7926815669, 7926946751, 7927077853, 7927208929, 7927340053, + 7927471151, 7927602229, 7927733329, 7927864429, 7927995529, 7928126623, 7928257721, + 7928388827, 7928519903, 7928650993, 7928782117, 7928913193, 7929044303, 7929175409, + 7929306493, 7929437567, 7929568643, 7929699731, 7929830807, 7929961891, 7930092967, + 7930224079, 7930355159, 7930486261, 7930617361, 7930748443, 7930879543, 7931010617, + 7931141717, 7931272793, 7931403869, 7931534953, 7931666051, 7931797141, 7931928217, + 7932059321, 7932190457, 7932321577, 7932452659, 7932583783, 7932714859, 7932845939, + 7932977023, 7933108109, 7933239247, 7933370323, 7933501399, 7933632491, 7933763597, + 7933894673, 7934025751, 7934156831, 7934287909, 7934419001, 7934550109, 7934681207, + 7934812283, 7934943361, 7935074467, 7935205601, 7935336679, 7935467783, 7935598859, + 7935729961, 7935861127, 7935992203, 7936123309, 7936254407, 7936385563, 7936516667, + 7936647749, 7936778827, 7936909927, 7937041003, 7937172077, 7937303149, 7937434273, + 7937565347, 7937696449, 7937827529, 7937958601, 7938089729, 7938220813, 7938351919, + 7938483029, 7938614107, 7938745211, 7938876317, 7939007393, 7939138469, 7939269551, + 7939400633, 7939531711, 7939662793, 7939793879, 7939924957, 7940056031, 7940187107, + 7940318201, 7940449351, 7940580433, 7940711507, 7940842601, 7940973679, 7941104783, + 7941235859, 7941366941, 7941498013, 7941629089, 7941760181, 7941891253, 7942022377, + 7942153511, 7942284589, 7942415681, 7942546753, 7942677851, 7942808957, 7942940051, + 7943071127, 7943202209, 7943333327, 7943464409, 7943595493, 7943726621, 7943857693, + 7943988797, 7944119881, 7944250957, 7944382093, 7944513167, 7944644261, 7944775351, + 7944906427, 7945037521, 7945168601, 7945299683, 7945430771, 7945561843, 7945692941, + 7945824023, 7945955119, 7946086199, 7946217281, 7946348387, 7946479477, 7946610563, + 7946741639, 7946872763, 7947003839, 7947134929, 7947266003, 7947397093, 7947528181, + 7947659257, 7947790337, 7947921473, 7948052579, 7948183681, 7948314757, 7948445833, + 7948576943, 7948708123, 7948839211, 7948970311, 7949101387, 7949232481, 7949363563, + 7949494639, 7949625727, 7949756827, 7949887903, 7950018983, 7950150083, 7950281159, + 7950412237, 7950543311, 7950674399, 7950805517, 7950936619, 7951067701, 7951198789, + 7951329889, 7951460963, 7951592083, 7951723159, 7951854233, 7951985333, 7952116421, + 7952247521, 7952378611, 7952509699, 7952640799, 7952771873, 7952902949, 7953034031, + 7953165137, 7953296227, 7953427309, 7953558391, 7953689467, 7953820541, 7953951613, + 7954082713, 7954213801, 7954344877, 7954475981, 7954607057, 7954738133, 7954869229, + 7955000309, 7955131397, 7955262473, 7955393581, 7955524691, 7955655779, 7955786873, + 7955917969, 7956049091, 7956180209, 7956311281, 7956442453, 7956573533, 7956704611, + 7956835693, 7956966767, 7957097839, 7957228919, 7957360063, 7957491203, 7957622279, + 7957753361, 7957884479, 7958015551, 7958146633, 7958277721, 7958408797, 7958539871, + 7958670943, 7958802029, 7958933111, 7959064213, 7959195311, 7959326413, 7959457507, + 7959588583, 7959719711, 7959850783, 7959981877, 7960112959, 7960244053, 7960375127, + 7960506221, 7960637297, 7960768373, 7960899461, 7961030551, 7961161639, 7961292727, + 7961423801, 7961554889, 7961685961, 7961817053, 7961948129, 7962079249, 7962210329, + 7962341449, 7962472549, 7962603641, 7962734743, 7962865829, 7962996931, 7963128023, + 7963259149, 7963390243, 7963521329, 7963652401, 7963783493, 7963914593, 7964045737, + 7964176817, 7964307893, 7964438971, 7964570051, 7964701207, 7964832287, 7964963371, + 7965094447, 7965225539, 7965356629, 7965487723, 7965618799, 7965749879, 7965880957, + 7966012037, 7966143109, 7966274189, 7966405273, 7966536359, 7966667441, 7966798549, + 7966929643, 7967060723, 7967191807, 7967322943, 7967454037, 7967585123, 7967716243, + 7967847331, 7967978443, 7968109519, 7968240619, 7968371701, 7968502783, 7968633859, + 7968764933, 7968896017, 7969027103, 7969158191, 7969289299, 7969420409, 7969551487, + 7969682573, 7969813667, 7969944739, 7970075837, 7970206921, 7970337997, 7970469113, + 7970600191, 7970731267, 7970862343, 7970993453, 7971124529, 7971255631, 7971386729, + 7971517817, 7971648899, 7971779987, 7971911069, 7972042151, 7972173233, 7972304323, + 7972435409, 7972566487, 7972697563, 7972828639, 7972959737, 7973090809, 7973221909, + 7973353027, 7973484107, 7973615191, 7973746289, 7973877367, 7974008443, 7974139543, + 7974270653, 7974401731, 7974532829, 7974663901, 7974795001, 7974926093, 7975057171, + 7975188283, 7975319381, 7975450463, 7975581541, 7975712653, 7975843727, 7975974821, + 7976105911, 7976236991, 7976368067, 7976499143, 7976630267, 7976761349, 7976892421, + 7977023501, 7977154667, 7977285749, 7977416849, 7977547939, 7977679019, 7977810109, + 7977941197, 7978072343, 7978203437, 7978334519, 7978465603, 7978596701, 7978727777, + 7978858873, 7978989983, 7979121067, 7979252167, 7979383249, 7979514373, 7979645449, + 7979776529, 7979907601, 7980038699, 7980169789, 7980300877, 7980431957, 7980563053, + 7980694147, 7980825221, 7980956303, 7981087379, 7981218481, 7981349581, 7981480669, + 7981611767, 7981742849, 7981873961, 7982005043, 7982136143, 7982267219, 7982398301, + 7982529377, 7982660501, 7982791639, 7982922719, 7983053803, 7983184897, 7983315983, + 7983447067, 7983578143, 7983709249, 7983840323, 7983971417, 7984102517, 7984233619, + 7984364761, 7984495853, 7984626931, 7984758013, 7984889123, 7985020201, 7985151301, + 7985282387, 7985413459, 7985544563, 7985675651, 7985806753, 7985937851, 7986068957, + 7986200071, 7986331187, 7986462269, 7986593341, 7986724433, 7986855529, 7986986621, + 7987117711, 7987248803, 7987379887, 7987510961, 7987642037, 7987773113, 7987904219, + 7988035303, 7988166379, 7988297453, 7988428529, 7988559637, 7988690761, 7988821901, + 7988953019, 7989084107, 7989215183, 7989346259, 7989477343, 7989608441, 7989739547, + 7989870631, 7990001791, 7990132877, 7990263949, 7990395031, 7990526123, 7990657211, + 7990788293, 7990919369, 7991050453, 7991181553, 7991312627, 7991443703, 7991574791, + 7991705867, 7991836967, 7991968057, 7992099149, 7992230237, 7992361331, 7992492419, + 7992623567, 7992754657, 7992885737, 7993016809, 7993147913, 7993278991, 7993410071, + 7993541189, 7993672283, 7993803361, 7993934437, 7994065549, 7994196697, 7994327773, + 7994458853, 7994589937, 7994721023, 7994852143, 7994983223, 7995114299, 7995245383, + 7995376481, 7995507577, 7995638669, 7995769741, 7995900833, 7996031917, 7996163009, + 7996294087, 7996425161, 7996556261, 7996687337, 7996818437, 7996949531, 7997080603, + 7997211707, 7997342783, 7997473877, 7997604961, 7997736041, 7997867123, 7997998241, + 7998129329, 7998260423, 7998391507, 7998522589, 7998653671, 7998784747, 7998915907, + 7999046981, 7999178053, 7999309139, 7999440257, 7999571353, 7999702463, 7999833547, + 7999964629, 8000095729, 8000226847, 8000357941, 8000489041, 8000620139, 8000751221, + 8000882339, 8001013451, 8001144533, 8001275657, 8001406729, 8001537809, 8001668887, + 8001799969, 8001931051, 8002062137, 8002193209, 8002324301, 8002455379, 8002586461, + 8002717609, 8002848691, 8002979783, 8003110883, 8003241977, 8003373073, 8003504149, + 8003635223, 8003766301, 8003897399, 8004028481, 8004159557, 8004290629, 8004421703, + 8004552817, 8004683957, 8004815081, 8004946211, 8005077313, 8005208417, 8005339501, + 8005470607, 8005601693, 8005732793, 8005863911, 8005995017, 8006126131, 8006257213, + 8006388307, 8006519441, 8006650537, 8006781661, 8006912737, 8007043817, 8007174893, + 8007305981, 8007437057, 8007568139, 8007699223, 8007830309, 8007961397, 8008092493, + 8008223581, 8008354681, 8008485791, 8008616867, 8008747963, 8008879079, 8009010161, + 8009141237, 8009272309, 8009403383, 8009534461, 8009665589, 8009796673, 8009927749, + 8010058853, 8010189937, 8010321019, 8010452113, 8010583193, 8010714269, 8010845351, + 8010976451, 8011107553, 8011238639, 8011369721, 8011500817, 8011631893, 8011762999, + 8011894081, 8012025157, 8012156309, 8012287399, 8012418493, 8012549591, 8012680667, + 8012811743, 8012942831, 8013073903, 8013205001, 8013336109, 8013467183, 8013598309, + 8013729401, 8013860497, 8013991577, 8014122667, 8014253771, 8014384843, 8014515919, + 8014647007, 8014778087, 8014909171, 8015040259, 8015171347, 8015302457, 8015433541, + 8015564647, 8015695763, 8015826851, 8015957923, 8016089017, 8016220097, 8016351169, + 8016482321, 8016613427, 8016744511, 8016875627, 8017006729, 8017137811, 8017268923, + 8017400003, 8017531103, 8017662181, 8017793281, 8017924373, 8018055509, 8018186623, + 8018317717, 8018448793, 8018579887, 8018710963, 8018842037, 8018973113, 8019104189, + 8019235271, 8019366349, 8019497449, 8019628531, 8019759637, 8019890789, 8020021901, + 8020152979, 8020284079, 8020415209, 8020546283, 8020677359, 8020808507, 8020939621, + 8021070731, 8021201803, 8021332903, 8021463977, 8021595059, 8021726161, 8021857237, + 8021988313, 8022119393, 8022250487, 8022381569, 8022512711, 8022643789, 8022774869, + 8022906007, 8023037081, 8023168157, 8023299391, 8023430477, 8023561549, 8023692637, + 8023823711, 8023954849, 8024085929, 8024217017, 8024348089, 8024479181, 8024610257, + 8024741341, 8024872417, 8025003499, 8025134603, 8025265691, 8025396767, 8025527863, + 8025658951, 8025790051, 8025921131, 8026052249, 8026183349, 8026314433, 8026445513, + 8026576609, 8026707701, 8026838789, 8026969861, 8027100973, 8027232067, 8027363189, + 8027494261, 8027625391, 8027756533, 8027887607, 8028018679, 8028149761, 8028280837, + 8028411967, 8028543049, 8028674231, 8028805303, 8028936413, 8029067503, 8029198603, + 8029329689, 8029460783, 8029591877, 8029722959, 8029854067, 8029985141, 8030116229, + 8030247319, 8030378413, 8030509577, 8030640661, 8030771741, 8030902819, 8031033911, + 8031164989, 8031296089, 8031427171, 8031558257, 8031689371, 8031820451, 8031951523, + 8032082623, 8032213727, 8032344811, 8032475917, 8032606993, 8032738069, 8032869151, + 8033000233, 8033131307, 8033262427, 8033393513, 8033524627, 8033655701, 8033786797, + 8033917889, 8034048961, 8034180041, 8034311183, 8034442259, 8034573353, 8034704453, + 8034835531, 8034966607, 8035097687, 8035228807, 8035359881, 8035491007, 8035622107, + 8035753217, 8035884313, 8036015411, 8036146537, 8036277617, 8036408707, 8036539811, + 8036670911, 8036802029, 8036933137, 8037064223, 8037195319, 8037326393, 8037457469, + 8037588541, 8037719621, 8037850697, 8037981799, 8038112881, 8038243991, 8038375073, + 8038506169, 8038637267, 8038768357, 8038899431, 8039030507, 8039161579, 8039292671, + 8039423771, 8039554867, 8039685959, 8039817043, 8039948123, 8040079207, 8040210289, + 8040341377, 8040472471, 8040603551, 8040734623, 8040865697, 8040996797, 8041127873, + 8041258987, 8041390127, 8041521217, 8041652299, 8041783391, 8041914473, 8042045549, + 8042176669, 8042307743, 8042438861, 8042569961, 8042701033, 8042832121, 8042963239, + 8043094327, 8043225403, 8043356513, 8043487597, 8043618677, 8043749783, 8043880903, + 8044011991, 8044143077, 8044274209, 8044405301, 8044536389, 8044667467, 8044798579, + 8044929667, 8045060743, 8045191841, 8045322917, 8045454047, 8045585143, 8045716219, + 8045847301, 8045978383, 8046109459, 8046240541, 8046371629, 8046502759, 8046633863, + 8046764939, 8046896023, 8047027141, 8047158221, 8047289293, 8047420387, 8047551487, + 8047682593, 8047813691, 8047944769, 8048075863, 8048206961, 8048338061, 8048469133, + 8048600267, 8048731351, 8048862487, 8048993591, 8049124703, 8049255791, 8049386881, + 8049517981, 8049649057, 8049780139, 8049911239, 8050042313, 8050173487, 8050304569, + 8050435661, 8050566751, 8050697857, 8050828931, 8050960009, 8051091133, 8051222213, + 8051353301, 8051484373, 8051615447, 8051746519, 8051877593, 8052008669, 8052139741, + 8052270823, 8052401933, 8052533029, 8052664121, 8052795239, 8052926339, 8053057421, + 8053188497, 8053319587, 8053450679, 8053581761, 8053712833, 8053843961, 8053975051, + 8054106161, 8054237239, 8054368327, 8054499443, 8054630531, 8054761613, 8054892731, + 8055023813, 8055154957, 8055286033, 8055417107, 8055548191, 8055679267, 8055810401, + 8055941477, 8056072571, 8056203653, 8056334753, 8056465919, 8056596991, 8056728073, + 8056859149, 8056990247, 8057121343, 8057252417, 8057383553, 8057514653, 8057645731, + 8057776813, 8057907887, 8058038987, 8058170059, 8058301159, 8058432253, 8058563369, + 8058694451, 8058825529, 8058956617, 8059087723, 8059218803, 8059349911, 8059480997, + 8059612081, 8059743161, 8059874257, 8060005339, 8060136421, 8060267519, 8060398597, + 8060529689, 8060660779, 8060791877, 8060922949, 8061054041, 8061185117, 8061316231, + 8061447313, 8061578411, 8061709493, 8061840601, 8061971677, 8062102751, 8062233841, + 8062364953, 8062496047, 8062627127, 8062758211, 8062889309, 8063020387, 8063151461, + 8063282561, 8063413639, 8063544721, 8063675797, 8063806871, 8063937967, 8064069061, + 8064200147, 8064331267, 8064462379, 8064593461, 8064724543, 8064855619, 8064986749, + 8065117829, 8065248913, 8065380049, 8065511141, 8065642229, 8065773319, 8065904419, + 8066035499, 8066166571, 8066297651, 8066428751, 8066559833, 8066690911, 8066821999, + 8066953117, 8067084197, 8067215357, 8067346457, 8067477569, 8067608707, 8067739787, + 8067870883, 8068001983, 8068133057, 8068264129, 8068395233, 8068526317, 8068657403, + 8068788499, 8068919609, 8069050751, 8069181823, 8069312899, 8069444023, 8069575123, + 8069706269, 8069837353, 8069968427, 8070099511, 8070230587, 8070361667, 8070492751, + 8070623833, 8070754931, 8070886003, 8071017083, 8071148177, 8071279253, 8071410343, + 8071541437, 8071672517, 8071803613, 8071934687, 8072065759, 8072196833, 8072327909, + 8072458987, 8072590087, 8072721193, 8072852269, 8072983381, 8073114463, 8073245561, + 8073376681, 8073507763, 8073638899, 8073769987, 8073901061, 8074032149, 8074163257, + 8074294337, 8074425433, 8074556513, 8074687601, 8074818673, 8074949749, 8075080823, + 8075211899, 8075342971, 8075474051, 8075605129, 8075736209, 8075867339, 8075998417, + 8076129491, 8076260573, 8076391651, 8076522733, 8076653807, 8076784907, 8076916007, + 8077047107, 8077178191, 8077309267, 8077440361, 8077571459, 8077702531, 8077833619, + 8077964707, 8078095789, 8078226881, 8078357957, 8078489033, 8078620111, 8078751209, + 8078882309, 8079013403, 8079144487, 8079275579, 8079406679, 8079537787, 8079668887, + 8079799969, 8079931091, 8080062191, 8080193291, 8080324363, 8080455437, 8080586509, + 8080717583, 8080848691, 8080979779, 8081110901, 8081242019, 8081373107, 8081504209, + 8081635369, 8081766457, 8081897533, 8082028607, 8082159689, 8082290779, 8082421873, + 8082552971, 8082684067, 8082815161, 8082946241, 8083077319, 8083208423, 8083339501, + 8083470583, 8083601717, 8083732801, 8083863913, 8083995011, 8084126123, 8084257201, + 8084388287, 8084519363, 8084650463, 8084781539, 8084912629, 8085043727, 8085174809, + 8085305881, 8085436973, 8085568063, 8085699143, 8085830231, 8085961327, 8086092407, + 8086223491, 8086354603, 8086485683, 8086616803, 8086747883, 8086878967, 8087010073, + 8087141177, 8087272399, 8087403487, 8087534561, 8087665637, 8087796713, 8087927789, + 8088058861, 8088189937, 8088321061, 8088452213, 8088583291, 8088714379, 8088845461, + 8088976543, 8089107623, 8089238737, 8089369819, 8089500893, 8089631981, 8089763119, + 8089894231, 8090025347, 8090156429, 8090287511, 8090418587, 8090549681, 8090680769, + 8090811871, 8090942947, 8091074071, 8091205153, 8091336233, 8091467311, 8091598387, + 8091729497, 8091860597, 8091991697, 8092122799, 8092253933, 8092385023, 8092516147, + 8092647253, 8092778327, 8092909403, 8093040491, 8093171617, 8093302691, 8093433769, + 8093564849, 8093695921, 8093827033, 8093958107, 8094089189, 8094220327, 8094351403, + 8094482519, 8094613609, 8094744727, 8094875801, 8095006873, 8095137971, 8095269047, + 8095400123, 8095531207, 8095662283, 8095793359, 8095924451, 8096055559, 8096186639, + 8096317787, 8096448863, 8096579941, 8096711017, 8096842097, 8096973223, 8097104321, + 8097235441, 8097366547, 8097497641, 8097628727, 8097759833, 8097890909, 8098022003, + 8098153081, 8098284157, 8098415257, 8098546363, 8098677467, 8098808563, 8098939661, + 8099070737, 8099201819, 8099332937, 8099464171, 8099595289, 8099726377, 8099857487, + 8099988583, 8100119663, 8100250757, 8100381859, 8100512969, 8100644077, 8100775157, + 8100906259, 8101037339, 8101168417, 8101299497, 8101430587, 8101561661, 8101692743, + 8101823837, 8101954933, 8102086021, 8102217121, 8102348197, 8102479289, 8102610371, + 8102741473, 8102872573, 8103003751, 8103134863, 8103265943, 8103397061, 8103528137, + 8103659233, 8103790319, 8103921391, 8104052471, 8104183547, 8104314623, 8104445749, + 8104576841, 8104707943, 8104839037, 8104970123, 8105101231, 8105232349, 8105363429, + 8105494513, 8105625589, 8105756663, 8105887763, 8106018871, 8106149999, 8106281089, + 8106412229, 8106543311, 8106674419, 8106805507, 8106936583, 8107067659, 8107198739, + 8107329817, 8107460899, 8107591997, 8107723097, 8107854187, 8107985297, 8108116381, + 8108247467, 8108378539, 8108509657, 8108640733, 8108771833, 8108902927, 8109034009, + 8109165089, 8109296171, 8109427247, 8109558329, 8109689407, 8109820487, 8109951601, + 8110082681, 8110213759, 8110344911, 8110476019, 8110607101, 8110738189, 8110869287, + 8111000467, 8111131541, 8111262613, 8111393701, 8111524777, 8111655857, 8111786989, + 8111918107, 8112049189, 8112180269, 8112311351, 8112442427, 8112573503, 8112704641, + 8112835729, 8112966803, 8113097879, 8113228951, 8113360049, 8113491121, 8113622197, + 8113753339, 8113884413, 8114015513, 8114146619, 8114277707, 8114408791, 8114539883, + 8114670961, 8114802089, 8114933171, 8115064247, 8115195331, 8115326407, 8115457487, + 8115588563, 8115719657, 8115850733, 8115981817, 8116112923, 8116243997, 8116375159, + 8116506239, 8116637377, 8116768459, 8116899533, 8117030609, 8117161681, 8117292811, + 8117423917, 8117554997, 8117686111, 8117817187, 8117948309, 8118079423, 8118210509, + 8118341599, 8118472711, 8118603809, 8118734887, 8118865973, 8118997109, 8119128187, + 8119259261, 8119390361, 8119521437, 8119652543, 8119783621, 8119914701, 8120045821, + 8120176901, 8120307973, 8120439071, 8120570191, 8120701271, 8120832347, 8120963419, + 8121094493, 8121225583, 8121356689, 8121487769, 8121618859, 8121749959, 8121881039, + 8122012111, 8122143191, 8122274269, 8122405373, 8122536449, 8122667533, 8122798609, + 8122929691, 8123060773, 8123191849, 8123322979, 8123454077, 8123585153, 8123716243, + 8123847323, 8123978399, 8124109541, 8124240659, 8124371767, 8124502849, 8124633949, + 8124765043, 8124896141, 8125027223, 8125158359, 8125289449, 8125420529, 8125551601, + 8125682683, 8125813757, 8125944829, 8126075921, 8126206993, 8126338111, 8126469187, + 8126600267, 8126731367, 8126862451, 8126993549, 8127124637, 8127255733, 8127386837, + 8127517961, 8127649039, 8127780127, 8127911201, 8128042283, 8128173437, 8128304531, + 8128435663, 8128566739, 8128697833, 8128828921, 8128960009, 8129091109, 8129222183, + 8129353259, 8129484359, 8129615437, 8129746519, 8129877611, 8130008687, 8130139783, + 8130270899, 8130401977, 8130533063, 8130664163, 8130795271, 8130926381, 8131057453, + 8131188539, 8131319617, 8131450709, 8131581833, 8131712917, 8131843997, 8131975073, + 8132106163, 8132237251, 8132368331, 8132499409, 8132630483, 8132761633, 8132892739, + 8133023819, 8133154901, 8133285983, 8133417059, 8133548131, 8133679217, 8133810323, + 8133941411, 8134072537, 8134203611, 8134334699, 8134465817, 8134596919, 8134728013, + 8134859087, 8134990177, 8135121251, 8135252327, 8135383433, 8135514553, 8135645633, + 8135776711, 8135907797, 8136038909, 8136169981, 8136301081, 8136432163, 8136563261, + 8136694339, 8136825427, 8136956501, 8137087577, 8137218679, 8137349771, 8137480853, + 8137611947, 8137743049, 8137874149, 8138005243, 8138136329, 8138267411, 8138398487, + 8138529563, 8138660641, 8138791729, 8138922809, 8139053887, 8139184967, 8139316051, + 8139447133, 8139578221, 8139709337, 8139840463, 8139971549, 8140102627, 8140233701, + 8140364819, 8140495943, 8140627051, 8140758163, 8140889257, 8141020337, 8141151413, + 8141282497, 8141413597, 8141544673, 8141675749, 8141806837, 8141937913, 8142068989, + 8142200071, 8142331147, 8142462259, 8142593339, 8142724411, 8142855541, 8142986627, + 8143117721, 8143248793, 8143379911, 8143510987, 8143642063, 8143773137, 8143904227, + 8144035307, 8144166391, 8144297479, 8144428597, 8144559691, 8144690767, 8144821843, + 8144952941, 8145084023, 8145215153, 8145346229, 8145477367, 8145608441, 8145739517, + 8145870617, 8146001767, 8146132843, 8146263919, 8146395013, 8146526107, 8146657241, + 8146788319, 8146919393, 8147050487, 8147181619, 8147312707, 8147443807, 8147574913, + 8147705987, 8147837083, 8147968159, 8148099233, 8148230333, 8148361421, 8148492533, + 8148623611, 8148754693, 8148885779, 8149016881, 8149147997, 8149279097, 8149410187, + 8149541269, 8149672343, 8149803427, 8149934519, 8150065667, 8150196739, 8150327819, + 8150458909, 8150589991, 8150721067, 8150852197, 8150983279, 8151114353, 8151245437, + 8151376511, 8151507589, 8151638717, 8151769837, 8151900917, 8152031989, 8152163069, + 8152294151, 8152425223, 8152556303, 8152687397, 8152818473, 8152949549, 8153080651, + 8153211767, 8153342839, 8153473967, 8153605039, 8153736113, 8153867207, 8153998291, + 8154129367, 8154260459, 8154391573, 8154522653, 8154653729, 8154784801, 8154915877, + 8155047001, 8155178077, 8155309163, 8155440253, 8155571327, 8155702403, 8155833481, + 8155964587, 8156095669, 8156226769, 8156357843, 8156488979, 8156620079, 8156751151, + 8156882231, 8157013313, 8157144449, 8157275543, 8157406639, 8157537769, 8157668843, + 8157799921, 8157931009, 8158062131, 8158193207, 8158324289, 8158455407, 8158586489, + 8158717577, 8158848679, 8158979761, 8159110847, 8159241947, 8159373043, 8159504167, + 8159635261, 8159766341, 8159897413, 8160028489, 8160159563, 8160290647, 8160421721, + 8160552833, 8160683929, 8160815011, 8160946099, 8161077181, 8161208269, 8161339391, + 8161470467, 8161601549, 8161732627, 8161863751, 8161994837, 8162125913, 8162256989, + 8162388061, 8162519147, 8162650229, 8162781323, 8162912399, 8163043477, 8163174553, + 8163305639, 8163436753, 8163567827, 8163698953, 8163830027, 8163961133, 8164092221, + 8164223303, 8164354403, 8164485481, 8164616561, 8164747639, 8164878737, 8165009833, + 8165140961, 8165272039, 8165403157, 8165534233, 8165665331, 8165796413, 8165927501, + 8166058603, 8166189697, 8166320777, 8166451871, 8166582943, 8166714043, 8166845123, + 8166976231, 8167107313, 8167238399, 8167369477, 8167500577, 8167631653, 8167762747, + 8167893829, 8168024903, 8168156023, 8168287139, 8168418217, 8168549299, 8168680423, + 8168811499, 8168942599, 8169073723, 8169204811, 8169335971, 8169467057, 8169598153, + 8169729251, 8169860351, 8169991471, 8170122557, 8170253629, 8170384727, 8170515803, + 8170646923, 8170778023, 8170909129, 8171040221, 8171171317, 8171302423, 8171433511, + 8171564623, 8171695723, 8171826797, 8171957869, 8172089021, 8172220109, 8172351203, + 8172482299, 8172613373, 8172744449, 8172875521, 8173006607, 8173137751, 8173268867, + 8173399957, 8173531033, 8173662113, 8173793191, 8173924267, 8174055347, 8174186443, + 8174317573, 8174448647, 8174579723, 8174710801, 8174841947, 8174973031, 8175104131, + 8175235259, 8175366343, 8175497423, 8175628523, 8175759661, 8175890759, 8176021877, + 8176152967, 8176284049, 8176415129, 8176546223, 8176677329, 8176808401, 8176939483, + 8177070611, 8177201699, 8177332777, 8177463857, 8177594933, 8177726017, 8177857099, + 8177988187, 8178119267, 8178250373, 8178381457, 8178512533, 8178643607, 8178774689, + 8178905783, 8179036891, 8179168021, 8179299101, 8179430173, 8179561259, 8179692347, + 8179823429, 8179954609, 8180085691, 8180216767, 8180347849, 8180478953, 8180610041, + 8180741123, 8180872201, 8181003343, 8181134447, 8181265549, 8181396623, 8181527707, + 8181658783, 8181789877, 8181920953, 8182052029, 8182183111, 8182314247, 8182445329, + 8182576421, 8182707527, 8182838659, 8182969783, 8183100971, 8183232059, 8183363161, + 8183494271, 8183625347, 8183756423, 8183887519, 8184018593, 8184149681, 8184280763, + 8184411857, 8184542929, 8184674009, 8184805147, 8184936269, 8185067353, 8185198451, + 8185329569, 8185460653, 8185591741, 8185722833, 8185853909, 8185985009, 8186116087, + 8186247161, 8186378257, 8186509337, 8186640431, 8186771507, 8186902579, 8187033653, + 8187164729, 8187295807, 8187426883, 8187557981, 8187689089, 8187820187, 8187951259, + 8188082333, 8188213433, 8188344529, 8188475611, 8188606687, 8188737763, 8188868837, + 8188999957, 8189131033, 8189262119, 8189393207, 8189524289, 8189655371, 8189786443, + 8189917517, 8190048589, 8190179677, 8190310811, 8190441901, 8190573019, 8190704099, + 8190835189, 8190966269, 8191097347, 8191228427, 8191359523, 8191490599, 8191621679, + 8191752761, 8191883863, 8192014951, 8192146033, 8192277109, 8192408219, 8192539307, + 8192670383, 8192801467, 8192932591, 8193063667, 8193194743, 8193325817, 8193456889, + 8193587977, 8193719059, 8193850141, 8193981217, 8194112291, 8194243363, 8194374443, + 8194505519, 8194636613, 8194767731, 8194898837, 8195029937, 8195161019, 8195292137, + 8195423209, 8195554357, 8195685467, 8195816539, 8195947651, 8196078739, 8196209851, + 8196340937, 8196472091, 8196603169, 8196734257, 8196865349, 8196996503, 8197127591, + 8197258681, 8197389757, 8197520833, 8197651921, 8197783037, 8197914113, 8198045237, + 8198176333, 8198307419, 8198438519, 8198569661, 8198700733, 8198831843, 8198962949, + 8199094063, 8199225149, 8199356233, 8199487313, 8199618407, 8199749483, 8199880561, + 8200011637, 8200142771, 8200273843, 8200404923, 8200536023, 8200667099, 8200798211, + 8200929313, 8201060419, 8201191499, 8201322587, 8201453671, 8201584751, 8201715833, + 8201846909, 8201977991, 8202109067, 8202240161, 8202371273, 8202502387, 8202633463, + 8202764561, 8202895633, 8203026721, 8203157801, 8203288883, 8203420009, 8203551113, + 8203682203, 8203813291, 8203944389, 8204075483, 8204206567, 8204337703, 8204468803, + 8204599919, 8204730997, 8204862103, 8204993183, 8205124261, 8205255337, 8205386443, + 8205517519, 8205648599, 8205779677, 8205910763, 8206041859, 8206172981, 8206304069, + 8206435151, 8206566257, 8206697333, 8206828429, 8206959571, 8207090653, 8207221793, + 8207352869, 8207483953, 8207615047, 8207746133, 8207877259, 8208008339, 8208139447, + 8208270529, 8208401627, 8208532723, 8208663829, 8208794911, 8208926027, 8209057117, + 8209188193, 8209319273, 8209450351, 8209581437, 8209712543, 8209843651, 8209974757, + 8210105837, 8210236919, 8210368003, 8210499091, 8210630167, 8210761241, 8210892317, + 8211023423, 8211154499, 8211285571, 8211416651, 8211547733, 8211678817, 8211809917, + 8211941009, 8212072087, 8212203163, 8212334237, 8212465337, 8212596421, 8212727521, + 8212858603, 8212989677, 8213120753, 8213251829, 8213382911, 8213514013, 8213645093, + 8213776183, 8213907259, 8214038347, 8214169459, 8214300539, 8214431647, 8214562729, + 8214693803, 8214824887, 8214955963, 8215087073, 8215218149, 8215349221, 8215480297, + 8215611373, 8215742449, 8215873531, 8216004619, 8216135713, 8216266811, 8216397899, + 8216529059, 8216660131, 8216791223, 8216922323, 8217053419, 8217184499, 8217315583, + 8217446683, 8217577777, 8217708871, 8217839953, 8217971039, 8218102117, 8218233203, + 8218364279, 8218495379, 8218626457, 8218757543, 8218888621, 8219019701, 8219150783, + 8219281879, 8219412953, 8219544031, 8219675111, 8219806223, 8219937343, 8220068449, + 8220199531, 8220330611, 8220461699, 8220592819, 8220723913, 8220854987, 8220986113, + 8221117187, 8221248311, 8221379399, 8221510523, 8221641619, 8221772707, 8221903831, + 8222034937, 8222166031, 8222297107, 8222428213, 8222559299, 8222690381, 8222821459, + 8222952533, 8223083623, 8223214697, 8223345773, 8223476881, 8223607957, 8223739067, + 8223870143, 8224001231, 8224132303, 8224263391, 8224394471, 8224525553, 8224656637, + 8224787713, 8224918787, 8225049887, 8225180981, 8225312083, 8225443181, 8225574257, + 8225705353, 8225836441, 8225967557, 8226098633, 8226229741, 8226360833, 8226491909, + 8226623029, 8226754157, 8226885229, 8227016309, 8227147447, 8227278529, 8227409609, + 8227540681, 8227671769, 8227802867, 8227933939, 8228065019, 8228196101, 8228327227, + 8228458321, 8228589401, 8228720483, 8228851601, 8228982677, 8229113759, 8229244867, + 8229375943, 8229507017, 8229638117, 8229769199, 8229900299, 8230031371, 8230162453, + 8230293557, 8230424687, 8230555771, 8230686847, 8230817939, 8230949011, 8231080129, + 8231211221, 8231342293, 8231473373, 8231604449, 8231735531, 8231866639, 8231997713, + 8232128857, 8232259943, 8232391019, 8232522121, 8232653201, 8232784283, 8232915359, + 8233046431, 8233177529, 8233308619, 8233439737, 8233570811, 8233701893, 8233832983, + 8233964077, 8234095157, 8234226283, 8234357387, 8234488469, 8234619541, 8234750681, + 8234881817, 8235012913, 8235144059, 8235275179, 8235406261, 8235537391, 8235668477, + 8235799553, 8235930631, 8236061711, 8236192799, 8236323911, 8236455013, 8236586117, + 8236717193, 8236848281, 8236979353, 8237110457, 8237241563, 8237372659, 8237503759, + 8237634857, 8237765929, 8237897021, 8238028109, 8238159211, 8238290293, 8238421381, + 8238552463, 8238683549, 8238814627, 8238945703, 8239076779, 8239207859, 8239338931, + 8239470013, 8239601087, 8239732177, 8239863299, 8239994377, 8240125477, 8240256551, + 8240387627, 8240518703, 8240649779, 8240780851, 8240911927, 8241043001, 8241174077, + 8241305153, 8241436267, 8241567353, 8241698453, 8241829529, 8241960647, 8242091801, + 8242222889, 8242353961, 8242485049, 8242616143, 8242747223, 8242878313, 8243009429, + 8243140517, 8243271601, 8243402759, 8243533843, 8243664917, 8243796007, 8243927093, + 8244058177, 8244189263, 8244320351, 8244451463, 8244582559, 8244713639, 8244844721, + 8244975803, 8245106911, 8245237997, 8245369091, 8245500269, 8245631351, 8245762463, + 8245893559, 8246024669, 8246155759, 8246286833, 8246417951, 8246549029, 8246680111, + 8246811187, 8246942281, 8247073399, 8247204487, 8247335597, 8247466697, 8247597773, + 8247728893, 8247859993, 8247991091, 8248122163, 8248253383, 8248384457, 8248515533, + 8248646611, 8248777687, 8248908791, 8249039921, 8249171003, 8249302081, 8249433173, + 8249564249, 8249695331, 8249826421, 8249957509, 8250088619, 8250219739, 8250350821, + 8250481901, 8250612977, 8250744077, 8250875179, 8251006289, 8251137379, 8251268497, + 8251399601, 8251530713, 8251661833, 8251792937, 8251924111, 8252055211, 8252186309, + 8252317391, 8252448557, 8252579639, 8252710721, 8252841799, 8252972891, 8253103981, + 8253235069, 8253366169, 8253497269, 8253628373, 8253759457, 8253890531, 8254021609, + 8254152701, 8254283797, 8254414871, 8254545947, 8254677083, 8254808183, 8254939307, + 8255070413, 8255201489, 8255332609, 8255463703, 8255594819, 8255725897, 8255856971, + 8255988043, 8256119129, 8256250213, 8256381299, 8256512389, 8256643469, 8256774551, + 8256905633, 8257036727, 8257167799, 8257298879, 8257429981, 8257561061, 8257692169, + 8257823261, 8257954373, 8258085481, 8258216609, 8258347711, 8258478859, 8258609999, + 8258741107, 8258872201, 8259003281, 8259134357, 8259265457, 8259396553, 8259527641, + 8259658717, 8259789793, 8259920899, 8260051973, 8260183051, 8260314133, 8260445243, + 8260576319, 8260707401, 8260838473, 8260969573, 8261100677, 8261231761, 8261362859, + 8261493943, 8261625019, 8261756117, 8261887189, 8262018293, 8262149377, 8262280463, + 8262411539, 8262542611, 8262673723, 8262804829, 8262935911, 8263066991, 8263198067, + 8263329167, 8263460243, 8263591331, 8263722449, 8263853567, 8263984643, 8264115731, + 8264246827, 8264377903, 8264508977, 8264640053, 8264771143, 8264902229, 8265033319, + 8265164393, 8265295483, 8265426557, 8265557639, 8265688771, 8265819967, 8265951077, + 8266082197, 8266213309, 8266344389, 8266475501, 8266606573, 8266737649, 8266868761, + 8266999847, 8267130943, 8267262023, 8267393119, 8267524231, 8267655311, 8267786411, + 8267917501, 8268048577, 8268179657, 8268310747, 8268441821, 8268572941, 8268704039, + 8268835117, 8268966191, 8269097359, 8269228439, 8269359529, 8269490699, 8269621777, + 8269752857, 8269883929, 8270015009, 8270146091, 8270277163, 8270408261, 8270539357, + 8270670461, 8270801551, 8270932661, 8271063743, 8271194831, 8271325957, 8271457037, + 8271588161, 8271719233, 8271850319, 8271981391, 8272112477, 8272243561, 8272374659, + 8272505737, 8272636819, 8272767917, 8272899017, 8273030119, 8273161223, 8273292331, + 8273423407, 8273554517, 8273685617, 8273816689, 8273947763, 8274078853, 8274210001, + 8274341083, 8274472163, 8274603251, 8274734323, 8274865409, 8274996547, 8275127633, + 8275258781, 8275389883, 8275520989, 8275652069, 8275783151, 8275914239, 8276045329, + 8276176451, 8276307551, 8276438623, 8276569703, 8276700781, 8276831869, 8276962961, + 8277094057, 8277225137, 8277356237, 8277487333, 8277618439, 8277749533, 8277880609, + 8278011683, 8278142783, 8278273877, 8278404971, 8278536047, 8278667153, 8278798247, + 8278929319, 8279060417, 8279191507, 8279322587, 8279453717, 8279584801, 8279715877, + 8279846969, 8279978041, 8280109139, 8280240211, 8280371287, 8280502369, 8280633457, + 8280764551, 8280895627, 8281026703, 8281157789, 8281288867, 8281419989, 8281551077, + 8281682161, 8281813273, 8281944347, 8282075423, 8282206531, 8282337617, 8282468729, + 8282599817, 8282730943, 8282862061, 8282993161, 8283124237, 8283255311, 8283386387, + 8283517483, 8283648577, 8283779729, 8283910847, 8284041919, 8284172993, 8284304071, + 8284435177, 8284566299, 8284697381, 8284828463, 8284959563, 8285090647, 8285221723, + 8285352811, 8285483887, 8285614963, 8285746037, 8285877109, 8286008219, 8286139291, + 8286270401, 8286401483, 8286532561, 8286663647, 8286794731, 8286925807, 8287056919, + 8287188079, 8287319191, 8287450289, 8287581373, 8287712497, 8287843579, 8287974701, + 8288105789, 8288236897, 8288367973, 8288499049, 8288630123, 8288761223, 8288892347, + 8289023419, 8289154493, 8289285593, 8289416687, 8289547807, 8289678889, 8289809971, + 8289941069, 8290072159, 8290203247, 8290334323, 8290465397, 8290596469, 8290727551, + 8290858627, 8290989703, 8291120777, 8291251867, 8291383003, 8291514097, 8291645179, + 8291776261, 8291907341, 8292038413, 8292169511, 8292300593, 8292431669, 8292562741, + 8292693821, 8292824923, 8292956003, 8293087081, 8293218161, 8293349249, 8293480337, + 8293611427, 8293742507, 8293873603, 8294004707, 8294135791, 8294266873, 8294397953, + 8294529037, 8294660119, 8294791199, 8294922281, 8295053369, 8295184463, 8295315541, + 8295446617, 8295577729, 8295708851, 8295839941, 8295971059, 8296102147, 8296233221, + 8296364387, 8296495463, 8296626563, 8296757653, 8296888757, 8297019851, 8297150923, + 8297282011, 8297413087, 8297544163, 8297675261, 8297806339, 8297937437, 8298068549, + 8298199627, 8298330727, 8298461819, 8298592943, 8298724037, 8298855119, 8298986191, + 8299117313, 8299248409, 8299379483, 8299510559, 8299641653, 8299772743, 8299903837, + 8300034913, 8300165999, 8300297099, 8300428183, 8300559283, 8300690393, 8300821511, + 8300952589, 8301083671, 8301214759, 8301345859, 8301476959, 8301608059, 8301739139, + 8301870251, 8302001327, 8302132411, 8302263509, 8302394593, 8302525747, 8302656829, + 8302787923, 8302919071, 8303050159, 8303181247, 8303312323, 8303443427, 8303574527, + 8303705609, 8303836819, 8303967899, 8304099007, 8304230083, 8304361183, 8304492271, + 8304623347, 8304754433, 8304885529, 8305016669, 8305147757, 8305278829, 8305409911, + 8305540993, 8305672091, 8305803167, 8305934243, 8306065331, 8306196407, 8306327509, + 8306458583, 8306589677, 8306720753, 8306851859, 8306982947, 8307114077, 8307245171, + 8307376243, 8307507337, 8307638419, 8307769501, 8307900577, 8308031707, 8308162789, + 8308293869, 8308424959, 8308556051, 8308687147, 8308818247, 8308949347, 8309080457, + 8309211529, 8309342623, 8309473759, 8309604857, 8309735953, 8309867029, 8309998171, + 8310129257, 8310260353, 8310391429, 8310522533, 8310653621, 8310784733, 8310915827, + 8311046903, 8311177981, 8311309067, 8311440227, 8311571329, 8311702439, 8311833571, + 8311964657, 8312095733, 8312226817, 8312357891, 8312488973, 8312620051, 8312751127, + 8312882209, 8313013297, 8313144401, 8313275473, 8313406559, 8313537637, 8313668717, + 8313799817, 8313930901, 8314061983, 8314193123, 8314324201, 8314455283, 8314586377, + 8314717457, 8314848547, 8314979689, 8315110781, 8315241859, 8315372939, 8315504063, + 8315635151, 8315766241, 8315897339, 8316028421, 8316159493, 8316290569, 8316421741, + 8316552883, 8316683957, 8316815041, 8316946117, 8317077191, 8317208303, 8317339379, + 8317470461, 8317601603, 8317732693, 8317863779, 8317994911, 8318125997, 8318257111, + 8318388191, 8318519299, 8318650381, 8318781517, 8318912597, 8319043679, 8319174803, + 8319305881, 8319436969, 8319568079, 8319699151, 8319830231, 8319961369, 8320092463, + 8320223663, 8320354751, 8320485881, 8320616959, 8320748069, 8320879159, 8321010239, + 8321141327, 8321272423, 8321403509, 8321534593, 8321665669, 8321796781, 8321927881, + 8322059003, 8322190087, 8322321181, 8322452261, 8322583333, 8322714461, 8322845539, + 8322976621, 8323107697, 8323238797, 8323369871, 8323500959, 8323632133, 8323763209, + 8323894283, 8324025361, 8324156483, 8324287597, 8324418703, 8324549791, 8324680879, + 8324811953, 8324943059, 8325074137, 8325205223, 8325336311, 8325467383, 8325598469, + 8325729541, 8325860617, 8325991717, 8326122853, 8326253927, 8326385017, 8326516109, + 8326647211, 8326778287, 8326909369, 8327040467, 8327171569, 8327302667, 8327433743, + 8327564831, 8327695903, 8327827063, 8327958137, 8328089249, 8328220333, 8328351419, + 8328482497, 8328613571, 8328744647, 8328875743, 8329006823, 8329137923, 8329269029, + 8329400119, 8329531207, 8329662317, 8329793419, 8329924507, 8330055599, 8330186671, + 8330317789, 8330448877, 8330579953, 8330711069, 8330842141, 8330973227, 8331104317, + 8331235403, 8331366481, 8331497563, 8331628637, 8331759719, 8331890813, 8332021889, + 8332152977, 8332284049, 8332415159, 8332546241, 8332677317, 8332808399, 8332939499, + 8333070589, 8333201693, 8333332769, 8333463841, 8333594923, 8333726081, 8333857153, + 8333988239, 8334119341, 8334250423, 8334381533, 8334512609, 8334643687, 8334774787, + 8334905879, 8335036987, 8335168063, 8335299149, 8335430227, 8335561303, 8335692377, + 8335823449, 8335954567, 8336085689, 8336216771, 8336347843, 8336478937, 8336610067, + 8336741141, 8336872213, 8337003289, 8337134371, 8337265459, 8337396577, 8337527663, + 8337658739, 8337789833, 8337920909, 8338052029, 8338183109, 8338314263, 8338445377, + 8338576457, 8338707541, 8338838621, 8338969697, 8339100793, 8339231881, 8339362957, + 8339494043, 8339625143, 8339756219, 8339887301, 8340018397, 8340149471, 8340280547, + 8340411619, 8340542699, 8340673799, 8340804917, 8340936001, 8341067083, 8341198157, + 8341329229, 8341460317, 8341591397, 8341722481, 8341853579, 8341984657, 8342115731, + 8342246821, 8342377907, 8342509001, 8342640149, 8342771263, 8342902349, 8343033421, + 8343164513, 8343295589, 8343426667, 8343557749, 8343688853, 8343819937, 8343951029, + 8344082107, 8344213183, 8344344287, 8344475369, 8344606453, 8344737551, 8344868633, + 8344999753, 8345130851, 8345261923, 8345393033, 8345524163, 8345655277, 8345786357, + 8345917451, 8346048551, 8346179641, 8346310727, 8346441841, 8346572917, 8346704057, + 8346835153, 8346966227, 8347097303, 8347228457, 8347359557, 8347490629, 8347621739, + 8347752823, 8347883903, 8348014993, 8348146069, 8348277143, 8348408219, 8348539301, + 8348670413, 8348801537, 8348932619, 8349063703, 8349194779, 8349325891, 8349457001, + 8349588119, 8349719207, 8349850291, 8349981389, 8350112471, 8350243543, 8350374623, + 8350505699, 8350636849, 8350767959, 8350899079, 8351030221, 8351161307, 8351292409, + 8351423497, 8351554583, 8351685679, 8351816761, 8351947847, 8352078953, 8352210029, + 8352341149, 8352472223, 8352603299, 8352734393, 8352865483, 8352996559, 8353127639, + 8353258759, 8353389871, 8353520957, 8353652077, 8353783157, 8353914241, 8354045317, + 8354176433, 8354307527, 8354438623, 8354569721, 8354700917, 8354832023, 8354963101, + 8355094199, 8355225349, 8355356423, 8355487501, 8355618577, 8355749651, 8355880727, + 8356011817, 8356142933, 8356274029, 8356405121, 8356536211, 8356667309, 8356798393, + 8356929491, 8357060581, 8357191681, 8357322761, 8357453891, 8357584969, 8357716049, + 8357847187, 8357978261, 8358109393, 8358240493, 8358371569, 8358502673, 8358633749, + 8358764849, 8358895999, 8359027081, 8359158229, 8359289329, 8359420411, 8359551493, + 8359682599, 8359813681, 8359944779, 8360075861, 8360206937, 8360338037, 8360469113, + 8360600189, 8360731261, 8360862359, 8360993437, 8361124517, 8361255593, 8361386669, + 8361517757, 8361648847, 8361779941, 8361911017, 8362042103, 8362173199, 8362304303, + 8362435391, 8362566467, 8362697593, 8362828667, 8362959739, 8363090831, 8363221903, + 8363353049, 8363484139, 8363615237, 8363746319, 8363877419, 8364008501, 8364139577, + 8364270721, 8364401797, 8364532921, 8364664051, 8364795143, 8364926233, 8365057313, + 8365188407, 8365319483, 8365450573, 8365581659, 8365712753, 8365843859, 8365974937, + 8366106029, 8366237119, 8366368217, 8366499299, 8366630417, 8366761499, 8366892587, + 8367023683, 8367154759, 8367285853, 8367416933, 8367548027, 8367679141, 8367810233, + 8367941353, 8368072439, 8368203521, 8368334603, 8368465681, 8368596763, 8368727849, + 8368858931, 8368990037, 8369121133, 8369252209, 8369383291, 8369514401, 8369645489, + 8369776561, 8369907659, 8370038773, 8370169877, 8370300977, 8370432071, 8370563153, + 8370694229, 8370825319, 8370956411, 8371087493, 8371218617, 8371349719, 8371480801, + 8371611889, 8371742987, 8371874087, 8372005189, 8372136277, 8372267359, 8372398483, + 8372529559, 8372660657, 8372791781, 8372922853, 8373053947, 8373185021, 8373316099, + 8373447191, 8373578263, 8373709349, 8373840421, 8373971519, 8374102603, 8374233689, + 8374364807, 8374495889, 8374626973, 8374758083, 8374889161, 8375020243, 8375151331, + 8375282417, 8375413517, 8375544613, 8375675717, 8375806801, 8375937883, 8376068957, + 8376200029, 8376331121, 8376462239, 8376593321, 8376724399, 8376855479, 8376986573, + 8377117657, 8377248739, 8377379837, 8377510919, 8377642057, 8377773133, 8377904231, + 8378035321, 8378166403, 8378297483, 8378428561, 8378559641, 8378690731, 8378821819, + 8378952929, 8379084019, 8379215093, 8379346169, 8379477241, 8379608353, 8379739439, + 8379870511, 8380001587, 8380132681, 8380263767, 8380394873, 8380525969, 8380657049, + 8380788137, 8380919221, 8381050313, 8381181427, 8381312519, 8381443621, 8381574731, + 8381705803, 8381836901, 8381967989, 8382099073, 8382230189, 8382361277, 8382492361, + 8382623489, 8382754577, 8382885659, 8383016737, 8383147811, 8383278887, 8383409963, + 8383541059, 8383672163, 8383803349, 8383934431, 8384065513, 8384196599, 8384327671, + 8384458781, 8384589853, 8384720941, 8384852017, 8384983091, 8385114191, 8385245279, + 8385376427, 8385507511, 8385638629, 8385769771, 8385900851, 8386031923, 8386162999, + 8386294073, 8386425167, 8386556261, 8386687357, 8386818439, 8386949537, 8387080619, + 8387211697, 8387342783, 8387473901, 8387605013, 8387736101, 8387867177, 8387998277, + 8388129391, 8388260473, 8388391559, 8388522641, 8388653717, 8388784823, 8388915943, + 8389047041, 8389178123, 8389309237, 8389440337, 8389571461, 8389702543, 8389833623, + 8389964753, 8390095841, 8390226913, 8390358001, 8390489143, 8390620241, 8390751349, + 8390882431, 8391013517, 8391144607, 8391275687, 8391406769, 8391537851, 8391668939, + 8391800069, 8391931151, 8392062227, 8392193309, 8392324441, 8392455521, 8392586611, + 8392717693, 8392848799, 8392979879, 8393110981, 8393242073, 8393373199, 8393504321, + 8393635409, 8393766481, 8393897563, 8394028637, 8394159727, 8394290813, 8394421933, + 8394553049, 8394684149, 8394815227, 8394946319, 8395077497, 8395208581, 8395339663, + 8395470749, 8395601833, 8395732909, 8395863989, 8395995067, 8396126143, 8396257231, + 8396388307, 8396519393, 8396650499, 8396781583, 8396912683, 8397043769, 8397174847, + 8397305927, 8397437003, 8397568103, 8397699179, 8397830251, 8397961333, 8398092413, + 8398223501, 8398354577, 8398485653, 8398616741, 8398747843, 8398878931, 8399010013, + 8399141119, 8399272199, 8399403277, 8399534357, 8399665429, 8399796523, 8399927611, + 8400058753, 8400189857, 8400321031, 8400452129, 8400583223, 8400714313, 8400845389, + 8400976477, 8401107551, 8401238641, 8401369733, 8401500823, 8401631899, 8401762973, + 8401894049, 8402025127, 8402156201, 8402287273, 8402418347, 8402549453, 8402680543, + 8402811623, 8402942701, 8403073781, 8403204853, 8403335971, 8403467071, 8403598183, + 8403729263, 8403860347, 8403991471, 8404122553, 8404253651, 8404384753, 8404515857, + 8404646951, 8404778023, 8404909111, 8405040191, 8405171279, 8405302361, 8405433461, + 8405564561, 8405695673, 8405826761, 8405957839, 8406088939, 8406220013, 8406351139, + 8406482237, 8406613357, 8406744439, 8406875593, 8407006721, 8407137797, 8407268869, + 8407399951, 8407531039, 8407662139, 8407793213, 8407924307, 8408055413, 8408186491, + 8408317583, 8408448707, 8408579807, 8408710879, 8408841953, 8408973047, 8409104147, + 8409235267, 8409366359, 8409497431, 8409628559, 8409759661, 8409890737, 8410021811, + 8410152887, 8410283963, 8410415051, 8410546127, 8410677203, 8410808309, 8410939423, + 8411070529, 8411201609, 8411332687, 8411463769, 8411594843, 8411725937, 8411857021, + 8411988173, 8412119251, 8412250331, 8412381413, 8412512489, 8412643571, 8412774743, + 8412905827, 8413036921, 8413168087, 8413299211, 8413430293, 8413561367, 8413692493, + 8413823567, 8413954673, 8414085769, 8414216843, 8414347937, 8414479027, 8414610121, + 8414741201, 8414872289, 8415003409, 8415134501, 8415265577, 8415396667, 8415527773, + 8415658859, 8415789961, 8415921061, 8416052159, 8416183331, 8416314419, 8416445501, + 8416576579, 8416707757, 8416838849, 8416969927, 8417101019, 8417232101, 8417363173, + 8417494259, 8417625373, 8417756449, 8417887531, 8418018641, 8418149713, 8418280817, + 8418411889, 8418542983, 8418674081, 8418805201, 8418936277, 8419067383, 8419198561, + 8419329641, 8419460723, 8419591811, 8419722911, 8419853987, 8419985081, 8420116169, + 8420247247, 8420378353, 8420509429, 8420640509, 8420771627, 8420902759, 8421033839, + 8421164923, 8421296027, 8421427123, 8421558217, 8421689299, 8421820397, 8421951493, + 8422082567, 8422213649, 8422344727, 8422475827, 8422606901, 8422737997, 8422869073, + 8423000191, 8423131267, 8423262359, 8423393441, 8423524513, 8423655589, 8423786681, + 8423917763, 8424048863, 8424179963, 8424311069, 8424442151, 8424573263, 8424704347, + 8424835459, 8424966541, 8425097623, 8425228751, 8425359841, 8425490917, 8425622047, + 8425753123, 8425884197, 8426015317, 8426146403, 8426277481, 8426408563, 8426539643, + 8426670719, 8426801819, 8426932931, 8427064003, 8427195097, 8427326213, 8427457289, + 8427588391, 8427719471, 8427850553, 8427981629, 8428112743, 8428243891, 8428374973, + 8428506103, 8428637219, 8428768291, 8428899373, 8429030453, 8429161589, 8429292661, + 8429423749, 8429554829, 8429685907, 8429816987, 8429948089, 8430079211, 8430210287, + 8430341389, 8430472481, 8430603553, 8430734657, 8430865753, 8430996857, 8431127959, + 8431259033, 8431390111, 8431521191, 8431652293, 8431783411, 8431914499, 8432045579, + 8432176651, 8432307731, 8432438813, 8432569897, 8432700977, 8432832059, 8432963171, + 8433094297, 8433225391, 8433356471, 8433487549, 8433618637, 8433749711, 8433880799, + 8434011877, 8434143017, 8434274117, 8434405201, 8434536347, 8434667431, 8434798511, + 8434929599, 8435060693, 8435191771, 8435322869, 8435453951, 8435585023, 8435716097, + 8435847181, 8435978267, 8436109343, 8436240457, 8436371539, 8436502619, 8436633701, + 8436764801, 8436895891, 8437026971, 8437158083, 8437289167, 8437420261, 8437551337, + 8437682467, 8437813561, 8437944637, 8438075719, 8438206801, 8438337877, 8438468957, + 8438600081, 8438731153, 8438862227, 8438993309, 8439124399, 8439255509, 8439386591, + 8439517739, 8439648853, 8439779939, 8439911021, 8440042109, 8440173199, 8440304291, + 8440435363, 8440566437, 8440697519, 8440828607, 8440959679, 8441090809, 8441221909, + 8441352989, 8441484071, 8441615159, 8441746259, 8441877331, 8442008437, 8442139513, + 8442270611, 8442401687, 8442532759, 8442663833, 8442794953, 8442926047, 8443057127, + 8443188239, 8443319317, 8443450417, 8443581499, 8443712593, 8443843673, 8443974767, + 8444105861, 8444236961, 8444368063, 8444499163, 8444630261, 8444761333, 8444892413, + 8445023519, 8445154603, 8445285713, 8445416827, 8445547921, 8445679001, 8445810073, + 8445941149, 8446072231, 8446203307, 8446334381, 8446465463, 8446596539, 8446727651, + 8446858727, 8446989853, 8447120933, 8447252029, 8447383123, 8447514227, 8447645317, + 8447776399, 8447907499, 8448038593, 8448169729, 8448300803, 8448431881, 8448562963, + 8448694039, 8448825169, 8448956273, 8449087349, 8449218431, 8449349521, 8449480631, + 8449611739, 8449742837, 8449873909, 8450005009, 8450136103, 8450267209, 8450398289, + 8450529379, 8450660497, 8450791571, 8450922653, 8451053731, 8451184873, 8451315953, + 8451447041, 8451578123, 8451709213, 8451840289, 8451971371, 8452102459, 8452233539, + 8452364611, 8452495739, 8452626821, 8452757953, 8452889033, 8453020117, 8453151193, + 8453282269, 8453413351, 8453544443, 8453675533, 8453806639, 8453937721, 8454068837, + 8454199913, 8454331009, 8454462103, 8454593201, 8454724273, 8454855359, 8454986443, + 8455117529, 8455248623, 8455379707, 8455510781, 8455641881, 8455772971, 8455904063, + 8456035157, 8456166233, 8456297329, 8456428433, 8456559511, 8456690591, 8456821679, + 8456952773, 8457083851, 8457214937, 8457346021, 8457477113, 8457608191, 8457739271, + 8457870353, 8458001429, 8458132531, 8458263617, 8458394689, 8458525781, 8458656853, + 8458787927, 8458918999, 8459050079, 8459181151, 8459312227, 8459443313, 8459574457, + 8459705533, 8459836607, 8459967701, 8460098797, 8460229879, 8460360989, 8460492077, + 8460623161, 8460754273, 8460885359, 8461016449, 8461147523, 8461278599, 8461409777, + 8461540891, 8461672001, 8461803101, 8461934177, 8462065267, 8462196343, 8462327429, + 8462458541, 8462589637, 8462720729, 8462851849, 8462982923, 8463114043, 8463245129, + 8463376213, 8463507289, 8463638363, 8463769453, 8463900527, 8464031599, 8464162709, + 8464293797, 8464424869, 8464555991, 8464687151, 8464818251, 8464949323, 8465080427, + 8465211529, 8465342603, 8465473699, 8465604799, 8465735899, 8465866991, 8465998109, + 8466129197, 8466260269, 8466391397, 8466522473, 8466653549, 8466784649, 8466915799, + 8467046891, 8467177973, 8467309063, 8467440143, 8467571227, 8467702343, 8467833419, + 8467964569, 8468095673, 8468226749, 8468357839, 8468488981, 8468620067, 8468751191, + 8468882269, 8469013387, 8469144491, 8469275599, 8469406691, 8469537773, 8469668873, + 8469800011, 8469931087, 8470062173, 8470193257, 8470324337, 8470455439, 8470586513, + 8470717589, 8470848671, 8470979743, 8471110849, 8471241923, 8471373059, 8471504131, + 8471635213, 8471766323, 8471897443, 8472028519, 8472159607, 8472290681, 8472421777, + 8472552863, 8472683939, 8472815023, 8472946109, 8473077181, 8473208309, 8473339423, + 8473470517, 8473601593, 8473732679, 8473863767, 8473994869, 8474125969, 8474257063, + 8474388179, 8474519279, 8474650381, 8474781487, 8474912581, 8475043669, 8475174761, + 8475305837, 8475436919, 8475568001, 8475699073, 8475830149, 8475961229, 8476092341, + 8476223461, 8476354553, 8476485649, 8476616723, 8476747801, 8476878881, 8477009971, + 8477141083, 8477272157, 8477403229, 8477534363, 8477665447, 8477796533, 8477927609, + 8478058733, 8478189809, 8478320911, 8478451997, 8478583109, 8478714203, 8478845303, + 8478976399, 8479107499, 8479238611, 8479369697, 8479500833, 8479631939, 8479763011, + 8479894097, 8480025179, 8480156261, 8480287349, 8480418421, 8480549513, 8480680613, + 8480811721, 8480942801, 8481073873, 8481204997, 8481336113, 8481467213, 8481598429, + 8481729533, 8481860633, 8481991733, 8482122871, 8482253947, 8482385057, 8482516151, + 8482647241, 8482778347, 8482909433, 8483040521, 8483171639, 8483302717, 8483433841, + 8483564917, 8483696033, 8483827111, 8483958229, 8484089303, 8484220411, 8484351487, + 8484482563, 8484613637, 8484744721, 8484875807, 8485006927, 8485138019, 8485269119, + 8485400239, 8485531319, 8485662391, 8485793473, 8485924547, 8486055637, 8486186749, + 8486317823, 8486448899, 8486579987, 8486711069, 8486842207, 8486973283, 8487104369, + 8487235447, 8487366533, 8487497611, 8487628691, 8487759773, 8487890867, 8488021999, + 8488153073, 8488284163, 8488415237, 8488546321, 8488677497, 8488808569, 8488939649, + 8489070731, 8489201827, 8489332903, 8489463989, 8489595061, 8489726171, 8489857283, + 8489988359, 8490119471, 8490250583, 8490381659, 8490512747, 8490643841, 8490774917, + 8490906001, 8491037111, 8491168207, 8491299283, 8491430359, 8491561459, 8491692533, + 8491823633, 8491954711, 8492085787, 8492216867, 8492347949, 8492479027, 8492610121, + 8492741219, 8492872303, 8493003377, 8493134459, 8493265541, 8493396617, 8493527719, + 8493658853, 8493789947, 8493921019, 8494052117, 8494183189, 8494314271, 8494445357, + 8494576429, 8494707503, 8494838593, 8494969667, 8495100763, 8495231851, 8495362937, + 8495494009, 8495625109, 8495756201, 8495887277, 8496018373, 8496149461, 8496280543, + 8496411617, 8496542711, 8496673793, 8496804871, 8496935957, 8497067063, 8497198139, + 8497329221, 8497460327, 8497591409, 8497722487, 8497853627, 8497984741, 8498115817, + 8498246947, 8498378023, 8498509099, 8498640193, 8498771279, 8498902351, 8499033449, + 8499164521, 8499295709, 8499426797, 8499557903, 8499688987, 8499820081, 8499951157, + 8500082237, 8500213343, 8500344427, 8500475513, 8500606603, 8500737727, 8500868833, + 8500999907, 8501130991, 8501262079, 8501393203, 8501524279, 8501655401, 8501786507, + 8501917579, 8502048703, 8502179797, 8502310871, 8502441943, 8502573029, 8502704123, + 8502835249, 8502966323, 8503097399, 8503228507, 8503359583, 8503490683, 8503621771, + 8503752863, 8503883951, 8504015027, 8504146117, 8504277211, 8504408317, 8504539451, + 8504670547, 8504801623, 8504932769, 8505063857, 8505194947, 8505326023, 8505457111, + 8505588187, 8505719269, 8505850349, 8505981439, 8506112513, 8506243591, 8506374707, + 8506505783, 8506636861, 8506767947, 8506899019, 8507030093, 8507161171, 8507292257, + 8507423363, 8507554439, 8507685517, 8507816621, 8507947771, 8508078847, 8508209923, + 8508341011, 8508472153, 8508603253, 8508734327, 8508865427, 8508996521, 8509127593, + 8509258669, 8509389781, 8509520911, 8509652003, 8509783129, 8509914211, 8510045311, + 8510176393, 8510307473, 8510438569, 8510569643, 8510700749, 8510831837, 8510962937, + 8511094027, 8511225103, 8511356197, 8511487279, 8511618373, 8511749459, 8511880543, + 8512011617, 8512142711, 8512273799, 8512404893, 8512536013, 8512667089, 8512798169, + 8512929247, 8513060323, 8513191417, 8513322523, 8513453621, 8513584693, 8513715797, + 8513846879, 8513977951, 8514109027, 8514240109, 8514371183, 8514502279, 8514633371, + 8514764471, 8514895547, 8515026629, 8515157719, 8515288799, 8515419877, 8515550951, + 8515682033, 8515813109, 8515944197, 8516075287, 8516206397, 8516337497, 8516468581, + 8516599687, 8516730793, 8516861879, 8516992973, 8517124069, 8517255151, 8517386309, + 8517517397, 8517648479, 8517779581, 8517910657, 8518041739, 8518172837, 8518303909, + 8518435073, 8518566149, 8518697227, 8518828319, 8518959457, 8519090539, 8519221649, + 8519352739, 8519483837, 8519614913, 8519745989, 8519877061, 8520008149, 8520139223, + 8520270323, 8520401447, 8520532519, 8520663607, 8520794687, 8520925813, 8521056917, + 8521187993, 8521319117, 8521450199, 8521581281, 8521712389, 8521843471, 8521974553, + 8522105639, 8522236771, 8522367851, 8522498923, 8522630003, 8522761099, 8522892223, + 8523023317, 8523154397, 8523285473, 8523416557, 8523547639, 8523678763, 8523809863, + 8523940951, 8524072027, 8524203101, 8524334177, 8524465277, 8524596359, 8524727501, + 8524858579, 8524989701, 8525120777, 8525251907, 8525383081, 8525514157, 8525645251, + 8525776411, 8525907527, 8526038639, 8526169711, 8526300823, 8526431899, 8526562973, + 8526694061, 8526825169, 8526956257, 8527087333, 8527218419, 8527349497, 8527480583, + 8527611661, 8527742761, 8527873841, 8528004913, 8528135989, 8528267071, 8528398181, + 8528529263, 8528660353, 8528791487, 8528922587, 8529053677, 8529184771, 8529315853, + 8529446927, 8529578003, 8529709093, 8529840169, 8529971243, 8530102327, 8530233401, + 8530364473, 8530495573, 8530626677, 8530757761, 8530888897, 8531019977, 8531151061, + 8531282161, 8531413271, 8531544347, 8531675441, 8531806523, 8531937619, 8532068771, + 8532199861, 8532330997, 8532462073, 8532593161, 8532724247, 8532855337, 8532986417, + 8533117529, 8533248601, 8533379677, 8533510763, 8533641859, 8533772941, 8533904033, + 8534035109, 8534166187, 8534297263, 8534428337, 8534559409, 8534690497, 8534821579, + 8534952659, 8535083819, 8535214913, 8535345989, 8535477107, 8535608197, 8535739297, + 8535870373, 8536001447, 8536132523, 8536263629, 8536394719, 8536525819, 8536656893, + 8536788019, 8536919123, 8537050199, 8537181271, 8537312353, 8537443433, 8537574533, + 8537705663, 8537836771, 8537967853, 8538098941, 8538230047, 8538361121, 8538492203, + 8538623279, 8538754351, 8538885449, 8539016527, 8539147621, 8539278739, 8539409821, + 8539540903, 8539671983, 8539803071, 8539934171, 8540065309, 8540196383, 8540327489, + 8540458567, 8540589643, 8540720717, 8540851793, 8540982899, 8541114013, 8541245113, + 8541376189, 8541507269, 8541638359, 8541769441, 8541900527, 8542031611, 8542162687, + 8542293761, 8542424857, 8542555991, 8542687067, 8542818157, 8542949251, 8543080327, + 8543211419, 8543342491, 8543473571, 8543604649, 8543735723, 8543866873, 8543997983, + 8544129067, 8544260141, 8544391243, 8544522347, 8544653471, 8544784597, 8544915677, + 8545046767, 8545177847, 8545309027, 8545440149, 8545571227, 8545702331, 8545833493, + 8545964591, 8546095667, 8546226751, 8546357837, 8546488913, 8546620007, 8546751097, + 8546882299, 8547013373, 8547144449, 8547275563, 8547406643, 8547537731, 8547668819, + 8547799891, 8547930977, 8548062097, 8548193209, 8548324331, 8548455431, 8548586503, + 8548717591, 8548848673, 8548979753, 8549110837, 8549241913, 8549372989, 8549504069, + 8549635183, 8549766289, 8549897383, 8550028457, 8550159533, 8550290611, 8550421687, + 8550552761, 8550683893, 8550814969, 8550946069, 8551077203, 8551208311, 8551339393, + 8551470469, 8551601557, 8551732681, 8551863757, 8551994837, 8552125913, 8552257001, + 8552388079, 8552519159, 8552650247, 8552781319, 8552912429, 8553043507, 8553174613, + 8553305737, 8553436819, 8553567923, 8553699001, 8553830099, 8553961181, 8554092269, + 8554223347, 8554354447, 8554485523, 8554616641, 8554747741, 8554878847, 8555009929, + 8555141009, 8555272091, 8555403167, 8555534279, 8555665379, 8555796451, 8555927543, + 8556058631, 8556189703, 8556320777, 8556451867, 8556582961, 8556714043, 8556845117, + 8556976213, 8557107329, 8557238407, 8557369481, 8557500577, 8557631653, 8557762727, + 8557893833, 8558024971, 8558156059, 8558287139, 8558418223, 8558549323, 8558680399, + 8558811479, 8558942591, 8559073667, 8559204743, 8559335833, 8559466907, 8559597989, + 8559729071, 8559860161, 8559991241, 8560122371, 8560253453, 8560384531, 8560515611, + 8560646723, 8560777829, 8560908901, 8561039987, 8561171071, 8561302157, 8561433229, + 8561564311, 8561695391, 8561826463, 8561957539, 8562088631, 8562219719, 8562350801, + 8562481877, 8562612953, 8562744031, 8562875117, 8563006201, 8563137293, 8563268369, + 8563399451, 8563530529, 8563661657, 8563792813, 8563923889, 8564054969, 8564186047, + 8564317141, 8564448253, 8564579333, 8564710423, 8564841497, 8564972579, 8565103661, + 8565234749, 8565365863, 8565496949, 8565628031, 8565759119, 8565890219, 8566021291, + 8566152377, 8566283519, 8566414657, 8566545737, 8566676819, 8566807937, 8566939009, + 8567070091, 8567201171, 8567332247, 8567463323, 8567594417, 8567725493, 8567856581, + 8567987663, 8568118739, 8568249821, 8568380893, 8568511967, 8568643049, 8568774157, + 8568905237, 8569036313, 8569167389, 8569298503, 8569429577, 8569560667, 8569691743, + 8569822817, 8569953901, 8570084987, 8570216111, 8570347183, 8570478283, 8570609363, + 8570740481, 8570871559, 8571002633, 8571133771, 8571264869, 8571395951, 8571527051, + 8571658129, 8571789221, 8571920297, 8572051379, 8572182601, 8572313677, 8572444781, + 8572575859, 8572706959, 8572838041, 8572969127, 8573100229, 8573231311, 8573362397, + 8573493469, 8573624551, 8573755627, 8573886707, 8574017819, 8574148901, 8574279991, + 8574411089, 8574542173, 8574673259, 8574804349, 8574935431, 8575066537, 8575197637, + 8575328711, 8575459801, 8575590883, 8575721989, 8575853093, 8575984187, 8576115281, + 8576246387, 8576377483, 8576508557, 8576639647, 8576770723, 8576901821, 8577032921, + 8577163993, 8577295081, 8577426167, 8577557249, 8577688363, 8577819449, 8577950531, + 8578081613, 8578212689, 8578343821, 8578474903, 8578605983, 8578737067, 8578868149, + 8578999223, 8579130311, 8579261423, 8579392513, 8579523613, 8579654701, 8579785783, + 8579916883, 8580047963, 8580179057, 8580310129, 8580441239, 8580572317, 8580703393, + 8580834469, 8580965551, 8581096627, 8581227727, 8581358801, 8581489901, 8581620979, + 8581752061, 8581883147, 8582014237, 8582145323, 8582276399, 8582407489, 8582538571, + 8582669651, 8582800747, 8582931869, 8583062953, 8583194041, 8583325129, 8583456239, + 8583587321, 8583718397, 8583849479, 8583980563, 8584111643, 8584242739, 8584373857, + 8584504937, 8584636009, 8584767109, 8584898207, 8585029309, 8585160383, 8585291459, + 8585422579, 8585553653, 8585684729, 8585815807, 8585946881, 8586077989, 8586209087, + 8586340163, 8586471253, 8586602327, 8586733417, 8586864497, 8586995569, 8587126643, + 8587257733, 8587388807, 8587519879, 8587650983, 8587782061, 8587913153, 8588044261, + 8588175353, 8588306431, 8588437531, 8588568607, 8588699687, 8588830769, 8588961947, + 8589093109, 8589224183, 8589355261, 8589486337, 8589617431, 8589748511, 8589879583, + 8590010701, 8590141789, 8590272863, 8590403971, 8590535089, 8590666169, 8590797253, + 8590928341, 8591059417, 8591190511, 8591321587, 8591452711, 8591583787, 8591714867, + 8591845949, 8591977049, 8592108121, 8592239203, 8592370277, 8592501349, 8592632429, + 8592763511, 8592894593, 8593025681, 8593156763, 8593287839, 8593418923, 8593550011, + 8593681121, 8593812211, 8593943291, 8594074367, 8594205463, 8594336537, 8594467627, + 8594598703, 8594729807, 8594860889, 8594991989, 8595123079, 8595254159, 8595385237, + 8595516313, 8595647387, 8595778501, 8595909587, 8596040659, 8596171733, 8596302823, + 8596433897, 8596565009, 8596696093, 8596827167, 8596958243, 8597089357, 8597220449, + 8597351527, 8597482601, 8597613683, 8597744759, 8597875837, 8598006917, 8598138013, + 8598269093, 8598400193, 8598531313, 8598662431, 8598793519, 8598924611, 8599055687, + 8599186759, 8599317851, 8599448941, 8599580021, 8599711111, 8599842193, 8599973273, + 8600104397, 8600235473, 8600366557, 8600497643, 8600628721, 8600759801, 8600890919, + 8601021991, 8601153091, 8601284213, 8601415301, 8601546379, 8601677489, 8601808603, + 8601939679, 8602070767, 8602201877, 8602332961, 8602464053, 8602595159, 8602726241, + 8602857313, 8602988389, 8603119463, 8603250547, 8603381681, 8603512769, 8603643857, + 8603774941, 8603906039, 8604037111, 8604168211, 8604299293, 8604430369, 8604561451, + 8604692531, 8604823603, 8604954689, 8605085771, 8605216883, 8605348027, 8605479121, + 8605610213, 8605741321, 8605872421, 8606003501, 8606134591, 8606265667, 8606396753, + 8606527837, 8606658989, 8606790079, 8606921179, 8607052253, 8607183373, 8607314453, + 8607445621, 8607576701, 8607707851, 8607838927, 8607970001, 8608101077, 8608232153, + 8608363241, 8608494319, 8608625407, 8608756487, 8608887559, 8609018641, 8609149721, + 8609280793, 8609411887, 8609542993, 8609674069, 8609805163, 8609936267, 8610067339, + 8610198431, 8610329587, 8610460669, 8610591757, 8610722873, 8610853961, 8610985037, + 8611116113, 8611247221, 8611378313, 8611509481, 8611640621, 8611771811, 8611902883, + 8612034091, 8612165183, 8612296291, 8612427449, 8612558531, 8612689619, 8612820691, + 8612951777, 8613082867, 8613213953, 8613345047, 8613476119, 8613607199, 8613738277, + 8613869351, 8614000459, 8614131553, 8614262639, 8614393721, 8614524803, 8614655893, + 8614786991, 8614918097, 8615049173, 8615180269, 8615311343, 8615442481, 8615573567, + 8615704673, 8615835763, 8615966857, 8616097939, 8616229033, 8616360113, 8616491209, + 8616622331, 8616753407, 8616884489, 8617015571, 8617146649, 8617277737, 8617408837, + 8617539913, 8617671017, 8617802107, 8617933183, 8618064271, 8618195347, 8618326421, + 8618457493, 8618588567, 8618719649, 8618850761, 8618981857, 8619112961, 8619244079, + 8619375151, 8619506299, 8619637373, 8619768499, 8619899581, 8620030667, 8620161751, + 8620292827, 8620423919, 8620554991, 8620686083, 8620817159, 8620948241, 8621079319, + 8621210407, 8621341483, 8621472569, 8621603677, 8621734763, 8621865871, 8621996953, + 8622128029, 8622259103, 8622390187, 8622521269, 8622652343, 8622783439, 8622914519, + 8623045603, 8623176677, 8623307753, 8623438849, 8623569937, 8623701071, 8623832149, + 8623963273, 8624094359, 8624225453, 8624356549, 8624487631, 8624618741, 8624749817, + 8624880911, 8625012001, 8625143143, 8625274253, 8625405343, 8625536431, 8625667543, + 8625798631, 8625929717, 8626060811, 8626191943, 8626323031, 8626454117, 8626585193, + 8626716277, 8626847357, 8626978429, 8627109523, 8627240647, 8627371757, 8627502841, + 8627633921, 8627765009, 8627896087, 8628027173, 8628158293, 8628289379, 8628420457, + 8628551531, 8628682613, 8628813703, 8628944827, 8629075933, 8629207043, 8629338119, + 8629469207, 8629600283, 8629731367, 8629862443, 8629993531, 8630124623, 8630255731, + 8630386813, 8630517901, 8630648987, 8630780069, 8630911141, 8631042229, 8631173303, + 8631304391, 8631435467, 8631566543, 8631697639, 8631828719, 8631959801, 8632090897, + 8632222021, 8632353127, 8632484209, 8632615307, 8632746401, 8632877479, 8633008567, + 8633139667, 8633270783, 8633401859, 8633532983, 8633664131, 8633795227, 8633926303, + 8634057433, 8634188527, 8634319607, 8634450817, 8634581897, 8634712979, 8634844079, + 8634975161, 8635106239, 8635237343, 8635368439, 8635499519, 8635630667, 8635761749, + 8635892843, 8636023931, 8636155027, 8636286103, 8636417201, 8636548289, 8636679413, + 8636810489, 8636941661, 8637072793, 8637203881, 8637335059, 8637466151, 8637597259, + 8637728381, 8637859481, 8637990601, 8638121761, 8638252871, 8638383947, 8638515113, + 8638646189, 8638777283, 8638908359, 8639039441, 8639170513, 8639301701, 8639432783, + 8639563861, 8639694937, 8639826059, 8639957189, 8640088273, 8640219361, 8640350441, + 8640481519, 8640612613, 8640743687, 8640874819, 8641005913, 8641137019, 8641268159, + 8641399231, 8641530323, 8641661417, 8641792501, 8641923583, 8642054657, 8642185729, + 8642316811, 8642447899, 8642578979, 8642710057, 8642841161, 8642972237, 8643103321, + 8643234407, 8643365503, 8643496613, 8643627689, 8643758771, 8643889871, 8644020961, + 8644152037, 8644283147, 8644414237, 8644545323, 8644676419, 8644807537, 8644938613, + 8645069689, 8645200789, 8645331869, 8645462941, 8645594017, 8645725189, 8645856313, + 8645987387, 8646118487, 8646249569, 8646380641, 8646511781, 8646642859, 8646773957, + 8646905063, 8647036159, 8647167241, 8647298347, 8647429421, 8647560499, 8647691573, + 8647822717, 8647953803, 8648084899, 8648215973, 8648347051, 8648478133, 8648609209, + 8648740307, 8648871379, 8649002459, 8649133589, 8649264691, 8649395819, 8649526931, + 8649658009, 8649789089, 8649920197, 8650051271, 8650182349, 8650313423, 8650444499, + 8650575581, 8650706681, 8650837801, 8650968899, 8651099983, 8651231059, 8651362147, + 8651493229, 8651624321, 8651755423, 8651886497, 8652017599, 8652148711, 8652279809, + 8652410909, 8652541987, 8652673061, 8652804161, 8652935267, 8653066339, 8653197419, + 8653328527, 8653459637, 8653590713, 8653721789, 8653852927, 8653984007, 8654115089, + 8654246191, 8654377301, 8654508403, 8654639561, 8654770637, 8654901713, 8655032791, + 8655163901, 8655295001, 8655426107, 8655557203, 8655688303, 8655819397, 8655950477, + 8656081583, 8656212659, 8656343743, 8656474829, 8656605929, 8656737013, 8656868107, + 8656999193, 8657130299, 8657261377, 8657392501, 8657523593, 8657654713, 8657785813, + 8657916901, 8658047977, 8658179063, 8658310147, 8658441221, 8658572309, 8658703387, + 8658834493, 8658965569, 8659096681, 8659227767, 8659358857, 8659489933, 8659621039, + 8659752119, 8659883257, 8660014333, 8660145407, 8660276491, 8660407583, 8660538673, + 8660669747, 8660800823, 8660931913, 8661063007, 8661194123, 8661325213, 8661456301, + 8661587447, 8661718523, 8661849607, 8661980729, 8662111807, 8662242889, 8662373977, + 8662505087, 8662636201, 8662767293, 8662898417, 8663029489, 8663160617, 8663291719, + 8663422829, 8663553917, 8663685029, 8663816173, 8663947247, 8664078439, 8664209539, + 8664340627, 8664471743, 8664602819, 8664733897, 8664864979, 8664996061, 8665127143, + 8665258249, 8665389347, 8665520419, 8665651493, 8665782571, 8665913653, 8666044769, + 8666175841, 8666306917, 8666437993, 8666569103, 8666700187, 8666831263, 8666962393, + 8667093499, 8667224603, 8667355687, 8667486769, 8667617869, 8667748963, 8667880037, + 8668011113, 8668142243, 8668273321, 8668404449, 8668535597, 8668666681, 8668797757, + 8668928833, 8669059913, 8669191007, 8669322097, 8669453203, 8669584283, 8669715359, + 8669846441, 8669977597, 8670108677, 8670239759, 8670370853, 8670501929, 8670633019, + 8670764093, 8670895183, 8671026269, 8671157351, 8671288459, 8671419553, 8671550627, + 8671681699, 8671812827, 8671943909, 8672074987, 8672206063, 8672337173, 8672468257, + 8672599361, 8672730457, 8672861563, 8672992703, 8673123799, 8673254873, 8673385949, + 8673517031, 8673648103, 8673779227, 8673910337, 8674041421, 8674172537, 8674303619, + 8674434721, 8674565819, 8674696907, 8674827979, 8674959091, 8675090201, 8675221273, + 8675352377, 8675483473, 8675614579, 8675745697, 8675876819, 8676007891, 8676139037, + 8676270137, 8676401213, 8676532289, 8676663383, 8676794491, 8676925603, 8677056709, + 8677187797, 8677318907, 8677450007, 8677581091, 8677712191, 8677843271, 8677974373, + 8678105473, 8678236549, 8678367647, 8678498743, 8678629879, 8678760991, 8678892127, + 8679023219, 8679154303, 8679285379, 8679416479, 8679547561, 8679678649, 8679809783, + 8679940939, 8680072039, 8680203187, 8680334263, 8680465337, 8680596413, 8680727519, + 8680858603, 8680989697, 8681120801, 8681251883, 8681382973, 8681514047, 8681645149, + 8681776289, 8681907391, 8682038503, 8682169583, 8682300661, 8682431773, 8682562877, + 8682693953, 8682825071, 8682956143, 8683087219, 8683218293, 8683349377, 8683480489, + 8683611623, 8683742707, 8683873789, 8684004869, 8684135969, 8684267069, 8684398147, + 8684529229, 8684660351, 8684791433, 8684922527, 8685053599, 8685184681, 8685315773, + 8685446849, 8685577961, 8685709063, 8685840143, 8685971219, 8686102309, 8686233433, + 8686364507, 8686495591, 8686626671, 8686757743, 8686888919, 8687019997, 8687151073, + 8687282147, 8687413277, 8687544367, 8687675509, 8687806591, 8687937667, 8688068749, + 8688199867, 8688330943, 8688462043, 8688593129, 8688724201, 8688855283, 8688986359, + 8689117453, 8689248527, 8689379623, 8689510727, 8689641823, 8689772929, 8689904033, + 8690035147, 8690166239, 8690297327, 8690428457, 8690559539, 8690690621, 8690821693, + 8690952769, 8691083861, 8691214993, 8691346123, 8691477203, 8691608329, 8691739423, + 8691870497, 8692001603, 8692132693, 8692263791, 8692394891, 8692525993, 8692657093, + 8692788253, 8692919363, 8693050439, 8693181547, 8693312647, 8693443741, 8693574823, + 8693705903, 8693837003, 8693968097, 8694099181, 8694230263, 8694361349, 8694492437, + 8694623527, 8694754681, 8694885757, 8695016879, 8695147957, 8695279037, 8695410109, + 8695541209, 8695672283, 8695803367, 8695934447, 8696065523, 8696196623, 8696327699, + 8696458787, 8696589859, 8696720933, 8696852009, 8696983109, 8697114191, 8697245267, + 8697376357, 8697507473, 8697638557, 8697769637, 8697900709, 8698031803, 8698162877, + 8698293953, 8698425041, 8698556131, 8698687213, 8698818313, 8698949411, 8699080499, + 8699211643, 8699342719, 8699473799, 8699604877, 8699735951, 8699867051, 8699998123, + 8700129197, 8700260273, 8700391367, 8700522443, 8700653519, 8700784613, 8700915697, + 8701046779, 8701177931, 8701309051, 8701440149, 8701571267, 8701702381, 8701833479, + 8701964561, 8702095669, 8702226763, 8702357893, 8702488979, 8702620051, 8702751131, + 8702882203, 8703013279, 8703144353, 8703275453, 8703406559, 8703537631, 8703668711, + 8703799787, 8703930889, 8704061987, 8704193077, 8704324151, 8704455223, 8704586353, + 8704717429, 8704848557, 8704979663, 8705110753, 8705241847, 8705372939, 8705504023, + 8705635121, 8705766217, 8705897293, 8706028369, 8706159481, 8706290603, 8706421681, + 8706552763, 8706683857, 8706814943, 8706946019, 8707077121, 8707208197, 8707339283, + 8707470383, 8707601477, 8707732567, 8707863649, 8707994731, 8708125817, 8708256911, + 8708388049, 8708519167, 8708650259, 8708781343, 8708912417, 8709043489, 8709174569, + 8709305641, 8709436717, 8709567809, 8709698897, 8709829969, 8709961049, 8710092121, + 8710223201, 8710354291, 8710485389, 8710616461, 8710747559, 8710878637, 8711009711, + 8711140813, 8711271911, 8711402989, 8711534063, 8711665153, 8711796241, 8711927363, + 8712058447, 8712189547, 8712320647, 8712451733, 8712582817, 8712713963, 8712845039, + 8712976121, 8713107199, 8713238279, 8713369351, 8713500427, 8713631513, 8713762591, + 8713893701, 8714024797, 8714155897, 8714286979, 8714418071, 8714549147, 8714680231, + 8714811307, 8714942471, 8715073583, 8715204661, 8715335737, 8715466813, 8715597899, + 8715728981, 8715860077, 8715991177, 8716122253, 8716253327, 8716384403, 8716515527, + 8716646669, 8716777753, 8716908829, 8717039909, 8717170991, 8717302117, 8717433191, + 8717564263, 8717695367, 8717826451, 8717957537, 8718088619, 8718219709, 8718350801, + 8718481883, 8718612961, 8718744101, 8718875233, 8719006321, 8719137409, 8719268489, + 8719399561, 8719530641, 8719661719, 8719792801, 8719923889, 8720054963, 8720186053, + 8720317141, 8720448223, 8720579317, 8720710403, 8720841511, 8720972593, 8721103679, + 8721234833, 8721365927, 8721497009, 8721628093, 8721759217, 8721890293, 8722021367, + 8722152443, 8722283519, 8722414601, 8722545703, 8722676827, 8722807903, 8722938979, + 8723070101, 8723201183, 8723332271, 8723463361, 8723594437, 8723725519, 8723856613, + 8723987707, 8724118787, 8724249871, 8724380957, 8724512033, 8724643121, 8724774209, + 8724905311, 8725036387, 8725167481, 8725298563, 8725429649, 8725560751, 8725691837, + 8725822939, 8725954037, 8726085133, 8726216209, 8726347319, 8726478407, 8726609483, + 8726740637, 8726871733, 8727002813, 8727133901, 8727265013, 8727396101, 8727527189, + 8727658267, 8727789373, 8727920473, 8728051547, 8728182637, 8728313729, 8728444811, + 8728575899, 8728706999, 8728838099, 8728969187, 8729100299, 8729231411, 8729362493, + 8729493587, 8729624671, 8729755747, 8729886857, 8730017941, 8730149023, 8730280123, + 8730411197, 8730542297, 8730673381, 8730804469, 8730935569, 8731066651, 8731197743, + 8731328833, 8731459963, 8731591049, 8731722127, 8731853203, 8731984321, 8732115401, + 8732246473, 8732377559, 8732508641, 8732639731, 8732770807, 8732901893, 8733032969, + 8733164059, 8733295133, 8733426211, 8733557297, 8733688393, 8733819487, 8733950569, + 8734081669, 8734212787, 8734343881, 8734474981, 8734606057, 8734737161, 8734868249, + 8734999337, 8735130413, 8735261501, 8735392573, 8735523683, 8735654779, 8735785879, + 8735916953, 8736048037, 8736179131, 8736310237, 8736441323, 8736572431, 8736703537, + 8736834629, 8736965723, 8737096847, 8737227973, 8737359077, 8737490149, 8737621231, + 8737752313, 8737883393, 8738014469, 8738145569, 8738276647, 8738407729, 8738538811, + 8738669917, 8738801009, 8738932109, 8739063217, 8739194323, 8739325409, 8739456493, + 8739587569, 8739718693, 8739849791, 8739980881, 8740111957, 8740243069, 8740374157, + 8740505233, 8740636319, 8740767403, 8740898501, 8741029573, 8741160661, 8741291771, + 8741422847, 8741553937, 8741685019, 8741816099, 8741947183, 8742078259, 8742209341, + 8742340433, 8742471559, 8742602633, 8742733763, 8742864841, 8742995917, 8743126993, + 8743258067, 8743389209, 8743520297, 8743651393, 8743782503, 8743913597, 8744044691, + 8744175773, 8744306899, 8744437979, 8744569061, 8744700143, 8744831243, 8744962339, + 8745093421, 8745224549, 8745355621, 8745486713, 8745617789, 8745748883, 8745879997, + 8746011103, 8746142183, 8746273259, 8746404343, 8746535477, 8746666589, 8746797671, + 8746928753, 8747059831, 8747190937, 8747322019, 8747453107, 8747584199, 8747715331, + 8747846423, 8747977519, 8748108619, 8748239701, 8748370801, 8748501893, 8748632999, + 8748764117, 8748895193, 8749026287, 8749157359, 8749288447, 8749419583, 8749550657, + 8749681757, 8749812859, 8749943941, 8750075021, 8750206111, 8750337187, 8750468267, + 8750599357, 8750730449, 8750861531, 8750992637, 8751123727, 8751254801, 8751385913, + 8751517001, 8751648089, 8751779161, 8751910253, 8752041329, 8752172431, 8752303513, + 8752434589, 8752565671, 8752696753, 8752827829, 8752959029, 8753090131, 8753221223, + 8753352313, 8753483393, 8753614489, 8753745599, 8753876683, 8754007771, 8754138919, + 8754269999, 8754401077, 8754532183, 8754663263, 8754794353, 8754925427, 8755056521, + 8755187657, 8755318739, 8755449811, 8755580929, 8755712003, 8755843079, 8755974209, + 8756105287, 8756236373, 8756367461, 8756498561, 8756629649, 8756760737, 8756891831, + 8757022907, 8757153989, 8757285071, 8757416147, 8757547231, 8757678323, 8757809399, + 8757940487, 8758071571, 8758202669, 8758333747, 8758464823, 8758595897, 8758726979, + 8758858063, 8758989163, 8759120243, 8759251331, 8759382473, 8759513549, 8759644637, + 8759775721, 8759906803, 8760037889, 8760168979, 8760300067, 8760431159, 8760562249, + 8760693349, 8760824431, 8760955529, 8761086601, 8761217683, 8761348793, 8761479931, + 8761611013, 8761742123, 8761873217, 8762004301, 8762135381, 8762266489, 8762397619, + 8762528701, 8762659777, 8762790851, 8762921953, 8763053077, 8763184153, 8763315229, + 8763446333, 8763577439, 8763708517, 8763839599, 8763970727, 8764101839, 8764232959, + 8764364053, 8764495127, 8764626251, 8764757327, 8764888411, 8765019533, 8765150609, + 8765281687, 8765412763, 8765543837, 8765674933, 8765806031, 8765937119, 8766068191, + 8766199279, 8766330367, 8766461447, 8766592567, 8766723643, 8766854737, 8766985817, + 8767116899, 8767247989, 8767379081, 8767510159, 8767641277, 8767772381, 8767903489, + 8768034607, 8768165711, 8768296819, 8768427919, 8768559017, 8768690089, 8768821163, + 8768952271, 8769083371, 8769214469, 8769345547, 8769476627, 8769607723, 8769738821, + 8769869923, 8770000997, 8770132109, 8770263191, 8770394263, 8770525349, 8770656421, + 8770787503, 8770918589, 8771049673, 8771180773, 8771311847, 8771442931, 8771574023, + 8771705143, 8771836217, 8771967307, 8772098389, 8772229511, 8772360593, 8772491669, + 8772622741, 8772753851, 8772884957, 8773016059, 8773147151, 8773278223, 8773409321, + 8773540393, 8773671499, 8773802599, 8773933697, 8774064787, 8774195867, 8774326973, + 8774458079, 8774589179, 8774720263, 8774851387, 8774982467, 8775113563, 8775244661, + 8775375779, 8775506851, 8775637933, 8775769033, 8775900149, 8776031249, 8776162327, + 8776293419, 8776424497, 8776555573, 8776686671, 8776817747, 8776948847, 8777079967, + 8777211043, 8777342173, 8777473267, 8777604343, 8777735419, 8777866501, 8777997589, + 8778128683, 8778259781, 8778390877, 8778521963, 8778653047, 8778784123, 8778915221, + 8779046329, 8779177471, 8779308583, 8779439657, 8779570739, 8779701863, 8779832951, + 8779964029, 8780095127, 8780226229, 8780357329, 8780488433, 8780619539, 8780750623, + 8780881717, 8781012803, 8781143947, 8781275071, 8781406147, 8781537227, 8781668309, + 8781799387, 8781930467, 8782061581, 8782192663, 8782323751, 8782454831, 8782585909, + 8782717001, 8782848119, 8782979201, 8783110291, 8783241407, 8783372513, 8783503669, + 8783634751, 8783765827, 8783896907, 8784027979, 8784159061, 8784290257, 8784421333, + 8784552479, 8784683569, 8784814681, 8784945769, 8785076921, 8785208021, 8785339093, + 8785470179, 8785601281, 8785732363, 8785863439, 8785994531, 8786125681, 8786256767, + 8786387887, 8786518967, 8786650043, 8786781169, 8786912243, 8787043333, 8787174439, + 8787305521, 8787436631, 8787567713, 8787698791, 8787829867, 8787960947, 8788092029, + 8788223107, 8788354199, 8788485317, 8788616399, 8788747481, 8788878557, 8789009629, + 8789140727, 8789271817, 8789402903, 8789533979, 8789665051, 8789796139, 8789927249, + 8790058379, 8790189467, 8790320549, 8790451639, 8790582719, 8790713797, 8790844883, + 8790975989, 8791107071, 8791238161, 8791369243, 8791500323, 8791631423, 8791762547, + 8791893637, 8792024711, 8792155787, 8792286863, 8792417971, 8792549053, 8792680187, + 8792811259, 8792942363, 8793073439, 8793204527, 8793335647, 8793466723, 8793597823, + 8793728947, 8793860029, 8793991139, 8794122257, 8794253381, 8794384519, 8794515601, + 8794646713, 8794777799, 8794908907, 8795039983, 8795171059, 8795302147, 8795433223, + 8795564333, 8795695411, 8795826493, 8795957567, 8796088663, 8796219739, 8796350831, + 8796481913, 8796612997, 8796744071, 8796875183, 8797006291, 8797137379, 8797268497, + 8797399571, 8797530647, 8797661723, 8797792811, 8797923949, 8798055023, 8798186101, + 8798317183, 8798448257, 8798579329, 8798710409, 8798841517, 8798972639, 8799103727, + 8799234827, 8799365947, 8799497029, 8799628109, 8799759191, 8799890263, 8800021357, + 8800152443, 8800283533, 8800414631, 8800545731, 8800676839, 8800807919, 8800939019, + 8801070137, 8801201209, 8801332307, 8801463379, 8801594497, 8801725573, 8801856677, + 8801987749, 8802118823, 8802249913, 8802381011, 8802512083, 8802643189, 8802774269, + 8802905351, 8803036447, 8803167547, 8803298659, 8803429793, 8803560907, 8803691987, + 8803823059, 8803954139, 8804085229, 8804216329, 8804347411, 8804478521, 8804609629, + 8804740727, 8804871851, 8805002923, 8805134029, 8805265121, 8805396217, 8805527323, + 8805658427, 8805789521, 8805920603, 8806051703, 8806182809, 8806313891, 8806444987, + 8806576061, 8806707139, 8806838269, 8806969361, 8807100473, 8807231551, 8807362639, + 8807493733, 8807624821, 8807755921, 8807887001, 8808018101, 8808149183, 8808280303, + 8808411383, 8808542467, 8808673541, 8808804629, 8808935717, 8809066793, 8809197889, + 8809328971, 8809460053, 8809591171, 8809722247, 8809853321, 8809984397, 8810115481, + 8810246573, 8810377663, 8810508781, 8810639863, 8810770939, 8810902013, 8811033089, + 8811164183, 8811295267, 8811426341, 8811557423, 8811688499, 8811819613, 8811950699, + 8812081823, 8812212917, 8812344011, 8812475141, 8812606219, 8812737313, 8812868431, + 8812999513, 8813130617, 8813261689, 8813392781, 8813523857, 8813654951, 8813786057, + 8813917129, 8814048223, 8814179299, 8814310391, 8814441497, 8814572579, 8814703673, + 8814834757, 8814965837, 8815096919, 8815227997, 8815359079, 8815490153, 8815621261, + 8815752389, 8815883467, 8816014553, 8816145643, 8816276719, 8816407793, 8816538877, + 8816669951, 8816801053, 8816932127, 8817063217, 8817194297, 8817325399, 8817456481, + 8817587567, 8817718643, 8817849737, 8817980813, 8818111909, 8818243013, 8818374091, + 8818505173, 8818636291, 8818767421, 8818898497, 8819029577, 8819160653, 8819291737, + 8819422811, 8819553889, 8819684971, 8819816077, 8819947151, 8820078251, 8820209351, + 8820340489, 8820471563, 8820602641, 8820733729, 8820864827, 8820995899, 8821127047, + 8821258133, 8821389221, 8821520293, 8821651387, 8821782491, 8821913609, 8822044681, + 8822175763, 8822306851, 8822437999, 8822569073, 8822700151, 8822831239, 8822962319, + 8823093407, 8823224483, 8823355621, 8823486697, 8823617837, 8823748919, 8823879997, + 8824011073, 8824142147, 8824273247, 8824404331, 8824535441, 8824666517, 8824797677, + 8824928773, 8825059853, 8825190929, 8825322007, 8825453081, 8825584199, 8825715287, + 8825846423, 8825977529, 8826108623, 8826239711, 8826370793, 8826501869, 8826632981, + 8826764087, 8826895171, 8827026259, 8827157387, 8827288493, 8827419641, 8827550723, + 8827681801, 8827812883, 8827943959, 8828075033, 8828206109, 8828337187, 8828468279, + 8828599387, 8828730461, 8828861563, 8828992643, 8829123727, 8829254807, 8829385883, + 8829516991, 8829648077, 8829779159, 8829910231, 8830041313, 8830172389, 8830303519, + 8830434601, 8830565677, 8830696753, 8830827853, 8830958953, 8831090057, 8831221153, + 8831352319, 8831483407, 8831614481, 8831745583, 8831876671, 8832007783, 8832138857, + 8832269977, 8832401077, 8832532153, 8832663227, 8832794323, 8832925397, 8833056481, + 8833187639, 8833318721, 8833449797, 8833580963, 8833712053, 8833843163, 8833974239, + 8834105333, 8834236417, 8834367499, 8834498573, 8834629669, 8834760743, 8834891839, + 8835022919, 8835154021, 8835285103, 8835416197, 8835547289, 8835678421, 8835809519, + 8835940601, 8836071697, 8836202783, 8836333871, 8836464953, 8836596047, 8836727129, + 8836858211, 8836989307, 8837120389, 8837251463, 8837382539, 8837513617, 8837644721, + 8837775797, 8837906879, 8838037963, 8838169051, 8838300131, 8838431249, 8838562351, + 8838693439, 8838824551, 8838955633, 8839086719, 8839217819, 8839348909, 8839480043, + 8839611149, 8839742257, 8839873363, 8840004451, 8840135527, 8840266607, 8840397701, + 8840528803, 8840659879, 8840790961, 8840922037, 8841053149, 8841184223, 8841315323, + 8841446401, 8841577519, 8841708607, 8841839693, 8841970789, 8842101881, 8842232983, + 8842364101, 8842495213, 8842626319, 8842757393, 8842888489, 8843019587, 8843150683, + 8843281763, 8843412863, 8843543957, 8843675033, 8843806133, 8843937211, 8844068297, + 8844199373, 8844330497, 8844461569, 8844592699, 8844723781, 8844854897, 8844985973, + 8845117049, 8845248149, 8845379251, 8845510337, 8845641437, 8845772513, 8845903589, + 8846034679, 8846165759, 8846296841, 8846427913, 8846558989, 8846690119, 8846821201, + 8846952293, 8847083383, 8847214457, 8847345541, 8847476623, 8847607723, 8847738811, + 8847869893, 8848000981, 8848132067, 8848263157, 8848394293, 8848525379, 8848656463, + 8848787573, 8848918651, 8849049733, 8849180917, 8849312027, 8849443103, 8849574191, + 8849705303, 8849836381, 8849967499, 8850098573, 8850229651, 8850360751, 8850491827, + 8850622903, 8850754001, 8850885077, 8851016159, 8851147237, 8851278311, 8851409449, + 8851540541, 8851671623, 8851802741, 8851933817, 8852064913, 8852195993, 8852327083, + 8852458157, 8852589259, 8852720341, 8852851421, 8852982497, 8853113569, 8853244643, + 8853375827, 8853506923, 8853638011, 8853769123, 8853900221, 8854031297, 8854162397, + 8854293491, 8854424603, 8854555681, 8854686769, 8854817857, 8854948951, 8855080043, + 8855211137, 8855342227, 8855473309, 8855604409, 8855735521, 8855866609, 8855997719, + 8856128797, 8856259877, 8856390967, 8856522043, 8856653119, 8856784193, 8856915269, + 8857046383, 8857177489, 8857308619, 8857439693, 8857570789, 8857701887, 8857832969, + 8857964051, 8858095139, 8858226229, 8858357309, 8858488391, 8858619463, 8858750539, + 8858881627, 8859012703, 8859143789, 8859274871, 8859405977, 8859537059, 8859668227, + 8859799301, 8859930377, 8860061459, 8860192543, 8860323617, 8860454717, 8860585817, + 8860716947, 8860848043, 8860979143, 8861110217, 8861241289, 8861372393, 8861503477, + 8861634553, 8861765629, 8861896721, 8862027833, 8862158909, 8862289991, 8862421063, + 8862552161, 8862683233, 8862814313, 8862945397, 8863076479, 8863207559, 8863338647, + 8863469737, 8863600819, 8863731967, 8863863089, 8863994177, 8864125267, 8864256361, + 8864387449, 8864518583, 8864649707, 8864780789, 8864911901, 8865043007, 8865174091, + 8865305179, 8865436253, 8865567341, 8865698467, 8865829541, 8865960613, 8866091743, + 8866222853, 8866353959, 8866485127, 8866616221, 8866747297, 8866878413, 8867009497, + 8867140589, 8867271661, 8867402741, 8867533813, 8867664889, 8867795971, 8867927099, + 8868058187, 8868189283, 8868320389, 8868451499, 8868582599, 8868713671, 8868844819, + 8868975893, 8869106989, 8869238083, 8869369163, 8869500271, 8869631363, 8869762441, + 8869893523, 8870024629, 8870155727, 8870286823, 8870417911, 8870548987, 8870680073, + 8870811203, 8870942287, 8871073397, 8871204499, 8871335597, 8871466691, 8871597767, + 8871728869, 8871860027, 8871991103, 8872122199, 8872253279, 8872384363, 8872515439, + 8872646537, 8872777609, 8872908703, 8873039831, 8873170903, 8873302007, 8873433091, + 8873564173, 8873695247, 8873826389, 8873957473, 8874088591, 8874219701, 8874350789, + 8874481877, 8874612959, 8874744037, 8874875131, 8875006211, 8875137289, 8875268393, + 8875399469, 8875530563, 8875661693, 8875792777, 8875923851, 8876054927, 8876186057, + 8876317139, 8876448223, 8876579303, 8876710379, 8876841503, 8876972581, 8877103661, + 8877234763, 8877365837, 8877496933, 8877628009, 8877759097, 8877890191, 8878021267, + 8878152407, 8878283483, 8878414561, 8878545653, 8878676749, 8878807831, 8878938919, + 8879070017, 8879201101, 8879332211, 8879463419, 8879594491, 8879725577, 8879856649, + 8879987737, 8880118823, 8880249899, 8880380981, 8880512057, 8880643153, 8880774239, + 8880905329, 8881036441, 8881167521, 8881298653, 8881429729, 8881560817, 8881691933, + 8881823039, 8881954127, 8882085221, 8882216323, 8882347423, 8882478499, 8882609581, + 8882740661, 8882871743, 8883002827, 8883134003, 8883265081, 8883396161, 8883527239, + 8883658331, 8883789419, 8883920491, 8884051613, 8884182689, 8884313773, 8884444861, + 8884575943, 8884707017, 8884838099, 8884969189, 8885100281, 8885231353, 8885362441, + 8885493517, 8885624599, 8885755691, 8885886767, 8886017843, 8886148927, 8886280009, + 8886411091, 8886542191, 8886673273, 8886804373, 8886935501, 8887066583, 8887197659, + 8887328759, 8887459837, 8887590919, 8887722007, 8887853083, 8887984159, 8888115251, + 8888246351, 8888377447, 8888508521, 8888639647, 8888770721, 8888901797, 8889032869, + 8889163979, 8889295091, 8889426197, 8889557273, 8889688349, 8889819437, 8889950549, + 8890081633, 8890212707, 8890343807, 8890474907, 8890606061, 8890737133, 8890868219, + 8890999321, 8891130421, 8891261513, 8891392597, 8891523691, 8891654797, 8891785871, + 8891916967, 8892048041, 8892179161, 8892310247, 8892441331, 8892572419, 8892703499, + 8892834583, 8892965657, 8893096747, 8893227829, 8893358983, 8893490129, 8893621259, + 8893752379, 8893883459, 8894014541, 8894145649, 8894276731, 8894407829, 8894538911, + 8894669983, 8894801057, 8894932133, 8895063241, 8895194323, 8895325423, 8895456497, + 8895587573, 8895718649, 8895849733, 8895980839, 8896111933, 8896243007, 8896374083, + 8896505183, 8896636267, 8896767343, 8896898441, 8897029513, 8897160593, 8897291699, + 8897422777, 8897553883, 8897684959, 8897816093, 8897947199, 8898078281, 8898209363, + 8898340523, 8898471641, 8898602717, 8898733801, 8898864881, 8898995953, 8899127057, + 8899258129, 8899389223, 8899520297, 8899651379, 8899782461, 8899913599, 8900044679, + 8900175769, 8900306851, 8900437933, 8900569021, 8900700181, 8900831263, 8900962339, + 8901093413, 8901224491, 8901355577, 8901486689, 8901617779, 8901748883, 8901879971, + 8902011047, 8902142189, 8902273267, 8902404341, 8902535417, 8902666519, 8902797619, + 8902928693, 8903059793, 8903190869, 8903321963, 8903453047, 8903584141, 8903715217, + 8903846309, 8903977393, 8904108511, 8904239593, 8904370681, 8904501761, 8904632881, + 8904764009, 8904895081, 8905026157, 8905157267, 8905288339, 8905419437, 8905550587, + 8905681667, 8905812743, 8905943843, 8906074921, 8906206003, 8906337091, 8906468203, + 8906599283, 8906730359, 8906861471, 8906992553, 8907123629, 8907254723, 8907385813, + 8907516899, 8907647971, 8907779047, 8907910147, 8908041281, 8908172419, 8908303517, + 8908434607, 8908565713, 8908696829, 8908828001, 8908959097, 8909090191, 8909221291, + 8909352371, 8909483447, 8909614529, 8909745671, 8909876753, 8910007831, 8910138929, + 8910270007, 8910401189, 8910532297, 8910663379, 8910794483, 8910925579, 8911056659, + 8911187749, 8911318831, 8911449907, 8911580981, 8911712123, 8911843217, 8911974299, + 8912105393, 8912236481, 8912367553, 8912498627, 8912629699, 8912760809, 8912891899, + 8913023003, 8913154093, 8913285179, 8913416261, 8913547333, 8913678407, 8913809497, + 8913940577, 8914071713, 8914202789, 8914333871, 8914464961, 8914596049, 8914727123, + 8914858217, 8914989289, 8915120377, 8915251453, 8915382527, 8915513617, 8915644691, + 8915775773, 8915906861, 8916037967, 8916169051, 8916300139, 8916431239, 8916562337, + 8916693497, 8916824591, 8916955669, 8917086769, 8917217843, 8917348943, 8917480021, + 8917611113, 8917742201, 8917873297, 8918004371, 8918135531, 8918266661, 8918397743, + 8918528819, 8918659903, 8918790989, 8918922079, 8919053161, 8919184243, 8919315343, + 8919446467, 8919577543, 8919708619, 8919839707, 8919970819, 8920101899, 8920232987, + 8920364071, 8920495169, 8920626263, 8920757347, 8920888517, 8921019589, 8921150677, + 8921281757, 8921412859, 8921543941, 8921675041, 8921806121, 8921937209, 8922068321, + 8922199393, 8922330467, 8922461591, 8922592691, 8922723763, 8922854851, 8922985949, + 8923117051, 8923248143, 8923379243, 8923510331, 8923641457, 8923772537, 8923903627, + 8924034737, 8924165813, 8924296921, 8924428091, 8924559187, 8924690309, 8924821429, + 8924952503, 8925083581, 8925214673, 8925345791, 8925476863, 8925607961, 8925739111, + 8925870197, 8926001269, 8926132381, 8926263487, 8926394563, 8926525637, 8926656719, + 8926787809, 8926918919, 8927050001, 8927181077, 8927312197, 8927443309, 8927574427, + 8927705509, 8927836613, 8927967689, 8928098791, 8928229867, 8928360949, 8928492031, + 8928623129, 8928754201, 8928885283, 8929016359, 8929147441, 8929278517, 8929409609, + 8929540687, 8929671763, 8929802839, 8929933913, 8930065007, 8930196089, 8930327179, + 8930458267, 8930589401, 8930720479, 8930851619, 8930982701, 8931113801, 8931244877, + 8931375989, 8931507119, 8931638203, 8931769279, 8931900371, 8932031453, 8932162531, + 8932293611, 8932424687, 8932555787, 8932686863, 8932817939, 8932949023, 8933080129, + 8933211223, 8933342371, 8933473487, 8933604569, 8933735683, 8933866763, 8933997857, + 8934128939, 8934260039, 8934391111, 8934522187, 8934653281, 8934784379, 8934915469, + 8935046557, 8935177649, 8935308763, 8935439867, 8935570939, 8935702019, 8935833107, + 8935964183, 8936095261, 8936226391, 8936357489, 8936488567, 8936619641, 8936750737, + 8936881871, 8937012947, 8937144053, 8937275131, 8937406207, 8937537283, 8937668393, + 8937799489, 8937930569, 8938061647, 8938192723, 8938323811, 8938454887, 8938585969, + 8938717057, 8938848143, 8938979237, 8939110387, 8939241473, 8939372549, 8939503631, + 8939634731, 8939765869, 8939896949, 8940028039, 8940159113, 8940290221, 8940421361, + 8940552443, 8940683527, 8940814621, 8940945709, 8941076801, 8941207883, 8941338961, + 8941470077, 8941601167, 8941732321, 8941863421, 8941994539, 8942125649, 8942256731, + 8942387827, 8942518913, 8942650043, 8942781131, 8942912213, 8943043297, 8943174389, + 8943305477, 8943436549, 8943567623, 8943698707, 8943829781, 8943960871, 8944091951, + 8944223047, 8944354151, 8944485223, 8944616309, 8944747423, 8944878497, 8945009627, + 8945140709, 8945271781, 8945402881, 8945533991, 8945665097, 8945796173, 8945927281, + 8946058361, 8946189437, 8946320521, 8946451597, 8946582713, 8946713833, 8946844927, + 8946976013, 8947107101, 8947238173, 8947369253, 8947500377, 8947631461, 8947762547, + 8947893673, 8948024777, 8948155861, 8948286937, 8948418013, 8948549101, 8948680187, + 8948811259, 8948942333, 8949073409, 8949204599, 8949335671, 8949466763, 8949597857, + 8949729037, 8949860141, 8949991231, 8950122343, 8950253489, 8950384567, 8950515767, + 8950646867, 8950777939, 8950909021, 8951040113, 8951171191, 8951302273, 8951433371, + 8951564509, 8951695609, 8951826683, 8951957797, 8952088897, 8952219973, 8952351053, + 8952482153, 8952613279, 8952744371, 8952875453, 8953006571, 8953137671, 8953268783, + 8953399907, 8953531003, 8953662083, 8953793171, 8953924253, 8954055343, 8954186429, + 8954317513, 8954448593, 8954579671, 8954710759, 8954841839, 8954972941, 8955104071, + 8955235151, 8955366253, 8955497333, 8955628411, 8955759487, 8955890563, 8956021637, + 8956152713, 8956283797, 8956414871, 8956545967, 8956677097, 8956808227, 8956939301, + 8957070379, 8957201471, 8957332547, 8957463631, 8957594719, 8957725793, 8957856911, + 8957987989, 8958119101, 8958250183, 8958381283, 8958512357, 8958643433, 8958774523, + 8958905609, 8959036721, 8959167839, 8959298917, 8959430023, 8959561099, 8959692197, + 8959823291, 8959954387, 8960085479, 8960216561, 8960347633, 8960478707, 8960609783, + 8960740861, 8960871937, 8961003047, 8961134131, 8961265211, 8961396287, 8961527363, + 8961658471, 8961789623, 8961920711, 8962051783, 8962182857, 8962313999, 8962445071, + 8962576151, 8962707239, 8962838317, 8962969391, 8963100521, 8963231597, 8963362679, + 8963493779, 8963624893, 8963755981, 8963887061, 8964018139, 8964149231, 8964280309, + 8964411397, 8964542471, 8964673547, 8964804623, 8964935701, 8965066777, 8965197851, + 8965328927, 8965459999, 8965591099, 8965722173, 8965853251, 8965984373, 8966115451, + 8966246551, 8966377633, 8966508773, 8966639849, 8966770927, 8966902001, 8967033121, + 8967164201, 8967295283, 8967426427, 8967557527, 8967688619, 8967819701, 8967950773, + 8968081847, 8968212919, 8968344001, 8968475081, 8968606183, 8968737329, 8968868407, + 8968999493, 8969130673, 8969261753, 8969392837, 8969523917, 8969654989, 8969786069, + 8969917169, 8970048253, 8970179329, 8970310429, 8970441503, 8970572591, 8970703663, + 8970834767, 8970965863, 8971096961, 8971228033, 8971359127, 8971490249, 8971621349, + 8971752437, 8971883509, 8972014589, 8972145671, 8972276743, 8972407823, 8972538907, + 8972669999, 8972801191, 8972932289, 8973063401, 8973194509, 8973325619, 8973456691, + 8973587789, 8973718861, 8973849979, 8973981053, 8974112131, 8974243211, 8974374349, + 8974505459, 8974636589, 8974767671, 8974898749, 8975029837, 8975160911, 8975292013, + 8975423089, 8975554163, 8975685239, 8975816327, 8975947411, 8976078533, 8976209617, + 8976340691, 8976471787, 8976602867, 8976733949, 8976865033, 8976996107, 8977127189, + 8977258291, 8977389373, 8977520491, 8977651589, 8977782661, 8977913759, 8978044861, + 8978175961, 8978307067, 8978438173, 8978569253, 8978700329, 8978831431, 8978962523, + 8979093619, 8979224701, 8979355829, 8979486917, 8979618073, 8979749147, 8979880219, + 8980011301, 8980142393, 8980273507, 8980404583, 8980535699, 8980666771, 8980797871, + 8980928951, 8981060027, 8981191099, 8981322179, 8981453267, 8981584357, 8981715433, + 8981846509, 8981977583, 8982108689, 8982239809, 8982370889, 8982501967, 8982633041, + 8982764129, 8982895211, 8983026307, 8983157389, 8983288463, 8983419539, 8983550621, + 8983681723, 8983812841, 8983943929, 8984075029, 8984206103, 8984337181, 8984468281, + 8984599361, 8984730463, 8984861563, 8984992637, 8985123709, 8985254801, 8985385889, + 8985516971, 8985648079, 8985779171, 8985910249, 8986041409, 8986172521, 8986303597, + 8986434671, 8986565747, 8986696841, 8986827953, 8986959041, 8987090113, 8987221193, + 8987352289, 8987483399, 8987614499, 8987745583, 8987876669, 8988007771, 8988138877, + 8988269957, 8988401029, 8988532117, 8988663209, 8988794281, 8988925417, 8989056491, + 8989187569, 8989318673, 8989449757, 8989580867, 8989711987, 8989843063, 8989974151, + 8990105237, 8990236427, 8990367509, 8990498639, 8990629717, 8990760791, 8990891863, + 8991022973, 8991154049, 8991285131, 8991416249, 8991547337, 8991678457, 8991809531, + 8991940609, 8992071773, 8992202867, 8992333951, 8992465033, 8992596113, 8992727209, + 8992858291, 8992989367, 8993120519, 8993251601, 8993382709, 8993513801, 8993644883, + 8993775977, 8993907071, 8994038161, 8994169237, 8994300319, 8994431393, 8994562477, + 8994693551, 8994824651, 8994955729, 8995086811, 8995217887, 8995348979, 8995480051, + 8995611143, 8995742233, 8995873331, 8996004443, 8996135539, 8996266633, 8996397713, + 8996528791, 8996659873, 8996791009, 8996922113, 8997053201, 8997184297, 8997315377, + 8997446461, 8997577541, 8997708637, 8997839749, 8997970867, 8998101949, 8998233043, + 8998364131, 8998495223, 8998626317, 8998757413, 8998888501, 8999019697, 8999150777, + 8999281873, 8999412953, 8999544053, 8999675137, 8999806223, 8999937311, 9000068387, + 9000199459, 9000330569, 9000461641, 9000592747, 9000723829, 9000854911, 9000985993, + 9001117079, 9001248173, 9001379251, 9001510327, 9001641401, 9001772477, 9001903549, + 9002034637, 9002165719, 9002296799, 9002427883, 9002558989, 9002690077, 9002821169, + 9002952251, 9003083381, 9003214469, 9003345541, 9003476617, 9003607721, 9003738811, + 9003869911, 9004001147, 9004132223, 9004263311, 9004394417, 9004525489, 9004656587, + 9004787689, 9004918763, 9005049847, 9005180941, 9005312021, 9005443093, 9005574241, + 9005705321, 9005836409, 9005967521, 9006098599, 9006229679, 9006360751, 9006491843, + 9006622943, 9006754049, 9006885131, 9007016203, 9007147283, 9007278407, 9007409513, + 9007540603, 9007671679, 9007802759, 9007933843, 9008065013, 9008196103, 9008327179, + 9008458301, 9008589409, 9008720509, 9008851583, 9008982709, 9009113783, 9009244859, + 9009375941, 9009507019, 9009638107, 9009769187, 9009900269, 9010031347, 9010162451, + 9010293541, 9010424617, 9010555709, 9010686887, 9010818017, 9010949089, 9011080241, + 9011211317, 9011342413, 9011473487, 9011604577, 9011735653, 9011866727, 9011997871, + 9012128953, 9012260027, 9012391117, 9012522203, 9012653347, 9012784427, 9012915521, + 9013046597, 9013177711, 9013308853, 9013439951, 9013571027, 9013702111, 9013833209, + 9013964291, 9014095403, 9014226479, 9014357567, 9014488723, 9014619799, 9014750971, + 9014882059, 9015013141, 9015144221, 9015275371, 9015406627, 9015537709, 9015668819, + 9015799943, 9015931019, 9016062091, 9016193167, 9016324259, 9016455407, 9016586489, + 9016717631, 9016848721, 9016979819, 9017110933, 9017242021, 9017373109, 9017504219, + 9017635331, 9017766449, 9017897543, 9018028633, 9018159707, 9018290783, 9018421873, + 9018552971, 9018684071, 9018815161, 9018946247, 9019077323, 9019208411, 9019339489, + 9019470571, 9019601659, 9019732769, 9019863857, 9019994933, 9020126047, 9020257157, + 9020388319, 9020519411, 9020650487, 9020781571, 9020912689, 9021043771, 9021174847, + 9021305929, 9021437011, 9021568121, 9021699199, 9021830299, 9021961381, 9022092463, + 9022223543, 9022354657, 9022485743, 9022616821, 9022747897, 9022878971, 9023010067, + 9023141147, 9023272241, 9023403341, 9023534417, 9023665489, 9023796611, 9023927687, + 9024058811, 9024189887, 9024320993, 9024452113, 9024583187, 9024714331, 9024845407, + 9024976483, 9025107557, 9025238671, 9025369799, 9025500871, 9025631983, 9025763113, + 9025894193, 9026025341, 9026156431, 9026287531, 9026418613, 9026549689, 9026680769, + 9026811847, 9026942923, 9027074009, 9027205087, 9027336169, 9027467249, 9027598331, + 9027729427, 9027860509, 9027991639, 9028122713, 9028253803, 9028384909, 9028516019, + 9028647119, 9028778237, 9028909313, 9029040389, 9029171467, 9029302553, 9029433641, + 9029564737, 9029695819, 9029826917, 9029958013, 9030089111, 9030220247, 9030351347, + 9030482437, 9030613513, 9030744599, 9030875681, 9031006753, 9031137839, 9031268923, + 9031399997, 9031531111, 9031662317, 9031793413, 9031924519, 9032055629, 9032186729, + 9032317807, 9032448883, 9032579977, 9032711053, 9032842127, 9032973199, 9033104273, + 9033235361, 9033366467, 9033497563, 9033628661, 9033759743, 9033890837, 9034021921, + 9034153043, 9034284167, 9034415263, 9034546363, 9034677439, 9034808513, 9034939597, + 9035070673, 9035201761, 9035332853, 9035463971, 9035595067, 9035726177, 9035857261, + 9035988341, 9036119419, 9036250493, 9036381593, 9036512671, 9036643753, 9036774833, + 9036905959, 9037037041, 9037168139, 9037299223, 9037430317, 9037561397, 9037692497, + 9037823657, 9037954741, 9038085841, 9038216917, 9038348023, 9038479111, 9038610211, + 9038741287, 9038872361, 9039003439, 9039134543, 9039265657, 9039396761, 9039527843, + 9039658987, 9039790127, 9039921217, 9040052291, 9040183367, 9040314461, 9040445543, + 9040576631, 9040707733, 9040838813, 9040969909, 9041101063, 9041232149, 9041363267, + 9041494391, 9041625479, 9041756557, 9041887643, 9042018749, 9042149903, 9042280981, + 9042412087, 9042543161, 9042674233, 9042805313, 9042936389, 9043067479, 9043198553, + 9043329667, 9043460747, 9043591819, 9043722971, 9043854047, 9043985173, 9044116247, + 9044247337, 9044378419, 9044509553, 9044640629, 9044771719, 9044902813, 9045033887, + 9045164969, 9045296059, 9045427169, 9045558241, 9045689327, 9045820403, 9045951479, + 9046082561, 9046213639, 9046344719, 9046475843, 9046606949, 9046738049, 9046869173, + 9047000267, 9047131339, 9047262421, 9047393497, 9047524573, 9047655647, 9047786729, + 9047917807, 9048048887, 9048179971, 9048311053, 9048442127, 9048573223, 9048704311, + 9048835391, 9048966463, 9049097537, 9049228609, 9049359701, 9049490797, 9049621871, + 9049752947, 9049884029, 9050015129, 9050146213, 9050277287, 9050408369, 9050539447, + 9050670527, 9050801623, 9050932717, 9051063797, 9051194909, 9051326003, 9051457117, + 9051588269, 9051719401, 9051850499, 9051981623, 9052112731, 9052243819, 9052374893, + 9052506019, 9052637117, 9052768189, 9052899269, 9053030351, 9053161433, 9053292509, + 9053423591, 9053554723, 9053685829, 9053816903, 9053947993, 9054079081, 9054210169, + 9054341269, 9054472367, 9054603443, 9054734519, 9054865627, 9054996721, 9055127819, + 9055258897, 9055390087, 9055521191, 9055652267, 9055783357, 9055914481, 9056045561, + 9056176639, 9056307731, 9056438803, 9056569897, 9056700973, 9056832067, 9056963147, + 9057094223, 9057225319, 9057356393, 9057487493, 9057618571, 9057749677, 9057880829, + 9058011901, 9058142981, 9058274083, 9058405163, 9058536247, 9058667357, 9058798429, + 9058929559, 9059060639, 9059191747, 9059322859, 9059453951, 9059585057, 9059716147, + 9059847241, 9059978327, 9060109441, 9060240521, 9060371627, 9060502721, 9060633809, + 9060764887, 9060895967, 9061027043, 9061158143, 9061289227, 9061420327, 9061551413, + 9061682503, 9061813699, 9061944779, 9062075851, 9062206939, 9062338027, 9062469113, + 9062600191, 9062731267, 9062862349, 9062993449, 9063124537, 9063255613, 9063386687, + 9063517759, 9063648857, 9063779929, 9063911011, 9064042123, 9064173199, 9064304279, + 9064435351, 9064566449, 9064697527, 9064828607, 9064959749, 9065090833, 9065221931, + 9065353021, 9065484097, 9065615171, 9065746243, 9065877349, 9066008447, 9066139531, + 9066270659, 9066401737, 9066532823, 9066663901, 9066795007, 9066926107, 9067057189, + 9067188269, 9067319351, 9067450477, 9067581563, 9067712669, 9067843747, 9067974833, + 9068105947, 9068237021, 9068368109, 9068499197, 9068630269, 9068761357, 9068892449, + 9069023531, 9069154603, 9069285677, 9069416771, 9069547843, 9069678923, 9069810031, + 9069941113, 9070072229, 9070203301, 9070334389, 9070465463, 9070596541, 9070727629, + 9070858711, 9070989799, 9071120897, 9071251979, 9071383093, 9071514173, 9071645251, + 9071776361, 9071907491, 9072038579, 9072169661, 9072300817, 9072431899, 9072562987, + 9072694073, 9072825173, 9072956261, 9073087343, 9073218419, 9073349491, 9073480579, + 9073611653, 9073742791, 9073873867, 9074004941, 9074136013, 9074267093, 9074398187, + 9074529311, 9074660383, 9074791459, 9074922539, 9075053629, 9075184709, 9075315787, + 9075446867, 9075577939, 9075709031, 9075840113, 9075971197, 9076102279, 9076233391, + 9076364471, 9076495553, 9076626631, 9076757707, 9076888787, 9077019881, 9077150959, + 9077282033, 9077413123, 9077544209, 9077675371, 9077806447, 9077937527, 9078068599, + 9078199679, 9078330761, 9078461851, 9078592961, 9078724087, 9078855161, 9078986233, + 9079117321, 9079248433, 9079379579, 9079510717, 9079641797, 9079772881, 9079903957, + 9080035033, 9080166119, 9080297197, 9080428303, 9080559409, 9080690503, 9080821583, + 9080952689, 9081083807, 9081214903, 9081346067, 9081477161, 9081608243, 9081739321, + 9081870403, 9082001497, 9082132597, 9082263679, 9082394753, 9082525841, 9082656917, + 9082788007, 9082919107, 9083050231, 9083181323, 9083312411, 9083443513, 9083574601, + 9083705689, 9083836841, 9083967931, 9084099007, 9084230081, 9084361163, 9084492251, + 9084623341, 9084754421, 9084885499, 9085016617, 9085147733, 9085278809, 9085409887, + 9085540969, 9085672051, 9085803149, 9085934251, 9086065349, 9086196421, 9086327507, + 9086458603, 9086589679, 9086720767, 9086851841, 9086982923, 9087114067, 9087245173, + 9087376253, 9087507349, 9087638449, 9087769589, 9087900677, 9088031789, 9088162877, + 9088293953, 9088425041, 9088556117, 9088687193, 9088818287, 9088949369, 9089080471, + 9089211557, 9089342651, 9089473727, 9089604817, 9089735891, 9089866967, 9089998079, + 9090129203, 9090260303, 9090391391, 9090522503, 9090653591, 9090784673, 9090915787, + 9091046903, 9091177999, 9091309133, 9091440223, 9091571297, 9091702379, 9091833497, + 9091964573, 9092095667, 9092226743, 9092357819, 9092489023, 9092620127, 9092751259, + 9092882341, 9093013421, 9093144493, 9093275567, 9093406681, 9093537809, 9093668887, + 9093800017, 9093931097, 9094062199, 9094193287, 9094324373, 9094455449, 9094586537, + 9094717673, 9094848767, 9094979867, 9095110949, 9095242021, 9095373107, 9095504263, + 9095635337, 9095766409, 9095897501, 9096028577, 9096159697, 9096290783, 9096421871, + 9096552973, 9096684059, 9096815171, 9096946273, 9097077371, 9097208489, 9097339567, + 9097470647, 9097601741, 9097732873, 9097863953, 9097995029, 9098126129, 9098257229, + 9098388311, 9098519383, 9098650513, 9098781631, 9098912729, 9099043831, 9099174961, + 9099306037, 9099437141, 9099568213, 9099699337, 9099830419, 9099961513, 9100092587, + 9100223663, 9100354829, 9100485929, 9100617011, 9100748099, 9100879171, 9101010257, + 9101141333, 9101272409, 9101403527, 9101534627, 9101665711, 9101796853, 9101927953, + 9102059027, 9102190109, 9102321187, 9102452279, 9102583387, 9102714463, 9102845617, + 9102976691, 9103107787, 9103238867, 9103369963, 9103501049, 9103632137, 9103763219, + 9103894321, 9104025397, 9104156513, 9104287603, 9104418677, 9104549759, 9104680859, + 9104811931, 9104943041, 9105074141, 9105205223, 9105336311, 9105467383, 9105598459, + 9105729551, 9105860629, 9105991703, 9106122787, 9106253903, 9106385003, 9106516093, + 9106647181, 9106778257, 9106909349, 9107040421, 9107171543, 9107302619, 9107433691, + 9107564779, 9107695859, 9107826977, 9107958059, 9108089149, 9108220223, 9108351299, + 9108482389, 9108613483, 9108744607, 9108875683, 9109006763, 9109137857, 9109268939, + 9109400011, 9109531103, 9109662179, 9109793279, 9109924363, 9110055439, 9110186521, + 9110317613, 9110448689, 9110579771, 9110710859, 9110841941, 9110973017, 9111104129, + 9111235223, 9111366317, 9111497389, 9111628541, 9111759623, 9111890701, 9112021813, + 9112152913, 9112284073, 9112415161, 9112546237, 9112677311, 9112808387, 9112939469, + 9113070553, 9113201641, 9113332721, 9113463797, 9113594869, 9113725967, 9113857043, + 9113988131, 9114119221, 9114250309, 9114381389, 9114512467, 9114643553, 9114774631, + 9114905707, 9115036783, 9115167871, 9115298977, 9115430059, 9115561157, 9115692233, + 9115823369, 9115954447, 9116085551, 9116216633, 9116347711, 9116478827, 9116609989, + 9116741069, 9116872147, 9117003239, 9117134311, 9117265429, 9117396517, 9117527591, + 9117658681, 9117789773, 9117920873, 9118051967, 9118183099, 9118314173, 9118445291, + 9118576403, 9118707511, 9118838593, 9118969723, 9119100799, 9119231873, 9119362981, + 9119494063, 9119625139, 9119756231, 9119887333, 9120018431, 9120149531, 9120280639, + 9120411847, 9120542923, 9120673997, 9120805097, 9120936173, 9121067279, 9121198351, + 9121329431, 9121460521, 9121591613, 9121722703, 9121853779, 9121984889, 9122115971, + 9122247049, 9122378137, 9122509217, 9122640301, 9122771407, 9122902483, 9123033583, + 9123164671, 9123295763, 9123426841, 9123557941, 9123689083, 9123820169, 9123951257, + 9124082329, 9124213403, 9124344571, 9124475651, 9124606739, 9124737851, 9124868927, + 9125000041, 9125131117, 9125262191, 9125393269, 9125524361, 9125655463, 9125786543, + 9125917631, 9126048719, 9126179801, 9126310873, 9126441967, 9126573041, 9126704149, + 9126835259, 9126966337, 9127097423, 9127228501, 9127359613, 9127490707, 9127621813, + 9127752917, 9127884019, 9128015161, 9128146273, 9128277383, 9128408477, 9128539559, + 9128670667, 9128801749, 9128932861, 9129063947, 9129195043, 9129326117, 9129457247, + 9129588323, 9129719399, 9129850489, 9129981643, 9130112737, 9130243861, 9130374971, + 9130506071, 9130637161, 9130768279, 9130899389, 9131030471, 9131161573, 9131292647, + 9131423723, 9131554807, 9131685887, 9131816999, 9131948107, 9132079219, 9132210301, + 9132341381, 9132472501, 9132603577, 9132734657, 9132865739, 9132996839, 9133127951, + 9133259063, 9133390141, 9133521223, 9133652299, 9133783397, 9133914469, 9134045551, + 9134176697, 9134307797, 9134438909, 9134569993, 9134701111, 9134832221, 9134963297, + 9135094387, 9135225481, 9135356561, 9135487661, 9135618743, 9135749827, 9135880931, + 9136012009, 9136143089, 9136274171, 9136405259, 9136536341, 9136667429, 9136798501, + 9136929617, 9137060693, 9137191771, 9137322863, 9137453939, 9137585027, 9137716139, + 9137847221, 9137978293, 9138109367, 9138240457, 9138371533, 9138502619, 9138633719, + 9138764813, 9138895897, 9139026971, 9139158047, 9139289141, 9139420243, 9139551349, + 9139682437, 9139813559, 9139944637, 9140075713, 9140206819, 9140337893, 9140468969, + 9140600057, 9140731133, 9140862259, 9140993333, 9141124453, 9141255527, 9141386599, + 9141517673, 9141648751, 9141779831, 9141910919, 9142041991, 9142173077, 9142304161, + 9142435259, 9142566379, 9142697479, 9142828559, 9142959641, 9143090717, 9143221793, + 9143352871, 9143483957, 9143615051, 9143746133, 9143877269, 9144008359, 9144139453, + 9144270529, 9144401611, 9144532687, 9144663799, 9144794881, 9144925987, 9145057073, + 9145188149, 9145319231, 9145450319, 9145581421, 9145712501, 9145843573, 9145974683, + 9146105797, 9146236889, 9146367977, 9146499059, 9146630137, 9146761219, 9146892301, + 9147023407, 9147154481, 9147285571, 9147416659, 9147547751, 9147678823, 9147809897, + 9147940981, 9148072061, 9148203133, 9148334269, 9148465343, 9148596439, 9148727513, + 9148858619, 9148989727, 9149120887, 9149251961, 9149383037, 9149514109, 9149645201, + 9149776297, 9149907383, 9150038467, 9150169657, 9150300743, 9150431827, 9150562909, + 9150693983, 9150825157, 9150956239, 9151087313, 9151218389, 9151349489, 9151480577, + 9151611719, 9151742797, 9151873879, 9152004959, 9152136041, 9152267123, 9152398201, + 9152529283, 9152660371, 9152791523, 9152922599, 9153053687, 9153184771, 9153315863, + 9153446957, 9153578029, 9153709127, 9153840229, 9153971303, 9154102379, 9154233463, + 9154364543, 9154495633, 9154626731, 9154757809, 9154888891, 9155019971, 9155151053, + 9155282131, 9155413217, 9155544313, 9155675411, 9155806483, 9155937577, 9156068653, + 9156199771, 9156330877, 9156461983, 9156593113, 9156724249, 9156855359, 9156986441, + 9157117523, 9157248613, 9157379687, 9157510771, 9157641847, 9157772927, 9157903999, + 9158035079, 9158166161, 9158297263, 9158428337, 9158559409, 9158690501, 9158821619, + 9158952707, 9159083797, 9159215017, 9159346099, 9159477179, 9159608267, 9159739339, + 9159870427, 9160001507, 9160132601, 9160263691, 9160394809, 9160525919, 9160656991, + 9160788139, 9160919227, 9161050313, 9161181397, 9161312477, 9161443553, 9161574629, + 9161705719, 9161836799, 9161967901, 9162098987, 9162230083, 9162361199, 9162492271, + 9162623347, 9162754423, 9162885497, 9163016593, 9163147667, 9163278743, 9163409831, + 9163540907, 9163672003, 9163803101, 9163934173, 9164065291, 9164196403, 9164327489, + 9164458571, 9164589649, 9164720749, 9164851841, 9164982913, 9165114029, 9165245113, + 9165376211, 9165507289, 9165638407, 9165769489, 9165900577, 9166031713, 9166162813, + 9166293887, 9166424959, 9166556051, 9166687183, 9166818263, 9166949381, 9167080477, + 9167211583, 9167342663, 9167473741, 9167604839, 9167735959, 9167867039, 9167998129, + 9168129211, 9168260287, 9168391361, 9168522437, 9168653521, 9168784621, 9168915751, + 9169046827, 9169177937, 9169309013, 9169440131, 9169571221, 9169702331, 9169833457, + 9169964567, 9170095643, 9170226721, 9170357797, 9170488883, 9170619967, 9170751053, + 9170882131, 9171013213, 9171144287, 9171275371, 9171406477, 9171537589, 9171668677, + 9171799807, 9171930881, 9172061959, 9172193083, 9172324207, 9172455301, 9172586399, + 9172717481, 9172848613, 9172979723, 9173110799, 9173241911, 9173373007, 9173504117, + 9173635213, 9173766311, 9173897387, 9174028459, 9174159539, 9174290611, 9174421687, + 9174552767, 9174683839, 9174814951, 9174946049, 9175077127, 9175208201, 9175339289, + 9175470413, 9175601489, 9175732561, 9175863647, 9175994731, 9176125811, 9176256911, + 9176387989, 9176519081, 9176650169, 9176781281, 9176912387, 9177043483, 9177174557, + 9177305629, 9177436721, 9177567803, 9177698923, 9177830009, 9177961099, 9178092191, + 9178223281, 9178354463, 9178485559, 9178616633, 9178747717, 9178878791, 9179009881, + 9179140969, 9179272051, 9179403127, 9179534261, 9179665343, 9179796427, 9179927507, + 9180058583, 9180189673, 9180320753, 9180451837, 9180582973, 9180714071, 9180845153, + 9180976229, 9181107307, 9181238431, 9181369543, 9181500637, 9181631713, 9181762823, + 9181893923, 9182025001, 9182156119, 9182287193, 9182418299, 9182549381, 9182680453, + 9182811527, 9182942603, 9183073717, 9183204809, 9183335881, 9183466961, 9183598051, + 9183729131, 9183860251, 9183991339, 9184122419, 9184253543, 9184384631, 9184515707, + 9184646803, 9184777907, 9184908989, 9185040061, 9185171173, 9185302277, 9185433377, + 9185564449, 9185695627, 9185826707, 9185957821, 9186088903, 9186219979, 9186351061, + 9186482143, 9186613283, 9186744401, 9186875507, 9187006603, 9187137683, 9187268777, + 9187399849, 9187530929, 9187662017, 9187793093, 9187924171, 9188055257, 9188186339, + 9188317421, 9188448497, 9188579629, 9188710711, 9188841817, 9188972909, 9189103981, + 9189235091, 9189366181, 9189497279, 9189628381, 9189759487, 9189890581, 9190021691, + 9190152779, 9190283873, 9190414963, 9190546039, 9190677163, 9190808293, 9190939391, + 9191070463, 9191201549, 9191332621, 9191463707, 9191594813, 9191725901, 9191856983, + 9191988097, 9192119191, 9192250273, 9192381347, 9192512449, 9192643531, 9192774673, + 9192905759, 9193036849, 9193167941, 9193299013, 9193430089, 9193561187, 9193692323, + 9193823399, 9193954481, 9194085553, 9194216659, 9194347739, 9194478833, 9194609909, + 9194740991, 9194872067, 9195003161, 9195134237, 9195265319, 9195396391, 9195527501, + 9195658583, 9195789721, 9195920803, 9196051901, 9196182977, 9196314053, 9196445147, + 9196576247, 9196707329, 9196838429, 9196969511, 9197100593, 9197231677, 9197362753, + 9197493853, 9197624941, 9197756021, 9197887121, 9198018211, 9198149321, 9198280417, + 9198411503, 9198542593, 9198673723, 9198804833, 9198935953, 9199067027, 9199198111, + 9199329193, 9199460267, 9199591351, 9199722451, 9199853527, 9199984603, 9200115703, + 9200246777, 9200377853, 9200508959, 9200640049, 9200771131, 9200902213, 9201033293, + 9201164377, 9201295459, 9201426539, 9201557611, 9201688697, 9201819793, 9201950867, + 9202081949, 9202213081, 9202344169, 9202475273, 9202606417, 9202737559, 9202868641, + 9202999717, 9203130791, 9203261869, 9203392943, 9203524069, 9203655161, 9203786239, + 9203917313, 9204048407, 9204179531, 9204310681, 9204441769, 9204572873, 9204703951, + 9204835039, 9204966139, 9205097261, 9205228339, 9205359421, 9205490507, 9205621603, + 9205752727, 9205883807, 9206014901, 9206145973, 9206277077, 9206408161, 9206539271, + 9206670371, 9206801467, 9206932541, 9207063623, 9207194707, 9207325789, 9207456889, + 9207587993, 9207719071, 9207850147, 9207981241, 9208112317, 9208243393, 9208374473, + 9208505557, 9208636649, 9208767721, 9208898801, 9209029873, 9209160953, 9209292041, + 9209423117, 9209554199, 9209685283, 9209816359, 9209947433, 9210078529, 9210209611, + 9210340691, 9210471779, 9210602857, 9210733957, 9210865043, 9210996143, 9211127243, + 9211258337, 9211389419, 9211520491, 9211651627, 9211782709, 9211913807, 9212044879, + 9212175967, 9212307059, 9212438161, 9212569237, 9212700313, 9212831387, 9212962481, + 9213093557, 9213224633, 9213355729, 9213486803, 9213617893, 9213748967, 9213880043, + 9214011127, 9214142209, 9214273339, 9214404457, 9214535567, 9214666661, 9214797733, + 9214928809, 9215059921, 9215191031, 9215322133, 9215453209, 9215584283, 9215715391, + 9215846467, 9215977549, 9216108623, 9216239713, 9216370789, 9216501863, 9216632947, + 9216764027, 9216895153, 9217026253, 9217157329, 9217288439, 9217419527, 9217550611, + 9217681703, 9217812797, 9217943909, 9218075011, 9218206091, 9218337169, 9218468243, + 9218599331, 9218730419, 9218861537, 9218992609, 9219123691, 9219254767, 9219385841, + 9219516913, 9219648059, 9219779131, 9219910223, 9220041329, 9220172443, 9220303559, + 9220434637, 9220565713, 9220696811, 9220827929, 9220959017, 9221090111, 9221221193, + 9221352281, 9221483353, 9221614439, 9221745517, 9221876591, 9222007673, 9222138769, + 9222269843, 9222400927, 9222532003, 9222663077, 9222794201, 9222925301, 9223056431, + 9223187507, 9223318609, 9223449691, 9223580777, 9223711853, 9223842931, 9223974007, + 9224105119, 9224236201, 9224367283, 9224498359, 9224629439, 9224760569, 9224891651, + 9225022733, 9225153811, 9225284897, 9225415999, 9225547087, 9225678199, 9225809273, + 9225940351, 9226071467, 9226202563, 9226333661, 9226464769, 9226595857, 9226726979, + 9226858057, 9226989151, 9227120249, 9227251337, 9227382413, 9227513573, 9227644681, + 9227775779, 9227906911, 9228037993, 9228169103, 9228300181, 9228431273, 9228562351, + 9228693437, 9228824509, 9228955609, 9229086703, 9229217779, 9229348871, 9229479953, + 9229611043, 9229742117, 9229873193, 9230004271, 9230135357, 9230266429, 9230397521, + 9230528653, 9230659733, 9230790823, 9230921911, 9231053009, 9231184111, 9231315239, + 9231446311, 9231577409, 9231708527, 9231839599, 9231970673, 9232101757, 9232232833, + 9232363909, 9232494983, 9232626059, 9232757141, 9232888243, 9233019317, 9233150389, + 9233281487, 9233412569, 9233543663, 9233674759, 9233805851, 9233936941, 9234068021, + 9234199099, 9234330179, 9234461261, 9234592333, 9234723409, 9234854501, 9234985597, + 9235116679, 9235247761, 9235378883, 9235509973, 9235641059, 9235772137, 9235903231, + 9236034323, 9236165429, 9236296513, 9236427601, 9236558699, 9236689789, 9236820863, + 9236951947, 9237083021, 9237214111, 9237345191, 9237476267, 9237607343, 9237738427, + 9237869561, 9238000633, 9238131709, 9238262797, 9238393891, 9238524973, 9238656067, + 9238787141, 9238918219, 9239049293, 9239180381, 9239311489, 9239442577, 9239573683, + 9239704757, 9239835889, 9239966963, 9240098041, 9240229121, 9240360197, 9240491303, + 9240622441, 9240753523, 9240884603, 9241015687, 9241146763, 9241277863, 9241408949, + 9241540057, 9241671137, 9241802221, 9241933307, 9242064389, 9242195471, 9242326543, + 9242457667, 9242588767, 9242719859, 9242850937, 9242982017, 9243113111, 9243244187, + 9243375259, 9243506347, 9243637421, 9243768593, 9243899681, 9244030769, 9244161877, + 9244292957, 9244424081, 9244555207, 9244686299, 9244817371, 9244948477, 9245079581, + 9245210699, 9245341801, 9245472881, 9245603953, 9245735041, 9245866151, 9245997317, + 9246128413, 9246259493, 9246390589, 9246521689, 9246652799, 9246783877, 9246914953, + 9247046033, 9247177111, 9247308193, 9247439287, 9247570361, 9247701439, 9247832521, + 9247963619, 9248094703, 9248225797, 9248356889, 9248488001, 9248619101, 9248750239, + 9248881333, 9249012449, 9249143543, 9249274621, 9249405707, 9249536789, 9249667877, + 9249798953, 9249930047, 9250061147, 9250192219, 9250323293, 9250454407, 9250585483, + 9250716557, 9250847647, 9250978721, 9251109797, 9251240917, 9251372027, 9251503109, + 9251634187, 9251765261, 9251896343, 9252027443, 9252158581, 9252289693, 9252420803, + 9252551879, 9252682961, 9252814057, 9252945137, 9253076221, 9253207373, 9253338461, + 9253469569, 9253600703, 9253731791, 9253862873, 9253993951, 9254125039, 9254256131, + 9254387213, 9254518387, 9254649463, 9254780543, 9254911651, 9255042751, 9255173833, + 9255304937, 9255436019, 9255567119, 9255698239, 9255829343, 9255960451, 9256091527, + 9256222667, 9256353739, 9256484813, 9256615897, 9256746973, 9256878047, 9257009129, + 9257140231, 9257271329, 9257402419, 9257533499, 9257664623, 9257795731, 9257926817, + 9258057889, 9258188977, 9258320063, 9258451183, 9258582259, 9258713339, 9258844411, + 9258975527, 9259106651, 9259237733, 9259368823, 9259499947, 9259631039, 9259762111, + 9259893193, 9260024269, 9260155439, 9260286571, 9260417659, 9260548733, 9260679809, + 9260810891, 9260941997, 9261073069, 9261204157, 9261335233, 9261466307, 9261597409, + 9261728549, 9261859667, 9261990767, 9262121857, 9262252931, 9262384031, 9262515103, + 9262646203, 9262777283, 9262908503, 9263039587, 9263170663, 9263301757, 9263432837, + 9263563919, 9263694991, 9263826073, 9263957147, 9264088219, 9264219299, 9264350371, + 9264481463, 9264612541, 9264743633, 9264874709, 9265005781, 9265136869, 9265267943, + 9265399019, 9265530107, 9265661179, 9265792267, 9265923353, 9266054429, 9266185549, + 9266316673, 9266447777, 9266578861, 9266709943, 9266841041, 9266972129, 9267103229, + 9267234331, 9267365407, 9267496489, 9267627623, 9267758707, 9267889781, 9268020859, + 9268151951, 9268283039, 9268414139, 9268545259, 9268676353, 9268807441, 9268938533, + 9269069627, 9269200729, 9269331817, 9269462897, 9269593987, 9269725081, 9269856157, + 9269987261, 9270118369, 9270249449, 9270380549, 9270511631, 9270642713, 9270773791, + 9270904873, 9271035947, 9271167019, 9271298093, 9271429169, 9271560253, 9271691329, + 9271822421, 9271953533, 9272084609, 9272215697, 9272346773, 9272477849, 9272608937, + 9272740021, 9272871109, 9273002183, 9273133273, 9273264349, 9273395431, 9273526513, + 9273657599, 9273788683, 9273919763, 9274050839, 9274181911, 9274313011, 9274444099, + 9274575197, 9274706279, 9274837357, 9274968433, 9275099563, 9275230637, 9275361713, + 9275492813, 9275623891, 9275754973, 9275886073, 9276017183, 9276148283, 9276279379, + 9276410477, 9276541559, 9276672637, 9276803771, 9276934859, 9277065947, 9277197031, + 9277328117, 9277459201, 9277590277, 9277721359, 9277852477, 9277983553, 9278114689, + 9278245787, 9278376883, 9278507969, 9278639077, 9278770181, 9278901283, 9279032401, + 9279163477, 9279294631, 9279425717, 9279556817, 9279687917, 9279819001, 9279950083, + 9280081157, 9280212233, 9280343323, 9280474409, 9280605511, 9280736623, 9280867703, + 9280998823, 9281129911, 9281260987, 9281392073, 9281523151, 9281654227, 9281785319, + 9281916421, 9282047503, 9282178579, 9282309691, 9282440777, 9282571853, 9282702941, + 9282834013, 9282965093, 9283096169, 9283227259, 9283358341, 9283489417, 9283620551, + 9283751627, 9283882711, 9284013811, 9284144893, 9284275967, 9284407063, 9284538139, + 9284669213, 9284800289, 9284931373, 9285062453, 9285193529, 9285324613, 9285455717, + 9285586799, 9285717887, 9285848969, 9285980059, 9286111171, 9286242253, 9286373363, + 9286504471, 9286635551, 9286766639, 9286897723, 9287028851, 9287159933, 9287291081, + 9287422163, 9287553251, 9287684323, 9287815417, 9287946511, 9288077593, 9288208697, + 9288339769, 9288470909, 9288601981, 9288733061, 9288864251, 9288995327, 9289126447, + 9289257541, 9289388639, 9289519717, 9289650793, 9289781909, 9289912993, 9290044069, + 9290175179, 9290306273, 9290437349, 9290568421, 9290699513, 9290830613, 9290961697, + 9291092771, 9291223913, 9291354997, 9291486079, 9291617191, 9291748289, 9291879383, + 9292010473, 9292141567, 9292272727, 9292403837, 9292534919, 9292665997, 9292797103, + 9292928179, 9293059271, 9293190353, 9293321461, 9293452573, 9293583671, 9293714779, + 9293845927, 9293977009, 9294108091, 9294239173, 9294370291, 9294501379, 9294632489, + 9294763579, 9294894659, 9295025737, 9295156831, 9295287913, 9295419013, 9295550107, + 9295681181, 9295812259, 9295943333, 9296074409, 9296205521, 9296336641, 9296467721, + 9296598803, 9296729891, 9296860997, 9296992073, 9297123151, 9297254243, 9297385327, + 9297516409, 9297647501, 9297778583, 9297909659, 9298040767, 9298171871, 9298302991, + 9298434137, 9298565219, 9298696301, 9298827379, 9298958497, 9299089577, 9299220709, + 9299351791, 9299482883, 9299614013, 9299745109, 9299876219, 9300007307, 9300138391, + 9300269467, 9300400567, 9300531679, 9300662771, 9300793877, 9300925019, 9301056097, + 9301187177, 9301318291, 9301449403, 9301580531, 9301711631, 9301842731, 9301973819, + 9302104891, 9302235977, 9302367097, 9302498201, 9302629321, 9302760403, 9302891497, + 9303022583, 9303153683, 9303284801, 9303415879, 9303546971, 9303678047, 9303809131, + 9303940207, 9304071281, 9304202377, 9304333463, 9304464539, 9304595611, 9304726709, + 9304857787, 9304988863, 9305119963, 9305251037, 9305382169, 9305513251, 9305644333, + 9305775419, 9305906527, 9306037619, 9306168691, 9306299771, 9306430873, 9306561959, + 9306693037, 9306824117, 9306955199, 9307086287, 9307217363, 9307348451, 9307479539, + 9307610633, 9307741747, 9307872841, 9308003941, 9308135021, 9308266103, 9308397181, + 9308528261, 9308659357, 9308790433, 9308921507, 9309052601, 9309183679, 9309314753, + 9309445843, 9309576917, 9309708013, 9309839087, 9309970171, 9310101263, 9310232339, + 9310363411, 9310494493, 9310625609, 9310756687, 9310887791, 9311018867, 9311149993, + 9311281069, 9311412163, 9311543239, 9311674319, 9311805409, 9311936497, 9312067603, + 9312198683, 9312329771, 9312460897, 9312591971, 9312723047, 9312854147, 9312985219, + 9313116359, 9313247441, 9313378517, 9313509593, 9313640671, 9313771751, 9313902859, + 9314033969, 9314165051, 9314296151, 9314427229, 9314558317, 9314689399, 9314820481, + 9314951557, 9315082649, 9315213749, 9315344827, 9315475909, 9315607019, 9315738101, + 9315869191, 9316000271, 9316131343, 9316262437, 9316393511, 9316524677, 9316655749, + 9316786867, 9316917977, 9317049073, 9317180221, 9317311301, 9317442391, 9317573467, + 9317704549, 9317835629, 9317966737, 9318097891, 9318228971, 9318360043, 9318491123, + 9318622213, 9318753313, 9318884411, 9319015523, 9319146611, 9319277761, 9319408849, + 9319539953, 9319671059, 9319802143, 9319933297, 9320064373, 9320195453, 9320326541, + 9320457617, 9320588689, 9320719769, 9320850863, 9320981941, 9321113017, 9321244091, + 9321375211, 9321506303, 9321637433, 9321768523, 9321899597, 9322030693, 9322161811, + 9322292891, 9322423987, 9322555079, 9322686193, 9322817269, 9322948351, 9323079431, + 9323210509, 9323341589, 9323472679, 9323603759, 9323734867, 9323865961, 9323997037, + 9324128123, 9324259199, 9324390281, 9324521359, 9324652451, 9324783529, 9324914611, + 9325045759, 9325176841, 9325307921, 9325438999, 9325570081, 9325701179, 9325832251, + 9325963327, 9326094419, 9326225501, 9326356573, 9326487659, 9326618789, 9326749867, + 9326880947, 9327012029, 9327143117, 9327274193, 9327405281, 9327536369, 9327667463, + 9327798569, 9327929641, 9328060733, 9328191827, 9328322959, 9328454033, 9328585127, + 9328716239, 9328847321, 9328978409, 9329109523, 9329240617, 9329371699, 9329502781, + 9329633869, 9329764979, 9329896057, 9330027131, 9330158203, 9330289291, 9330420391, + 9330551491, 9330682597, 9330813671, 9330944759, 9331075849, 9331206931, 9331338019, + 9331469093, 9331600171, 9331731263, 9331862357, 9331993453, 9332124533, 9332255663, + 9332386751, 9332517841, 9332648917, 9332780027, 9332911111, 9333042203, 9333173329, + 9333304429, 9333435509, 9333566591, 9333697669, 9333828787, 9333959863, 9334090937, + 9334222019, 9334353139, 9334484221, 9334615307, 9334746401, 9334877473, 9335008577, + 9335139661, 9335270743, 9335401847, 9335532977, 9335664049, 9335795137, 9335926211, + 9336057293, 9336188371, 9336319453, 9336450547, 9336581621, 9336712733, 9336843889, + 9336974981, 9337106111, 9337237303, 9337368407, 9337499519, 9337630591, 9337761691, + 9337892789, 9338023883, 9338154989, 9338286091, 9338417171, 9338548291, 9338679373, + 9338810501, 9338941589, 9339072703, 9339203831, 9339334913, 9339466027, 9339597103, + 9339728191, 9339859283, 9339990371, 9340121467, 9340252561, 9340383667, 9340514767, + 9340645859, 9340776931, 9340908007, 9341039083, 9341170169, 9341301247, 9341432369, + 9341563447, 9341694521, 9341825621, 9341956709, 9342087787, 9342218861, 9342349943, + 9342481037, 9342612161, 9342743233, 9342874319, 9343005391, 9343136497, 9343267597, + 9343398671, 9343529761, 9343660861, 9343791943, 9343923041, 9344054113, 9344185211, + 9344316307, 9344447389, 9344578469, 9344709547, 9344840633, 9344971763, 9345102881, + 9345234001, 9345365077, 9345496151, 9345627229, 9345758363, 9345889439, 9346020517, + 9346151603, 9346282697, 9346413781, 9346544863, 9346675957, 9346807049, 9346938121, + 9347069201, 9347200283, 9347331361, 9347462447, 9347593597, 9347724689, 9347855767, + 9347986847, 9348117959, 9348249037, 9348380123, 9348511213, 9348642293, 9348773381, + 9348904459, 9349035581, 9349166681, 9349297759, 9349428841, 9349559959, 9349691051, + 9349822123, 9349953203, 9350084287, 9350215363, 9350346457, 9350477551, 9350608633, + 9350739707, 9350870819, 9351001939, 9351133039, 9351264113, 9351395197, 9351526291, + 9351657373, 9351788447, 9351919541, 9352050613, 9352181687, 9352312763, 9352443857, + 9352574983, 9352706057, 9352837129, 9352968203, 9353099297, 9353230387, 9353361463, + 9353492549, 9353623627, 9353754763, 9353885867, 9354016951, 9354148049, 9354279131, + 9354410213, 9354541297, 9354672421, 9354803519, 9354934591, 9355065691, 9355196779, + 9355327867, 9355458943, 9355590067, 9355721171, 9355852271, 9355983349, 9356114429, + 9356245513, 9356376593, 9356507681, 9356638783, 9356769871, 9356900951, 9357032039, + 9357163133, 9357294223, 9357425321, 9357556421, 9357687503, 9357818579, 9357949723, + 9358080829, 9358211953, 9358343047, 9358474123, 9358605199, 9358736287, 9358867369, + 9358998443, 9359129543, 9359260643, 9359391793, 9359522897, 9359653969, 9359785051, + 9359916127, 9360047243, 9360178319, 9360309403, 9360440477, 9360571553, 9360702647, + 9360833747, 9360964829, 9361095901, 9361226989, 9361358077, 9361489169, 9361620259, + 9361751339, 9361882427, 9362013499, 9362144591, 9362275679, 9362406761, 9362537837, + 9362668921, 9362800001, 9362931077, 9363062161, 9363193243, 9363324343, 9363455441, + 9363586513, 9363717631, 9363848707, 9363979799, 9364110887, 9364241959, 9364373047, + 9364504139, 9364635211, 9364766329, 9364897417, 9365028499, 9365159581, 9365290679, + 9365421787, 9365552891, 9365683963, 9365815057, 9365946131, 9366077297, 9366208393, + 9366339491, 9366470563, 9366601661, 9366732761, 9366863833, 9366994933, 9367126009, + 9367257083, 9367388159, 9367519279, 9367650353, 9367781431, 9367912517, 9368043677, + 9368174773, 9368305853, 9368436937, 9368568023, 9368699101, 9368830217, 9368961317, + 9369092393, 9369223469, 9369354557, 9369485633, 9369616721, 9369747817, 9369878891, + 9370009963, 9370141091, 9370272167, 9370403249, 9370534321, 9370665449, 9370796537, + 9370927637, 9371058713, 9371189827, 9371320921, 9371452007, 9371583083, 9371714189, + 9371845277, 9371976353, 9372107449, 9372238537, 9372369641, 9372500729, 9372631819, + 9372762923, 9372894023, 9373025219, 9373156291, 9373287377, 9373418471, 9373549543, + 9373680691, 9373811779, 9373942867, 9374073953, 9374205053, 9374336141, 9374467229, + 9374598349, 9374729501, 9374860591, 9374991671, 9375122749, 9375253841, 9375384917, + 9375515993, 9375647081, 9375778157, 9375909229, 9376040329, 9376171439, 9376302527, + 9376433609, 9376564777, 9376695851, 9376826929, 9376958057, 9377089151, 9377220253, + 9377351327, 9377482409, 9377613493, 9377744573, 9377875669, 9378006749, 9378137837, + 9378268927, 9378400007, 9378531139, 9378662213, 9378793297, 9378924371, 9379055453, + 9379186559, 9379317671, 9379448761, 9379579841, 9379710919, 9379842047, 9379973177, + 9380104249, 9380235331, 9380366407, 9380497501, 9380628721, 9380759821, 9380890903, + 9381022009, 9381153121, 9381284221, 9381415333, 9381546409, 9381677489, 9381808567, + 9381939641, 9382070729, 9382201811, 9382332889, 9382464017, 9382595149, 9382726229, + 9382857373, 9382988453, 9383119637, 9383250743, 9383381827, 9383512913, 9383644013, + 9383775109, 9383906237, 9384037381, 9384168467, 9384299549, 9384430621, 9384561727, + 9384692809, 9384823891, 9384954967, 9385086071, 9385217161, 9385348307, 9385479379, + 9385610477, 9385741571, 9385872653, 9386003741, 9386134831, 9386265919, 9386396993, + 9386528077, 9386659171, 9386790263, 9386921351, 9387052439, 9387183521, 9387314639, + 9387445741, 9387576827, 9387707939, 9387839011, 9387970087, 9388101161, 9388232261, + 9388363357, 9388494433, 9388625527, 9388756633, 9388887719, 9389018797, 9389149871, + 9389280959, 9389412073, 9389543257, 9389674337, 9389805413, 9389936497, 9390067571, + 9390198683, 9390329771, 9390460897, 9390591983, 9390723103, 9390854191, 9390985273, + 9391116359, 9391247447, 9391378547, 9391509619, 9391640711, 9391771799, 9391902889, + 9392033971, 9392165047, 9392296213, 9392427293, 9392558393, 9392689483, 9392820571, + 9392951647, 9393082733, 9393213827, 9393344911, 9393475997, 9393607081, 9393738191, + 9393869281, 9394000367, 9394131451, 9394262533, 9394393709, 9394524781, 9394655857, + 9394786979, 9394918061, 9395049179, 9395180279, 9395311351, 9395442437, 9395573519, + 9395704597, 9395835679, 9395966791, 9396097877, 9396228949, 9396360041, 9396491147, + 9396622223, 9396753329, 9396884401, 9397015499, 9397146571, 9397277657, 9397408729, + 9397539911, 9397671047, 9397802129, 9397933211, 9398064301, 9398195377, 9398326453, + 9398457553, 9398588651, 9398719723, 9398850817, 9398981897, 9399112993, 9399244177, + 9399375269, 9399506383, 9399637517, 9399768641, 9399899797, 9400030883, 9400161959, + 9400293041, 9400424147, 9400555231, 9400686329, 9400817401, 9400948477, 9401079587, + 9401210669, 9401341757, 9401472841, 9401603927, 9401734999, 9401866081, 9401997191, + 9402128269, 9402259367, 9402390443, 9402521519, 9402652613, 9402783697, 9402914777, + 9403045853, 9403176947, 9403308023, 9403439113, 9403570219, 9403701299, 9403832401, + 9403963477, 9404094577, 9404225669, 9404356781, 9404487853, 9404618929, 9404750029, + 9404881103, 9405012247, 9405143327, 9405274423, 9405405509, 9405536627, 9405667709, + 9405798793, 9405929867, 9406060967, 9406192043, 9406323139, 9406454231, 9406585343, + 9406716463, 9406847543, 9406978649, 9407109763, 9407240891, 9407371969, 9407503069, + 9407634149, 9407765261, 9407896357, 9408027439, 9408158537, 9408289609, 9408420689, + 9408551767, 9408682849, 9408813989, 9408945083, 9409076263, 9409207387, 9409338461, + 9409469557, 9409600631, 9409731739, 9409862821, 9409993897, 9410124973, 9410256047, + 9410387167, 9410518261, 9410649343, 9410780447, 9410911547, 9411042629, 9411173711, + 9411304783, 9411435857, 9411566929, 9411698033, 9411829109, 9411960193, 9412091341, + 9412222427, 9412353571, 9412484671, 9412615759, 9412746869, 9412877983, 9413009057, + 9413140133, 9413271227, 9413402347, 9413533447, 9413664527, 9413795663, 9413926787, + 9414057893, 9414188983, 9414320057, 9414451129, 9414582209, 9414713291, 9414844363, + 9414975439, 9415106527, 9415237603, 9415368707, 9415499833, 9415630909, 9415761989, + 9415893079, 9416024183, 9416155267, 9416286343, 9416417441, 9416548513, 9416679611, + 9416810713, 9416941811, 9417072893, 9417203977, 9417335087, 9417466211, 9417597283, + 9417728393, 9417859471, 9417990553, 9418121639, 9418252769, 9418383841, 9418514929, + 9418646023, 9418777103, 9418908179, 9419039263, 9419170349, 9419301421, 9419432501, + 9419563607, 9419694703, 9419825797, 9419956877, 9420087961, 9420219049, 9420350123, + 9420481223, 9420612307, 9420743383, 9420874457, 9421005547, 9421136629, 9421267711, + 9421398797, 9421529893, 9421660973, 9421792063, 9421923143, 9422054221, 9422185361, + 9422316433, 9422447539, 9422578621, 9422709707, 9422840821, 9422971907, 9423102989, + 9423234077, 9423365201, 9423496273, 9423627359, 9423758431, 9423889513, 9424020623, + 9424151731, 9424282823, 9424413919, 9424544999, 9424676083, 9424807169, 9424938251, + 9425069363, 9425200451, 9425331523, 9425462597, 9425593673, 9425724769, 9425855891, + 9425986979, 9426118057, 9426249139, 9426380239, 9426511319, 9426642427, 9426773527, + 9426904661, 9427035733, 9427166807, 9427297897, 9427428973, 9427560083, 9427691179, + 9427822253, 9427953329, 9428084423, 9428215523, 9428346601, 9428477741, 9428608859, + 9428739979, 9428871097, 9429002171, 9429133247, 9429264329, 9429395429, 9429526507, + 9429657617, 9429788713, 9429919787, 9430050871, 9430181983, 9430313129, 9430444201, + 9430575277, 9430706387, 9430837483, 9430968557, 9431099677, 9431230763, 9431361851, + 9431492923, 9431624057, 9431755129, 9431886209, 9432017281, 9432148391, 9432279463, + 9432410539, 9432541637, 9432672727, 9432803879, 9432934967, 9433066057, 9433197187, + 9433328291, 9433459379, 9433590457, 9433721533, 9433852633, 9433983739, 9434114819, + 9434245901, 9434377003, 9434508077, 9434639171, 9434770259, 9434901331, 9435032413, + 9435163511, 9435294599, 9435425689, 9435556849, 9435687959, 9435819053, 9435950129, + 9436081201, 9436212293, 9436343381, 9436474519, 9436605601, 9436736689, 9436867789, + 9436998929, 9437130011, 9437261089, 9437392187, 9437523301, 9437654383, 9437785493, + 9437916581, 9438047747, 9438178829, 9438309943, 9438441079, 9438572161, 9438703247, + 9438834341, 9438965447, 9439096531, 9439227613, 9439358699, 9439489771, 9439620847, + 9439751927, 9439883017, 9440014091, 9440145167, 9440276309, 9440407387, 9440538463, + 9440669561, 9440800661, 9440931737, 9441062831, 9441193921, 9441325007, 9441456127, + 9441587201, 9441718283, 9441849371, 9441980491, 9442111571, 9442242653, 9442373761, + 9442504853, 9442635967, 9442767067, 9442898167, 9443029261, 9443160359, 9443291437, + 9443422553, 9443553659, 9443684749, 9443815837, 9443946931, 9444078037, 9444209167, + 9444340249, 9444471359, 9444602449, 9444733523, 9444864599, 9444995689, 9445126763, + 9445257853, 9445388947, 9445520033, 9445651139, 9445782211, 9445913293, 9446044411, + 9446175493, 9446306647, 9446437733, 9446568811, 9446699887, 9446830969, 9446962073, + 9447093167, 9447224261, 9447355349, 9447486481, 9447617561, 9447748669, 9447879743, + 9448010857, 9448141939, 9448273027, 9448404107, 9448535183, 9448666259, 9448797331, + 9448928441, 9449059523, 9449190601, 9449321677, 9449452751, 9449583839, 9449714941, + 9449846047, 9449977129, 9450108221, 9450239297, 9450370409, 9450501481, 9450632591, + 9450763703, 9450894797, 9451025891, 9451156991, 9451288109, 9451419181, 9451550279, + 9451681361, 9451812437, 9451943513, 9452074591, 9452205689, 9452336791, 9452467873, + 9452598973, 9452730073, 9452861161, 9452992253, 9453123347, 9453254429, 9453385511, + 9453516601, 9453647681, 9453778753, 9453909827, 9454040899, 9454171997, 9454303093, + 9454434229, 9454565321, 9454696429, 9454827517, 9454958599, 9455089691, 9455220779, + 9455351897, 9455482969, 9455614099, 9455745217, 9455876299, 9456007397, 9456138469, + 9456269573, 9456400651, 9456531739, 9456662849, 9456793961, 9456925033, 9457056209, + 9457187293, 9457318369, 9457449467, 9457580549, 9457711691, 9457842787, 9457973891, + 9458104969, 9458236057, 9458367131, 9458498207, 9458629291, 9458760371, 9458891447, + 9459022561, 9459153647, 9459284743, 9459415853, 9459546959, 9459678037, 9459809207, + 9459940327, 9460071403, 9460202497, 9460333579, 9460464659, 9460595743, 9460726817, + 9460857919, 9460989007, 9461120093, 9461251187, 9461382263, 9461513351, 9461644427, + 9461775503, 9461906579, 9462037657, 9462168761, 9462299881, 9462430963, 9462562091, + 9462693179, 9462824251, 9462955391, 9463086473, 9463217549, 9463348637, 9463479721, + 9463610831, 9463741909, 9463872991, 9464004103, 9464135179, 9464266289, 9464397373, + 9464528449, 9464659531, 9464790607, 9464921681, 9465052771, 9465183899, 9465315001, + 9465446093, 9465577171, 9465708277, 9465839417, 9465970511, 9466101647, 9466232719, + 9466363799, 9466494929, 9466626019, 9466757101, 9466888177, 9467019253, 9467150333, + 9467281457, 9467412547, 9467543629, 9467674703, 9467805799, 9467936893, 9468067991, + 9468199121, 9468330239, 9468461341, 9468592417, 9468723491, 9468854569, 9468985657, + 9469116751, 9469247833, 9469378943, 9469510049, 9469641239, 9469772321, 9469903393, + 9470034493, 9470165569, 9470296663, 9470427749, 9470558827, 9470689901, 9470820973, + 9470952067, 9471083143, 9471214237, 9471345311, 9471476393, 9471607487, 9471738571, + 9471869669, 9472000763, 9472131839, 9472262927, 9472394011, 9472525109, 9472656181, + 9472787263, 9472918337, 9473049461, 9473180543, 9473311633, 9473442707, 9473573783, + 9473704879, 9473835967, 9473967059, 9474098173, 9474229273, 9474360347, 9474491449, + 9474622583, 9474753737, 9474884827, 9475015919, 9475146991, 9475278139, 9475409219, + 9475540297, 9475671371, 9475802443, 9475933543, 9476064623, 9476195699, 9476326777, + 9476457931, 9476589019, 9476720111, 9476851211, 9476982289, 9477113381, 9477244487, + 9477375563, 9477506657, 9477637733, 9477768857, 9477899939, 9478031021, 9478162097, + 9478293263, 9478424353, 9478555453, 9478686571, 9478817651, 9478948751, 9479079853, + 9479210929, 9479342017, 9479473093, 9479604179, 9479735263, 9479866343, 9479997421, + 9480128513, 9480259603, 9480390679, 9480521779, 9480652891, 9480784003, 9480915083, + 9481046161, 9481177241, 9481308329, 9481439411, 9481570493, 9481701577, 9481832653, + 9481963727, 9482094841, 9482225927, 9482357021, 9482488109, 9482619191, 9482750327, + 9482881409, 9483012491, 9483143569, 9483274651, 9483405727, 9483536807, 9483667909, + 9483798997, 9483930083, 9484061159, 9484192231, 9484323353, 9484454489, 9484585577, + 9484716677, 9484847773, 9484978849, 9485109937, 9485241019, 9485372101, 9485503189, + 9485634269, 9485765357, 9485896477, 9486027553, 9486158639, 9486289721, 9486420799, + 9486551887, 9486682979, 9486814063, 9486945203, 9487076341, 9487207421, 9487338557, + 9487469639, 9487600799, 9487731887, 9487862987, 9487994059, 9488125177, 9488256301, + 9488387387, 9488518469, 9488649581, 9488780699, 9488911813, 9489042889, 9489173987, + 9489305101, 9489436189, 9489567277, 9489698353, 9489829441, 9489960539, 9490091629, + 9490222801, 9490353883, 9490484977, 9490616059, 9490747151, 9490878223, 9491009303, + 9491140381, 9491271499, 9491402681, 9491533759, 9491664851, 9491795953, 9491927069, + 9492058141, 9492189257, 9492320329, 9492451511, 9492582601, 9492713683, 9492844789, + 9492975911, 9493107053, 9493238137, 9493369271, 9493500361, 9493631471, 9493762559, + 9493893637, 9494024717, 9494155877, 9494287043, 9494418127, 9494549203, 9494680303, + 9494811377, 9494942473, 9495073559, 9495204643, 9495335753, 9495466837, 9495597931, + 9495729037, 9495860123, 9495991201, 9496122281, 9496253359, 9496384459, 9496515577, + 9496646651, 9496777727, 9496908803, 9497039891, 9497170967, 9497302063, 9497433149, + 9497564221, 9497695301, 9497826391, 9497957467, 9498088549, 9498219629, 9498350707, + 9498481789, 9498612863, 9498743951, 9498875047, 9499006151, 9499137223, 9499268321, + 9499399421, 9499530503, 9499661653, 9499792733, 9499923821, 9500054897, 9500185969, + 9500317051, 9500448157, 9500579243, 9500710319, 9500841407, 9500972479, 9501103559, + 9501234637, 9501365749, 9501496891, 9501627983, 9501759133, 9501890239, 9502021337, + 9502152437, 9502283513, 9502414631, 9502545713, 9502676801, 9502807889, 9502938967, + 9503070067, 9503201159, 9503332243, 9503463331, 9503594407, 9503725481, 9503856559, + 9503987671, 9504118769, 9504249871, 9504380947, 9504512021, 9504643129, 9504774229, + 9504905317, 9505036417, 9505167521, 9505298599, 9505429679, 9505560767, 9505691879, + 9505822961, 9505954033, 9506085107, 9506216197, 9506347303, 9506478439, 9506609537, + 9506740637, 9506871793, 9507002881, 9507133963, 9507265043, 9507396139, 9507527251, + 9507658339, 9507789413, 9507920491, 9508051607, 9508182689, 9508313783, 9508444901, + 9508575977, 9508707059, 9508838147, 9508969219, 9509100299, 9509231371, 9509362451, + 9509493523, 9509624617, 9509755711, 9509886811, 9510017903, 9510148987, 9510280061, + 9510411137, 9510542233, 9510673331, 9510804403, 9510935477, 9511066567, 9511197673, + 9511328747, 9511459819, 9511590917, 9511722019, 9511853111, 9511984201, 9512115377, + 9512246461, 9512377543, 9512508617, 9512639707, 9512770783, 9512901887, 9513032959, + 9513164051, 9513295123, 9513426203, 9513557309, 9513688411, 9513819487, 9513950599, + 9514081699, 9514212791, 9514343887, 9514474969, 9514606043, 9514737137, 9514868243, + 9514999321, 9515130407, 9515261507, 9515392597, 9515523673, 9515654747, 9515785843, + 9515916919, 9516047999, 9516179081, 9516310169, 9516441247, 9516572323, 9516703429, + 9516834521, 9516965609, 9517096697, 9517227781, 9517358933, 9517490027, 9517621109, + 9517752197, 9517883303, 9518014423, 9518145547, 9518276627, 9518407721, 9518538811, + 9518669917, 9518800997, 9518932091, 9519063187, 9519194261, 9519325351, 9519456439, + 9519587533, 9519718609, 9519849683, 9519980777, 9520111849, 9520242943, 9520374079, + 9520505213, 9520636297, 9520767371, 9520898459, 9521029541, 9521160629, 9521291737, + 9521422817, 9521553967, 9521685049, 9521816147, 9521947249, 9522078347, 9522209441, + 9522340519, 9522471601, 9522602689, 9522733783, 9522864863, 9522995939, 9523127017, + 9523258153, 9523389233, 9523520351, 9523651427, 9523782571, 9523913653, 9524044727, + 9524175827, 9524306903, 9524437987, 9524569063, 9524700139, 9524831219, 9524962327, + 9525093401, 9525224479, 9525355603, 9525486679, 9525617753, 9525748847, 9525879931, + 9526011037, 9526142141, 9526273231, 9526404317, 9526535401, 9526666507, 9526797583, + 9526928657, 9527059733, 9527190817, 9527321891, 9527452981, 9527584109, 9527715191, + 9527846291, 9527977373, 9528108461, 9528239537, 9528370633, 9528501727, 9528632819, + 9528763901, 9528895001, 9529026077, 9529157149, 9529288231, 9529419307, 9529550399, + 9529681481, 9529812661, 9529943741, 9530074819, 9530205931, 9530337043, 9530468119, + 9530599213, 9530730329, 9530861401, 9530992481, 9531123599, 9531254693, 9531385807, + 9531516889, 9531647981, 9531779057, 9531910159, 9532041263, 9532172341, 9532303441, + 9532434551, 9532565629, 9532696709, 9532827791, 9532958867, 9533089967, 9533221043, + 9533352119, 9533483203, 9533614291, 9533745407, 9533876479, 9534007583, 9534138667, + 9534269753, 9534400873, 9534531947, 9534663053, 9534794147, 9534925219, 9535056299, + 9535187381, 9535318477, 9535449559, 9535580657, 9535711751, 9535842857, 9535973929, + 9536105009, 9536236081, 9536367179, 9536498261, 9536629351, 9536760439, 9536891513, + 9537022597, 9537153671, 9537284773, 9537415847, 9537546923, 9537678037, 9537809137, + 9537940211, 9538071299, 9538202389, 9538333477, 9538464571, 9538595699, 9538726787, + 9538857893, 9538989001, 9539120083, 9539251159, 9539382247, 9539513323, 9539644397, + 9539775473, 9539906549, 9540037643, 9540168719, 9540299807, 9540430937, 9540562021, + 9540693103, 9540824177, 9540955321, 9541086419, 9541217501, 9541348577, 9541479659, + 9541610731, 9541741823, 9541872917, 9542003993, 9542135081, 9542266157, 9542397329, + 9542528423, 9542659531, 9542790619, 9542921699, 9543052777, 9543183901, 9543314999, + 9543446071, 9543577187, 9543708259, 9543839369, 9543970463, 9544101557, 9544232639, + 9544363733, 9544494811, 9544625887, 9544757003, 9544888091, 9545019179, 9545150257, + 9545281373, 9545412449, 9545543521, 9545674631, 9545805707, 9545936779, 9546067871, + 9546198947, 9546330023, 9546461161, 9546592247, 9546723343, 9546854423, 9546985519, + 9547116617, 9547247693, 9547378783, 9547509883, 9547640969, 9547772071, 9547903147, + 9548034233, 9548165309, 9548296393, 9548427491, 9548558563, 9548689643, 9548820751, + 9548951831, 9549082957, 9549214039, 9549345217, 9549476291, 9549607451, 9549738533, + 9549869617, 9550000693, 9550131791, 9550262863, 9550393939, 9550525051, 9550656133, + 9550787219, 9550918301, 9551049379, 9551180453, 9551311529, 9551442611, 9551573747, + 9551704831, 9551835919, 9551967041, 9552098113, 9552229187, 9552360281, 9552491363, + 9552622477, 9552753559, 9552884633, 9553015711, 9553146791, 9553277887, 9553409009, + 9553540091, 9553671163, 9553802287, 9553933397, 9554064517, 9554195597, 9554326693, + 9554457821, 9554588909, 9554720003, 9554851087, 9554982167, 9555113257, 9555244373, + 9555375457, 9555506531, 9555637613, 9555768707, 9555899783, 9556030859, 9556161947, + 9556293037, 9556424179, 9556555273, 9556686353, 9556817443, 9556948547, 9557079641, + 9557210713, 9557341861, 9557472937, 9557604137, 9557735249, 9557866363, 9557997487, + 9558128579, 9558259651, 9558390773, 9558521851, 9558652949, 9558784033, 9558915133, + 9559046209, 9559177301, 9559308373, 9559439453, 9559570549, 9559701631, 9559832743, + 9559963873, 9560094949, 9560226089, 9560357161, 9560488241, 9560619331, 9560750413, + 9560881487, 9561012563, 9561143699, 9561274831, 9561405961, 9561537047, 9561668119, + 9561799199, 9561930271, 9562061371, 9562192459, 9562323569, 9562454659, 9562585733, + 9562716811, 9562847887, 9562978961, 9563110043, 9563241131, 9563372209, 9563503291, + 9563634391, 9563765467, 9563896571, 9564027673, 9564158753, 9564289831, 9564420953, + 9564552077, 9564683189, 9564814277, 9564945349, 9565076429, 9565207517, 9565338619, + 9565469737, 9565600813, 9565731911, 9565862983, 9565994071, 9566125157, 9566256257, + 9566387351, 9566518441, 9566649527, 9566780621, 9566911693, 9567042767, 9567173839, + 9567304927, 9567436013, 9567567109, 9567698201, 9567829273, 9567960379, 9568091461, + 9568222537, 9568353617, 9568484689, 9568615781, 9568746857, 9568877957, 9569009057, + 9569140153, 9569271227, 9569402303, 9569533403, 9569664539, 9569795621, 9569926693, + 9570057767, 9570188843, 9570319919, 9570451003, 9570582079, 9570713177, 9570844259, + 9570975341, 9571106423, 9571237537, 9571368623, 9571499701, 9571630781, 9571761863, + 9571892969, 9572024051, 9572155127, 9572286223, 9572417329, 9572548423, 9572679497, + 9572810579, 9572941681, 9573072767, 9573203879, 9573334957, 9573466033, 9573597109, + 9573728237, 9573859369, 9573990449, 9574121533, 9574252663, 9574383751, 9574514837, + 9574645931, 9574777021, 9574908097, 9575039171, 9575170249, 9575301343, 9575432423, + 9575563499, 9575694577, 9575825659, 9575956751, 9576087827, 9576218917, 9576350009, + 9576481087, 9576612167, 9576743269, 9576874357, 9577005457, 9577136549, 9577267657, + 9577398737, 9577529833, 9577660909, 9577792019, 9577923101, 9578054177, 9578185283, + 9578316367, 9578447443, 9578578531, 9578709607, 9578840683, 9578971757, 9579102887, + 9579233999, 9579365111, 9579496259, 9579627367, 9579758473, 9579889567, 9580020641, + 9580151759, 9580282841, 9580413943, 9580545043, 9580676117, 9580807231, 9580938359, + 9581069473, 9581200591, 9581331667, 9581462741, 9581593829, 9581724907, 9581855981, + 9581987141, 9582118223, 9582249317, 9582380407, 9582511483, 9582642583, 9582773663, + 9582904763, 9583035863, 9583166947, 9583298029, 9583429127, 9583560227, 9583691417, + 9583822489, 9583953593, 9584084669, 9584215741, 9584346829, 9584477909, 9584609017, + 9584740093, 9584871173, 9585002249, 9585133391, 9585264473, 9585395653, 9585526729, + 9585657811, 9585788911, 9585919997, 9586051081, 9586182197, 9586313299, 9586444393, + 9586575469, 9586706579, 9586837679, 9586968793, 9587099909, 9587230999, 9587362093, + 9587493187, 9587624279, 9587755363, 9587886437, 9588017597, 9588148673, 9588279749, + 9588410837, 9588541927, 9588673033, 9588804143, 9588935243, 9589066339, 9589197461, + 9589328579, 9589459669, 9589590749, 9589721831, 9589853003, 9589984081, 9590115173, + 9590246311, 9590377421, 9590508493, 9590639593, 9590770687, 9590901773, 9591032921, + 9591164003, 9591295099, 9591426211, 9591557291, 9591688363, 9591819437, 9591950657, + 9592081747, 9592212827, 9592343923, 9592475003, 9592606087, 9592737181, 9592868281, + 9592999363, 9593130461, 9593261539, 9593392663, 9593523773, 9593654881, 9593785973, + 9593917049, 9594048127, 9594179281, 9594310387, 9594441481, 9594572569, 9594703673, + 9594834749, 9594965873, 9595096949, 9595228037, 9595359139, 9595490231, 9595621309, + 9595752401, 9595883477, 9596014573, 9596145649, 9596276749, 9596407831, 9596538923, + 9596670001, 9596801113, 9596932207, 9597063323, 9597194413, 9597325499, 9597456577, + 9597587669, 9597718763, 9597849853, 9597980933, 9598112023, 9598243139, 9598374221, + 9598505297, 9598636379, 9598767469, 9598898593, 9599029703, 9599160799, 9599291873, + 9599422949, 9599554037, 9599685119, 9599816201, 9599947297, 9600078421, 9600209497, + 9600340579, 9600471679, 9600602807, 9600733913, 9600865007, 9600996079, 9601127191, + 9601258267, 9601389341, 9601520449, 9601651523, 9601782623, 9601913729, 9602044819, + 9602175893, 9602306977, 9602438051, 9602569129, 9602700209, 9602831299, 9602962417, + 9603093499, 9603224611, 9603355717, 9603486797, 9603617909, 9603749003, 9603880133, + 9604011223, 9604142357, 9604273451, 9604404533, 9604535617, 9604666741, 9604797817, + 9604928891, 9605059973, 9605191081, 9605322157, 9605453233, 9605584321, 9605715401, + 9605846479, 9605977567, 9606108641, 9606239729, 9606370801, 9606501881, 9606632953, + 9606764033, 9606895127, 9607026199, 9607157299, 9607288381, 9607419461, 9607550549, + 9607681711, 9607812791, 9607943881, 9608074963, 9608206037, 9608337113, 9608468227, + 9608599303, 9608730409, 9608861497, 9608992571, 9609123703, 9609254827, 9609385909, + 9609516991, 9609648079, 9609779171, 9609910267, 9610041361, 9610172441, 9610303513, + 9610434637, 9610565711, 9610696783, 9610827887, 9610958977, 9611090059, 9611221159, + 9611352269, 9611483353, 9611614427, 9611745523, 9611876597, 9612007681, 9612138799, + 9612269921, 9612400999, 9612532087, 9612663163, 9612794237, 9612925339, 9613056413, + 9613187491, 9613318591, 9613449673, 9613580747, 9613711829, 9613842929, 9613974001, + 9614105153, 9614236231, 9614367313, 9614498419, 9614629499, 9614760583, 9614891659, + 9615022759, 9615153833, 9615284909, 9615415987, 9615547121, 9615678203, 9615809323, + 9615940457, 9616071533, 9616202621, 9616333693, 9616464769, 9616595851, 9616726927, + 9616858001, 9616989089, 9617120171, 9617251243, 9617382331, 9617513417, 9617644501, + 9617775599, 9617906671, 9618037769, 9618168869, 9618299983, 9618431057, 9618562133, + 9618693221, 9618824297, 9618955369, 9619086443, 9619217557, 9619348631, 9619479703, + 9619610779, 9619741877, 9619872971, 9620004049, 9620135123, 9620266247, 9620397337, + 9620528413, 9620659493, 9620790601, 9620921699, 9621052823, 9621183917, 9621314993, + 9621446069, 9621577151, 9621708241, 9621839329, 9621970409, 9622101491, 9622232621, + 9622363711, 9622494787, 9622625893, 9622756987, 9622888087, 9623019181, 9623150263, + 9623281337, 9623412431, 9623543543, 9623674639, 9623805731, 9623936809, 9624067907, + 9624199043, 9624330127, 9624461261, 9624592337, 9624723413, 9624854513, 9624985613, + 9625116701, 9625247837, 9625378921, 9625509997, 9625641071, 9625772201, 9625903303, + 9626034403, 9626165557, 9626296637, 9626427709, 9626558803, 9626689889, 9626820971, + 9626952043, 9627083117, 9627214199, 9627345271, 9627476387, 9627607499, 9627738581, + 9627869681, 9628000757, 9628131829, 9628262911, 9628394003, 9628525099, 9628656173, + 9628787251, 9628918361, 9629049461, 9629180557, 9629311631, 9629442707, 9629573791, + 9629704879, 9629835977, 9629967059, 9630098201, 9630229291, 9630360401, 9630491473, + 9630622559, 9630753673, 9630884759, 9631015841, 9631146913, 9631277993, 9631409077, + 9631540151, 9631671227, 9631802303, 9631933433, 9632064539, 9632195611, 9632326703, + 9632457859, 9632588963, 9632720063, 9632851139, 9632982223, 9633113317, 9633244393, + 9633375487, 9633506593, 9633637681, 9633768757, 9633899837, 9634030937, 9634162061, + 9634293133, 9634424209, 9634555291, 9634686377, 9634817459, 9634948537, 9635079659, + 9635210731, 9635341811, 9635472893, 9635603983, 9635735063, 9635866181, 9635997281, + 9636128357, 9636259513, 9636390611, 9636521701, 9636652811, 9636783887, 9636915011, + 9637046099, 9637177189, 9637308277, 9637439351, 9637570427, 9637701511, 9637832639, + 9637963717, 9638094797, 9638225873, 9638356961, 9638488037, 9638619127, 9638750201, + 9638881297, 9639012371, 9639143447, 9639274529, 9639405653, 9639536737, 9639667867, + 9639798977, 9639930059, 9640061161, 9640192249, 9640323367, 9640454501, 9640585639, + 9640716713, 9640847803, 9640978883, 9641109967, 9641241047, 9641372201, 9641503273, + 9641634347, 9641765431, 9641896529, 9642027613, 9642158737, 9642289831, 9642420923, + 9642551999, 9642683107, 9642814187, 9642945311, 9643076389, 9643207489, 9643338569, + 9643469681, 9643600787, 9643731859, 9643862933, 9643994023, 9644125121, 9644256203, + 9644387321, 9644518409, 9644649481, 9644780567, 9644911667, 9645042791, 9645173891, + 9645304987, 9645436063, 9645567143, 9645698233, 9645829327, 9645960449, 9646091561, + 9646222639, 9646353757, 9646484833, 9646615907, 9646747027, 9646878103, 9647009179, + 9647140259, 9647271353, 9647402431, 9647533547, 9647664643, 9647795723, 9647926861, + 9648057943, 9648189041, 9648320119, 9648451213, 9648582301, 9648713377, 9648844463, + 9648975541, 9649106657, 9649237729, 9649368809, 9649499891, 9649631011, 9649762117, + 9649893241, 9650024387, 9650155513, 9650286601, 9650417687, 9650548759, 9650679851, + 9650810933, 9650942009, 9651073127, 9651204217, 9651335293, 9651466387, 9651597469, + 9651728543, 9651859649, 9651990739, 9652121837, 9652252919, 9652384061, 9652515149, + 9652646231, 9652777399, 9652908493, 9653039567, 9653170643, 9653301731, 9653432857, + 9653563973, 9653695063, 9653826163, 9653957237, 9654088331, 9654219499, 9654350611, + 9654481729, 9654612809, 9654743897, 9654874997, 9655006091, 9655137203, 9655268281, + 9655399357, 9655530431, 9655661503, 9655792591, 9655923731, 9656054843, 9656185961, + 9656317037, 9656448163, 9656579237, 9656710339, 9656841419, 9656972491, 9657103567, + 9657234661, 9657365747, 9657496819, 9657627899, 9657758983, 9657890093, 9658021169, + 9658152271, 9658283351, 9658414477, 9658545581, 9658676663, 9658807751, 9658938823, + 9659069897, 9659200979, 9659332063, 9659463179, 9659594251, 9659725331, 9659856407, + 9659987521, 9660118621, 9660249719, 9660380803, 9660511879, 9660642961, 9660774091, + 9660905171, 9661036327, 9661167403, 9661298483, 9661429559, 9661560631, 9661691713, + 9661822921, 9661954013, 9662085193, 9662216273, 9662347421, 9662478571, 9662609669, + 9662740817, 9662871901, 9663003011, 9663134123, 9663265201, 9663396277, 9663527369, + 9663658441, 9663789523, 9663920599, 9664051699, 9664182779, 9664313851, 9664444927, + 9664576039, 9664707121, 9664838213, 9664969313, 9665100427, 9665231507, 9665362601, + 9665493727, 9665624833, 9665755927, 9665887009, 9666018097, 9666149177, 9666280249, + 9666411407, 9666542497, 9666673571, 9666804647, 9666935783, 9667066859, 9667197959, + 9667329037, 9667460137, 9667591237, 9667722349, 9667853441, 9667984577, 9668115649, + 9668246773, 9668377877, 9668509001, 9668640073, 9668771201, 9668902277, 9669033379, + 9669164459, 9669295543, 9669426631, 9669557707, 9669688783, 9669819877, 9669950963, + 9670082063, 9670213159, 9670344239, 9670475317, 9670606399, 9670737491, 9670868609, + 9670999711, 9671130809, 9671261893, 9671392967, 9671524103, 9671655211, 9671786303, + 9671917379, 9672048457, 9672179533, 9672310643, 9672441721, 9672572803, 9672703897, + 9672834991, 9672966067, 9673097191, 9673228303, 9673359383, 9673490459, 9673621567, + 9673752733, 9673883819, 9674014897, 9674145983, 9674277061, 9674408141, 9674539213, + 9674670289, 9674801369, 9674932453, 9675063527, 9675194603, 9675325727, 9675456839, + 9675587917, 9675719017, 9675850123, 9675981233, 9676112359, 9676243463, 9676374541, + 9676505647, 9676636727, 9676767847, 9676898927, 9677030021, 9677161099, 9677292187, + 9677423267, 9677554339, 9677685443, 9677816527, 9677947621, 9678078703, 9678209791, + 9678340871, 9678471947, 9678603029, 9678734101, 9678865213, 9678996289, 9679127363, + 9679258441, 9679389527, 9679520647, 9679651721, 9679782811, 9679913891, 9680044973, + 9680176081, 9680307167, 9680438263, 9680569351, 9680700433, 9680831513, 9680962589, + 9681093661, 9681224747, 9681355861, 9681486979, 9681618073, 9681749149, 9681880297, + 9682011407, 9682142527, 9682273603, 9682404763, 9682535839, 9682666921, 9682798019, + 9682929097, 9683060201, 9683191283, 9683322377, 9683453459, 9683584541, 9683715619, + 9683846701, 9683977829, 9684108911, 9684239989, 9684371063, 9684502187, 9684633289, + 9684764371, 9684895457, 9685026529, 9685157633, 9685288729, 9685419823, 9685550951, + 9685682029, 9685813133, 9685944227, 9686075309, 9686206391, 9686337481, 9686468557, + 9686599693, 9686730773, 9686861867, 9686992949, 9687124043, 9687255173, 9687386249, + 9687517339, 9687648431, 9687779513, 9687910613, 9688041733, 9688172807, 9688303897, + 9688435021, 9688566119, 9688697201, 9688828277, 9688959349, 9689090459, 9689221567, + 9689352643, 9689483729, 9689614807, 9689745889, 9689876969, 9690008047, 9690139171, + 9690270259, 9690401339, 9690532441, 9690663517, 9690794621, 9690925757, 9691056829, + 9691187903, 9691318981, 9691450079, 9691581157, 9691712293, 9691843411, 9691974503, + 9692105641, 9692236717, 9692367803, 9692498909, 9692629981, 9692761093, 9692892241, + 9693023339, 9693154417, 9693285491, 9693416573, 9693547651, 9693678751, 9693809849, + 9693940937, 9694072013, 9694203091, 9694334179, 9694465259, 9694596377, 9694727467, + 9694858597, 9694989691, 9695120783, 9695251879, 9695383007, 9695514079, 9695645189, + 9695776283, 9695907373, 9696038449, 9696169529, 9696300611, 9696431683, 9696562769, + 9696693907, 9696824981, 9696956063, 9697087189, 9697218313, 9697349393, 9697480469, + 9697611577, 9697742699, 9697873781, 9698004881, 9698135957, 9698267093, 9698398169, + 9698529241, 9698660329, 9698791411, 9698922521, 9699053597, 9699184681, 9699315781, + 9699446893, 9699577969, 9699709051, 9699840151, 9699971279, 9700102387, 9700233493, + 9700364627, 9700495711, 9700626787, 9700757867, 9700888961, 9701020037, 9701151121, + 9701282207, 9701413279, 9701544367, 9701675441, 9701806529, 9701937601, 9702068681, + 9702199753, 9702330839, 9702461911, 9702592993, 9702724079, 9702855161, 9702986243, + 9703117327, 9703248413, 9703379519, 9703510613, 9703641697, 9703772779, 9703903861, + 9704034941, 9704166041, 9704297123, 9704428213, 9704559287, 9704690371, 9704821507, + 9704952599, 9705083671, 9705214787, 9705345889, 9705476969, 9705608051, 9705739123, + 9705870203, 9706001399, 9706132481, 9706263559, 9706394669, 9706525769, 9706656851, + 9706787989, 9706919077, 9707050151, 9707181269, 9707312359, 9707443439, 9707574571, + 9707705681, 9707836769, 9707967859, 9708098951, 9708230023, 9708361123, 9708492251, + 9708623333, 9708754409, 9708885481, 9709016609, 9709147697, 9709278769, 9709409851, + 9709540927, 9709672001, 9709803097, 9709934177, 9710065297, 9710196407, 9710327503, + 9710458579, 9710589659, 9710720741, 9710851819, 9710982923, 9711114019, 9711245107, + 9711376201, 9711507283, 9711638393, 9711769477, 9711900551, 9712031663, 9712162741, + 9712293823, 9712424963, 9712556107, 9712687189, 9712818263, 9712949339, 9713080411, + 9713211503, 9713342579, 9713473661, 9713604737, 9713735809, 9713866889, 9713997989, + 9714129109, 9714260203, 9714391279, 9714522361, 9714653467, 9714784577, 9714915713, + 9715046819, 9715177903, 9715308983, 9715440061, 9715571137, 9715702211, 9715833289, + 9715964407, 9716095507, 9716226581, 9716357671, 9716488753, 9716619827, 9716750903, + 9716882051, 9717013129, 9717144221, 9717275297, 9717406373, 9717537457, 9717668533, + 9717799613, 9717930697, 9718061797, 9718192873, 9718323947, 9718455037, 9718586147, + 9718717237, 9718848317, 9718979401, 9719110487, 9719241577, 9719372653, 9719503733, + 9719634811, 9719765921, 9719897017, 9720028127, 9720159203, 9720290299, 9720421379, + 9720552463, 9720683569, 9720814661, 9720945733, 9721076821, 9721207919, 9721339013, + 9721470113, 9721601243, 9721732333, 9721863449, 9721994521, 9722125601, 9722256721, + 9722387861, 9722518973, 9722650109, 9722781221, 9722912299, 9723043373, 9723174457, + 9723305549, 9723436627, 9723567703, 9723698779, 9723829873, 9723960973, 9724092071, + 9724223209, 9724354301, 9724485427, 9724616509, 9724747639, 9724878721, 9725009821, + 9725140969, 9725272049, 9725403143, 9725534227, 9725665331, 9725796449, 9725927527, + 9726058603, 9726189701, 9726320803, 9726451877, 9726582967, 9726714059, 9726845189, + 9726976271, 9727107359, 9727238501, 9727369579, 9727500677, 9727631801, 9727762931, + 9727894013, 9728025103, 9728156203, 9728287291, 9728418379, 9728549497, 9728680571, + 9728811679, 9728942759, 9729073859, 9729204931, 9729336013, 9729467089, 9729598171, + 9729729257, 9729860341, 9729991423, 9730122497, 9730253587, 9730384661, 9730515763, + 9730646839, 9730777913, 9730908989, 9731040083, 9731171171, 9731302267, 9731433347, + 9731564441, 9731695513, 9731826667, 9731957761, 9732088837, 9732219911, 9732350989, + 9732482069, 9732613151, 9732744233, 9732875311, 9733006453, 9733137529, 9733268603, + 9733399723, 9733530803, 9733661879, 9733792961, 9733924043, 9734055151, 9734186239, + 9734317321, 9734448419, 9734579497, 9734710589, 9734841661, 9734972771, 9735103849, + 9735234923, 9735366007, 9735497131, 9735628211, 9735759307, 9735890389, 9736021481, + 9736152581, 9736283657, 9736414733, 9736545821, 9736676903, 9736807981, 9736939097, + 9737070169, 9737201281, 9737332387, 9737463467, 9737594641, 9737725721, 9737856809, + 9737987899, 9738119047, 9738250127, 9738381227, 9738512321, 9738643403, 9738774503, + 9738905597, 9739036751, 9739167827, 9739298903, 9739430027, 9739561099, 9739692233, + 9739823321, 9739954453, 9740085527, 9740216641, 9740347741, 9740478833, 9740609941, + 9740741029, 9740872103, 9741003199, 9741134323, 9741265397, 9741396479, 9741527569, + 9741658649, 9741789721, 9741920803, 9742051903, 9742183027, 9742314103, 9742445183, + 9742576289, 9742707371, 9742838471, 9742969559, 9743100667, 9743231767, 9743362883, + 9743493959, 9743625041, 9743756123, 9743887199, 9744018281, 9744149353, 9744280451, + 9744411527, 9744542617, 9744673691, 9744804763, 9744935843, 9745066943, 9745198051, + 9745329161, 9745460251, 9745591363, 9745722439, 9745853519, 9745984613, 9746115689, + 9746246843, 9746377951, 9746509039, 9746640151, 9746771227, 9746902331, 9747033427, + 9747164527, 9747295601, 9747426673, 9747557861, 9747688943, 9747820067, 9747951193, + 9748082287, 9748213373, 9748344451, 9748475567, 9748606663, 9748737743, 9748868863, + 9748999961, 9749131037, 9749262139, 9749393233, 9749524373, 9749655451, 9749786531, + 9749917607, 9750048713, 9750179807, 9750310909, 9750441989, 9750573067, 9750704153, + 9750835229, 9750966319, 9751097393, 9751228493, 9751359571, 9751490687, 9751621793, + 9751752887, 9751883959, 9752015033, 9752146111, 9752277191, 9752408279, 9752539397, + 9752670497, 9752801581, 9752932663, 9753063739, 9753194821, 9753325903, 9753456997, + 9753588077, 9753719153, 9753850231, 9753981311, 9754112399, 9754243519, 9754374599, + 9754505671, 9754636751, 9754767833, 9754898939, 9755030017, 9755161121, 9755292193, + 9755423267, 9755554349, 9755685553, 9755816641, 9755947741, 9756078817, 9756209909, + 9756341057, 9756472207, 9756603301, 9756734399, 9756865483, 9756996581, 9757127683, + 9757258787, 9757389883, 9757520977, 9757652071, 9757783163, 9757914251, 9758045333, + 9758176411, 9758307487, 9758438603, 9758569679, 9758700773, 9758831879, 9758962957, + 9759094039, 9759225143, 9759356227, 9759487307, 9759618391, 9759749491, 9759880583, + 9760011673, 9760142747, 9760273877, 9760404949, 9760536067, 9760667149, 9760798247, + 9760929319, 9761060429, 9761191507, 9761322587, 9761453659, 9761584733, 9761715827, + 9761846903, 9761977993, 9762109109, 9762240181, 9762371257, 9762502349, 9762633473, + 9762764549, 9762895621, 9763026733, 9763157813, 9763288943, 9763420019, 9763551121, + 9763682251, 9763813391, 9763944517, 9764075597, 9764206681, 9764337763, 9764468843, + 9764599921, 9764731019, 9764862097, 9764993207, 9765124289, 9765255373, 9765386453, + 9765517547, 9765648643, 9765779753, 9765910829, 9766041907, 9766173019, 9766304123, + 9766435219, 9766566391, 9766697497, 9766828613, 9766959703, 9767090887, 9767221991, + 9767353069, 9767484173, 9767615269, 9767746363, 9767877439, 9768008533, 9768139639, + 9768270719, 9768401813, 9768532897, 9768663979, 9768795097, 9768926177, 9769057267, + 9769188439, 9769319579, 9769450651, 9769581739, 9769712831, 9769843913, 9769975001, + 9770106107, 9770237207, 9770368297, 9770499391, 9770630479, 9770761573, 9770892661, + 9771023777, 9771154903, 9771285977, 9771417049, 9771548131, 9771679223, 9771810299, + 9771941371, 9772072451, 9772203523, 9772334603, 9772465679, 9772596763, 9772727849, + 9772858957, 9772990049, 9773121131, 9773252219, 9773383297, 9773514371, 9773645443, + 9773776553, 9773907653, 9774038741, 9774169817, 9774300917, 9774432023, 9774563111, + 9774694207, 9774825301, 9774956383, 9775087457, 9775218547, 9775349681, 9775480783, + 9775611893, 9775742989, 9775874071, 9776005147, 9776136221, 9776267311, 9776398393, + 9776529481, 9776660599, 9776791679, 9776922763, 9777053849, 9777184951, 9777316037, + 9777447181, 9777578257, 9777709363, 9777840467, 9777971563, 9778102643, 9778233727, + 9778364837, 9778495957, 9778627057, 9778758161, 9778889249, 9779020327, 9779151427, + 9779282503, 9779413613, 9779544689, 9779675761, 9779806849, 9779937967, 9780069073, + 9780200159, 9780331237, 9780462311, 9780593399, 9780724477, 9780855569, 9780986659, + 9781117733, 9781248817, 9781379899, 9781510987, 9781642103, 9781773179, 9781904287, + 9782035369, 9782166461, 9782297549, 9782428633, 9782559737, 9782690831, 9782821903, + 9782952979, 9783084131, 9783215237, 9783346343, 9783477419, 9783608503, 9783739601, + 9783870721, 9784001819, 9784132907, 9784264013, 9784395149, 9784526267, 9784657361, + 9784788449, 9784919533, 9785050619, 9785181701, 9785312773, 9785443847, 9785574937, + 9785706023, 9785837107, 9785968243, 9786099347, 9786230473, 9786361567, 9786492643, + 9786623719, 9786754799, 9786885877, 9787016957, 9787148051, 9787279127, 9787410203, + 9787541293, 9787672399, 9787803503, 9787934581, 9788065663, 9788196749, 9788327893, + 9788458993, 9788590067, 9788721181, 9788852327, 9788983409, 9789114527, 9789245621, + 9789376693, 9789507809, 9789638891, 9789770027, 9789901103, 9790032209, 9790163281, + 9790294361, 9790425461, 9790556551, 9790687649, 9790818749, 9790949849, 9791080921, + 9791212003, 9791343097, 9791474191, 9791605279, 9791736377, 9791867461, 9791998597, + 9792129673, 9792260747, 9792391823, 9792522919, 9792654013, 9792785087, 9792916163, + 9793047259, 9793178363, 9793309447, 9793440521, 9793571621, 9793702733, 9793833809, + 9793964899, 9794096009, 9794227087, 9794358187, 9794489273, 9794620349, 9794751451, + 9794882533, 9795013619, 9795144701, 9795275779, 9795406853, 9795537943, 9795669017, + 9795800089, 9795931163, 9796062247, 9796193333, 9796324441, 9796455517, 9796586609, + 9796717739, 9796848881, 9796979953, 9797111029, 9797242111, 9797373191, 9797504317, + 9797635429, 9797766569, 9797897651, 9798028739, 9798159823, 9798290947, 9798422021, + 9798553097, 9798684229, 9798815311, 9798946397, 9799077473, 9799208557, 9799339637, + 9799470713, 9799601803, 9799732883, 9799863961, 9799995053, 9800126137, 9800257211, + 9800388317, 9800519429, 9800650511, 9800781607, 9800912687, 9801043781, 9801174869, + 9801305977, 9801437077, 9801568163, 9801699239, 9801830329, 9801961489, 9802092569, + 9802223689, 9802354769, 9802485881, 9802616963, 9802748041, 9802879181, 9803010253, + 9803141329, 9803272459, 9803403539, 9803534693, 9803665777, 9803796901, 9803927983, + 9804059059, 9804190153, 9804321281, 9804452353, 9804583441, 9804714523, 9804845623, + 9804976697, 9805107791, 9805238879, 9805369991, 9805501163, 9805632241, 9805763339, + 9805894447, 9806025539, 9806156617, 9806287697, 9806418781, 9806549873, 9806680963, + 9806812039, 9806943121, 9807074197, 9807205307, 9807336391, 9807467491, 9807598579, + 9807729689, 9807860771, 9807991847, 9808122931, 9808254007, 9808385087, 9808516177, + 9808647253, 9808778327, 9808909421, 9809040541, 9809171633, 9809302721, 9809433793, + 9809564899, 9809696021, 9809827121, 9809958211, 9810089299, 9810220417, 9810351503, + 9810482597, 9810613699, 9810744781, 9810875881, 9811006993, 9811138111, 9811269217, + 9811400309, 9811531409, 9811662517, 9811793597, 9811924673, 9812055751, 9812186827, + 9812317903, 9812449001, 9812580083, 9812711189, 9812842267, 9812973343, 9813104423, + 9813235507, 9813366593, 9813497719, 9813628817, 9813759913, 9813891011, 9814022147, + 9814153309, 9814284397, 9814415473, 9814546561, 9814677637, 9814808719, 9814939837, + 9815070997, 9815202073, 9815333147, 9815464223, 9815595311, 9815726413, 9815857487, + 9815988619, 9816119693, 9816250783, 9816381917, 9816513017, 9816644093, 9816775193, + 9816906283, 9817037383, 9817168477, 9817299623, 9817430761, 9817561867, 9817692943, + 9817824047, 9817955131, 9818086237, 9818217313, 9818348479, 9818479553, 9818610629, + 9818741741, 9818872829, 9819003917, 9819134989, 9819266069, 9819397141, 9819528233, + 9819659329, 9819790411, 9819921493, 9820052579, 9820183651, 9820314769, 9820445851, + 9820576939, 9820708013, 9820839107, 9820970179, 9821101261, 9821232347, 9821363467, + 9821494591, 9821625683, 9821756771, 9821887843, 9822018959, 9822150043, 9822281143, + 9822412231, 9822543317, 9822674447, 9822805541, 9822936653, 9823067767, 9823198849, + 9823329931, 9823461031, 9823592111, 9823723183, 9823854269, 9823985341, 9824116453, + 9824247527, 9824378647, 9824509727, 9824640803, 9824771893, 9824902979, 9825034061, + 9825165151, 9825296269, 9825427343, 9825558427, 9825689509, 9825820597, 9825951671, + 9826082753, 9826213849, 9826344989, 9826476083, 9826607171, 9826738283, 9826869361, + 9827000437, 9827131543, 9827262617, 9827393729, 9827524867, 9827655941, 9827787019, + 9827918123, 9828049213, 9828180317, 9828311411, 9828442511, 9828573607, 9828704777, + 9828835879, 9828966977, 9829098113, 9829229197, 9829360273, 9829491349, 9829622423, + 9829753523, 9829884629, 9830015707, 9830146811, 9830277913, 9830408999, 9830540087, + 9830671159, 9830802239, 9830933381, 9831064469, 9831195589, 9831326669, 9831457777, + 9831588859, 9831719941, 9831851023, 9831982133, 9832113227, 9832244311, 9832375387, + 9832506473, 9832637597, 9832768691, 9832899781, 9833030873, 9833161951, 9833293087, + 9833424173, 9833555267, 9833686339, 9833817421, 9833948497, 9834079579, 9834210667, + 9834341753, 9834472847, 9834603929, 9834735011, 9834866113, 9834997213, 9835128287, + 9835259387, 9835390471, 9835521571, 9835652653, 9835783729, 9835914811, 9836045909, + 9836177063, 9836308147, 9836439281, 9836570369, 9836701447, 9836832529, 9836963629, + 9837094711, 9837225791, 9837356869, 9837487943, 9837619031, 9837750133, 9837881227, + 9838012307, 9838143443, 9838274539, 9838405639, 9838536731, 9838667807, 9838798897, + 9838930051, 9839061131, 9839192227, 9839323303, 9839454377, 9839585453, 9839716553, + 9839847631, 9839978711, 9840109817, 9840240901, 9840372043, 9840503131, 9840634211, + 9840765317, 9840896389, 9841027517, 9841158629, 9841289713, 9841420801, 9841551877, + 9841682971, 9841814093, 9841945177, 9842076259, 9842207351, 9842338427, 9842469523, + 9842600623, 9842731733, 9842862833, 9842993939, 9843125023, 9843256117, 9843387199, + 9843518297, 9843649373, 9843780451, 9843911537, 9844042631, 9844173707, 9844304779, + 9844435879, 9844567027, 9844698103, 9844829207, 9844960283, 9845091367, 9845222447, + 9845353523, 9845484599, 9845615683, 9845746783, 9845877869, 9846008951, 9846140047, + 9846271121, 9846402229, 9846533371, 9846664483, 9846795557, 9846926629, 9847057709, + 9847188809, 9847319927, 9847450999, 9847582093, 9847713191, 9847844263, 9847975391, + 9848106523, 9848237621, 9848368693, 9848499769, 9848630851, 9848761927, 9848893051, + 9849024149, 9849155227, 9849286331, 9849417421, 9849548537, 9849679627, 9849810703, + 9849941779, 9850072861, 9850203943, 9850335127, 9850466251, 9850597333, 9850728469, + 9850859569, 9850990673, 9851121757, 9851252839, 9851383933, 9851515007, 9851646121, + 9851777203, 9851908307, 9852039437, 9852170509, 9852301603, 9852432683, 9852563767, + 9852694847, 9852825937, 9852957011, 9853088083, 9853219199, 9853350323, 9853481399, + 9853612513, 9853743619, 9853874731, 9854005823, 9854136899, 9854267971, 9854399069, + 9854530141, 9854661233, 9854792327, 9854923417, 9855054527, 9855185611, 9855316699, + 9855447781, 9855578857, 9855709933, 9855841013, 9855972097, 9856103177, 9856234253, + 9856365331, 9856496471, 9856627553, 9856758631, 9856889759, 9857020843, 9857151917, + 9857283013, 9857414087, 9857545163, 9857676239, 9857807317, 9857938399, 9858069493, + 9858200581, 9858331657, 9858462749, 9858593827, 9858724903, 9858855989, 9858987113, + 9859118207, 9859249303, 9859380389, 9859511461, 9859642549, 9859773631, 9859904713, + 9860035793, 9860166871, 9860297957, 9860429057, 9860560153, 9860691229, 9860822359, + 9860953447, 9861084529, 9861215603, 9861346679, 9861477751, 9861608837, 9861739919, + 9861871013, 9862002091, 9862133167, 9862264253, 9862395401, 9862526473, 9862657549, + 9862788623, 9862919743, 9863050859, 9863181943, 9863313107, 9863444197, 9863575273, + 9863706361, 9863837443, 9863968549, 9864099647, 9864230743, 9864361853, 9864492943, + 9864624019, 9864755113, 9864886193, 9865017287, 9865148393, 9865279471, 9865410547, + 9865541629, 9865672709, 9865803803, 9865934917, 9866066083, 9866197169, 9866328247, + 9866459347, 9866590423, 9866721499, 9866852573, 9866983661, 9867114757, 9867245833, + 9867376949, 9867508069, 9867639149, 9867770233, 9867901319, 9868032407, 9868163483, + 9868294571, 9868425647, 9868556723, 9868687817, 9868818889, 9868949969, 9869081051, + 9869212153, 9869343283, 9869474357, 9869605429, 9869736509, 9869867653, 9869998741, + 9870129839, 9870260921, 9870392053, 9870523129, 9870654251, 9870785329, 9870916421, + 9871047493, 9871178567, 9871309667, 9871440749, 9871571861, 9871702969, 9871834043, + 9871965149, 9872096243, 9872227363, 9872358449, 9872489527, 9872620601, 9872751719, + 9872882797, 9873013919, 9873145021, 9873276097, 9873407177, 9873538291, 9873669367, + 9873800527, 9873931603, 9874062691, 9874193773, 9874324847, 9874455923, 9874587001, + 9874718089, 9874849199, 9874980407, 9875111503, 9875242607, 9875373721, 9875504813, + 9875635897, 9875766991, 9875898073, 9876029161, 9876160249, 9876291343, 9876422417, + 9876553499, 9876684589, 9876815699, 9876946789, 9877077907, 9877208983, 9877340089, + 9877471207, 9877602299, 9877733377, 9877864483, 9877995559, 9878126647, 9878257721, + 9878388809, 9878519899, 9878650993, 9878782073, 9878913151, 9879044251, 9879175331, + 9879306419, 9879437551, 9879568627, 9879699701, 9879830783, 9879961873, 9880092949, + 9880224023, 9880355099, 9880486177, 9880617287, 9880748377, 9880879469, 9881010541, + 9881141623, 9881272711, 9881403787, 9881534863, 9881665943, 9881797049, 9881928151, + 9882059249, 9882190361, 9882321437, 9882452533, 9882583609, 9882714691, 9882845771, + 9882976919, 9883107991, 9883239073, 9883370173, 9883501247, 9883632457, 9883763551, + 9883894663, 9884025763, 9884156851, 9884287967, 9884419043, 9884550131, 9884681203, + 9884812277, 9884943353, 9885074429, 9885205501, 9885336577, 9885467677, 9885598759, + 9885729851, 9885860951, 9885992041, 9886123123, 9886254221, 9886385293, 9886516369, + 9886647469, 9886778549, 9886909631, 9887040719, 9887171803, 9887302883, 9887433961, + 9887565073, 9887696153, 9887827247, 9887958331, 9888089411, 9888220487, 9888351569, + 9888482677, 9888613751, 9888744863, 9888875939, 9889007027, 9889138099, 9889269191, + 9889400291, 9889531381, 9889662457, 9889793591, 9889924673, 9890055781, 9890186879, + 9890317999, 9890449099, 9890580179, 9890711251, 9890842349, 9890973427, 9891104507, + 9891235589, 9891366671, 9891497773, 9891628847, 9891759923, 9891891007, 9892022081, + 9892153153, 9892284247, 9892415321, 9892546409, 9892677533, 9892808609, 9892939691, + 9893070779, 9893201861, 9893332951, 9893464039, 9893595121, 9893726233, 9893857321, + 9893988397, 9894119471, 9894250621, 9894381697, 9894512833, 9894643937, 9894775039, + 9894906149, 9895037237, 9895168321, 9895299397, 9895430509, 9895561619, 9895692713, + 9895823831, 9895954931, 9896086021, 9896217131, 9896348221, 9896479321, 9896610431, + 9896741513, 9896872597, 9897003703, 9897134801, 9897265877, 9897396953, 9897528029, + 9897659111, 9897790187, 9897921263, 9898052363, 9898183453, 9898314529, 9898445647, + 9898576729, 9898707803, 9898838879, 9898969957, 9899101039, 9899232121, 9899363213, + 9899494307, 9899625409, 9899756509, 9899887583, 9900018677, 9900149771, 9900280843, + 9900411919, 9900543017, 9900674089, 9900805199, 9900936277, 9901067353, 9901198441, + 9901329551, 9901460627, 9901591709, 9901722781, 9901853861, 9901984969, 9902116043, + 9902247139, 9902378231, 9902509307, 9902640389, 9902771531, 9902902643, 9903033727, + 9903164813, 9903295903, 9903426983, 9903558061, 9903689137, 9903820219, 9903951313, + 9904082393, 9904213493, 9904344607, 9904475681, 9904606757, 9904737851, 9904868923, + 9905000009, 9905131081, 9905262163, 9905393243, 9905524327, 9905655439, 9905786519, + 9905917591, 9906048673, 9906179753, 9906310831, 9906441917, 9906572989, 9906704107, + 9906835189, 9906966271, 9907097381, 9907228453, 9907359551, 9907490641, 9907621721, + 9907752817, 9907883893, 9908014967, 9908146081, 9908277163, 9908408243, 9908539339, + 9908670419, 9908801491, 9908932567, 9909063643, 9909194723, 9909325813, 9909456899, + 9909588037, 9909719123, 9909850211, 9909981307, 9910112389, 9910243471, 9910374571, + 9910505651, 9910636751, 9910767833, 9910898917, 9911029993, 9911161093, 9911292169, + 9911423243, 9911554321, 9911685479, 9911816567, 9911947709, 9912078791, 9912209899, + 9912340979, 9912472061, 9912603137, 9912734243, 9912865343, 9912996421, 9913127531, + 9913258651, 9913389743, 9913520819, 9913651921, 9913783001, 9913914091, 9914045177, + 9914176303, 9914307391, 9914438467, 9914569549, 9914700683, 9914831803, 9914962877, + 9915093949, 9915225029, 9915356159, 9915487277, 9915618359, 9915749447, 9915880523, + 9916011647, 9916142729, 9916273813, 9916404919, 9916536041, 9916667113, 9916798187, + 9916929307, 9917060399, 9917191481, 9917322581, 9917453653, 9917584741, 9917715881, + 9917846969, 9917978053, 9918109147, 9918240221, 9918371299, 9918502387, 9918633467, + 9918764561, 9918895669, 9919026743, 9919157819, 9919288921, 9919420001, 9919551107, + 9919682191, 9919813307, 9919944389, 9920075479, 9920206561, 9920337649, 9920468731, + 9920599807, 9920730923, 9920862019, 9920993107, 9921124193, 9921255287, 9921386393, + 9921517511, 9921648623, 9921779701, 9921910783, 9922041869, 9922172977, 9922304069, + 9922435147, 9922566233, 9922697327, 9922828403, 9922959499, 9923090609, 9923221723, + 9923352797, 9923483881, 9923614957, 9923746103, 9923877281, 9924008371, 9924139447, + 9924270533, 9924401609, 9924532687, 9924663781, 9924794879, 9924925951, 9925057027, + 9925188101, 9925319189, 9925450307, 9925581397, 9925712473, 9925843547, 9925974629, + 9926105711, 9926236807, 9926367883, 9926498957, 9926630029, 9926761111, 9926892187, + 9927023291, 9927154381, 9927285463, 9927416669, 9927547759, 9927678841, 9927809929, + 9927941017, 9928072103, 9928203203, 9928334281, 9928465357, 9928596437, 9928727513, + 9928858607, 9928989683, 9929120777, 9929251879, 9929382959, 9929514043, 9929645137, + 9929776217, 9929907329, 9930038401, 9930169499, 9930300571, 9930431669, 9930562769, + 9930693863, 9930824999, 9930956117, 9931087213, 9931218307, 9931349383, 9931480513, + 9931611587, 9931742699, 9931873789, 9932004869, 9932135951, 9932267027, 9932398111, + 9932529247, 9932660321, 9932791397, 9932922479, 9933053551, 9933184633, 9933315719, + 9933446797, 9933577883, 9933708979, 9933840071, 9933971197, 9934102273, 9934233377, + 9934364483, 9934495559, 9934626661, 9934757759, 9934888837, 9935019917, 9935151011, + 9935282083, 9935413217, 9935544337, 9935675443, 9935806549, 9935937629, 9936068717, + 9936199807, 9936330881, 9936461957, 9936593033, 9936724117, 9936855211, 9936986299, + 9937117451, 9937248553, 9937379687, 9937510771, 9937642051, 9937773127, 9937904201, + 9938035277, 9938166349, 9938297431, 9938428523, 9938559619, 9938690759, 9938821883, + 9938953043, 9939084121, 9939215197, 9939346271, 9939477389, 9939608473, 9939739549, + 9939870631, 9940001717, 9940132823, 9940263913, 9940394999, 9940526107, 9940657267, + 9940788343, 9940919419, 9941050499, 9941181583, 9941312713, 9941443817, 9941574889, + 9941706011, 9941837083, 9941968159, 9942099241, 9942230327, 9942361411, 9942492487, + 9942623591, 9942754667, 9942885739, 9943016827, 9943147937, 9943279009, 9943410097, + 9943541177, 9943672261, 9943803341, 9943934417, 9944065553, 9944196629, 9944327707, + 9944458781, 9944589859, 9944720963, 9944852039, 9944983129, 9945114229, 9945245329, + 9945376403, 9945507491, 9945638579, 9945769651, 9945900761, 9946031833, 9946162913, + 9946293997, 9946425077, 9946556153, 9946687229, 9946818311, 9946949401, 9947080523, + 9947211619, 9947342731, 9947473817, 9947604923, 9947735999, 9947867077, 9947998153, + 9948129227, 9948260341, 9948391417, 9948522503, 9948653639, 9948784721, 9948915881, + 9949046963, 9949178053, 9949309129, 9949440203, 9949571309, 9949702391, 9949833473, + 9949964597, 9950095679, 9950226751, 9950357887, 9950488963, 9950620051, 9950751133, + 9950882251, 9951013343, 9951144433, 9951275561, 9951406639, 9951537737, 9951668813, + 9951799903, 9951930977, 9952062097, 9952193171, 9952324301, 9952455389, 9952586467, + 9952717561, 9952848677, 9952979791, 9953110877, 9953242001, 9953373083, 9953504177, + 9953635277, 9953766391, 9953897489, 9954028627, 9954159713, 9954290791, 9954421871, + 9954552943, 9954684059, 9954815131, 9954946231, 9955077313, 9955208399, 9955339487, + 9955470559, 9955601641, 9955732733, 9955863851, 9955994941, 9956126023, 9956257097, + 9956388179, 9956519269, 9956650367, 9956781449, 9956912527, 9957043627, 9957174701, + 9957305833, 9957436927, 9957568037, 9957699121, 9957830227, 9957961301, 9958092401, + 9958223489, 9958354579, 9958485679, 9958616753, 9958747847, 9958878931, 9959010007, + 9959141089, 9959272171, 9959403277, 9959534357, 9959665433, 9959796521, 9959927599, + 9960058699, 9960189779, 9960320861, 9960451981, 9960583097, 9960714173, 9960845261, + 9960976351, 9961107433, 9961238537, 9961369661, 9961500743, 9961631833, 9961762913, + 9961894003, 9962025089, 9962156161, 9962287253, 9962418373, 9962549477, 9962680573, + 9962811647, 9962942747, 9963073847, 9963204919, 9963335999, 9963467081, 9963598159, + 9963729241, 9963860341, 9963991441, 9964122523, 9964253599, 9964384673, 9964515773, + 9964646969, 9964778053, 9964909237, 9965040311, 9965171387, 9965302517, 9965433593, + 9965564671, 9965695763, 9965826847, 9965957941, 9966089041, 9966220153, 9966351229, + 9966482321, 9966613399, 9966744503, 9966875603, 9967006697, 9967137769, 9967268863, + 9967399951, 9967531039, 9967662121, 9967793197, 9967924327, 9968055463, 9968186551, + 9968317651, 9968448751, 9968579837, 9968710919, 9968842003, 9968973083, 9969104161, + 9969235247, 9969366373, 9969497491, 9969628573, 9969759659, 9969890803, 9970021877, + 9970152949, 9970284043, 9970415131, 9970546211, 9970677317, 9970808389, 9970939463, + 9971070559, 9971201663, 9971332741, 9971463839, 9971594911, 9971725987, 9971857117, + 9971988203, 9972119299, 9972250391, 9972381479, 9972512581, 9972643657, 9972774811, + 9972905893, 9973036967, 9973168057, 9973299131, 9973430231, 9973561337, 9973692433, + 9973823513, 9973954607, 9974085679, 9974216767, 9974347843, 9974478923, 9974610013, + 9974741093, 9974872183, 9975003263, 9975134341, 9975265441, 9975396517, 9975527609, + 9975658727, 9975789799, 9975920881, 9976051991, 9976183097, 9976314191, 9976445279, + 9976576367, 9976707443, 9976838519, 9976969621, 9977100719, 9977231791, 9977362877, + 9977493979, 9977625089, 9977756177, 9977887279, 9978018353, 9978149453, 9978280537, + 9978411629, 9978542711, 9978673801, 9978804893, 9978935999, 9979067071, 9979198153, + 9979329259, 9979460353, 9979591439, 9979722539, 9979853627, 9979984699, 9980115779, + 9980246863, 9980377951, 9980509043, 9980640133, 9980771221, 9980902313, 9981033397, + 9981164483, 9981295591, 9981426713, 9981557801, 9981688883, 9981820021, 9981951107, + 9982082191, 9982213271, 9982344371, 9982475443, 9982606523, 9982737619, 9982868729, + 9982999849, 9983130943, 9983262043, 9983393137, 9983524211, 9983655299, 9983786383, + 9983917477, 9984048551, 9984179627, 9984310717, 9984441821, 9984572933, 9984704063, + 9984835139, 9984966223, 9985097357, 9985228471, 9985359577, 9985490653, 9985621727, + 9985752823, 9985883909, 9986015047, 9986146129, 9986277209, 9986408281, 9986539391, + 9986670511, 9986801611, 9986932691, 9987063767, 9987194857, 9987325963, 9987457061, + 9987588137, 9987719233, 9987850309, 9987981433, 9988112531, 9988243607, 9988374679, + 9988505773, 9988636901, 9988767973, 9988899061, 9989030137, 9989161243, 9989292319, + 9989423419, 9989554517, 9989685623, 9989816729, 9989947817, 9990078893, 9990209989, + 9990341069, 9990472237, 9990603323, 9990734401, 9990865517, 9990996607, 9991127683, + 9991258757, 9991389833, 9991520909, 9991652059, 9991783199, 9991914281, 9992045363, + 9992176459, 9992307551, 9992438623, 9992569747, 9992700821, 9992831929, 9992963017, + 9993094103, 9993225191, 9993356281, 9993487363, 9993618451, 9993749611, 9993880697, + 9994011809, 9994142881, 9994273987, 9994405159, 9994536239, 9994667327, 9994798427, + 9994929517, 9995060617, 9995191697, 9995322797, 9995453869, 9995584943, 9995716033, + 9995847137, 9995978221, 9996109301, 9996240391, 9996371479, 9996502561, 9996633697, + 9996764797, 9996895871, 9997026989, 9997158071, 9997289143, 9997420229, 9997551307, + 9997682381, 9997813453, 9997944547, 9998075629, 9998206709, 9998337821, 9998468899, + 9998600009, 9998731091, 9998862163, 9998993243, 9999124337, 9999255433, 9999386533, + 9999517631, 9999648707, 9999779809, 9999910883, 10000042001, 10000173089, 10000304161, + 10000435261, 10000566361, 10000697449, 10000828601, 10000959673, 10001090747, 10001221849, + 10001352941, 10001484019, 10001615093, 10001746211, 10001877299, 10002008417, 10002139507, + 10002270599, 10002401701, 10002532829, 10002663907, 10002794981, 10002926117, 10003057199, + 10003188329, 10003319437, 10003450517, 10003581589, 10003712671, 10003843763, 10003974899, + 10004105977, 10004237051, 10004368123, 10004499217, 10004630327, 10004761447, 10004892533, + 10005023659, 10005154759, 10005285839, 10005416947, 10005548027, 10005679127, 10005810203, + 10005941293, 10006072423, 10006203497, 10006334579, 10006465661, 10006596737, 10006727821, + 10006858921, 10006990027, 10007121133, 10007252209, 10007383291, 10007514367, 10007645441, + 10007776553, 10007907631, 10008038723, 10008169811, 10008300971, 10008432047, 10008563129, + 10008694229, 10008825317, 10008956389, 10009087469, 10009218547, 10009349629, 10009480709, + 10009611811, 10009742903, 10009874009, 10010005091, 10010136179, 10010267269, 10010398397, + 10010529481, 10010660563, 10010791657, 10010922731, 10011053809, 10011184889, 10011315983, + 10011447109, 10011578197, 10011709289, 10011840367, 10011971447, 10012102601, 10012233739, + 10012364819, 10012495937, 10012627019, 10012758097, 10012889171, 10013020249, 10013151353, + 10013282471, 10013413583, 10013544703, 10013675803, 10013806877, 10013937953, 10014069029, + 10014200123, 10014331211, 10014462317, 10014593401, 10014724481, 10014855553, 10014986627, + 10015117699, 10015248773, 10015379849, 10015510933, 10015642009, 10015773101, 10015904177, + 10016035261, 10016166353, 10016297453, 10016428553, 10016559643, 10016690759, 10016821847, + 10016952919, 10017084023, 10017215107, 10017346217, 10017477313, 10017608473, 10017739561, + 10017870637, 10018001729, 10018132801, 10018263919, 10018394999, 10018526081, 10018657163, + 10018788281, 10018919381, 10019050463, 10019181539, 10019312657, 10019443781, 10019574853, + 10019705953, 10019837053, 10019968129, 10020099211, 10020230303, 10020361469, 10020492557, + 10020623677, 10020754753, 10020885871, 10021016953, 10021148029, 10021279109, 10021410181, + 10021541303, 10021672387, 10021803469, 10021934551, 10022065723, 10022196803, 10022327881, + 10022458969, 10022590049, 10022721143, 10022852219, 10022983291, 10023114373, 10023245461, + 10023376541, 10023507629, 10023638701, 10023769793, 10023900883, 10024031959, 10024163087, + 10024294211, 10024425311, 10024556387, 10024687459, 10024818539, 10024949633, 10025080717, + 10025211793, 10025342897, 10025473987, 10025605067, 10025736139, 10025867213, 10025998289, + 10026129367, 10026260479, 10026391553, 10026522629, 10026653743, 10026784837, 10026915937, + 10027047011, 10027178087, 10027309163, 10027440251, 10027571377, 10027702499, 10027833649, + 10027964747, 10028095849, 10028226931, 10028358031, 10028489113, 10028620201, 10028751277, + 10028882371, 10029013499, 10029144581, 10029275653, 10029406727, 10029537851, 10029668923, + 10029799999, 10029931091, 10030062179, 10030193267, 10030324361, 10030455437, 10030586509, + 10030717591, 10030848671, 10030979753, 10031110841, 10031241923, 10031373007, 10031504089, + 10031635183, 10031766259, 10031897333, 10032028453, 10032159551, 10032290623, 10032421697, + 10032552773, 10032683861, 10032814937, 10032946019, 10033077107, 10033208209, 10033339297, + 10033470407, 10033601509, 10033732603, 10033863701, 10033994777, 10034125879, 10034256997, + 10034388079, 10034519167, 10034650261, 10034781397, 10034912477, 10035043621, 10035174733, + 10035305809, 10035436903, 10035568033, 10035699133, 10035830213, 10035961391, 10036092509, + 10036223597, 10036354693, 10036485791, 10036616899, 10036747979, 10036879051, 10037010127, + 10037141201, 10037272307, 10037403403, 10037534501, 10037665577, 10037796649, 10037927741, + 10038058813, 10038189893, 10038320983, 10038452069, 10038583193, 10038714271, 10038845353, + 10038976427, 10039107523, 10039238597, 10039369673, 10039500767, 10039631851, 10039762939, + 10039894037, 10040025133, 10040156239, 10040287321, 10040418407, 10040549501, 10040680589, + 10040811673, 10040942777, 10041073859, 10041204961, 10041336037, 10041467119, 10041598247, + 10041729329, 10041860419, 10041991507, 10042122617, 10042253699, 10042384771, 10042515863, + 10042646993, 10042778077, 10042909157, 10043040263, 10043171363, 10043302453, 10043433527, + 10043564599, 10043695687, 10043826761, 10043957863, 10044088961, 10044220051, 10044351131, + 10044482207, 10044613301, 10044744397, 10044875473, 10045006549, 10045137623, 10045268731, + 10045399843, 10045530917, 10045661993, 10045793123, 10045924219, 10046055301, 10046186377, + 10046317483, 10046448583, 10046579657, 10046710763, 10046841839, 10046972911, 10047103991, + 10047235087, 10047366211, 10047497311, 10047628441, 10047759541, 10047890621, 10048021721, + 10048152811, 10048283941, 10048415017, 10048546111, 10048677229, 10048808309, 10048939423, + 10049070497, 10049201579, 10049332669, 10049463821, 10049594957, 10049726047, 10049857133, + 10049988217, 10050119311, 10050250403, 10050381527, 10050512609, 10050643699, 10050774791, + 10050905863, 10051036979, 10051168069, 10051299157, 10051430273, 10051561379, 10051692467, + 10051823599, 10051954681, 10052085773, 10052216897, 10052347999, 10052479081, 10052610203, + 10052741299, 10052872381, 10053003469, 10053134563, 10053265667, 10053396739, 10053527831, + 10053658919, 10053790001, 10053921077, 10054052189, 10054183267, 10054314353, 10054445431, + 10054576517, 10054707599, 10054838693, 10054969807, 10055100907, 10055231981, 10055363057, + 10055494139, 10055625211, 10055756287, 10055887363, 10056018457, 10056149557, 10056280643, + 10056411731, 10056542819, 10056673897, 10056804973, 10056936049, 10057067123, 10057198223, + 10057329367, 10057460489, 10057591589, 10057722671, 10057853801, 10057984877, 10058115973, + 10058247077, 10058378167, 10058509243, 10058640349, 10058771467, 10058902571, 10059033643, + 10059164743, 10059295817, 10059426913, 10059558043, 10059689117, 10059820213, 10059951287, + 10060082377, 10060213517, 10060344607, 10060475731, 10060606807, 10060737959, 10060869061, + 10061000149, 10061131243, 10061262361, 10061393453, 10061524541, 10061655619, 10061786729, + 10061917819, 10062048959, 10062180071, 10062311159, 10062442249, 10062573349, 10062704459, + 10062835561, 10062966659, 10063097743, 10063228817, 10063359907, 10063491079, 10063622183, + 10063753267, 10063884367, 10064015441, 10064146567, 10064277679, 10064408759, 10064539843, + 10064670929, 10064802019, 10064933129, 10065064259, 10065195331, 10065326449, 10065457543, + 10065588619, 10065719693, 10065850829, 10065981907, 10066112989, 10066244107, 10066375213, + 10066506319, 10066637419, 10066768493, 10066899569, 10067030647, 10067161739, 10067292817, + 10067423893, 10067554999, 10067686099, 10067817173, 10067948249, 10068079331, 10068210403, + 10068341489, 10068472567, 10068603653, 10068734737, 10068865811, 10068996923, 10069128023, + 10069259117, 10069390189, 10069521271, 10069652371, 10069783459, 10069914551, 10070045639, + 10070176811, 10070307887, 10070438981, 10070570077, 10070701159, 10070832241, 10070963317, + 10071094391, 10071225469, 10071356557, 10071487639, 10071618719, 10071749819, 10071880891, + 10072011973, 10072143061, 10072274141, 10072405271, 10072536361, 10072667441, 10072798523, + 10072929613, 10073060717, 10073191841, 10073322947, 10073454073, 10073585147, 10073716243, + 10073847359, 10073978437, 10074109511, 10074240587, 10074371663, 10074502747, 10074633827, + 10074764899, 10074896009, 10075027087, 10075158161, 10075289251, 10075420373, 10075551457, + 10075682549, 10075813633, 10075944721, 10076075833, 10076206913, 10076338007, 10076469083, + 10076600167, 10076731243, 10076862329, 10076993461, 10077124553, 10077255641, 10077386713, + 10077517811, 10077648923, 10077780007, 10077911099, 10078042207, 10078173349, 10078304461, + 10078435547, 10078566629, 10078697701, 10078828801, 10078959883, 10079091017, 10079222093, + 10079353183, 10079484307, 10079615411, 10079746483, 10079877589, 10080008693, 10080139777, + 10080270857, 10080401959, 10080533051, 10080664141, 10080795217, 10080926293, 10081057367, + 10081188497, 10081319623, 10081450723, 10081581817, 10081712891, 10081843969, 10081975051, + 10082106127, 10082237257, 10082368333, 10082499457, 10082630531, 10082761613, 10082892691, + 10083023767, 10083154847, 10083286009, 10083417163, 10083548263, 10083679337, 10083810413, + 10083941501, 10084072573, 10084203673, 10084334761, 10084465877, 10084596953, 10084728089, + 10084859171, 10084990243, 10085121317, 10085252399, 10085383471, 10085514553, 10085645651, + 10085776769, 10085907857, 10086038933, 10086170011, 10086301091, 10086432217, 10086563321, + 10086694399, 10086825499, 10086956573, 10087087693, 10087218773, 10087349903, 10087480979, + 10087612103, 10087743209, 10087874297, 10088005373, 10088136463, 10088267543, 10088398643, + 10088529719, 10088660849, 10088791963, 10088923063, 10089054137, 10089185233, 10089316339, + 10089447437, 10089578533, 10089709649, 10089840779, 10089971861, 10090102937, 10090234013, + 10090365107, 10090496179, 10090627289, 10090758383, 10090889467, 10091020543, 10091151619, + 10091282723, 10091413831, 10091544907, 10091676031, 10091807107, 10091938189, 10092069277, + 10092200387, 10092331463, 10092462553, 10092593639, 10092724717, 10092855797, 10092986879, + 10093117967, 10093249043, 10093380151, 10093511231, 10093642313, 10093773401, 10093904477, + 10094035561, 10094166637, 10094297737, 10094428811, 10094559883, 10094690959, 10094822047, + 10094953147, 10095084227, 10095215303, 10095346379, 10095477479, 10095608563, 10095739657, + 10095870779, 10096001887, 10096132967, 10096264039, 10096395121, 10096526201, 10096657279, + 10096788367, 10096919479, 10097050571, 10097181649, 10097312759, 10097443871, 10097574953, + 10097706029, 10097837107, 10097968201, 10098099283, 10098230369, 10098361451, 10098492529, + 10098623621, 10098754697, 10098885821, 10099016899, 10099147979, 10099279061, 10099410179, + 10099541261, 10099672367, 10099803449, 10099934521, 10100065597, 10100196671, 10100327767, + 10100458847, 10100589931, 10100721017, 10100852089, 10100983171, 10101114271, 10101245359, + 10101376457, 10101507601, 10101638689, 10101769787, 10101900917, 10102032001, 10102163083, + 10102294177, 10102425283, 10102556413, 10102687489, 10102818577, 10102949653, 10103080753, + 10103211857, 10103342941, 10103474023, 10103605097, 10103736169, 10103867273, 10103998349, + 10104129439, 10104260531, 10104391603, 10104522683, 10104653759, 10104784861, 10104915941, + 10105047019, 10105178117, 10105309219, 10105440329, 10105571407, 10105702489, 10105833581, + 10105964699, 10106095771, 10106226859, 10106357953, 10106489033, 10106620151, 10106751229, + 10106882321, 10107013429, 10107144511, 10107275609, 10107406681, 10107537757, 10107668911, + 10107799991, 10107931109, 10108062199, 10108193327, 10108324439, 10108455517, 10108586639, + 10108717721, 10108848811, 10108979897, 10109110981, 10109242057, 10109373133, 10109504219, + 10109635313, 10109766413, 10109897509, 10110028589, 10110159679, 10110290753, 10110421829, + 10110552913, 10110684037, 10110815123, 10110946217, 10111077289, 10111208389, 10111339499, + 10111470583, 10111601657, 10111732747, 10111863841, 10111994917, 10112126009, 10112257091, + 10112388191, 10112519299, 10112650393, 10112781491, 10112912569, 10113043643, 10113174763, + 10113305843, 10113436919, 10113568081, 10113699181, 10113830263, 10113961343, 10114092419, + 10114223519, 10114354597, 10114485673, 10114616749, 10114747823, 10114878919, 10115010023, + 10115141123, 10115272199, 10115403271, 10115534371, 10115665453, 10115796529, 10115927603, + 10116058681, 10116189781, 10116320857, 10116451931, 10116583019, 10116714107, 10116845281, + 10116976393, 10117107487, 10117238567, 10117369643, 10117500739, 10117631813, 10117762909, + 10117893991, 10118025077, 10118156201, 10118287327, 10118418407, 10118549479, 10118680571, + 10118811653, 10118942731, 10119073841, 10119204937, 10119336061, 10119467143, 10119598231, + 10119729331, 10119860449, 10119991537, 10120122637, 10120253711, 10120384783, 10120515857, + 10120646929, 10120778029, 10120909111, 10121040187, 10121171261, 10121302349, 10121433431, + 10121564561, 10121695651, 10121826751, 10121957827, 10122088913, 10122219997, 10122351097, + 10122482179, 10122613271, 10122744347, 10122875429, 10123006513, 10123137587, 10123268663, + 10123399771, 10123530853, 10123662013, 10123793089, 10123924177, 10124055289, 10124186363, + 10124317457, 10124448571, 10124579657, 10124710781, 10124841869, 10124972959, 10125104039, + 10125235117, 10125366203, 10125497287, 10125628391, 10125759467, 10125890569, 10126021649, + 10126152721, 10126283813, 10126414891, 10126546037, 10126677109, 10126808227, 10126939327, + 10127070403, 10127201477, 10127332549, 10127463649, 10127594731, 10127725831, 10127856917, + 10127987993, 10128119077, 10128250159, 10128381259, 10128512333, 10128643409, 10128774497, + 10128905593, 10129036669, 10129167743, 10129298849, 10129429951, 10129561037, 10129692119, + 10129823203, 10129954309, 10130085397, 10130216501, 10130347573, 10130478689, 10130609771, + 10130740889, 10130871983, 10131003083, 10131134171, 10131265247, 10131396343, 10131527423, + 10131658499, 10131789589, 10131920663, 10132051757, 10132182829, 10132313921, 10132444997, + 10132576081, 10132707157, 10132838267, 10132969361, 10133100433, 10133231519, 10133362597, + 10133493677, 10133624771, 10133755871, 10133886947, 10134018031, 10134149107, 10134280181, + 10134411281, 10134542381, 10134673459, 10134804577, 10134935677, 10135066757, 10135197841, + 10135328927, 10135460021, 10135591133, 10135722229, 10135853359, 10135984483, 10136115557, + 10136246629, 10136377709, 10136508817, 10136639899, 10136771011, 10136902093, 10137033187, + 10137164287, 10137295367, 10137426443, 10137557537, 10137688657, 10137819737, 10137950831, + 10138081939, 10138213027, 10138344107, 10138475189, 10138606267, 10138737347, 10138868423, + 10138999501, 10139130581, 10139261653, 10139392759, 10139523847, 10139654927, 10139786009, + 10139917111, 10140048221, 10140179299, 10140310381, 10140441463, 10140572537, 10140703613, + 10140834701, 10140965803, 10141096883, 10141227959, 10141359047, 10141490171, 10141621253, + 10141752337, 10141883413, 10142014489, 10142145571, 10142276647, 10142407739, 10142538907, + 10142670053, 10142801131, 10142932277, 10143063367, 10143194443, 10143325529, 10143456667, + 10143587749, 10143718927, 10143850001, 10143981077, 10144112161, 10144243273, 10144374367, + 10144505461, 10144636547, 10144767671, 10144898749, 10145029831, 10145160917, 10145292013, + 10145423089, 10145554169, 10145685241, 10145816321, 10145947397, 10146078473, 10146209599, + 10146340679, 10146471757, 10146602831, 10146733903, 10146864983, 10146996077, 10147127183, + 10147258271, 10147389361, 10147520441, 10147651583, 10147782661, 10147913759, 10148044867, + 10148175977, 10148307073, 10148438159, 10148569253, 10148700329, 10148831419, 10148962501, + 10149093583, 10149224681, 10149355757, 10149486833, 10149617911, 10149749009, 10149880087, + 10150011161, 10150142243, 10150273319, 10150404401, 10150535501, 10150666597, 10150797673, + 10150928761, 10151059861, 10151190937, 10151322019, 10151453111, 10151584211, 10151715307, + 10151846417, 10151977513, 10152108587, 10152239663, 10152370747, 10152501823, 10152632911, + 10152764033, 10152895111, 10153026193, 10153157359, 10153288447, 10153419571, 10153550717, + 10153681793, 10153812917, 10153944041, 10154075117, 10154206207, 10154337311, 10154468399, + 10154599471, 10154730563, 10154861653, 10154992753, 10155123877, 10155254951, 10155386027, + 10155517111, 10155648193, 10155779279, 10155910351, 10156041499, 10156172627, 10156303739, + 10156434811, 10156565891, 10156696967, 10156828049, 10156959121, 10157090197, 10157221271, + 10157352379, 10157483473, 10157614549, 10157745671, 10157876749, 10158007823, 10158138917, + 10158270013, 10158401093, 10158532169, 10158663289, 10158794417, 10158925489, 10159056679, + 10159187771, 10159318843, 10159449977, 10159581109, 10159712203, 10159843303, 10159974397, + 10160105477, 10160236549, 10160367631, 10160498743, 10160629849, 10160760931, 10160892059, + 10161023149, 10161154319, 10161285397, 10161416471, 10161547573, 10161678647, 10161809719, + 10161940807, 10162071893, 10162202993, 10162334089, 10162465169, 10162596259, 10162727431, + 10162858507, 10162989581, 10163120711, 10163251817, 10163382907, 10163513989, 10163645069, + 10163776159, 10163907301, 10164038449, 10164169553, 10164300631, 10164431731, 10164562817, + 10164693893, 10164824981, 10164956057, 10165087129, 10165218211, 10165349297, 10165480373, + 10165611503, 10165742591, 10165873693, 10166004767, 10166135869, 10166266969, 10166398049, + 10166529169, 10166660249, 10166791331, 10166922413, 10167053509, 10167184591, 10167315673, + 10167446767, 10167577841, 10167708917, 10167839993, 10167971137, 10168102229, 10168233343, + 10168364419, 10168495517, 10168626599, 10168757681, 10168888771, 10169019899, 10169151043, + 10169282153, 10169413231, 10169544367, 10169675447, 10169806529, 10169937601, 10170068791, + 10170199873, 10170330949, 10170462037, 10170593117, 10170724199, 10170855271, 10170986369, + 10171117471, 10171248551, 10171379663, 10171510829, 10171641901, 10171773019, 10171904101, + 10172035183, 10172166271, 10172297351, 10172428439, 10172559533, 10172690623, 10172821721, + 10172952809, 10173083923, 10173215027, 10173346121, 10173477217, 10173608293, 10173739379, + 10173870479, 10174001557, 10174132663, 10174263769, 10174394849, 10174525931, 10174657019, + 10174788137, 10174919233, 10175050321, 10175181403, 10175312479, 10175443609, 10175574701, + 10175705779, 10175836871, 10175967943, 10176099019, 10176230117, 10176361189, 10176492307, + 10176623399, 10176754513, 10176885599, 10177016687, 10177147763, 10177278841, 10177409933, + 10177541029, 10177672111, 10177803187, 10177934281, 10178065379, 10178196487, 10178327623, + 10178458699, 10178589787, 10178720873, 10178851973, 10178983051, 10179114161, 10179245273, + 10179376357, 10179507461, 10179638593, 10179769679, 10179900767, 10180031879, 10180162957, + 10180294049, 10180425127, 10180556249, 10180687351, 10180818433, 10180949533, 10181080619, + 10181211701, 10181342797, 10181473889, 10181604967, 10181736041, 10181867123, 10181998231, + 10182129319, 10182260401, 10182391481, 10182522557, 10182653707, 10182784823, 10182915943, + 10183047029, 10183178107, 10183309187, 10183440287, 10183571369, 10183702469, 10183833547, + 10183964639, 10184095721, 10184226809, 10184357891, 10184488967, 10184620057, 10184751169, + 10184882243, 10185013343, 10185144419, 10185275509, 10185406597, 10185537679, 10185668833, + 10185799913, 10185930991, 10186062067, 10186193209, 10186324321, 10186455397, 10186586483, + 10186717573, 10186848673, 10186979767, 10187110883, 10187241973, 10187373061, 10187504141, + 10187635247, 10187766353, 10187897437, 10188028517, 10188159601, 10188290677, 10188421751, + 10188552833, 10188683927, 10188815009, 10188946081, 10189077163, 10189208251, 10189339327, + 10189470407, 10189601479, 10189732559, 10189863637, 10189994761, 10190125843, 10190256961, + 10190388071, 10190519149, 10190650231, 10190781331, 10190912419, 10191043543, 10191174659, + 10191305777, 10191436859, 10191567941, 10191699031, 10191830167, 10191961253, 10192092343, + 10192223417, 10192354553, 10192485637, 10192616741, 10192747813, 10192878919, 10193009999, + 10193141083, 10193272169, 10193403247, 10193534341, 10193665451, 10193796523, 10193927629, + 10194058711, 10194189821, 10194320921, 10194452017, 10194583097, 10194714193, 10194845279, + 10194976387, 10195107469, 10195238549, 10195369631, 10195500781, 10195631861, 10195762939, + 10195894039, 10196025113, 10196156189, 10196287261, 10196418347, 10196549423, 10196680513, + 10196811589, 10196942687, 10197073763, 10197204887, 10197335971, 10197467083, 10197598163, + 10197729247, 10197860333, 10197991469, 10198122551, 10198253623, 10198384717, 10198515793, + 10198646869, 10198777987, 10198909099, 10199040179, 10199171273, 10199302357, 10199433437, + 10199564539, 10199695619, 10199826709, 10199957797, 10200088901, 10200219989, 10200351061, + 10200482143, 10200613243, 10200744319, 10200875411, 10201006531, 10201137631, 10201268713, + 10201399807, 10201530893, 10201661989, 10201793111, 10201924211, 10202055313, 10202186417, + 10202317513, 10202448587, 10202579669, 10202710787, 10202841877, 10202972953, 10203104029, + 10203235109, 10203366197, 10203497273, 10203628381, 10203759457, 10203890531, 10204021631, + 10204152713, 10204283809, 10204414897, 10204545991, 10204677079, 10204808171, 10204939243, + 10205070319, 10205201399, 10205332477, 10205463553, 10205594627, 10205725703, 10205856781, + 10205987861, 10206118957, 10206250037, 10206381151, 10206512227, 10206643303, 10206774433, + 10206905539, 10207036621, 10207167697, 10207298819, 10207429891, 10207560967, 10207692067, + 10207823209, 10207954297, 10208085373, 10208216461, 10208347549, 10208478661, 10208609773, + 10208740849, 10208871923, 10209003017, 10209134119, 10209265207, 10209396287, 10209527359, + 10209658441, 10209789523, 10209920657, 10210051763, 10210182869, 10210313941, 10210445029, + 10210576111, 10210707259, 10210838353, 10210969429, 10211100503, 10211231581, 10211362657, + 10211493731, 10211624827, 10211755909, 10211886991, 10212018119, 10212149191, 10212280277, + 10212411373, 10212542477, 10212673621, 10212804731, 10212935809, 10213066883, 10213197959, + 10213329043, 10213460123, 10213591207, 10213722287, 10213853383, 10213984471, 10214115581, + 10214246683, 10214377769, 10214508869, 10214639947, 10214771057, 10214902129, 10215033203, + 10215164293, 10215295373, 10215426461, 10215557543, 10215688627, 10215819721, 10215950821, + 10216081921, 10216213067, 10216344143, 10216475231, 10216606333, 10216737407, 10216868509, + 10216999601, 10217130683, 10217261771, 10217392903, 10217523983, 10217655067, 10217786149, + 10217917249, 10218048343, 10218179429, 10218310517, 10218441643, 10218572719, 10218703793, + 10218834917, 10218965989, 10219097071, 10219228157, 10219359239, 10219490339, 10219621411, + 10219752493, 10219883579, 10220014663, 10220145737, 10220276809, 10220407909, 10220538983, + 10220670073, 10220801161, 10220932247, 10221063329, 10221194407, 10221325567, 10221456653, + 10221587741, 10221718817, 10221849917, 10221981041, 10222112113, 10222243193, 10222374271, + 10222505351, 10222636423, 10222767521, 10222898593, 10223029669, 10223160751, 10223291863, + 10223422949, 10223554021, 10223685103, 10223816219, 10223947297, 10224078379, 10224209461, + 10224340537, 10224471659, 10224602767, 10224733867, 10224864941, 10224996037, 10225127123, + 10225258217, 10225389319, 10225520401, 10225651511, 10225782599, 10225913683, 10226044771, + 10226175887, 10226306963, 10226438087, 10226569163, 10226700257, 10226831333, 10226962441, + 10227093553, 10227224647, 10227355751, 10227486827, 10227617899, 10227749003, 10227880087, + 10228011187, 10228142279, 10228273373, 10228404449, 10228535521, 10228666603, 10228797697, + 10228928833, 10229059913, 10229191073, 10229322149, 10229453249, 10229584327, 10229715401, + 10229846489, 10229977577, 10230108653, 10230239729, 10230370837, 10230501929, 10230633001, + 10230764081, 10230895163, 10231026257, 10231157329, 10231288451, 10231419557, 10231550663, + 10231681739, 10231812823, 10231943929, 10232075011, 10232206087, 10232337187, 10232468261, + 10232599339, 10232730413, 10232861491, 10232992573, 10233123661, 10233254741, 10233385843, + 10233516929, 10233648031, 10233779111, 10233910187, 10234041287, 10234172381, 10234303481, + 10234434577, 10234565659, 10234696739, 10234827821, 10234958911, 10235090009, 10235221121, + 10235352229, 10235483333, 10235614511, 10235745593, 10235876671, 10236007759, 10236138839, + 10236269929, 10236401009, 10236532081, 10236663167, 10236794257, 10236925351, 10237056433, + 10237187533, 10237318613, 10237449689, 10237580767, 10237711853, 10237842929, 10237974001, + 10238105083, 10238236159, 10238367233, 10238498321, 10238629393, 10238760559, 10238891651, + 10239022733, 10239153811, 10239284893, 10239415987, 10239547067, 10239678161, 10239809243, + 10239940379, 10240071461, 10240202549, 10240333711, 10240464821, 10240595917, 10240726997, + 10240858079, 10240989181, 10241120293, 10241251381, 10241382469, 10241513549, 10241644627, + 10241775701, 10241906783, 10242037867, 10242168941, 10242300023, 10242431123, 10242562217, + 10242693301, 10242824381, 10242955477, 10243086559, 10243217701, 10243348789, 10243479871, + 10243610959, 10243742051, 10243873127, 10244004203, 10244135299, 10244266381, 10244397463, + 10244528549, 10244659631, 10244790707, 10244921789, 10245052891, 10245183979, 10245315061, + 10245446137, 10245577211, 10245708283, 10245839377, 10245970489, 10246101587, 10246232663, + 10246363741, 10246494827, 10246625927, 10246756999, 10246888097, 10247019187, 10247150297, + 10247281393, 10247412587, 10247543699, 10247674819, 10247805907, 10247936983, 10248068069, + 10248199189, 10248330289, 10248461383, 10248592481, 10248723553, 10248854633, 10248985739, + 10249116817, 10249247893, 10249378967, 10249510093, 10249641167, 10249772249, 10249903331, + 10250034407, 10250165483, 10250296559, 10250427643, 10250558723, 10250689817, 10250820901, + 10250951981, 10251083081, 10251214159, 10251345241, 10251476321, 10251607439, 10251738517, + 10251869591, 10252000667, 10252131781, 10252262897, 10252393993, 10252525091, 10252656163, + 10252787249, 10252918327, 10253049403, 10253180479, 10253311559, 10253442643, 10253573747, + 10253704831, 10253835961, 10253967049, 10254098123, 10254229207, 10254360289, 10254491371, + 10254622447, 10254753521, 10254884603, 10255015703, 10255146787, 10255277867, 10255409039, + 10255540129, 10255671203, 10255802287, 10255933367, 10256064443, 10256195567, 10256326649, + 10256457727, 10256588809, 10256719903, 10256850979, 10256982083, 10257113171, 10257244247, + 10257375319, 10257506401, 10257637499, 10257768581, 10257899669, 10258030753, 10258161827, + 10258292903, 10258423997, 10258555081, 10258686157, 10258817287, 10258948361, 10259079433, + 10259210509, 10259341583, 10259472659, 10259603747, 10259734831, 10259865937, 10259997031, + 10260128113, 10260259187, 10260390271, 10260521347, 10260652463, 10260783563, 10260914681, + 10261045799, 10261176881, 10261307993, 10261439161, 10261570247, 10261701353, 10261832437, + 10261963531, 10262094607, 10262225681, 10262356771, 10262487863, 10262618957, 10262750039, + 10262881127, 10263012209, 10263143299, 10263274393, 10263405491, 10263536567, 10263667639, + 10263798731, 10263929803, 10264060907, 10264191997, 10264323079, 10264454171, 10264585249, + 10264716347, 10264847429, 10264978501, 10265109583, 10265240659, 10265371733, 10265502811, + 10265633893, 10265765017, 10265896133, 10266027221, 10266158293, 10266289367, 10266420449, + 10266551521, 10266682603, 10266813677, 10266944773, 10267075873, 10267206977, 10267338049, + 10267469129, 10267600289, 10267731373, 10267862461, 10267993559, 10268124677, 10268255827, + 10268386913, 10268517989, 10268649071, 10268780167, 10268911243, 10269042331, 10269173407, + 10269304501, 10269435587, 10269566663, 10269697747, 10269828823, 10269959927, 10270091003, + 10270222091, 10270353167, 10270484243, 10270615337, 10270746509, 10270877593, 10271008667, + 10271139761, 10271270881, 10271401963, 10271533043, 10271664121, 10271795197, 10271926283, + 10272057409, 10272188483, 10272319591, 10272450667, 10272581771, 10272712889, 10272843979, + 10272975059, 10273106141, 10273237217, 10273368337, 10273499419, 10273630531, 10273761607, + 10273892687, 10274023769, 10274154841, 10274285921, 10274416993, 10274548133, 10274679211, + 10274810303, 10274941381, 10275072469, 10275203551, 10275334637, 10275465713, 10275596809, + 10275727907, 10275858991, 10275990097, 10276121173, 10276252247, 10276383323, 10276514429, + 10276645517, 10276776589, 10276907699, 10277038799, 10277169887, 10277300987, 10277432071, + 10277563159, 10277694283, 10277825357, 10277956489, 10278087571, 10278218647, 10278349721, + 10278480799, 10278611879, 10278742961, 10278874093, 10279005167, 10279136243, 10279267331, + 10279398433, 10279529527, 10279660613, 10279791763, 10279922837, 10280053919, 10280185109, + 10280316181, 10280447263, 10280578361, 10280709457, 10280840533, 10280971639, 10281102719, + 10281233839, 10281364937, 10281496019, 10281627151, 10281758257, 10281889333, 10282020407, + 10282151501, 10282282579, 10282413667, 10282544813, 10282675927, 10282807033, 10282938119, + 10283069213, 10283200327, 10283331419, 10283462491, 10283593571, 10283724697, 10283855797, + 10283986879, 10284117979, 10284249061, 10284380143, 10284511219, 10284642293, 10284773417, + 10284904499, 10285035587, 10285166687, 10285297787, 10285428863, 10285559939, 10285691027, + 10285822139, 10285953239, 10286084353, 10286215477, 10286346571, 10286477651, 10286608729, + 10286739817, 10286870903, 10287002017, 10287133091, 10287264181, 10287395269, 10287526343, + 10287657449, 10287788573, 10287919651, 10288050743, 10288181821, 10288312933, 10288444027, + 10288575133, 10288706237, 10288837337, 10288968421, 10289099539, 10289230643, 10289361749, + 10289492869, 10289623963, 10289755057, 10289886137, 10290017263, 10290148361, 10290279443, + 10290410521, 10290541631, 10290672703, 10290803791, 10290934877, 10291065959, 10291197053, + 10291328147, 10291459247, 10291590347, 10291721423, 10291852559, 10291983661, 10292114737, + 10292245849, 10292376947, 10292508019, 10292639101, 10292770199, 10292901323, 10293032423, + 10293163501, 10293294577, 10293425669, 10293556751, 10293687829, 10293818921, 10293949999, + 10294081087, 10294212161, 10294343239, 10294474363, 10294605449, 10294736521, 10294867601, + 10294998673, 10295129777, 10295260861, 10295391973, 10295523053, 10295654141, 10295785217, + 10295916343, 10296047423, 10296178499, 10296309571, 10296440647, 10296571721, 10296702803, + 10296833881, 10296964961, 10297096049, 10297227139, 10297358261, 10297489333, 10297620433, + 10297751507, 10297882579, 10298013667, 10298144767, 10298275847, 10298406941, 10298538013, + 10298669111, 10298800207, 10298931343, 10299062419, 10299193493, 10299324709, 10299455791, + 10299586873, 10299717949, 10299849031, 10299980177, 10300111267, 10300242347, 10300373453, + 10300504553, 10300635637, 10300766711, 10300897801, 10301028901, 10301159987, 10301291059, + 10301422139, 10301553281, 10301684363, 10301815441, 10301946527, 10302077629, 10302208723, + 10302339799, 10302470887, 10302601963, 10302733061, 10302864149, 10302995243, 10303126349, + 10303257451, 10303388539, 10303519619, 10303650697, 10303781783, 10303912873, 10304044019, + 10304175181, 10304306267, 10304437369, 10304568467, 10304699551, 10304830637, 10304961727, + 10305092813, 10305223927, 10305355013, 10305486091, 10305617183, 10305748261, 10305879371, + 10306010447, 10306141537, 10306272667, 10306403803, 10306534879, 10306665979, 10306797097, + 10306928197, 10307059277, 10307190373, 10307321467, 10307452543, 10307583623, 10307714759, + 10307845831, 10307976937, 10308108011, 10308239087, 10308370169, 10308501253, 10308632357, + 10308763453, 10308894529, 10309025659, 10309156757, 10309287847, 10309418923, 10309550003, + 10309681087, 10309812179, 10309943257, 10310074339, 10310205413, 10310336489, 10310467567, + 10310598731, 10310729813, 10310860907, 10310991979, 10311123107, 10311254201, 10311385289, + 10311516463, 10311647557, 10311778637, 10311909709, 10312040797, 10312171889, 10312302961, + 10312434049, 10312565141, 10312696237, 10312827313, 10312958401, 10313089481, 10313220563, + 10313351647, 10313482727, 10313613799, 10313744879, 10313875951, 10314007057, 10314138151, + 10314269227, 10314400307, 10314531391, 10314662503, 10314793609, 10314924707, 10315055789, + 10315186873, 10315317977, 10315449061, 10315580153, 10315711229, 10315842307, 10315973401, + 10316104499, 10316235577, 10316366777, 10316497853, 10316628967, 10316760067, 10316891183, + 10317022277, 10317153373, 10317284447, 10317415519, 10317546593, 10317677719, 10317808841, + 10317939923, 10318071013, 10318202093, 10318333169, 10318464253, 10318595341, 10318726447, + 10318857551, 10318988629, 10319119711, 10319250841, 10319381921, 10319512993, 10319644087, + 10319775161, 10319906237, 10320037309, 10320168389, 10320299467, 10320430577, 10320561677, + 10320692761, 10320823847, 10320954977, 10321086059, 10321217171, 10321348249, 10321479341, + 10321610441, 10321741531, 10321872629, 10322003717, 10322134799, 10322265871, 10322396947, + 10322528033, 10322659157, 10322790263, 10322921383, 10323052499, 10323183617, 10323314713, + 10323445799, 10323576881, 10323707971, 10323839051, 10323970123, 10324101199, 10324232279, + 10324363367, 10324494457, 10324625533, 10324756627, 10324887701, 10325018773, 10325149847, + 10325280919, 10325412001, 10325543089, 10325674171, 10325805247, 10325936339, 10326067463, + 10326198551, 10326329687, 10326460759, 10326591833, 10326722929, 10326854099, 10326985199, + 10327116277, 10327247383, 10327378487, 10327509559, 10327640639, 10327771723, 10327902797, + 10328033893, 10328164967, 10328296079, 10328427181, 10328558257, 10328689333, 10328820419, + 10328951497, 10329082571, 10329213647, 10329344731, 10329475811, 10329606893, 10329738017, + 10329869111, 10330000193, 10330131313, 10330262473, 10330393547, 10330524629, 10330655717, + 10330786819, 10330917893, 10331049007, 10331180107, 10331311187, 10331442259, 10331573363, + 10331704483, 10331835607, 10331966681, 10332097793, 10332228869, 10332359953, 10332491051, + 10332622127, 10332753253, 10332884339, 10333015417, 10333146491, 10333277599, 10333408693, + 10333539793, 10333670887, 10333801987, 10333933087, 10334064163, 10334195243, 10334326319, + 10334457391, 10334588477, 10334719583, 10334850661, 10334981737, 10335112817, 10335243917, + 10335375007, 10335506081, 10335637153, 10335768227, 10335899369, 10336030459, 10336161547, + 10336292623, 10336423703, 10336554791, 10336685867, 10336816961, 10336948049, 10337079157, + 10337210231, 10337341303, 10337472419, 10337603513, 10337734591, 10337865697, 10337996771, + 10338127853, 10338259031, 10338390103, 10338521189, 10338652273, 10338783373, 10338914491, + 10339045573, 10339176677, 10339307761, 10339438849, 10339569943, 10339701049, 10339832143, + 10339963243, 10340094341, 10340225419, 10340356517, 10340487649, 10340618759, 10340749831, + 10340880911, 10341011983, 10341143063, 10341274157, 10341405233, 10341536321, 10341667433, + 10341798521, 10341929593, 10342060667, 10342191779, 10342322869, 10342453949, 10342585051, + 10342716143, 10342847219, 10342978357, 10343109479, 10343240573, 10343371673, 10343502751, + 10343633857, 10343764931, 10343896019, 10344027091, 10344158173, 10344289313, 10344420419, + 10344551509, 10344682589, 10344813673, 10344944747, 10345075879, 10345206967, 10345338043, + 10345469179, 10345600277, 10345731371, 10345862477, 10345993573, 10346124671, 10346255749, + 10346386823, 10346517911, 10346649007, 10346780107, 10346911231, 10347042353, 10347173429, + 10347304519, 10347435601, 10347566689, 10347697777, 10347828853, 10347959927, 10348091041, + 10348222117, 10348353209, 10348484281, 10348615391, 10348746517, 10348877603, 10349008679, + 10349139803, 10349270879, 10349401961, 10349533043, 10349664191, 10349795263, 10349926399, + 10350057493, 10350188587, 10350319663, 10350450757, 10350581849, 10350712927, 10350844001, + 10350975073, 10351106153, 10351237229, 10351368331, 10351499423, 10351630517, 10351761619, + 10351892701, 10352023807, 10352154889, 10352285969, 10352417059, 10352548159, 10352679241, + 10352810317, 10352941429, 10353072563, 10353203671, 10353334763, 10353465887, 10353596971, + 10353728057, 10353859133, 10353990217, 10354121299, 10354252393, 10354383497, 10354514579, + 10354645657, 10354776793, 10354907891, 10355038979, 10355170061, 10355301133, 10355432249, + 10355563333, 10355694487, 10355825561, 10355956679, 10356087809, 10356218897, 10356349981, + 10356481061, 10356612191, 10356743263, 10356874361, 10357005433, 10357136521, 10357267699, + 10357398773, 10357529851, 10357660927, 10357792051, 10357923133, 10358054233, 10358185339, + 10358316433, 10358447573, 10358578649, 10358709743, 10358840819, 10358971901, 10359102973, + 10359234047, 10359365141, 10359496223, 10359627307, 10359758407, 10359889487, 10360020607, + 10360151687, 10360282763, 10360413859, 10360544951, 10360676023, 10360807099, 10360938191, + 10361069267, 10361200351, 10361331451, 10361462561, 10361593643, 10361724761, 10361855837, + 10361986909, 10362118003, 10362249097, 10362380191, 10362511277, 10362642377, 10362773461, + 10362904547, 10363035619, 10363166699, 10363297783, 10363428937, 10363560079, 10363691161, + 10363822243, 10363953323, 10364084447, 10364215549, 10364346661, 10364477749, 10364608829, + 10364739901, 10364871017, 10365002129, 10365133201, 10365264277, 10365395371, 10365526447, + 10365657527, 10365788639, 10365919747, 10366051001, 10366182097, 10366313183, 10366444259, + 10366575361, 10366706443, 10366837597, 10366968697, 10367099773, 10367230859, 10367361971, + 10367493049, 10367624167, 10367755243, 10367886317, 10368017437, 10368148537, 10368279671, + 10368410749, 10368541921, 10368673001, 10368804073, 10368935147, 10369066229, 10369197329, + 10369328443, 10369459517, 10369590601, 10369721699, 10369852847, 10369983919, 10370115001, + 10370246101, 10370377219, 10370508319, 10370639399, 10370770537, 10370901647, 10371032719, + 10371163793, 10371294893, 10371425971, 10371557051, 10371688147, 10371819277, 10371950377, + 10372081459, 10372212541, 10372343629, 10372474711, 10372605823, 10372736897, 10372868017, + 10372999097, 10373130169, 10373261267, 10373392339, 10373523439, 10373654519, 10373785603, + 10373916677, 10374047767, 10374178879, 10374309961, 10374441067, 10374572161, 10374703253, + 10374834329, 10374965423, 10375096499, 10375227587, 10375358701, 10375489777, 10375620869, + 10375751941, 10375883041, 10376014153, 10376145343, 10376276431, 10376407507, 10376538583, + 10376669659, 10376800757, 10376931889, 10377062981, 10377194053, 10377325141, 10377456263, + 10377587387, 10377718489, 10377849583, 10377980693, 10378111781, 10378242863, 10378373939, + 10378505023, 10378636097, 10378767173, 10378898263, 10379029343, 10379160469, 10379291561, + 10379422673, 10379553749, 10379684827, 10379815913, 10379946991, 10380078067, 10380209201, + 10380340277, 10380471349, 10380602431, 10380733513, 10380864589, 10380995663, 10381126793, + 10381257877, 10381388959, 10381520047, 10381651157, 10381782277, 10381913363, 10382044469, + 10382175547, 10382306647, 10382437811, 10382568919, 10382700001, 10382831083, 10382962181, + 10383093277, 10383224353, 10383355511, 10383486613, 10383617693, 10383748777, 10383879853, + 10384010927, 10384142053, 10384273153, 10384404257, 10384535339, 10384666441, 10384797541, + 10384928657, 10385059733, 10385190811, 10385321893, 10385453027, 10385584141, 10385715227, + 10385846321, 10385977409, 10386108497, 10386239599, 10386370693, 10386501767, 10386632873, + 10386763949, 10386895021, 10387026103, 10387157203, 10387288279, 10387419379, 10387550483, + 10387681571, 10387812647, 10387943743, 10388074817, 10388205907, 10388337017, 10388468173, + 10388599253, 10388730353, 10388861459, 10388992541, 10389123629, 10389254749, 10389385823, + 10389516911, 10389648019, 10389779111, 10389910241, 10390041349, 10390172423, 10390303537, + 10390434611, 10390565711, 10390696783, 10390827857, 10390958933, 10391090011, 10391221091, + 10391352163, 10391483269, 10391614367, 10391745443, 10391876543, 10392007739, 10392138857, + 10392269933, 10392401027, 10392532103, 10392663181, 10392794261, 10392925369, 10393056461, + 10393187569, 10393318643, 10393449721, 10393580807, 10393711897, 10393843013, 10393974089, + 10394105171, 10394236277, 10394367353, 10394498437, 10394629519, 10394760601, 10394891693, + 10395022777, 10395153851, 10395284923, 10395415997, 10395547079, 10395678191, 10395809299, + 10395940381, 10396071463, 10396202543, 10396333657, 10396464739, 10396595813, 10396726997, + 10396858093, 10396989191, 10397120269, 10397251363, 10397382449, 10397513543, 10397644619, + 10397775769, 10397906863, 10398037939, 10398169013, 10398300097, 10398431171, 10398562243, + 10398693317, 10398824407, 10398955481, 10399086557, 10399217707, 10399348819, 10399479911, + 10399610983, 10399742063, 10399873157, 10400004233, 10400135323, 10400266421, 10400397493, + 10400528573, 10400659649, 10400790721, 10400921801, 10401052877, 10401183977, 10401315091, + 10401446189, 10401577271, 10401708367, 10401839443, 10401970529, 10402101637, 10402232717, + 10402363837, 10402494919, 10402626019, 10402757111, 10402888187, 10403019281, 10403150377, + 10403281459, 10403412533, 10403543627, 10403674703, 10403805779, 10403936891, 10404067979, + 10404199111, 10404330187, 10404461293, 10404592397, 10404723493, 10404854569, 10404985687, + 10405116767, 10405247857, 10405378969, 10405510079, 10405641157, 10405772303, 10405903423, + 10406034511, 10406165633, 10406296711, 10406427791, 10406558867, 10406689939, 10406821039, + 10406952119, 10407083221, 10407214313, 10407345457, 10407476561, 10407607673, 10407738799, + 10407869911, 10408000991, 10408132067, 10408263139, 10408394219, 10408525291, 10408656367, + 10408787443, 10408918519, 10409049631, 10409180707, 10409311789, 10409442887, 10409573981, + 10409705069, 10409836153, 10409967251, 10410098327, 10410229399, 10410360473, 10410491551, + 10410622631, 10410753757, 10410884831, 10411015931, 10411147037, 10411278109, 10411409191, + 10411540267, 10411671341, 10411802413, 10411933487, 10412064571, 10412195669, 10412326747, + 10412457833, 10412588929, 10412720029, 10412851121, 10412982193, 10413113273, 10413244357, + 10413375433, 10413506573, 10413637727, 10413768821, 10413899927, 10414031009, 10414162097, + 10414293187, 10414424261, 10414555343, 10414686439, 10414817521, 10414948613, 10415079707, + 10415210789, 10415341903, 10415473051, 10415604131, 10415735249, 10415866339, 10415997437, + 10416128539, 10416259639, 10416390731, 10416521813, 10416652943, 10416784031, 10416915107, + 10417046183, 10417177271, 10417308361, 10417439437, 10417570519, 10417701599, 10417832717, + 10417963789, 10418094913, 10418225989, 10418357099, 10418488193, 10418619331, 10418750423, + 10418881513, 10419012607, 10419143789, 10419274883, 10419405967, 10419537077, 10419668159, + 10419799237, 10419930337, 10420061441, 10420192543, 10420323629, 10420454717, 10420585801, + 10420716959, 10420848041, 10420979113, 10421110237, 10421241319, 10421372417, 10421503513, + 10421634607, 10421765689, 10421896763, 10422027853, 10422158947, 10422290029, 10422421103, + 10422552197, 10422683273, 10422814351, 10422945427, 10423076501, 10423207573, 10423338703, + 10423469807, 10423600919, 10423731991, 10423863077, 10423994173, 10424125247, 10424256343, + 10424387429, 10424518513, 10424649601, 10424780677, 10424911771, 10425042847, 10425173921, + 10425304993, 10425436069, 10425567199, 10425698281, 10425829391, 10425960473, 10426091549, + 10426222669, 10426353757, 10426484833, 10426615909, 10426747043, 10426878173, 10427009251, + 10427140333, 10427271461, 10427402539, 10427533619, 10427664701, 10427795789, 10427926867, + 10428057947, 10428189019, 10428320099, 10428451171, 10428582247, 10428713371, 10428844499, + 10428975581, 10429106687, 10429237789, 10429368863, 10429499989, 10429631071, 10429762153, + 10429893233, 10430024309, 10430155397, 10430286469, 10430417651, 10430548763, 10430679841, + 10430810959, 10430942087, 10431073187, 10431204263, 10431335357, 10431466433, 10431597521, + 10431728597, 10431859681, 10431990769, 10432121863, 10432252939, 10432384021, 10432515097, + 10432646171, 10432777259, 10432908371, 10433039503, 10433170597, 10433301677, 10433432749, + 10433563837, 10433694917, 10433826017, 10433957147, 10434088243, 10434219317, 10434350393, + 10434481469, 10434612553, 10434743687, 10434874763, 10435005839, 10435136923, 10435268003, + 10435399097, 10435530173, 10435661261, 10435792349, 10435923473, 10436054591, 10436185663, + 10436316743, 10436447821, 10436578907, 10436710001, 10436841073, 10436972179, 10437103349, + 10437234463, 10437365537, 10437496639, 10437627719, 10437758797, 10437889871, 10438020947, + 10438152019, 10438283117, 10438414219, 10438545307, 10438676429, 10438807507, 10438938581, + 10439069671, 10439200747, 10439331827, 10439462909, 10439594021, 10439725099, 10439856257, + 10439987347, 10440118459, 10440249569, 10440380747, 10440511841, 10440642913, 10440774023, + 10440905107, 10441036219, 10441167311, 10441298383, 10441429501, 10441560629, 10441691707, + 10441822793, 10441953881, 10442085001, 10442216101, 10442347211, 10442478301, 10442609389, + 10442740463, 10442871541, 10443002657, 10443133733, 10443264829, 10443395933, 10443527051, + 10443658151, 10443789229, 10443920303, 10444051379, 10444182499, 10444313591, 10444444663, + 10444575737, 10444706821, 10444837919, 10444969019, 10445100097, 10445231221, 10445362313, + 10445493389, 10445624491, 10445755583, 10445886727, 10446017807, 10446148903, 10446279989, + 10446411091, 10446542173, 10446673267, 10446804353, 10446935461, 10447066537, 10447197617, + 10447328743, 10447459853, 10447590929, 10447722031, 10447853107, 10447984189, 10448115277, + 10448246351, 10448377439, 10448508559, 10448639659, 10448770753, 10448901839, 10449032941, + 10449164023, 10449295133, 10449426271, 10449557347, 10449688421, 10449819511, 10449950597, + 10450081669, 10450212761, 10450343861, 10450474973, 10450606057, 10450737137, 10450868237, + 10450999313, 10451130397, 10451261503, 10451392591, 10451523703, 10451654789, 10451785889, + 10451916971, 10452048043, 10452179117, 10452310189, 10452441299, 10452572419, 10452703507, + 10452834589, 10452965669, 10453096747, 10453227871, 10453358957, 10453490081, 10453621183, + 10453752259, 10453883351, 10454014427, 10454145521, 10454276621, 10454407759, 10454538839, + 10454669917, 10454800999, 10454932087, 10455063217, 10455194317, 10455325421, 10455456497, + 10455587579, 10455718699, 10455849821, 10455980893, 10456111973, 10456243051, 10456374191, + 10456505363, 10456636511, 10456767593, 10456898707, 10457029801, 10457160899, 10457292011, + 10457423089, 10457554169, 10457685257, 10457816449, 10457947541, 10458078677, 10458209807, + 10458340883, 10458471977, 10458603053, 10458734159, 10458865237, 10458996323, 10459127401, + 10459258477, 10459389571, 10459520677, 10459651759, 10459782859, 10459913957, 10460045047, + 10460176123, 10460307197, 10460438293, 10460569391, 10460700511, 10460831597, 10460962669, + 10461093781, 10461224861, 10461355937, 10461487009, 10461618091, 10461749167, 10461880249, + 10462011353, 10462142479, 10462273553, 10462404643, 10462535729, 10462666801, 10462797889, + 10462928977, 10463060071, 10463191159, 10463322251, 10463453323, 10463584409, 10463715487, + 10463846587, 10463977661, 10464108749, 10464239837, 10464370951, 10464502051, 10464633133, + 10464764213, 10464895303, 10465026419, 10465157503, 10465288661, 10465419739, 10465550813, + 10465681909, 10465812989, 10465944077, 10466075219, 10466206301, 10466337373, 10466468471, + 10466599543, 10466730643, 10466861719, 10466992831, 10467123937, 10467255013, 10467386087, + 10467517163, 10467648239, 10467779327, 10467910421, 10468041511, 10468172587, 10468303691, + 10468434763, 10468565837, 10468696943, 10468828043, 10468959133, 10469090209, 10469221297, + 10469352371, 10469483467, 10469614549, 10469745623, 10469876707, 10470007819, 10470138893, + 10470269989, 10470401083, 10470532159, 10470663253, 10470794381, 10470925453, 10471056553, + 10471187659, 10471318747, 10471449907, 10471580981, 10471712057, 10471843133, 10471974229, + 10472105339, 10472236417, 10472367527, 10472498599, 10472629679, 10472760761, 10472891879, + 10473022957, 10473154031, 10473285133, 10473416237, 10473547313, 10473678419, 10473809501, + 10473940573, 10474071659, 10474202743, 10474333817, 10474464893, 10474595969, 10474727059, + 10474858133, 10474989221, 10475120303, 10475251387, 10475382479, 10475513551, 10475644631, + 10475775703, 10475906803, 10476037889, 10476168971, 10476300071, 10476431143, 10476562219, + 10476693299, 10476824381, 10476955453, 10477086539, 10477217677, 10477348751, 10477479863, + 10477610947, 10477742057, 10477873139, 10478004217, 10478135321, 10478266397, 10478397487, + 10478528569, 10478659663, 10478790737, 10478921809, 10479052889, 10479184003, 10479315079, + 10479446171, 10479577247, 10479708331, 10479839413, 10479970499, 10480101581, 10480232731, + 10480363811, 10480494919, 10480626017, 10480757099, 10480888181, 10481019259, 10481150363, + 10481281441, 10481412587, 10481543707, 10481674781, 10481805869, 10481936957, 10482068039, + 10482199151, 10482330223, 10482461323, 10482592399, 10482723473, 10482854579, 10482985661, + 10483116733, 10483247807, 10483378891, 10483509973, 10483641059, 10483772161, 10483903267, + 10484034389, 10484165467, 10484296549, 10484427631, 10484558719, 10484689843, 10484820919, + 10484951993, 10485083083, 10485214169, 10485345257, 10485476329, 10485607481, 10485738569, + 10485869689, 10486000781, 10486131881, 10486262959, 10486394057, 10486525169, 10486656269, + 10486787357, 10486918439, 10487049553, 10487180633, 10487311819, 10487442907, 10487573983, + 10487705069, 10487836141, 10487967221, 10488098317, 10488229391, 10488360481, 10488491561, + 10488622643, 10488753739, 10488884821, 10489015907, 10489146991, 10489278083, 10489409159, + 10489540261, 10489671343, 10489802419, 10489933499, 10490064587, 10490195669, 10490326753, + 10490457839, 10490588951, 10490720027, 10490851109, 10490982209, 10491113291, 10491244381, + 10491375463, 10491506549, 10491637633, 10491768709, 10491899797, 10492030877, 10492161971, + 10492293047, 10492424153, 10492555247, 10492686397, 10492817471, 10492948567, 10493079679, + 10493210753, 10493341841, 10493472947, 10493604041, 10493735117, 10493866189, 10493997277, + 10494128383, 10494259471, 10494390551, 10494521623, 10494652703, 10494783787, 10494914891, + 10495045963, 10495177039, 10495308113, 10495439221, 10495570297, 10495701371, 10495832467, + 10495963549, 10496094641, 10496225713, 10496356799, 10496487887, 10496619019, 10496750101, + 10496881177, 10497012257, 10497143333, 10497274421, 10497405509, 10497536587, 10497667699, + 10497798803, 10497929909, 10498061009, 10498192091, 10498323167, 10498454269, 10498585343, + 10498716427, 10498847501, 10498978573, 10499109653, 10499240737, 10499371873, 10499502953, + 10499634037, 10499765119, 10499896213, 10500027301, 10500158377, 10500289451, 10500420527, + 10500551599, 10500682693, 10500813779, 10500944911, 10501075993, 10501207097, 10501338173, + 10501469257, 10501600357, 10501731469, 10501862543, 10501993639, 10502124751, 10502255851, + 10502386931, 10502518003, 10502649083, 10502780177, 10502911249, 10503042349, 10503173441, + 10503304517, 10503435667, 10503566741, 10503697817, 10503828901, 10503959987, 10504091069, + 10504222147, 10504353287, 10504484359, 10504615439, 10504746523, 10504877599, 10505008711, + 10505139793, 10505270869, 10505401969, 10505533043, 10505664181, 10505795347, 10505926451, + 10506057557, 10506188629, 10506319717, 10506450791, 10506581909, 10506712981, 10506844079, + 10506975151, 10507106243, 10507237337, 10507368413, 10507499609, 10507630687, 10507761787, + 10507892909, 10508023997, 10508155079, 10508286157, 10508417243, 10508548319, 10508679403, + 10508810483, 10508941559, 10509072671, 10509203767, 10509334867, 10509466001, 10509597083, + 10509728179, 10509859259, 10509990347, 10510121441, 10510252559, 10510383641, 10510514713, + 10510645799, 10510776901, 10510907999, 10511039141, 10511170231, 10511301319, 10511432413, + 10511563499, 10511694587, 10511825659, 10511956757, 10512087829, 10512218953, 10512350033, + 10512481127, 10512612199, 10512743273, 10512874367, 10513005467, 10513136567, 10513267649, + 10513398811, 10513529891, 10513660973, 10513792057, 10513923137, 10514054219, 10514185301, + 10514316389, 10514447477, 10514578553, 10514709637, 10514840717, 10514971793, 10515102889, + 10515234013, 10515365087, 10515496171, 10515627247, 10515758321, 10515889441, 10516020553, + 10516151641, 10516282717, 10516413821, 10516544917, 10516675991, 10516807111, 10516938227, + 10517069323, 10517200411, 10517331527, 10517462651, 10517593781, 10517724853, 10517855939, + 10517987047, 10518118129, 10518249211, 10518380377, 10518511453, 10518642551, 10518773653, + 10518904733, 10519035823, 10519166923, 10519298003, 10519429079, 10519560157, 10519691243, + 10519822319, 10519953401, 10520084611, 10520215687, 10520346779, 10520477873, 10520608991, + 10520740067, 10520871139, 10521002231, 10521133303, 10521264401, 10521395519, 10521526633, + 10521657743, 10521788843, 10521919931, 10522051003, 10522182101, 10522313201, 10522444333, + 10522575433, 10522706569, 10522837669, 10522968749, 10523099833, 10523230933, 10523362013, + 10523493109, 10523624203, 10523755279, 10523886353, 10524017431, 10524148529, 10524279613, + 10524410713, 10524541829, 10524672911, 10524803987, 10524935081, 10525066177, 10525197253, + 10525328381, 10525459457, 10525590541, 10525721621, 10525852703, 10525983791, 10526114897, + 10526245969, 10526377079, 10526508169, 10526639261, 10526770343, 10526901431, 10527032507, + 10527163597, 10527294683, 10527425761, 10527556873, 10527687953, 10527819037, 10527950117, + 10528081219, 10528212301, 10528343407, 10528474499, 10528605583, 10528736671, 10528867759, + 10528998839, 10529129929, 10529261003, 10529392103, 10529523181, 10529654279, 10529785379, + 10529916461, 10530047533, 10530178609, 10530309703, 10530440777, 10530571853, 10530702929, + 10530834001, 10530965111, 10531096183, 10531227293, 10531358389, 10531489469, 10531620553, + 10531751689, 10531882769, 10532013841, 10532144921, 10532276003, 10532407099, 10532538187, + 10532669263, 10532800337, 10532931527, 10533062599, 10533193673, 10533324751, 10533455839, + 10533586951, 10533718057, 10533849181, 10533980311, 10534111403, 10534242487, 10534373677, + 10534504759, 10534635869, 10534766959, 10534898057, 10535029187, 10535160283, 10535291383, + 10535422477, 10535553569, 10535684647, 10535815721, 10535946821, 10536077917, 10536209011, + 10536340093, 10536471181, 10536602257, 10536733379, 10536864467, 10536995569, 10537126669, + 10537257769, 10537388857, 10537519933, 10537651031, 10537782127, 10537913213, 10538044291, + 10538175383, 10538306479, 10538437589, 10538568673, 10538699753, 10538830829, 10538961919, + 10539093013, 10539224093, 10539355181, 10539486253, 10539617371, 10539748469, 10539879547, + 10540010623, 10540141699, 10540272773, 10540403879, 10540534997, 10540666109, 10540797203, + 10540928287, 10541059387, 10541190469, 10541321551, 10541452673, 10541583797, 10541714873, + 10541845949, 10541977123, 10542108211, 10542239287, 10542370387, 10542501461, 10542632549, + 10542763633, 10542894707, 10543025819, 10543156901, 10543288001, 10543419097, 10543550179, + 10543681273, 10543812347, 10543943461, 10544074553, 10544205643, 10544336731, 10544467841, + 10544598913, 10544730041, 10544861137, 10544992219, 10545123319, 10545254417, 10545385493, + 10545516659, 10545647743, 10545778819, 10545909911, 10546041013, 10546172107, 10546303247, + 10546434323, 10546565411, 10546696493, 10546827581, 10546958657, 10547089733, 10547220847, + 10547351951, 10547483069, 10547614141, 10547745223, 10547876303, 10548007409, 10548138611, + 10548269723, 10548400801, 10548531881, 10548662989, 10548794107, 10548925243, 10549056317, + 10549187399, 10549318471, 10549449551, 10549580633, 10549711721, 10549842817, 10549973911, + 10550105003, 10550236087, 10550367239, 10550498327, 10550629399, 10550760487, 10550891581, + 10551022667, 10551153773, 10551284869, 10551415943, 10551547031, 10551678119, 10551809227, + 10551940361, 10552071449, 10552202527, 10552333657, 10552464763, 10552595849, 10552726949, + 10552858051, 10552989127, 10553120267, 10553251349, 10553382467, 10553513543, 10553644627, + 10553775719, 10553906791, 10554037873, 10554168949, 10554300047, 10554431119, 10554562201, + 10554693283, 10554824383, 10554955457, 10555086559, 10555217633, 10555348723, 10555479799, + 10555610927, 10555742053, 10555873129, 10556004209, 10556135287, 10556266387, 10556397479, + 10556528579, 10556659661, 10556790757, 10556921887, 10557052963, 10557184067, 10557315149, + 10557446231, 10557577307, 10557708383, 10557839473, 10557970561, 10558101637, 10558232719, + 10558363801, 10558494889, 10558625971, 10558757093, 10558888189, 10559019299, 10559150377, + 10559281459, 10559412533, 10559543629, 10559674703, 10559805787, 10559936887, 10560067979, + 10560199063, 10560330149, 10560461221, 10560592313, 10560723427, 10560854503, 10560985607, + 10561116679, 10561247779, 10561378873, 10561509949, 10561641023, 10561772141, 10561903213, + 10562034289, 10562165387, 10562296477, 10562427553, 10562558647, 10562689729, 10562820811, + 10562951891, 10563082963, 10563214097, 10563345187, 10563476293, 10563607433, 10563738509, + 10563869587, 10564000697, 10564131793, 10564262869, 10564393943, 10564525019, 10564656097, + 10564787183, 10564918313, 10565049403, 10565180491, 10565311577, 10565442649, 10565573749, + 10565704841, 10565835919, 10565967011, 10566098089, 10566229169, 10566360283, 10566491371, + 10566622453, 10566753539, 10566884681, 10567015757, 10567146829, 10567277953, 10567409051, + 10567540129, 10567671209, 10567802339, 10567933421, 10568064497, 10568195569, 10568326667, + 10568457797, 10568588873, 10568719957, 10568851043, 10568982157, 10569113281, 10569244363, + 10569375437, 10569506551, 10569637703, 10569768787, 10569899909, 10570030997, 10570162069, + 10570293157, 10570424239, 10570555327, 10570686407, 10570817479, 10570948561, 10571079637, + 10571210737, 10571341813, 10571472893, 10571603981, 10571735087, 10571866159, 10571997257, + 10572128339, 10572259427, 10572390511, 10572521587, 10572652691, 10572783821, 10572914897, + 10573045999, 10573177103, 10573308191, 10573439269, 10573570367, 10573701451, 10573832539, + 10573963649, 10574094721, 10574225803, 10574356879, 10574487961, 10574619053, 10574750161, + 10574881241, 10575012341, 10575143431, 10575274513, 10575405587, 10575536663, 10575667747, + 10575798881, 10575929971, 10576061051, 10576192157, 10576323269, 10576454353, 10576585493, + 10576716593, 10576847681, 10576978759, 10577109833, 10577240939, 10577372023, 10577503103, + 10577634251, 10577765323, 10577896411, 10578027527, 10578158603, 10578289703, 10578420823, + 10578551899, 10578682981, 10578814061, 10578945203, 10579076279, 10579207427, 10579338551, + 10579469627, 10579600709, 10579731803, 10579862903, 10579994021, 10580125123, 10580256199, + 10580387273, 10580518363, 10580649437, 10580780519, 10580911603, 10581042697, 10581173791, + 10581304889, 10581435961, 10581567037, 10581698119, 10581829229, 10581960317, 10582091393, + 10582222507, 10582353583, 10582484657, 10582615843, 10582746931, 10582878101, 10583009189, + 10583140261, 10583271343, 10583402483, 10583533567, 10583664671, 10583795743, 10583926867, + 10584057989, 10584189067, 10584320161, 10584451237, 10584582343, 10584713453, 10584844537, + 10584975619, 10585106731, 10585237841, 10585368919, 10585499993, 10585631083, 10585762157, + 10585893323, 10586024417, 10586155511, 10586286593, 10586417671, 10586548751, 10586679833, + 10586810917, 10586942017, 10587073111, 10587204217, 10587335351, 10587466441, 10587597571, + 10587728647, 10587859741, 10587990841, 10588121923, 10588253023, 10588384123, 10588515211, + 10588646303, 10588777411, 10588908503, 10589039581, 10589170661, 10589301739, 10589432929, + 10589564017, 10589695093, 10589826199, 10589957303, 10590088391, 10590219463, 10590350579, + 10590481709, 10590612797, 10590743873, 10590874969, 10591006057, 10591137143, 10591268221, + 10591399307, 10591530407, 10591661489, 10591792639, 10591923751, 10592054873, 10592185991, + 10592317063, 10592448137, 10592579227, 10592710307, 10592841401, 10592972519, 10593103603, + 10593234703, 10593365789, 10593496861, 10593627991, 10593759191, 10593890267, 10594021367, + 10594152461, 10594283543, 10594414673, 10594545751, 10594676831, 10594807903, 10594939021, + 10595070107, 10595201237, 10595332313, 10595463427, 10595594521, 10595725639, 10595856727, + 10595987821, 10596118901, 10596249977, 10596381067, 10596512149, 10596643241, 10596774323, + 10596905411, 10597036511, 10597167593, 10597298681, 10597429769, 10597560851, 10597691933, + 10597823057, 10597954151, 10598085229, 10598216327, 10598347427, 10598478503, 10598609579, + 10598740651, 10598871749, 10599002893, 10599134003, 10599265081, 10599396167, 10599527291, + 10599658367, 10599789451, 10599920531, 10600051603, 10600182683, 10600313783, 10600444871, + 10600575949, 10600707023, 10600838099, 10600969177, 10601100253, 10601231341, 10601362451, + 10601493541, 10601624641, 10601755729, 10601886811, 10602017893, 10602148969, 10602280063, + 10602411137, 10602542297, 10602673387, 10602804461, 10602935537, 10603066609, 10603197751, + 10603328833, 10603459961, 10603591043, 10603722133, 10603853233, 10603984309, 10604115407, + 10604246479, 10604377561, 10604508643, 10604639723, 10604770817, 10604901899, 10605032983, + 10605164069, 10605295159, 10605426241, 10605557323, 10605688409, 10605819503, 10605950587, + 10606081667, 10606212767, 10606343857, 10606474933, 10606606057, 10606737131, 10606868203, + 10606999283, 10607130371, 10607261443, 10607392577, 10607523809, 10607654881, 10607785957, + 10607917039, 10608048133, 10608179233, 10608310331, 10608441413, 10608572489, 10608703571, + 10608834647, 10608965743, 10609096919, 10609228027, 10609359107, 10609490183, 10609621349, + 10609752431, 10609883503, 10610014589, 10610145673, 10610276797, 10610407877, 10610538959, + 10610670053, 10610801129, 10610932243, 10611063319, 10611194393, 10611325507, 10611456589, + 10611587677, 10611718753, 10611849841, 10611980927, 10612112003, 10612243099, 10612374193, + 10612505303, 10612636381, 10612767457, 10612898537, 10613029619, 10613160731, 10613291813, + 10613422889, 10613553997, 10613685073, 10613816153, 10613947237, 10614078311, 10614209393, + 10614340469, 10614471551, 10614602639, 10614733711, 10614864791, 10614995879, 10615126999, + 10615258097, 10615389217, 10615520291, 10615651363, 10615782439, 10615913519, 10616044613, + 10616175733, 10616306839, 10616437913, 10616569001, 10616700089, 10616831219, 10616962297, + 10617093449, 10617224543, 10617355643, 10617486721, 10617617821, 10617748949, 10617880073, + 10618011179, 10618142333, 10618273447, 10618404521, 10618535611, 10618666717, 10618797797, + 10618928893, 10619059981, 10619191061, 10619322193, 10619453311, 10619584411, 10619715497, + 10619846639, 10619977717, 10620108797, 10620239869, 10620370949, 10620502027, 10620633151, + 10620764251, 10620895331, 10621026413, 10621157497, 10621288583, 10621419659, 10621550741, + 10621681813, 10621812911, 10621944001, 10622075117, 10622206207, 10622337283, 10622468393, + 10622599483, 10622730563, 10622861659, 10622992747, 10623123851, 10623254923, 10623385999, + 10623517103, 10623648179, 10623779261, 10623910393, 10624041479, 10624172567, 10624303717, + 10624434841, 10624565969, 10624697059, 10624828141, 10624959259, 10625090341, 10625221423, + 10625352547, 10625483641, 10625614729, 10625745847, 10625876923, 10626008011, 10626139091, + 10626270197, 10626401287, 10626532361, 10626663451, 10626794543, 10626925649, 10627056767, + 10627187839, 10627318913, 10627450013, 10627581121, 10627712243, 10627843319, 10627974391, + 10628105473, 10628236547, 10628367619, 10628498801, 10628629897, 10628760983, 10628892059, + 10629023201, 10629154301, 10629285379, 10629416467, 10629547547, 10629678659, 10629809731, + 10629940823, 10630071919, 10630203007, 10630334129, 10630465247, 10630596337, 10630727423, + 10630858499, 10630989571, 10631120659, 10631251747, 10631382821, 10631513923, 10631644999, + 10631776073, 10631907149, 10632038227, 10632169319, 10632300391, 10632431471, 10632562543, + 10632693637, 10632824723, 10632955871, 10633086953, 10633218053, 10633349147, 10633480219, + 10633611301, 10633742377, 10633873457, 10634004539, 10634135621, 10634266703, 10634397791, + 10634528867, 10634659943, 10634791043, 10634922121, 10635053197, 10635184271, 10635315389, + 10635446461, 10635577549, 10635708653, 10635839729, 10635970861, 10636101937, 10636233017, + 10636364107, 10636495201, 10636626323, 10636757429, 10636888517, 10637019593, 10637150707, + 10637281801, 10637412911, 10637544007, 10637675089, 10637806169, 10637937263, 10638068339, + 10638199417, 10638330503, 10638461599, 10638592681, 10638723763, 10638854867, 10638985939, + 10639117037, 10639248119, 10639379221, 10639510307, 10639641379, 10639772461, 10639903553, + 10640034631, 10640165759, 10640296861, 10640427947, 10640559019, 10640690117, 10640821193, + 10640952271, 10641083351, 10641214427, 10641345499, 10641476633, 10641607709, 10641738803, + 10641869939, 10642001119, 10642132213, 10642263293, 10642394429, 10642525501, 10642656581, + 10642787663, 10642918763, 10643049871, 10643180959, 10643312039, 10643443157, 10643574233, + 10643705351, 10643836429, 10643967541, 10644098627, 10644229741, 10644360847, 10644491929, + 10644623069, 10644754151, 10644885233, 10645016309, 10645147411, 10645278493, 10645409569, + 10645540643, 10645671719, 10645802803, 10645933933, 10646065007, 10646196091, 10646327183, + 10646458259, 10646589379, 10646720459, 10646851541, 10646982631, 10647113761, 10647244849, + 10647375989, 10647507061, 10647638153, 10647769259, 10647900379, 10648031461, 10648162537, + 10648293613, 10648424713, 10648555807, 10648686887, 10648817983, 10648949081, 10649080153, + 10649211229, 10649342321, 10649473403, 10649604479, 10649735611, 10649866687, 10649997767, + 10650128887, 10650259969, 10650391079, 10650522173, 10650653261, 10650784367, 10650915503, + 10651046587, 10651177699, 10651308797, 10651439873, 10651571053, 10651702147, 10651833239, + 10651964321, 10652095393, 10652226493, 10652357603, 10652488703, 10652619787, 10652750887, + 10652882027, 10653013103, 10653144199, 10653275293, 10653406399, 10653537511, 10653668591, + 10653799733, 10653930851, 10654061923, 10654193003, 10654324091, 10654455199, 10654586291, + 10654717379, 10654848487, 10654979567, 10655110673, 10655241749, 10655372851, 10655503927, + 10655635007, 10655766083, 10655897159, 10656028241, 10656159331, 10656290419, 10656421493, + 10656552581, 10656683669, 10656814747, 10656945829, 10657076921, 10657207997, 10657339073, + 10657470157, 10657601233, 10657732369, 10657863451, 10657994531, 10658125619, 10658256727, + 10658387827, 10658518903, 10658649979, 10658781053, 10658912167, 10659043253, 10659174347, + 10659305483, 10659436573, 10659567673, 10659698767, 10659829853, 10659960931, 10660092077, + 10660223179, 10660354261, 10660485359, 10660616437, 10660747519, 10660878593, 10661009683, + 10661140829, 10661271917, 10661402993, 10661534123, 10661665219, 10661796307, 10661927389, + 10662058471, 10662189563, 10662320639, 10662451769, 10662582841, 10662713947, 10662845029, + 10662976109, 10663107209, 10663238329, 10663369403, 10663500499, 10663631579, 10663762661, + 10663893749, 10664024863, 10664155949, 10664287027, 10664418101, 10664549179, 10664680253, + 10664811329, 10664942411, 10665073493, 10665204577, 10665335669, 10665466753, 10665597841, + 10665728917, 10665859999, 10665991079, 10666122163, 10666253287, 10666384423, 10666515589, + 10666646677, 10666777787, 10666908887, 10667039989, 10667171113, 10667302207, 10667433299, + 10667564389, 10667695487, 10667826563, 10667957669, 10668088763, 10668219853, 10668350929, + 10668482003, 10668613093, 10668744173, 10668875251, 10669006339, 10669137421, 10669268537, + 10669399627, 10669530713, 10669661803, 10669792901, 10669923989, 10670055091, 10670186171, + 10670317243, 10670448319, 10670579407, 10670710483, 10670841583, 10670972657, 10671103769, + 10671234851, 10671365923, 10671497021, 10671628147, 10671759233, 10671890363, 10672021457, + 10672152529, 10672283621, 10672414723, 10672545847, 10672676957, 10672808089, 10672939163, + 10673070251, 10673201353, 10673332451, 10673463527, 10673594611, 10673725687, 10673856779, + 10673987881, 10674118979, 10674250091, 10674381169, 10674512243, 10674643361, 10674774457, + 10674905533, 10675036613, 10675167691, 10675298807, 10675429879, 10675560971, 10675692101, + 10675823173, 10675954249, 10676085331, 10676216407, 10676347501, 10676478607, 10676609681, + 10676740769, 10676871841, 10677002923, 10677133997, 10677265087, 10677396179, 10677527279, + 10677658351, 10677789443, 10677920549, 10678051621, 10678182701, 10678313813, 10678444901, + 10678575979, 10678707059, 10678838173, 10678969283, 10679100361, 10679231443, 10679362523, + 10679493599, 10679624693, 10679755777, 10679886853, 10680017939, 10680149027, 10680280147, + 10680411281, 10680542377, 10680673459, 10680804569, 10680935647, 10681066727, 10681197803, + 10681328989, 10681460063, 10681591139, 10681722211, 10681853291, 10681984367, 10682115463, + 10682246537, 10682377609, 10682508689, 10682639797, 10682770927, 10682902003, 10683033089, + 10683164189, 10683295279, 10683426379, 10683557453, 10683688597, 10683819761, 10683950833, + 10684081921, 10684213003, 10684344101, 10684475287, 10684606363, 10684737443, 10684868531, + 10684999603, 10685130679, 10685261759, 10685392847, 10685523941, 10685655017, 10685786129, + 10685917211, 10686048283, 10686179369, 10686310451, 10686441523, 10686572599, 10686703681, + 10686834757, 10686965831, 10687096913, 10687227997, 10687359073, 10687490161, 10687621237, + 10687752329, 10687883467, 10688014573, 10688145653, 10688276761, 10688407853, 10688538937, + 10688670011, 10688801111, 10688932187, 10689063269, 10689194353, 10689325447, 10689456587, + 10689587677, 10689718757, 10689849851, 10689980927, 10690112003, 10690243111, 10690374199, + 10690505311, 10690636457, 10690767547, 10690898653, 10691029753, 10691160833, 10691291951, + 10691423047, 10691554121, 10691685211, 10691816293, 10691947367, 10692078451, 10692209527, + 10692340661, 10692471761, 10692602909, 10692733991, 10692865069, 10692996199, 10693127273, + 10693258391, 10693389463, 10693520569, 10693651663, 10693782739, 10693913819, 10694044891, + 10694175991, 10694307067, 10694438147, 10694569229, 10694700307, 10694831437, 10694962511, + 10695093613, 10695224713, 10695355807, 10695486899, 10695618013, 10695749131, 10695880213, + 10696011289, 10696142377, 10696273451, 10696404527, 10696535599, 10696666681, 10696797767, + 10696928839, 10697059913, 10697191031, 10697322121, 10697453219, 10697584291, 10697715437, + 10697846531, 10697977621, 10698108727, 10698239821, 10698370901, 10698501991, 10698633079, + 10698764171, 10698895253, 10699026341, 10699157449, 10699288529, 10699419607, 10699550683, + 10699681813, 10699812917, 10699943999, 10700075137, 10700206213, 10700337287, 10700468399, + 10700599517, 10700730647, 10700861719, 10700992823, 10701123907, 10701254987, 10701386063, + 10701517163, 10701648239, 10701779371, 10701910519, 10702041617, 10702172699, 10702303847, + 10702434929, 10702566013, 10702697099, 10702828181, 10702959277, 10703090357, 10703221457, + 10703352529, 10703483603, 10703614697, 10703745797, 10703876891, 10704007969, 10704139051, + 10704270139, 10704401221, 10704532361, 10704663433, 10704794531, 10704925633, 10705056707, + 10705187789, 10705318879, 10705449959, 10705581049, 10705712137, 10705843219, 10705974311, + 10706105383, 10706236487, 10706367569, 10706498641, 10706629721, 10706760817, 10706891893, + 10707022967, 10707154057, 10707285157, 10707416243, 10707547349, 10707678481, 10707809557, + 10707940631, 10708071713, 10708202801, 10708333891, 10708464989, 10708596077, 10708727149, + 10708858231, 10708989373, 10709120447, 10709251543, 10709382617, 10709513701, 10709644789, + 10709775941, 10709907029, 10710038107, 10710169187, 10710300281, 10710431411, 10710562487, + 10710693563, 10710824651, 10710955769, 10711086853, 10711217969, 10711349071, 10711480163, + 10711611241, 10711742329, 10711873411, 10712004517, 10712135617, 10712266693, 10712397767, + 10712528923, 10712660069, 10712791151, 10712922229, 10713053333, 10713184439, 10713315511, + 10713446587, 10713577663, 10713708739, 10713839827, 10713970909, 10714102019, 10714233149, + 10714364303, 10714495387, 10714626467, 10714757579, 10714888663, 10715019761, 10715150839, + 10715281937, 10715413013, 10715544089, 10715675197, 10715806303, 10715937389, 10716068509, + 10716199589, 10716330671, 10716461759, 10716592841, 10716723923, 10716855007, 10716986087, + 10717117193, 10717248271, 10717379353, 10717510429, 10717641521, 10717772627, 10717903709, + 10718034781, 10718165863, 10718296961, 10718428081, 10718559221, 10718690309, 10718821387, + 10718952521, 10719083603, 10719214679, 10719345751, 10719476827, 10719607957, 10719739033, + 10719870143, 10720001239, 10720132333, 10720263439, 10720394513, 10720525589, 10720656677, + 10720787771, 10720918843, 10721049917, 10721180993, 10721312099, 10721443171, 10721574287, + 10721705387, 10721836481, 10721967593, 10722098683, 10722229807, 10722360919, 10722491993, + 10722623071, 10722754153, 10722885253, 10723016347, 10723147429, 10723278521, 10723409621, + 10723540741, 10723671883, 10723802983, 10723934059, 10724065159, 10724196257, 10724327357, + 10724458447, 10724589529, 10724720609, 10724851763, 10724982929, 10725114013, 10725245117, + 10725376219, 10725507313, 10725638401, 10725769487, 10725900587, 10726031681, 10726162813, + 10726293917, 10726424993, 10726556107, 10726687187, 10726818283, 10726949383, 10727080471, + 10727211553, 10727342629, 10727473717, 10727604793, 10727735867, 10727866951, 10727998027, + 10728129119, 10728260197, 10728391307, 10728522391, 10728653503, 10728784597, 10728915683, + 10729046759, 10729177871, 10729308973, 10729440083, 10729571179, 10729702253, 10729833329, + 10729964407, 10730095499, 10730226581, 10730357717, 10730488789, 10730619877, 10730750963, + 10730882053, 10731013133, 10731144227, 10731275299, 10731406403, 10731537503, 10731668599, + 10731799693, 10731930767, 10732061863, 10732192943, 10732324091, 10732455163, 10732586237, + 10732717327, 10732848403, 10732979479, 10733110559, 10733241637, 10733372737, 10733503813, + 10733634887, 10733765963, 10733897123, 10734028199, 10734159287, 10734290377, 10734421499, + 10734552649, 10734683723, 10734814799, 10734945899, 10735076993, 10735208149, 10735339253, + 10735470331, 10735601423, 10735732499, 10735863587, 10735994663, 10736125739, 10736256851, + 10736387933, 10736519009, 10736650123, 10736781203, 10736912281, 10737043381, 10737174463, + 10737305597, 10737436709, 10737567791, 10737698863, 10737829937, 10737961027, 10738092103, + 10738223191, 10738354273, 10738485349, 10738616437, 10738747529, 10738878677, 10739009761, + 10739140849, 10739271989, 10739403061, 10739534203, 10739665283, 10739796377, 10739927453, + 10740058577, 10740189653, 10740320737, 10740451819, 10740582899, 10740713983, 10740845083, + 10740976157, 10741107241, 10741238317, 10741369409, 10741500487, 10741631567, 10741762643, + 10741893733, 10742024819, 10742155973, 10742287069, 10742418143, 10742549221, 10742680303, + 10742811433, 10742942521, 10743073631, 10743204727, 10743335843, 10743466961, 10743598037, + 10743729131, 10743860221, 10743991303, 10744122397, 10744253479, 10744384559, 10744515647, + 10744646729, 10744777811, 10744908907, 10745039989, 10745171069, 10745302147, 10745433229, + 10745564321, 10745695397, 10745826473, 10745957557, 10746088657, 10746219733, 10746350807, + 10746481883, 10746612959, 10746744031, 10746875131, 10747006213, 10747137287, 10747268417, + 10747399499, 10747530583, 10747661671, 10747792787, 10747923871, 10748054963, 10748186041, + 10748317189, 10748448329, 10748579411, 10748710499, 10748841613, 10748972693, 10749103769, + 10749234869, 10749365941, 10749497021, 10749628111, 10749759211, 10749890293, 10750021367, + 10750152527, 10750283639, 10750414739, 10750545821, 10750676921, 10750807997, 10750939093, + 10751070203, 10751201287, 10751332369, 10751463461, 10751594551, 10751725637, 10751856719, + 10751987797, 10752118873, 10752249979, 10752381053, 10752512159, 10752643241, 10752774343, + 10752905417, 10753036501, 10753167611, 10753298701, 10753429777, 10753560907, 10753692007, + 10753823107, 10753954181, 10754085269, 10754216351, 10754347447, 10754478521, 10754609609, + 10754740697, 10754871781, 10755002879, 10755133993, 10755265091, 10755396173, 10755527287, + 10755658373, 10755789487, 10755920599, 10756051711, 10756182799, 10756313873, 10756444967, + 10756576063, 10756707149, 10756838251, 10756969331, 10757100451, 10757231579, 10757362667, + 10757493743, 10757624819, 10757755903, 10757886989, 10758018077, 10758149153, 10758280231, + 10758411311, 10758542383, 10758673463, 10758804557, 10758935657, 10759066733, 10759197859, + 10759328941, 10759460017, 10759591123, 10759722227, 10759853329, 10759984429, 10760115503, + 10760246579, 10760377651, 10760508739, 10760639917, 10760770997, 10760902133, 10761033221, + 10761164317, 10761295397, 10761426469, 10761557557, 10761688631, 10761819713, 10761950789, + 10762081873, 10762212983, 10762344091, 10762475183, 10762606273, 10762737347, 10762868449, + 10762999543, 10763130649, 10763261737, 10763392811, 10763523943, 10763655031, 10763786149, + 10763917231, 10764048311, 10764179399, 10764310489, 10764441587, 10764572713, 10764703787, + 10764834893, 10764965971, 10765097071, 10765228147, 10765359229, 10765490303, 10765621387, + 10765752467, 10765883551, 10766014661, 10766145737, 10766276813, 10766407913, 10766538997, + 10766670073, 10766801153, 10766932229, 10767063323, 10767194467, 10767325553, 10767456643, + 10767587729, 10767718861, 10767849941, 10767981031, 10768112107, 10768243181, 10768374257, + 10768505339, 10768636469, 10768767551, 10768898639, 10769029727, 10769160811, 10769291893, + 10769422969, 10769554093, 10769685167, 10769816257, 10769947337, 10770078467, 10770209579, + 10770340661, 10770471743, 10770602819, 10770733891, 10770865003, 10770996077, 10771127153, + 10771258231, 10771389341, 10771520423, 10771651549, 10771782631, 10771913743, 10772044861, + 10772175937, 10772307011, 10772438087, 10772569177, 10772700251, 10772831339, 10772962411, + 10773093497, 10773224569, 10773355711, 10773486797, 10773617873, 10773748967, 10773880043, + 10774011121, 10774142201, 10774273303, 10774404379, 10774535461, 10774666543, 10774797617, + 10774928809, 10775059903, 10775191003, 10775322097, 10775453189, 10775584301, 10775715403, + 10775846479, 10775977591, 10776108667, 10776239783, 10776370897, 10776501991, 10776633139, + 10776764221, 10776895303, 10777026383, 10777157507, 10777288579, 10777419659, 10777550759, + 10777681843, 10777812923, 10777944041, 10778075171, 10778206273, 10778337371, 10778468453, + 10778599541, 10778730617, 10778861693, 10778992769, 10779123877, 10779254987, 10779386087, + 10779517213, 10779648289, 10779779363, 10779910481, 10780041593, 10780172677, 10780303753, + 10780434829, 10780565941, 10780697027, 10780828129, 10780959209, 10781090323, 10781221417, + 10781352539, 10781483617, 10781614691, 10781745803, 10781876909, 10782007981, 10782139079, + 10782270197, 10782401269, 10782532351, 10782663427, 10782794501, 10782925583, 10783056671, + 10783187749, 10783318831, 10783449947, 10783581019, 10783712117, 10783843211, 10783974301, + 10784105413, 10784236511, 10784367589, 10784498663, 10784629747, 10784760907, 10784891993, + 10785023087, 10785154187, 10785285293, 10785416387, 10785547501, 10785678619, 10785809693, + 10785940777, 10786071851, 10786202927, 10786334047, 10786465121, 10786596193, 10786727267, + 10786858349, 10786989449, 10787120521, 10787251633, 10787382721, 10787513801, 10787644913, + 10787776001, 10787907083, 10788038207, 10788169283, 10788300389, 10788431461, 10788562537, + 10788693613, 10788824723, 10788955799, 10789086911, 10789217987, 10789349069, 10789480153, + 10789611257, 10789742371, 10789873453, 10790004527, 10790135639, 10790266769, 10790397853, + 10790528941, 10790660021, 10790791103, 10790922179, 10791053281, 10791184357, 10791315433, + 10791446509, 10791577613, 10791708689, 10791839767, 10791970859, 10792101941, 10792233041, + 10792364117, 10792495193, 10792626269, 10792757341, 10792888433, 10793019529, 10793150611, + 10793281699, 10793412781, 10793543857, 10793674949, 10793806031, 10793937103, 10794068183, + 10794199271, 10794330343, 10794461417, 10794592489, 10794723571, 10794854657, 10794985769, + 10795116851, 10795247927, 10795379003, 10795510081, 10795641163, 10795772249, 10795903331, + 10796034409, 10796165483, 10796296601, 10796427679, 10796558783, 10796689861, 10796820949, + 10796952073, 10797083153, 10797214247, 10797345323, 10797476399, 10797607481, 10797738569, + 10797869647, 10798000723, 10798131811, 10798262911, 10798393987, 10798525099, 10798656223, + 10798787303, 10798918399, 10799049533, 10799180611, 10799311697, 10799442779, 10799573921, + 10799705023, 10799836133, 10799967257, 10800098333, 10800229411, 10800360499, 10800491599, + 10800622717, 10800753791, 10800884863, 10801015949, 10801147039, 10801278119, 10801409191, + 10801540271, 10801671371, 10801802467, 10801933559, 10802064643, 10802195731, 10802326807, + 10802457889, 10802588971, 10802720069, 10802851153, 10802982227, 10803113303, 10803244381, + 10803375463, 10803506599, 10803637679, 10803768751, 10803899831, 10804030907, 10804162003, + 10804293089, 10804424161, 10804555243, 10804686329, 10804817411, 10804948541, 10805079641, + 10805210791, 10805341909, 10805472989, 10805604071, 10805735147, 10805866223, 10805997331, + 10806128407, 10806259483, 10806390559, 10806521657, 10806652739, 10806783817, 10806914917, + 10807046017, 10807177093, 10807308173, 10807439329, 10807570471, 10807701551, 10807832657, + 10807963729, 10808094853, 10808225929, 10808357003, 10808488111, 10808619209, 10808750287, + 10808881379, 10809012457, 10809143537, 10809274639, 10809405731, 10809536807, 10809667907, + 10809798997, 10809930083, 10810061161, 10810192243, 10810323319, 10810454399, 10810585507, + 10810716607, 10810847693, 10810978771, 10811109853, 10811240959, 10811372053, 10811503163, + 10811634287, 10811765401, 10811896489, 10812027563, 10812158723, 10812289823, 10812420919, + 10812552017, 10812683137, 10812814223, 10812945317, 10813076401, 10813207501, 10813338581, + 10813469699, 10813600781, 10813731871, 10813862947, 10813994021, 10814125097, 10814256191, + 10814387281, 10814518357, 10814649449, 10814780521, 10814911603, 10815042691, 10815173773, + 10815304861, 10815435959, 10815567031, 10815698123, 10815829207, 10815960307, 10816091381, + 10816222499, 10816353637, 10816484713, 10816615829, 10816746923, 10816878001, 10817009081, + 10817140153, 10817271233, 10817402327, 10817533409, 10817664491, 10817795617, 10817926703, + 10818057787, 10818188869, 10818319949, 10818451057, 10818582133, 10818713209, 10818844297, + 10818975373, 10819106453, 10819237543, 10819368629, 10819499741, 10819630831, 10819761961, + 10819893053, 10820024129, 10820155217, 10820286349, 10820417449, 10820548537, 10820679641, + 10820810717, 10820941837, 10821072923, 10821204019, 10821335093, 10821466177, 10821597251, + 10821728371, 10821859511, 10821990587, 10822121659, 10822252747, 10822383941, 10822515037, + 10822646117, 10822777193, 10822908277, 10823039377, 10823170459, 10823301547, 10823432639, + 10823563711, 10823694797, 10823825911, 10823957003, 10824088103, 10824219179, 10824350261, + 10824481351, 10824612433, 10824743507, 10824874589, 10825005673, 10825136747, 10825267819, + 10825398917, 10825530017, 10825661113, 10825792199, 10825923299, 10826054399, 10826185477, + 10826316559, 10826447693, 10826578781, 10826709853, 10826840929, 10826972033, 10827103109, + 10827234211, 10827365291, 10827496403, 10827627487, 10827758563, 10827889649, 10828020727, + 10828151809, 10828282903, 10828413979, 10828545059, 10828676153, 10828807229, 10828938313, + 10829069413, 10829200493, 10829331577, 10829462681, 10829593757, 10829724839, 10829855917, + 10829987017, 10830118111, 10830249217, 10830380303, 10830511379, 10830642457, 10830773537, + 10830904621, 10831035703, 10831166789, 10831297879, 10831428953, 10831560029, 10831691107, + 10831822207, 10831953283, 10832084363, 10832215529, 10832346659, 10832477749, 10832608823, + 10832739947, 10832871061, 10833002149, 10833133229, 10833264329, 10833395413, 10833526519, + 10833657623, 10833788701, 10833919799, 10834050883, 10834181989, 10834313069, 10834444141, + 10834575223, 10834706303, 10834837451, 10834968523, 10835099621, 10835230697, 10835361773, + 10835492867, 10835623961, 10835755039, 10835886121, 10836017197, 10836148273, 10836279379, + 10836410479, 10836541559, 10836672673, 10836803777, 10836934853, 10837065947, 10837197023, + 10837328107, 10837459189, 10837590277, 10837721351, 10837852429, 10837983503, 10838114591, + 10838245681, 10838376763, 10838507837, 10838638931, 10838770021, 10838901097, 10839032177, + 10839163253, 10839294331, 10839425417, 10839556493, 10839687601, 10839818677, 10839949753, + 10840080841, 10840211917, 10840343021, 10840474093, 10840605187, 10840736279, 10840867363, + 10840998523, 10841129609, 10841260693, 10841391767, 10841522849, 10841653937, 10841785013, + 10841916089, 10842047171, 10842178261, 10842309337, 10842440417, 10842571499, 10842702599, + 10842833671, 10842964747, 10843095833, 10843226929, 10843358051, 10843489141, 10843620223, + 10843751339, 10843882421, 10844013503, 10844144621, 10844275723, 10844406829, 10844537917, + 10844668993, 10844800093, 10844931191, 10845062279, 10845193363, 10845324443, 10845455521, + 10845586597, 10845717703, 10845848779, 10845979861, 10846110967, 10846242047, 10846373119, + 10846504199, 10846635277, 10846766363, 10846897469, 10847028547, 10847159627, 10847290709, + 10847421791, 10847552867, 10847683963, 10847815049, 10847946133, 10848077231, 10848208307, + 10848339419, 10848470497, 10848601573, 10848732647, 10848863719, 10848994811, 10849125883, + 10849256959, 10849388063, 10849519141, 10849650233, 10849781309, 10849912391, 10850043469, + 10850174549, 10850305657, 10850436733, 10850567869, 10850698949, 10850830027, 10850961109, + 10851092279, 10851223381, 10851354467, 10851485549, 10851616621, 10851747701, 10851878801, + 10852009877, 10852140973, 10852272071, 10852403143, 10852534283, 10852665361, 10852796441, + 10852927559, 10853058641, 10853189713, 10853320811, 10853451887, 10853582963, 10853714041, + 10853845127, 10853976229, 10854107323, 10854238397, 10854369473, 10854500563, 10854631639, + 10854762733, 10854893821, 10855024897, 10855155973, 10855287071, 10855418159, 10855549231, + 10855680349, 10855811429, 10855942507, 10856073617, 10856204731, 10856335829, 10856466911, + 10856598007, 10856729083, 10856860169, 10856991247, 10857122321, 10857253403, 10857384533, + 10857515611, 10857646699, 10857777773, 10857908849, 10858039921, 10858171013, 10858302107, + 10858433203, 10858564291, 10858695371, 10858826501, 10858957573, 10859088649, 10859219753, + 10859350837, 10859481953, 10859613031, 10859744107, 10859875249, 10860006329, 10860137419, + 10860268499, 10860399617, 10860530717, 10860661793, 10860792869, 10860923971, 10861055057, + 10861186129, 10861317211, 10861448399, 10861579471, 10861710571, 10861841707, 10861972787, + 10862103859, 10862234953, 10862366051, 10862497147, 10862628221, 10862759339, 10862890429, + 10863021517, 10863152591, 10863283693, 10863414769, 10863545879, 10863676973, 10863808093, + 10863939173, 10864070291, 10864201417, 10864332527, 10864463611, 10864594691, 10864725779, + 10864856861, 10864987967, 10865119039, 10865250127, 10865381203, 10865512279, 10865643359, + 10865774453, 10865905529, 10866036607, 10866167687, 10866298801, 10866429877, 10866560951, + 10866692069, 10866823153, 10866954227, 10867085303, 10867216417, 10867347497, 10867478579, + 10867609657, 10867740757, 10867871831, 10868002939, 10868134027, 10868265113, 10868396281, + 10868527381, 10868658503, 10868789593, 10868920679, 10869051811, 10869182899, 10869314017, + 10869445141, 10869576253, 10869707347, 10869838531, 10869969623, 10870100699, 10870231777, + 10870362857, 10870493929, 10870625009, 10870756093, 10870887169, 10871018293, 10871149381, + 10871280457, 10871411531, 10871542631, 10871673719, 10871804803, 10871935891, 10872066991, + 10872198079, 10872329161, 10872460297, 10872591413, 10872722489, 10872853573, 10872984691, + 10873115777, 10873246883, 10873377961, 10873509041, 10873640117, 10873771189, 10873902313, + 10874033419, 10874164501, 10874295583, 10874426663, 10874557769, 10874688841, 10874819929, + 10874951053, 10875082133, 10875213253, 10875344351, 10875475439, 10875606529, 10875737603, + 10875868687, 10875999791, 10876130869, 10876261961, 10876393037, 10876524121, 10876655227, + 10876786307, 10876917383, 10877048459, 10877179609, 10877310733, 10877441807, 10877572883, + 10877703961, 10877835041, 10877966147, 10878097261, 10878228337, 10878359411, 10878490487, + 10878621571, 10878752711, 10878883783, 10879014857, 10879145939, 10879277027, 10879408117, + 10879539199, 10879670339, 10879801411, 10879932491, 10880063567, 10880194649, 10880325727, + 10880456819, 10880587901, 10880718977, 10880850059, 10880981147, 10881112219, 10881243313, + 10881374401, 10881505477, 10881636569, 10881767669, 10881898751, 10882029841, 10882160977, + 10882292051, 10882423141, 10882554217, 10882685291, 10882816363, 10882947437, 10883078527, + 10883209669, 10883340763, 10883471839, 10883602913, 10883734027, 10883865119, 10883996197, + 10884127297, 10884258373, 10884389501, 10884520573, 10884651647, 10884782731, 10884913813, + 10885044889, 10885175963, 10885307053, 10885438129, 10885569221, 10885700299, 10885831393, + 10885962497, 10886093597, 10886224681, 10886355761, 10886486837, 10886617909, 10886749021, + 10886880097, 10887011189, 10887142267, 10887273343, 10887404417, 10887535489, 10887666589, + 10887797699, 10887928781, 10888059899, 10888190981, 10888322083, 10888453171, 10888584251, + 10888715329, 10888846411, 10888977523, 10889108599, 10889239679, 10889370773, 10889501899, + 10889632981, 10889764079, 10889895179, 10890026429, 10890157541, 10890288659, 10890419737, + 10890550837, 10890681913, 10890813029, 10890944111, 10891075199, 10891206343, 10891337417, + 10891468517, 10891599619, 10891730699, 10891861819, 10891992899, 10892123971, 10892255063, + 10892386157, 10892517271, 10892648383, 10892779483, 10892910563, 10893041641, 10893172723, + 10893303859, 10893434953, 10893566027, 10893697109, 10893828199, 10893959291, 10894090391, + 10894221467, 10894352603, 10894483693, 10894614767, 10894745843, 10894876931, 10895008009, + 10895139107, 10895270189, 10895401289, 10895532367, 10895663459, 10895794579, 10895925697, + 10896056791, 10896187879, 10896318967, 10896450083, 10896581167, 10896712273, 10896843359, + 10896974437, 10897105517, 10897236607, 10897367681, 10897498757, 10897629851, 10897760941, + 10897892017, 10898023109, 10898154277, 10898285357, 10898416469, 10898547547, 10898678633, + 10898809709, 10898940791, 10899071881, 10899202973, 10899334073, 10899465149, 10899596231, + 10899727313, 10899858413, 10899989491, 10900120577, 10900251673, 10900382819, 10900513903, + 10900645027, 10900776119, 10900907197, 10901038271, 10901169343, 10901300467, 10901431549, + 10901562643, 10901693731, 10901824811, 10901955887, 10902086989, 10902218111, 10902349187, + 10902480283, 10902611359, 10902742517, 10902873599, 10903004677, 10903135757, 10903266833, + 10903397941, 10903529051, 10903660181, 10903791299, 10903922371, 10904053493, 10904184589, + 10904315677, 10904446783, 10904577889, 10904708999, 10904840099, 10904971171, 10905102289, + 10905233377, 10905364451, 10905495539, 10905626621, 10905757721, 10905888823, 10906019897, + 10906150973, 10906282061, 10906413139, 10906544219, 10906675301, 10906806373, 10906937449, + 10907068531, 10907199631, 10907330711, 10907461811, 10907592889, 10907724013, 10907855089, + 10907986207, 10908117289, 10908248363, 10908379439, 10908510517, 10908641591, 10908772691, + 10908903763, 10909034887, 10909165963, 10909297039, 10909428137, 10909559231, 10909690331, + 10909821427, 10909952531, 10910083607, 10910214683, 10910345773, 10910476867, 10910607947, + 10910739061, 10910870141, 10911001219, 10911132301, 10911263387, 10911394471, 10911525571, + 10911656671, 10911787753, 10911918839, 10912049927, 10912180999, 10912312133, 10912443209, + 10912574291, 10912705379, 10912836481, 10912967561, 10913098633, 10913229749, 10913360837, + 10913491933, 10913623031, 10913754119, 10913885261, 10914016349, 10914147443, 10914278663, + 10914409771, 10914540877, 10914671987, 10914803059, 10914934141, 10915065251, 10915196333, + 10915327421, 10915458493, 10915589567, 10915720643, 10915851721, 10915982813, 10916113961, + 10916245049, 10916376131, 10916507243, 10916638351, 10916769449, 10916900521, 10917031607, + 10917162689, 10917293773, 10917424873, 10917555949, 10917687031, 10917818129, 10917949283, + 10918080367, 10918211443, 10918342529, 10918473607, 10918604687, 10918735783, 10918866859, + 10918997941, 10919129029, 10919260103, 10919391211, 10919522303, 10919653391, 10919784529, + 10919915623, 10920046703, 10920177787, 10920308863, 10920439949, 10920571021, 10920702109, + 10920833219, 10920964291, 10921095371, 10921226497, 10921357571, 10921488647, 10921619777, + 10921750877, 10921881953, 10922013061, 10922144137, 10922275253, 10922406343, 10922537447, + 10922668531, 10922799611, 10922930719, 10923061801, 10923192881, 10923323963, 10923455047, + 10923586123, 10923717209, 10923848329, 10923979403, 10924110523, 10924241617, 10924372691, + 10924503781, 10924634873, 10924765991, 10924897063, 10925028143, 10925159227, 10925290333, + 10925421407, 10925552479, 10925683597, 10925814703, 10925945791, 10926076957, 10926208031, + 10926339103, 10926470179, 10926601253, 10926732329, 10926863411, 10926994489, 10927125571, + 10927256647, 10927387727, 10927518803, 10927649879, 10927780967, 10927912043, 10928043163, + 10928174249, 10928305321, 10928436427, 10928567509, 10928698589, 10928829727, 10928960831, + 10929091933, 10929223027, 10929354131, 10929485213, 10929616331, 10929747403, 10929878501, + 10930009589, 10930140679, 10930271773, 10930402867, 10930533947, 10930665043, 10930796143, + 10930927229, 10931058311, 10931189407, 10931320529, 10931451607, 10931582687, 10931713759, + 10931844839, 10931975921, 10932106993, 10932238087, 10932369167, 10932500263, 10932631379, + 10932762499, 10932893603, 10933024681, 10933155757, 10933286849, 10933417921, 10933549027, + 10933680127, 10933811249, 10933942321, 10934073401, 10934204497, 10934335591, 10934466703, + 10934597777, 10934728877, 10934859977, 10934991049, 10935122129, 10935253201, 10935384307, + 10935515399, 10935646483, 10935777563, 10935908677, 10936039799, 10936170881, 10936301963, + 10936433051, 10936564123, 10936695197, 10936826273, 10936957379, 10937088467, 10937219539, + 10937350621, 10937481697, 10937612773, 10937743877, 10937874971, 10938006043, 10938137141, + 10938268223, 10938399331, 10938530411, 10938661483, 10938792569, 10938923669, 10939054747, + 10939185839, 10939316933, 10939448029, 10939579103, 10939710209, 10939841281, 10939972357, + 10940103529, 10940234609, 10940365697, 10940496773, 10940627869, 10940758963, 10940890043, + 10941021121, 10941152197, 10941283279, 10941414373, 10941545453, 10941676553, 10941807659, + 10941938737, 10942069811, 10942200889, 10942331963, 10942463039, 10942594127, 10942725251, + 10942856341, 10942987463, 10943118577, 10943249657, 10943380729, 10943511853, 10943642947, + 10943774029, 10943905111, 10944036221, 10944167309, 10944298459, 10944429547, 10944560639, + 10944691711, 10944822799, 10944953881, 10945085069, 10945216141, 10945347241, 10945478329, + 10945609417, 10945740527, 10945871611, 10946002699, 10946133799, 10946264893, 10946395973, + 10946527061, 10946658143, 10946789251, 10946920343, 10947051449, 10947182531, 10947313603, + 10947444689, 10947575761, 10947706883, 10947837961, 10947969061, 10948100167, 10948231241, + 10948362367, 10948493441, 10948624567, 10948755641, 10948886723, 10949017799, 10949148871, + 10949279959, 10949411041, 10949542133, 10949673211, 10949804303, 10949935387, 10950066461, + 10950197563, 10950328657, 10950459757, 10950590837, 10950721913, 10950853073, 10950984151, + 10951115237, 10951246331, 10951377403, 10951508521, 10951639609, 10951770691, 10951901783, + 10952032879, 10952163953, 10952295031, 10952426117, 10952557211, 10952688317, 10952819389, + 10952950469, 10953081553, 10953212653, 10953343733, 10953474853, 10953605933, 10953737009, + 10953868099, 10953999179, 10954130261, 10954261343, 10954392433, 10954523507, 10954654589, + 10954785679, 10954916761, 10955047891, 10955178977, 10955310059, 10955441131, 10955572219, + 10955703307, 10955834387, 10955965499, 10956096589, 10956227663, 10956358753, 10956489857, + 10956620953, 10956752033, 10956883109, 10957014181, 10957145357, 10957276439, 10957407523, + 10957538617, 10957669693, 10957800779, 10957931923, 10958063009, 10958194109, 10958325181, + 10958456263, 10958587357, 10958718443, 10958849543, 10958980631, 10959111767, 10959242849, + 10959373927, 10959505003, 10959636113, 10959767219, 10959898297, 10960029373, 10960160473, + 10960291553, 10960422637, 10960553717, 10960684811, 10960815883, 10960946977, 10961078057, + 10961209159, 10961340259, 10961471347, 10961602423, 10961733499, 10961864581, 10961995663, + 10962126743, 10962257833, 10962388909, 10962519983, 10962651083, 10962782177, 10962913277, + 10963044353, 10963175437, 10963306559, 10963437647, 10963568747, 10963699841, 10963830947, + 10963962041, 10964093141, 10964224253, 10964355371, 10964486473, 10964617549, 10964748629, + 10964879701, 10965010799, 10965141893, 10965273019, 10965404117, 10965535193, 10965666293, + 10965797383, 10965928537, 10966059613, 10966190687, 10966321771, 10966452853, 10966583933, + 10966715017, 10966846109, 10966977181, 10967108267, 10967239373, 10967370521, 10967501593, + 10967632667, 10967763743, 10967894827, 10968025903, 10968157043, 10968288119, 10968419197, + 10968550279, 10968681371, 10968812443, 10968943529, 10969074643, 10969205803, 10969336879, + 10969467953, 10969599049, 10969730137, 10969861267, 10969992403, 10970123491, 10970254571, + 10970385649, 10970516803, 10970647901, 10970778989, 10970910077, 10971041183, 10971172271, + 10971303349, 10971434459, 10971565537, 10971696629, 10971827717, 10971958813, 10972089917, + 10972220993, 10972352081, 10972483157, 10972614239, 10972745321, 10972876393, 10973007467, + 10973138549, 10973269649, 10973400721, 10973531809, 10973662919, 10973793991, 10973925077, + 10974056153, 10974187267, 10974318343, 10974449429, 10974580579, 10974711653, 10974842789, + 10974973873, 10975104977, 10975236073, 10975367167, 10975498249, 10975629367, 10975760441, + 10975891517, 10976022593, 10976153687, 10976284771, 10976415851, 10976546923, 10976678003, + 10976809147, 10976940229, 10977071317, 10977202399, 10977333491, 10977464579, 10977595669, + 10977726779, 10977857851, 10977988949, 10978120051, 10978251131, 10978382203, 10978513279, + 10978644359, 10978775503, 10978906597, 10979037673, 10979168773, 10979299847, 10979430923, + 10979562001, 10979693089, 10979824169, 10979955281, 10980086389, 10980217483, 10980348571, + 10980479647, 10980610723, 10980741797, 10980872869, 10981003951, 10981135073, 10981266209, + 10981397303, 10981528409, 10981659509, 10981790581, 10981921721, 10982052793, 10982183867, + 10982314943, 10982446061, 10982577139, 10982708239, 10982839327, 10982970437, 10983101509, + 10983232621, 10983363731, 10983494831, 10983625927, 10983757003, 10983888077, 10984019159, + 10984150241, 10984281313, 10984412399, 10984543499, 10984674619, 10984805693, 10984936789, + 10985067889, 10985198963, 10985330053, 10985461129, 10985592251, 10985723341, 10985854417, + 10985985533, 10986116641, 10986247747, 10986378829, 10986509923, 10986641011, 10986772127, + 10986903227, 10987034389, 10987165463, 10987296539, 10987427657, 10987558741, 10987689833, + 10987820951, 10987952029, 10988083109, 10988214203, 10988345287, 10988476427, 10988607547, + 10988738639, 10988869729, 10989000811, 10989131921, 10989263003, 10989394081, 10989525181, + 10989656263, 10989787337, 10989918419, 10990049491, 10990180571, 10990311659, 10990442731, + 10990573813, 10990704917, 10990836001, 10990967093, 10991098187, 10991229281, 10991360363, + 10991491493, 10991622581, 10991753671, 10991884793, 10992015877, 10992146983, 10992278093, + 10992409171, 10992540301, 10992671377, 10992802519, 10992933599, 10993064683, 10993195799, + 10993326871, 10993457971, 10993589051, 10993720139, 10993851241, 10993982317, 10994113391, + 10994244463, 10994375549, 10994506657, 10994637733, 10994768849, 10994899969, 10995031043, + 10995162137, 10995293213, 10995424289, 10995555391, 10995686467, 10995817561, 10995948643, + 10996079761, 10996210843, 10996341949, 10996473023, 10996604111, 10996735187, 10996866269, + 10996997357, 10997128433, 10997259521, 10997390597, 10997521673, 10997652797, 10997783893, + 10997914969, 10998046069, 10998177167, 10998308267, 10998439349, 10998570431, 10998701537, + 10998832631, 10998963707, 10999094797, 10999225873, 10999356989, 10999488061, 10999619143, + 10999750217, 10999881313, 11000012389, 11000143463, 11000274553, 11000405629, 11000536739, + 11000667841, 11000798917, 11000930033, 11001061111, 11001192217, 11001323297, 11001454421, + 11001585499, 11001716581, 11001847657, 11001978739, 11002109819, 11002240901, 11002371997, + 11002503073, 11002634147, 11002765229, 11002896353, 11003027429, 11003158513, 11003289611, + 11003420693, 11003551771, 11003682847, 11003813927, 11003945009, 11004076099, 11004207173, + 11004338251, 11004469327, 11004600403, 11004731477, 11004862553, 11004993653, 11005124749, + 11005255831, 11005386923, 11005518023, 11005649113, 11005780223, 11005911317, 11006042401, + 11006173481, 11006304559, 11006435639, 11006566733, 11006697829, 11006828909, 11006959991, + 11007091079, 11007222151, 11007353233, 11007484331, 11007615407, 11007746513, 11007877591, + 11008008689, 11008139789, 11008270873, 11008401947, 11008533049, 11008664129, 11008795207, + 11008926301, 11009057419, 11009188493, 11009319577, 11009450723, 11009581799, 11009712919, + 11009843993, 11009975069, 11010106147, 11010237229, 11010368321, 11010499403, 11010630481, + 11010761599, 11010892679, 11011023791, 11011154909, 11011285981, 11011417069, 11011548143, + 11011679251, 11011810343, 11011941463, 11012072563, 11012203639, 11012334731, 11012465831, + 11012596979, 11012728091, 11012859167, 11012990251, 11013121337, 11013252413, 11013383509, + 11013514613, 11013645739, 11013776857, 11013907939, 11014039013, 11014170109, 11014301201, + 11014432321, 11014563409, 11014694501, 11014825609, 11014956691, 11015087791, 11015218909, + 11015350007, 11015481083, 11015612171, 11015743273, 11015874347, 11016005479, 11016136609, + 11016267701, 11016398791, 11016529871, 11016660947, 11016792029, 11016923153, 11017054229, + 11017185323, 11017316399, 11017447513, 11017578601, 11017709713, 11017840787, 11017971859, + 11018102939, 11018234023, 11018365097, 11018496193, 11018627293, 11018758417, 11018889491, + 11019020581, 11019151657, 11019282797, 11019413921, 11019545003, 11019676079, 11019807191, + 11019938287, 11020069363, 11020200449, 11020331537, 11020462657, 11020593739, 11020724851, + 11020855957, 11020987037, 11021118149, 11021249221, 11021380309, 11021511433, 11021642537, + 11021773621, 11021904697, 11022035797, 11022166879, 11022297967, 11022429073, 11022560161, + 11022691249, 11022822331, 11022953407, 11023084549, 11023215647, 11023346729, 11023477823, + 11023608923, 11023739999, 11023871071, 11024002147, 11024133221, 11024264309, 11024395387, + 11024526463, 11024657543, 11024788639, 11024919743, 11025050849, 11025181949, 11025313069, + 11025444211, 11025575291, 11025706409, 11025837481, 11025968567, 11026099661, 11026230749, + 11026361849, 11026492937, 11026624043, 11026755139, 11026886249, 11027017357, 11027148479, + 11027279573, 11027410661, 11027541739, 11027672857, 11027803937, 11027935031, 11028066149, + 11028197221, 11028328303, 11028459439, 11028590519, 11028721621, 11028852707, 11028983803, + 11029114879, 11029245977, 11029377049, 11029508123, 11029639199, 11029770287, 11029901369, + 11030032459, 11030163577, 11030294699, 11030425781, 11030556863, 11030687951, 11030819029, + 11030950103, 11031081209, 11031212327, 11031343417, 11031474511, 11031605587, 11031736673, + 11031867767, 11031998897, 11032129973, 11032261069, 11032392143, 11032523291, 11032654363, + 11032785437, 11032916519, 11033047621, 11033178713, 11033309849, 11033440933, 11033572007, + 11033703157, 11033834237, 11033965309, 11034096389, 11034227489, 11034358627, 11034489721, + 11034620801, 11034751879, 11034882953, 11035014071, 11035145167, 11035276267, 11035407367, + 11035538467, 11035669549, 11035800719, 11035931857, 11036062943, 11036194021, 11036325169, + 11036456243, 11036587319, 11036718401, 11036849477, 11036980571, 11037111649, 11037242729, + 11037373801, 11037504899, 11037636011, 11037767119, 11037898199, 11038029281, 11038160363, + 11038291447, 11038422523, 11038553597, 11038684669, 11038815829, 11038946921, 11039077997, + 11039209081, 11039340227, 11039471341, 11039602447, 11039733553, 11039864657, 11039995739, + 11040126817, 11040257947, 11040389047, 11040520123, 11040651203, 11040782279, 11040913369, + 11041044449, 11041175527, 11041306663, 11041437761, 11041568869, 11041699961, 11041831033, + 11041962149, 11042093221, 11042224327, 11042355413, 11042486491, 11042617577, 11042748659, + 11042879759, 11043010831, 11043141937, 11043273011, 11043404101, 11043535187, 11043666289, + 11043797383, 11043928459, 11044059541, 11044190639, 11044321753, 11044452833, 11044583939, + 11044715027, 11044846147, 11044977233, 11045108309, 11045239409, 11045370527, 11045501641, + 11045632753, 11045763863, 11045894939, 11046026083, 11046157189, 11046288283, 11046419359, + 11046550433, 11046681511, 11046812593, 11046943667, 11047074751, 11047205833, 11047336939, + 11047468043, 11047599127, 11047730233, 11047861343, 11047992427, 11048123509, 11048254597, + 11048385737, 11048516819, 11048647891, 11048779061, 11048910137, 11049041219, 11049172301, + 11049303383, 11049434483, 11049565561, 11049696641, 11049827753, 11049958847, 11050089929, + 11050221023, 11050352099, 11050483219, 11050614319, 11050745437, 11050876513, 11051007589, + 11051138689, 11051269769, 11051400991, 11051532067, 11051663141, 11051794223, 11051925319, + 11052056443, 11052187537, 11052318619, 11052449699, 11052580783, 11052711881, 11052842987, + 11052974059, 11053105139, 11053236251, 11053367399, 11053498471, 11053629599, 11053760671, + 11053891829, 11054022937, 11054154031, 11054285107, 11054416199, 11054547299, 11054678377, + 11054809481, 11054940569, 11055071641, 11055202727, 11055333827, 11055464909, 11055596089, + 11055727183, 11055858277, 11055989359, 11056120451, 11056251523, 11056382639, 11056513711, + 11056644811, 11056775909, 11056906997, 11057038099, 11057169181, 11057300269, 11057431391, + 11057562463, 11057693551, 11057824627, 11057955707, 11058086797, 11058217879, 11058349013, + 11058480089, 11058611191, 11058742271, 11058873347, 11059004419, 11059135501, 11059266577, + 11059397681, 11059528787, 11059659869, 11059791013, 11059922089, 11060053163, 11060184257, + 11060315339, 11060446427, 11060577509, 11060708597, 11060839697, 11060970773, 11061101873, + 11061232951, 11061364051, 11061495127, 11061626221, 11061757337, 11061888419, 11062019491, + 11062150579, 11062281653, 11062412729, 11062543813, 11062674901, 11062805983, 11062937057, + 11063068151, 11063199227, 11063330347, 11063461463, 11063592559, 11063723653, 11063854727, + 11063985811, 11064116887, 11064247991, 11064379099, 11064510199, 11064641281, 11064772363, + 11064903449, 11065034551, 11065165633, 11065296707, 11065427797, 11065558871, 11065689967, + 11065821049, 11065952123, 11066083313, 11066214493, 11066345593, 11066476693, 11066607767, + 11066738861, 11066869939, 11067001021, 11067132113, 11067263189, 11067394291, 11067525383, + 11067656461, 11067787547, 11067918671, 11068049747, 11068180859, 11068311937, 11068443031, + 11068574123, 11068705213, 11068836293, 11068967387, 11069098487, 11069229629, 11069360749, + 11069491883, 11069622959, 11069754037, 11069885117, 11070016193, 11070147281, 11070278363, + 11070409439, 11070540511, 11070671687, 11070802759, 11070933833, 11071064929, 11071196009, + 11071327103, 11071458179, 11071589251, 11071720351, 11071851433, 11071982507, 11072113601, + 11072244679, 11072375857, 11072506957, 11072638051, 11072769133, 11072900227, 11073031301, + 11073162379, 11073293467, 11073424547, 11073555641, 11073686713, 11073817787, 11073948863, + 11074079959, 11074211039, 11074342157, 11074473229, 11074604327, 11074735411, 11074866493, + 11074997567, 11075128661, 11075259749, 11075390827, 11075521901, 11075653003, 11075784101, + 11075915173, 11076046271, 11076177353, 11076308449, 11076439537, 11076570629, 11076701731, + 11076832849, 11076963923, 11077094999, 11077226113, 11077357189, 11077488263, 11077619341, + 11077750433, 11077881509, 11078012591, 11078143697, 11078274787, 11078405873, 11078536949, + 11078668031, 11078799107, 11078930197, 11079061271, 11079192343, 11079323429, 11079454511, + 11079585607, 11079716717, 11079847811, 11079978913, 11080110029, 11080241119, 11080372213, + 11080503311, 11080634407, 11080765511, 11080896583, 11081027663, 11081158783, 11081289859, + 11081420971, 11081552057, 11081683159, 11081814251, 11081945341, 11082076459, 11082207547, + 11082338629, 11082469721, 11082600803, 11082731879, 11082863047, 11082994121, 11083125217, + 11083256309, 11083387421, 11083518547, 11083649623, 11083780699, 11083911779, 11084042911, + 11084173999, 11084305097, 11084436211, 11084567321, 11084698421, 11084829499, 11084960629, + 11085091709, 11085222787, 11085353933, 11085485009, 11085616127, 11085747217, 11085878291, + 11086009373, 11086140449, 11086271527, 11086402619, 11086533713, 11086664837, 11086795943, + 11086927031, 11087058109, 11087189249, 11087320369, 11087451443, 11087582521, 11087713603, + 11087844707, 11087975779, 11088106853, 11088237943, 11088369073, 11088500147, 11088631237, + 11088762313, 11088893393, 11089024489, 11089155563, 11089286639, 11089417721, 11089548793, + 11089679869, 11089810961, 11089942033, 11090073179, 11090204299, 11090335387, 11090466461, + 11090597533, 11090728637, 11090859727, 11090990809, 11091121889, 11091252967, 11091384043, + 11091515117, 11091646217, 11091777317, 11091908419, 11092039499, 11092170577, 11092301653, + 11092432733, 11092563841, 11092694923, 11092826011, 11092957111, 11093088199, 11093219299, + 11093350423, 11093481541, 11093612671, 11093743753, 11093874851, 11094005927, 11094137011, + 11094268099, 11094399179, 11094530267, 11094661339, 11094792431, 11094923513, 11095054681, + 11095185791, 11095316879, 11095447973, 11095579049, 11095710179, 11095841269, 11095972343, + 11096103433, 11096234537, 11096365633, 11096496707, 11096627827, 11096758919, 11096890001, + 11097021073, 11097152149, 11097283247, 11097414319, 11097545401, 11097676489, 11097807569, + 11097938641, 11098069739, 11098200823, 11098331903, 11098463011, 11098594099, 11098725173, + 11098856273, 11098987357, 11099118461, 11099249533, 11099380639, 11099511719, 11099642843, + 11099773931, 11099905009, 11100036121, 11100167207, 11100298373, 11100429479, 11100560557, + 11100691669, 11100822773, 11100953869, 11101085029, 11101216123, 11101347199, 11101478273, + 11101609373, 11101740449, 11101871531, 11102002603, 11102133677, 11102264779, 11102395939, + 11102527031, 11102658103, 11102789177, 11102920273, 11103051397, 11103182491, 11103313597, + 11103444689, 11103575809, 11103706903, 11103838007, 11103969083, 11104100209, 11104231289, + 11104362377, 11104493453, 11104624547, 11104755631, 11104886711, 11105017787, 11105148889, + 11105279989, 11105411081, 11105542153, 11105673233, 11105804327, 11105935409, 11106066487, + 11106197569, 11106328657, 11106459739, 11106590827, 11106721907, 11106853013, 11106984103, + 11107115177, 11107246261, 11107377361, 11107508459, 11107639547, 11107770623, 11107901699, + 11108032787, 11108163863, 11108294941, 11108426023, 11108557099, 11108688179, 11108819261, + 11108950379, 11109081463, 11109212537, 11109343649, 11109474731, 11109605803, 11109736877, + 11109867959, 11109999031, 11110130137, 11110261223, 11110392353, 11110523449, 11110654537, + 11110785643, 11110916731, 11111047811, 11111178899, 11111309971, 11111441069, 11111572211, + 11111703299, 11111834407, 11111965483, 11112096557, 11112227629, 11112358709, 11112489781, + 11112620863, 11112751963, 11112883079, 11113014151, 11113145273, 11113276373, 11113407469, + 11113538573, 11113669661, 11113800743, 11113931837, 11114062909, 11114194037, 11114325109, + 11114456183, 11114587271, 11114718353, 11114849437, 11114980519, 11115111607, 11115242689, + 11115373769, 11115504853, 11115635957, 11115767081, 11115898159, 11116029247, 11116160339, + 11116291429, 11116422503, 11116553579, 11116684679, 11116815767, 11116946843, 11117077921, + 11117209043, 11117340121, 11117471237, 11117602333, 11117733409, 11117864491, 11117995601, + 11118126673, 11118257767, 11118388861, 11118519941, 11118651013, 11118782093, 11118913199, + 11119044289, 11119175381, 11119306459, 11119437533, 11119568627, 11119699727, 11119830803, + 11119961911, 11120093029, 11120224189, 11120355269, 11120486347, 11120617427, 11120748557, + 11120879629, 11121010721, 11121141809, 11121272887, 11121404009, 11121535153, 11121666233, + 11121797327, 11121928421, 11122059499, 11122190593, 11122321673, 11122452773, 11122583891, + 11122714963, 11122846039, 11122977133, 11123108221, 11123239321, 11123370409, 11123501491, + 11123632579, 11123763661, 11123894741, 11124025883, 11124156959, 11124288041, 11124419167, + 11124550247, 11124681349, 11124812423, 11124943499, 11125074589, 11125205669, 11125336751, + 11125467883, 11125598969, 11125730071, 11125861169, 11125992257, 11126123347, 11126254421, + 11126385499, 11126516633, 11126647709, 11126778799, 11126909909, 11127041077, 11127172151, + 11127303293, 11127434393, 11127565469, 11127696571, 11127827701, 11127958781, 11128089893, + 11128220977, 11128352107, 11128483253, 11128614347, 11128745443, 11128876553, 11129007629, + 11129138701, 11129269777, 11129400851, 11129531953, 11129663033, 11129794147, 11129925221, + 11130056389, 11130187507, 11130318587, 11130449689, 11130580771, 11130711877, 11130842969, + 11130974053, 11131105171, 11131236269, 11131367363, 11131498447, 11131629557, 11131760657, + 11131891759, 11132022833, 11132153957, 11132285051, 11132416171, 11132547247, 11132678321, + 11132809423, 11132940547, 11133071629, 11133202733, 11133333823, 11133464897, 11133595973, + 11133727051, 11133858133, 11133989213, 11134120331, 11134251421, 11134382507, 11134513591, + 11134644671, 11134775783, 11134906907, 11135038003, 11135169083, 11135300213, 11135431297, + 11135562457, 11135693539, 11135824613, 11135955773, 11136086869, 11136217957, 11136349031, + 11136480109, 11136611249, 11136742321, 11136873409, 11137004563, 11137135637, 11137266737, + 11137397813, 11137528891, 11137660013, 11137791107, 11137922231, 11138053309, 11138184383, + 11138315467, 11138446541, 11138577617, 11138708689, 11138839781, 11138970853, 11139101929, + 11139233029, 11139364127, 11139495221, 11139626387, 11139757469, 11139888541, 11140019629, + 11140150817, 11140281959, 11140413041, 11140544141, 11140675237, 11140806343, 11140937417, + 11141068489, 11141199583, 11141330657, 11141461753, 11141592881, 11141723987, 11141855077, + 11141986153, 11142117227, 11142248303, 11142379403, 11142510487, 11142641603, 11142772679, + 11142903763, 11143034867, 11143165963, 11143297063, 11143428139, 11143559221, 11143690297, + 11143821383, 11143952497, 11144083589, 11144214703, 11144345809, 11144476921, 11144608021, + 11144739173, 11144870287, 11145001409, 11145132497, 11145263573, 11145394657, 11145525791, + 11145656881, 11145787963, 11145919051, 11146050133, 11146181213, 11146312297, 11146443377, + 11146574449, 11146705529, 11146836611, 11146967683, 11147098763, 11147229869, 11147360957, + 11147492099, 11147623199, 11147754281, 11147885377, 11148016459, 11148147559, 11148278653, + 11148409747, 11148540839, 11148671939, 11148803023, 11148934099, 11149065211, 11149196291, + 11149327373, 11149458461, 11149589573, 11149720663, 11149851743, 11149982827, 11150113913, + 11150245087, 11150376163, 11150507239, 11150638313, 11150769389, 11150900521, 11151031609, + 11151162689, 11151293773, 11151424853, 11151555967, 11151687059, 11151818147, 11151949229, + 11152080301, 11152211381, 11152342459, 11152473547, 11152604641, 11152735717, 11152866793, + 11152997879, 11153128963, 11153260051, 11153391133, 11153522243, 11153653319, 11153784401, + 11153915501, 11154046573, 11154177647, 11154308723, 11154439819, 11154570913, 11154702011, + 11154833111, 11154964243, 11155095317, 11155226393, 11155357469, 11155488559, 11155619653, + 11155750729, 11155881811, 11156012927, 11156144011, 11156275093, 11156406211, 11156537299, + 11156668373, 11156799463, 11156930563, 11157061637, 11157192727, 11157323803, 11157454883, + 11157585977, 11157717089, 11157848201, 11157979297, 11158110391, 11158241467, 11158372553, + 11158503647, 11158634723, 11158765801, 11158896877, 11159027951, 11159159029, 11159290133, + 11159421209, 11159552297, 11159683373, 11159814493, 11159945717, 11160076793, 11160207869, + 11160338951, 11160470039, 11160601117, 11160732217, 11160863291, 11160994373, 11161125463, + 11161256549, 11161387639, 11161518743, 11161649831, 11161780909, 11161912031, 11162043127, + 11162174237, 11162305313, 11162436401, 11162567497, 11162698571, 11162829659, 11162960761, + 11163091867, 11163222943, 11163354023, 11163485101, 11163616213, 11163747299, 11163878381, + 11164009453, 11164140583, 11164271681, 11164402763, 11164533841, 11164664933, 11164796011, + 11164927087, 11165058251, 11165189359, 11165320433, 11165451547, 11165582621, 11165713697, + 11165844797, 11165975881, 11166106961, 11166238043, 11166369121, 11166500197, 11166631291, + 11166762421, 11166893519, 11167024591, 11167155667, 11167286797, 11167417889, 11167549021, + 11167680133, 11167811243, 11167942343, 11168073461, 11168204543, 11168335637, 11168466721, + 11168597821, 11168728897, 11168859973, 11168991079, 11169122189, 11169253273, 11169384397, + 11169515473, 11169646547, 11169777637, 11169908713, 11170039799, 11170170877, 11170301957, + 11170433039, 11170564117, 11170695199, 11170826279, 11170957351, 11171088473, 11171219681, + 11171350783, 11171481859, 11171612953, 11171744029, 11171875133, 11172006217, 11172137293, + 11172268381, 11172399463, 11172530549, 11172661639, 11172792721, 11172923803, 11173054897, + 11173186001, 11173317079, 11173448159, 11173579237, 11173710341, 11173841473, 11173972553, + 11174103643, 11174234717, 11174365789, 11174496901, 11174627987, 11174759087, 11174890159, + 11175021241, 11175152333, 11175283433, 11175414511, 11175545599, 11175676711, 11175807793, + 11175938881, 11176069979, 11176201067, 11176332157, 11176463239, 11176594321, 11176725401, + 11176856489, 11176987567, 11177118647, 11177249729, 11177380873, 11177511967, 11177643091, + 11177774197, 11177905301, 11178036379, 11178167459, 11178298531, 11178429643, 11178560741, + 11178691847, 11178822929, 11178954029, 11179085107, 11179216189, 11179347337, 11179478423, + 11179609531, 11179740629, 11179871723, 11180002811, 11180133893, 11180264987, 11180396063, + 11180527147, 11180658257, 11180789357, 11180920441, 11181051517, 11181182599, 11181313733, + 11181444863, 11181575941, 11181707021, 11181838093, 11181969191, 11182100311, 11182231393, + 11182362469, 11182493557, 11182624639, 11182755721, 11182886837, 11183017913, 11183149007, + 11183280161, 11183411249, 11183542373, 11183673493, 11183804573, 11183935669, 11184066781, + 11184197891, 11184328997, 11184460081, 11184591157, 11184722249, 11184853331, 11184984407, + 11185115483, 11185246561, 11185377713, 11185508809, 11185639939, 11185771099, 11185902241, + 11186033333, 11186164433, 11186295569, 11186426659, 11186557751, 11186688869, 11186819953, + 11186951033, 11187082141, 11187213259, 11187344351, 11187475441, 11187606539, 11187737633, + 11187868711, 11187999793, 11188130869, 11188261943, 11188393061, 11188524173, 11188655249, + 11188786339, 11188917413, 11189048503, 11189179601, 11189310673, 11189441749, 11189572913, + 11189704037, 11189835121, 11189966201, 11190097277, 11190228377, 11190359449, 11190490583, + 11190621677, 11190752761, 11190883883, 11191014997, 11191146089, 11191277173, 11191408273, + 11191539347, 11191670509, 11191801603, 11191932683, 11192063759, 11192194831, 11192325913, + 11192457007, 11192588101, 11192719211, 11192850287, 11192981363, 11193112459, 11193243541, + 11193374623, 11193505709, 11193636827, 11193767899, 11193898981, 11194030079, 11194161169, + 11194292251, 11194423327, 11194554401, 11194685483, 11194816597, 11194947671, 11195078777, + 11195209871, 11195340953, 11195472037, 11195603123, 11195734223, 11195865299, 11195996381, + 11196127487, 11196258559, 11196389647, 11196520723, 11196651841, 11196782939, 11196914021, + 11197045147, 11197176233, 11197307333, 11197438423, 11197569511, 11197700593, 11197831691, + 11197962773, 11198093857, 11198224931, 11198356019, 11198487107, 11198618191, 11198749279, + 11198880359, 11199011437, 11199142567, 11199273641, 11199404717, 11199535801, 11199666889, + 11199797993, 11199929129, 11200060237, 11200191361, 11200322453, 11200453529, 11200584667, + 11200715767, 11200846841, 11200977917, 11201108999, 11201240077, 11201371189, 11201502311, + 11201633393, 11201764477, 11201895553, 11202026713, 11202157789, 11202288871, 11202419981, + 11202551071, 11202682159, 11202813247, 11202944387, 11203075489, 11203206577, 11203337683, + 11203468763, 11203599871, 11203730947, 11203862023, 11203993109, 11204124181, 11204255269, + 11204386357, 11204517449, 11204648549, 11204779633, 11204910737, 11205041831, 11205172919, + 11205304031, 11205435149, 11205566231, 11205697309, 11205828401, 11205959483, 11206090607, + 11206221749, 11206352831, 11206483921, 11206614997, 11206746077, 11206877161, 11207008271, + 11207139353, 11207270491, 11207401603, 11207532689, 11207663783, 11207794889, 11207926019, + 11208057121, 11208188207, 11208319361, 11208450437, 11208581537, 11208712639, 11208843719, + 11208974797, 11209105889, 11209237003, 11209368077, 11209499183, 11209630261, 11209761361, + 11209892453, 11210023529, 11210154649, 11210285731, 11210416883, 11210547989, 11210679071, + 11210810173, 11210941283, 11211072373, 11211203447, 11211334531, 11211465623, 11211596729, + 11211727801, 11211858899, 11211989981, 11212121059, 11212252157, 11212383277, 11212514353, + 11212645441, 11212776521, 11212907593, 11213038673, 11213169749, 11213300821, 11213431907, + 11213562979, 11213694083, 11213825159, 11213956231, 11214087307, 11214218381, 11214349459, + 11214480577, 11214611651, 11214742769, 11214873883, 11215004981, 11215136063, 11215267157, + 11215398239, 11215529363, 11215660441, 11215791527, 11215922617, 11216053699, 11216184821, + 11216315911, 11216446987, 11216578073, 11216709151, 11216840263, 11216971349, 11217102467, + 11217233549, 11217364649, 11217495721, 11217626831, 11217757919, 11217889037, 11218020137, + 11218151213, 11218282297, 11218413379, 11218544473, 11218675577, 11218806649, 11218937753, + 11219068829, 11219199973, 11219331059, 11219462131, 11219593237, 11219724337, 11219855411, + 11219986483, 11220117607, 11220248687, 11220379829, 11220510907, 11220641987, 11220773093, + 11220904187, 11221035263, 11221166381, 11221297459, 11221428587, 11221559663, 11221690741, + 11221821823, 11221952939, 11222084039, 11222215111, 11222346203, 11222477293, 11222608387, + 11222739467, 11222870551, 11223001633, 11223132719, 11223263819, 11223394901, 11223525979, + 11223657059, 11223788137, 11223919243, 11224050391, 11224181483, 11224312559, 11224443641, + 11224574719, 11224705813, 11224836911, 11224967989, 11225099071, 11225230147, 11225361223, + 11225492297, 11225623403, 11225754479, 11225885569, 11226016673, 11226147773, 11226278881, + 11226409973, 11226541049, 11226672179, 11226803251, 11226934337, 11227065413, 11227196489, + 11227327577, 11227458667, 11227589741, 11227720813, 11227851931, 11227983043, 11228114129, + 11228245207, 11228376283, 11228507359, 11228638439, 11228769523, 11228900609, 11229031703, + 11229162781, 11229293861, 11229424937, 11229556021, 11229687113, 11229818227, 11229949307, + 11230080403, 11230211479, 11230342577, 11230473671, 11230604743, 11230735819, 11230866919, + 11230998001, 11231129081, 11231260163, 11231391263, 11231522353, 11231653441, 11231784559, + 11231915659, 11232046733, 11232177821, 11232308977, 11232440099, 11232571193, 11232702277, + 11232833371, 11232964459, 11233095539, 11233226737, 11233357841, 11233488943, 11233620037, + 11233751119, 11233882199, 11234013293, 11234144377, 11234275453, 11234406527, 11234537617, + 11234668699, 11234799833, 11234930933, 11235062009, 11235193093, 11235324167, 11235455293, + 11235586387, 11235717473, 11235848551, 11235979639, 11236110727, 11236241801, 11236372877, + 11236503953, 11236635077, 11236766159, 11236897247, 11237028367, 11237159447, 11237290529, + 11237421623, 11237552707, 11237683819, 11237814937, 11237946037, 11238077143, 11238208231, + 11238339313, 11238470387, 11238601459, 11238732551, 11238863633, 11238994717, 11239125811, + 11239256887, 11239387967, 11239519073, 11239650193, 11239781291, 11239912379, 11240043461, + 11240174551, 11240305639, 11240436721, 11240567809, 11240698951, 11240830057, 11240961131, + 11241092267, 11241223417, 11241354497, 11241485581, 11241616663, 11241747757, 11241878863, + 11242009957, 11242141061, 11242272157, 11242403231, 11242534309, 11242665407, 11242796483, + 11242927571, 11243058653, 11243189729, 11243320819, 11243451899, 11243582989, 11243714063, + 11243845139, 11243976229, 11244107311, 11244238391, 11244369463, 11244500543, 11244631637, + 11244762709, 11244893789, 11245024871, 11245155953, 11245287043, 11245418117, 11245549193, + 11245680317, 11245811399, 11245942481, 11246073593, 11246204677, 11246335757, 11246466859, + 11246597939, 11246729017, 11246860129, 11246991209, 11247122303, 11247253387, 11247384461, + 11247515581, 11247646681, 11247777851, 11247908939, 11248040053, 11248171153, 11248302227, + 11248433321, 11248564417, 11248695499, 11248826593, 11248957679, 11249088793, 11249219879, + 11249350979, 11249482061, 11249613139, 11249744243, 11249875321, 11250006401, 11250137473, + 11250268609, 11250399683, 11250530777, 11250661871, 11250792997, 11250924079, 11251055197, + 11251186333, 11251317409, 11251448491, 11251579583, 11251710707, 11251841831, 11251972931, + 11252104037, 11252235133, 11252366221, 11252497349, 11252628427, 11252759513, 11252890589, + 11253021713, 11253152821, 11253283897, 11253414971, 11253546047, 11253677129, 11253808231, + 11253939311, 11254070411, 11254201489, 11254332569, 11254463651, 11254594759, 11254725841, + 11254856917, 11254988033, 11255119121, 11255250217, 11255381303, 11255512399, 11255643499, + 11255774573, 11255905673, 11256036749, 11256167843, 11256298919, 11256430007, 11256561079, + 11256692173, 11256823247, 11256954341, 11257085423, 11257216573, 11257347653, 11257478737, + 11257609817, 11257740899, 11257872029, 11258003123, 11258134243, 11258265329, 11258396423, + 11258527507, 11258658599, 11258789677, 11258920787, 11259051883, 11259182999, 11259314093, + 11259445229, 11259576311, 11259707383, 11259838459, 11259969559, 11260100633, 11260231709, + 11260362781, 11260493861, 11260624961, 11260756033, 11260887139, 11261018231, 11261149337, + 11261280427, 11261411519, 11261542603, 11261673697, 11261804777, 11261935891, 11262066971, + 11262198061, 11262329149, 11262460267, 11262591421, 11262722521, 11262853607, 11262984727, + 11263115813, 11263246913, 11263377991, 11263509077, 11263640153, 11263771231, 11263902311, + 11264033387, 11264164501, 11264295583, 11264426731, 11264557807, 11264688913, 11264819989, + 11264951141, 11265082217, 11265213313, 11265344393, 11265475483, 11265606557, 11265737699, + 11265868777, 11265999851, 11266130923, 11266262027, 11266393111, 11266524229, 11266655303, + 11266786381, 11266917479, 11267048557, 11267179631, 11267310727, 11267441803, 11267572903, + 11267704027, 11267835101, 11267966183, 11268097271, 11268228343, 11268359429, 11268490543, + 11268621641, 11268752723, 11268883819, 11269014901, 11269145977, 11269277053, 11269408177, + 11269539263, 11269670353, 11269801451, 11269932539, 11270063621, 11270194703, 11270325851, + 11270456959, 11270588047, 11270719139, 11270850233, 11270981347, 11271112423, 11271243499, + 11271374603, 11271505697, 11271636787, 11271767869, 11271898961, 11272030037, 11272161127, + 11272292219, 11272423301, 11272554413, 11272685519, 11272816601, 11272947691, 11273078771, + 11273209877, 11273340961, 11273472043, 11273603177, 11273734261, 11273865341, 11273996417, + 11274127517, 11274258601, 11274389677, 11274520793, 11274651907, 11274782983, 11274914069, + 11275045217, 11275176299, 11275307371, 11275438469, 11275569541, 11275700621, 11275831709, + 11275962781, 11276093861, 11276224951, 11276356031, 11276487113, 11276618189, 11276749273, + 11276880379, 11277011491, 11277142571, 11277273643, 11277404759, 11277535847, 11277666947, + 11277798029, 11277929107, 11278060207, 11278191311, 11278322383, 11278453457, 11278584529, + 11278715627, 11278846703, 11278977821, 11279108923, 11279240017, 11279371139, 11279502239, + 11279633311, 11279764399, 11279895491, 11280026573, 11280157687, 11280288763, 11280419849, + 11280550979, 11280682057, 11280813139, 11280944219, 11281075297, 11281206397, 11281337477, + 11281468577, 11281599671, 11281730767, 11281861847, 11281992949, 11282124023, 11282255137, + 11282386217, 11282517307, 11282648387, 11282779471, 11282910547, 11283041683, 11283172757, + 11283303839, 11283434951, 11283566033, 11283697109, 11283828181, 11283959317, 11284090393, + 11284221479, 11284352579, 11284483663, 11284614749, 11284745821, 11284876903, 11285008013, + 11285139113, 11285270189, 11285401321, 11285532409, 11285663551, 11285794633, 11285925709, + 11286056813, 11286187901, 11286318973, 11286450047, 11286581123, 11286712207, 11286843283, + 11286974389, 11287105517, 11287236607, 11287367681, 11287498757, 11287629841, 11287760927, + 11287892009, 11288023081, 11288154167, 11288285269, 11288416357, 11288547493, 11288678581, + 11288809667, 11288940853, 11289071957, 11289203059, 11289334169, 11289465241, 11289596321, + 11289727409, 11289858493, 11289989567, 11290120679, 11290251751, 11290382837, 11290513931, + 11290645019, 11290776121, 11290907209, 11291038303, 11291169391, 11291300473, 11291431577, + 11291562691, 11291693771, 11291824867, 11291955959, 11292087047, 11292218141, 11292349217, + 11292480383, 11292611467, 11292742543, 11292873617, 11293004693, 11293135771, 11293266851, + 11293397939, 11293529011, 11293660151, 11293791263, 11293922357, 11294053483, 11294184571, + 11294315651, 11294446733, 11294577871, 11294708989, 11294840083, 11294971157, 11295102233, + 11295233359, 11295364439, 11295495517, 11295626593, 11295757667, 11295888743, 11296019849, + 11296150933, 11296282007, 11296413143, 11296544239, 11296675349, 11296806427, 11296937507, + 11297068649, 11297199743, 11297330867, 11297461961, 11297593037, 11297724157, 11297855251, + 11297986409, 11298117491, 11298248567, 11298379709, 11298510793, 11298641867, 11298772949, + 11298904069, 11299035151, 11299166237, 11299297309, 11299428389, 11299559497, 11299690601, + 11299821677, 11299952749, 11300083849, 11300214943, 11300346037, 11300477119, 11300608199, + 11300739271, 11300870353, 11301001489, 11301132571, 11301263671, 11301394781, 11301525853, + 11301656939, 11301788033, 11301919129, 11302050203, 11302181287, 11302312367, 11302443443, + 11302574603, 11302705699, 11302836803, 11302967887, 11303098987, 11303230091, 11303361163, + 11303492237, 11303623313, 11303754419, 11303885491, 11304016573, 11304147653, 11304278753, + 11304409829, 11304540911, 11304671993, 11304803087, 11304934163, 11305065251, 11305196341, + 11305327459, 11305458559, 11305589639, 11305720711, 11305851787, 11305982861, 11306113937, + 11306245009, 11306376127, 11306507221, 11306638297, 11306769373, 11306900453, 11307031583, + 11307162697, 11307293819, 11307424901, 11307555979, 11307687077, 11307818149, 11307949253, + 11308080367, 11308211461, 11308342543, 11308473623, 11308604719, 11308735793, 11308866889, + 11308997981, 11309129063, 11309260141, 11309391259, 11309522333, 11309653409, 11309784481, + 11309915579, 11310046667, 11310177751, 11310308861, 11310439961, 11310571043, 11310702163, + 11310833243, 11310964319, 11311095391, 11311226483, 11311357583, 11311488659, 11311619741, + 11311750823, 11311881901, 11312012981, 11312144087, 11312275207, 11312406317, 11312537389, + 11312668487, 11312799571, 11312930683, 11313061759, 11313192859, 11313323941, 11313455017, + 11313586091, 11313717167, 11313848239, 11313979319, 11314110403, 11314241479, 11314372603, + 11314503703, 11314634791, 11314765873, 11314897039, 11315028149, 11315159231, 11315290303, + 11315421433, 11315552609, 11315683703, 11315814841, 11315945923, 11316077041, 11316208159, + 11316339277, 11316470383, 11316601469, 11316732551, 11316863629, 11316994709, 11317125797, + 11317256887, 11317387979, 11317519099, 11317650203, 11317781317, 11317912391, 11318043497, + 11318174587, 11318305697, 11318436769, 11318567857, 11318698949, 11318830031, 11318961161, + 11319092249, 11319223387, 11319354461, 11319485549, 11319616639, 11319747731, 11319878819, + 11320009933, 11320141037, 11320272109, 11320403209, 11320534297, 11320665371, 11320796471, + 11320927549, 11321058641, 11321189723, 11321320873, 11321451961, 11321583073, 11321714149, + 11321845237, 11321976349, 11322107449, 11322238621, 11322369697, 11322500857, 11322631949, + 11322763033, 11322894137, 11323025213, 11323156301, 11323287403, 11323418521, 11323549607, + 11323680703, 11323811777, 11323942853, 11324073931, 11324205031, 11324336137, 11324467213, + 11324598287, 11324729359, 11324860439, 11324991631, 11325122707, 11325253811, 11325384883, + 11325515969, 11325647041, 11325778157, 11325909229, 11326040303, 11326171379, 11326302467, + 11326433551, 11326564631, 11326695703, 11326826807, 11326957879, 11327088953, 11327220029, + 11327351111, 11327482183, 11327613257, 11327744333, 11327875417, 11328006493, 11328137567, + 11328268661, 11328399763, 11328530879, 11328661957, 11328793043, 11328924161, 11329055249, + 11329186331, 11329317427, 11329448551, 11329579627, 11329710713, 11329841819, 11329972903, + 11330104007, 11330235121, 11330366213, 11330497289, 11330628409, 11330759507, 11330890579, + 11331021671, 11331152743, 11331283841, 11331414917, 11331546007, 11331677081, 11331808171, + 11331939257, 11332070339, 11332201417, 11332332491, 11332463567, 11332594649, 11332725727, + 11332856807, 11332987903, 11333118989, 11333250077, 11333381153, 11333512237, 11333643319, + 11333774401, 11333905489, 11334036569, 11334167657, 11334298733, 11334429809, 11334560891, + 11334691987, 11334823061, 11334954149, 11335085231, 11335216303, 11335347437, 11335478563, + 11335609651, 11335740761, 11335871843, 11336002921, 11336134001, 11336265113, 11336396237, + 11336527313, 11336658391, 11336789491, 11336920591, 11337051673, 11337182749, 11337313829, + 11337444929, 11337576011, 11337707107, 11337838189, 11337969271, 11338100357, 11338231439, + 11338362521, 11338493623, 11338624733, 11338755859, 11338886941, 11339018023, 11339149097, + 11339280259, 11339411357, 11339542433, 11339673511, 11339804617, 11339935693, 11340066781, + 11340197857, 11340328991, 11340460081, 11340591179, 11340722251, 11340853367, 11340984439, + 11341115543, 11341246627, 11341377701, 11341508839, 11341639921, 11341770997, 11341902073, + 11342033149, 11342164237, 11342295311, 11342426399, 11342557493, 11342688583, 11342819659, + 11342950739, 11343081851, 11343212929, 11343344003, 11343475139, 11343606221, 11343737323, + 11343868451, 11343999551, 11344130639, 11344261717, 11344392799, 11344523893, 11344654973, + 11344786067, 11344917149, 11345048261, 11345179333, 11345310437, 11345441537, 11345572613, + 11345703739, 11345834879, 11345965951, 11346097033, 11346228167, 11346359239, 11346490313, + 11346621397, 11346752509, 11346883609, 11347014751, 11347145851, 11347276939, 11347408021, + 11347539101, 11347670183, 11347801279, 11347932359, 11348063437, 11348194511, 11348325587, + 11348456659, 11348587739, 11348718817, 11348849903, 11348980987, 11349112081, 11349243203, + 11349374297, 11349505379, 11349636457, 11349767549, 11349898631, 11350029739, 11350160827, + 11350291907, 11350422983, 11350554071, 11350685153, 11350816231, 11350947323, 11351078407, + 11351209483, 11351340569, 11351471669, 11351602799, 11351733889, 11351864999, 11351996111, + 11352127219, 11352258293, 11352389383, 11352520471, 11352651551, 11352782713, 11352913829, + 11353044929, 11353176017, 11353307111, 11353438183, 11353569287, 11353700387, 11353831471, + 11353962553, 11354093687, 11354224759, 11354355889, 11354486977, 11354618057, 11354749183, + 11354880283, 11355011407, 11355142507, 11355273617, 11355404717, 11355535799, 11355666877, + 11355798031, 11355929113, 11356060229, 11356191307, 11356322389, 11356453469, 11356584599, + 11356715719, 11356846793, 11356977871, 11357108953, 11357240029, 11357371199, 11357502313, + 11357633393, 11357764471, 11357895547, 11358026623, 11358157697, 11358288779, 11358419861, + 11358550979, 11358682051, 11358813127, 11358944203, 11359075309, 11359206407, 11359337489, + 11359468613, 11359599737, 11359730813, 11359861913, 11359992989, 11360124071, 11360255143, + 11360386259, 11360517383, 11360648477, 11360779559, 11360910709, 11361041801, 11361172931, + 11361304061, 11361435133, 11361566257, 11361697339, 11361828419, 11361959527, 11362090609, + 11362221707, 11362352783, 11362483889, 11362615009, 11362746119, 11362877209, 11363008291, + 11363139379, 11363270453, 11363401583, 11363532659, 11363663747, 11363794861, 11363925949, + 11364057059, 11364188149, 11364319229, 11364450319, 11364581407, 11364712507, 11364843613, + 11364974737, 11365105819, 11365236913, 11365368017, 11365499129, 11365630231, 11365761427, + 11365892501, 11366023589, 11366154689, 11366285771, 11366416877, 11366547953, 11366679047, + 11366810137, 11366941283, 11367072359, 11367203479, 11367334579, 11367465691, 11367596791, + 11367727883, 11367859037, 11367990131, 11368121213, 11368252307, 11368383407, 11368514483, + 11368645577, 11368776703, 11368907779, 11369038861, 11369169949, 11369301023, 11369432141, + 11369563217, 11369694289, 11369825393, 11369956487, 11370087571, 11370218677, 11370349763, + 11370480857, 11370611929, 11370743009, 11370874093, 11371005187, 11371136261, 11371267333, + 11371398419, 11371529509, 11371660613, 11371791719, 11371922831, 11372053937, 11372185009, + 11372316091, 11372447189, 11372578271, 11372709343, 11372840441, 11372971517, 11373102589, + 11373233687, 11373364763, 11373495841, 11373626941, 11373758021, 11373889129, 11374020233, + 11374151311, 11374282397, 11374413481, 11374544593, 11374675681, 11374806797, 11374937909, + 11375068993, 11375200073, 11375331151, 11375462321, 11375593403, 11375724487, 11375855567, + 11375986651, 11376117733, 11376248813, 11376379919, 11376510991, 11376642083, 11376773179, + 11376904307, 11377035407, 11377166483, 11377297559, 11377428661, 11377559747, 11377690871, + 11377821967, 11377953043, 11378084129, 11378215201, 11378346319, 11378477393, 11378608469, + 11378739563, 11378870653, 11379001757, 11379132859, 11379263941, 11379395017, 11379526111, + 11379657197, 11379788281, 11379919367, 11380050439, 11380181521, 11380312627, 11380443719, + 11380574791, 11380705867, 11380836959, 11380968041, 11381099153, 11381230241, 11381361317, + 11381492389, 11381623499, 11381754649, 11381885741, 11382016813, 11382147937, 11382279043, + 11382410153, 11382541253, 11382672403, 11382803489, 11382934567, 11383065641, 11383196729, + 11383327801, 11383458913, 11383590007, 11383721087, 11383852189, 11383983283, 11384114359, + 11384245459, 11384376541, 11384507627, 11384638703, 11384769787, 11384900899, 11385032011, + 11385163103, 11385294181, 11385425263, 11385556361, 11385687461, 11385818537, 11385949657, + 11386080749, 11386211843, 11386342931, 11386474007, 11386605119, 11386736269, 11386867391, + 11386998479, 11387129563, 11387260639, 11387391713, 11387522807, 11387653891, 11387784971, + 11387916047, 11388047137, 11388178213, 11388309307, 11388440383, 11388571499, 11388702659, + 11388833737, 11388964817, 11389095899, 11389226971, 11389358051, 11389489129, 11389620247, + 11389751353, 11389882459, 11390013539, 11390144629, 11390275747, 11390406851, 11390537927, + 11390669009, 11390800093, 11390931191, 11391062273, 11391193369, 11391324509, 11391455657, + 11391586733, 11391717809, 11391848899, 11391980023, 11392111097, 11392242187, 11392373261, + 11392504337, 11392635431, 11392766513, 11392897597, 11393028697, 11393159797, 11393290873, + 11393421983, 11393553121, 11393684221, 11393815331, 11393946409, 11394077483, 11394208583, + 11394339667, 11394470771, 11394601859, 11394732941, 11394864017, 11394995107, 11395126199, + 11395257271, 11395388357, 11395519469, 11395650593, 11395781707, 11395912783, 11396043937, + 11396175059, 11396306143, 11396437249, 11396568367, 11396699527, 11396830609, 11396961701, + 11397092801, 11397223913, 11397355019, 11397486109, 11397617213, 11397748289, 11397879373, + 11398010471, 11398141571, 11398272661, 11398403761, 11398534843, 11398665923, 11398797023, + 11398928141, 11399059267, 11399190401, 11399321477, 11399452549, 11399583647, 11399714741, + 11399845829, 11399976901, 11400107993, 11400239093, 11400370171, 11400501247, 11400632329, + 11400763427, 11400894511, 11401025591, 11401156673, 11401287757, 11401418869, 11401549961, + 11401681037, 11401812131, 11401943207, 11402074279, 11402205377, 11402336453, 11402467529, + 11402598619, 11402729707, 11402860817, 11402991913, 11403123041, 11403254113, 11403385219, + 11403516301, 11403647389, 11403778487, 11403909563, 11404040639, 11404171733, 11404302823, + 11404433903, 11404565047, 11404696129, 11404827223, 11404958321, 11405089439, 11405220523, + 11405351627, 11405482717, 11405613799, 11405744887, 11405875961, 11406007049, 11406138179, + 11406269261, 11406400333, 11406531457, 11406662551, 11406793679, 11406924761, 11407055843, + 11407186933, 11407318033, 11407449107, 11407580257, 11407711363, 11407842443, 11407973567, + 11408104667, 11408235749, 11408366939, 11408498029, 11408629117, 11408760193, 11408891287, + 11409022381, 11409153461, 11409284533, 11409415607, 11409546679, 11409677759, 11409808831, + 11409939923, 11410071031, 11410202129, 11410333201, 11410464281, 11410595359, 11410726463, + 11410857551, 11410988623, 11411119751, 11411250839, 11411381959, 11411513053, 11411644219, + 11411775301, 11411906381, 11412037453, 11412168563, 11412299653, 11412430739, 11412561817, + 11412692903, 11412823999, 11412955087, 11413086169, 11413217281, 11413348369, 11413479443, + 11413610521, 11413741601, 11413872677, 11414003771, 11414134877, 11414265949, 11414397077, + 11414528183, 11414659261, 11414790349, 11414921423, 11415052501, 11415183581, 11415314653, + 11415445739, 11415576817, 11415707903, 11415839011, 11415970087, 11416101161, 11416232257, + 11416363331, 11416494407, 11416625497, 11416756573, 11416887653, 11417018731, 11417149823, + 11417280911, 11417412001, 11417543087, 11417674171, 11417805293, 11417936381, 11418067471, + 11418198587, 11418329707, 11418460793, 11418591871, 11418722947, 11418854021, 11418985117, + 11419116277, 11419247353, 11419378429, 11419509503, 11419640611, 11419771703, 11419902787, + 11420033909, 11420164981, 11420296061, 11420427133, 11420558239, 11420689339, 11420820431, + 11420951569, 11421082657, 11421213731, 11421344819, 11421475927, 11421607003, 11421738089, + 11421869191, 11422000277, 11422131349, 11422262429, 11422393501, 11422524583, 11422655659, + 11422786759, 11422917839, 11423048911, 11423179997, 11423311087, 11423442169, 11423573261, + 11423704361, 11423835473, 11423966551, 11424097679, 11424228757, 11424359833, 11424490907, + 11424622021, 11424753103, 11424884179, 11425015309, 11425146487, 11425277569, 11425408649, + 11425539751, 11425670827, 11425801921, 11425933003, 11426064079, 11426195153, 11426326277, + 11426457377, 11426588479, 11426719553, 11426850647, 11426981747, 11427112843, 11427243943, + 11427375017, 11427506107, 11427637189, 11427768263, 11427899369, 11428030457, 11428161529, + 11428292609, 11428423711, 11428554791, 11428685909, 11428816991, 11428948127, 11429079281, + 11429210363, 11429341471, 11429472617, 11429603707, 11429734807, 11429865883, 11429996957, + 11430128057, 11430259129, 11430390203, 11430521281, 11430652391, 11430783467, 11430914557, + 11431045663, 11431176767, 11431307903, 11431438981, 11431570079, 11431701179, 11431832267, + 11431963409, 11432094481, 11432225579, 11432356651, 11432487751, 11432618833, 11432749921, + 11432880997, 11433012079, 11433143167, 11433274247, 11433405341, 11433536441, 11433667519, + 11433798611, 11433929707, 11434060789, 11434191863, 11434322957, 11434454033, 11434585109, + 11434716187, 11434847267, 11434978361, 11435109437, 11435240521, 11435371609, 11435502709, + 11435633801, 11435764883, 11435896009, 11436027089, 11436158171, 11436289247, 11436420329, + 11436551431, 11436682513, 11436813613, 11436944749, 11437075843, 11437206919, 11437337993, + 11437469089, 11437600193, 11437731289, 11437862407, 11437993481, 11438124553, 11438255663, + 11438386747, 11438517841, 11438648929, 11438780011, 11438911093, 11439042187, 11439173267, + 11439304379, 11439435509, 11439566599, 11439697699, 11439828773, 11439959887, 11440090979, + 11440222099, 11440353179, 11440484309, 11440615397, 11440746491, 11440877563, 11441008637, + 11441139709, 11441270887, 11441401981, 11441533073, 11441664167, 11441795249, 11441926333, + 11442057413, 11442188503, 11442319579, 11442450689, 11442581783, 11442712859, 11442843953, + 11442975029, 11443106107, 11443237187, 11443368311, 11443499393, 11443630481, 11443761577, + 11443892687, 11444023813, 11444154901, 11444285977, 11444417077, 11444548177, 11444679251, + 11444810339, 11444941411, 11445072581, 11445203663, 11445334751, 11445465853, 11445596951, + 11445728039, 11445859133, 11445990211, 11446121321, 11446252417, 11446383497, 11446514591, + 11446645667, 11446776749, 11446907831, 11447038921, 11447170003, 11447301133, 11447432237, + 11447563313, 11447694397, 11447825503, 11447956577, 11448087649, 11448218723, 11448349819, + 11448480893, 11448611987, 11448743099, 11448874181, 11449005289, 11449136371, 11449267469, + 11449398581, 11449529659, 11449660757, 11449791841, 11449922917, 11450054017, 11450185111, + 11450316197, 11450447287, 11450578387, 11450709481, 11450840563, 11450971687, 11451102769, + 11451233851, 11451364933, 11451496031, 11451627107, 11451758183, 11451889259, 11452020361, + 11452151461, 11452282553, 11452413631, 11452544713, 11452675859, 11452806931, 11452938011, + 11453069083, 11453200219, 11453331353, 11453462437, 11453593517, 11453724589, 11453855669, + 11453986741, 11454117847, 11454248921, 11454380027, 11454511099, 11454642179, 11454773251, + 11454904327, 11455035443, 11455166521, 11455297649, 11455428739, 11455559827, 11455690901, + 11455822033, 11455953109, 11456084203, 11456215307, 11456346401, 11456477503, 11456608633, + 11456739709, 11456870797, 11457001889, 11457132961, 11457264037, 11457395111, 11457526187, + 11457657269, 11457788393, 11457919469, 11458050589, 11458181717, 11458312819, 11458443907, + 11458574993, 11458706071, 11458837177, 11458968251, 11459099341, 11459230441, 11459361521, + 11459492657, 11459623733, 11459754809, 11459885959, 11460017069, 11460148207, 11460279283, + 11460410363, 11460541457, 11460672551, 11460803639, 11460934711, 11461065809, 11461196921, + 11461327993, 11461459073, 11461590149, 11461721237, 11461852313, 11461983409, 11462114497, + 11462245607, 11462376713, 11462507803, 11462638879, 11462769953, 11462901041, 11463032233, + 11463163319, 11463294397, 11463425497, 11463556631, 11463687721, 11463818819, 11463949909, + 11464080989, 11464212107, 11464343197, 11464474279, 11464605379, 11464736467, 11464867543, + 11464998653, 11465129737, 11465260817, 11465391893, 11465522983, 11465654119, 11465785207, + 11465916281, 11466047371, 11466178457, 11466309541, 11466440641, 11466571747, 11466702899, + 11466833981, 11466965089, 11467096211, 11467227283, 11467358387, 11467489543, 11467620649, + 11467751731, 11467882813, 11468013899, 11468145019, 11468276107, 11468407211, 11468538293, + 11468669413, 11468800489, 11468931569, 11469062659, 11469193787, 11469324917, 11469456017, + 11469587093, 11469718199, 11469849329, 11469980411, 11470111483, 11470242571, 11470373699, + 11470504831, 11470635931, 11470767013, 11470898093, 11471029217, 11471160293, 11471291393, + 11471422471, 11471553547, 11471684639, 11471815723, 11471946847, 11472077923, 11472209017, + 11472340141, 11472471223, 11472602311, 11472733399, 11472864479, 11472995551, 11473126633, + 11473257727, 11473388819, 11473519919, 11473651009, 11473782083, 11473913273, 11474044397, + 11474175469, 11474306561, 11474437679, 11474568769, 11474699843, 11474830951, 11474962091, + 11475093169, 11475224251, 11475355357, 11475486431, 11475617509, 11475748589, 11475879683, + 11476010783, 11476141891, 11476272971, 11476404083, 11476535159, 11476666237, 11476797317, + 11476928399, 11477059493, 11477190581, 11477321657, 11477452747, 11477583823, 11477714953, + 11477846033, 11477977127, 11478108203, 11478239293, 11478370417, 11478501563, 11478632677, + 11478763757, 11478894907, 11479025989, 11479157069, 11479288181, 11479419323, 11479550399, + 11479681487, 11479812563, 11479943663, 11480074741, 11480205817, 11480336899, 11480467981, + 11480599153, 11480730227, 11480861363, 11480992477, 11481123593, 11481254677, 11481385777, + 11481516881, 11481647953, 11481779033, 11481910133, 11482041217, 11482172293, 11482303367, + 11482434451, 11482565543, 11482696679, 11482827779, 11482958857, 11483089939, 11483221019, + 11483352091, 11483483239, 11483614319, 11483745401, 11483876479, 11484007621, 11484138713, + 11484269789, 11484400883, 11484531959, 11484663059, 11484794147, 11484925253, 11485056343, + 11485187429, 11485318511, 11485449589, 11485580677, 11485711753, 11485842871, 11485973953, + 11486105051, 11486236159, 11486367247, 11486498339, 11486629463, 11486760559, 11486891651, + 11487022747, 11487153823, 11487284929, 11487416009, 11487547103, 11487678199, 11487809293, + 11487940369, 11488071443, 11488202533, 11488333643, 11488464763, 11488595849, 11488726937, + 11488858021, 11488989107, 11489120189, 11489251283, 11489382389, 11489513479, 11489644559, + 11489775653, 11489906737, 11490037813, 11490168887, 11490299963, 11490431039, 11490562199, + 11490693271, 11490824353, 11490955471, 11491086547, 11491217623, 11491348699, 11491479773, + 11491610857, 11491741931, 11491873033, 11492004113, 11492135279, 11492266367, 11492397461, + 11492528539, 11492659613, 11492790703, 11492921801, 11493052877, 11493183967, 11493315077, + 11493446183, 11493577301, 11493708427, 11493839551, 11493970639, 11494101757, 11494232833, + 11494363921, 11494494997, 11494626083, 11494757167, 11494888267, 11495019343, 11495150431, + 11495281559, 11495412659, 11495543737, 11495674837, 11495805917, 11495936999, 11496068137, + 11496199259, 11496330383, 11496461489, 11496592589, 11496723683, 11496854767, 11496985859, + 11497116989, 11497248067, 11497379141, 11497510229, 11497641347, 11497772437, 11497903517, + 11498034599, 11498165677, 11498296753, 11498427841, 11498558933, 11498690041, 11498821121, + 11498952217, 11499083311, 11499214387, 11499345467, 11499476539, 11499607661, 11499738749, + 11499869839, 11500000951, 11500132027, 11500263157, 11500394249, 11500525321, 11500656413, + 11500787489, 11500918573, 11501049649, 11501180729, 11501311813, 11501442889, 11501574053, + 11501705143, 11501836223, 11501967299, 11502098371, 11502229477, 11502360557, 11502491633, + 11502622711, 11502753793, 11502884881, 11503015973, 11503147081, 11503278197, 11503409287, + 11503540379, 11503671481, 11503802561, 11503933657, 11504064757, 11504195837, 11504326913, + 11504458027, 11504589137, 11504720257, 11504851343, 11504982479, 11505113561, 11505244679, + 11505375769, 11505506843, 11505637933, 11505769061, 11505900137, 11506031219, 11506162301, + 11506293377, 11506424467, 11506555547, 11506686641, 11506817767, 11506948847, 11507079919, + 11507210993, 11507342069, 11507473147, 11507604223, 11507735297, 11507866369, 11507997461, + 11508128603, 11508259681, 11508390757, 11508521837, 11508652919, 11508784013, 11508915091, + 11509046177, 11509177271, 11509308367, 11509439441, 11509570519, 11509701631, 11509832717, + 11509963819, 11510094899, 11510225981, 11510357057, 11510488159, 11510619287, 11510750359, + 11510881439, 11511012533, 11511143629, 11511274727, 11511405799, 11511536891, 11511667991, + 11511799063, 11511930173, 11512061251, 11512192327, 11512323409, 11512454489, 11512585649, + 11512716739, 11512847839, 11512978913, 11513109991, 11513241097, 11513372201, 11513503289, + 11513634373, 11513765447, 11513896549, 11514027643, 11514158729, 11514289811, 11514420919, + 11514552059, 11514683137, 11514814217, 11514945301, 11515076381, 11515207453, 11515338529, + 11515469659, 11515600753, 11515731863, 11515862993, 11515994179, 11516125253, 11516256337, + 11516387417, 11516518499, 11516649577, 11516780651, 11516911727, 11517042833, 11517173911, + 11517304987, 11517436067, 11517567143, 11517698219, 11517829303, 11517960397, 11518091483, + 11518222591, 11518353683, 11518484771, 11518615847, 11518746949, 11518878083, 11519009189, + 11519140271, 11519271353, 11519402429, 11519533507, 11519664623, 11519795701, 11519926811, + 11520057893, 11520189001, 11520320081, 11520451153, 11520582289, 11520713417, 11520844519, + 11520975593, 11521106671, 11521237747, 11521368847, 11521499933, 11521631053, 11521762129, + 11521893221, 11522024323, 11522155397, 11522286509, 11522417597, 11522548673, 11522679767, + 11522810867, 11522941981, 11523073061, 11523204167, 11523335249, 11523466379, 11523597457, + 11523728539, 11523859637, 11523990761, 11524121867, 11524252963, 11524384093, 11524515187, + 11524646281, 11524777361, 11524908457, 11525039543, 11525170627, 11525301701, 11525432791, + 11525563871, 11525694977, 11525826077, 11525957161, 11526088243, 11526219329, 11526350431, + 11526481531, 11526612611, 11526743689, 11526874813, 11527005901, 11527136993, 11527268089, + 11527399189, 11527530283, 11527661389, 11527792469, 11527923577, 11528054669, 11528185807, + 11528316893, 11528447977, 11528579131, 11528710213, 11528841323, 11528972431, 11529103513, + 11529234593, 11529365671, 11529496751, 11529627827, 11529758899, 11529889979, 11530021081, + 11530152157, 11530283231, 11530414327, 11530545401, 11530676477, 11530807559, 11530938637, + 11531069747, 11531200843, 11531331949, 11531463101, 11531594177, 11531725259, 11531856337, + 11531987419, 11532118621, 11532249697, 11532380807, 11532511883, 11532642959, 11532774031, + 11532905123, 11533036213, 11533167293, 11533298377, 11533429463, 11533560539, 11533691621, + 11533822747, 11533953869, 11534084951, 11534216027, 11534347129, 11534478203, 11534609279, + 11534740351, 11534871431, 11535002513, 11535133619, 11535264701, 11535395779, 11535526879, + 11535657979, 11535789107, 11535920183, 11536051271, 11536182421, 11536313533, 11536444607, + 11536575689, 11536706771, 11536837843, 11536968917, 11537100017, 11537231149, 11537362223, + 11537493299, 11537624407, 11537755499, 11537886571, 11538017651, 11538148729, 11538279811, + 11538410899, 11538541979, 11538673057, 11538804149, 11538935231, 11539066307, 11539197391, + 11539328473, 11539459549, 11539590649, 11539721773, 11539852867, 11539983941, 11540115019, + 11540246111, 11540377231, 11540508389, 11540639491, 11540770567, 11540901641, 11541032719, + 11541163793, 11541294899, 11541425983, 11541557077, 11541688157, 11541819259, 11541950333, + 11542081451, 11542212523, 11542343597, 11542474681, 11542605757, 11542736831, 11542867943, + 11542999037, 11543130113, 11543261207, 11543392391, 11543523491, 11543654627, 11543785727, + 11543916799, 11544047887, 11544178999, 11544310079, 11544441187, 11544572261, 11544703399, + 11544834479, 11544965587, 11545096681, 11545227779, 11545358893, 11545490009, 11545621091, + 11545752187, 11545883267, 11546014343, 11546145431, 11546276503, 11546407603, 11546538691, + 11546669767, 11546800907, 11546932003, 11547063091, 11547194209, 11547325343, 11547456451, + 11547587531, 11547718613, 11547849701, 11547980789, 11548111891, 11548242967, 11548374067, + 11548505147, 11548636249, 11548767371, 11548898443, 11549029549, 11549160641, 11549291753, + 11549422849, 11549553943, 11549685067, 11549816147, 11549947229, 11550078361, 11550209449, + 11550340531, 11550471671, 11550602801, 11550733921, 11550865031, 11550996157, 11551127233, + 11551258319, 11551389391, 11551520479, 11551651567, 11551782643, 11551913767, 11552044871, + 11552175953, 11552307043, 11552438129, 11552569207, 11552700287, 11552831363, 11552962439, + 11553093533, 11553224621, 11553355717, 11553486829, 11553617909, 11553748993, 11553880081, + 11554011187, 11554142261, 11554273373, 11554404457, 11554535533, 11554666609, 11554797691, + 11554928767, 11555059849, 11555190923, 11555322011, 11555453113, 11555584189, 11555715293, + 11555846399, 11555977471, 11556108563, 11556239657, 11556370733, 11556501809, 11556632897, + 11556763969, 11556895061, 11557026161, 11557157251, 11557288367, 11557419449, 11557550549, + 11557681621, 11557812701, 11557943773, 11558074873, 11558205949, 11558337029, 11558468149, + 11558599229, 11558730301, 11558861389, 11558992477, 11559123571, 11559254653, 11559385727, + 11559516811, 11559647887, 11559778969, 11559910067, 11560041139, 11560172233, 11560303327, + 11560434407, 11560565501, 11560696577, 11560827721, 11560958797, 11561089877, 11561220961, + 11561352053, 11561483137, 11561614243, 11561745319, 11561876393, 11562007487, 11562138559, + 11562269647, 11562400741, 11562531817, 11562662927, 11562794003, 11562925091, 11563056173, + 11563187281, 11563318367, 11563449439, 11563580521, 11563711609, 11563842691, 11563973777, + 11564104891, 11564235967, 11564367049, 11564498129, 11564629211, 11564760359, 11564891477, + 11565022571, 11565153647, 11565284719, 11565415793, 11565546871, 11565677947, 11565809033, + 11565940229, 11566071301, 11566202383, 11566333483, 11566464557, 11566595639, 11566726711, + 11566857833, 11566988957, 11567120053, 11567251147, 11567382223, 11567513299, 11567644393, + 11567775493, 11567906573, 11568037669, 11568168749, 11568299843, 11568430931, 11568562039, + 11568693113, 11568824243, 11568955319, 11569086391, 11569217497, 11569348607, 11569479683, + 11569610761, 11569741847, 11569872929, 11570004029, 11570135123, 11570266207, 11570397287, + 11570528383, 11570659469, 11570790547, 11570921629, 11571052711, 11571183817, 11571314893, + 11571445979, 11571577091, 11571708271, 11571839353, 11571970453, 11572101533, 11572232621, + 11572363703, 11572494823, 11572625983, 11572757059, 11572888147, 11573019223, 11573150311, + 11573281399, 11573412479, 11573543551, 11573674711, 11573805791, 11573936873, 11574067951, + 11574199033, 11574330161, 11574461243, 11574592331, 11574723403, 11574854479, 11574985571, + 11575116647, 11575247729, 11575378813, 11575509893, 11575641001, 11575772099, 11575903217, + 11576034367, 11576165449, 11576296607, 11576427761, 11576558837, 11576689909, 11576821019, + 11576952097, 11577083179, 11577214279, 11577345361, 11577476441, 11577607519, 11577738593, + 11577869713, 11578000787, 11578131863, 11578262957, 11578394029, 11578525117, 11578656211, + 11578787287, 11578918387, 11579049473, 11579180593, 11579311669, 11579442751, 11579573861, + 11579704937, 11579836019, 11579967101, 11580098177, 11580229289, 11580360361, 11580491441, + 11580622583, 11580753689, 11580884773, 11581015847, 11581146949, 11581278029, 11581409107, + 11581540183, 11581671289, 11581802377, 11581933457, 11582064547, 11582195627, 11582326699, + 11582457781, 11582588863, 11582719943, 11582851039, 11582982121, 11583113219, 11583244297, + 11583375407, 11583506497, 11583637579, 11583768659, 11583899737, 11584030813, 11584161907, + 11584292981, 11584424063, 11584555211, 11584686283, 11584817359, 11584948447, 11585079559, + 11585210641, 11585341721, 11585472803, 11585603881, 11585734973, 11585866057, 11585997151, + 11586128231, 11586259309, 11586390391, 11586521501, 11586652573, 11586783667, 11586914743, + 11587045819, 11587176901, 11587307983, 11587439089, 11587570207, 11587701283, 11587832369, + 11587963441, 11588094559, 11588225639, 11588356711, 11588487791, 11588618869, 11588749957, + 11588881043, 11589012221, 11589143303, 11589274397, 11589405497, 11589536591, 11589667673, + 11589798749, 11589929831, 11590060903, 11590191979, 11590323067, 11590454149, 11590585243, + 11590716373, 11590847453, 11590978541, 11591109617, 11591240707, 11591371787, 11591502859, + 11591633941, 11591765021, 11591896111, 11592027193, 11592158269, 11592289343, 11592420449, + 11592551533, 11592682613, 11592813719, 11592944801, 11593075903, 11593206979, 11593338061, + 11593469137, 11593600223, 11593731307, 11593862383, 11593993471, 11594124557, 11594255653, + 11594386751, 11594517863, 11594648959, 11594780083, 11594911157, 11595042257, 11595173353, + 11595304471, 11595435583, 11595566687, 11595697759, 11595828841, 11595959927, 11596091047, + 11596222147, 11596353283, 11596484387, 11596615463, 11596746599, 11596877683, 11597008783, + 11597139857, 11597270963, 11597402041, 11597533147, 11597664229, 11597795309, 11597926409, + 11598057503, 11598188593, 11598319721, 11598450817, 11598581927, 11598713011, 11598844109, + 11598975197, 11599106269, 11599237369, 11599368457, 11599499531, 11599630607, 11599761731, + 11599892809, 11600023909, 11600154991, 11600286083, 11600417161, 11600548291, 11600679367, + 11600810479, 11600941571, 11601072647, 11601203759, 11601334861, 11601465937, 11601597023, + 11601728161, 11601859331, 11601990461, 11602121543, 11602252619, 11602383697, 11602514779, + 11602645861, 11602776943, 11602908041, 11603039137, 11603170283, 11603301373, 11603432461, + 11603563547, 11603694659, 11603825731, 11603956807, 11604087959, 11604219031, 11604350119, + 11604481253, 11604612343, 11604743417, 11604874513, 11605005617, 11605136701, 11605267789, + 11605398863, 11605529941, 11605661027, 11605792103, 11605923179, 11606054261, 11606185343, + 11606316431, 11606447549, 11606578631, 11606709703, 11606840803, 11606971889, 11607102989, + 11607234091, 11607365191, 11607496267, 11607627349, 11607758441, 11607889541, 11608020629, + 11608151713, 11608282787, 11608413967, 11608545043, 11608676147, 11608807267, 11608938347, + 11609069449, 11609200541, 11609331659, 11609462737, 11609593829, 11609724901, 11609856001, + 11609987099, 11610118211, 11610249337, 11610380413, 11610511511, 11610642689, 11610773807, + 11610904913, 11611035991, 11611167101, 11611298201, 11611429307, 11611560391, 11611691479, + 11611822603, 11611953697, 11612084777, 11612215859, 11612346931, 11612478013, 11612609143, + 11612740229, 11612871353, 11613002459, 11613133547, 11613264667, 11613395809, 11613526889, + 11613657997, 11613789079, 11613920159, 11614051243, 11614182317, 11614313393, 11614444493, + 11614575589, 11614706687, 11614837771, 11614968863, 11615099939, 11615231021, 11615362111, + 11615493203, 11615624291, 11615755363, 11615886439, 11616017519, 11616148591, 11616279667, + 11616410747, 11616541819, 11616672901, 11616803977, 11616935051, 11617066151, 11617197257, + 11617328347, 11617459423, 11617590497, 11617721569, 11617852681, 11617983791, 11618114887, + 11618245963, 11618377037, 11618508157, 11618639243, 11618770327, 11618901407, 11619032507, + 11619163627, 11619294707, 11619425827, 11619556903, 11619687983, 11619819077, 11619950161, + 11620081399, 11620212473, 11620343569, 11620474681, 11620605761, 11620736833, 11620867957, + 11620999069, 11621130187, 11621261261, 11621392361, 11621523437, 11621654537, 11621785619, + 11621916727, 11622047803, 11622178879, 11622309967, 11622441079, 11622572161, 11622703277, + 11622834373, 11622965461, 11623096549, 11623227643, 11623358741, 11623489861, 11623620947, + 11623752047, 11623883123, 11624014247, 11624145331, 11624276471, 11624407591, 11624538701, + 11624669857, 11624800937, 11624932019, 11625063103, 11625194197, 11625325277, 11625456389, + 11625587503, 11625718579, 11625849709, 11625980801, 11626111897, 11626243003, 11626374077, + 11626505179, 11626636283, 11626767359, 11626898431, 11627029511, 11627160631, 11627291713, + 11627422813, 11627553893, 11627684989, 11627816093, 11627947169, 11628078257, 11628209353, + 11628340447, 11628471521, 11628602621, 11628733709, 11628864799, 11628995921, 11629127017, + 11629258093, 11629389179, 11629520257, 11629651339, 11629782443, 11629913521, 11630044627, + 11630175719, 11630306791, 11630437873, 11630568959, 11630700043, 11630831137, 11630962237, + 11631093311, 11631224483, 11631355633, 11631486739, 11631617819, 11631748957, 11631880049, + 11632011121, 11632142243, 11632273321, 11632404439, 11632535527, 11632666613, 11632797707, + 11632928821, 11633059901, 11633190973, 11633322059, 11633453131, 11633584213, 11633715293, + 11633846387, 11633977483, 11634108571, 11634239671, 11634370777, 11634501863, 11634632969, + 11634764041, 11634895121, 11635026199, 11635157299, 11635288397, 11635419511, 11635550599, + 11635681691, 11635812791, 11635943863, 11636074991, 11636206063, 11636337137, 11636468209, + 11636599283, 11636730359, 11636861443, 11636992553, 11637123643, 11637254753, 11637385847, + 11637516959, 11637648049, 11637779123, 11637910199, 11638041281, 11638172389, 11638303477, + 11638434571, 11638565651, 11638696777, 11638827859, 11638958957, 11639090033, 11639221129, + 11639352301, 11639483521, 11639614633, 11639745721, 11639876861, 11640007979, 11640139079, + 11640270221, 11640401293, 11640532403, 11640663491, 11640794573, 11640925687, 11641056787, + 11641187879, 11641319003, 11641450099, 11641581191, 11641712287, 11641843387, 11641974473, + 11642105549, 11642236649, 11642367727, 11642498809, 11642629891, 11642761003, 11642892091, + 11643023191, 11643154273, 11643285347, 11643416441, 11643547519, 11643678619, 11643809803, + 11643940879, 11644072001, 11644203097, 11644334183, 11644465291, 11644596389, 11644727461, + 11644858597, 11644989673, 11645120749, 11645251847, 11645382919, 11645513993, 11645645069, + 11645776141, 11645907223, 11646038297, 11646169369, 11646300451, 11646431561, 11646562643, + 11646693733, 11646824857, 11646955933, 11647087019, 11647218113, 11647349191, 11647480267, + 11647611341, 11647742459, 11647873537, 11648004617, 11648135689, 11648266801, 11648397881, + 11648528993, 11648660071, 11648791157, 11648922239, 11649053333, 11649184453, 11649315533, + 11649446621, 11649577703, 11649708787, 11649839879, 11649970963, 11650102081, 11650233167, + 11650364239, 11650495327, 11650626401, 11650757491, 11650888589, 11651019689, 11651150783, + 11651281883, 11651412967, 11651544043, 11651675153, 11651806241, 11651937361, 11652068501, + 11652199583, 11652330673, 11652461767, 11652592877, 11652724037, 11652855131, 11652986203, + 11653117277, 11653248371, 11653379483, 11653510567, 11653641641, 11653772737, 11653903813, + 11654034907, 11654165981, 11654297069, 11654428147, 11654559221, 11654690293, 11654821421, + 11654952523, 11655083647, 11655214721, 11655345803, 11655476909, 11655607987, 11655739093, + 11655870167, 11656001239, 11656132337, 11656263419, 11656394513, 11656525597, 11656656689, + 11656787761, 11656918843, 11657049973, 11657181071, 11657312159, 11657443241, 11657574319, + 11657705407, 11657836493, 11657967569, 11658098659, 11658229733, 11658360817, 11658491891, + 11658622999, 11658754099, 11658885211, 11659016293, 11659147391, 11659278479, 11659409551, + 11659540631, 11659671721, 11659802797, 11659933897, 11660064991, 11660196103, 11660327201, + 11660458273, 11660589377, 11660720453, 11660851529, 11660982617, 11661113731, 11661244817, + 11661375899, 11661507007, 11661638099, 11661769177, 11661900251, 11662031347, 11662162427, + 11662293509, 11662424581, 11662555759, 11662686853, 11662817981, 11662949063, 11663080139, + 11663211221, 11663342309, 11663473403, 11663604487, 11663735569, 11663866663, 11663997749, + 11664128821, 11664259903, 11664390979, 11664522073, 11664653153, 11664784249, 11664915341, + 11665046429, 11665177501, 11665308581, 11665439659, 11665570783, 11665701893, 11665832977, + 11665964131, 11666095219, 11666226293, 11666357377, 11666488453, 11666619527, 11666750611, + 11666881693, 11667012769, 11667143863, 11667274937, 11667406013, 11667537131, 11667668227, + 11667799307, 11667930389, 11668061467, 11668192553, 11668323629, 11668454701, 11668585787, + 11668716881, 11668847963, 11668979051, 11669110151, 11669241277, 11669372359, 11669503451, + 11669634523, 11669765603, 11669896697, 11670027781, 11670158869, 11670289987, 11670421093, + 11670552181, 11670683261, 11670814361, 11670945437, 11671076531, 11671207633, 11671338713, + 11671469791, 11671600883, 11671731971, 11671863053, 11671994129, 11672125237, 11672256311, + 11672387411, 11672518519, 11672649641, 11672780747, 11672911819, 11673042917, 11673174041, + 11673305113, 11673436219, 11673567299, 11673698371, 11673829451, 11673960589, 11674091711, + 11674222817, 11674353919, 11674484999, 11674616111, 11674747223, 11674878307, 11675009431, + 11675140511, 11675271589, 11675402671, 11675533747, 11675664829, 11675795909, 11675926993, + 11676058067, 11676189143, 11676320219, 11676451313, 11676582389, 11676713501, 11676844607, + 11676975697, 11677106801, 11677237877, 11677368953, 11677500031, 11677631113, 11677762189, + 11677893281, 11678024381, 11678155453, 11678286553, 11678417651, 11678548723, 11678679799, + 11678810881, 11678941957, 11679073061, 11679204137, 11679335267, 11679466339, 11679597427, + 11679728519, 11679859627, 11679990761, 11680121833, 11680252921, 11680383997, 11680515083, + 11680646171, 11680777243, 11680908383, 11681039459, 11681170561, 11681301637, 11681432753, + 11681563837, 11681694929, 11681826001, 11681957141, 11682088213, 11682219301, 11682350399, + 11682481511, 11682612583, 11682743711, 11682874811, 11683005899, 11683136977, 11683268053, + 11683399153, 11683530233, 11683661321, 11683792457, 11683923547, 11684054653, 11684185729, + 11684316811, 11684447897, 11684578973, 11684710087, 11684841167, 11684972251, 11685103343, + 11685234443, 11685365539, 11685496631, 11685627787, 11685758867, 11685889939, 11686021013, + 11686152151, 11686283227, 11686414307, 11686545379, 11686676461, 11686807547, 11686938673, + 11687069761, 11687200901, 11687331983, 11687463061, 11687594137, 11687725219, 11687856307, + 11687987413, 11688118513, 11688249593, 11688380677, 11688511763, 11688642877, 11688774001, + 11688905077, 11689036211, 11689167311, 11689298393, 11689429481, 11689560581, 11689691669, + 11689822741, 11689953823, 11690084897, 11690215973, 11690347117, 11690478193, 11690609269, + 11690740343, 11690871421, 11691002513, 11691133609, 11691264707, 11691395783, 11691526859, + 11691657931, 11691789007, 11691920089, 11692051177, 11692182269, 11692313357, 11692444429, + 11692575563, 11692706653, 11692837733, 11692968817, 11693099897, 11693230979, 11693362063, + 11693493151, 11693624251, 11693755369, 11693886469, 11694017549, 11694148637, 11694279731, + 11694410803, 11694541891, 11694673009, 11694804083, 11694935159, 11695066283, 11695197391, + 11695328473, 11695459571, 11695590649, 11695721749, 11695852841, 11695983913, 11696114987, + 11696246087, 11696377163, 11696508253, 11696639371, 11696770453, 11696901529, 11697032617, + 11697163703, 11697294781, 11697425869, 11697557023, 11697688097, 11697819179, 11697950269, + 11698081427, 11698212503, 11698343593, 11698474687, 11698605773, 11698736869, 11698867949, + 11698999027, 11699130101, 11699261183, 11699392279, 11699523373, 11699654497, 11699785571, + 11699916673, 11700047803, 11700178883, 11700309961, 11700441043, 11700572119, 11700703199, + 11700834329, 11700965447, 11701096607, 11701227683, 11701358819, 11701489999, 11701621079, + 11701752157, 11701883269, 11702014349, 11702145439, 11702276611, 11702407709, 11702538791, + 11702669939, 11702801053, 11702932127, 11703063199, 11703194389, 11703325489, 11703456563, + 11703587647, 11703718729, 11703849809, 11703980887, 11704111999, 11704243087, 11704374173, + 11704505249, 11704636327, 11704767419, 11704898537, 11705029627, 11705160787, 11705291881, + 11705422973, 11705554057, 11705685139, 11705816249, 11705947373, 11706078451, 11706209539, + 11706340631, 11706471727, 11706602801, 11706733877, 11706864973, 11706996047, 11707127161, + 11707258261, 11707389409, 11707520483, 11707651573, 11707782659, 11707913761, 11708044841, + 11708175943, 11708307019, 11708438129, 11708569259, 11708700331, 11708831419, 11708962493, + 11709093569, 11709224671, 11709355753, 11709486889, 11709617981, 11709749083, 11709880183, + 11710011283, 11710142363, 11710273447, 11710404557, 11710535647, 11710666769, 11710797853, + 11710928959, 11711060057, 11711191153, 11711322241, 11711453363, 11711584459, 11711715541, + 11711846623, 11711977751, 11712108847, 11712239969, 11712371057, 11712502133, 11712633211, + 11712764299, 11712895379, 11713026473, 11713157579, 11713288667, 11713419749, 11713550831, + 11713681907, 11713813021, 11713944101, 11714075203, 11714206297, 11714337421, 11714468501, + 11714599643, 11714730739, 11714861861, 11714992957, 11715124061, 11715255133, 11715386213, + 11715517301, 11715648389, 11715779497, 11715910643, 11716041739, 11716172821, 11716303919, + 11716435009, 11716566089, 11716697207, 11716828283, 11716959403, 11717090507, 11717221597, + 11717352677, 11717483783, 11717614861, 11717745937, 11717877053, 11718008161, 11718139261, + 11718270359, 11718401437, 11718532517, 11718663637, 11718794713, 11718925831, 11719056983, + 11719188059, 11719319147, 11719450247, 11719581323, 11719712419, 11719843501, 11719974589, + 11720105687, 11720236763, 11720367859, 11720498939, 11720630011, 11720761123, 11720892217, + 11721023309, 11721154381, 11721285503, 11721416579, 11721547693, 11721678769, 11721809851, + 11721940927, 11722072001, 11722203089, 11722334213, 11722465291, 11722596397, 11722727479, + 11722858559, 11722989661, 11723120749, 11723251829, 11723382901, 11723514013, 11723645099, + 11723776213, 11723907311, 11724038387, 11724169489, 11724300613, 11724431699, 11724562781, + 11724693899, 11724824983, 11724956081, 11725087193, 11725218287, 11725349359, 11725480433, + 11725611511, 11725742617, 11725873697, 11726004791, 11726135873, 11726267017, 11726398097, + 11726529173, 11726660249, 11726791327, 11726922401, 11727053473, 11727184561, 11727315643, + 11727446749, 11727577843, 11727708919, 11727839993, 11727971071, 11728102151, 11728233239, + 11728364341, 11728495423, 11728626523, 11728757611, 11728888729, 11729019817, 11729150899, + 11729281973, 11729413061, 11729544133, 11729675207, 11729806279, 11729937377, 11730068479, + 11730199561, 11730330649, 11730461753, 11730592847, 11730723997, 11730855119, 11730986191, + 11731117289, 11731248407, 11731379479, 11731510577, 11731641653, 11731772747, 11731903823, + 11732034907, 11732165993, 11732297089, 11732428207, 11732559313, 11732690413, 11732821487, + 11732952587, 11733083671, 11733214789, 11733345893, 11733476971, 11733608059, 11733739141, + 11733870217, 11734001311, 11734132439, 11734263551, 11734394647, 11734525729, 11734656811, + 11734787903, 11734919011, 11735050091, 11735181167, 11735312257, 11735443361, 11735574437, + 11735705533, 11735836621, 11735967701, 11736098791, 11736229873, 11736360967, 11736492121, + 11736623207, 11736754283, 11736885359, 11737016443, 11737147529, 11737278617, 11737409701, + 11737540777, 11737671877, 11737802953, 11737934029, 11738065121, 11738196209, 11738327287, + 11738458379, 11738589461, 11738720551, 11738851627, 11738982721, 11739113807, 11739244897, + 11739376013, 11739507089, 11739638177, 11739769259, 11739900371, 11740031449, 11740162559, + 11740293661, 11740424777, 11740555901, 11740686983, 11740818079, 11740949189, 11741080261, + 11741211371, 11741342447, 11741473559, 11741604643, 11741735743, 11741866817, 11741997893, + 11742128977, 11742260093, 11742391201, 11742522277, 11742653359, 11742784441, 11742915517, + 11743046591, 11743177681, 11743308767, 11743439857, 11743570961, 11743702073, 11743833149, + 11743964251, 11744095327, 11744226407, 11744357507, 11744488603, 11744619727, 11744750827, + 11744881903, 11745013009, 11745144109, 11745275279, 11745406357, 11745537449, 11745668549, + 11745799631, 11745930731, 11746061807, 11746192903, 11746324013, 11746455089, 11746586161, + 11746717237, 11746848331, 11746979407, 11747110489, 11747241589, 11747372669, 11747503751, + 11747634851, 11747765927, 11747897033, 11748028129, 11748159251, 11748290383, 11748421457, + 11748552547, 11748683621, 11748814703, 11748945847, 11749076929, 11749208017, 11749339093, + 11749470193, 11749601291, 11749732391, 11749863479, 11749994561, 11750125643, 11750256731, + 11750387809, 11750518931, 11750650003, 11750781101, 11750912203, 11751043279, 11751174427, + 11751305551, 11751436633, 11751567731, 11751698809, 11751829927, 11751961019, 11752092139, + 11752223251, 11752354333, 11752485427, 11752616501, 11752747577, 11752878779, 11753009861, + 11753140939, 11753272019, 11753403107, 11753534183, 11753665289, 11753796371, 11753927443, + 11754058531, 11754189677, 11754320749, 11754451871, 11754582943, 11754714047, 11754845149, + 11754976223, 11755107319, 11755238419, 11755369511, 11755500599, 11755631687, 11755762801, + 11755893881, 11756025013, 11756156101, 11756287181, 11756418277, 11756549353, 11756680433, + 11756811527, 11756942627, 11757073709, 11757204793, 11757335873, 11757466957, 11757598033, + 11757729107, 11757860183, 11757991277, 11758122419, 11758253513, 11758384597, 11758515673, + 11758646747, 11758777837, 11758908929, 11759040047, 11759171143, 11759302241, 11759433313, + 11759564413, 11759695501, 11759826581, 11759957681, 11760088777, 11760219857, 11760350963, + 11760482039, 11760613187, 11760744301, 11760875393, 11761006469, 11761137547, 11761268689, + 11761399787, 11761530871, 11761661957, 11761793051, 11761924151, 11762055223, 11762186297, + 11762317373, 11762448449, 11762579533, 11762710607, 11762841683, 11762972761, 11763103841, + 11763234961, 11763366049, 11763497147, 11763628243, 11763759347, 11763890429, 11764021501, + 11764152623, 11764283719, 11764414807, 11764545893, 11764676969, 11764808063, 11764939163, + 11765070257, 11765201347, 11765332429, 11765463557, 11765594657, 11765725753, 11765856827, + 11765987911, 11766118997, 11766250079, 11766381169, 11766512273, 11766643349, 11766774421, + 11766905497, 11767036573, 11767167653, 11767298791, 11767429867, 11767560943, 11767692029, + 11767823129, 11767954213, 11768085289, 11768216377, 11768347489, 11768478577, 11768609653, + 11768740741, 11768871839, 11769002911, 11769134059, 11769265169, 11769396241, 11769527323, + 11769658403, 11769789481, 11769920563, 11770051661, 11770182761, 11770313873, 11770444979, + 11770576109, 11770707191, 11770838269, 11770969361, 11771100433, 11771231551, 11771362627, + 11771493707, 11771624797, 11771755871, 11771886953, 11772018103, 11772149177, 11772280259, + 11772411331, 11772542413, 11772673531, 11772804629, 11772935701, 11773066807, 11773197881, + 11773328977, 11773460093, 11773591169, 11773722253, 11773853369, 11773984447, 11774115533, + 11774246609, 11774377687, 11774508773, 11774639867, 11774770981, 11774902093, 11775033167, + 11775164251, 11775295331, 11775426407, 11775557491, 11775688591, 11775819667, 11775950741, + 11776081843, 11776212967, 11776344061, 11776475149, 11776606223, 11776737319, 11776868431, + 11776999517, 11777130593, 11777261669, 11777392747, 11777523827, 11777654921, 11777786023, + 11777917121, 11778048193, 11778179269, 11778310343, 11778441469, 11778572581, 11778703661, + 11778834733, 11778965819, 11779096891, 11779228009, 11779359133, 11779490231, 11779621307, + 11779752389, 11779883501, 11780014607, 11780145703, 11780276843, 11780407921, 11780539009, + 11780670103, 11780801189, 11780932279, 11781063367, 11781194501, 11781325579, 11781456667, + 11781587747, 11781718829, 11781849901, 11781980999, 11782112071, 11782243157, 11782374277, + 11782505351, 11782636433, 11782767509, 11782898581, 11783029667, 11783160749, 11783291857, + 11783422949, 11783554031, 11783685103, 11783816221, 11783947297, 11784078373, 11784209453, + 11784340591, 11784471691, 11784602771, 11784733861, 11784864947, 11784996019, 11785127099, + 11785258187, 11785389263, 11785520347, 11785651459, 11785782553, 11785913627, 11786044703, + 11786175787, 11786306891, 11786437967, 11786569111, 11786700187, 11786831327, 11786962403, + 11787093509, 11787224593, 11787355667, 11787486743, 11787617837, 11787748937, 11787880063, + 11788011139, 11788142221, 11788273309, 11788404389, 11788535461, 11788666553, 11788797641, + 11788928729, 11789059801, 11789190901, 11789322001, 11789453077, 11789584171, 11789715257, + 11789846329, 11789977417, 11790108493, 11790239621, 11790370727, 11790501817, 11790632891, + 11790763981, 11790895069, 11791026157, 11791157233, 11791288343, 11791419449, 11791550579, + 11791681669, 11791812763, 11791943843, 11792074919, 11792206001, 11792337091, 11792468167, + 11792599243, 11792730337, 11792861411, 11792992489, 11793123611, 11793254731, 11793385819, + 11793516919, 11793648019, 11793779093, 11793910187, 11794041313, 11794172389, 11794303487, + 11794434563, 11794565639, 11794696721, 11794827799, 11794958881, 11795089987, 11795221103, + 11795352181, 11795483311, 11795614399, 11795745487, 11795876579, 11796007661, 11796138737, + 11796269827, 11796400901, 11796531991, 11796663079, 11796794171, 11796925319, 11797056391, + 11797187477, 11797318571, 11797449679, 11797580759, 11797711831, 11797842911, 11797973987, + 11798105063, 11798236189, 11798367307, 11798498429, 11798629559, 11798760653, 11798891743, + 11799022817, 11799153913, 11799285041, 11799416131, 11799547211, 11799678283, 11799809431, + 11799940513, 11800071587, 11800202663, 11800333789, 11800464911, 11800596001, 11800727129, + 11800858247, 11800989329, 11801120407, 11801251489, 11801382577, 11801513651, 11801644733, + 11801775809, 11801906881, 11802037981, 11802169069, 11802300149, 11802431231, 11802562337, + 11802693421, 11802824503, 11802955597, 11803086671, 11803217773, 11803348877, 11803479983, + 11803611077, 11803742149, 11803873229, 11804004343, 11804135449, 11804266541, 11804397643, + 11804528759, 11804659859, 11804790941, 11804922013, 11805053087, 11805184159, 11805315259, + 11805446333, 11805577409, 11805708493, 11805839581, 11805970661, 11806101739, 11806232813, + 11806363903, 11806494989, 11806626109, 11806757231, 11806888319, 11807019431, 11807150569, + 11807281657, 11807412737, 11807543819, 11807674927, 11807806013, 11807937131, 11808068213, + 11808199297, 11808330371, 11808461453, 11808592577, 11808723653, 11808854737, 11808985813, + 11809116901, 11809248007, 11809379081, 11809510177, 11809641289, 11809772371, 11809903463, + 11810034541, 11810165651, 11810296769, 11810427851, 11810558941, 11810690039, 11810821117, + 11810952211, 11811083287, 11811214399, 11811345473, 11811476581, 11811607663, 11811738769, + 11811869869, 11812000951, 11812132039, 11812263131, 11812394207, 11812525279, 11812656367, + 11812787449, 11812918541, 11813049613, 11813180693, 11813311771, 11813442937, 11813574029, + 11813705159, 11813836259, 11813967331, 11814098467, 11814229541, 11814360631, 11814491723, + 11814622811, 11814753893, 11814884987, 11815016071, 11815147189, 11815278311, 11815409399, + 11815540483, 11815671557, 11815802651, 11815933741, 11816064833, 11816195917, 11816326997, + 11816458091, 11816589167, 11816720243, 11816851331, 11816982451, 11817113587, 11817244687, + 11817375797, 11817506879, 11817638003, 11817769099, 11817900191, 11818031263, 11818162337, + 11818293437, 11818424509, 11818555597, 11818686701, 11818817783, 11818948871, 11819079973, + 11819211077, 11819342149, 11819473223, 11819604299, 11819735393, 11819866523, 11819997599, + 11820128699, 11820259777, 11820390859, 11820522031, 11820653111, 11820784193, 11820915299, + 11821046399, 11821177493, 11821308571, 11821439647, 11821570723, 11821701803, 11821832881, + 11821963957, 11822095037, 11822226109, 11822357221, 11822488303, 11822619379, 11822750473, + 11822881547, 11823012659, 11823143743, 11823274819, 11823405901, 11823536983, 11823668111, + 11823799241, 11823930343, 11824061419, 11824192493, 11824323569, 11824454657, 11824585733, + 11824716863, 11824847959, 11824979057, 11825110133, 11825241217, 11825372291, 11825503369, + 11825634481, 11825765557, 11825896657, 11826027761, 11826158857, 11826289931, 11826421003, + 11826552077, 11826683159, 11826814277, 11826945349, 11827076423, 11827207517, 11827338623, + 11827469713, 11827600847, 11827731931, 11827863007, 11827994117, 11828125193, 11828256281, + 11828387369, 11828518517, 11828649593, 11828780669, 11828911777, 11829042871, 11829173981, + 11829305063, 11829436159, 11829567241, 11829698317, 11829829399, 11829960487, 11830091573, + 11830222673, 11830353751, 11830484849, 11830615921, 11830747021, 11830878121, 11831009213, + 11831140301, 11831271377, 11831402459, 11831533541, 11831664619, 11831795707, 11831926789, + 11832057863, 11832188941, 11832320029, 11832451109, 11832582187, 11832713281, 11832844363, + 11832975449, 11833106587, 11833237679, 11833368751, 11833499833, 11833630933, 11833762007, + 11833893079, 11834024159, 11834155231, 11834286367, 11834417453, 11834548541, 11834679653, + 11834810731, 11834941829, 11835072911, 11835203993, 11835335081, 11835466171, 11835597253, + 11835728353, 11835859457, 11835990539, 11836121639, 11836252723, 11836383799, 11836514887, + 11836646039, 11836777123, 11836908197, 11837039281, 11837170357, 11837301449, 11837432561, + 11837563649, 11837694749, 11837825833, 11837956913, 11838087991, 11838219067, 11838350189, + 11838481313, 11838612391, 11838743467, 11838874547, 11839005631, 11839136707, 11839267837, + 11839398913, 11839530007, 11839661087, 11839792169, 11839923247, 11840054321, 11840185393, + 11840316473, 11840447573, 11840578759, 11840709901, 11840840981, 11840972063, 11841103147, + 11841234227, 11841365299, 11841496379, 11841627451, 11841758543, 11841889621, 11842020721, + 11842151801, 11842282901, 11842414009, 11842545097, 11842676171, 11842807243, 11842938319, + 11843069393, 11843200477, 11843331559, 11843462713, 11843593787, 11843724859, 11843856007, + 11843987081, 11844118193, 11844249283, 11844380363, 11844511489, 11844642569, 11844773651, + 11844904777, 11845035887, 11845166969, 11845298051, 11845429153, 11845560229, 11845691317, + 11845822397, 11845953479, 11846084557, 11846215643, 11846346737, 11846477809, 11846608901, + 11846740007, 11846871137, 11847002249, 11847133351, 11847264449, 11847395543, 11847526633, + 11847657739, 11847788861, 11847919933, 11848051021, 11848182133, 11848313233, 11848444343, + 11848575421, 11848706503, 11848837591, 11848968667, 11849099771, 11849230849, 11849361929, + 11849493083, 11849624179, 11849755367, 11849886463, 11850017537, 11850148649, 11850279737, + 11850410833, 11850541931, 11850673033, 11850804107, 11850935183, 11851066267, 11851197343, + 11851328441, 11851459519, 11851590593, 11851721689, 11851852783, 11851983883, 11852114993, + 11852246069, 11852377193, 11852508277, 11852639369, 11852770441, 11852901527, 11853032623, + 11853163703, 11853294781, 11853425869, 11853556963, 11853688069, 11853819149, 11853950231, + 11854081303, 11854212389, 11854343461, 11854474537, 11854605689, 11854736791, 11854867903, + 11854998983, 11855130059, 11855261141, 11855392243, 11855523367, 11855654443, 11855785553, + 11855916643, 11856047719, 11856178801, 11856309901, 11856440977, 11856572069, 11856703151, + 11856834247, 11856965321, 11857096417, 11857227509, 11857358599, 11857489673, 11857620763, + 11857751849, 11857882979, 11858014061, 11858145139, 11858276239, 11858407331, 11858538413, + 11858669503, 11858800627, 11858931701, 11859062773, 11859193849, 11859324941, 11859456017, + 11859587119, 11859718223, 11859849319, 11859980393, 11860111511, 11860242619, 11860373711, + 11860504793, 11860635887, 11860766963, 11860898041, 11861029151, 11861160247, 11861291341, + 11861422453, 11861553527, 11861684617, 11861815699, 11861946793, 11862077869, 11862208973, + 11862340067, 11862471151, 11862602243, 11862733411, 11862864509, 11862995581, 11863126663, + 11863257739, 11863388843, 11863519919, 11863651003, 11863782079, 11863913167, 11864044249, + 11864175341, 11864306431, 11864437517, 11864568619, 11864699699, 11864830841, 11864961923, + 11865093013, 11865224113, 11865355189, 11865486323, 11865617399, 11865748481, 11865879583, + 11866010669, 11866141741, 11866272823, 11866403911, 11866534991, 11866666067, 11866797167, + 11866928263, 11867059343, 11867190457, 11867321539, 11867452613, 11867583709, 11867714783, + 11867845883, 11867977019, 11868108097, 11868239231, 11868370307, 11868501391, 11868632471, + 11868763547, 11868894637, 11869025713, 11869156841, 11869287961, 11869419071, 11869550159, + 11869681247, 11869812341, 11869943413, 11870074549, 11870205637, 11870336741, 11870467841, + 11870598919, 11870730013, 11870861129, 11870992207, 11871123281, 11871254387, 11871385483, + 11871516599, 11871647699, 11871778783, 11871909871, 11872040981, 11872172057, 11872303193, + 11872434293, 11872565377, 11872696477, 11872827581, 11872958653, 11873089747, 11873220823, + 11873351899, 11873482991, 11873614069, 11873745161, 11873876233, 11874007337, 11874138467, + 11874269557, 11874400691, 11874531769, 11874662851, 11874793927, 11874925019, 11875056163, + 11875187239, 11875318333, 11875449427, 11875580527, 11875711619, 11875842691, 11875973779, + 11876104861, 11876235947, 11876367023, 11876498107, 11876629183, 11876760299, 11876891419, + 11877022501, 11877153677, 11877284777, 11877415867, 11877546949, 11877678023, 11877809137, + 11877940211, 11878071299, 11878202377, 11878333471, 11878464557, 11878595629, 11878726703, + 11878857787, 11878988893, 11879119969, 11879251123, 11879382223, 11879513369, 11879644451, + 11879775553, 11879906651, 11880037759, 11880168869, 11880299953, 11880431029, 11880562139, + 11880693259, 11880824399, 11880955501, 11881086583, 11881217687, 11881348769, 11881479881, + 11881610969, 11881742071, 11881873151, 11882004241, 11882135327, 11882266421, 11882397521, + 11882528639, 11882659741, 11882790889, 11882921971, 11883053051, 11883184129, 11883315203, + 11883446291, 11883577367, 11883708439, 11883839521, 11883970597, 11884101707, 11884232827, + 11884363943, 11884495057, 11884626133, 11884757219, 11884888313, 11885019401, 11885150491, + 11885281591, 11885412683, 11885543777, 11885674861, 11885805937, 11885937029, 11886068101, + 11886199207, 11886330331, 11886461459, 11886592577, 11886723659, 11886854761, 11886985841, + 11887116929, 11887248007, 11887379083, 11887510169, 11887641277, 11887772411, 11887903507, + 11888034581, 11888165657, 11888296781, 11888427869, 11888558947, 11888690063, 11888821163, + 11888952247, 11889083407, 11889214483, 11889345571, 11889476653, 11889607727, 11889738799, + 11889869897, 11890000981, 11890132073, 11890263173, 11890394273, 11890525369, 11890656461, + 11890787543, 11890918639, 11891049757, 11891180831, 11891311909, 11891442989, 11891574067, + 11891705191, 11891836283, 11891967359, 11892098443, 11892229519, 11892360619, 11892491713, + 11892622817, 11892753973, 11892885073, 11893016147, 11893147219, 11893278301, 11893409383, + 11893540469, 11893671593, 11893802689, 11893933783, 11894064869, 11894196001, 11894327087, + 11894458207, 11894589281, 11894720353, 11894851433, 11894982511, 11895113621, 11895244717, + 11895375799, 11895506879, 11895637969, 11895769049, 11895900131, 11896031243, 11896162351, + 11896293499, 11896424597, 11896555679, 11896686761, 11896817839, 11896948939, 11897080021, + 11897211103, 11897342183, 11897473277, 11897604391, 11897735467, 11897866549, 11897997673, + 11898128773, 11898259859, 11898390943, 11898522017, 11898653167, 11898784243, 11898915337, + 11899046429, 11899177553, 11899308691, 11899439771, 11899570843, 11899701929, 11899833013, + 11899964117, 11900095213, 11900226301, 11900357377, 11900488463, 11900619553, 11900750657, + 11900881771, 11901012917, 11901144007, 11901275101, 11901406183, 11901537269, 11901668357, + 11901799439, 11901930511, 11902061621, 11902192739, 11902323827, 11902454903, 11902585987, + 11902717063, 11902848161, 11902979237, 11903110309, 11903241403, 11903372483, 11903503607, + 11903634679, 11903765777, 11903896931, 11904028039, 11904159143, 11904290221, 11904421297, + 11904552377, 11904683503, 11904814613, 11904945707, 11905076801, 11905207877, 11905338967, + 11905470077, 11905601167, 11905732271, 11905863383, 11905994461, 11906125571, 11906256643, + 11906387723, 11906518801, 11906649883, 11906780971, 11906912053, 11907043153, 11907174241, + 11907305327, 11907436399, 11907567473, 11907698599, 11907829679, 11907960767, 11908091849, + 11908222943, 11908354027, 11908485101, 11908616197, 11908747297, 11908878379, 11909009479, + 11909140571, 11909271707, 11909402797, 11909533871, 11909664961, 11909796053, 11909927173, + 11910058301, 11910189377, 11910320467, 11910451543, 11910582623, 11910713729, 11910844871, + 11910975943, 11911107031, 11911238113, 11911369213, 11911500299, 11911631377, 11911762463, + 11911893547, 11912024639, 11912155729, 11912286809, 11912417887, 11912548993, 11912680067, + 11912811143, 11912942227, 11913073303, 11913204439, 11913335549, 11913466639, 11913597719, + 11913728803, 11913859949, 11913991043, 11914122119, 11914253201, 11914384309, 11914515391, + 11914646467, 11914777559, 11914908647, 11915039749, 11915170867, 11915301943, 11915433031, + 11915564123, 11915695201, 11915826287, 11915957363, 11916088439, 11916219517, 11916350597, + 11916481697, 11916612787, 11916743869, 11916875029, 11917006109, 11917137187, 11917268281, + 11917399363, 11917530467, 11917661579, 11917792657, 11917923733, 11918054809, 11918185891, + 11918317003, 11918448089, 11918579161, 11918710343, 11918841427, 11918972503, 11919103577, + 11919234673, 11919365749, 11919496829, 11919627919, 11919758999, 11919890113, 11920021199, + 11920152287, 11920283387, 11920414459, 11920545577, 11920676681, 11920807763, 11920938839, + 11921069911, 11921201077, 11921332153, 11921463263, 11921594341, 11921725429, 11921856521, + 11921987593, 11922118669, 11922249763, 11922380837, 11922511943, 11922643063, 11922774139, + 11922905219, 11923036361, 11923167433, 11923298521, 11923429597, 11923560697, 11923691807, + 11923822891, 11923953973, 11924085137, 11924216221, 11924347297, 11924478373, 11924609471, + 11924740543, 11924871661, 11925002741, 11925133823, 11925264929, 11925396001, 11925527083, + 11925658163, 11925789263, 11925920407, 11926051507, 11926182641, 11926313723, 11926444801, + 11926575877, 11926706963, 11926838069, 11926969141, 11927100221, 11927231293, 11927362393, + 11927493469, 11927624543, 11927755621, 11927886703, 11928017789, 11928148861, 11928279991, + 11928411091, 11928542207, 11928673279, 11928804361, 11928935489, 11929066561, 11929197649, + 11929328729, 11929459823, 11929590923, 11929722011, 11929853083, 11929984159, 11930115277, + 11930246353, 11930377427, 11930508509, 11930639599, 11930770673, 11930901751, 11931032833, + 11931163921, 11931295003, 11931426077, 11931557189, 11931688261, 11931819343, 11931950431, + 11932081517, 11932212601, 11932343701, 11932474781, 11932605859, 11932736939, 11932868011, + 11932999103, 11933130197, 11933261279, 11933392411, 11933523521, 11933654617, 11933785709, + 11933916793, 11934047891, 11934178979, 11934310051, 11934441151, 11934572263, 11934703349, + 11934834523, 11934965599, 11935096673, 11935227749, 11935358899, 11935489987, 11935621091, + 11935752193, 11935883329, 11936014421, 11936145517, 11936276593, 11936407669, 11936538751, + 11936669831, 11936800973, 11936932087, 11937063161, 11937194233, 11937325307, 11937456407, + 11937587503, 11937718577, 11937849709, 11937980797, 11938111877, 11938242973, 11938374047, + 11938505147, 11938636247, 11938767341, 11938898441, 11939029523, 11939160601, 11939291699, + 11939422771, 11939553863, 11939684947, 11939816027, 11939947133, 11940078209, 11940209327, + 11940340403, 11940471493, 11940602581, 11940733691, 11940864763, 11940995839, 11941126949, + 11941258027, 11941389121, 11941520209, 11941651283, 11941782361, 11941913447, 11942044537, + 11942175613, 11942306689, 11942437777, 11942568857, 11942699939, 11942831027, 11942962123, + 11943093221, 11943224299, 11943355379, 11943486517, 11943617611, 11943748741, 11943879823, + 11944010927, 11944141999, 11944273073, 11944404181, 11944535363, 11944666439, 11944797517, + 11944928617, 11945059699, 11945190781, 11945321867, 11945452963, 11945584103, 11945715211, + 11945846291, 11945977403, 11946108527, 11946239611, 11946370699, 11946501793, 11946632891, + 11946763979, 11946895117, 11947026211, 11947157293, 11947288393, 11947419487, 11947550591, + 11947681663, 11947812757, 11947943849, 11948074933, 11948206007, 11948337109, 11948468183, + 11948599303, 11948730389, 11948861471, 11948992543, 11949123629, 11949254711, 11949385787, + 11949516877, 11949647951, 11949779057, 11949910151, 11950041227, 11950172309, 11950303427, + 11950434499, 11950565587, 11950696663, 11950827743, 11950958839, 11951089949, 11951221033, + 11951352109, 11951483233, 11951614331, 11951745409, 11951876491, 11952007567, 11952138683, + 11952269767, 11952400843, 11952531919, 11952662993, 11952794153, 11952925247, 11953056331, + 11953187443, 11953318541, 11953449653, 11953580759, 11953711837, 11953842941, 11953974017, + 11954105117, 11954236193, 11954367283, 11954498399, 11954629499, 11954760583, 11954891693, + 11955022769, 11955153853, 11955284941, 11955416017, 11955547103, 11955678181, 11955809263, + 11955940391, 11956071481, 11956202569, 11956333651, 11956464743, 11956595831, 11956726927, + 11956858027, 11956989103, 11957120183, 11957251283, 11957382397, 11957513489, 11957644607, + 11957775749, 11957906843, 11958037919, 11958169001, 11958300077, 11958431153, 11958562249, + 11958693343, 11958824417, 11958955493, 11959086583, 11959217707, 11959348787, 11959479941, + 11959611043, 11959742143, 11959873231, 11960004307, 11960135387, 11960266459, 11960397539, + 11960528621, 11960659699, 11960790773, 11960921873, 11961052973, 11961184073, 11961315151, + 11961446303, 11961577379, 11961708461, 11961839579, 11961970673, 11962101803, 11962232899, + 11962363981, 11962495067, 11962626139, 11962757221, 11962888331, 11963019403, 11963150483, + 11963281559, 11963412653, 11963543729, 11963674829, 11963805929, 11963937019, 11964068093, + 11964199187, 11964330263, 11964461389, 11964592487, 11964723569, 11964854659, 11964985757, + 11965116853, 11965247941, 11965379017, 11965510127, 11965641203, 11965772281, 11965903361, + 11966034463, 11966165537, 11966296609, 11966427689, 11966558761, 11966689841, 11966820919, + 11966951999, 11967083081, 11967214183, 11967345259, 11967476333, 11967607409, 11967738481, + 11967869597, 11968000703, 11968131779, 11968262927, 11968394017, 11968525091, 11968656181, + 11968787263, 11968918363, 11969049467, 11969180539, 11969311631, 11969442721, 11969573807, + 11969704897, 11969835989, 11969967089, 11970098183, 11970229279, 11970360397, 11970491479, + 11970622561, 11970753637, 11970884719, 11971015799, 11971146893, 11971277977, 11971409077, + 11971540169, 11971671251, 11971802327, 11971933411, 11972064491, 11972195581, 11972326661, + 11972457769, 11972588867, 11972719939, 11972851013, 11972982089, 11973113189, 11973244291, + 11973375431, 11973506579, 11973637657, 11973768773, 11973899851, 11974030961, 11974162049, + 11974293167, 11974424239, 11974555361, 11974686511, 11974817641, 11974948717, 11975079791, + 11975210869, 11975341957, 11975473057, 11975604131, 11975735227, 11975866313, 11975997389, + 11976128501, 11976259583, 11976390661, 11976521747, 11976652819, 11976783901, 11976914977, + 11977046051, 11977177133, 11977308257, 11977439329, 11977570421, 11977701503, 11977832591, + 11977963687, 11978094803, 11978225957, 11978357033, 11978488111, 11978619193, 11978750291, + 11978881363, 11979012457, 11979143537, 11979274609, 11979405689, 11979536773, 11979667927, + 11979799001, 11979930119, 11980061201, 11980192351, 11980323427, 11980454527, 11980585649, + 11980716763, 11980847899, 11980978987, 11981110087, 11981241191, 11981372269, 11981503363, + 11981634437, 11981765539, 11981896631, 11982027709, 11982158801, 11982289883, 11982420959, + 11982552031, 11982683123, 11982814211, 11982945349, 11983076459, 11983207553, 11983338659, + 11983469741, 11983600841, 11983731941, 11983863049, 11983994137, 11984125211, 11984256331, + 11984387461, 11984518549, 11984649643, 11984780719, 11984911819, 11985042919, 11985173999, + 11985305093, 11985436171, 11985567257, 11985698359, 11985829433, 11985960563, 11986091647, + 11986222727, 11986353817, 11986484911, 11986615999, 11986747121, 11986878199, 11987009299, + 11987140393, 11987271469, 11987402543, 11987533627, 11987664739, 11987795843, 11987926919, + 11988058003, 11988189077, 11988320171, 11988451247, 11988582341, 11988713413, 11988844501, + 11988975631, 11989106711, 11989237783, 11989368857, 11989499939, 11989631023, 11989762123, + 11989893199, 11990024279, 11990155351, 11990286457, 11990417531, 11990548627, 11990679703, + 11990810801, 11990941873, 11991072971, 11991204053, 11991335159, 11991466237, 11991597313, + 11991728401, 11991859489, 11991990607, 11992121707, 11992252787, 11992383917, 11992515043, + 11992646129, 11992777207, 11992908283, 11993039413, 11993170499, 11993301583, 11993432761, + 11993563889, 11993694971, 11993826101, 11993957203, 11994088283, 11994219371, 11994350471, + 11994481561, 11994612649, 11994743743, 11994874823, 11995005917, 11995137029, 11995268101, + 11995399183, 11995530289, 11995661371, 11995792483, 11995923613, 11996054687, 11996185759, + 11996316833, 11996447917, 11996579011, 11996710157, 11996841229, 11996972303, 11997103397, + 11997234481, 11997365563, 11997496639, 11997627731, 11997758827, 11997889903, 11998020977, + 11998152059, 11998283147, 11998414229, 11998545323, 11998676429, 11998807501, 11998938593, + 11999069669, 11999200771, 11999331881, 11999462957, 11999594029, 11999725109, 11999856227, + 11999987333, 12000118447, 12000249523, 12000380657, 12000511729, 12000642803, 12000773893, + 12000904969, 12001036051, 12001167149, 12001298233, 12001429331, 12001560413, 12001691491, + 12001822601, 12001953683, 12002084761, 12002215837, 12002346991, 12002478067, 12002609141, + 12002740219, 12002871317, 12003002419, 12003133537, 12003264619, 12003395731, 12003526819, + 12003657937, 12003789013, 12003920113, 12004051207, 12004182299, 12004313437, 12004444513, + 12004575637, 12004706717, 12004837813, 12004968893, 12005099983, 12005231059, 12005362153, + 12005493229, 12005624329, 12005755457, 12005886583, 12006017657, 12006148757, 12006279833, + 12006410917, 12006542003, 12006673087, 12006804167, 12006935251, 12007066373, 12007197457, + 12007328539, 12007459637, 12007590709, 12007721827, 12007852943, 12007984039, 12008115139, + 12008246213, 12008377289, 12008508361, 12008639443, 12008770517, 12008901601, 12009032699, + 12009163787, 12009294877, 12009425959, 12009557033, 12009688111, 12009819191, 12009950317, + 12010081451, 12010212523, 12010343623, 12010474717, 12010605799, 12010736879, 12010867951, + 12010999031, 12011130107, 12011261201, 12011392273, 12011523373, 12011654483, 12011785571, + 12011916643, 12012047717, 12012178837, 12012309917, 12012441059, 12012572161, 12012703253, + 12012834367, 12012965443, 12013096517, 12013227607, 12013358729, 12013489811, 12013620923, + 12013751999, 12013883071, 12014014183, 12014145271, 12014276353, 12014407459, 12014538541, + 12014669621, 12014800781, 12014931853, 12015062933, 12015194011, 12015325087, 12015456169, + 12015587263, 12015718343, 12015849449, 12015980539, 12016111643, 12016242757, 12016373833, + 12016504933, 12016636033, 12016767107, 12016898197, 12017029279, 12017160371, 12017291501, + 12017422609, 12017553731, 12017684831, 12017815907, 12017947031, 12018078131, 12018209293, + 12018340381, 12018471523, 12018602639, 12018733711, 12018864787, 12018995887, 12019126961, + 12019258033, 12019389121, 12019520257, 12019651333, 12019782407, 12019913491, 12020044583, + 12020175691, 12020306797, 12020437901, 12020569003, 12020700079, 12020831171, 12020962243, + 12021093323, 12021224417, 12021355517, 12021486601, 12021617681, 12021748787, 12021879917, + 12022011019, 12022142107, 12022273189, 12022404281, 12022535353, 12022666433, 12022797529, + 12022928627, 12023059717, 12023190791, 12023321867, 12023452939, 12023584043, 12023715157, + 12023846231, 12023977331, 12024108427, 12024239503, 12024370619, 12024501703, 12024632803, + 12024763913, 12024894989, 12025026073, 12025157147, 12025288229, 12025419347, 12025550419, + 12025681519, 12025812599, 12025943729, 12026074811, 12026205923, 12026337053, 12026468159, + 12026599241, 12026730341, 12026861417, 12026992489, 12027123613, 12027254717, 12027385813, + 12027516899, 12027647971, 12027779053, 12027910127, 12028041203, 12028172297, 12028303379, + 12028434503, 12028565597, 12028696711, 12028827791, 12028958863, 12029089939, 12029221067, + 12029352151, 12029483251, 12029614351, 12029745449, 12029876533, 12030007631, 12030138719, + 12030269813, 12030400909, 12030531983, 12030663103, 12030794177, 12030925259, 12031056347, + 12031187447, 12031318531, 12031449613, 12031580707, 12031711781, 12031842863, 12031973957, + 12032105081, 12032236157, 12032367229, 12032498311, 12032629403, 12032760503, 12032891593, + 12033022667, 12033153751, 12033284827, 12033415903, 12033546989, 12033678061, 12033809191, + 12033940267, 12034071347, 12034202423, 12034333501, 12034464583, 12034595663, 12034726771, + 12034857859, 12034988969, 12035120057, 12035251141, 12035382221, 12035513327, 12035644421, + 12035775497, 12035906579, 12036037687, 12036168763, 12036299839, 12036430993, 12036562079, + 12036693233, 12036824309, 12036955409, 12037086491, 12037217587, 12037348667, 12037479743, + 12037610831, 12037741951, 12037873037, 12038004151, 12038135243, 12038266319, 12038397407, + 12038528479, 12038659681, 12038790767, 12038921887, 12039052969, 12039184043, 12039315133, + 12039446207, 12039577279, 12039708361, 12039839447, 12039970541, 12040101613, 12040232747, + 12040363837, 12040494923, 12040626001, 12040757189, 12040888273, 12041019371, 12041150453, + 12041281627, 12041412701, 12041543791, 12041674873, 12041805967, 12041937041, 12042068123, + 12042199199, 12042330323, 12042461399, 12042592543, 12042723683, 12042854773, 12042985891, + 12043116971, 12043248053, 12043379137, 12043510223, 12043641301, 12043772437, 12043903513, + 12044034593, 12044165687, 12044296769, 12044427851, 12044558963, 12044690041, 12044821121, + 12044952203, 12045083291, 12045214381, 12045345497, 12045476623, 12045607699, 12045738781, + 12045869903, 12046001017, 12046132097, 12046263211, 12046394291, 12046525367, 12046656439, + 12046787513, 12046918627, 12047049709, 12047180837, 12047311949, 12047443021, 12047574151, + 12047705249, 12047836391, 12047967467, 12048098539, 12048229643, 12048360719, 12048491797, + 12048622921, 12048754019, 12048885119, 12049016201, 12049147289, 12049278379, 12049409459, + 12049540561, 12049671649, 12049802773, 12049933859, 12050064991, 12050196079, 12050327153, + 12050458243, 12050589329, 12050720411, 12050851507, 12050982589, 12051113687, 12051244763, + 12051375851, 12051506963, 12051638059, 12051769133, 12051900233, 12052031347, 12052162429, + 12052293509, 12052424609, 12052555733, 12052686857, 12052817957, 12052949033, 12053080133, + 12053211211, 12053342299, 12053473379, 12053604461, 12053735543, 12053866633, 12053997721, + 12054128797, 12054259891, 12054390979, 12054522101, 12054653231, 12054784307, 12054915391, + 12055046473, 12055177553, 12055308649, 12055439729, 12055570801, 12055701893, 12055832989, + 12055964087, 12056095199, 12056226293, 12056357431, 12056488511, 12056619593, 12056750677, + 12056881751, 12057012829, 12057143909, 12057274993, 12057406087, 12057537169, 12057668243, + 12057799337, 12057930421, 12058061497, 12058192609, 12058323691, 12058454767, 12058585919, + 12058717031, 12058848103, 12058979183, 12059110277, 12059241367, 12059372453, 12059503529, + 12059634611, 12059765771, 12059896853, 12060027983, 12060159077, 12060290149, 12060421249, + 12060552341, 12060683419, 12060814559, 12060945661, 12061076737, 12061207811, 12061338889, + 12061469969, 12061601047, 12061732129, 12061863263, 12061994341, 12062125417, 12062256541, + 12062387627, 12062518739, 12062649817, 12062780893, 12062911981, 12063043081, 12063174163, + 12063305263, 12063436349, 12063567433, 12063698527, 12063829601, 12063960683, 12064091759, + 12064222837, 12064353911, 12064485061, 12064616147, 12064747309, 12064878391, 12065009471, + 12065140609, 12065271689, 12065402761, 12065533841, 12065664971, 12065796077, 12065927261, + 12066058369, 12066189449, 12066320549, 12066451627, 12066582721, 12066713803, 12066844877, + 12066975961, 12067107053, 12067238147, 12067369231, 12067500323, 12067631447, 12067762541, + 12067893637, 12068024713, 12068155793, 12068286871, 12068417953, 12068549081, 12068680201, + 12068811319, 12068942393, 12069073519, 12069204599, 12069335683, 12069466757, 12069597863, + 12069728939, 12069860027, 12069991099, 12070122173, 12070253269, 12070384349, 12070515421, + 12070646503, 12070777627, 12070908763, 12071039879, 12071170957, 12071302031, 12071433131, + 12071564227, 12071695309, 12071826401, 12071957489, 12072088579, 12072219713, 12072350803, + 12072481903, 12072612983, 12072744071, 12072875147, 12073006273, 12073137347, 12073268423, + 12073399571, 12073530649, 12073661723, 12073792813, 12073923893, 12074054977, 12074186071, + 12074317159, 12074448233, 12074579311, 12074710391, 12074841469, 12074972573, 12075103679, + 12075234751, 12075365831, 12075496913, 12075628009, 12075759103, 12075890179, 12076021271, + 12076152353, 12076283477, 12076414583, 12076545713, 12076676917, 12076807997, 12076939093, + 12077070169, 12077201291, 12077332363, 12077463443, 12077594519, 12077725601, 12077856677, + 12077987777, 12078118849, 12078249941, 12078381041, 12078512153, 12078643261, 12078774341, + 12078905413, 12079036513, 12079167587, 12079298663, 12079429771, 12079560853, 12079691933, + 12079823033, 12079954127, 12080085203, 12080216279, 12080347351, 12080478469, 12080609543, + 12080740619, 12080871703, 12081002783, 12081133913, 12081264989, 12081396071, 12081527201, + 12081658283, 12081789373, 12081920471, 12082051571, 12082182653, 12082313741, 12082444853, + 12082575949, 12082707023, 12082838099, 12082969237, 12083100311, 12083231399, 12083362477, + 12083493553, 12083624647, 12083755769, 12083886853, 12084017927, 12084149041, 12084280127, + 12084411203, 12084542303, 12084673423, 12084804499, 12084935581, 12085066703, 12085197833, + 12085328911, 12085459999, 12085591097, 12085722193, 12085853287, 12085984367, 12086115491, + 12086246569, 12086377643, 12086508761, 12086639849, 12086770921, 12086902013, 12087033097, + 12087164231, 12087295351, 12087426427, 12087557501, 12087688583, 12087819659, 12087950737, + 12088081847, 12088212949, 12088344031, 12088475111, 12088606193, 12088737343, 12088868423, + 12088999499, 12089130587, 12089261659, 12089392807, 12089523923, 12089654999, 12089786117, + 12089917219, 12090048317, 12090179441, 12090310517, 12090441637, 12090572719, 12090703829, + 12090834953, 12090966029, 12091097101, 12091228183, 12091359263, 12091490339, 12091621439, + 12091752529, 12091883611, 12092014699, 12092145829, 12092276909, 12092408011, 12092539091, + 12092670167, 12092801239, 12092932349, 12093063421, 12093194497, 12093325571, 12093456647, + 12093587741, 12093718837, 12093849967, 12093981047, 12094112143, 12094243229, 12094374319, + 12094505393, 12094636481, 12094767563, 12094898653, 12095029753, 12095160829, 12095292019, + 12095423111, 12095554231, 12095685383, 12095816477, 12095947571, 12096078653, 12096209743, + 12096340819, 12096471899, 12096602993, 12096734077, 12096865159, 12096996277, 12097127369, + 12097258469, 12097389541, 12097520641, 12097651729, 12097782821, 12097913903, 12098044979, + 12098176061, 12098307167, 12098438239, 12098569349, 12098700499, 12098831617, 12098962697, + 12099093793, 12099224881, 12099355969, 12099487051, 12099618137, 12099749209, 12099880301, + 12100011383, 12100142459, 12100273553, 12100404643, 12100535717, 12100666801, 12100797899, + 12100928989, 12101060077, 12101191171, 12101322251, 12101453323, 12101584399, 12101715491, + 12101846591, 12101977709, 12102108791, 12102239869, 12102370981, 12102502063, 12102633163, + 12102764237, 12102895313, 12103026389, 12103157467, 12103288541, 12103419707, 12103550801, + 12103681927, 12103813003, 12103944077, 12104075161, 12104206273, 12104337379, 12104468461, + 12104599571, 12104730679, 12104861779, 12104992901, 12105124061, 12105255133, 12105386327, + 12105517409, 12105648481, 12105779579, 12105910651, 12106041757, 12106172833, 12106303907, + 12106434979, 12106566067, 12106697227, 12106828309, 12106959401, 12107090519, 12107221601, + 12107352683, 12107483807, 12107614919, 12107746003, 12107877079, 12108008201, 12108139331, + 12108270403, 12108401483, 12108532567, 12108663649, 12108794729, 12108925811, 12109056889, + 12109188017, 12109319099, 12109450187, 12109581269, 12109712341, 12109843423, 12109974511, + 12110105597, 12110236681, 12110367757, 12110498833, 12110629907, 12110760983, 12110892077, + 12111023153, 12111154277, 12111285353, 12111416431, 12111547517, 12111678589, 12111809663, + 12111940739, 12112071817, 12112202911, 12112333993, 12112465093, 12112596173, 12112727257, + 12112858333, 12112989431, 12113120527, 12113251609, 12113382733, 12113513851, 12113644931, + 12113776007, 12113907079, 12114038159, 12114169231, 12114300329, 12114431401, 12114562487, + 12114693581, 12114824681, 12114955753, 12115086833, 12115217927, 12115349003, 12115480079, + 12115611163, 12115742239, 12115873331, 12116004451, 12116135527, 12116266601, 12116397737, + 12116528819, 12116659937, 12116791033, 12116922121, 12117053227, 12117184309, 12117315383, + 12117446459, 12117577601, 12117708751, 12117839831, 12117970903, 12118101997, 12118233091, + 12118364171, 12118495243, 12118626319, 12118757393, 12118888489, 12119019587, 12119150669, + 12119281747, 12119412859, 12119543951, 12119675059, 12119806207, 12119937287, 12120068407, + 12120199489, 12120330577, 12120461659, 12120592747, 12120723833, 12120854917, 12120985991, + 12121117091, 12121248221, 12121379317, 12121510417, 12121641503, 12121772581, 12121903679, + 12122034767, 12122165897, 12122296973, 12122428049, 12122559139, 12122690233, 12122821307, + 12122952409, 12123083507, 12123214637, 12123345721, 12123476819, 12123607921, 12123738997, + 12123870089, 12124001161, 12124132309, 12124263433, 12124394519, 12124525591, 12124656673, + 12124787749, 12124918831, 12125049913, 12125180989, 12125312071, 12125443157, 12125574239, + 12125705401, 12125836493, 12125967569, 12126098671, 12126229751, 12126360847, 12126491941, + 12126623029, 12126754103, 12126885181, 12127016267, 12127147339, 12127278419, 12127409513, + 12127540591, 12127671683, 12127802767, 12127933843, 12128064919, 12128195993, 12128327093, + 12128458201, 12128589353, 12128720459, 12128851549, 12128982623, 12129113701, 12129244781, + 12129375877, 12129506971, 12129638051, 12129769181, 12129900253, 12130031339, 12130162411, + 12130293493, 12130424567, 12130555639, 12130686721, 12130817821, 12130948901, 12131079979, + 12131211133, 12131342207, 12131473331, 12131604461, 12131735537, 12131866609, 12131997719, + 12132128807, 12132259889, 12132390971, 12132522071, 12132653149, 12132784241, 12132915323, + 12133046423, 12133177561, 12133308647, 12133439777, 12133570853, 12133701947, 12133833053, + 12133964173, 12134095271, 12134226343, 12134357479, 12134488579, 12134619751, 12134750827, + 12134881931, 12135013021, 12135144097, 12135275177, 12135406271, 12135537343, 12135668437, + 12135799541, 12135930647, 12136061759, 12136192837, 12136323917, 12136455043, 12136586141, + 12136717223, 12136848359, 12136979443, 12137110541, 12137241659, 12137372761, 12137503837, + 12137634917, 12137766013, 12137897089, 12138028163, 12138159251, 12138290323, 12138421397, + 12138552469, 12138683563, 12138814637, 12138945733, 12139076819, 12139207891, 12139338979, + 12139470071, 12139601161, 12139732243, 12139863341, 12139994429, 12140125513, 12140256613, + 12140387717, 12140518801, 12140649907, 12140781011, 12140912107, 12141043183, 12141174263, + 12141305339, 12141436453, 12141567527, 12141698623, 12141829723, 12141960799, 12142091891, + 12142222979, 12142354067, 12142485181, 12142616287, 12142747387, 12142878491, 12143009579, + 12143140657, 12143271737, 12143402819, 12143533933, 12143665013, 12143796103, 12143927177, + 12144058249, 12144189341, 12144320423, 12144451511, 12144582629, 12144713717, 12144844799, + 12144975881, 12145106959, 12145238033, 12145369133, 12145500317, 12145631461, 12145762553, + 12145893679, 12146024753, 12146155831, 12146286931, 12146418017, 12146549099, 12146680171, + 12146811293, 12146942371, 12147073447, 12147204527, 12147335633, 12147466729, 12147597811, + 12147728893, 12147859987, 12147991061, 12148122193, 12148253279, 12148384363, 12148515439, + 12148646593, 12148777681, 12148908757, 12149039839, 12149170949, 12149302037, 12149433113, + 12149564213, 12149695297, 12149826379, 12149957459, 12150088567, 12150219647, 12150350741, + 12150481831, 12150612907, 12150743981, 12150875063, 12151006169, 12151137247, 12151268321, + 12151399453, 12151530527, 12151661611, 12151792753, 12151923827, 12152054909, 12152185987, + 12152317061, 12152448163, 12152579239, 12152710373, 12152841457, 12152972593, 12153103687, + 12153234773, 12153365863, 12153496937, 12153628087, 12153759169, 12153890251, 12154021349, + 12154152433, 12154283563, 12154414637, 12154545713, 12154676797, 12154807871, 12154938947, + 12155070029, 12155201117, 12155332193, 12155463277, 12155594387, 12155725481, 12155856563, + 12155987663, 12156118763, 12156249893, 12156380989, 12156512183, 12156643321, 12156774401, + 12156905477, 12157036559, 12157167643, 12157298833, 12157429951, 12157561049, 12157692149, + 12157823239, 12157954331, 12158085409, 12158216491, 12158347573, 12158478649, 12158609759, + 12158740831, 12158871917, 12159003029, 12159134147, 12159265229, 12159396349, 12159527453, + 12159658541, 12159789617, 12159920693, 12160051781, 12160182863, 12160313989, 12160445093, + 12160576223, 12160707301, 12160838387, 12160969481, 12161100559, 12161231671, 12161362747, + 12161493821, 12161624897, 12161755973, 12161887079, 12162018151, 12162149239, 12162280321, + 12162411427, 12162542501, 12162673603, 12162804697, 12162935773, 12163066849, 12163197931, + 12163329023, 12163460137, 12163591283, 12163722383, 12163853509, 12163984589, 12164115749, + 12164246821, 12164377913, 12164508989, 12164640067, 12164771161, 12164902237, 12165033341, + 12165164467, 12165295553, 12165426631, 12165557741, 12165688813, 12165819923, 12165951011, + 12166082083, 12166213181, 12166344257, 12166475359, 12166606451, 12166737551, 12166868677, + 12166999763, 12167130841, 12167261923, 12167393087, 12167524183, 12167655281, 12167786369, + 12167917441, 12168048649, 12168179729, 12168310837, 12168441919, 12168573019, 12168704099, + 12168835187, 12168966263, 12169097377, 12169228451, 12169359551, 12169490639, 12169621721, + 12169752809, 12169883909, 12170015041, 12170146169, 12170277253, 12170408353, 12170539439, + 12170670521, 12170801603, 12170932687, 12171063761, 12171194839, 12171325921, 12171457013, + 12171588101, 12171719201, 12171850279, 12171981389, 12172112461, 12172243579, 12172374671, + 12172505831, 12172636933, 12172768063, 12172899173, 12173030263, 12173161381, 12173292473, + 12173423609, 12173554681, 12173685781, 12173816867, 12173947939, 12174079051, 12174210151, + 12174341227, 12174472301, 12174603383, 12174734459, 12174865531, 12174996679, 12175127771, + 12175258847, 12175389979, 12175521067, 12175652147, 12175783229, 12175914313, 12176045423, + 12176176499, 12176307589, 12176438741, 12176569819, 12176700923, 12176832001, 12176963077, + 12177094183, 12177225257, 12177356341, 12177487451, 12177618527, 12177749609, 12177880699, + 12178011793, 12178142917, 12178273997, 12178405069, 12178536151, 12178667227, 12178798409, + 12178929493, 12179060611, 12179191693, 12179322781, 12179453893, 12179584973, 12179716063, + 12179847139, 12179978227, 12180109307, 12180240379, 12180371491, 12180502573, 12180633667, + 12180764779, 12180895891, 12181026967, 12181158047, 12181289119, 12181420213, 12181551299, + 12181682399, 12181813477, 12181944553, 12182075629, 12182206711, 12182337793, 12182468869, + 12182599943, 12182731039, 12182862127, 12182993209, 12183124309, 12183255431, 12183386519, + 12183517609, 12183648707, 12183779813, 12183910889, 12184041971, 12184173059, 12184304147, + 12184435223, 12184566299, 12184697411, 12184828483, 12184959581, 12185090711, 12185221813, + 12185352887, 12185483963, 12185615053, 12185746187, 12185877293, 12186008399, 12186139481, + 12186270557, 12186401641, 12186532717, 12186663791, 12186794863, 12186925957, 12187057049, + 12187188121, 12187319213, 12187450321, 12187581409, 12187712491, 12187843567, 12187974649, + 12188105767, 12188236871, 12188367949, 12188499077, 12188630171, 12188761253, 12188892341, + 12189023417, 12189154529, 12189285601, 12189416719, 12189547819, 12189678901, 12189809977, + 12189941077, 12190072157, 12190203239, 12190334311, 12190465423, 12190596499, 12190727611, + 12190858711, 12190989791, 12191120899, 12191251997, 12191383073, 12191514173, 12191645261, + 12191776351, 12191907457, 12192038531, 12192169657, 12192300767, 12192431873, 12192562961, + 12192694039, 12192825133, 12192956231, 12193087321, 12193218407, 12193349479, 12193480553, + 12193611629, 12193742741, 12193873847, 12194004923, 12194136049, 12194267143, 12194398253, + 12194529329, 12194660407, 12194791493, 12194922629, 12195053719, 12195184811, 12195315893, + 12195447073, 12195578147, 12195709247, 12195840323, 12195971399, 12196102487, 12196233563, + 12196364639, 12196495721, 12196626803, 12196757887, 12196889009, 12197020111, 12197151191, + 12197282269, 12197413363, 12197544493, 12197675573, 12197806661, 12197937749, 12198068873, + 12198199961, 12198331069, 12198462151, 12198593257, 12198724379, 12198855451, 12198986533, + 12199117607, 12199248683, 12199379783, 12199510901, 12199641973, 12199773083, 12199904173, + 12200035297, 12200166373, 12200297449, 12200428531, 12200559703, 12200690779, 12200821877, + 12200952983, 12201084083, 12201215177, 12201346273, 12201477433, 12201608519, 12201739619, + 12201870713, 12202001857, 12202132933, 12202264021, 12202395169, 12202526251, 12202657393, + 12202788469, 12202919557, 12203050631, 12203181743, 12203312851, 12203443963, 12203575039, + 12203706127, 12203837207, 12203968289, 12204099403, 12204230501, 12204361577, 12204492667, + 12204623741, 12204754817, 12204885919, 12205017001, 12205148101, 12205279187, 12205410317, + 12205541393, 12205672481, 12205803557, 12205934633, 12206065717, 12206196817, 12206327891, + 12206458973, 12206590057, 12206721143, 12206852221, 12206983307, 12207114427, 12207245507, + 12207376583, 12207507667, 12207638741, 12207769831, 12207900937, 12208032013, 12208163111, + 12208294207, 12208425283, 12208556359, 12208687453, 12208818527, 12208949609, 12209080691, + 12209211779, 12209342881, 12209473957, 12209605033, 12209736131, 12209867203, 12209998289, + 12210129361, 12210260449, 12210391541, 12210522619, 12210653737, 12210784823, 12210915911, + 12211046983, 12211178071, 12211309199, 12211440281, 12211571357, 12211702453, 12211833581, + 12211964683, 12212095757, 12212226847, 12212357947, 12212489041, 12212620117, 12212751203, + 12212882281, 12213013357, 12213144481, 12213275567, 12213406649, 12213537727, 12213668851, + 12213799951, 12213931039, 12214062127, 12214193209, 12214324337, 12214455467, 12214586561, + 12214717639, 12214848713, 12214979807, 12215110889, 12215241967, 12215373047, 12215504141, + 12215635261, 12215766373, 12215897497, 12216028577, 12216159653, 12216290759, 12216421873, + 12216552961, 12216684037, 12216815119, 12216946199, 12217077317, 12217208467, 12217339543, + 12217470619, 12217601699, 12217732783, 12217863863, 12217994951, 12218126023, 12218257147, + 12218388227, 12218519317, 12218650393, 12218781511, 12218912603, 12219043703, 12219174817, + 12219305893, 12219436993, 12219568079, 12219699181, 12219830269, 12219961357, 12220092433, + 12220223531, 12220354667, 12220485829, 12220616909, 12220747999, 12220879091, 12221010163, + 12221141267, 12221272361, 12221403449, 12221534599, 12221665717, 12221796803, 12221927891, + 12222058967, 12222190051, 12222321143, 12222452233, 12222583319, 12222714431, 12222845519, + 12222976643, 12223107791, 12223238921, 12223369999, 12223501079, 12223632151, 12223763257, + 12223894343, 12224025427, 12224156513, 12224287613, 12224418709, 12224549819, 12224680913, + 12224811997, 12224943091, 12225074171, 12225205243, 12225336317, 12225467393, 12225598529, + 12225729611, 12225860747, 12225991819, 12226122893, 12226253981, 12226385063, 12226516139, + 12226647233, 12226778323, 12226909417, 12227040517, 12227171591, 12227302669, 12227433749, + 12227564831, 12227695913, 12227827009, 12227958089, 12228089161, 12228220271, 12228351349, + 12228482471, 12228613571, 12228744653, 12228875731, 12229006817, 12229137923, 12229269023, + 12229400101, 12229531219, 12229662299, 12229793413, 12229924501, 12230055577, 12230186651, + 12230317733, 12230448823, 12230579903, 12230710981, 12230842067, 12230973203, 12231104279, + 12231235369, 12231366449, 12231497539, 12231628621, 12231759719, 12231890809, 12232021909, + 12232153019, 12232284133, 12232415227, 12232546307, 12232677383, 12232808459, 12232939541, + 12233070649, 12233201723, 12233332861, 12233463941, 12233595019, 12233726111, 12233857189, + 12233988271, 12234119347, 12234250433, 12234381527, 12234512603, 12234643697, 12234774791, + 12234905863, 12235036937, 12235168027, 12235299103, 12235430201, 12235561297, 12235692389, + 12235823461, 12235954547, 12236085619, 12236216693, 12236347789, 12236478889, 12236609969, + 12236741113, 12236872211, 12237003341, 12237134419, 12237265493, 12237396581, 12237527669, + 12237658781, 12237789859, 12237920953, 12238052027, 12238183117, 12238314197, 12238445273, + 12238576349, 12238707433, 12238838527, 12238969607, 12239100703, 12239231803, 12239362931, + 12239494013, 12239625103, 12239756197, 12239887333, 12240018409, 12240149497, 12240280579, + 12240411683, 12240542791, 12240673901, 12240804991, 12240936073, 12241067147, 12241198219, + 12241329293, 12241460369, 12241591463, 12241722547, 12241853621, 12241984709, 12242115797, + 12242246879, 12242377991, 12242509067, 12242640149, 12242771237, 12242902333, 12243033427, + 12243164513, 12243295613, 12243426721, 12243557813, 12243688903, 12243820003, 12243951091, + 12244082219, 12244213327, 12244344487, 12244475561, 12244606651, 12244737731, 12244868807, + 12244999909, 12245131007, 12245262097, 12245393179, 12245524259, 12245655347, 12245786419, + 12245917501, 12246048599, 12246179677, 12246310753, 12246441847, 12246572959, 12246704051, + 12246835147, 12246966223, 12247097323, 12247228397, 12247359469, 12247490543, 12247621621, + 12247752721, 12247883839, 12248014921, 12248146003, 12248277089, 12248408167, 12248539243, + 12248670331, 12248801413, 12248932489, 12249063599, 12249194747, 12249325819, 12249456893, + 12249587989, 12249719089, 12249850177, 12249981269, 12250112351, 12250243427, 12250374509, + 12250505591, 12250636691, 12250767787, 12250898927, 12251030009, 12251161151, 12251292269, + 12251423351, 12251554459, 12251685539, 12251816639, 12251947727, 12252078799, 12252209891, + 12252340973, 12252472079, 12252603151, 12252734237, 12252865309, 12252996389, 12253127461, + 12253258559, 12253389647, 12253520731, 12253651819, 12253782949, 12253914037, 12254045123, + 12254176237, 12254307337, 12254438411, 12254569519, 12254700629, 12254831749, 12254962829, + 12255093901, 12255225029, 12255356129, 12255487249, 12255618329, 12255749449, 12255880573, + 12256011667, 12256142783, 12256273859, 12256404947, 12256536031, 12256667107, 12256798189, + 12256929271, 12257060353, 12257191451, 12257322523, 12257453651, 12257584723, 12257715851, + 12257846963, 12257978039, 12258109133, 12258240263, 12258371371, 12258502463, 12258633539, + 12258764611, 12258895699, 12259026781, 12259157863, 12259288939, 12259420031, 12259551107, + 12259682179, 12259813261, 12259944343, 12260075431, 12260206561, 12260337643, 12260468723, + 12260599829, 12260730907, 12260861999, 12260993081, 12261124153, 12261255233, 12261386309, + 12261517397, 12261648517, 12261779639, 12261910753, 12262041871, 12262172963, 12262304039, + 12262435111, 12262566187, 12262697267, 12262828339, 12262959413, 12263090503, 12263221589, + 12263352677, 12263483753, 12263614871, 12263745973, 12263877053, 12264008149, 12264139229, + 12264270323, 12264401399, 12264532507, 12264663581, 12264794681, 12264925753, 12265056847, + 12265187939, 12265319029, 12265450117, 12265581193, 12265712267, 12265843391, 12265974467, + 12266105563, 12266236663, 12266367749, 12266498821, 12266629897, 12266761033, 12266892139, + 12267023221, 12267154313, 12267285409, 12267416507, 12267547609, 12267678733, 12267809821, + 12267940933, 12268072009, 12268203083, 12268334167, 12268465267, 12268596341, 12268727437, + 12268858517, 12268989611, 12269120693, 12269251783, 12269382857, 12269513947, 12269645023, + 12269776171, 12269907253, 12270038351, 12270169433, 12270300517, 12270431597, 12270562727, + 12270693833, 12270824941, 12270956039, 12271087133, 12271218209, 12271349327, 12271480399, + 12271611479, 12271742597, 12271873703, 12272004803, 12272135879, 12272266987, 12272398081, + 12272529193, 12272660297, 12272791409, 12272922481, 12273053567, 12273184681, 12273315757, + 12273446851, 12273577931, 12273709003, 12273840119, 12273971233, 12274102327, 12274233409, + 12274364489, 12274495589, 12274626697, 12274757797, 12274888891, 12275020031, 12275151113, + 12275282203, 12275413313, 12275544409, 12275675491, 12275806601, 12275937731, 12276068803, + 12276199967, 12276331079, 12276462151, 12276593227, 12276724321, 12276855397, 12276986479, + 12277117591, 12277248671, 12277379759, 12277510879, 12277641967, 12277773041, 12277904143, + 12278035241, 12278166319, 12278297393, 12278428469, 12278559593, 12278690689, 12278821771, + 12278952859, 12279083941, 12279215021, 12279346097, 12279477169, 12279608251, 12279739337, + 12279870409, 12280001491, 12280132567, 12280263641, 12280394747, 12280525819, 12280656959, + 12280788059, 12280919141, 12281050231, 12281181317, 12281312437, 12281443511, 12281574583, + 12281705663, 12281836739, 12281967881, 12282098957, 12282230033, 12282361171, 12282492283, + 12282623389, 12282754487, 12282885583, 12283016663, 12283147739, 12283278811, 12283409893, + 12283540979, 12283672081, 12283803167, 12283934297, 12284065393, 12284196469, 12284327579, + 12284458657, 12284589773, 12284720857, 12284851949, 12284983021, 12285114103, 12285245183, + 12285376261, 12285507347, 12285638501, 12285769579, 12285900661, 12286031741, 12286162843, + 12286293949, 12286425029, 12286556101, 12286687207, 12286818301, 12286949407, 12287080513, + 12287211611, 12287342689, 12287473763, 12287604863, 12287735951, 12287867029, 12287998139, + 12288129211, 12288260329, 12288391403, 12288522509, 12288653593, 12288784687, 12288915761, + 12289046843, 12289177961, 12289309057, 12289440139, 12289571213, 12289702297, 12289833389, + 12289964473, 12290095561, 12290226647, 12290357719, 12290488799, 12290619907, 12290751013, + 12290882113, 12291013219, 12291144329, 12291275429, 12291406513, 12291537593, 12291668737, + 12291799813, 12291930919, 12292062011, 12292193087, 12292324169, 12292455269, 12292586399, + 12292717511, 12292848583, 12292979669, 12293110757, 12293241853, 12293372929, 12293504011, + 12293635091, 12293766169, 12293897249, 12294028339, 12294159421, 12294290501, 12294421577, + 12294552653, 12294683759, 12294814859, 12294945973, 12295077103, 12295208179, 12295339297, + 12295470409, 12295601497, 12295732577, 12295863677, 12295994807, 12296125879, 12296256971, + 12296388043, 12296519173, 12296650271, 12296781373, 12296912449, 12297043537, 12297174613, + 12297305693, 12297436771, 12297567857, 12297698929, 12297830011, 12297961127, 12298092217, + 12298223293, 12298354391, 12298485469, 12298616563, 12298747639, 12298878719, 12299009813, + 12299140891, 12299271991, 12299403089, 12299534171, 12299665283, 12299796367, 12299927447, + 12300058523, 12300189607, 12300320687, 12300451763, 12300582859, 12300713939, 12300845047, + 12300976133, 12301107229, 12301238311, 12301369403, 12301500479, 12301631557, 12301762633, + 12301893761, 12302024851, 12302155951, 12302287033, 12302418109, 12302549213, 12302680303, + 12302811377, 12302942479, 12303073567, 12303204649, 12303335767, 12303466841, 12303598039, + 12303729157, 12303860237, 12303991321, 12304122401, 12304253477, 12304384601, 12304515679, + 12304646773, 12304777861, 12304908977, 12305040049, 12305171159, 12305302241, 12305433317, + 12305564389, 12305695481, 12305826581, 12305957659, 12306088733, 12306219817, 12306350989, + 12306482093, 12306613171, 12306744269, 12306875341, 12307006427, 12307137517, 12307268627, + 12307399703, 12307530799, 12307661879, 12307792979, 12307924051, 12308055127, 12308186207, + 12308317289, 12308448377, 12308579473, 12308710597, 12308841697, 12308972777, 12309103943, + 12309235019, 12309366101, 12309497191, 12309628271, 12309759379, 12309890477, 12310021621, + 12310152733, 12310283837, 12310414937, 12310546021, 12310677121, 12310808197, 12310939271, + 12311070361, 12311201443, 12311332519, 12311463607, 12311594693, 12311725781, 12311856883, + 12311987957, 12312119033, 12312250123, 12312381217, 12312512299, 12312643391, 12312774469, + 12312905567, 12313036649, 12313167733, 12313298831, 12313429939, 12313561049, 12313692133, + 12313823209, 12313954307, 12314085431, 12314216513, 12314347657, 12314478767, 12314609843, + 12314740927, 12314872013, 12315003119, 12315134233, 12315265331, 12315396409, 12315527509, + 12315658631, 12315789769, 12315920849, 12316051933, 12316183027, 12316314323, 12316445399, + 12316576487, 12316707563, 12316838669, 12316969747, 12317100841, 12317231921, 12317363017, + 12317494099, 12317625181, 12317756257, 12317887331, 12318018403, 12318149477, 12318280561, + 12318411647, 12318542723, 12318673823, 12318804917, 12318935989, 12319067063, 12319198163, + 12319329287, 12319460371, 12319591463, 12319722577, 12319853713, 12319984793, 12320115911, + 12320246993, 12320378093, 12320509181, 12320640257, 12320771341, 12320902463, 12321033563, + 12321164677, 12321295817, 12321426917, 12321558013, 12321689089, 12321820163, 12321951287, + 12322082389, 12322213471, 12322344571, 12322475657, 12322606729, 12322737803, 12322868917, + 12323000003, 12323131081, 12323262167, 12323393239, 12323524319, 12323655451, 12323786551, + 12323917643, 12324048739, 12324179827, 12324310937, 12324442019, 12324573101, 12324704219, + 12324835291, 12324966371, 12325097471, 12325228577, 12325359677, 12325490753, 12325621849, + 12325752973, 12325884049, 12326015147, 12326146243, 12326277331, 12326408407, 12326539493, + 12326670571, 12326801647, 12326932729, 12327063839, 12327194917, 12327326029, 12327457123, + 12327588263, 12327719353, 12327850429, 12327981503, 12328112597, 12328243673, 12328374749, + 12328505821, 12328636907, 12328767991, 12328899083, 12329030227, 12329161309, 12329292383, + 12329423467, 12329554541, 12329685629, 12329816749, 12329947849, 12330078931, 12330210017, + 12330341161, 12330472241, 12330603359, 12330734459, 12330865583, 12330996673, 12331127773, + 12331258861, 12331389949, 12331521053, 12331652149, 12331783231, 12331914307, 12332045413, + 12332176487, 12332307649, 12332438731, 12332569877, 12332700967, 12332832067, 12332963233, + 12333094369, 12333225481, 12333356561, 12333487643, 12333618721, 12333749797, 12333880901, + 12334011973, 12334143071, 12334274189, 12334405261, 12334536341, 12334667489, 12334798561, + 12334929643, 12335060729, 12335191849, 12335322977, 12335454059, 12335585159, 12335716231, + 12335847311, 12335978383, 12336109531, 12336240607, 12336371681, 12336502781, 12336633857, + 12336764939, 12336896027, 12337027117, 12337158193, 12337289273, 12337420349, 12337551427, + 12337682531, 12337813613, 12337944691, 12338075777, 12338206891, 12338338003, 12338469089, + 12338600179, 12338731261, 12338862373, 12338993449, 12339124541, 12339255613, 12339386737, + 12339517819, 12339648899, 12339779981, 12339911071, 12340042159, 12340173253, 12340304351, + 12340435451, 12340566541, 12340697623, 12340828699, 12340959791, 12341090873, 12341221951, + 12341353109, 12341484247, 12341615323, 12341746447, 12341877529, 12342008629, 12342139729, + 12342270803, 12342401963, 12342533039, 12342664121, 12342795203, 12342926339, 12343057411, + 12343188523, 12343319609, 12343450697, 12343581793, 12343712873, 12343843949, 12343975037, + 12344106109, 12344237197, 12344368297, 12344499379, 12344630479, 12344761553, 12344892641, + 12345023759, 12345154841, 12345285917, 12345416989, 12345548063, 12345679187, 12345810259, + 12345941339, 12346072433, 12346203509, 12346334593, 12346465667, 12346596767, 12346727843, + 12346858949, 12346990043, 12347121121, 12347252263, 12347383351, 12347514451, 12347645543, + 12347776621, 12347907731, 12348038861, 12348169961, 12348301037, 12348432121, 12348563197, + 12348694279, 12348825361, 12348956453, 12349087567, 12349218649, 12349349731, 12349480811, + 12349611899, 12349742971, 12349874107, 12350005211, 12350136289, 12350267429, 12350398513, + 12350529619, 12350660711, 12350791801, 12350922923, 12351054017, 12351185101, 12351316177, + 12351447271, 12351578377, 12351709457, 12351840533, 12351971617, 12352102703, 12352233781, + 12352364861, 12352495951, 12352627117, 12352758217, 12352889291, 12353020417, 12353151523, + 12353282609, 12353413691, 12353544769, 12353675857, 12353806957, 12353938033, 12354069109, + 12354200207, 12354331313, 12354462389, 12354593467, 12354724621, 12354855701, 12354986779, + 12355117891, 12355248973, 12355380077, 12355511153, 12355642237, 12355773341, 12355904413, + 12356035519, 12356166689, 12356297813, 12356428927, 12356560003, 12356691089, 12356822167, + 12356953289, 12357084371, 12357215447, 12357346523, 12357477611, 12357608687, 12357739769, + 12357870953, 12358002031, 12358133129, 12358264231, 12358395319, 12358526443, 12358657517, + 12358788593, 12358919681, 12359050777, 12359181889, 12359312981, 12359444089, 12359575169, + 12359706241, 12359837317, 12359968399, 12360099487, 12360230587, 12360361661, 12360492751, + 12360623879, 12360754951, 12360886033, 12361017107, 12361148213, 12361279373, 12361410449, + 12361541561, 12361672639, 12361803733, 12361934843, 12362065927, 12362197009, 12362328091, + 12362459167, 12362590249, 12362721361, 12362852441, 12362983531, 12363114623, 12363245773, + 12363376853, 12363507973, 12363639061, 12363770143, 12363901261, 12364032349, 12364163479, + 12364294597, 12364425673, 12364556759, 12364687939, 12364819057, 12364950133, 12365081237, + 12365212313, 12365343391, 12365474479, 12365605579, 12365736667, 12365867753, 12365998831, + 12366129943, 12366261041, 12366392119, 12366523219, 12366654331, 12366785413, 12366916489, + 12367047619, 12367178737, 12367309837, 12367440931, 12367572013, 12367703123, 12367834211, + 12367965289, 12368096431, 12368227591, 12368358689, 12368489773, 12368620867, 12368751943, + 12368883031, 12369014131, 12369145207, 12369276299, 12369407387, 12369538463, 12369669547, + 12369800659, 12369931757, 12370062847, 12370193929, 12370325053, 12370456139, 12370587211, + 12370718293, 12370849369, 12370980449, 12371111521, 12371242607, 12371373683, 12371504797, + 12371635901, 12371767003, 12371898083, 12372029171, 12372160247, 12372291319, 12372422411, + 12372553483, 12372684557, 12372815633, 12372946709, 12373077781, 12373208867, 12373339963, + 12373471039, 12373602139, 12373733219, 12373864337, 12373995457, 12374126533, 12374257723, + 12374388797, 12374519893, 12374650979, 12374782093, 12374913217, 12375044303, 12375175391, + 12375306467, 12375437549, 12375568627, 12375699731, 12375830807, 12375961891, 12376093019, + 12376224101, 12376355203, 12376486289, 12376617403, 12376748479, 12376879553, 12377010629, + 12377141719, 12377272799, 12377403881, 12377534963, 12377666053, 12377797199, 12377928287, + 12378059359, 12378190453, 12378321559, 12378452659, 12378583741, 12378714841, 12378845923, + 12378977003, 12379108099, 12379239181, 12379370303, 12379501391, 12379632479, 12379763569, + 12379894643, 12380025737, 12380156827, 12380287903, 12380418989, 12380550163, 12380681237, + 12380812321, 12380943403, 12381074477, 12381205579, 12381336707, 12381467821, 12381598909, + 12381729989, 12381861061, 12381992153, 12382123231, 12382254337, 12382385417, 12382516501, + 12382647581, 12382778657, 12382909733, 12383040853, 12383171947, 12383303033, 12383434111, + 12383565197, 12383696279, 12383827367, 12383958439, 12384089513, 12384220609, 12384351701, + 12384482801, 12384613907, 12384744989, 12384876121, 12385007203, 12385138291, 12385269373, + 12385400491, 12385531573, 12385662659, 12385793741, 12385924823, 12386055907, 12386187041, + 12386318117, 12386449213, 12386580289, 12386711413, 12386842519, 12386973661, 12387104761, + 12387235837, 12387366967, 12387498047, 12387629131, 12387760207, 12387891319, 12388022513, + 12388153597, 12388284751, 12388415857, 12388546939, 12388678021, 12388809107, 12388940191, + 12389071297, 12389202401, 12389333549, 12389464631, 12389595761, 12389726851, 12389857939, + 12389989013, 12390120161, 12390251243, 12390382387, 12390513463, 12390644551, 12390775697, + 12390906823, 12391037927, 12391169027, 12391300133, 12391431277, 12391562353, 12391693427, + 12391824589, 12391955669, 12392086757, 12392217833, 12392348909, 12392479999, 12392611079, + 12392742163, 12392873261, 12393004343, 12393135421, 12393266497, 12393397571, 12393528643, + 12393659723, 12393790859, 12393921937, 12394053029, 12394184107, 12394315223, 12394446313, + 12394577389, 12394708481, 12394839571, 12394970647, 12395101739, 12395232821, 12395363921, + 12395495003, 12395626079, 12395757191, 12395888347, 12396019423, 12396150517, 12396281657, + 12396412753, 12396543829, 12396674957, 12396806029, 12396937103, 12397068193, 12397199273, + 12397330411, 12397461491, 12397592579, 12397723703, 12397854779, 12397985861, 12398116993, + 12398248073, 12398379151, 12398510231, 12398641351, 12398772427, 12398903501, 12399034579, + 12399165677, 12399296759, 12399427837, 12399558917, 12399690041, 12399821123, 12399952249, + 12400083323, 12400214401, 12400345493, 12400476577, 12400607651, 12400738733, 12400869809, + 12401000903, 12401131979, 12401263087, 12401394179, 12401525267, 12401656339, 12401787421, + 12401918537, 12402049609, 12402180683, 12402311791, 12402442879, 12402573959, 12402705053, + 12402836137, 12402967229, 12403098311, 12403229407, 12403360511, 12403491629, 12403622713, + 12403753919, 12403885019, 12404016101, 12404147183, 12404278273, 12404409371, 12404540479, + 12404671577, 12404802667, 12404933753, 12405064871, 12405195983, 12405327059, 12405458179, + 12405589303, 12405720377, 12405851509, 12405982609, 12406113689, 12406244777, 12406375937, + 12406507031, 12406638121, 12406769209, 12406900313, 12407031433, 12407162531, 12407293631, + 12407424703, 12407555813, 12407686897, 12407817977, 12407949049, 12408080161, 12408211247, + 12408342319, 12408473419, 12408604499, 12408735571, 12408866671, 12408997753, 12409128829, + 12409259923, 12409391003, 12409522087, 12409653163, 12409784237, 12409915321, 12410046401, + 12410177501, 12410308577, 12410439649, 12410570749, 12410701837, 12410832911, 12410964001, + 12411095131, 12411226237, 12411357311, 12411488393, 12411619483, 12411750563, 12411881641, + 12412012729, 12412143803, 12412274879, 12412405961, 12412537057, 12412668209, 12412799281, + 12412930363, 12413061467, 12413192551, 12413323651, 12413454797, 12413585897, 12413717047, + 12413848123, 12413979203, 12414110287, 12414241363, 12414372449, 12414503527, 12414634601, + 12414765673, 12414896749, 12415027831, 12415158979, 12415290067, 12415421141, 12415552229, + 12415683317, 12415814429, 12415945571, 12416076653, 12416207747, 12416338849, 12416469931, + 12416601013, 12416732087, 12416863159, 12416994251, 12417125323, 12417256451, 12417387529, + 12417518621, 12417649697, 12417780853, 12417911929, 12418043003, 12418174123, 12418305233, + 12418436311, 12418567391, 12418698491, 12418829573, 12418960651, 12419091743, 12419222839, + 12419353939, 12419485021, 12419616109, 12419747201, 12419878277, 12420009377, 12420140459, + 12420271541, 12420402649, 12420533731, 12420664813, 12420795929, 12420927017, 12421058099, + 12421189211, 12421320287, 12421451363, 12421582463, 12421713607, 12421844683, 12421975771, + 12422106859, 12422237941, 12422369077, 12422500159, 12422631233, 12422762333, 12422893409, + 12423024491, 12423155599, 12423286717, 12423417817, 12423548903, 12423679979, 12423811097, + 12423942173, 12424073261, 12424204337, 12424335409, 12424466521, 12424597597, 12424728721, + 12424859833, 12424990909, 12425122009, 12425253107, 12425384221, 12425515327, 12425646407, + 12425777489, 12425908571, 12426039649, 12426170747, 12426301837, 12426432937, 12426564083, + 12426695159, 12426826249, 12426957341, 12427088477, 12427219549, 12427350629, 12427481701, + 12427612823, 12427743907, 12427875011, 12428006119, 12428137217, 12428268289, 12428399381, + 12428530501, 12428661589, 12428792669, 12428923753, 12429054863, 12429185941, 12429317053, + 12429448151, 12429579299, 12429710407, 12429841507, 12429972587, 12430103687, 12430234769, + 12430365851, 12430497017, 12430628101, 12430759181, 12430890271, 12431021357, 12431152469, + 12431283581, 12431414689, 12431545769, 12431676857, 12431807951, 12431939033, 12432070159, + 12432201251, 12432332327, 12432463399, 12432594511, 12432725611, 12432856817, 12432987899, + 12433118981, 12433250131, 12433381211, 12433512313, 12433643441, 12433774537, 12433905613, + 12434036707, 12434167783, 12434298857, 12434429929, 12434561011, 12434692103, 12434823253, + 12434954333, 12435085441, 12435216529, 12435347651, 12435478729, 12435609827, 12435740903, + 12435872041, 12436003133, 12436134209, 12436265287, 12436396397, 12436527469, 12436658569, + 12436789661, 12436920739, 12437051831, 12437182903, 12437313991, 12437445071, 12437576143, + 12437707231, 12437838323, 12437969447, 12438100529, 12438231607, 12438362687, 12438493801, + 12438624881, 12438755969, 12438887057, 12439018177, 12439149259, 12439280353, 12439411429, + 12439542509, 12439673599, 12439804687, 12439935839, 12440066929, 12440198009, 12440329147, + 12440460257, 12440591341, 12440722423, 12440853499, 12440984593, 12441115699, 12441246791, + 12441377911, 12441508987, 12441640063, 12441771149, 12441902227, 12442033313, 12442164401, + 12442295473, 12442426547, 12442557623, 12442688719, 12442819811, 12442950889, 12443081977, + 12443213089, 12443344211, 12443475313, 12443606437, 12443737561, 12443868643, 12443999723, + 12444130817, 12444261901, 12444392977, 12444524087, 12444655183, 12444786257, 12444917347, + 12445048453, 12445179529, 12445310627, 12445441733, 12445572871, 12445703971, 12445835089, + 12445966189, 12446097263, 12446228351, 12446359439, 12446490559, 12446621633, 12446752709, + 12446883791, 12447014897, 12447145979, 12447277091, 12447408163, 12447539261, 12447670337, + 12447801409, 12447932521, 12448063597, 12448194727, 12448325801, 12448456883, 12448587967, + 12448719077, 12448850159, 12448981243, 12449112317, 12449243431, 12449374507, 12449505583, + 12449636659, 12449767783, 12449898887, 12450030059, 12450161173, 12450292249, 12450423367, + 12450554461, 12450685547, 12450816629, 12450947759, 12451078949, 12451210021, 12451341103, + 12451472191, 12451603319, 12451734413, 12451865501, 12451996573, 12452127707, 12452258783, + 12452389913, 12452521087, 12452652161, 12452783243, 12452914319, 12453045421, 12453176497, + 12453307583, 12453438667, 12453569773, 12453700859, 12453831931, 12453963017, 12454094137, + 12454225237, 12454356323, 12454487401, 12454618481, 12454749553, 12454880639, 12455011747, + 12455142841, 12455273933, 12455405023, 12455536099, 12455667173, 12455798269, 12455929349, + 12456060427, 12456191519, 12456322607, 12456453703, 12456584797, 12456715897, 12456846971, + 12456978049, 12457109131, 12457240217, 12457371301, 12457502383, 12457633459, 12457764547, + 12457895627, 12458026703, 12458157827, 12458288903, 12458419991, 12458551109, 12458682191, + 12458813281, 12458944363, 12459075437, 12459206521, 12459337607, 12459468683, 12459599783, + 12459730873, 12459861949, 12459993023, 12460124099, 12460255189, 12460386269, 12460517347, + 12460648451, 12460779533, 12460910611, 12461041721, 12461172793, 12461303999, 12461435089, + 12461566171, 12461697247, 12461828333, 12461959423, 12462090539, 12462221647, 12462352817, + 12462483889, 12462614971, 12462746071, 12462877159, 12463008277, 12463139363, 12463270447, + 12463401527, 12463532617, 12463663697, 12463794779, 12463925861, 12464056939, 12464188057, + 12464319163, 12464450263, 12464581351, 12464712427, 12464843509, 12464974589, 12465105671, + 12465236747, 12465367823, 12465498943, 12465630031, 12465761111, 12465892193, 12466023281, + 12466154357, 12466285457, 12466416533, 12466547609, 12466678699, 12466809779, 12466940869, + 12467071943, 12467203027, 12467334167, 12467465251, 12467596333, 12467727413, 12467858509, + 12467989609, 12468120683, 12468251771, 12468382897, 12468513971, 12468645103, 12468776183, + 12468907271, 12469038343, 12469169417, 12469300489, 12469431589, 12469562663, 12469693739, + 12469824847, 12469955921, 12470087009, 12470218081, 12470349163, 12470480263, 12470611357, + 12470742443, 12470873521, 12471004621, 12471135709, 12471266849, 12471397951, 12471529043, + 12471660119, 12471791221, 12471922327, 12472053401, 12472184503, 12472315589, 12472446683, + 12472577783, 12472708907, 12472839979, 12472971053, 12473102129, 12473233229, 12473364307, + 12473495381, 12473626453, 12473757533, 12473888611, 12474019687, 12474150779, 12474281873, + 12474412981, 12474544067, 12474675139, 12474806221, 12474937339, 12475068439, 12475199533, + 12475330607, 12475461709, 12475592797, 12475723877, 12475854959, 12475986067, 12476117141, + 12476248219, 12476379301, 12476510411, 12476641483, 12476772569, 12476903689, 12477034769, + 12477165893, 12477296983, 12477428059, 12477559163, 12477690271, 12477821383, 12477952469, + 12478083557, 12478214653, 12478345727, 12478476859, 12478607957, 12478739057, 12478870147, + 12479001247, 12479132327, 12479263399, 12479394481, 12479525567, 12479656643, 12479787721, + 12479918821, 12480049943, 12480181061, 12480312133, 12480443279, 12480574399, 12480705481, + 12480836573, 12480967649, 12481098769, 12481229843, 12481360919, 12481492007, 12481623101, + 12481754191, 12481885267, 12482016377, 12482147453, 12482278531, 12482409707, 12482540809, + 12482671891, 12482802971, 12482934091, 12483065207, 12483196279, 12483327391, 12483458467, + 12483589553, 12483720671, 12483851797, 12483982871, 12484113947, 12484245019, 12484376101, + 12484507177, 12484638311, 12484769443, 12484900517, 12485031607, 12485162699, 12485293781, + 12485424863, 12485555947, 12485687021, 12485818097, 12485949187, 12486080279, 12486211363, + 12486342443, 12486473521, 12486604621, 12486735727, 12486866827, 12486997909, 12487128989, + 12487260083, 12487391159, 12487522241, 12487653323, 12487784399, 12487915493, 12488046569, + 12488177641, 12488308717, 12488439793, 12488570879, 12488701963, 12488833051, 12488964139, + 12489095221, 12489226361, 12489357473, 12489488563, 12489619651, 12489750727, 12489881809, + 12490012903, 12490143977, 12490275073, 12490406147, 12490537237, 12490668353, 12490799441, + 12490930531, 12491061617, 12491192699, 12491323777, 12491454907, 12491585983, 12491717083, + 12491848169, 12491979251, 12492110333, 12492241441, 12492372523, 12492503633, 12492634747, + 12492765821, 12492896917, 12493028057, 12493159141, 12493290217, 12493421309, 12493552411, + 12493683493, 12493814569, 12493945687, 12494076797, 12494207879, 12494338951, 12494470033, + 12494601127, 12494732207, 12494863291, 12494994389, 12495125479, 12495256567, 12495387649, + 12495518731, 12495649807, 12495780907, 12495912007, 12496043081, 12496174157, 12496305319, + 12496436411, 12496567487, 12496698559, 12496829633, 12496960727, 12497091821, 12497222911, + 12497353993, 12497485067, 12497616203, 12497747333, 12497878409, 12498009481, 12498140573, + 12498271651, 12498402733, 12498533833, 12498664921, 12498795997, 12498927071, 12499058161, + 12499189301, 12499320377, 12499451449, 12499582531, 12499713613, 12499844689, 12499975903, + 12500106977, 12500238059, 12500369179, 12500500261, 12500631347, 12500762423, 12500893511, + 12501024587, 12501155663, 12501286741, 12501417829, 12501548947, 12501680039, 12501811123, + 12501942197, 12502073279, 12502204381, 12502335463, 12502466549, 12502597643, 12502728757, + 12502859851, 12502990943, 12503122019, 12503253101, 12503384221, 12503515309, 12503646391, + 12503777467, 12503908541, 12504039643, 12504170719, 12504301807, 12504432881, 12504563963, + 12504695069, 12504826141, 12504957221, 12505088363, 12505219459, 12505350551, 12505481663, + 12505612747, 12505743841, 12505874929, 12506006011, 12506137099, 12506268197, 12506399303, + 12506530427, 12506661511, 12506792587, 12506923661, 12507054757, 12507185851, 12507316981, + 12507448067, 12507579143, 12507710221, 12507841337, 12507972409, 12508103539, 12508234621, + 12508365721, 12508496813, 12508627907, 12508758991, 12508890089, 12509021171, 12509152247, + 12509283329, 12509414417, 12509545511, 12509676587, 12509807659, 12509938757, 12510069829, + 12510200933, 12510332027, 12510463109, 12510594181, 12510725287, 12510856363, 12510987539, + 12511118623, 12511249703, 12511380781, 12511511863, 12511642987, 12511774063, 12511905143, + 12512036219, 12512167307, 12512298431, 12512429507, 12512560591, 12512691671, 12512822743, + 12512953829, 12513084901, 12513216071, 12513347167, 12513478273, 12513609377, 12513740453, + 12513871529, 12514002647, 12514133729, 12514264831, 12514395911, 12514527001, 12514658081, + 12514789171, 12514920349, 12515051441, 12515182517, 12515313607, 12515444701, 12515575801, + 12515706877, 12515837959, 12515969033, 12516100117, 12516231193, 12516362273, 12516493393, + 12516624467, 12516755557, 12516886651, 12517017757, 12517148843, 12517279937, 12517411013, + 12517542091, 12517673191, 12517804279, 12517935383, 12518066461, 12518197543, 12518328623, + 12518459717, 12518590801, 12518721877, 12518852963, 12518984053, 12519115127, 12519246239, + 12519377317, 12519508447, 12519639533, 12519770621, 12519901727, 12520032803, 12520163899, + 12520294979, 12520426063, 12520557143, 12520688231, 12520819331, 12520950433, 12521081543, + 12521212619, 12521343721, 12521474809, 12521605903, 12521736977, 12521868071, 12521999173, + 12522130259, 12522261373, 12522392483, 12522523567, 12522654647, 12522785789, 12522916921, + 12523048001, 12523179169, 12523310243, 12523441331, 12523572409, 12523703513, 12523834607, + 12523965697, 12524096771, 12524227889, 12524358971, 12524490089, 12524621177, 12524752297, + 12524883389, 12525014483, 12525145583, 12525276689, 12525407767, 12525538859, 12525669943, + 12525801047, 12525932173, 12526063261, 12526194347, 12526325443, 12526456531, 12526587637, + 12526718723, 12526849813, 12526980899, 12527111983, 12527243107, 12527374187, 12527505259, + 12527636333, 12527767513, 12527898599, 12528029687, 12528160759, 12528291833, 12528422923, + 12528554009, 12528685121, 12528816193, 12528947293, 12529078409, 12529209481, 12529340567, + 12529471673, 12529602749, 12529733849, 12529864927, 12529996001, 12530127079, 12530258189, + 12530389271, 12530520371, 12530651477, 12530782577, 12530913743, 12531044839, 12531175913, + 12531307003, 12531438077, 12531569173, 12531700267, 12531831341, 12531962447, 12532093523, + 12532224637, 12532355861, 12532486937, 12532618073, 12532749149, 12532880221, 12533011319, + 12533142397, 12533273491, 12533404579, 12533535667, 12533666741, 12533797817, 12533928893, + 12534059977, 12534191051, 12534322127, 12534453223, 12534584317, 12534715399, 12534846473, + 12534977551, 12535108667, 12535239781, 12535370891, 12535501969, 12535633051, 12535764127, + 12535895209, 12536026291, 12536157367, 12536288473, 12536419547, 12536550643, 12536681747, + 12536812831, 12536943929, 12537075013, 12537206117, 12537337193, 12537468299, 12537599381, + 12537730453, 12537861571, 12537992657, 12538123751, 12538254829, 12538385927, 12538517003, + 12538648079, 12538779173, 12538910273, 12539041391, 12539172467, 12539303597, 12539434697, + 12539565769, 12539696849, 12539827939, 12539959013, 12540090091, 12540221167, 12540352249, + 12540483349, 12540614431, 12540745523, 12540876631, 12541007737, 12541138823, 12541269899, + 12541401053, 12541532131, 12541663229, 12541794301, 12541925447, 12542056523, 12542187611, + 12542318683, 12542449757, 12542580847, 12542711947, 12542843021, 12542974109, 12543105181, + 12543236261, 12543367387, 12543498493, 12543629573, 12543760679, 12543891803, 12544022879, + 12544153967, 12544285049, 12544416121, 12544547207, 12544678309, 12544809397, 12544940479, + 12545071577, 12545202697, 12545333803, 12545464949, 12545596043, 12545727127, 12545858209, + 12545989301, 12546120403, 12546251479, 12546382559, 12546513643, 12546644753, 12546775841, + 12546906973, 12547038103, 12547169177, 12547300273, 12547431353, 12547562429, 12547693507, + 12547824581, 12547955677, 12548086751, 12548217839, 12548348921, 12548479997, 12548611079, + 12548742161, 12548873251, 12549004327, 12549135413, 12549266491, 12549397577, 12549528661, + 12549659761, 12549790889, 12549922003, 12550053077, 12550184161, 12550315273, 12550446347, + 12550577419, 12550708493, 12550839641, 12550970723, 12551101811, 12551232887, 12551363963, + 12551495041, 12551626117, 12551757193, 12551888309, 12552019397, 12552150473, 12552281557, + 12552412637, 12552543709, 12552674801, 12552805873, 12552936973, 12553068091, 12553199171, + 12553330249, 12553461331, 12553592411, 12553723487, 12553854569, 12553985657, 12554116781, + 12554247869, 12554378957, 12554510063, 12554641139, 12554772233, 12554903351, 12555034439, + 12555165521, 12555296599, 12555427691, 12555558767, 12555689849, 12555820961, 12555952037, + 12556083121, 12556214221, 12556345303, 12556476389, 12556607477, 12556738567, 12556869659, + 12557000737, 12557131813, 12557262899, 12557394043, 12557525143, 12557656247, 12557787349, + 12557918441, 12558049529, 12558180637, 12558311737, 12558442843, 12558573971, 12558705043, + 12558836117, 12558967189, 12559098269, 12559229341, 12559360459, 12559491547, 12559622623, + 12559753699, 12559884829, 12560015917, 12560146997, 12560278099, 12560409179, 12560540269, + 12560671349, 12560802431, 12560933513, 12561064627, 12561195709, 12561326839, 12561457919, + 12561589009, 12561720091, 12561851177, 12561982253, 12562113373, 12562244501, 12562375621, + 12562506703, 12562637783, 12562768909, 12562899983, 12563031067, 12563162167, 12563293277, + 12563424361, 12563555437, 12563686529, 12563817601, 12563948687, 12564079769, 12564210877, + 12564341981, 12564473057, 12564604139, 12564735223, 12564866329, 12564997409, 12565128481, + 12565259563, 12565390637, 12565521719, 12565652893, 12565783973, 12565915111, 12566046191, + 12566177279, 12566308351, 12566439437, 12566570519, 12566701607, 12566832683, 12566963777, + 12567094849, 12567225929, 12567357001, 12567488081, 12567619187, 12567750281, 12567881377, + 12568012493, 12568143671, 12568274773, 12568405921, 12568537001, 12568668103, 12568799183, + 12568930259, 12569061331, 12569192423, 12569323531, 12569454607, 12569585683, 12569716759, + 12569847877, 12569978963, 12570110057, 12570241153, 12570372233, 12570503327, 12570634421, + 12570765497, 12570896593, 12571027669, 12571158751, 12571289851, 12571420931, 12571552033, + 12571683109, 12571814219, 12571945297, 12572076373, 12572207471, 12572338543, 12572469617, + 12572600701, 12572731807, 12572862881, 12572993959, 12573125041, 12573256127, 12573387259, + 12573518341, 12573649433, 12573780529, 12573911627, 12574042727, 12574173809, 12574304891, + 12574435963, 12574567051, 12574698133, 12574829219, 12574960297, 12575091391, 12575222467, + 12575353561, 12575484637, 12575615737, 12575746811, 12575877893, 12576008987, 12576140063, + 12576271193, 12576402283, 12576533393, 12576664511, 12576795601, 12576926701, 12577057783, + 12577188913, 12577320071, 12577451143, 12577582249, 12577713331, 12577844443, 12577975519, + 12578106613, 12578237687, 12578368813, 12578499917, 12578631017, 12578762129, 12578893213, + 12579024299, 12579155383, 12579286469, 12579417541, 12579548759, 12579679831, 12579810911, + 12579941999, 12580073101, 12580204181, 12580335259, 12580466347, 12580597427, 12580728499, + 12580859579, 12580990663, 12581121743, 12581252833, 12581383931, 12581515031, 12581646109, + 12581777183, 12581908271, 12582039361, 12582170437, 12582301517, 12582432661, 12582563737, + 12582694879, 12582825953, 12582957061, 12583088153, 12583219237, 12583350319, 12583481411, + 12583612513, 12583743589, 12583874663, 12584005781, 12584136857, 12584267989, 12584399063, + 12584530157, 12584661241, 12584792323, 12584923411, 12585054553, 12585185647, 12585316763, + 12585447899, 12585579023, 12585710117, 12585841207, 12585972299, 12586103377, 12586234471, + 12586365559, 12586496639, 12586627727, 12586758817, 12586889921, 12587020997, 12587152079, + 12587283173, 12587414303, 12587545379, 12587676457, 12587807537, 12587938619, 12588069719, + 12588200857, 12588331933, 12588463031, 12588594103, 12588725197, 12588856279, 12588987361, + 12589118501, 12589249597, 12589380673, 12589511801, 12589642873, 12589773949, 12589905037, + 12590036111, 12590167223, 12590298341, 12590429413, 12590560487, 12590691559, 12590822641, + 12590953721, 12591084823, 12591215909, 12591347011, 12591478147, 12591609241, 12591740327, + 12591871399, 12592002497, 12592133573, 12592264669, 12592395773, 12592526851, 12592657951, + 12592789051, 12592920157, 12593051239, 12593182313, 12593313407, 12593444491, 12593575601, + 12593706679, 12593837791, 12593968867, 12594099943, 12594231029, 12594362101, 12594493193, + 12594624269, 12594755351, 12594886483, 12595017571, 12595148653, 12595279729, 12595410827, + 12595541923, 12595673009, 12595804087, 12595935167, 12596066243, 12596197363, 12596328461, + 12596459563, 12596590663, 12596721737, 12596852861, 12596983933, 12597115021, 12597246127, + 12597377237, 12597508309, 12597639401, 12597770489, 12597901609, 12598032739, 12598163821, + 12598294897, 12598425979, 12598557061, 12598688147, 12598819253, 12598950347, 12599081419, + 12599212501, 12599343587, 12599474711, 12599605787, 12599736859, 12599867947, 12599999039, + 12600130129, 12600261203, 12600392293, 12600523367, 12600654463, 12600785551, 12600916693, + 12601047821, 12601178927, 12601310021, 12601441103, 12601572209, 12601703287, 12601834373, + 12601965461, 12602096561, 12602227633, 12602358707, 12602489813, 12602620909, 12602752021, + 12602883109, 12603014191, 12603145277, 12603276359, 12603407431, 12603538513, 12603669599, + 12603800681, 12603931771, 12604062881, 12604193971, 12604325057, 12604456177, 12604587269, + 12604718383, 12604849549, 12604980631, 12605111707, 12605242787, 12605373881, 12605504953, + 12605636047, 12605767123, 12605898199, 12606029321, 12606160393, 12606291479, 12606422557, + 12606553633, 12606684709, 12606815791, 12606946871, 12607077943, 12607209037, 12607340117, + 12607471231, 12607602307, 12607733381, 12607864457, 12607995581, 12608126659, 12608257769, + 12608388857, 12608519939, 12608651023, 12608782103, 12608913179, 12609044257, 12609175331, + 12609306427, 12609437501, 12609568597, 12609699671, 12609830771, 12609961843, 12610092923, + 12610224001, 12610355077, 12610486183, 12610617269, 12610748399, 12610879471, 12611010553, + 12611141633, 12611272711, 12611403793, 12611534879, 12611665987, 12611797073, 12611928149, + 12612059233, 12612190307, 12612321389, 12612452483, 12612583561, 12612714637, 12612845711, + 12612976793, 12613107869, 12613238947, 12613370027, 12613501133, 12613632221, 12613763299, + 12613894399, 12614025491, 12614156573, 12614287687, 12614418781, 12614549903, 12614680979, + 12614812061, 12614943137, 12615074209, 12615205319, 12615336403, 12615467477, 12615598591, + 12615729667, 12615860779, 12615991853, 12616123007, 12616254089, 12616385191, 12616516273, + 12616647367, 12616778441, 12616909523, 12617040599, 12617171683, 12617302781, 12617433877, + 12617564957, 12617696029, 12617827109, 12617958181, 12618089273, 12618220379, 12618351491, + 12618482563, 12618613691, 12618744769, 12618875861, 12619006943, 12619138019, 12619269109, + 12619400207, 12619531291, 12619662389, 12619793471, 12619924543, 12620055619, 12620186729, + 12620317849, 12620448949, 12620580029, 12620711101, 12620842183, 12620973289, 12621104401, + 12621235519, 12621366613, 12621497689, 12621628763, 12621759881, 12621890971, 12622022053, + 12622153133, 12622284217, 12622415291, 12622546369, 12622677451, 12622808531, 12622939621, + 12623070737, 12623201821, 12623332901, 12623463989, 12623595071, 12623726173, 12623857261, + 12623988337, 12624119461, 12624250549, 12624381643, 12624512723, 12624643861, 12624774937, + 12624906059, 12625037143, 12625168217, 12625299317, 12625430399, 12625561483, 12625692571, + 12625823647, 12625954729, 12626085839, 12626216963, 12626348051, 12626479123, 12626610259, + 12626741383, 12626872457, 12627003541, 12627134623, 12627265747, 12627396823, 12627527897, + 12627658969, 12627790061, 12627921143, 12628052263, 12628183357, 12628314449, 12628445537, + 12628576661, 12628707779, 12628838867, 12628969957, 12629101031, 12629232107, 12629363239, + 12629494321, 12629625409, 12629756507, 12629887583, 12630018673, 12630149761, 12630280853, + 12630411971, 12630543053, 12630674141, 12630805219, 12630936347, 12631067441, 12631198513, + 12631329611, 12631460729, 12631591811, 12631722893, 12631854071, 12631985143, 12632116267, + 12632247347, 12632378419, 12632509523, 12632640607, 12632771717, 12632902829, 12633033947, + 12633165047, 12633296177, 12633427249, 12633558331, 12633689423, 12633820513, 12633951613, + 12634082687, 12634213793, 12634344871, 12634475993, 12634607087, 12634738159, 12634869241, + 12635000341, 12635131463, 12635262539, 12635393611, 12635524709, 12635655817, 12635786893, + 12635918011, 12636049091, 12636180163, 12636311239, 12636442361, 12636573461, 12636704569, + 12636835649, 12636966733, 12637097819, 12637228897, 12637359991, 12637491077, 12637622149, + 12637753231, 12637884307, 12638015381, 12638146471, 12638277569, 12638408663, 12638539741, + 12638670817, 12638801893, 12638932973, 12639064073, 12639195187, 12639326261, 12639457351, + 12639588427, 12639719503, 12639850607, 12639981701, 12640112801, 12640243877, 12640374997, + 12640506079, 12640637173, 12640768253, 12640899361, 12641030489, 12641161571, 12641292649, + 12641423731, 12641554843, 12641685977, 12641817053, 12641948171, 12642079259, 12642210349, + 12642341423, 12642472499, 12642603583, 12642734659, 12642865751, 12642996827, 12643127927, + 12643259003, 12643390117, 12643521227, 12643652303, 12643783381, 12643914457, 12644045549, + 12644176621, 12644307703, 12644438809, 12644569909, 12644701009, 12644832197, 12644963291, + 12645094379, 12645225493, 12645356573, 12645487649, 12645618737, 12645749821, 12645880909, + 12646012013, 12646143127, 12646274213, 12646405397, 12646536479, 12646667573, 12646798649, + 12646929751, 12647060831, 12647191903, 12647322979, 12647454073, 12647585147, 12647716223, + 12647847301, 12647978407, 12648109493, 12648240589, 12648371693, 12648502781, 12648633863, + 12648764959, 12648896033, 12649027141, 12649158241, 12649289327, 12649420417, 12649551493, + 12649682567, 12649813651, 12649944803, 12650075927, 12650206999, 12650338093, 12650469217, + 12650600341, 12650731447, 12650862527, 12650993617, 12651124699, 12651255781, 12651386863, + 12651517981, 12651649117, 12651780277, 12651911381, 12652042463, 12652173539, 12652304633, + 12652435709, 12652566781, 12652697857, 12652828933, 12652960007, 12653091079, 12653222161, + 12653353319, 12653484391, 12653615479, 12653746571, 12653877647, 12654008737, 12654139811, + 12654270907, 12654401989, 12654533063, 12654664157, 12654795269, 12654926341, 12655057421, + 12655188503, 12655319587, 12655450663, 12655581767, 12655712857, 12655843973, 12655975081, + 12656106157, 12656237261, 12656368363, 12656499437, 12656630513, 12656761589, 12656892679, + 12657023761, 12657154841, 12657285947, 12657417023, 12657548119, 12657679201, 12657810331, + 12657941411, 12658072487, 12658203581, 12658334669, 12658465811, 12658596883, 12658727959, + 12658859033, 12658990159, 12659121253, 12659252327, 12659383411, 12659514487, 12659645591, + 12659776663, 12659907833, 12660039037, 12660170111, 12660301201, 12660432277, 12660563351, + 12660694457, 12660825533, 12660956611, 12661087687, 12661218763, 12661349837, 12661480913, + 12661612021, 12661743109, 12661874243, 12662005351, 12662136439, 12662267521, 12662398607, + 12662529683, 12662660807, 12662791891, 12662922973, 12663054067, 12663185147, 12663316219, + 12663447299, 12663578377, 12663709459, 12663840587, 12663971659, 12664102741, 12664233821, + 12664364917, 12664496021, 12664627121, 12664758193, 12664889273, 12665020367, 12665151449, + 12665282551, 12665413637, 12665544743, 12665675819, 12665806903, 12665938001, 12666069089, + 12666200161, 12666331243, 12666462317, 12666593441, 12666724529, 12666855623, 12666986699, + 12667117783, 12667248887, 12667379999, 12667511081, 12667642199, 12667773289, 12667904369, + 12668035451, 12668166547, 12668297641, 12668428723, 12668559823, 12668690941, 12668822029, + 12668953181, 12669084257, 12669215357, 12669346447, 12669477529, 12669608603, 12669739741, + 12669870821, 12670001959, 12670133041, 12670264121, 12670395193, 12670526287, 12670657369, + 12670788443, 12670919539, 12671050699, 12671181773, 12671312869, 12671443951, 12671575031, + 12671706121, 12671837197, 12671968279, 12672099361, 12672230509, 12672361601, 12672492683, + 12672623767, 12672754841, 12672885923, 12673017017, 12673148113, 12673279193, 12673410283, + 12673541369, 12673672447, 12673803539, 12673934617, 12674065693, 12674196793, 12674327947, + 12674459047, 12674590127, 12674721203, 12674852303, 12674983411, 12675114497, 12675245623, + 12675376717, 12675507797, 12675638873, 12675769957, 12675901057, 12676032151, 12676163257, + 12676294331, 12676425407, 12676556533, 12676687609, 12676818703, 12676949783, 12677080907, + 12677212027, 12677343121, 12677474197, 12677605271, 12677736389, 12677867471, 12677998547, + 12678129641, 12678260717, 12678391871, 12678522943, 12678654031, 12678785111, 12678916189, + 12679047281, 12679178387, 12679309493, 12679440569, 12679571647, 12679702727, 12679833833, + 12679964909, 12680095997, 12680227099, 12680358227, 12680489321, 12680620423, 12680751547, + 12680882639, 12681013721, 12681144793, 12681275869, 12681406951, 12681538031, 12681669107, + 12681800203, 12681931289, 12682062403, 12682193479, 12682324667, 12682455809, 12682586881, + 12682717969, 12682849061, 12682980157, 12683111263, 12683242361, 12683373433, 12683504531, + 12683635697, 12683766773, 12683897857, 12684028997, 12684160103, 12684291181, 12684422263, + 12684553367, 12684684469, 12684815621, 12684946693, 12685077841, 12685208917, 12685339991, + 12685471069, 12685602161, 12685733239, 12685864327, 12685995401, 12686126477, 12686257579, + 12686388679, 12686519761, 12686650849, 12686781923, 12686913047, 12687044129, 12687175201, + 12687306277, 12687437351, 12687568423, 12687699509, 12687830633, 12687961717, 12688092869, + 12688223969, 12688355051, 12688486169, 12688617247, 12688748333, 12688879409, 12689010487, + 12689141567, 12689272657, 12689403757, 12689534833, 12689665909, 12689796983, 12689928059, + 12690059159, 12690190237, 12690321317, 12690452429, 12690583511, 12690714583, 12690845659, + 12690976733, 12691107823, 12691238897, 12691369973, 12691501051, 12691632143, 12691763233, + 12691894307, 12692025407, 12692156489, 12692287583, 12692418689, 12692549801, 12692680877, + 12692811953, 12692943031, 12693074113, 12693205207, 12693336319, 12693467399, 12693598529, + 12693729641, 12693860779, 12693991873, 12694122949, 12694254029, 12694385219, 12694516319, + 12694647391, 12694778479, 12694909559, 12695040641, 12695171717, 12695302813, 12695433899, + 12695564993, 12695696093, 12695827181, 12695958281, 12696089353, 12696220477, 12696351557, + 12696482641, 12696613729, 12696744821, 12696875929, 12697007017, 12697138099, 12697269173, + 12697400251, 12697531333, 12697662493, 12697793593, 12697924697, 12698055779, 12698186857, + 12698317949, 12698449051, 12698580143, 12698711239, 12698842319, 12698973407, 12699104479, + 12699235553, 12699366629, 12699497717, 12699628793, 12699759869, 12699890969, 12700022059, + 12700153183, 12700284277, 12700415381, 12700546459, 12700677551, 12700808669, 12700939777, + 12701070881, 12701201969, 12701333059, 12701464189, 12701595289, 12701726371, 12701857457, + 12701988601, 12702119681, 12702250793, 12702381869, 12702512941, 12702644039, 12702775121, + 12702906197, 12703037317, 12703168391, 12703299491, 12703430563, 12703561699, 12703692773, + 12703823849, 12703954961, 12704086051, 12704217143, 12704348243, 12704479339, 12704610419, + 12704741507, 12704872601, 12705003677, 12705134791, 12705265871, 12705396983, 12705528091, + 12705659171, 12705790267, 12705921401, 12706052483, 12706183573, 12706314659, 12706445747, + 12706576829, 12706707901, 12706839011, 12706970113, 12707101193, 12707232311, 12707363387, + 12707494483, 12707625629, 12707756701, 12707887793, 12708018893, 12708149969, 12708281041, + 12708412121, 12708543203, 12708674371, 12708805511, 12708936589, 12709067671, 12709198753, + 12709329827, 12709460971, 12709592053, 12709723153, 12709854247, 12709985371, 12710116459, + 12710247533, 12710378617, 12710509699, 12710640781, 12710771863, 12710902961, 12711034069, + 12711165163, 12711296261, 12711427343, 12711558473, 12711689603, 12711820721, 12711951797, + 12712082869, 12712213961, 12712345081, 12712476191, 12712607263, 12712738361, 12712869439, + 12713000539, 12713131631, 12713262733, 12713393821, 12713524921, 12713656003, 12713787101, + 12713918209, 12714049331, 12714180403, 12714311501, 12714442589, 12714573671, 12714704749, + 12714835841, 12714966949, 12715098023, 12715229123, 12715360199, 12715491301, 12715622393, + 12715753537, 12715884617, 12716015701, 12716146787, 12716277883, 12716409059, 12716540171, + 12716671243, 12716802317, 12716933401, 12717064517, 12717195677, 12717326759, 12717457843, + 12717588971, 12717720049, 12717851137, 12717982231, 12718113307, 12718244423, 12718375507, + 12718506583, 12718637683, 12718768763, 12718899871, 12719030953, 12719162041, 12719293117, + 12719424233, 12719555327, 12719686453, 12719817527, 12719948603, 12720079709, 12720210791, + 12720341917, 12720472991, 12720604067, 12720735169, 12720866299, 12720997397, 12721128491, + 12721259581, 12721390679, 12721521793, 12721652893, 12721783973, 12721915069, 12722046149, + 12722177233, 12722308307, 12722439407, 12722570479, 12722701561, 12722832653, 12722963753, + 12723094837, 12723225917, 12723357007, 12723488093, 12723619193, 12723750313, 12723881441, + 12724012517, 12724143643, 12724274741, 12724405819, 12724536893, 12724667971, 12724799069, + 12724930157, 12725061263, 12725192341, 12725323417, 12725454491, 12725585563, 12725716637, + 12725847751, 12725978827, 12726109901, 12726240991, 12726372077, 12726503171, 12726634243, + 12726765319, 12726896417, 12727027499, 12727158589, 12727289681, 12727420759, 12727551833, + 12727682923, 12727814051, 12727945163, 12728076253, 12728207341, 12728338429, 12728469503, + 12728600609, 12728731739, 12728862821, 12728993939, 12729125027, 12729256103, 12729387199, + 12729518279, 12729649357, 12729780439, 12729911533, 12730042607, 12730173697, 12730304773, + 12730435849, 12730566923, 12730698119, 12730829191, 12730960267, 12731091349, 12731222423, + 12731353511, 12731484589, 12731615719, 12731746823, 12731877931, 12732009029, 12732140117, + 12732271199, 12732402283, 12732533357, 12732664429, 12732795563, 12732926653, 12733057741, + 12733188829, 12733319959, 12733451033, 12733582109, 12733713191, 12733844267, 12733975343, + 12734106419, 12734237533, 12734368607, 12734499683, 12734630803, 12734761903, 12734892979, + 12735024061, 12735155143, 12735286241, 12735417323, 12735548401, 12735679487, 12735810629, + 12735941707, 12736072787, 12736203859, 12736334981, 12736466069, 12736597141, 12736728227, + 12736859347, 12736990451, 12737121571, 12737252653, 12737383733, 12737514817, 12737645941, + 12737777029, 12737908201, 12738039313, 12738170407, 12738301489, 12738432587, 12738563683, + 12738694757, 12738825851, 12738956927, 12739088009, 12739219099, 12739350187, 12739481269, + 12739612343, 12739743427, 12739874503, 12740005583, 12740136679, 12740267767, 12740398841, + 12740529959, 12740661053, 12740792191, 12740923291, 12741054373, 12741185533, 12741316667, + 12741447739, 12741578813, 12741709919, 12741841081, 12741972161, 12742103243, 12742234331, + 12742365403, 12742496519, 12742627607, 12742758719, 12742889821, 12743020897, 12743152003, + 12743283083, 12743414191, 12743545277, 12743676349, 12743807423, 12743938511, 12744069587, + 12744200669, 12744331753, 12744462833, 12744593941, 12744725023, 12744856133, 12744987259, + 12745118341, 12745249421, 12745380493, 12745511567, 12745642667, 12745773751, 12745904837, + 12746035921, 12746167103, 12746298211, 12746429341, 12746560447, 12746691539, 12746822659, + 12746953781, 12747084853, 12747215947, 12747347027, 12747478103, 12747609209, 12747740321, + 12747871399, 12748002479, 12748133551, 12748264651, 12748395739, 12748526837, 12748657913, + 12748788989, 12748920071, 12749051191, 12749182291, 12749313377, 12749444459, 12749575549, + 12749706647, 12749837719, 12749968807, 12750099883, 12750230971, 12750362047, 12750493121, + 12750624193, 12750755267, 12750886367, 12751017443, 12751148519, 12751279643, 12751410719, + 12751541797, 12751672873, 12751803947, 12751935023, 12752066149, 12752197229, 12752328301, + 12752459443, 12752590519, 12752721599, 12752852683, 12752983777, 12753114863, 12753245959, + 12753377041, 12753508121, 12753639257, 12753770353, 12753901451, 12754032547, 12754163621, + 12754294703, 12754425791, 12754556909, 12754687997, 12754819097, 12754950191, 12755081267, + 12755212343, 12755343431, 12755474507, 12755605609, 12755736709, 12755867843, 12755998933, + 12756130021, 12756261139, 12756392237, 12756523309, 12756654431, 12756785537, 12756916621, + 12757047731, 12757178809, 12757309889, 12757441001, 12757572077, 12757703207, 12757834339, + 12757965433, 12758096521, 12758227633, 12758358707, 12758489791, 12758620873, 12758751961, + 12758883043, 12759014117, 12759145211, 12759276287, 12759407369, 12759538453, 12759669529, + 12759800623, 12759931699, 12760062781, 12760193893, 12760324987, 12760456061, 12760587139, + 12760718237, 12760849313, 12760980391, 12761111477, 12761242561, 12761373661, 12761504737, + 12761635823, 12761766923, 12761898043, 12762029177, 12762160267, 12762291361, 12762422437, + 12762553519, 12762684619, 12762815693, 12762946783, 12763077871, 12763208947, 12763340039, + 12763471153, 12763602233, 12763733371, 12763864493, 12763995577, 12764126653, 12764257739, + 12764388823, 12764519897, 12764650973, 12764782057, 12764913157, 12765044287, 12765175363, + 12765306451, 12765437653, 12765568831, 12765699907, 12765830999, 12765962071, 12766093163, + 12766224257, 12766355333, 12766486409, 12766617497, 12766748611, 12766879693, 12767010827, + 12767141951, 12767273047, 12767404171, 12767535283, 12767666357, 12767797429, 12767928529, + 12768059611, 12768190723, 12768321799, 12768452897, 12768583999, 12768715073, 12768846151, + 12768977233, 12769108309, 12769239391, 12769370539, 12769501621, 12769632697, 12769763801, + 12769894873, 12770025953, 12770157067, 12770288159, 12770419253, 12770550329, 12770681419, + 12770812507, 12770943607, 12771074731, 12771205823, 12771336901, 12771467987, 12771599063, + 12771730141, 12771861229, 12771992309, 12772123381, 12772254457, 12772385531, 12772516633, + 12772647763, 12772778869, 12772909951, 12773041027, 12773172101, 12773303189, 12773434319, + 12773565391, 12773696479, 12773827559, 12773958649, 12774089743, 12774220843, 12774351917, + 12774483011, 12774614087, 12774745187, 12774876259, 12775007339, 12775138421, 12775269541, + 12775400621, 12775531697, 12775662793, 12775793903, 12775925053, 12776056127, 12776187247, + 12776318449, 12776449529, 12776580613, 12776711687, 12776842783, 12776973889, 12777104981, + 12777236077, 12777367151, 12777498301, 12777629399, 12777760483, 12777891559, 12778022689, + 12778153777, 12778284859, 12778415981, 12778547053, 12778678127, 12778809221, 12778940297, + 12779071369, 12779202463, 12779333543, 12779464639, 12779595733, 12779726809, 12779857889, + 12779988971, 12780120097, 12780251179, 12780382253, 12780513341, 12780644447, 12780775531, + 12780906613, 12781037701, 12781168783, 12781299857, 12781430939, 12781562069, 12781693157, + 12781824271, 12781955383, 12782086469, 12782217557, 12782348659, 12782479733, 12782610809, + 12782741899, 12782872979, 12783004057, 12783135149, 12783266231, 12783397307, 12783528389, + 12783659467, 12783790541, 12783921637, 12784052737, 12784183823, 12784314911, 12784446013, + 12784577129, 12784708231, 12784839313, 12784970423, 12785101507, 12785232587, 12785363687, + 12785494769, 12785625841, 12785756917, 12785888029, 12786019123, 12786150197, 12786281293, + 12786412391, 12786543467, 12786674561, 12786805651, 12786936727, 12787067819, 12787198891, + 12787329967, 12787461053, 12787592171, 12787723253, 12787854397, 12787985471, 12788116543, + 12788247617, 12788378689, 12788509807, 12788640899, 12788771971, 12788903047, 12789034129, + 12789165211, 12789296291, 12789427381, 12789558469, 12789689551, 12789820669, 12789951791, + 12790082887, 12790213973, 12790345079, 12790476151, 12790607231, 12790738319, 12790869431, + 12791000539, 12791131637, 12791262763, 12791393837, 12791524939, 12791656067, 12791787143, + 12791918219, 12792049397, 12792180469, 12792311549, 12792442633, 12792573737, 12792704819, + 12792835897, 12792966971, 12793098049, 12793229143, 12793360249, 12793491323, 12793622453, + 12793753541, 12793884613, 12794015701, 12794146777, 12794277889, 12794408971, 12794540047, + 12794671159, 12794802281, 12794933353, 12795064553, 12795195641, 12795326759, 12795457867, + 12795588941, 12795720017, 12795851099, 12795982181, 12796113277, 12796244453, 12796375577, + 12796506649, 12796637741, 12796768813, 12796899937, 12797031041, 12797162141, 12797293213, + 12797424337, 12797555413, 12797686487, 12797817581, 12797948701, 12798079781, 12798210871, + 12798341987, 12798473059, 12798604187, 12798735307, 12798866383, 12798997517, 12799128599, + 12799259677, 12799390753, 12799521841, 12799652923, 12799784083, 12799915157, 12800046229, + 12800177311, 12800308403, 12800439499, 12800570609, 12800701733, 12800832809, 12800963897, + 12801094997, 12801226099, 12801357193, 12801488339, 12801619451, 12801750523, 12801881629, + 12802012759, 12802143841, 12802274939, 12802406021, 12802537109, 12802668209, 12802799287, + 12802930421, 12803061503, 12803192653, 12803323751, 12803454841, 12803585933, 12803717011, + 12803848103, 12803979187, 12804110329, 12804241403, 12804372509, 12804503599, 12804634673, + 12804765761, 12804896849, 12805027957, 12805159043, 12805290119, 12805421191, 12805552267, + 12805683349, 12805814449, 12805945547, 12806076631, 12806207717, 12806338801, 12806469881, + 12806600959, 12806732033, 12806863133, 12806994227, 12807125327, 12807256471, 12807387547, + 12807518627, 12807649733, 12807780857, 12807911939, 12808043011, 12808174097, 12808305173, + 12808436257, 12808567333, 12808698457, 12808829549, 12808960667, 12809091767, 12809222843, + 12809353939, 12809485027, 12809616103, 12809747201, 12809878273, 12810009383, 12810140459, + 12810271531, 12810402611, 12810533683, 12810664831, 12810795919, 12810926993, 12811058089, + 12811189163, 12811320253, 12811451327, 12811582423, 12811713521, 12811844597, 12811975679, + 12812106751, 12812237827, 12812368901, 12812499979, 12812631053, 12812762161, 12812893253, + 12813024331, 12813155417, 12813286531, 12813417607, 12813548687, 12813679763, 12813810851, + 12813941927, 12814073003, 12814204079, 12814335151, 12814466233, 12814597309, 12814728397, + 12814859479, 12814990567, 12815121647, 12815252729, 12815383807, 12815515001, 12815646089, + 12815777207, 12815908279, 12816039377, 12816170489, 12816301577, 12816432649, 12816563741, + 12816694819, 12816825893, 12816957001, 12817088107, 12817219187, 12817350263, 12817481357, + 12817612453, 12817743551, 12817874627, 12818005741, 12818136817, 12818267897, 12818398969, + 12818530073, 12818661151, 12818792243, 12818923343, 12819054419, 12819185543, 12819316637, + 12819447727, 12819578801, 12819709879, 12819840977, 12819972059, 12820103221, 12820234307, + 12820365413, 12820496527, 12820627601, 12820758689, 12820889777, 12821020871, 12821151983, + 12821283103, 12821414219, 12821545307, 12821676409, 12821807491, 12821938573, 12822069677, + 12822200759, 12822331843, 12822462937, 12822594017, 12822725093, 12822856181, 12822987263, + 12823118369, 12823249463, 12823380587, 12823511663, 12823642757, 12823773839, 12823904923, + 12824035999, 12824167099, 12824298173, 12824429251, 12824560337, 12824691419, 12824822497, + 12824953573, 12825084673, 12825215789, 12825346861, 12825477941, 12825609029, 12825740149, + 12825871229, 12826002311, 12826133387, 12826264471, 12826395557, 12826526689, 12826657801, + 12826788883, 12826919983, 12827051119, 12827182213, 12827313293, 12827444411, 12827575489, + 12827706587, 12827837683, 12827968759, 12828099847, 12828230927, 12828362017, 12828493109, + 12828624253, 12828755341, 12828886423, 12829017497, 12829148569, 12829279657, 12829410733, + 12829541807, 12829672883, 12829803971, 12829935047, 12830066143, 12830197223, 12830328319, + 12830459393, 12830590501, 12830721587, 12830852659, 12830983741, 12831114823, 12831245923, + 12831377003, 12831508103, 12831639239, 12831770381, 12831901477, 12832032571, 12832163647, + 12832294733, 12832425833, 12832556917, 12832687993, 12832819073, 12832950173, 12833081263, + 12833212367, 12833343449, 12833474543, 12833605621, 12833736701, 12833867791, 12833998871, + 12834129947, 12834261023, 12834392149, 12834523277, 12834654367, 12834785471, 12834916543, + 12835047661, 12835178749, 12835309849, 12835440953, 12835572077, 12835703159, 12835834259, + 12835965341, 12836096489, 12836227637, 12836358727, 12836489807, 12836620883, 12836752007, + 12836883091, 12837014231, 12837145303, 12837276407, 12837407521, 12837538601, 12837669709, + 12837800791, 12837931891, 12838062997, 12838194143, 12838325257, 12838456349, 12838587449, + 12838718521, 12838849601, 12838980683, 12839111767, 12839242853, 12839373931, 12839505043, + 12839636123, 12839767211, 12839898283, 12840029359, 12840160439, 12840291551, 12840422689, + 12840553763, 12840684839, 12840815929, 12840947003, 12841078091, 12841209169, 12841340279, + 12841471399, 12841602547, 12841733659, 12841864747, 12841995821, 12842126897, 12842257973, + 12842389081, 12842520157, 12842651273, 12842782357, 12842913437, 12843044527, 12843175613, + 12843306701, 12843437779, 12843568861, 12843699983, 12843831089, 12843962207, 12844093337, + 12844224433, 12844355569, 12844486651, 12844617803, 12844748881, 12844879961, 12845011051, + 12845142133, 12845273269, 12845404349, 12845535433, 12845666539, 12845797633, 12845928761, + 12846059851, 12846190963, 12846322039, 12846453119, 12846584207, 12846715289, 12846846361, + 12846977443, 12847108543, 12847239637, 12847370719, 12847501861, 12847632953, 12847764107, + 12847895189, 12848026273, 12848157403, 12848288483, 12848419559, 12848550653, 12848681731, + 12848812811, 12848943917, 12849074999, 12849206081, 12849337169, 12849468251, 12849599333, + 12849730417, 12849861551, 12849992641, 12850123721, 12850254817, 12850385963, 12850517041, + 12850648121, 12850779239, 12850910333, 12851041417, 12851172527, 12851303617, 12851434691, + 12851565773, 12851696899, 12851827991, 12851959073, 12852090187, 12852221297, 12852352399, + 12852483473, 12852614573, 12852745649, 12852876769, 12853007851, 12853138951, 12853270097, + 12853401179, 12853532269, 12853663357, 12853794433, 12853925527, 12854056639, 12854187739, + 12854318819, 12854449963, 12854581039, 12854712133, 12854843219, 12854974291, 12855105383, + 12855236483, 12855367561, 12855498641, 12855629747, 12855760831, 12855891949, 12856023023, + 12856154123, 12856285213, 12856416301, 12856547399, 12856678477, 12856809571, 12856940669, + 12857071813, 12857202893, 12857334001, 12857465087, 12857596201, 12857727359, 12857858473, + 12857989553, 12858120689, 12858251837, 12858382909, 12858514037, 12858645109, 12858776213, + 12858907289, 12859038373, 12859169447, 12859300537, 12859431623, 12859562707, 12859693807, + 12859824889, 12859955971, 12860087069, 12860218159, 12860349233, 12860480317, 12860611403, + 12860742481, 12860873561, 12861004643, 12861135797, 12861266911, 12861397999, 12861529073, + 12861660157, 12861791231, 12861922321, 12862053427, 12862184521, 12862315603, 12862446677, + 12862577759, 12862708841, 12862839919, 12862971029, 12863102101, 12863233213, 12863364317, + 12863495413, 12863626499, 12863757581, 12863888659, 12864019769, 12864150853, 12864281977, + 12864413053, 12864544153, 12864675269, 12864806351, 12864937427, 12865068499, 12865199579, + 12865330657, 12865461751, 12865592833, 12865723907, 12865854979, 12865986071, 12866117153, + 12866248229, 12866379301, 12866510399, 12866641519, 12866772599, 12866903681, 12867034777, + 12867165901, 12867296989, 12867428087, 12867559169, 12867690247, 12867821321, 12867952403, + 12868083497, 12868214599, 12868345681, 12868476763, 12868607891, 12868738963, 12868870051, + 12869001137, 12869132279, 12869263357, 12869394437, 12869525527, 12869656619, 12869787691, + 12869918771, 12870049847, 12870180923, 12870311999, 12870443083, 12870574169, 12870705257, + 12870836443, 12870967537, 12871098677, 12871229759, 12871360847, 12871491929, 12871623007, + 12871754107, 12871885183, 12872016281, 12872147383, 12872278457, 12872409559, 12872540689, + 12872671783, 12872802871, 12872933977, 12873065071, 12873196181, 12873327281, 12873458357, + 12873589447, 12873720529, 12873851609, 12873982691, 12874113809, 12874244897, 12874375973, + 12874507057, 12874638149, 12874769249, 12874900321, 12875031409, 12875162549, 12875293649, + 12875424721, 12875555809, 12875686891, 12875817973, 12875949059, 12876080131, 12876211223, + 12876342307, 12876473383, 12876604471, 12876735563, 12876866647, 12876997723, 12877128809, + 12877259893, 12877390997, 12877522079, 12877653179, 12877784267, 12877915357, 12878046437, + 12878177509, 12878308613, 12878439689, 12878570819, 12878701937, 12878833031, 12878964121, + 12879095209, 12879226291, 12879357383, 12879488467, 12879619549, 12879750623, 12879881699, + 12880012781, 12880143863, 12880274969, 12880406047, 12880537139, 12880668223, 12880799303, + 12880930399, 12881061499, 12881192579, 12881323661, 12881454737, 12881585839, 12881716951, + 12881848043, 12881979137, 12882110221, 12882241297, 12882372379, 12882503467, 12882634577, + 12882765667, 12882896749, 12883027823, 12883158907, 12883290011, 12883421107, 12883552207, + 12883683299, 12883814371, 12883945457, 12884076539, 12884207627, 12884338717, 12884469803, + 12884600903, 12884731999, 12884863093, 12884994173, 12885125257, 12885256357, 12885387433, + 12885518507, 12885649583, 12885780707, 12885911803, 12886042909, 12886174003, 12886305139, + 12886436273, 12886567357, 12886698443, 12886829533, 12886960613, 12887091709, 12887222783, + 12887353867, 12887484997, 12887616127, 12887747203, 12887878301, 12888009391, 12888140509, + 12888271657, 12888402731, 12888533807, 12888664889, 12888796001, 12888927101, 12889058173, + 12889189289, 12889320361, 12889451483, 12889582571, 12889713647, 12889844743, 12889975817, + 12890106893, 12890237977, 12890369057, 12890500141, 12890631233, 12890762341, 12890893429, + 12891024539, 12891155623, 12891286697, 12891417811, 12891548903, 12891679991, 12891811067, + 12891942209, 12892073291, 12892204373, 12892335461, 12892466533, 12892597607, 12892728689, + 12892859761, 12892990841, 12893121959, 12893253031, 12893384111, 12893515199, 12893646281, + 12893777363, 12893908507, 12894039583, 12894170657, 12894301741, 12894432827, 12894563909, + 12894694987, 12894826157, 12894957239, 12895088317, 12895219397, 12895350491, 12895481567, + 12895612643, 12895743761, 12895874869, 12896005949, 12896137057, 12896268139, 12896399227, + 12896530303, 12896661439, 12896792521, 12896923601, 12897054701, 12897185783, 12897316877, + 12897447971, 12897579073, 12897710191, 12897841301, 12897972379, 12898103489, 12898234603, + 12898365679, 12898496813, 12898627897, 12898759001, 12898890073, 12899021189, 12899152283, + 12899283373, 12899414447, 12899545537, 12899676611, 12899807707, 12899938783, 12900069859, + 12900200947, 12900332047, 12900463151, 12900594229, 12900725311, 12900856387, 12900987493, + 12901118641, 12901249729, 12901380839, 12901511921, 12901642997, 12901774099, 12901905197, + 12902036281, 12902167361, 12902298439, 12902429537, 12902560609, 12902691701, 12902822773, + 12902953849, 12903084947, 12903216023, 12903347143, 12903478229, 12903609307, 12903740407, + 12903871507, 12904002583, 12904133659, 12904264739, 12904395821, 12904526903, 12904658057, + 12904789187, 12904920271, 12905051431, 12905182519, 12905313713, 12905444791, 12905575867, + 12905706949, 12905838041, 12905969117, 12906100217, 12906231301, 12906362377, 12906493507, + 12906624581, 12906755663, 12906886771, 12907017853, 12907148957, 12907280033, 12907411159, + 12907542259, 12907673413, 12907804513, 12907935613, 12908066687, 12908197781, 12908328859, + 12908459939, 12908591021, 12908722093, 12908853169, 12908984251, 12909115327, 12909246407, + 12909377513, 12909508589, 12909639713, 12909770791, 12909901877, 12910032959, 12910164041, + 12910295131, 12910426237, 12910557329, 12910688411, 12910819499, 12910950593, 12911081699, + 12911212781, 12911343877, 12911474957, 12911606033, 12911737123, 12911868199, 12911999299, + 12912130381, 12912261457, 12912392567, 12912523649, 12912654721, 12912785801, 12912916903, + 12913047977, 12913179061, 12913310147, 12913441271, 12913572349, 12913703443, 12913834547, + 12913965643, 12914096747, 12914227831, 12914358917, 12914490023, 12914621101, 12914752177, + 12914883259, 12915014347, 12915145433, 12915276509, 12915407587, 12915538663, 12915669773, + 12915800851, 12915931933, 12916063073, 12916194149, 12916325221, 12916456303, 12916587377, + 12916718471, 12916849573, 12916980649, 12917111737, 12917242813, 12917373899, 12917504981, + 12917636059, 12917767147, 12917898223, 12918029297, 12918160429, 12918291509, 12918422597, + 12918553699, 12918684811, 12918815909, 12918947009, 12919078093, 12919209169, 12919340267, + 12919471349, 12919602499, 12919733591, 12919864669, 12919995743, 12920126831, 12920257919, + 12920388991, 12920520103, 12920651203, 12920782307, 12920913403, 12921044509, 12921175607, + 12921306679, 12921437777, 12921568873, 12921699953, 12921831073, 12921962239, 12922093411, + 12922224493, 12922355591, 12922486669, 12922617751, 12922748831, 12922879927, 12923011021, + 12923142101, 12923273201, 12923404283, 12923535403, 12923666521, 12923797609, 12923928707, + 12924059803, 12924190919, 12924322069, 12924453151, 12924584243, 12924715343, 12924846421, + 12924977519, 12925108621, 12925239773, 12925370849, 12925501943, 12925633027, 12925764113, + 12925895197, 12926026283, 12926157403, 12926288477, 12926419553, 12926550641, 12926681767, + 12926812867, 12926943941, 12927075017, 12927206099, 12927337201, 12927468289, 12927599369, + 12927730447, 12927861553, 12927992639, 12928123711, 12928254793, 12928385923, 12928517011, + 12928648153, 12928779229, 12928910341, 12929041417, 12929172517, 12929303663, 12929434783, + 12929565863, 12929696981, 12929828053, 12929959157, 12930090233, 12930221323, 12930352403, + 12930483487, 12930614561, 12930745669, 12930876811, 12931007899, 12931138981, 12931270057, + 12931401139, 12931532233, 12931663307, 12931794391, 12931925477, 12932056549, 12932187629, + 12932318713, 12932449787, 12932580877, 12932711977, 12932843089, 12932974177, 12933105277, + 12933236357, 12933367471, 12933498547, 12933629659, 12933760733, 12933891821, 12934022897, + 12934154017, 12934285097, 12934416199, 12934547303, 12934678433, 12934809509, 12934940647, + 12935071733, 12935202821, 12935333899, 12935464979, 12935596061, 12935727143, 12935858249, + 12935989457, 12936120553, 12936251663, 12936382777, 12936513853, 12936644947, 12936776033, + 12936907157, 12937038259, 12937169347, 12937300421, 12937431509, 12937562591, 12937693669, + 12937824763, 12937955843, 12938086919, 12938218009, 12938349121, 12938480209, 12938611297, + 12938742389, 12938873477, 12939004549, 12939135631, 12939266723, 12939397817, 12939528893, + 12939659969, 12939791057, 12939922129, 12940053221, 12940184303, 12940315393, 12940446469, + 12940577549, 12940708631, 12940839731, 12940970807, 12941101903, 12941232979, 12941364061, + 12941495153, 12941626283, 12941757391, 12941888471, 12942019543, 12942150619, 12942281701, + 12942412781, 12942543863, 12942675091, 12942806207, 12942937279, 12943068353, 12943199471, + 12943330553, 12943461659, 12943592741, 12943723847, 12943854919, 12943985993, 12944117107, + 12944248181, 12944379269, 12944510389, 12944641469, 12944772541, 12944903641, 12945034763, + 12945165851, 12945296933, 12945428009, 12945559087, 12945690217, 12945821321, 12945952433, + 12946083511, 12946214627, 12946345717, 12946476811, 12946607897, 12946738993, 12946870073, + 12947001149, 12947132227, 12947263331, 12947394413, 12947525491, 12947656591, 12947787667, + 12947918759, 12948049843, 12948180919, 12948312019, 12948443117, 12948574207, 12948705311, + 12948836419, 12948967511, 12949098587, 12949229659, 12949360759, 12949491871, 12949622947, + 12949754021, 12949885097, 12950016217, 12950147323, 12950278399, 12950409473, 12950540593, + 12950671667, 12950802773, 12950933893, 12951064999, 12951196079, 12951327161, 12951458257, + 12951589331, 12951720449, 12951851603, 12951982679, 12952113761, 12952244867, 12952375951, + 12952507037, 12952638109, 12952769189, 12952900273, 12953031353, 12953162489, 12953293583, + 12953424661, 12953555801, 12953686897, 12953818027, 12953949131, 12954080239, 12954211337, + 12954342413, 12954473491, 12954604577, 12954735649, 12954866731, 12954997807, 12955128899, + 12955259983, 12955391069, 12955522187, 12955653307, 12955784411, 12955915507, 12956046581, + 12956177657, 12956308823, 12956439901, 12956570987, 12956702063, 12956833151, 12956964257, + 12957095381, 12957226483, 12957357583, 12957488659, 12957619747, 12957750847, 12957881927, + 12958013017, 12958144117, 12958275193, 12958406323, 12958537399, 12958668479, 12958799551, + 12958930681, 12959061761, 12959192833, 12959323921, 12959455027, 12959586109, 12959717207, + 12959848283, 12959979371, 12960110453, 12960241529, 12960372613, 12960503713, 12960634823, + 12960765907, 12960897029, 12961028107, 12961159199, 12961290281, 12961421371, 12961552453, + 12961683563, 12961814639, 12961945723, 12962076833, 12962207941, 12962339023, 12962470109, + 12962601203, 12962732303, 12962863471, 12962994553, 12963125641, 12963256717, 12963387823, + 12963518917, 12963650041, 12963781121, 12963912277, 12964043363, 12964174477, 12964305581, + 12964436669, 12964567741, 12964698823, 12964829947, 12964961029, 12965092141, 12965223253, + 12965354333, 12965485409, 12965616481, 12965747609, 12965878687, 12966009761, 12966140849, + 12966271921, 12966403003, 12966534103, 12966665203, 12966796277, 12966927353, 12967058441, + 12967189537, 12967320629, 12967451719, 12967582829, 12967713961, 12967845047, 12967976209, + 12968107283, 12968238391, 12968369467, 12968500543, 12968631617, 12968762693, 12968893771, + 12969024857, 12969155987, 12969287059, 12969418141, 12969549217, 12969680293, 12969811367, + 12969942439, 12970073521, 12970204603, 12970335689, 12970466779, 12970597883, 12970728973, + 12970860053, 12970991183, 12971122261, 12971253341, 12971384423, 12971515523, 12971646601, + 12971777677, 12971908777, 12972039881, 12972170971, 12972302071, 12972433163, 12972564251, + 12972695339, 12972826411, 12972957493, 12973088573, 12973219681, 12973350779, 12973481869, + 12973612961, 12973744037, 12973875137, 12974006219, 12974137301, 12974268409, 12974399483, + 12974530573, 12974661653, 12974792737, 12974923811, 12975054901, 12975186017, 12975317093, + 12975448177, 12975579257, 12975710329, 12975841409, 12975972523, 12976103641, 12976234723, + 12976365811, 12976496903, 12976628023, 12976759109, 12976890193, 12977021279, 12977152367, + 12977283547, 12977414621, 12977545703, 12977676781, 12977807867, 12977938949, 12978070037, + 12978201157, 12978332231, 12978463319, 12978594401, 12978725479, 12978856573, 12978987649, + 12979118771, 12979249861, 12979380937, 12979512017, 12979643099, 12979774187, 12979905383, + 12980036471, 12980167549, 12980298623, 12980429701, 12980560781, 12980691877, 12980822951, + 12980954123, 12981085213, 12981216319, 12981347419, 12981478493, 12981609577, 12981740657, + 12981871843, 12982002931, 12982134013, 12982265111, 12982396183, 12982527269, 12982658399, + 12982789531, 12982920617, 12983051723, 12983182813, 12983313901, 12983444989, 12983576069, + 12983707169, 12983838251, 12983969353, 12984100427, 12984231503, 12984362609, 12984493723, + 12984624853, 12984755929, 12984887021, 12985018097, 12985149187, 12985280261, 12985411381, + 12985542467, 12985673573, 12985804661, 12985935737, 12986066813, 12986197897, 12986329003, + 12986460083, 12986591171, 12986722267, 12986853353, 12986984429, 12987115523, 12987246607, + 12987377693, 12987508783, 12987639883, 12987770977, 12987902071, 12988033159, 12988164251, + 12988295377, 12988426457, 12988557551, 12988688623, 12988819709, 12988950797, 12989081869, + 12989212981, 12989344057, 12989475133, 12989606209, 12989737339, 12989868433, 12989999573, + 12990130651, 12990261727, 12990392813, 12990523891, 12990654973, 12990786047, 12990917123, + 12991048211, 12991179293, 12991310383, 12991441459, 12991572541, 12991703651, 12991834781, + 12991965887, 12992096981, 12992228059, 12992359181, 12992490253, 12992621371, 12992752447, + 12992883571, 12993014653, 12993145727, 12993276809, 12993407881, 12993538979, 12993670091, + 12993801179, 12993932279, 12994063361, 12994194461, 12994325563, 12994456639, 12994587737, + 12994718819, 12994849897, 12994980983, 12995112071, 12995243161, 12995374261, 12995505371, + 12995636461, 12995767559, 12995898649, 12996029723, 12996160817, 12996291907, 12996423001, + 12996554101, 12996685189, 12996816269, 12996947351, 12997078427, 12997209499, 12997340579, + 12997471667, 12997602797, 12997733869, 12997864961, 12997996079, 12998127151, 12998258227, + 12998389301, 12998520401, 12998651473, 12998782547, 12998913673, 12999044753, 12999175837, + 12999306923, 12999438013, 12999569113, 12999700253, 12999831347, 12999962449, 13000093537, + 13000224623, 13000355699, 13000486783, 13000617869, 13000748947, 13000880059, 13001011151, + 13001142229, 13001273309, 13001404387, 13001535467, 13001666563, 13001797651, 13001928739, + 13002059881, 13002190961, 13002322093, 13002453203, 13002584297, 13002715459, 13002846539, + 13002977641, 13003108829, 13003239901, 13003370977, 13003502051, 13003633151, 13003764247, + 13003895327, 13004026403, 13004157503, 13004288623, 13004419699, 13004550781, 13004681867, + 13004812969, 13004944049, 13005075121, 13005206219, 13005337369, 13005468449, 13005599533, + 13005730649, 13005861731, 13005992837, 13006123909, 13006254997, 13006386091, 13006517171, + 13006648267, 13006779353, 13006910453, 13007041543, 13007172643, 13007303719, 13007434799, + 13007565871, 13007696957, 13007828111, 13007959199, 13008090281, 13008221431, 13008352517, + 13008483613, 13008614791, 13008745877, 13008876961, 13009008049, 13009139137, 13009270231, + 13009401313, 13009532407, 13009663481, 13009794557, 13009925639, 13010056711, 13010187791, + 13010318873, 13010449957, 13010581069, 13010712149, 13010843221, 13010974303, 13011105377, + 13011236449, 13011367543, 13011498631, 13011629707, 13011760831, 13011891917, 13012022993, + 13012154083, 13012285201, 13012416283, 13012547407, 13012678487, 13012809629, 13012940741, + 13013071829, 13013202901, 13013333981, 13013465093, 13013596171, 13013727253, 13013858357, + 13013989451, 13014120529, 13014251617, 13014382853, 13014513943, 13014645041, 13014776129, + 13014907237, 13015038349, 13015169467, 13015300607, 13015431691, 13015562789, 13015693871, + 13015824947, 13015956029, 13016087107, 13016218183, 13016349257, 13016480329, 13016611411, + 13016742491, 13016873587, 13017004661, 13017135749, 13017266827, 13017397903, 13017528977, + 13017660079, 13017791173, 13017922273, 13018053401, 13018184573, 13018315657, 13018446739, + 13018577839, 13018708979, 13018840063, 13018971143, 13019102219, 13019233309, 13019364403, + 13019495497, 13019626573, 13019757671, 13019888759, 13020019843, 13020150931, 13020282013, + 13020413117, 13020544189, 13020675289, 13020806387, 13020937459, 13021068623, 13021199713, + 13021330787, 13021461917, 13021593041, 13021724113, 13021855229, 13021986323, 13022117413, + 13022248493, 13022379569, 13022510717, 13022641829, 13022772901, 13022904007, 13023035087, + 13023166207, 13023297283, 13023428359, 13023559477, 13023690571, 13023821659, 13023952757, + 13024083857, 13024214953, 13024346029, 13024477111, 13024608197, 13024739291, 13024870373, + 13025001481, 13025132651, 13025263733, 13025394817, 13025525923, 13025657011, 13025788117, + 13025919209, 13026050333, 13026181417, 13026312521, 13026443603, 13026574679, 13026705781, + 13026836861, 13026967937, 13027099049, 13027230173, 13027361261, 13027492349, 13027623421, + 13027754533, 13027885609, 13028016709, 13028147809, 13028278889, 13028409983, 13028541067, + 13028672141, 13028803231, 13028934311, 13029065383, 13029196463, 13029327631, 13029458759, + 13029589841, 13029720929, 13029852023, 13029983201, 13030114313, 13030245427, 13030376509, + 13030507657, 13030638749, 13030769821, 13030900963, 13031032039, 13031163113, 13031294197, + 13031425273, 13031556359, 13031687441, 13031818517, 13031949631, 13032080717, 13032211789, + 13032342881, 13032473959, 13032605051, 13032736159, 13032867247, 13032998351, 13033129427, + 13033260517, 13033391627, 13033522703, 13033653799, 13033784887, 13033915981, 13034047073, + 13034178161, 13034309333, 13034440409, 13034571497, 13034702573, 13034833673, 13034964751, + 13035095851, 13035226927, 13035358013, 13035489127, 13035620207, 13035751279, 13035882373, + 13036013447, 13036144529, 13036275617, 13036406689, 13036537763, 13036668859, 13036799953, + 13036931051, 13037062163, 13037193241, 13037324317, 13037455421, 13037586533, 13037717621, + 13037848717, 13037979793, 13038110867, 13038241943, 13038373031, 13038504137, 13038635227, + 13038766313, 13038897401, 13039028489, 13039159577, 13039290659, 13039421737, 13039552819, + 13039683931, 13039815011, 13039946083, 13040077201, 13040208281, 13040339381, 13040470453, + 13040601619, 13040732701, 13040863777, 13040994859, 13041125983, 13041257077, 13041388163, + 13041519259, 13041650357, 13041781453, 13041912529, 13042043603, 13042174687, 13042305761, + 13042436837, 13042567913, 13042699031, 13042830109, 13042961189, 13043092331, 13043223407, + 13043354483, 13043485561, 13043616643, 13043747807, 13043878901, 13044009991, 13044141109, + 13044272209, 13044403303, 13044534383, 13044665461, 13044796537, 13044927619, 13045058693, + 13045189777, 13045320851, 13045451941, 13045583021, 13045714151, 13045845223, 13045976309, + 13046107387, 13046238467, 13046369573, 13046500669, 13046631791, 13046762887, 13046893961, + 13047025081, 13047156163, 13047287263, 13047418337, 13047549439, 13047680599, 13047811691, + 13047942781, 13048073873, 13048204963, 13048336061, 13048467149, 13048598249, 13048729339, + 13048860439, 13048991519, 13049122607, 13049253709, 13049384791, 13049515873, 13049646949, + 13049778083, 13049909183, 13050040261, 13050171349, 13050302429, 13050433511, 13050564617, + 13050695743, 13050826823, 13050957911, 13051088983, 13051220057, 13051351147, 13051482229, + 13051613329, 13051744417, 13051875497, 13052006587, 13052137663, 13052268743, 13052399839, + 13052530913, 13052662001, 13052793097, 13052924179, 13053055283, 13053186397, 13053317479, + 13053448591, 13053579677, 13053710777, 13053841877, 13053972949, 13054104029, 13054235107, + 13054366219, 13054497317, 13054628399, 13054759489, 13054890599, 13055021677, 13055152763, + 13055283931, 13055415007, 13055546107, 13055677183, 13055808281, 13055939353, 13056070429, + 13056201503, 13056332587, 13056463733, 13056594809, 13056725893, 13056856973, 13056988067, + 13057119139, 13057250221, 13057381321, 13057512431, 13057643507, 13057774607, 13057905691, + 13058036777, 13058167849, 13058298923, 13058429999, 13058561093, 13058692169, 13058823247, + 13058954323, 13059085399, 13059216479, 13059347557, 13059478631, 13059609713, 13059740789, + 13059871879, 13060002971, 13060134047, 13060265123, 13060396207, 13060527283, 13060658371, + 13060789457, 13060920547, 13061051629, 13061182709, 13061313787, 13061444863, 13061575963, + 13061707037, 13061838143, 13061969251, 13062100327, 13062231409, 13062362483, 13062493583, + 13062624661, 13062755743, 13062886841, 13063017917, 13063149067, 13063280143, 13063411219, + 13063542329, 13063673407, 13063804549, 13063935629, 13064066737, 13064197829, 13064328917, + 13064460001, 13064591129, 13064722213, 13064853287, 13064984363, 13065115499, 13065246599, + 13065377713, 13065508787, 13065639889, 13065770989, 13065902119, 13066033231, 13066164379, + 13066295521, 13066426601, 13066557677, 13066688773, 13066819847, 13066950931, 13067082019, + 13067213099, 13067344181, 13067475257, 13067606329, 13067737433, 13067868511, 13067999597, + 13068130687, 13068261797, 13068392893, 13068523991, 13068655079, 13068786151, 13068917261, + 13069048361, 13069179443, 13069310557, 13069441643, 13069572743, 13069703851, 13069834961, + 13069966033, 13070097109, 13070228209, 13070359301, 13070490373, 13070621477, 13070752567, + 13070883643, 13071014767, 13071145849, 13071276943, 13071408029, 13071539111, 13071670193, + 13071801307, 13071932399, 13072063483, 13072194559, 13072325653, 13072456729, 13072587877, + 13072718957, 13072850033, 13072981123, 13073112223, 13073243317, 13073374453, 13073505527, + 13073636657, 13073767769, 13073898847, 13074029923, 13074161063, 13074292223, 13074423311, + 13074554393, 13074685469, 13074816551, 13074947651, 13075078739, 13075209811, 13075340923, + 13075472027, 13075603139, 13075734211, 13075865287, 13075996379, 13076127451, 13076258537, + 13076389631, 13076520707, 13076651813, 13076782903, 13076914013, 13077045101, 13077176179, + 13077307259, 13077438331, 13077569431, 13077700523, 13077831607, 13077962693, 13078093771, + 13078224931, 13078356041, 13078487129, 13078618277, 13078749377, 13078880483, 13079011567, + 13079142647, 13079273723, 13079404831, 13079535923, 13079667001, 13079798099, 13079929241, + 13080060407, 13080191507, 13080322579, 13080453653, 13080584743, 13080715831, 13080846967, + 13080978059, 13081109131, 13081240217, 13081371311, 13081502393, 13081633559, 13081764637, + 13081895711, 13082026801, 13082157877, 13082289001, 13082420093, 13082551231, 13082682307, + 13082813389, 13082944481, 13083075559, 13083206639, 13083337739, 13083468817, 13083599909, + 13083731021, 13083862097, 13083993217, 13084124351, 13084255439, 13084386529, 13084517609, + 13084648697, 13084779769, 13084910903, 13085042011, 13085173103, 13085304179, 13085435263, + 13085566339, 13085697421, 13085828507, 13085959589, 13086090701, 13086221821, 13086352919, + 13086484051, 13086615127, 13086746201, 13086877339, 13087008427, 13087139503, 13087270579, + 13087401659, 13087532767, 13087663871, 13087794959, 13087926031, 13088057117, 13088188199, + 13088319323, 13088450407, 13088581483, 13088712577, 13088843683, 13088974793, 13089105877, + 13089236959, 13089368053, 13089499169, 13089630289, 13089761389, 13089892477, 13090023553, + 13090154653, 13090285751, 13090416863, 13090547947, 13090679027, 13090810147, 13090941263, + 13091072339, 13091203423, 13091334497, 13091465617, 13091596729, 13091727851, 13091858959, + 13091990063, 13092121153, 13092252241, 13092383351, 13092514423, 13092645551, 13092776713, + 13092907787, 13093038863, 13093169963, 13093301047, 13093432129, 13093563209, 13093694297, + 13093825373, 13093956451, 13094087527, 13094218639, 13094349743, 13094480849, 13094611927, + 13094743003, 13094874097, 13095005177, 13095136277, 13095267377, 13095398461, 13095529553, + 13095660631, 13095791717, 13095922789, 13096053863, 13096184989, 13096316069, 13096447163, + 13096578283, 13096709393, 13096840469, 13096971551, 13097102633, 13097233711, 13097364793, + 13097495869, 13097626951, 13097758027, 13097889113, 13098020249, 13098151333, 13098282427, + 13098413507, 13098544601, 13098675683, 13098806801, 13098937879, 13099068953, 13099200041, + 13099331129, 13099462219, 13099593329, 13099724413, 13099855487, 13099986569, 13100117677, + 13100248751, 13100379833, 13100510921, 13100642011, 13100773099, 13100904233, 13101035371, + 13101166447, 13101297527, 13101428609, 13101559693, 13101690779, 13101821861, 13101952937, + 13102084057, 13102215169, 13102346251, 13102477361, 13102608439, 13102739543, 13102870633, + 13103001707, 13103132831, 13103263909, 13103395001, 13103526089, 13103657179, 13103788283, + 13103919407, 13104050497, 13104181591, 13104312677, 13104443789, 13104574891, 13104705979, + 13104837077, 13104968171, 13105099261, 13105230349, 13105361431, 13105492531, 13105623607, + 13105754707, 13105885787, 13106016863, 13106147963, 13106279089, 13106410189, 13106541263, + 13106672347, 13106803433, 13106934587, 13107065711, 13107196799, 13107327907, 13107459023, + 13107590101, 13107721177, 13107852253, 13107983347, 13108114423, 13108245551, 13108376639, + 13108507771, 13108638913, 13108770007, 13108901119, 13109032207, 13109163289, 13109294377, + 13109425451, 13109556529, 13109687609, 13109818697, 13109949833, 13110080909, 13110211987, + 13110343063, 13110474203, 13110605293, 13110736369, 13110867457, 13110998531, 13111129643, + 13111260719, 13111391791, 13111522877, 13111653979, 13111785067, 13111916141, 13112047213, + 13112178301, 13112309377, 13112440463, 13112571539, 13112702657, 13112833753, 13112964869, + 13113095951, 13113227027, 13113358147, 13113489239, 13113620339, 13113751421, 13113882499, + 13114013581, 13114144657, 13114275737, 13114406827, 13114537913, 13114669021, 13114800107, + 13114931191, 13115062309, 13115193383, 13115324471, 13115455543, 13115586623, 13115717701, + 13115848783, 13115979871, 13116111023, 13116242137, 13116373211, 13116504283, 13116635381, + 13116766459, 13116897557, 13117028653, 13117159813, 13117290919, 13117422001, 13117553087, + 13117684207, 13117815371, 13117946447, 13118077543, 13118208619, 13118339693, 13118470777, + 13118601863, 13118732971, 13118864071, 13118995159, 13119126259, 13119257341, 13119388423, + 13119519593, 13119650681, 13119781783, 13119912893, 13120043983, 13120175063, 13120306159, + 13120437247, 13120568323, 13120699409, 13120830509, 13120961587, 13121092667, 13121223767, + 13121354887, 13121485967, 13121617043, 13121748127, 13121879203, 13122010327, 13122141413, + 13122272497, 13122403573, 13122534671, 13122665749, 13122796829, 13122927911, 13123059043, + 13123190177, 13123321249, 13123452367, 13123583477, 13123714573, 13123845667, 13123976771, + 13124107957, 13124239033, 13124370113, 13124501189, 13124632271, 13124763347, 13124894437, + 13125025519, 13125156601, 13125287701, 13125418777, 13125549919, 13125680993, 13125812137, + 13125943247, 13126074329, 13126205437, 13126336513, 13126467587, 13126598687, 13126729771, + 13126860883, 13126991993, 13127123081, 13127254177, 13127385251, 13127516341, 13127647457, + 13127778541, 13127909621, 13128040697, 13128171773, 13128302851, 13128433937, 13128565097, + 13128696181, 13128827281, 13128958369, 13129089461, 13129220539, 13129351619, 13129482697, + 13129613773, 13129744871, 13129875943, 13130007031, 13130138113, 13130269193, 13130400307, + 13130531431, 13130662511, 13130793607, 13130924683, 13131055789, 13131186889, 13131317971, + 13131449053, 13131580153, 13131711239, 13131842329, 13131973417, 13132104523, 13132235609, + 13132366727, 13132497799, 13132628879, 13132759951, 13132891069, 13133022169, 13133153261, + 13133284337, 13133415409, 13133546507, 13133677619, 13133808739, 13133939827, 13134070907, + 13134201979, 13134333089, 13134464171, 13134595261, 13134726343, 13134857419, 13134988501, + 13135119607, 13135250699, 13135381793, 13135512889, 13135644013, 13135775117, 13135906193, + 13136037289, 13136168401, 13136299493, 13136430589, 13136561701, 13136692783, 13136823857, + 13136954947, 13137086057, 13137217133, 13137348227, 13137479321, 13137610393, 13137741481, + 13137872557, 13138003657, 13138134733, 13138265851, 13138396969, 13138528049, 13138659161, + 13138790267, 13138921349, 13139052457, 13139183537, 13139314619, 13139445701, 13139576783, + 13139707877, 13139838953, 13139970047, 13140101147, 13140232241, 13140363337, 13140494441, + 13140625573, 13140756677, 13140887777, 13141018871, 13141149943, 13141281029, 13141412129, + 13141543213, 13141674317, 13141805401, 13141936519, 13142067593, 13142198677, 13142329763, + 13142460841, 13142591921, 13142723023, 13142854099, 13142985181, 13143116269, 13143247391, + 13143378499, 13143509573, 13143640667, 13143771749, 13143902831, 13144033909, 13144164997, + 13144296089, 13144427173, 13144558319, 13144689427, 13144820509, 13144951591, 13145082667, + 13145213749, 13145344831, 13145475971, 13145607047, 13145738173, 13145869249, 13146000403, + 13146131477, 13146262553, 13146393661, 13146524773, 13146655853, 13146786943, 13146918073, + 13147049171, 13147180261, 13147311347, 13147442431, 13147573519, 13147704611, 13147835737, + 13147966831, 13148097947, 13148229043, 13148360123, 13148491211, 13148622323, 13148753419, + 13148884493, 13149015571, 13149146683, 13149277763, 13149408871, 13149539947, 13149671023, + 13149802097, 13149933197, 13150064269, 13150195361, 13150326463, 13150457557, 13150588637, + 13150719737, 13150850813, 13150981897, 13151113033, 13151244109, 13151375191, 13151506271, + 13151637349, 13151768423, 13151899531, 13152030659, 13152161731, 13152292807, 13152423917, + 13152555001, 13152686083, 13152817163, 13152948239, 13153079321, 13153210397, 13153341479, + 13153472581, 13153603663, 13153734743, 13153865827, 13153996927, 13154128019, 13154259101, + 13154390189, 13154521279, 13154652391, 13154783479, 13154914567, 13155045697, 13155176777, + 13155307853, 13155438929, 13155570011, 13155701101, 13155832243, 13155963323, 13156094423, + 13156225583, 13156356677, 13156487753, 13156618859, 13156749953, 13156881029, 13157012101, + 13157143177, 13157274271, 13157405351, 13157536433, 13157667539, 13157798639, 13157929717, + 13158060791, 13158191899, 13158322997, 13158454093, 13158585197, 13158716269, 13158847363, + 13158978461, 13159109569, 13159240667, 13159371761, 13159502833, 13159633933, 13159765037, + 13159896119, 13160027191, 13160158301, 13160289377, 13160420459, 13160551541, 13160682659, + 13160813747, 13160944831, 13161075943, 13161207061, 13161338243, 13161469357, 13161600449, + 13161731533, 13161862667, 13161993743, 13162124849, 13162255921, 13162387033, 13162518137, + 13162649221, 13162780321, 13162911401, 13163042479, 13163173579, 13163304677, 13163435783, + 13163566861, 13163697961, 13163829059, 13163960137, 13164091223, 13164222311, 13164353407, + 13164484507, 13164615613, 13164746689, 13164877769, 13165008859, 13165139963, 13165271083, + 13165402177, 13165533287, 13165664371, 13165795529, 13165926611, 13166057713, 13166188787, + 13166319961, 13166451043, 13166582119, 13166713199, 13166844287, 13166975369, 13167106451, + 13167237553, 13167368629, 13167499703, 13167630799, 13167761879, 13167892957, 13168024057, + 13168155139, 13168286213, 13168417289, 13168548377, 13168679453, 13168810531, 13168941607, + 13169072711, 13169203811, 13169334949, 13169466031, 13169597113, 13169728199, 13169859281, + 13169990359, 13170121441, 13170252541, 13170383623, 13170514727, 13170645809, 13170776893, + 13170907973, 13171039087, 13171170191, 13171301263, 13171432369, 13171563443, 13171694519, + 13171825613, 13171956697, 13172087777, 13172218877, 13172349959, 13172481103, 13172612263, + 13172743411, 13172874487, 13173005569, 13173136643, 13173267761, 13173398891, 13173529991, + 13173661091, 13173792173, 13173923251, 13174054367, 13174185443, 13174316527, 13174447621, + 13174578707, 13174709791, 13174840867, 13174972061, 13175103157, 13175234263, 13175365349, + 13175496449, 13175627537, 13175758619, 13175889691, 13176020797, 13176151883, 13176283027, + 13176414109, 13176545219, 13176676291, 13176807377, 13176938477, 13177069579, 13177200671, + 13177331747, 13177462843, 13177593931, 13177725061, 13177856137, 13177987219, 13178118301, + 13178249419, 13178380529, 13178511607, 13178642689, 13178773789, 13178904863, 13179035951, + 13179167033, 13179298109, 13179429209, 13179560287, 13179691363, 13179822463, 13179953539, + 13180084637, 13180215709, 13180346801, 13180477879, 13180608971, 13180740049, 13180871177, + 13181002283, 13181133373, 13181264461, 13181395537, 13181526667, 13181657773, 13181788849, + 13181919977, 13182051049, 13182182161, 13182313237, 13182444343, 13182575423, 13182706501, + 13182837581, 13182968653, 13183099733, 13183230829, 13183361941, 13183493041, 13183624159, + 13183755241, 13183886333, 13184017409, 13184148491, 13184279593, 13184410693, 13184541803, + 13184672887, 13184803991, 13184935067, 13185066157, 13185197239, 13185328313, 13185459473, + 13185590597, 13185721687, 13185852787, 13185983911, 13186115039, 13186246111, 13186377223, + 13186508317, 13186639399, 13186770497, 13186901587, 13187032673, 13187163757, 13187294947, + 13187426023, 13187557133, 13187688209, 13187819291, 13187950459, 13188081541, 13188212629, + 13188343703, 13188474779, 13188605861, 13188736949, 13188868027, 13188999127, 13189130239, + 13189261363, 13189392439, 13189523591, 13189654679, 13189785761, 13189916891, 13190047963, + 13190179097, 13190310193, 13190441293, 13190572387, 13190703467, 13190834543, 13190965637, + 13191096733, 13191227813, 13191358897, 13191489973, 13191621049, 13191752129, 13191883253, + 13192014337, 13192145411, 13192276501, 13192407577, 13192538659, 13192669759, 13192800847, + 13192931977, 13193063057, 13193194129, 13193325239, 13193456323, 13193587399, 13193718493, + 13193849587, 13193980661, 13194111743, 13194242821, 13194373901, 13194504997, 13194636107, + 13194767207, 13194898303, 13195029401, 13195160477, 13195291559, 13195422659, 13195553737, + 13195684829, 13195815917, 13195946993, 13196078081, 13196209153, 13196340247, 13196471347, + 13196602439, 13196733521, 13196864609, 13196995697, 13197126823, 13197257897, 13197388969, + 13197520057, 13197651133, 13197782243, 13197913321, 13198044397, 13198175503, 13198306619, + 13198437709, 13198568797, 13198699879, 13198830973, 13198962071, 13199093179, 13199224261, + 13199355341, 13199486429, 13199617517, 13199748607, 13199879713, 13200010787, 13200141859, + 13200272941, 13200404017, 13200535121, 13200666203, 13200797299, 13200928373, 13201059451, + 13201190539, 13201321663, 13201452739, 13201583821, 13201714931, 13201846033, 13201977127, + 13202108203, 13202239277, 13202370463, 13202501551, 13202632627, 13202763713, 13202894791, + 13203025903, 13203156977, 13203288061, 13203419149, 13203550253, 13203681341, 13203812417, + 13203943591, 13204074679, 13204205761, 13204336837, 13204467911, 13204599019, 13204730101, + 13204861181, 13204992293, 13205123369, 13205254483, 13205385587, 13205516669, 13205647757, + 13205778841, 13205909923, 13206041003, 13206172099, 13206303193, 13206434317, 13206565451, + 13206696557, 13206827633, 13206958711, 13207089827, 13207220909, 13207352021, 13207483099, + 13207614179, 13207745261, 13207876333, 13208007419, 13208138497, 13208269609, 13208400683, + 13208531779, 13208662853, 13208793929, 13208925011, 13209056099, 13209187171, 13209318247, + 13209449417, 13209580507, 13209711607, 13209842689, 13209973769, 13210104877, 13210235993, + 13210367081, 13210498177, 13210629259, 13210760351, 13210891427, 13211022511, 13211153591, + 13211284673, 13211415799, 13211546903, 13211678041, 13211809123, 13211940197, 13212071297, + 13212202369, 13212333499, 13212464579, 13212595661, 13212726773, 13212857893, 13212988967, + 13213120097, 13213251211, 13213382321, 13213513399, 13213644481, 13213775581, 13213906669, + 13214037743, 13214168827, 13214299907, 13214430997, 13214562083, 13214693161, 13214824241, + 13214955317, 13215086399, 13215217471, 13215348551, 13215479623, 13215610697, 13215741769, + 13215872867, 13216003939, 13216135013, 13216266139, 13216397251, 13216528337, 13216659409, + 13216790501, 13216921631, 13217052727, 13217183809, 13217314889, 13217445979, 13217577151, + 13217708243, 13217839331, 13217970413, 13218101527, 13218232603, 13218363689, 13218494761, + 13218625877, 13218756959, 13218888047, 13219019183, 13219150267, 13219281367, 13219412441, + 13219543517, 13219674607, 13219805699, 13219936771, 13220067853, 13220198933, 13220330009, + 13220461081, 13220592163, 13220723267, 13220854349, 13220985433, 13221116581, 13221247661, + 13221378743, 13221509831, 13221640909, 13221771989, 13221903061, 13222034149, 13222165261, + 13222296343, 13222427419, 13222558493, 13222689643, 13222820731, 13222951813, 13223082907, + 13223214077, 13223345183, 13223476271, 13223607343, 13223738419, 13223869513, 13224000593, + 13224131731, 13224262811, 13224393883, 13224524977, 13224656059, 13224787159, 13224918241, + 13225049317, 13225180393, 13225311511, 13225442617, 13225573709, 13225704787, 13225835879, + 13225966951, 13226098097, 13226229187, 13226360297, 13226491423, 13226622503, 13226753581, + 13226884679, 13227015751, 13227146827, 13227277913, 13227409033, 13227540119, 13227671213, + 13227802303, 13227933379, 13228064453, 13228195529, 13228326613, 13228457713, 13228588817, + 13228719913, 13228850993, 13228982069, 13229113151, 13229244227, 13229375317, 13229506391, + 13229637479, 13229768561, 13229899649, 13230030727, 13230161827, 13230292919, 13230423991, + 13230555067, 13230686141, 13230817231, 13230948317, 13231079423, 13231210513, 13231341589, + 13231472663, 13231603739, 13231734821, 13231865903, 13231996979, 13232128073, 13232259169, + 13232390243, 13232521327, 13232652427, 13232783507, 13232914589, 13233045677, 13233176779, + 13233307859, 13233438997, 13233570079, 13233701207, 13233832279, 13233963367, 13234094441, + 13234225519, 13234356631, 13234487713, 13234618801, 13234749887, 13234880999, 13235012081, + 13235143153, 13235274229, 13235405327, 13235536417, 13235667499, 13235798591, 13235929687, + 13236060779, 13236191867, 13236322943, 13236454019, 13236585119, 13236716191, 13236847307, + 13236978389, 13237109467, 13237240547, 13237371619, 13237502717, 13237633793, 13237764893, + 13237895999, 13238027071, 13238158147, 13238289277, 13238420383, 13238551481, 13238682593, + 13238813671, 13238944751, 13239075823, 13239206923, 13239337999, 13239469109, 13239600229, + 13239731333, 13239862421, 13239993509, 13240124627, 13240255729, 13240386823, 13240517921, + 13240649011, 13240780121, 13240911251, 13241042351, 13241173441, 13241304521, 13241435629, + 13241566727, 13241697809, 13241828891, 13241959967, 13242091043, 13242222143, 13242353219, + 13242484319, 13242615403, 13242746567, 13242877649, 13243008743, 13243139827, 13243270913, + 13243401989, 13243533131, 13243664209, 13243795289, 13243926373, 13244057447, 13244188547, + 13244319631, 13244450759, 13244581837, 13244712913, 13244844037, 13244975113, 13245106187, + 13245237259, 13245368347, 13245499471, 13245630577, 13245761653, 13245892729, 13246023809, + 13246154881, 13246285999, 13246417081, 13246548157, 13246679231, 13246810307, 13246941397, + 13247072473, 13247203547, 13247334623, 13247465701, 13247596777, 13247727869, 13247858947, + 13247990051, 13248121129, 13248252209, 13248383297, 13248514373, 13248645523, 13248776609, + 13248907699, 13249038779, 13249169863, 13249300943, 13249432019, 13249563109, 13249694239, + 13249825327, 13249956409, 13250087483, 13250218559, 13250349643, 13250480767, 13250611841, + 13250742943, 13250874029, 13251005107, 13251136181, 13251267313, 13251398387, 13251529463, + 13251660559, 13251791633, 13251922711, 13252053797, 13252184903, 13252315997, 13252447069, + 13252578161, 13252709237, 13252840343, 13252971421, 13253102507, 13253233597, 13253364673, + 13253495777, 13253626849, 13253757943, 13253889031, 13254020137, 13254151219, 13254282317, + 13254413437, 13254544529, 13254675619, 13254806699, 13254937793, 13255068901, 13255199977, + 13255331071, 13255462151, 13255593283, 13255724413, 13255855511, 13255986593, 13256117711, + 13256248847, 13256379919, 13256510999, 13256642117, 13256773223, 13256904301, 13257035413, + 13257166537, 13257297611, 13257428711, 13257559811, 13257690931, 13257822023, 13257953129, + 13258084201, 13258215287, 13258346363, 13258477469, 13258608541, 13258739629, 13258870747, + 13259001823, 13259133001, 13259264101, 13259395183, 13259526277, 13259657351, 13259788433, + 13259919529, 13260050603, 13260181703, 13260312809, 13260443951, 13260575087, 13260706183, + 13260837263, 13260968339, 13261099417, 13261230491, 13261361573, 13261492649, 13261623733, + 13261754887, 13261885991, 13262017063, 13262148139, 13262279221, 13262410303, 13262541389, + 13262672471, 13262803553, 13262934647, 13263065743, 13263196831, 13263327907, 13263458993, + 13263590071, 13263721157, 13263852247, 13263983323, 13264114397, 13264245473, 13264376551, + 13264507661, 13264638791, 13264769873, 13264900993, 13265032069, 13265163167, 13265294249, + 13265425361, 13265556517, 13265687597, 13265818669, 13265949743, 13266080819, 13266211943, + 13266343049, 13266474121, 13266605207, 13266736291, 13266867389, 13266998471, 13267129543, + 13267260623, 13267391741, 13267522813, 13267653911, 13267784989, 13267916093, 13268047207, + 13268178289, 13268309363, 13268440457, 13268571599, 13268702701, 13268833783, 13268964857, + 13269095951, 13269227047, 13269358127, 13269489227, 13269620327, 13269751511, 13269882601, + 13270013677, 13270144751, 13270275827, 13270406917, 13270537991, 13270669079, 13270800163, + 13270931257, 13271062361, 13271193443, 13271324531, 13271455633, 13271586719, 13271717827, + 13271848913, 13271980009, 13272111091, 13272242171, 13272373253, 13272504347, 13272635419, + 13272766513, 13272897587, 13273028689, 13273159829, 13273290907, 13273422013, 13273553089, + 13273684181, 13273815253, 13273946333, 13274077489, 13274208601, 13274339681, 13274470753, + 13274601841, 13274732929, 13274864021, 13274995093, 13275126173, 13275257257, 13275388333, + 13275519409, 13275650483, 13275781567, 13275912647, 13276043743, 13276174819, 13276305947, + 13276437037, 13276568113, 13276699187, 13276830271, 13276961419, 13277092501, 13277223587, + 13277354659, 13277485769, 13277616883, 13277747969, 13277879081, 13278010169, 13278141257, + 13278272389, 13278403471, 13278534551, 13278665629, 13278796717, 13278927797, 13279058873, + 13279189967, 13279321051, 13279452161, 13279583287, 13279714369, 13279845457, 13279976537, + 13280107613, 13280238757, 13280369833, 13280500907, 13280631979, 13280763059, 13280894131, + 13281025211, 13281156299, 13281287387, 13281418477, 13281549559, 13281680639, 13281811729, + 13281942809, 13282073881, 13282204997, 13282336069, 13282467167, 13282598311, 13282729423, + 13282860497, 13282991573, 13283122651, 13283253727, 13283384801, 13283515873, 13283646973, + 13283778089, 13283909161, 13284040271, 13284171359, 13284302453, 13284433537, 13284564637, + 13284695813, 13284826889, 13284957979, 13285089089, 13285220213, 13285351291, 13285482421, + 13285613501, 13285744607, 13285875689, 13286006761, 13286137871, 13286268949, 13286400053, + 13286531177, 13286662261, 13286793337, 13286924437, 13287055519, 13287186593, 13287317669, + 13287448747, 13287579859, 13287710957, 13287842083, 13287973157, 13288104241, 13288235381, + 13288366463, 13288497539, 13288628621, 13288759721, 13288890827, 13289021899, 13289153021, + 13289284093, 13289415187, 13289546261, 13289677391, 13289808491, 13289939587, 13290070691, + 13290201773, 13290332863, 13290464029, 13290595111, 13290726209, 13290857287, 13290988421, + 13291119511, 13291250587, 13291381669, 13291512779, 13291643879, 13291774963, 13291906049, + 13292037131, 13292168203, 13292299289, 13292430413, 13292561489, 13292692579, 13292823671, + 13292954761, 13293085837, 13293216917, 13293348059, 13293479153, 13293610249, 13293741337, + 13293872437, 13294003517, 13294134593, 13294265671, 13294396783, 13294527887, 13294658981, + 13294790053, 13294921201, 13295052301, 13295183393, 13295314481, 13295445563, 13295576647, + 13295707739, 13295838811, 13295969893, 13296101069, 13296232177, 13296363257, 13296494353, + 13296625469, 13296756589, 13296887699, 13297018783, 13297149863, 13297280951, 13297412059, + 13297543151, 13297674263, 13297805347, 13297936439, 13298067533, 13298198647, 13298329757, + 13298460869, 13298591959, 13298723063, 13298854139, 13298985223, 13299116323, 13299247447, + 13299378553, 13299509647, 13299640723, 13299771833, 13299902909, 13300034021, 13300165133, + 13300296211, 13300427303, 13300558417, 13300689499, 13300820573, 13300951649, 13301082787, + 13301213867, 13301344939, 13301476037, 13301607127, 13301738249, 13301869331, 13302000403, + 13302131519, 13302262591, 13302393667, 13302524771, 13302655867, 13302786941, 13302918017, + 13303049147, 13303180223, 13303311311, 13303442407, 13303573487, 13303704599, 13303835681, + 13303966757, 13304097839, 13304228941, 13304360023, 13304491097, 13304622169, 13304753263, + 13304884339, 13305015467, 13305146627, 13305277703, 13305408803, 13305539899, 13305670991, + 13305802079, 13305933191, 13306064279, 13306195351, 13306326433, 13306457533, 13306588609, + 13306719691, 13306850797, 13306981871, 13307112943, 13307244019, 13307375099, 13307506181, + 13307637253, 13307768363, 13307899441, 13308030577, 13308161729, 13308292817, 13308423893, + 13308554977, 13308686107, 13308817189, 13308948269, 13309079383, 13309210483, 13309341557, + 13309472651, 13309603751, 13309734827, 13309865911, 13309997003, 13310128127, 13310259223, + 13310390311, 13310521423, 13310652541, 13310783617, 13310914691, 13311045799, 13311176899, + 13311307979, 13311439069, 13311570149, 13311701297, 13311832403, 13311963491, 13312094567, + 13312225669, 13312356749, 13312487843, 13312618919, 13312750001, 13312881073, 13313012149, + 13313143237, 13313274343, 13313405423, 13313536513, 13313667613, 13313798723, 13313929801, + 13314060937, 13314192011, 13314323089, 13314454169, 13314585257, 13314716329, 13314847411, + 13314978491, 13315109629, 13315240703, 13315371799, 13315502891, 13315633973, 13315765063, + 13315896203, 13316027281, 13316158423, 13316289577, 13316420659, 13316551733, 13316682809, + 13316813911, 13316944999, 13317076081, 13317207181, 13317338273, 13317469387, 13317600511, + 13317731593, 13317862687, 13317993763, 13318124839, 13318255919, 13318387009, 13318518121, + 13318649207, 13318780291, 13318911367, 13319042459, 13319173541, 13319304671, 13319435743, + 13319566853, 13319697943, 13319829041, 13319960113, 13320091201, 13320222287, 13320353363, + 13320484439, 13320615563, 13320746657, 13320877747, 13321008839, 13321139917, 13321270997, + 13321402069, 13321533221, 13321664299, 13321795373, 13321926473, 13322057579, 13322188667, + 13322319743, 13322450819, 13322581891, 13322712967, 13322844071, 13322975203, 13323106361, + 13323237457, 13323368533, 13323499613, 13323630703, 13323761779, 13323892859, 13324023967, + 13324155049, 13324286141, 13324417213, 13324548311, 13324679437, 13324810519, 13324941593, + 13325072669, 13325203751, 13325334823, 13325465981, 13325597057, 13325728153, 13325859293, + 13325990369, 13326121463, 13326252571, 13326383663, 13326514771, 13326645881, 13326776971, + 13326908051, 13327039123, 13327170217, 13327301291, 13327432369, 13327563449, 13327694531, + 13327825649, 13327956749, 13328087849, 13328218949, 13328350043, 13328481119, 13328612191, + 13328743303, 13328874379, 13329005461, 13329136627, 13329267737, 13329398809, 13329529897, + 13329660973, 13329792101, 13329923177, 13330054261, 13330185353, 13330316459, 13330447531, + 13330578631, 13330709729, 13330840837, 13330971911, 13331102999, 13331234093, 13331365189, + 13331496287, 13331627369, 13331758457, 13331889551, 13332020629, 13332151717, 13332282823, + 13332413957, 13332545029, 13332676109, 13332807199, 13332938317, 13333069397, 13333200493, + 13333331573, 13333462657, 13333593739, 13333724881, 13333855963, 13333987049, 13334118137, + 13334249209, 13334380313, 13334511397, 13334642479, 13334773607, 13334904679, 13335035761, + 13335166841, 13335297919, 13335429031, 13335560111, 13335691183, 13335822259, 13335953381, + 13336084471, 13336215547, 13336346623, 13336477703, 13336608809, 13336739893, 13336870993, + 13337002079, 13337133197, 13337264287, 13337395403, 13337526487, 13337657591, 13337788669, + 13337919773, 13338050897, 13338181991, 13338313073, 13338444169, 13338575249, 13338706327, + 13338837427, 13338968501, 13339099583, 13339230677, 13339361771, 13339492853, 13339623931, + 13339755017, 13339886089, 13340017169, 13340148259, 13340279339, 13340410411, 13340541499, + 13340672573, 13340803661, 13340934767, 13341065873, 13341196949, 13341328067, 13341459161, + 13341590279, 13341721361, 13341852439, 13341983519, 13342114637, 13342245727, 13342376807, + 13342507901, 13342638977, 13342770061, 13342901137, 13343032231, 13343163341, 13343294413, + 13343425489, 13343556571, 13343687657, 13343818729, 13343949811, 13344080899, 13344212003, + 13344343081, 13344474263, 13344605377, 13344736477, 13344867583, 13344998677, 13345129751, + 13345260827, 13345391909, 13345523027, 13345654099, 13345785197, 13345916279, 13346047357, + 13346178487, 13346309609, 13346440687, 13346571761, 13346702833, 13346833933, 13346965031, + 13347096131, 13347227213, 13347358307, 13347489383, 13347620471, 13347751577, 13347882649, + 13348013737, 13348144811, 13348275887, 13348406977, 13348538051, 13348669129, 13348800203, + 13348931293, 13349062381, 13349193461, 13349324537, 13349455643, 13349586739, 13349717837, + 13349848931, 13349980003, 13350111079, 13350242167, 13350373243, 13350504367, 13350635479, + 13350766567, 13350897641, 13351028749, 13351159859, 13351290961, 13351422047, 13351553123, + 13351684249, 13351815329, 13351946411, 13352077493, 13352208577, 13352339657, 13352470751, + 13352601841, 13352732927, 13352864017, 13352995091, 13353126173, 13353257273, 13353388379, + 13353519467, 13353650567, 13353781663, 13353912739, 13354043839, 13354174921, 13354305997, + 13354437097, 13354568189, 13354699273, 13354830347, 13354961437, 13355092537, 13355223619, + 13355354699, 13355485771, 13355616847, 13355747941, 13355879023, 13356010099, 13356141173, + 13356272353, 13356403427, 13356534511, 13356665743, 13356796819, 13356927893, 13357058969, + 13357190047, 13357321127, 13357452263, 13357583341, 13357714423, 13357845517, 13357976641, + 13358107727, 13358238811, 13358369887, 13358500973, 13358632051, 13358763169, 13358894251, + 13359025333, 13359156407, 13359287533, 13359418619, 13359549719, 13359680813, 13359811891, + 13359943013, 13360074103, 13360205197, 13360336271, 13360467371, 13360598443, 13360729531, + 13360860647, 13360991731, 13361122837, 13361253911, 13361384987, 13361516083, 13361647157, + 13361778233, 13361909377, 13362040469, 13362171541, 13362302623, 13362433729, 13362564823, + 13362695897, 13362826979, 13362958099, 13363089211, 13363220287, 13363351363, 13363482469, + 13363613551, 13363744627, 13363875727, 13364006827, 13364137907, 13364268991, 13364400089, + 13364531161, 13364662237, 13364793317, 13364924393, 13365055477, 13365186553, 13365317657, + 13365448763, 13365579863, 13365710951, 13365842029, 13365973133, 13366104223, 13366235297, + 13366366427, 13366497533, 13366628683, 13366759781, 13366890869, 13367021947, 13367153021, + 13367284193, 13367415311, 13367546383, 13367677457, 13367808533, 13367939617, 13368070699, + 13368201817, 13368332893, 13368464003, 13368595081, 13368726157, 13368857339, 13368988427, + 13369119523, 13369250597, 13369381681, 13369512847, 13369643993, 13369775113, 13369906211, + 13370037293, 13370168369, 13370299447, 13370430527, 13370561639, 13370692723, 13370823853, + 13370955001, 13371086107, 13371217199, 13371348281, 13371479369, 13371610451, 13371741557, + 13371872639, 13372003727, 13372134799, 13372265887, 13372396967, 13372528069, 13372659163, + 13372790237, 13372921369, 13373052479, 13373183561, 13373314693, 13373445793, 13373576893, + 13373707981, 13373839067, 13373970151, 13374101227, 13374232327, 13374363427, 13374494501, + 13374625591, 13374756667, 13374887741, 13375018841, 13375149917, 13375281013, 13375412119, + 13375543193, 13375674271, 13375805351, 13375936517, 13376067589, 13376198677, 13376329751, + 13376460833, 13376591927, 13376723011, 13376854087, 13376985161, 13377116237, 13377247309, + 13377378403, 13377509521, 13377640643, 13377771739, 13377902821, 13378033897, 13378164997, + 13378296121, 13378427201, 13378558301, 13378689383, 13378820459, 13378951541, 13379082643, + 13379213761, 13379344843, 13379475937, 13379607013, 13379738101, 13379869177, 13380000281, + 13380131353, 13380262429, 13380393517, 13380524653, 13380655733, 13380786833, 13380917909, + 13381048981, 13381180069, 13381311149, 13381442231, 13381573349, 13381704421, 13381835501, + 13381966621, 13382097713, 13382228791, 13382359871, 13382490943, 13382622023, 13382753101, + 13382884181, 13383015293, 13383146389, 13383277469, 13383408583, 13383539669, 13383670759, + 13383801853, 13383932959, 13384064063, 13384195177, 13384326271, 13384457347, 13384588453, + 13384719529, 13384850639, 13384981733, 13385112817, 13385243903, 13385375027, 13385506109, + 13385637193, 13385768317, 13385899447, 13386030557, 13386161629, 13386292723, 13386423797, + 13386554869, 13386685957, 13386817039, 13386948139, 13387079219, 13387210321, 13387341419, + 13387472491, 13387603573, 13387734671, 13387865767, 13387996873, 13388127971, 13388259061, + 13388390149, 13388521243, 13388652317, 13388783411, 13388914499, 13389045581, 13389176677, + 13389307759, 13389438859, 13389569939, 13389701029, 13389832109, 13389963221, 13390094293, + 13390225367, 13390356443, 13390487533, 13390618649, 13390749733, 13390880813, 13391011891, + 13391142997, 13391274079, 13391405249, 13391536339, 13391667451, 13391798627, 13391929751, + 13392060859, 13392191977, 13392323057, 13392454129, 13392585203, 13392716327, 13392847411, + 13392978491, 13393109591, 13393240669, 13393371773, 13393502861, 13393633933, 13393765031, + 13393896121, 13394027221, 13394158301, 13394289383, 13394420477, 13394551553, 13394682641, + 13394813717, 13394944789, 13395075877, 13395206953, 13395338041, 13395469133, 13395600217, + 13395731309, 13395862409, 13395993493, 13396124633, 13396255709, 13396386803, 13396517903, + 13396648981, 13396780121, 13396911193, 13397042293, 13397173409, 13397304497, 13397435609, + 13397566697, 13397697779, 13397828861, 13397959963, 13398091037, 13398222119, 13398353203, + 13398484291, 13398615389, 13398746467, 13398877553, 13399008661, 13399139749, 13399270831, + 13399401919, 13399533023, 13399664123, 13399795237, 13399926313, 13400057389, 13400188469, + 13400319553, 13400450737, 13400581837, 13400712917, 13400844113, 13400975201, 13401106283, + 13401237361, 13401368441, 13401499519, 13401630617, 13401761699, 13401892781, 13402023889, + 13402155007, 13402286083, 13402417157, 13402548253, 13402679333, 13402810411, 13402941493, + 13403072567, 13403203657, 13403334733, 13403465837, 13403596933, 13403728027, 13403859163, + 13403990317, 13404121391, 13404252503, 13404383581, 13404514729, 13404645803, 13404776881, + 13404908089, 13405039169, 13405170241, 13405301333, 13405432423, 13405563511, 13405694597, + 13405825669, 13405956757, 13406087837, 13406218993, 13406350079, 13406481211, 13406612291, + 13406743393, 13406874479, 13407005627, 13407136723, 13407267827, 13407398957, 13407530051, + 13407661123, 13407792217, 13407923293, 13408054369, 13408185451, 13408316527, 13408447651, + 13408578731, 13408709813, 13408840897, 13408971971, 13409103083, 13409234159, 13409365253, + 13409496329, 13409627411, 13409758499, 13409889599, 13410020681, 13410151753, 13410282841, + 13410413957, 13410545033, 13410676109, 13410807199, 13410938293, 13411069391, 13411200527, + 13411331599, 13411462697, 13411593781, 13411724873, 13411855949, 13411987031, 13412118103, + 13412249197, 13412380291, 13412511377, 13412642449, 13412773529, 13412904607, 13413035687, + 13413166813, 13413297901, 13413428999, 13413560081, 13413691153, 13413822241, 13413953351, + 13414084427, 13414215557, 13414346639, 13414477721, 13414608799, 13414739893, 13414871009, + 13415002109, 13415133187, 13415264263, 13415395337, 13415526413, 13415657501, 13415788583, + 13415919659, 13416050743, 13416181853, 13416312941, 13416444023, 13416575113, 13416706231, + 13416837311, 13416968413, 13417099573, 13417230679, 13417361753, 13417492871, 13417623971, + 13417755083, 13417886173, 13418017247, 13418148343, 13418279443, 13418410517, 13418541629, + 13418672711, 13418803787, 13418934871, 13419065963, 13419197047, 13419328121, 13419459197, + 13419590287, 13419721373, 13419852469, 13419983569, 13420114649, 13420245731, 13420376831, + 13420507907, 13420639013, 13420770113, 13420901261, 13421032367, 13421163449, 13421294533, + 13421425613, 13421556691, 13421687779, 13421818859, 13421949971, 13422081097, 13422212173, + 13422343279, 13422474419, 13422605501, 13422736573, 13422867673, 13422998747, 13423129877, + 13423260953, 13423392053, 13423523147, 13423654267, 13423785341, 13423916417, 13424047489, + 13424178577, 13424309653, 13424440769, 13424571857, 13424702957, 13424834069, 13424965181, + 13425096253, 13425227357, 13425358433, 13425489529, 13425620627, 13425751721, 13425882793, + 13426013903, 13426144987, 13426276117, 13426407199, 13426538287, 13426669363, 13426800437, + 13426931509, 13427062679, 13427193751, 13427324849, 13427455949, 13427587067, 13427718149, + 13427849251, 13427980327, 13428111409, 13428242497, 13428373583, 13428504659, 13428635761, + 13428766849, 13428897931, 13429029091, 13429160189, 13429291327, 13429422427, 13429553539, + 13429684649, 13429815739, 13429946863, 13430077943, 13430209061, 13430340173, 13430471267, + 13430602343, 13430733419, 13430864549, 13430995631, 13431126703, 13431257837, 13431388909, + 13431519991, 13431651073, 13431782149, 13431913249, 13432044349, 13432175429, 13432306501, + 13432437593, 13432568713, 13432699789, 13432830883, 13432961957, 13433093033, 13433224139, + 13433355223, 13433486303, 13433617381, 13433748473, 13433879561, 13434010643, 13434141731, + 13434272821, 13434403909, 13434535003, 13434666107, 13434797183, 13434928267, 13435059359, + 13435190437, 13435321567, 13435452707, 13435583809, 13435714933, 13435846013, 13435977089, + 13436108167, 13436239247, 13436370361, 13436501437, 13436632513, 13436763611, 13436894693, + 13437025781, 13437156883, 13437288001, 13437419101, 13437550183, 13437681289, 13437812371, + 13437943483, 13438074571, 13438205647, 13438336729, 13438467803, 13438598897, 13438729973, + 13438861049, 13438992137, 13439123209, 13439254321, 13439385403, 13439516477, 13439647561, + 13439778697, 13439909789, 13440040883, 13440171991, 13440303103, 13440434197, 13440565273, + 13440696359, 13440827447, 13440958519, 13441089601, 13441220699, 13441351771, 13441482853, + 13441613953, 13441745039, 13441876127, 13442007209, 13442138287, 13442269361, 13442400437, + 13442531537, 13442662619, 13442793691, 13442924773, 13443055859, 13443186971, 13443318067, + 13443449167, 13443580253, 13443711331, 13443842473, 13443973561, 13444104637, 13444235711, + 13444366787, 13444497883, 13444628963, 13444760071, 13444891151, 13445022229, 13445153327, + 13445284399, 13445415491, 13445546599, 13445677681, 13445808773, 13445939977, 13446071057, + 13446202141, 13446333223, 13446464327, 13446595411, 13446726533, 13446857653, 13446988747, + 13447119859, 13447250963, 13447382051, 13447513127, 13447644229, 13447775303, 13447906379, + 13448037481, 13448168651, 13448299759, 13448430833, 13448561923, 13448693033, 13448824111, + 13448955217, 13449086297, 13449217373, 13449348511, 13449479599, 13449610711, 13449741827, + 13449872903, 13450003991, 13450135073, 13450266169, 13450397249, 13450528321, 13450659401, + 13450790519, 13450921637, 13451052733, 13451183807, 13451314939, 13451446069, 13451577157, + 13451708239, 13451839321, 13451970397, 13452101473, 13452232601, 13452363677, 13452494749, + 13452625831, 13452756907, 13452888017, 13453019093, 13453150169, 13453281263, 13453412339, + 13453543421, 13453674499, 13453805591, 13453936681, 13454067763, 13454198867, 13454329957, + 13454461037, 13454592121, 13454723197, 13454854271, 13454985343, 13455116417, 13455247493, + 13455378631, 13455509719, 13455640829, 13455771977, 13455903067, 13456034143, 13456165297, + 13456296377, 13456427459, 13456558541, 13456689619, 13456820693, 13456951777, 13457082851, + 13457213929, 13457345003, 13457476103, 13457607179, 13457738257, 13457869333, 13458000421, + 13458131539, 13458262621, 13458393713, 13458524813, 13458655943, 13458787129, 13458918217, + 13459049309, 13459180403, 13459311583, 13459442719, 13459573871, 13459704971, 13459836043, + 13459967123, 13460098207, 13460229329, 13460360429, 13460491501, 13460622587, 13460753671, + 13460884747, 13461015829, 13461146903, 13461277997, 13461409127, 13461540199, 13461671273, + 13461802391, 13461933473, 13462064573, 13462195657, 13462326739, 13462457839, 13462588957, + 13462720049, 13462851131, 13462982231, 13463113303, 13463244407, 13463375567, 13463506663, + 13463637751, 13463768831, 13463899907, 13464030989, 13464162097, 13464293203, 13464424301, + 13464555463, 13464686551, 13464817627, 13464948773, 13465079861, 13465210949, 13465342067, + 13465473157, 13465604263, 13465735373, 13465866493, 13465997569, 13466128649, 13466259743, + 13466390843, 13466521927, 13466653033, 13466784127, 13466915201, 13467046301, 13467177377, + 13467308527, 13467439613, 13467570707, 13467701803, 13467832943, 13467964031, 13468095103, + 13468226227, 13468357303, 13468488379, 13468619453, 13468750541, 13468881617, 13469012693, + 13469143801, 13469274883, 13469405969, 13469537099, 13469668187, 13469799263, 13469930351, + 13470061477, 13470192553, 13470323627, 13470454703, 13470585803, 13470716893, 13470847993, + 13470979079, 13471110161, 13471241233, 13471372357, 13471503431, 13471634503, 13471765577, + 13471896649, 13472027731, 13472158807, 13472289947, 13472421071, 13472552143, 13472683219, + 13472814293, 13472945389, 13473076483, 13473207563, 13473338647, 13473469727, 13473600823, + 13473731923, 13473863003, 13473994081, 13474125163, 13474256273, 13474387387, 13474518469, + 13474649579, 13474780663, 13474911757, 13475042837, 13475173931, 13475305009, 13475436089, + 13475567167, 13475698241, 13475829379, 13475960471, 13476091571, 13476222649, 13476353783, + 13476484859, 13476615949, 13476747023, 13476878099, 13477009207, 13477140293, 13477271477, + 13477402577, 13477533757, 13477664891, 13477796011, 13477927091, 13478058197, 13478189279, + 13478320379, 13478451451, 13478582599, 13478713681, 13478844761, 13478975833, 13479106913, + 13479237991, 13479369091, 13479500171, 13479631261, 13479762341, 13479893437, 13480024511, + 13480155631, 13480286707, 13480417781, 13480548859, 13480679969, 13480811041, 13480942121, + 13481073209, 13481204281, 13481335403, 13481466487, 13481597579, 13481728651, 13481859737, + 13481990813, 13482121903, 13482253013, 13482384109, 13482515209, 13482646283, 13482777377, + 13482908513, 13483039639, 13483170739, 13483301827, 13483432903, 13483563979, 13483695077, + 13483826203, 13483957283, 13484088361, 13484219449, 13484350541, 13484481623, 13484612699, + 13484743777, 13484874877, 13485006023, 13485137111, 13485268273, 13485399391, 13485530501, + 13485661589, 13485792737, 13485923833, 13486054913, 13486185989, 13486317121, 13486448203, + 13486579307, 13486710383, 13486841479, 13486972613, 13487103703, 13487234777, 13487365867, + 13487496943, 13487628041, 13487759141, 13487890237, 13488021331, 13488152411, 13488283513, + 13488414593, 13488545689, 13488676801, 13488807881, 13488939011, 13489070093, 13489201171, + 13489332247, 13489463321, 13489594427, 13489725499, 13489856579, 13489987673, 13490118757, + 13490249833, 13490380909, 13490511997, 13490643107, 13490774183, 13490905279, 13491036367, + 13491167467, 13491298607, 13491429683, 13491560801, 13491691891, 13491822983, 13491954061, + 13492085137, 13492216223, 13492347299, 13492478371, 13492609447, 13492740551, 13492871629, + 13493002709, 13493133799, 13493264881, 13493395963, 13493527037, 13493658151, 13493789263, + 13493920337, 13494051409, 13494182491, 13494313607, 13494444697, 13494575777, 13494706867, + 13494837991, 13494969091, 13495100183, 13495231291, 13495362371, 13495493497, 13495624577, + 13495755649, 13495886749, 13496017841, 13496148929, 13496280037, 13496411143, 13496542219, + 13496673293, 13496804369, 13496935447, 13497066521, 13497197639, 13497328727, 13497459823, + 13497590903, 13497721987, 13497853073, 13497984151, 13498115233, 13498246319, 13498377443, + 13498508537, 13498639631, 13498770707, 13498901789, 13499032861, 13499163961, 13499295053, + 13499426189, 13499557261, 13499688359, 13499819483, 13499950559, 13500081643, 13500212741, + 13500343837, 13500474913, 13500606011, 13500737101, 13500868181, 13500999257, 13501130399, + 13501261493, 13501392581, 13501523669, 13501654763, 13501785863, 13501916951, 13502048051, + 13502179151, 13502310251, 13502441353, 13502572429, 13502703503, 13502834621, 13502965727, + 13503096829, 13503227909, 13503358987, 13503490103, 13503621199, 13503752309, 13503883381, + 13504014493, 13504145581, 13504276661, 13504407733, 13504538813, 13504669939, 13504801039, + 13504932121, 13505063213, 13505194289, 13505325371, 13505456473, 13505587549, 13505718631, + 13505849741, 13505980819, 13506111893, 13506242999, 13506374071, 13506505249, 13506636331, + 13506767419, 13506898499, 13507029607, 13507160699, 13507291799, 13507422881, 13507553963, + 13507685039, 13507816111, 13507947197, 13508078323, 13508209439, 13508340583, 13508471659, + 13508602733, 13508733827, 13508864899, 13508995999, 13509127081, 13509258197, 13509389293, + 13509520369, 13509651457, 13509782537, 13509913631, 13510044739, 13510175831, 13510306913, + 13510437991, 13510569071, 13510700149, 13510831231, 13510962307, 13511093443, 13511224537, + 13511355631, 13511486713, 13511617787, 13511748881, 13511879993, 13512011087, 13512142159, + 13512273283, 13512404387, 13512535499, 13512666571, 13512797647, 13512928721, 13513059793, + 13513190881, 13513321957, 13513453081, 13513584173, 13513715263, 13513846447, 13513977551, + 13514108627, 13514239699, 13514370773, 13514501879, 13514633009, 13514764111, 13514895257, + 13515026351, 13515157429, 13515288511, 13515419609, 13515550703, 13515681791, 13515812879, + 13515943963, 13516075039, 13516206169, 13516337273, 13516468367, 13516599461, 13516730533, + 13516861609, 13516992707, 13517123783, 13517254901, 13517385989, 13517517061, 13517648149, + 13517779271, 13517910401, 13518041491, 13518172597, 13518303671, 13518434747, 13518565849, + 13518696929, 13518828067, 13518959149, 13519090223, 13519221301, 13519352383, 13519483477, + 13519614571, 13519745689, 13519876793, 13520007869, 13520138953, 13520270053, 13520401151, + 13520532241, 13520663339, 13520794453, 13520925533, 13521056623, 13521187699, 13521318791, + 13521449863, 13521580967, 13521712129, 13521843227, 13521974303, 13522105379, 13522236451, + 13522367539, 13522498631, 13522629737, 13522760831, 13522891903, 13523023013, 13523154109, + 13523285263, 13523416351, 13523547437, 13523678521, 13523809597, 13523940701, 13524071791, + 13524202919, 13524334039, 13524465113, 13524596191, 13524727273, 13524858353, 13524989447, + 13525120577, 13525251661, 13525382771, 13525513909, 13525644989, 13525776109, 13525907221, + 13526038319, 13526169409, 13526300497, 13526431571, 13526562659, 13526693749, 13526824823, + 13526955919, 13527087001, 13527218077, 13527349151, 13527480229, 13527611309, 13527742381, + 13527873521, 13528004597, 13528135697, 13528266809, 13528397881, 13528529023, 13528660097, + 13528791169, 13528922243, 13529053319, 13529184391, 13529315467, 13529446573, 13529577679, + 13529708771, 13529839847, 13529970929, 13530102023, 13530233159, 13530364241, 13530495337, + 13530626429, 13530757511, 13530888599, 13531019683, 13531150777, 13531281857, 13531412953, + 13531544029, 13531675103, 13531806193, 13531937269, 13532068393, 13532199469, 13532330549, + 13532461627, 13532592751, 13532723839, 13532854943, 13532986043, 13533117127, 13533248213, + 13533379289, 13533510377, 13533641489, 13533772597, 13533903671, 13534034743, 13534165829, + 13534296943, 13534428031, 13534559119, 13534690207, 13534821281, 13534952381, 13535083483, + 13535214557, 13535345657, 13535476741, 13535607817, 13535738903, 13535869987, 13536001067, + 13536132149, 13536263267, 13536394357, 13536525461, 13536656537, 13536787613, 13536918701, + 13537049777, 13537180859, 13537311943, 13537443071, 13537574143, 13537705231, 13537836379, + 13537967491, 13538098583, 13538229689, 13538360807, 13538491991, 13538623093, 13538754199, + 13538885287, 13539016391, 13539147473, 13539278561, 13539409649, 13539540737, 13539671819, + 13539802907, 13539934003, 13540065127, 13540196221, 13540327303, 13540458413, 13540589527, + 13540720657, 13540851749, 13540982827, 13541113919, 13541245001, 13541376083, 13541507201, + 13541638273, 13541769347, 13541900467, 13542031541, 13542162629, 13542293707, 13542424787, + 13542555877, 13542686977, 13542818059, 13542949151, 13543080253, 13543211333, 13543342409, + 13543473481, 13543604587, 13543735687, 13543866797, 13543997891, 13544129029, 13544260151, + 13544391229, 13544522311, 13544653387, 13544784481, 13544915561, 13545046637, 13545177757, + 13545308831, 13545439931, 13545571019, 13545702097, 13545833183, 13545964261, 13546095337, + 13546226413, 13546357519, 13546488611, 13546619759, 13546750871, 13546881961, 13547013083, + 13547144179, 13547275289, 13547406371, 13547537449, 13547668531, 13547799611, 13547930699, + 13548061799, 13548192871, 13548323947, 13548455069, 13548586141, 13548717223, 13548848297, + 13548979373, 13549110467, 13549241549, 13549372631, 13549503731, 13549634803, 13549765909, + 13549897003, 13550028169, 13550159297, 13550290379, 13550421473, 13550552579, 13550683661, + 13550814749, 13550945827, 13551076919, 13551207997, 13551339077, 13551470203, 13551601277, + 13551732373, 13551863467, 13551994543, 13552125623, 13552256699, 13552387799, 13552518907, + 13552649983, 13552781057, 13552912133, 13553043239, 13553174357, 13553305433, 13553436509, + 13553567593, 13553698723, 13553829799, 13553960887, 13554091987, 13554223141, 13554354217, + 13554485299, 13554616403, 13554747517, 13554878599, 13555009691, 13555140773, 13555271857, + 13555402967, 13555534049, 13555665163, 13555796299, 13555927387, 13556058469, 13556189579, + 13556320667, 13556451749, 13556582849, 13556713939, 13556845051, 13556976193, 13557107309, + 13557238411, 13557369487, 13557500587, 13557631679, 13557762761, 13557893857, 13558024939, + 13558156039, 13558287187, 13558418267, 13558549357, 13558680431, 13558811503, 13558942601, + 13559073677, 13559204753, 13559335837, 13559466913, 13559598011, 13559729083, 13559860217, + 13559991293, 13560122371, 13560253493, 13560384619, 13560515693, 13560646787, 13560777863, + 13560908939, 13561040011, 13561171087, 13561302163, 13561433309, 13561564427, 13561695527, + 13561826599, 13561957679, 13562088763, 13562219861, 13562350951, 13562482039, 13562613143, + 13562744303, 13562875397, 13563006481, 13563137561, 13563268633, 13563399719, 13563530791, + 13563661873, 13563792947, 13563924029, 13564055143, 13564186217, 13564317293, 13564448411, + 13564579487, 13564710571, 13564841651, 13564972739, 13565103847, 13565234959, 13565366041, + 13565497117, 13565628281, 13565759353, 13565890453, 13566021533, 13566152617, 13566283697, + 13566414769, 13566545849, 13566676931, 13566808063, 13566939163, 13567070291, 13567201369, + 13567332461, 13567463543, 13567594619, 13567725709, 13567856803, 13567987889, 13568118973, + 13568250053, 13568381131, 13568512207, 13568643281, 13568774357, 13568905429, 13569036517, + 13569167609, 13569298709, 13569429787, 13569560887, 13569691973, 13569823049, 13569954127, + 13570085201, 13570216307, 13570347391, 13570478539, 13570609627, 13570740721, 13570871807, + 13571002883, 13571133959, 13571265031, 13571396119, 13571527199, 13571658283, 13571789369, + 13571920469, 13572051547, 13572182623, 13572313759, 13572444841, 13572575927, 13572707009, + 13572838217, 13572969379, 13573100477, 13573231559, 13573362661, 13573493831, 13573624903, + 13573755977, 13573887073, 13574018149, 13574149229, 13574280301, 13574411419, 13574542543, + 13574673643, 13574804797, 13574935889, 13575067003, 13575198079, 13575329153, 13575460243, + 13575591317, 13575722389, 13575853463, 13575984551, 13576115627, 13576246703, 13576377791, + 13576508867, 13576639957, 13576771049, 13576902121, 13577033251, 13577164331, 13577295419, + 13577426497, 13577557577, 13577688653, 13577819753, 13577950831, 13578081911, 13578212993, + 13578344077, 13578475151, 13578606227, 13578737317, 13578868397, 13578999503, 13579130629, + 13579261711, 13579392793, 13579523873, 13579654969, 13579786043, 13579917121, 13580048203, + 13580179381, 13580310521, 13580441593, 13580572669, 13580703761, 13580834843, 13580965927, + 13581097009, 13581228083, 13581359161, 13581490243, 13581621331, 13581752447, 13581883597, + 13582014751, 13582145827, 13582276919, 13582408019, 13582539107, 13582670219, 13582801291, + 13582932409, 13583063503, 13583194613, 13583325697, 13583456791, 13583587873, 13583718949, + 13583850031, 13583981107, 13584112183, 13584243259, 13584374339, 13584505447, 13584636529, + 13584767629, 13584898703, 13585029793, 13585160879, 13585291997, 13585423091, 13585554179, + 13585685263, 13585816357, 13585947467, 13586078551, 13586209631, 13586340739, 13586471813, + 13586602891, 13586733973, 13586865079, 13586996201, 13587127273, 13587258403, 13587389503, + 13587520591, 13587651683, 13587782773, 13587913847, 13588044979, 13588176073, 13588307147, + 13588438247, 13588569331, 13588700417, 13588831489, 13588962571, 13589093659, 13589224813, + 13589355907, 13589487007, 13589618111, 13589749231, 13589880329, 13590011417, 13590142507, + 13590273607, 13590404699, 13590535817, 13590666907, 13590797981, 13590929071, 13591060201, + 13591191307, 13591322387, 13591453487, 13591584571, 13591715659, 13591846771, 13591977871, + 13592108947, 13592240021, 13592371103, 13592502191, 13592633267, 13592764417, 13592895497, + 13593026593, 13593157679, 13593288763, 13593419867, 13593550961, 13593682043, 13593813137, + 13593944249, 13594075321, 13594206427, 13594337503, 13594468583, 13594599677, 13594730761, + 13594861853, 13594992941, 13595124041, 13595255137, 13595386229, 13595517311, 13595648383, + 13595779489, 13595910569, 13596041651, 13596172771, 13596303883, 13596434963, 13596566047, + 13596697139, 13596828247, 13596959323, 13597090411, 13597221493, 13597352581, 13597483687, + 13597614763, 13597745933, 13597877011, 13598008129, 13598139229, 13598270321, 13598401409, + 13598532499, 13598663581, 13598794663, 13598925793, 13599056869, 13599187969, 13599319057, + 13599450131, 13599581221, 13599712331, 13599843419, 13599974503, 13600105601, 13600236673, + 13600367747, 13600498823, 13600629943, 13600761023, 13600892147, 13601023223, 13601154337, + 13601285437, 13601416511, 13601547667, 13601678747, 13601809831, 13601940971, 13602072061, + 13602203141, 13602334223, 13602465299, 13602596377, 13602727469, 13602858551, 13602989639, + 13603120711, 13603251791, 13603382869, 13603513969, 13603645103, 13603776181, 13603907281, + 13604038387, 13604169463, 13604300539, 13604431639, 13604562773, 13604693891, 13604824969, + 13604956051, 13605087127, 13605218203, 13605349357, 13605480431, 13605611519, 13605742597, + 13605873679, 13606004767, 13606135841, 13606266913, 13606397993, 13606529113, 13606660187, + 13606791277, 13606922387, 13607053501, 13607184587, 13607315713, 13607446789, 13607577881, + 13607709001, 13607840173, 13607971261, 13608102359, 13608233449, 13608364559, 13608495683, + 13608626777, 13608757849, 13608888941, 13609020043, 13609151159, 13609282279, 13609413379, + 13609544471, 13609675561, 13609806643, 13609937717, 13610068837, 13610199923, 13610331071, + 13610462153, 13610593273, 13610724389, 13610855473, 13610986559, 13611117679, 13611248753, + 13611379843, 13611510917, 13611641999, 13611773093, 13611904169, 13612035263, 13612166341, + 13612297441, 13612428527, 13612559677, 13612690759, 13612821853, 13612952989, 13613084113, + 13613215207, 13613346301, 13613477393, 13613608469, 13613739541, 13613870629, 13614001703, + 13614132793, 13614263879, 13614394987, 13614526073, 13614657167, 13614788273, 13614919403, + 13615050511, 13615181599, 13615312679, 13615443799, 13615574881, 13615705963, 13615837051, + 13615968169, 13616099251, 13616230343, 13616361431, 13616492503, 13616623597, 13616754677, + 13616885801, 13617016913, 13617148031, 13617279103, 13617410197, 13617541279, 13617672389, + 13617803477, 13617934549, 13618065631, 13618196717, 13618327823, 13618458911, 13618590001, + 13618721101, 13618852189, 13618983289, 13619114363, 13619245447, 13619376553, 13619507639, + 13619638717, 13619769859, 13619900951, 13620032053, 13620163127, 13620294203, 13620425293, + 13620556381, 13620687463, 13620818539, 13620949613, 13621080689, 13621211819, 13621342901, + 13621474001, 13621605073, 13621736159, 13621867247, 13621998359, 13622129453, 13622260541, + 13622391637, 13622522737, 13622653813, 13622784919, 13622916011, 13623047111, 13623178183, + 13623309269, 13623440359, 13623571433, 13623702509, 13623833659, 13623964741, 13624095847, + 13624226933, 13624358117, 13624489211, 13624620287, 13624751359, 13624882451, 13625013559, + 13625144633, 13625275723, 13625406803, 13625537903, 13625668981, 13625800057, 13625931131, + 13626062227, 13626193303, 13626324391, 13626455467, 13626586541, 13626717631, 13626848759, + 13626979843, 13627110941, 13627242017, 13627373101, 13627504183, 13627635331, 13627766437, + 13627897513, 13628028593, 13628159711, 13628290789, 13628421871, 13628552981, 13628684123, + 13628815237, 13628946311, 13629077383, 13629208477, 13629339551, 13629470629, 13629601747, + 13629732827, 13629863941, 13629995051, 13630126127, 13630257203, 13630388279, 13630519351, + 13630650437, 13630781513, 13630912621, 13631043709, 13631174783, 13631305861, 13631436937, + 13631568023, 13631699119, 13631830207, 13631961323, 13632092429, 13632223511, 13632354607, + 13632485719, 13632616807, 13632747881, 13632878983, 13633010057, 13633141133, 13633272209, + 13633403339, 13633534427, 13633665499, 13633796581, 13633927771, 13634058847, 13634189927, + 13634321009, 13634452123, 13634583223, 13634714299, 13634845373, 13634976469, 13635107557, + 13635238691, 13635369799, 13635500881, 13635631973, 13635763073, 13635894193, 13636025297, + 13636156447, 13636287521, 13636418597, 13636549697, 13636680769, 13636811843, 13636942927, + 13637074007, 13637205083, 13637336171, 13637467271, 13637598361, 13637729437, 13637860517, + 13637991623, 13638122741, 13638253819, 13638384913, 13638515993, 13638647093, 13638778169, + 13638909257, 13639040329, 13639171409, 13639302577, 13639433657, 13639564733, 13639695809, + 13639826881, 13639957957, 13640089033, 13640220109, 13640351189, 13640482279, 13640613359, + 13640744437, 13640875511, 13641006629, 13641137701, 13641268783, 13641399917, 13641531011, + 13641662101, 13641793199, 13641924287, 13642055377, 13642186477, 13642317583, 13642448657, + 13642579733, 13642710827, 13642841911, 13642973033, 13643104151, 13643235227, 13643366299, + 13643497403, 13643628491, 13643759603, 13643890723, 13644021799, 13644152887, 13644283973, + 13644415049, 13644546131, 13644677203, 13644808327, 13644939409, 13645070513, 13645201613, + 13645332697, 13645463771, 13645594873, 13645725949, 13645857037, 13645988149, 13646119229, + 13646250323, 13646381447, 13646512541, 13646643617, 13646774689, 13646905799, 13647036961, + 13647168071, 13647299147, 13647430231, 13647561337, 13647692447, 13647823531, 13647954641, + 13648085747, 13648216823, 13648347931, 13648479011, 13648610093, 13648741177, 13648872287, + 13649003383, 13649134459, 13649265563, 13649396653, 13649527769, 13649658851, 13649789939, + 13649921029, 13650052123, 13650183247, 13650314333, 13650445427, 13650576503, 13650707579, + 13650838681, 13650969763, 13651100851, 13651231927, 13651363013, 13651494119, 13651625219, + 13651756309, 13651887397, 13652018473, 13652149559, 13652280667, 13652411771, 13652542861, + 13652673943, 13652805119, 13652936233, 13653067343, 13653198421, 13653329563, 13653460643, + 13653591773, 13653722891, 13653854009, 13653985127, 13654116227, 13654247303, 13654378411, + 13654509487, 13654640599, 13654771681, 13654902761, 13655033839, 13655164927, 13655296001, + 13655427073, 13655558171, 13655689337, 13655820427, 13655951501, 13656082579, 13656213661, + 13656344777, 13656475907, 13656606989, 13656738077, 13656869159, 13657000241, 13657131329, + 13657262413, 13657393493, 13657524581, 13657655681, 13657786771, 13657917857, 13658048933, + 13658180009, 13658311123, 13658442197, 13658573281, 13658704361, 13658835439, 13658966527, + 13659097649, 13659228721, 13659359809, 13659490891, 13659621979, 13659753053, 13659884131, + 13660015207, 13660146293, 13660277387, 13660408583, 13660539671, 13660670747, 13660801841, + 13660932931, 13661064007, 13661195083, 13661326201, 13661457289, 13661588483, 13661719559, + 13661850689, 13661981783, 13662112859, 13662243937, 13662375017, 13662506089, 13662637181, + 13662768263, 13662899353, 13663030529, 13663161623, 13663292723, 13663423831, 13663554929, + 13663686067, 13663817147, 13663948231, 13664079323, 13664210419, 13664341501, 13664472583, + 13664603663, 13664734757, 13664865847, 13664996957, 13665128053, 13665259151, 13665390253, + 13665521327, 13665652439, 13665783539, 13665914611, 13666045741, 13666176889, 13666307983, + 13666439057, 13666570171, 13666701271, 13666832351, 13666963433, 13667094547, 13667225639, + 13667356831, 13667487913, 13667618989, 13667750101, 13667881223, 13668012329, 13668143407, + 13668274531, 13668405613, 13668536689, 13668667763, 13668798851, 13668929927, 13669061009, + 13669192081, 13669323163, 13669454257, 13669585367, 13669716443, 13669847579, 13669978657, + 13670109737, 13670240833, 13670371927, 13670503013, 13670634127, 13670765249, 13670896333, + 13671027449, 13671158537, 13671289627, 13671420713, 13671551833, 13671682907, 13671814007, + 13671945113, 13672076237, 13672207309, 13672338389, 13672469471, 13672600553, 13672731643, + 13672862717, 13672993799, 13673124877, 13673256001, 13673387083, 13673518171, 13673649289, + 13673780383, 13673911457, 13674042539, 13674173621, 13674304703, 13674435791, 13674566897, + 13674697969, 13674829139, 13674960217, 13675091299, 13675222381, 13675353463, 13675484551, + 13675615627, 13675746727, 13675877827, 13676008901, 13676140013, 13676271101, 13676402183, + 13676533267, 13676664359, 13676795437, 13676926559, 13677057649, 13677188761, 13677319837, + 13677450911, 13677581993, 13677713083, 13677844177, 13677975253, 13678106329, 13678237423, + 13678368497, 13678499587, 13678630697, 13678761773, 13678892849, 13679023921, 13679155037, + 13679286121, 13679417203, 13679548291, 13679679367, 13679810467, 13679941571, 13680072649, + 13680203729, 13680334817, 13680465889, 13680596971, 13680728051, 13680859139, 13680990229, + 13681121317, 13681252391, 13681383467, 13681514573, 13681645711, 13681776791, 13681907867, + 13682038939, 13682170037, 13682301121, 13682432321, 13682563397, 13682694481, 13682825579, + 13682956711, 13683087787, 13683218863, 13683349961, 13683481051, 13683612149, 13683743221, + 13683874301, 13684005403, 13684136483, 13684267577, 13684398667, 13684529743, 13684660817, + 13684791893, 13684923023, 13685054147, 13685185313, 13685316397, 13685447473, 13685578549, + 13685709623, 13685840717, 13685971807, 13686102883, 13686233963, 13686365107, 13686496183, + 13686627271, 13686758353, 13686889429, 13687020511, 13687151591, 13687282669, 13687413749, + 13687544851, 13687675927, 13687807013, 13687938091, 13688069173, 13688200247, 13688331323, + 13688462401, 13688593489, 13688724563, 13688855647, 13688986763, 13689117847, 13689248921, + 13689380011, 13689511091, 13689642179, 13689773287, 13689904409, 13690035487, 13690166563, + 13690297657, 13690428761, 13690559837, 13690690961, 13690822087, 13690953161, 13691084233, + 13691215337, 13691346433, 13691477531, 13691608603, 13691739727, 13691870807, 13692001889, + 13692132989, 13692264133, 13692395237, 13692526321, 13692657397, 13692788479, 13692919627, + 13693050731, 13693181863, 13693312937, 13693444021, 13693575097, 13693706189, 13693837273, + 13693968349, 13694099453, 13694230531, 13694361649, 13694492729, 13694623801, 13694754917, + 13694885999, 13695017081, 13695148177, 13695279253, 13695410381, 13695541459, 13695672533, + 13695803633, 13695934751, 13696065853, 13696196933, 13696328033, 13696459141, 13696590241, + 13696721317, 13696852397, 13696983539, 13697114621, 13697245739, 13697376851, 13697507927, + 13697639027, 13697770157, 13697901253, 13698032357, 13698163447, 13698294581, 13698425681, + 13698556763, 13698687841, 13698818921, 13698949993, 13699081069, 13699212157, 13699343239, + 13699474333, 13699605407, 13699736521, 13699867627, 13699998707, 13700129809, 13700260927, + 13700392001, 13700523139, 13700654213, 13700785309, 13700916433, 13701047527, 13701178607, + 13701309689, 13701440773, 13701571867, 13701702961, 13701834049, 13701965213, 13702096301, + 13702227373, 13702358489, 13702489561, 13702620641, 13702751729, 13702882811, 13703013893, + 13703145011, 13703276129, 13703407231, 13703538311, 13703669389, 13703800463, 13703931539, + 13704062621, 13704193703, 13704324779, 13704455881, 13704586963, 13704718037, 13704849121, + 13704980203, 13705111283, 13705242361, 13705373443, 13705504529, 13705635607, 13705766681, + 13705897781, 13706028859, 13706159947, 13706291029, 13706422133, 13706553221, 13706684347, + 13706815481, 13706946569, 13707077689, 13707208799, 13707339931, 13707471013, 13707602087, + 13707733181, 13707864341, 13707995429, 13708126507, 13708257593, 13708388747, 13708519829, + 13708650919, 13708782007, 13708913111, 13709044187, 13709175269, 13709306353, 13709437429, + 13709568511, 13709699593, 13709830679, 13709961773, 13710092909, 13710223997, 13710355091, + 13710486173, 13710617309, 13710748399, 13710879499, 13711010581, 13711141667, 13711272793, + 13711403879, 13711534951, 13711666049, 13711797131, 13711928207, 13712059279, 13712190383, + 13712321473, 13712452631, 13712583713, 13712714801, 13712845879, 13712976971, 13713108049, + 13713239149, 13713370259, 13713501331, 13713632417, 13713763489, 13713894581, 13714025683, + 13714156777, 13714287857, 13714418947, 13714550033, 13714681199, 13714812281, 13714943371, + 13715074453, 13715205533, 13715336617, 13715467693, 13715598779, 13715729879, 13715860979, + 13715992057, 13716123131, 13716254213, 13716385301, 13716516389, 13716647501, 13716778631, + 13716909707, 13717040783, 13717171877, 13717302967, 13717434041, 13717565129, 13717696207, + 13717827301, 13717958377, 13718089459, 13718220541, 13718351623, 13718482709, 13718613803, + 13718744899, 13718876011, 13719007091, 13719138163, 13719269251, 13719400337, 13719531409, + 13719662497, 13719793573, 13719924653, 13720055747, 13720186819, 13720317913, 13720448993, + 13720580089, 13720711183, 13720842277, 13720973351, 13721104451, 13721235523, 13721366627, + 13721497709, 13721628839, 13721759923, 13721891009, 13722022109, 13722153197, 13722284297, + 13722415379, 13722546457, 13722677539, 13722808637, 13722939739, 13723070861, 13723201939, + 13723333027, 13723464113, 13723595191, 13723726267, 13723857341, 13723988419, 13724119579, + 13724250689, 13724381761, 13724512847, 13724643937, 13724775013, 13724906147, 13725037219, + 13725168311, 13725299417, 13725430489, 13725561571, 13725692689, 13725823819, 13725954911, + 13726085987, 13726217077, 13726348189, 13726479289, 13726610369, 13726741499, 13726872583, + 13727003747, 13727134819, 13727265991, 13727397097, 13727528179, 13727659259, 13727790347, + 13727921423, 13728052519, 13728183643, 13728314737, 13728445831, 13728576913, 13728707987, + 13728839077, 13728970153, 13729101227, 13729232357, 13729363457, 13729494529, 13729625627, + 13729756721, 13729887823, 13730018899, 13730149991, 13730281063, 13730412139, 13730543213, + 13730674367, 13730805467, 13730936539, 13731067621, 13731198731, 13731329839, 13731460927, + 13731592001, 13731723107, 13731854183, 13731985261, 13732116403, 13732247479, 13732378559, + 13732509631, 13732640731, 13732771807, 13732902893, 13733033983, 13733165081, 13733296153, + 13733427251, 13733558323, 13733689427, 13733820571, 13733951657, 13734082729, 13734213811, + 13734344891, 13734475973, 13734607087, 13734738161, 13734869243, 13735000379, 13735131451, + 13735262537, 13735393613, 13735524713, 13735655797, 13735786891, 13735918037, 13736049139, + 13736180233, 13736311331, 13736442413, 13736573489, 13736704589, 13736835677, 13736966753, + 13737097867, 13737228941, 13737360023, 13737491107, 13737622189, 13737753277, 13737884351, + 13738015439, 13738146547, 13738277653, 13738408819, 13738539907, 13738670987, 13738802087, + 13738933177, 13739064263, 13739195341, 13739326427, 13739457527, 13739588623, 13739719723, + 13739850809, 13739981881, 13740113027, 13740244099, 13740375197, 13740506293, 13740637367, + 13740768443, 13740899527, 13741030607, 13741161683, 13741292783, 13741423907, 13741555007, + 13741686097, 13741817233, 13741948321, 13742079397, 13742210497, 13742341619, 13742472691, + 13742603827, 13742734921, 13742866009, 13742997101, 13743128173, 13743259273, 13743390373, + 13743521483, 13743652577, 13743783659, 13743914747, 13744045831, 13744176937, 13744308029, + 13744439119, 13744570201, 13744701329, 13744832417, 13744963513, 13745094599, 13745225731, + 13745356811, 13745487911, 13745619001, 13745750087, 13745881169, 13746012271, 13746143357, + 13746274441, 13746405527, 13746536603, 13746667691, 13746798797, 13746929873, 13747060997, + 13747192073, 13747323199, 13747454297, 13747585403, 13747716503, 13747847591, 13747978679, + 13748109751, 13748240881, 13748371961, 13748503057, 13748634131, 13748765279, 13748896351, + 13749027427, 13749158519, 13749289591, 13749420689, 13749551773, 13749682847, 13749813929, + 13749945019, 13750076099, 13750207193, 13750338271, 13750469353, 13750600469, 13750731559, + 13750862689, 13750993777, 13751124853, 13751255929, 13751387059, 13751518133, 13751649217, + 13751780321, 13751911423, 13752042523, 13752173623, 13752304721, 13752435803, 13752566911, + 13752697999, 13752829117, 13752960191, 13753091267, 13753222387, 13753353463, 13753484543, + 13753615619, 13753746737, 13753877923, 13754009011, 13754140087, 13754271169, 13754402243, + 13754533321, 13754664397, 13754795471, 13754926561, 13755057637, 13755188729, 13755319807, + 13755450911, 13755582007, 13755713087, 13755844231, 13755975349, 13756106423, 13756237499, + 13756368583, 13756499677, 13756630787, 13756761899, 13756892977, 13757024051, 13757155171, + 13757286253, 13757417341, 13757548447, 13757679521, 13757810597, 13757941669, 13758072751, + 13758203857, 13758334943, 13758466079, 13758597157, 13758728231, 13758859333, 13758990449, + 13759121521, 13759252657, 13759383773, 13759514849, 13759645937, 13759777019, 13759908157, + 13760039231, 13760170321, 13760301403, 13760432503, 13760563577, 13760694719, 13760825801, + 13760956883, 13761087959, 13761219061, 13761350137, 13761481229, 13761612313, 13761743393, + 13761874481, 13762005557, 13762136653, 13762267781, 13762398863, 13762529947, 13762661027, + 13762792129, 13762923221, 13763054297, 13763185393, 13763316503, 13763447603, 13763578687, + 13763709767, 13763840851, 13763971931, 13764103009, 13764234083, 13764365161, 13764496237, + 13764627343, 13764758431, 13764889513, 13765020587, 13765151669, 13765282747, 13765413821, + 13765544917, 13765675993, 13765807079, 13765938157, 13766069231, 13766200307, 13766331379, + 13766462459, 13766593531, 13766724619, 13766855741, 13766986823, 13767117937, 13767249011, + 13767380087, 13767511159, 13767642263, 13767773339, 13767904421, 13768035499, 13768166611, + 13768297709, 13768428827, 13768559921, 13768691003, 13768822117, 13768953217, 13769084311, + 13769215387, 13769346499, 13769477609, 13769608681, 13769739761, 13769870837, 13770001909, + 13770132997, 13770264071, 13770395143, 13770526229, 13770657349, 13770788467, 13770919553, + 13771050647, 13771181719, 13771312799, 13771443883, 13771574977, 13771706051, 13771837153, + 13771968239, 13772099311, 13772230387, 13772361467, 13772492593, 13772623681, 13772754767, + 13772885843, 13773016927, 13773148057, 13773279167, 13773410239, 13773541343, 13773672421, + 13773803501, 13773934579, 13774065653, 13774196749, 13774327823, 13774458911, 13774589989, + 13774721123, 13774852207, 13774983301, 13775114377, 13775245453, 13775376529, 13775507621, + 13775638703, 13775769793, 13775900881, 13776031963, 13776163081, 13776294163, 13776425239, + 13776556319, 13776687391, 13776818477, 13776949591, 13777080673, 13777211803, 13777342877, + 13777473977, 13777605059, 13777736153, 13777867241, 13777998317, 13778129401, 13778260549, + 13778391629, 13778522701, 13778653829, 13778784947, 13778916101, 13779047189, 13779178289, + 13779309367, 13779440447, 13779571541, 13779702619, 13779833729, 13779964813, 13780095907, + 13780226983, 13780358101, 13780489183, 13780620283, 13780751359, 13780882439, 13781013529, + 13781144609, 13781275699, 13781406799, 13781537899, 13781668973, 13781800051, 13781931139, + 13782062213, 13782193291, 13782324397, 13782455471, 13782586591, 13782717673, 13782848759, + 13782979907, 13783110983, 13783242073, 13783373147, 13783504261, 13783635347, 13783766449, + 13783897553, 13784028647, 13784159723, 13784290799, 13784421883, 13784552963, 13784684101, + 13784815181, 13784946269, 13785077363, 13785208441, 13785339517, 13785470597, 13785601681, + 13785732757, 13785863851, 13785994949, 13786126021, 13786257097, 13786388171, 13786519277, + 13786650403, 13786781507, 13786912589, 13787043661, 13787174747, 13787305841, 13787436913, + 13787567993, 13787699069, 13787830141, 13787961241, 13788092317, 13788223409, 13788354487, + 13788485561, 13788616637, 13788747727, 13788878809, 13789009919, 13789141043, 13789272127, + 13789403429, 13789534511, 13789665623, 13789796723, 13789927807, 13790058881, 13790189957, + 13790321033, 13790452141, 13790583221, 13790714297, 13790845381, 13790976481, 13791107593, + 13791238687, 13791369803, 13791500881, 13791631967, 13791763057, 13791894143, 13792025231, + 13792156309, 13792287403, 13792418527, 13792549637, 13792680719, 13792811801, 13792942903, + 13793073979, 13793205067, 13793336177, 13793467273, 13793598353, 13793729429, 13793860519, + 13793991613, 13794122717, 13794253819, 13794384911, 13794515993, 13794647077, 13794778159, + 13794909251, 13795040323, 13795171433, 13795302571, 13795433681, 13795564793, 13795695869, + 13795826953, 13795958027, 13796089129, 13796220209, 13796351291, 13796482409, 13796613499, + 13796744581, 13796875663, 13797006763, 13797137839, 13797268913, 13797400003, 13797531103, + 13797662189, 13797793279, 13797924379, 13798055477, 13798186559, 13798317661, 13798448801, + 13798579877, 13798710949, 13798842059, 13798973171, 13799104309, 13799235407, 13799366501, + 13799497577, 13799628653, 13799759731, 13799890837, 13800021931, 13800153047, 13800284189, + 13800415273, 13800546349, 13800677447, 13800808547, 13800939637, 13801070737, 13801201811, + 13801332929, 13801464073, 13801595153, 13801726243, 13801857341, 13801988479, 13802119559, + 13802250641, 13802381729, 13802512807, 13802643889, 13802774969, 13802906077, 13803037181, + 13803168263, 13803299359, 13803430439, 13803561523, 13803692681, 13803823753, 13803954863, + 13804085947, 13804217023, 13804348121, 13804479253, 13804610371, 13804741469, 13804872551, + 13805003713, 13805134789, 13805265869, 13805396947, 13805528021, 13805659093, 13805790191, + 13805921287, 13806052363, 13806183451, 13806314551, 13806445649, 13806576757, 13806707851, + 13806838937, 13806970013, 13807101101, 13807232177, 13807363277, 13807494359, 13807625431, + 13807756511, 13807887601, 13808018689, 13808149777, 13808280869, 13808411941, 13808543017, + 13808674111, 13808805193, 13808936269, 13809067379, 13809198457, 13809329531, 13809460603, + 13809591707, 13809722779, 13809853859, 13809984943, 13810116041, 13810247117, 13810378189, + 13810509263, 13810640339, 13810771451, 13810902563, 13811033641, 13811164721, 13811295857, + 13811426939, 13811558011, 13811689103, 13811820181, 13811951311, 13812082423, 13812213497, + 13812344597, 13812475687, 13812606763, 13812737839, 13812868987, 13813000169, 13813131257, + 13813262347, 13813393423, 13813524509, 13813655599, 13813786691, 13813917791, 13814048881, + 13814179963, 13814311099, 13814442179, 13814573291, 13814704411, 13814835539, 13814966621, + 13815097693, 13815228767, 13815359863, 13815490943, 13815622061, 13815753139, 13815884213, + 13816015333, 13816146413, 13816277507, 13816408633, 13816539743, 13816670827, 13816801903, + 13816933007, 13817064113, 13817195207, 13817326321, 13817457427, 13817588531, 13817719603, + 13817850679, 13817981767, 13818112927, 13818244003, 13818375113, 13818506189, 13818637279, + 13818768373, 13818899449, 13819030553, 13819161667, 13819292771, 13819423861, 13819554967, + 13819686103, 13819817177, 13819948267, 13820079349, 13820210441, 13820341523, 13820472629, + 13820603701, 13820734819, 13820865917, 13820996993, 13821128077, 13821259157, 13821390257, + 13821521359, 13821652447, 13821783527, 13821914627, 13822045717, 13822176793, 13822307897, + 13822438979, 13822570057, 13822701149, 13822832251, 13822963331, 13823094407, 13823225483, + 13823356571, 13823487647, 13823618737, 13823749829, 13823880947, 13824012029, 13824143129, + 13824274213, 13824405293, 13824536389, 13824667471, 13824798571, 13824929647, 13825060787, + 13825191899, 13825322971, 13825454047, 13825585133, 13825716211, 13825847297, 13825978373, + 13826109529, 13826240609, 13826371703, 13826502779, 13826633897, 13826765039, 13826896243, + 13827027341, 13827158453, 13827289543, 13827420617, 13827551693, 13827682787, 13827813859, + 13827944941, 13828076021, 13828207097, 13828338193, 13828469311, 13828600399, 13828731517, + 13828862627, 13828993699, 13829124781, 13829255857, 13829386931, 13829518007, 13829649101, + 13829780179, 13829911259, 13830042337, 13830173431, 13830304517, 13830435607, 13830566689, + 13830697787, 13830828863, 13830959941, 13831091039, 13831222169, 13831353247, 13831484333, + 13831615411, 13831746493, 13831877593, 13832008667, 13832139833, 13832270927, 13832402033, + 13832533111, 13832664187, 13832795287, 13832926403, 13833057479, 13833188581, 13833319657, + 13833450737, 13833581831, 13833712913, 13833844001, 13833975073, 13834106191, 13834237273, + 13834368347, 13834499473, 13834630559, 13834761683, 13834892759, 13835023849, 13835154941, + 13835286029, 13835417153, 13835548241, 13835679317, 13835810389, 13835941501, 13836072577, + 13836203663, 13836334751, 13836465899, 13836596981, 13836728083, 13836859159, 13836990269, + 13837121351, 13837252423, 13837383499, 13837514573, 13837645667, 13837776803, 13837907891, + 13838038993, 13838170069, 13838301149, 13838432227, 13838563309, 13838694383, 13838825477, + 13838956553, 13839087697, 13839218777, 13839349889, 13839480971, 13839612089, 13839743171, + 13839874253, 13840005331, 13840136411, 13840267543, 13840398617, 13840529693, 13840660783, + 13840791869, 13840922959, 13841054053, 13841185139, 13841316221, 13841447309, 13841578433, + 13841709517, 13841840599, 13841971679, 13842102761, 13842233869, 13842364961, 13842496033, + 13842627121, 13842758207, 13842889297, 13843020371, 13843151471, 13843282543, 13843413629, + 13843544779, 13843675877, 13843806959, 13843938071, 13844069149, 13844200229, 13844331301, + 13844462377, 13844593463, 13844724539, 13844855611, 13844986699, 13845117791, 13845248887, + 13845379967, 13845511039, 13845642119, 13845773203, 13845904313, 13846035391, 13846166471, + 13846297561, 13846428689, 13846559761, 13846690841, 13846821917, 13846953023, 13847084131, + 13847215259, 13847346347, 13847477431, 13847608507, 13847739593, 13847870669, 13848001777, + 13848132863, 13848263951, 13848395063, 13848526157, 13848657239, 13848788321, 13848919393, + 13849050473, 13849181551, 13849312649, 13849443731, 13849574813, 13849705999, 13849837073, + 13849968163, 13850099273, 13850230363, 13850361461, 13850492533, 13850623607, 13850754683, + 13850885801, 13851016901, 13851147977, 13851279059, 13851410189, 13851541271, 13851672343, + 13851803423, 13851934519, 13852065593, 13852196749, 13852327831, 13852459001, 13852590083, + 13852721171, 13852852243, 13852983323, 13853114417, 13853245493, 13853376599, 13853507687, + 13853638769, 13853769869, 13853900959, 13854032041, 13854163121, 13854294193, 13854425293, + 13854556399, 13854687499, 13854818573, 13854949649, 13855080721, 13855211807, 13855342883, + 13855473971, 13855605059, 13855736131, 13855867219, 13855998301, 13856129401, 13856260501, + 13856391583, 13856522663, 13856653747, 13856784841, 13856915929, 13857047033, 13857178109, + 13857309209, 13857440291, 13857571367, 13857702479, 13857833603, 13857964727, 13858095803, + 13858226891, 13858357999, 13858489079, 13858620157, 13858751279, 13858882363, 13859013461, + 13859144567, 13859275663, 13859406779, 13859537863, 13859668957, 13859800037, 13859931187, + 13860062287, 13860193363, 13860324449, 13860455561, 13860586657, 13860717743, 13860848831, + 13860979927, 13861111013, 13861242103, 13861373191, 13861504297, 13861635391, 13861766491, + 13861897571, 13862028689, 13862159767, 13862290859, 13862421949, 13862553119, 13862684219, + 13862815301, 13862946379, 13863077461, 13863208543, 13863339641, 13863470713, 13863601799, + 13863732881, 13863863957, 13863995059, 13864126183, 13864257257, 13864388341, 13864519423, + 13864650497, 13864781569, 13864912651, 13865043743, 13865174839, 13865305931, 13865437009, + 13865568083, 13865699173, 13865830247, 13865961397, 13866092473, 13866223549, 13866354631, + 13866485753, 13866616837, 13866747913, 13866879011, 13867010083, 13867141181, 13867272281, + 13867403359, 13867534459, 13867665611, 13867796693, 13867927793, 13868058877, 13868189957, + 13868321041, 13868452153, 13868583259, 13868714351, 13868845423, 13868976497, 13869107579, + 13869238667, 13869369841, 13869500923, 13869632033, 13869763177, 13869894271, 13870025359, + 13870156471, 13870287589, 13870418699, 13870549783, 13870680893, 13870811993, 13870943101, + 13871074183, 13871205287, 13871336359, 13871467447, 13871598523, 13871729603, 13871860729, + 13871991803, 13872122881, 13872253987, 13872385073, 13872516179, 13872647273, 13872778391, + 13872909469, 13873040549, 13873171633, 13873302719, 13873433809, 13873564883, 13873695967, + 13873827059, 13873958177, 13874089297, 13874220383, 13874351459, 13874482541, 13874613629, + 13874744729, 13874875801, 13875006889, 13875137977, 13875269053, 13875400151, 13875531233, + 13875662329, 13875793411, 13875924487, 13876055563, 13876186637, 13876317727, 13876448801, + 13876579891, 13876710973, 13876842047, 13876973141, 13877104223, 13877235331, 13877366413, + 13877497489, 13877628577, 13877759683, 13877890771, 13878021847, 13878152921, 13878283997, + 13878415087, 13878546163, 13878677249, 13878808367, 13878939439, 13879070533, 13879201613, + 13879332721, 13879463797, 13879594871, 13879725947, 13879857037, 13879988119, 13880119199, + 13880250277, 13880381363, 13880512441, 13880643529, 13880774681, 13880905763, 13881036899, + 13881167977, 13881299057, 13881430133, 13881561277, 13881692351, 13881823447, 13881954607, + 13882085681, 13882216781, 13882347859, 13882478969, 13882610041, 13882741139, 13882872217, + 13883003293, 13883134381, 13883265457, 13883396533, 13883527607, 13883658683, 13883789761, + 13883920847, 13884051941, 13884183023, 13884314099, 13884445171, 13884576247, 13884707323, + 13884838397, 13884969499, 13885100639, 13885231739, 13885362817, 13885493891, 13885624967, + 13885756039, 13885887151, 13886018239, 13886149349, 13886280427, 13886411507, 13886542589, + 13886673667, 13886804747, 13886935823, 13887066901, 13887197981, 13887329059, 13887460133, + 13887591229, 13887722311, 13887853387, 13887984527, 13888115603, 13888246709, 13888377803, + 13888508891, 13888640023, 13888771109, 13888902187, 13889033321, 13889164427, 13889295517, + 13889426591, 13889557663, 13889688739, 13889819819, 13889950901, 13890081979, 13890213079, + 13890344179, 13890475253, 13890606343, 13890737423, 13890868559, 13890999631, 13891130711, + 13891261793, 13891392899, 13891523983, 13891655123, 13891786201, 13891917287, 13892048419, + 13892179501, 13892310589, 13892441687, 13892572777, 13892703857, 13892834939, 13892966011, + 13893097129, 13893228221, 13893359309, 13893490381, 13893621457, 13893752539, 13893883613, + 13894014709, 13894145873, 13894276967, 13894408039, 13894539119, 13894670191, 13894801279, + 13894932377, 13895063461, 13895194559, 13895325637, 13895456711, 13895587831, 13895718911, + 13895850053, 13895981137, 13896112253, 13896243341, 13896374449, 13896505523, 13896636641, + 13896767737, 13896898817, 13897029901, 13897160987, 13897292089, 13897423219, 13897554329, + 13897685401, 13897816487, 13897947577, 13898078671, 13898209751, 13898340829, 13898471929, + 13898603039, 13898734159, 13898865251, 13898996329, 13899127439, 13899258511, 13899389587, + 13899520673, 13899651811, 13899782887, 13899914069, 13900045151, 13900176233, 13900307327, + 13900438441, 13900569563, 13900700711, 13900831787, 13900962871, 13901093981, 13901225069, + 13901356151, 13901487251, 13901618327, 13901749453, 13901880563, 13902011657, 13902142741, + 13902273817, 13902404941, 13902536017, 13902667169, 13902798251, 13902929323, 13903060421, + 13903191503, 13903322591, 13903453721, 13903584803, 13903715879, 13903846987, 13903978063, + 13904109179, 13904240257, 13904371331, 13904502427, 13904633513, 13904764591, 13904895673, + 13905026783, 13905157867, 13905288973, 13905420103, 13905551197, 13905682283, 13905813377, + 13905944471, 13906075543, 13906206623, 13906337707, 13906468789, 13906599893, 13906730977, + 13906862107, 13906993189, 13907124293, 13907255377, 13907386477, 13907517557, 13907648647, + 13907779727, 13907910803, 13908041881, 13908173003, 13908304087, 13908435187, 13908566267, + 13908697351, 13908828491, 13908959563, 13909090667, 13909221743, 13909352843, 13909483927, + 13909615003, 13909746077, 13909877159, 13910008237, 13910139319, 13910270411, 13910401537, + 13910532611, 13910663761, 13910794853, 13910925947, 13911057029, 13911188107, 13911319199, + 13911450271, 13911581347, 13911712469, 13911843551, 13911974669, 13912105763, 13912236839, + 13912367939, 13912499011, 13912630087, 13912761263, 13912892353, 13913023427, 13913154509, + 13913285621, 13913416717, 13913547811, 13913678921, 13913810047, 13913941133, 13914072253, + 13914203357, 13914334453, 13914465571, 13914596681, 13914727753, 13914858827, 13914989917, + 13915121023, 13915252111, 13915383217, 13915514299, 13915645441, 13915776533, 13915907611, + 13916038709, 13916169781, 13916300873, 13916431961, 13916563049, 13916694131, 13916825231, + 13916956307, 13917087397, 13917218587, 13917349709, 13917480809, 13917611887, 13917742967, + 13917874043, 13918005139, 13918136227, 13918267313, 13918398397, 13918529473, 13918660571, + 13918791671, 13918922747, 13919053843, 13919184941, 13919316017, 13919447099, 13919578177, + 13919709289, 13919840381, 13919971453, 13920102533, 13920233623, 13920364697, 13920495769, + 13920626843, 13920757931, 13920889007, 13921020107, 13921151191, 13921282279, 13921413379, + 13921544491, 13921675567, 13921806649, 13921937747, 13922068819, 13922199931, 13922331061, + 13922462149, 13922593297, 13922724391, 13922855497, 13922986591, 13923117667, 13923248747, + 13923379837, 13923510917, 13923641989, 13923773093, 13923904171, 13924035277, 13924166363, + 13924297463, 13924428541, 13924559639, 13924690739, 13924821817, 13924952891, 13925083993, + 13925215069, 13925346163, 13925477273, 13925608349, 13925739427, 13925870527, 13926001601, + 13926132683, 13926263783, 13926394871, 13926525979, 13926657061, 13926788137, 13926919241, + 13927050349, 13927181479, 13927312559, 13927443637, 13927574723, 13927705807, 13927836883, + 13927967957, 13928099063, 13928230201, 13928361281, 13928492353, 13928623433, 13928754523, + 13928885611, 13929016721, 13929147839, 13929278947, 13929410059, 13929541163, 13929672241, + 13929803333, 13929934433, 13930065511, 13930196587, 13930327667, 13930458743, 13930589833, + 13930720919, 13930852009, 13930983097, 13931114179, 13931245313, 13931376401, 13931507507, + 13931638597, 13931769689, 13931900767, 13932031859, 13932162961, 13932294041, 13932425113, + 13932556213, 13932687323, 13932818411, 13932949501, 13933080613, 13933211701, 13933342777, + 13933473859, 13933604963, 13933736041, 13933867117, 13933998191, 13934129263, 13934260357, + 13934391463, 13934522573, 13934653709, 13934784781, 13934915887, 13935047003, 13935178121, + 13935309209, 13935440329, 13935571409, 13935702481, 13935833573, 13935964733, 13936095809, + 13936226911, 13936357999, 13936489093, 13936620223, 13936751303, 13936882391, 13937013463, + 13937144593, 13937275721, 13937406793, 13937537893, 13937668967, 13937800067, 13937931143, + 13938062219, 13938193343, 13938324419, 13938455497, 13938586573, 13938717659, 13938848741, + 13938979843, 13939110919, 13939242007, 13939373089, 13939504181, 13939635253, 13939766329, + 13939897421, 13940028493, 13940159591, 13940290669, 13940421751, 13940552827, 13940683907, + 13940815001, 13940946077, 13941077173, 13941208249, 13941339343, 13941470429, 13941601523, + 13941732653, 13941863731, 13941994837, 13942125949, 13942257041, 13942388197, 13942519291, + 13942650367, 13942781449, 13942912597, 13943043677, 13943174779, 13943305907, 13943437049, + 13943568127, 13943699201, 13943830309, 13943961389, 13944092467, 13944223543, 13944354623, + 13944485743, 13944616849, 13944747953, 13944879029, 13945010113, 13945141211, 13945272323, + 13945403441, 13945534523, 13945665599, 13945796687, 13945927799, 13946058913, 13946190017, + 13946321117, 13946452189, 13946583269, 13946714413, 13946845511, 13946976607, 13947107743, + 13947238843, 13947369937, 13947501031, 13947632117, 13947763213, 13947894299, 13948025387, + 13948156471, 13948287553, 13948418633, 13948549729, 13948680817, 13948811911, 13948942999, + 13949074099, 13949205187, 13949336299, 13949467387, 13949598461, 13949729533, 13949860627, + 13949991707, 13950122783, 13950253903, 13950384979, 13950516089, 13950647177, 13950778249, + 13950909383, 13951040479, 13951171561, 13951302709, 13951433803, 13951564901, 13951695997, + 13951827073, 13951958159, 13952089243, 13952220361, 13952351437, 13952482529, 13952613613, + 13952744693, 13952875789, 13953006863, 13953137953, 13953269089, 13953400171, 13953531259, + 13953662369, 13953793499, 13953924587, 13954055663, 13954186751, 13954317841, 13954448927, + 13954580009, 13954711189, 13954842269, 13954973359, 13955104463, 13955235557, 13955366651, + 13955497723, 13955628821, 13955759903, 13955890999, 13956022081, 13956153181, 13956284273, + 13956415349, 13956546431, 13956677507, 13956808603, 13956939697, 13957070807, 13957201891, + 13957332967, 13957464047, 13957595147, 13957726243, 13957857337, 13957988413, 13958119517, + 13958250589, 13958381693, 13958512781, 13958643859, 13958774941, 13958906033, 13959037121, + 13959168239, 13959299323, 13959430399, 13959561479, 13959692573, 13959823667, 13959954793, + 13960085921, 13960217017, 13960348117, 13960479217, 13960610309, 13960741441, 13960872529, + 13961003621, 13961134709, 13961265781, 13961396857, 13961527949, 13961659031, 13961790103, + 13961921209, 13962052289, 13962183397, 13962314491, 13962445631, 13962576709, 13962707851, + 13962838937, 13962970027, 13963101143, 13963232237, 13963363333, 13963494407, 13963625509, + 13963756613, 13963887689, 13964018767, 13964149891, 13964280991, 13964412089, 13964543161, + 13964674279, 13964805353, 13964936437, 13965067511, 13965198613, 13965329699, 13965460793, + 13965591889, 13965722963, 13965854143, 13965985219, 13966116319, 13966247419, 13966378501, + 13966509629, 13966640711, 13966771813, 13966902913, 13967033989, 13967165077, 13967296193, + 13967427289, 13967558459, 13967689531, 13967820637, 13967951713, 13968082801, 13968213877, + 13968344953, 13968476057, 13968607153, 13968738257, 13968869351, 13969000457, 13969131571, + 13969262647, 13969393733, 13969524809, 13969655897, 13969786969, 13969918063, 13970049151, + 13970180281, 13970311363, 13970442511, 13970573587, 13970704663, 13970835737, 13970966837, + 13971097909, 13971228991, 13971360077, 13971491207, 13971622321, 13971753401, 13971884477, + 13972015637, 13972146763, 13972277863, 13972408963, 13972540079, 13972671173, 13972802273, + 13972933349, 13973064449, 13973195549, 13973326729, 13973457803, 13973588879, 13973719967, + 13973851039, 13973982157, 13974113249, 13974244331, 13974375403, 13974506501, 13974637609, + 13974768719, 13974899833, 13975030921, 13975162009, 13975293109, 13975424213, 13975555291, + 13975686401, 13975817501, 13975948631, 13976079737, 13976210821, 13976341913, 13976473009, + 13976604091, 13976735173, 13976866261, 13976997337, 13977128461, 13977259559, 13977390631, + 13977521711, 13977652811, 13977783887, 13977914963, 13978046039, 13978177117, 13978308193, + 13978439353, 13978570429, 13978701557, 13978832663, 13978963741, 13979094821, 13979225893, + 13979356981, 13979488057, 13979619139, 13979750231, 13979881361, 13980012437, 13980143509, + 13980274601, 13980405701, 13980536803, 13980667889, 13980798967, 13980930071, 13981061177, + 13981192259, 13981323353, 13981454441, 13981585517, 13981716601, 13981847723, 13981978841, + 13982109913, 13982241001, 13982372081, 13982503187, 13982634269, 13982765351, 13982896427, + 13983027503, 13983158599, 13983289673, 13983420779, 13983551863, 13983682939, 13983814027, + 13983945103, 13984076177, 13984207249, 13984338323, 13984469413, 13984600489, 13984731577, + 13984862659, 13984993739, 13985124841, 13985255917, 13985386993, 13985518067, 13985649173, + 13985780267, 13985911367, 13986042509, 13986173603, 13986304687, 13986435767, 13986566851, + 13986697927, 13986829001, 13986960083, 13987091171, 13987222253, 13987353337, 13987484419, + 13987615517, 13987746593, 13987877711, 13988008787, 13988139887, 13988270969, 13988402047, + 13988533121, 13988664197, 13988795269, 13988926349, 13989057473, 13989188579, 13989319681, + 13989450763, 13989581861, 13989712943, 13989844019, 13989975161, 13990106261, 13990237357, + 13990368437, 13990499513, 13990630597, 13990761691, 13990892771, 13991023843, 13991154917, + 13991285989, 13991417071, 13991548147, 13991679259, 13991810341, 13991941421, 13992072499, + 13992203609, 13992334751, 13992465847, 13992596953, 13992728051, 13992859151, 13992990223, + 13993121299, 13993252391, 13993383463, 13993514551, 13993645639, 13993776739, 13993907819, + 13994038909, 13994169989, 13994301067, 13994432161, 13994563291, 13994694367, 13994825461, + 13994956543, 13995087647, 13995218803, 13995349883, 13995481001, 13995612073, 13995743171, + 13995874261, 13996005337, 13996136411, 13996267513, 13996398607, 13996529711, 13996660789, + 13996791869, 13996922963, 13997054047, 13997185129, 13997316247, 13997447323, 13997578411, + 13997709487, 13997840567, 13997971643, 13998102733, 13998233813, 13998364967, 13998496067, + 13998627143, 13998758299, 13998889397, 13999020473, 13999151567, 13999282651, 13999413761, + 13999544837, 13999675909, 13999807021, 13999938157, 14000069273, 14000200351, 14000331437, + 14000462527, 14000593609, 14000724713, 14000855789, 14000986873, 14001117947, 14001249019, + 14001380189, 14001511267, 14001642359, 14001773447, 14001904523, 14002035629, 14002166729, + 14002297807, 14002428899, 14002559993, 14002691069, 14002822151, 14002953229, 14003084311, + 14003215459, 14003346557, 14003477633, 14003608709, 14003739809, 14003870899, 14004001981, + 14004133057, 14004264143, 14004395233, 14004526351, 14004657431, 14004788561, 14004919633, + 14005050767, 14005181851, 14005312939, 14005444031, 14005575121, 14005706249, 14005837331, + 14005968409, 14006099501, 14006230577, 14006361683, 14006492767, 14006623847, 14006754947, + 14006886031, 14007017159, 14007148231, 14007279383, 14007410467, 14007541543, 14007672619, + 14007803707, 14007934781, 14008065871, 14008196947, 14008328029, 14008459103, 14008590179, + 14008721273, 14008852349, 14008983449, 14009114527, 14009245609, 14009376701, 14009507773, + 14009638849, 14009769937, 14009901029, 14010032123, 14010163229, 14010294317, 14010425431, + 14010556523, 14010687599, 14010818693, 14010949769, 14011080847, 14011211953, 14011343077, + 14011474151, 14011605227, 14011736317, 14011867393, 14011998467, 14012129543, 14012260621, + 14012391703, 14012522807, 14012653909, 14012785009, 14012916109, 14013047189, 14013178303, + 14013309397, 14013440489, 14013571571, 14013702649, 14013833753, 14013964879, 14014095967, + 14014227079, 14014358159, 14014489249, 14014620331, 14014751407, 14014882493, 14015013589, + 14015144669, 14015275751, 14015406851, 14015537941, 14015669047, 14015800147, 14015931257, + 14016062341, 14016193417, 14016324503, 14016455587, 14016586663, 14016717751, 14016848887, + 14016980009, 14017111081, 14017242179, 14017373311, 14017504433, 14017635551, 14017766641, + 14017897739, 14018028859, 14018160001, 14018291087, 14018422163, 14018553259, 14018684333, + 14018815423, 14018946497, 14019077573, 14019208757, 14019339863, 14019470947, 14019602057, + 14019733141, 14019864223, 14019995309, 14020126381, 14020257463, 14020388573, 14020519651, + 14020650751, 14020781903, 14020912981, 14021044061, 14021175149, 14021306267, 14021437349, + 14021568437, 14021699509, 14021830609, 14021961683, 14022092803, 14022223879, 14022354959, + 14022486031, 14022617107, 14022748219, 14022879313, 14023010399, 14023141471, 14023272559, + 14023403657, 14023534771, 14023665847, 14023796939, 14023928011, 14024059099, 14024190209, + 14024321281, 14024452357, 14024583439, 14024714537, 14024845609, 14024976703, 14025107777, + 14025238849, 14025369923, 14025501001, 14025632087, 14025763237, 14025894313, 14026025407, + 14026156481, 14026287599, 14026418671, 14026549751, 14026680839, 14026811917, 14026942991, + 14027074079, 14027205187, 14027336299, 14027467381, 14027598461, 14027729543, 14027860697, + 14027991833, 14028122929, 14028254029, 14028385103, 14028516179, 14028647263, 14028778397, + 14028909481, 14029040563, 14029171643, 14029302731, 14029433843, 14029564937, 14029696013, + 14029827103, 14029958191, 14030089267, 14030220349, 14030351429, 14030482523, 14030613613, + 14030744699, 14030875811, 14031006883, 14031137983, 14031269081, 14031400213, 14031531289, + 14031662377, 14031793483, 14031924587, 14032055659, 14032186807, 14032317913, 14032448987, + 14032580099, 14032711201, 14032842281, 14032973359, 14033104433, 14033235509, 14033366591, + 14033497693, 14033628781, 14033759863, 14033890957, 14034022039, 14034153113, 14034284191, + 14034415309, 14034546413, 14034677491, 14034808573, 14034939649, 14035070729, 14035201801, + 14035332887, 14035463963, 14035595047, 14035726121, 14035857263, 14035988347, 14036119429, + 14036250511, 14036381591, 14036512681, 14036643763, 14036774849, 14036905921, 14037037043, + 14037168193, 14037299299, 14037430387, 14037561491, 14037692579, 14037823699, 14037954793, + 14038085909, 14038216993, 14038348091, 14038479163, 14038610239, 14038741319, 14038872401, + 14039003507, 14039134601, 14039265679, 14039396779, 14039527867, 14039658949, 14039790029, + 14039921107, 14040052189, 14040183271, 14040314381, 14040445453, 14040576533, 14040707617, + 14040838729, 14040969823, 14041100903, 14041232011, 14041363103, 14041494179, 14041625261, + 14041756343, 14041887437, 14042018569, 14042149669, 14042280743, 14042411821, 14042542957, + 14042674069, 14042805143, 14042936231, 14043067307, 14043198401, 14043329477, 14043460553, + 14043591629, 14043722711, 14043853823, 14043984907, 14044115989, 14044247117, 14044378189, + 14044509307, 14044640383, 14044771457, 14044902577, 14045033669, 14045164747, 14045295821, + 14045426893, 14045557987, 14045689111, 14045820259, 14045951341, 14046082417, 14046213497, + 14046344579, 14046475657, 14046606751, 14046737839, 14046868937, 14047000043, 14047131139, + 14047262233, 14047393331, 14047524437, 14047655537, 14047786631, 14047917707, 14048048783, + 14048179877, 14048310949, 14048442029, 14048573107, 14048704211, 14048835299, 14048966383, + 14049097459, 14049228533, 14049359627, 14049490711, 14049621799, 14049752909, 14049883997, + 14050015093, 14050146191, 14050277279, 14050408357, 14050539431, 14050670503, 14050801577, + 14050932713, 14051063801, 14051194903, 14051325983, 14051457073, 14051588219, 14051719313, + 14051850403, 14051981477, 14052112577, 14052243701, 14052374783, 14052505861, 14052636967, + 14052768047, 14052899131, 14053030219, 14053161293, 14053292401, 14053423493, 14053554589, + 14053685671, 14053816747, 14053947823, 14054078923, 14054210033, 14054341123, 14054472199, + 14054603281, 14054734417, 14054865511, 14054996587, 14055127699, 14055258779, 14055389857, + 14055520957, 14055652031, 14055783103, 14055914209, 14056045319, 14056176427, 14056307501, + 14056438573, 14056569733, 14056700813, 14056831891, 14056963033, 14057094137, 14057225243, + 14057356349, 14057487443, 14057618537, 14057749613, 14057880689, 14058011789, 14058142871, + 14058273953, 14058405073, 14058536171, 14058667253, 14058798331, 14058929413, 14059060501, + 14059191589, 14059322663, 14059453739, 14059584821, 14059715897, 14059846987, 14059978069, + 14060109149, 14060240221, 14060371307, 14060502433, 14060633549, 14060764631, 14060895713, + 14061026803, 14061157883, 14061288991, 14061420077, 14061551159, 14061682253, 14061813383, + 14061944489, 14062075607, 14062206703, 14062337791, 14062468873, 14062599973, 14062731049, + 14062862129, 14062993261, 14063124349, 14063255429, 14063386523, 14063517599, 14063648771, + 14063779859, 14063910953, 14064042049, 14064173129, 14064304207, 14064435299, 14064566407, + 14064697487, 14064828587, 14064959681, 14065090757, 14065221883, 14065352957, 14065484047, + 14065615141, 14065746217, 14065877291, 14066008379, 14066139457, 14066270557, 14066401649, + 14066532721, 14066663797, 14066794873, 14066925947, 14067057019, 14067188117, 14067319207, + 14067450281, 14067581369, 14067712459, 14067843539, 14067974651, 14068105729, 14068236811, + 14068367891, 14068498963, 14068630039, 14068761131, 14068892203, 14069023279, 14069154377, + 14069285497, 14069416573, 14069547689, 14069678783, 14069809891, 14069940977, 14070072053, + 14070203131, 14070334207, 14070465307, 14070596387, 14070727477, 14070858559, 14070989651, + 14071120733, 14071251809, 14071382903, 14071514029, 14071645117, 14071776203, 14071907321, + 14072038397, 14072169469, 14072300551, 14072431691, 14072562793, 14072693867, 14072824939, + 14072956057, 14073087137, 14073218233, 14073349331, 14073480403, 14073611507, 14073742583, + 14073873689, 14074004771, 14074135847, 14074266953, 14074398031, 14074529107, 14074660199, + 14074791293, 14074922377, 14075053463, 14075184551, 14075315623, 14075446711, 14075577787, + 14075708873, 14075839951, 14075971061, 14076102137, 14076233219, 14076364321, 14076495403, + 14076626479, 14076757577, 14076888689, 14077019777, 14077150891, 14077281973, 14077413059, + 14077544149, 14077675279, 14077806367, 14077937459, 14078068541, 14078199623, 14078330711, + 14078461801, 14078592877, 14078723969, 14078855093, 14078986171, 14079117329, 14079248413, + 14079379493, 14079510569, 14079641663, 14079772739, 14079903841, 14080034929, 14080166017, + 14080297109, 14080428199, 14080559279, 14080690381, 14080821527, 14080952617, 14081083703, + 14081214821, 14081345897, 14081476979, 14081608081, 14081739157, 14081870239, 14082001313, + 14082132437, 14082263509, 14082394637, 14082525733, 14082656827, 14082787907, 14082918991, + 14083050067, 14083181149, 14083312241, 14083443323, 14083574399, 14083705549, 14083836661, + 14083967743, 14084098867, 14084229953, 14084361047, 14084492141, 14084623237, 14084754317, + 14084885413, 14085016493, 14085147617, 14085278689, 14085409771, 14085540853, 14085671927, + 14085803027, 14085934099, 14086065209, 14086196297, 14086327373, 14086458467, 14086589557, + 14086720651, 14086851733, 14086982809, 14087113927, 14087245009, 14087376089, 14087507173, + 14087638247, 14087769323, 14087900399, 14088031513, 14088162631, 14088293729, 14088424811, + 14088555883, 14088686957, 14088818039, 14088949117, 14089080197, 14089211281, 14089342357, + 14089473443, 14089604537, 14089735619, 14089866709, 14089997809, 14090128883, 14090259961, + 14090391041, 14090522129, 14090653243, 14090784317, 14090915407, 14091046481, 14091177559, + 14091308641, 14091439721, 14091570821, 14091701909, 14091832981, 14091964087, 14092095163, + 14092226257, 14092357333, 14092488407, 14092619503, 14092750577, 14092881679, 14093012809, + 14093143907, 14093274991, 14093406071, 14093537179, 14093668273, 14093799353, 14093930449, + 14094061523, 14094192641, 14094323723, 14094454819, 14094585907, 14094717019, 14094848113, + 14094979187, 14095110311, 14095241393, 14095372549, 14095503637, 14095634723, 14095765819, + 14095896901, 14096028007, 14096159089, 14096290181, 14096421299, 14096552383, 14096683459, + 14096814541, 14096945623, 14097076703, 14097207781, 14097338867, 14097469949, 14097601081, + 14097732179, 14097863267, 14097994343, 14098125467, 14098256581, 14098387663, 14098518743, + 14098649863, 14098780967, 14098912043, 14099043131, 14099174273, 14099305349, 14099436431, + 14099567551, 14099698633, 14099829713, 14099960807, 14100091897, 14100222971, 14100354083, + 14100485177, 14100616291, 14100747403, 14100878489, 14101009577, 14101140749, 14101271827, + 14101402969, 14101534043, 14101665133, 14101796237, 14101927331, 14102058407, 14102189489, + 14102320567, 14102451647, 14102582723, 14102713811, 14102844901, 14102976031, 14103107111, + 14103238213, 14103369299, 14103500377, 14103631457, 14103762577, 14103893659, 14104024757, + 14104155869, 14104286971, 14104418059, 14104549139, 14104680257, 14104811339, 14104942421, + 14105073559, 14105204669, 14105335753, 14105466847, 14105597927, 14105729009, 14105860099, + 14105991173, 14106122257, 14106253333, 14106384407, 14106515519, 14106646637, 14106777743, + 14106908903, 14107039981, 14107171069, 14107302179, 14107433269, 14107564363, 14107695461, + 14107826563, 14107957639, 14108088713, 14108219809, 14108350909, 14108482027, 14108613107, + 14108744179, 14108875259, 14109006337, 14109137417, 14109268519, 14109399607, 14109530723, + 14109661823, 14109792937, 14109924047, 14110055149, 14110186231, 14110317313, 14110448399, + 14110579471, 14110710553, 14110841651, 14110972741, 14111103821, 14111234941, 14111366021, + 14111497097, 14111628199, 14111759297, 14111890393, 14112021479, 14112152603, 14112283727, + 14112414853, 14112545969, 14112677077, 14112808159, 14112939259, 14113070341, 14113201447, + 14113332557, 14113463633, 14113594717, 14113725817, 14113856947, 14113988029, 14114119121, + 14114250193, 14114381329, 14114512459, 14114643551, 14114774623, 14114905711, 14115036809, + 14115167903, 14115298993, 14115430079, 14115561151, 14115692233, 14115823313, 14115954407, + 14116085479, 14116216553, 14116347631, 14116478749, 14116609883, 14116740997, 14116872103, + 14117003207, 14117134403, 14117265493, 14117396567, 14117527661, 14117658761, 14117789897, + 14117921071, 14118052153, 14118183241, 14118314321, 14118445433, 14118576533, 14118707653, + 14118838739, 14118969827, 14119100917, 14119231991, 14119363091, 14119494163, 14119625239, + 14119756319, 14119887391, 14120018467, 14120149591, 14120280701, 14120411777, 14120542903, + 14120673979, 14120805053, 14120936131, 14121067217, 14121198331, 14121329407, 14121460481, + 14121591563, 14121722647, 14121853747, 14121984853, 14122115941, 14122247033, 14122378111, + 14122509211, 14122640293, 14122771367, 14122902491, 14123033581, 14123164669, 14123295749, + 14123426833, 14123557909, 14123688983, 14123820071, 14123951173, 14124082249, 14124213371, + 14124344453, 14124475529, 14124606607, 14124737687, 14124868783, 14124999857, 14125130953, + 14125262051, 14125393147, 14125524227, 14125655309, 14125786429, 14125917503, 14126048591, + 14126179747, 14126310827, 14126441911, 14126572997, 14126704087, 14126835161, 14126966233, + 14127097307, 14127228389, 14127359461, 14127490579, 14127621667, 14127752761, 14127883841, + 14128014913, 14128146001, 14128277083, 14128408169, 14128539263, 14128670357, 14128801447, + 14128932523, 14129063603, 14129194679, 14129325757, 14129456849, 14129587921, 14129719001, + 14129850103, 14129981189, 14130112273, 14130243349, 14130374431, 14130505559, 14130636631, + 14130767767, 14130898871, 14131029949, 14131161049, 14131292137, 14131423237, 14131554331, + 14131685429, 14131816529, 14131947601, 14132078677, 14132209759, 14132340851, 14132471933, + 14132603027, 14132734127, 14132865217, 14132996299, 14133127381, 14133258463, 14133389561, + 14133520657, 14133651767, 14133782857, 14133913943, 14134045039, 14134176143, 14134307237, + 14134438319, 14134569391, 14134700467, 14134831541, 14134962631, 14135093711, 14135224801, + 14135355911, 14135486987, 14135618059, 14135749141, 14135880217, 14136011311, 14136142399, + 14136273479, 14136404551, 14136535639, 14136666749, 14136797821, 14136928907, 14137060013, + 14137191119, 14137322219, 14137453301, 14137584401, 14137715477, 14137846589, 14137977761, + 14138108839, 14138239943, 14138371019, 14138502097, 14138633221, 14138764361, 14138895457, + 14139026557, 14139157649, 14139288727, 14139419803, 14139550921, 14139682019, 14139813113, + 14139944197, 14140075273, 14140206383, 14140337467, 14140468543, 14140599619, 14140730749, + 14140861831, 14140992907, 14141123981, 14141255053, 14141386213, 14141517311, 14141648383, + 14141779469, 14141910593, 14142041699, 14142172841, 14142303913, 14142434987, 14142566059, + 14142697133, 14142828209, 14142959297, 14143090393, 14143221493, 14143352569, 14143483649, + 14143614743, 14143745831, 14143876927, 14144008003, 14144139083, 14144270167, 14144401261, + 14144532343, 14144663417, 14144794493, 14144925577, 14145056659, 14145187733, 14145318821, + 14145449959, 14145581033, 14145712151, 14145843223, 14145974317, 14146105423, 14146236499, + 14146367593, 14146498679, 14146629769, 14146760891, 14146891963, 14147023067, 14147154139, + 14147285287, 14147416411, 14147547487, 14147678569, 14147809661, 14147940743, 14148071849, + 14148202973, 14148334049, 14148465167, 14148596243, 14148727339, 14148858433, 14148989513, + 14149120627, 14149251703, 14149382789, 14149513867, 14149644941, 14149776013, 14149907159, + 14150038241, 14150169347, 14150300431, 14150431513, 14150562617, 14150693701, 14150824799, + 14150955883, 14151087017, 14151218089, 14151349181, 14151480257, 14151611377, 14151742453, + 14151873563, 14152004683, 14152135793, 14152266889, 14152397989, 14152529077, 14152660183, + 14152791281, 14152922383, 14153053457, 14153184553, 14153315641, 14153446717, 14153577853, + 14153708971, 14153840047, 14153971123, 14154102197, 14154233333, 14154364409, 14154495497, + 14154626573, 14154757691, 14154888763, 14155019843, 14155150969, 14155282049, 14155413131, + 14155544213, 14155675291, 14155806373, 14155937491, 14156068583, 14156199661, 14156330753, + 14156461861, 14156593043, 14156724119, 14156855197, 14156986271, 14157117371, 14157248453, + 14157379531, 14157510629, 14157641713, 14157772877, 14157904003, 14158035091, 14158166177, + 14158297253, 14158428391, 14158559491, 14158690571, 14158821659, 14158952737, 14159083819, + 14159214907, 14159345989, 14159477063, 14159608147, 14159739241, 14159870317, 14160001393, + 14160132529, 14160263639, 14160394733, 14160525811, 14160656893, 14160787973, 14160919079, + 14161050157, 14161181231, 14161312303, 14161443403, 14161574477, 14161705559, 14161836679, + 14161967783, 14162098859, 14162229941, 14162361013, 14162492147, 14162623243, 14162754379, + 14162885479, 14163016561, 14163147671, 14163278771, 14163409873, 14163540947, 14163672031, + 14163803107, 14163934247, 14164065319, 14164196411, 14164327501, 14164458593, 14164589687, + 14164720789, 14164851863, 14164982939, 14165114057, 14165245139, 14165376227, 14165507303, + 14165638493, 14165769587, 14165900663, 14166031771, 14166162851, 14166293927, 14166425027, + 14166556177, 14166687251, 14166818353, 14166949427, 14167080541, 14167211621, 14167342699, + 14167473799, 14167604879, 14167735957, 14167867057, 14167998157, 14168129267, 14168260357, + 14168391449, 14168522527, 14168653601, 14168784683, 14168915759, 14169046841, 14169177923, + 14169309001, 14169440093, 14169571201, 14169702289, 14169833441, 14169964577, 14170095713, + 14170226831, 14170357913, 14170489007, 14170620083, 14170751213, 14170882331, 14171013407, + 14171144513, 14171275603, 14171406679, 14171537753, 14171668831, 14171799907, 14171930987, + 14172062071, 14172193181, 14172324277, 14172455383, 14172586489, 14172717563, 14172848663, + 14172979739, 14173110821, 14173241893, 14173373009, 14173504087, 14173635163, 14173766263, + 14173897337, 14174028457, 14174159557, 14174290631, 14174421719, 14174552921, 14174684021, + 14174815097, 14174946179, 14175077251, 14175208331, 14175339433, 14175470509, 14175601607, + 14175732691, 14175863777, 14175994883, 14176125989, 14176257083, 14176388173, 14176519261, + 14176650337, 14176781417, 14176912499, 14177043571, 14177174663, 14177305739, 14177436811, + 14177567983, 14177699057, 14177830133, 14177961211, 14178092303, 14178223387, 14178354461, + 14178485551, 14178616631, 14178747749, 14178878827, 14179009903, 14179141007, 14179272113, + 14179403221, 14179534331, 14179665503, 14179796581, 14179927679, 14180058769, 14180189867, + 14180320943, 14180452021, 14180583127, 14180714213, 14180845297, 14180976379, 14181107467, + 14181238543, 14181369619, 14181500771, 14181631843, 14181762923, 14181894017, 14182025153, + 14182156237, 14182287311, 14182418389, 14182549541, 14182680643, 14182811729, 14182942831, + 14183073913, 14183205007, 14183336099, 14183467211, 14183598283, 14183729363, 14183860441, + 14183991541, 14184122647, 14184253723, 14184384803, 14184515897, 14184646991, 14184778067, + 14184909139, 14185040239, 14185171327, 14185302421, 14185433501, 14185564573, 14185695647, + 14185826723, 14185957823, 14186088907, 14186219981, 14186351059, 14186482139, 14186613229, + 14186744309, 14186875399, 14187006521, 14187137593, 14187268703, 14187399791, 14187530879, + 14187661963, 14187793063, 14187924139, 14188055221, 14188186297, 14188317401, 14188448473, + 14188579547, 14188710623, 14188841729, 14188972801, 14189103911, 14189235007, 14189366101, + 14189497187, 14189628301, 14189759401, 14189890487, 14190021607, 14190152689, 14190283763, + 14190414859, 14190545933, 14190677009, 14190808091, 14190939197, 14191070287, 14191201363, + 14191332443, 14191463543, 14191594633, 14191725733, 14191856807, 14191987937, 14192119009, + 14192250101, 14192381197, 14192512337, 14192643431, 14192774503, 14192905579, 14193036667, + 14193167761, 14193298841, 14193429917, 14193561037, 14193692129, 14193823207, 14193954293, + 14194085377, 14194216471, 14194347553, 14194478647, 14194609763, 14194740899, 14194871983, + 14195003063, 14195134139, 14195265239, 14195396311, 14195527427, 14195658523, 14195789627, + 14195920709, 14196051781, 14196182933, 14196314021, 14196445093, 14196576187, 14196707281, + 14196838367, 14196969439, 14197100521, 14197231613, 14197362703, 14197493789, 14197624873, + 14197755977, 14197887061, 14198018143, 14198149219, 14198280307, 14198411411, 14198542493, + 14198673607, 14198804687, 14198935769, 14199066841, 14199197923, 14199329009, 14199460111, + 14199591191, 14199722279, 14199853351, 14199984433, 14200115509, 14200246589, 14200377671, + 14200508771, 14200639879, 14200770959, 14200902073, 14201033153, 14201164259, 14201295347, + 14201426419, 14201557499, 14201688601, 14201819677, 14201950769, 14202081841, 14202212951, + 14202344071, 14202475169, 14202606269, 14202737359, 14202868453, 14202999581, 14203130653, + 14203261747, 14203392851, 14203523947, 14203655021, 14203786117, 14203917199, 14204048281, + 14204179357, 14204310451, 14204441551, 14204572639, 14204703713, 14204834807, 14204965969, + 14205097069, 14205228181, 14205359279, 14205490367, 14205621457, 14205752557, 14205883633, + 14206014731, 14206145803, 14206276937, 14206408009, 14206539101, 14206670207, 14206801307, + 14206932401, 14207063483, 14207194567, 14207325647, 14207456737, 14207587819, 14207718923, + 14207850017, 14207981131, 14208112229, 14208243317, 14208374399, 14208505483, 14208636569, + 14208767659, 14208898751, 14209029827, 14209160921, 14209292021, 14209423117, 14209554209, + 14209685291, 14209816403, 14209947491, 14210078563, 14210209661, 14210340751, 14210471837, + 14210602921, 14210734007, 14210865079, 14210996231, 14211127417, 14211258493, 14211389579, + 14211520667, 14211651781, 14211782903, 14211913979, 14212045073, 14212176161, 14212307243, + 14212438321, 14212569443, 14212700527, 14212831601, 14212962691, 14213093767, 14213224841, + 14213355913, 14213486993, 14213618087, 14213749223, 14213880323, 14214011419, 14214142499, + 14214273587, 14214404671, 14214535793, 14214666929, 14214798029, 14214929137, 14215060333, + 14215191433, 14215322533, 14215453607, 14215584689, 14215715771, 14215846861, 14215977991, + 14216109079, 14216240167, 14216371259, 14216502337, 14216633413, 14216764487, 14216895571, + 14217026683, 14217157781, 14217288901, 14217419989, 14217551071, 14217682163, 14217813257, + 14217944357, 14218075451, 14218206557, 14218337629, 14218468729, 14218599809, 14218730881, + 14218861991, 14218993099, 14219124181, 14219255261, 14219386333, 14219517413, 14219648491, + 14219779571, 14219910643, 14220041783, 14220172873, 14220303947, 14220435029, 14220566111, + 14220697199, 14220828277, 14220959377, 14221090451, 14221221529, 14221352603, 14221483711, + 14221614787, 14221745873, 14221876957, 14222008051, 14222139131, 14222270233, 14222401307, + 14222532397, 14222663549, 14222794657, 14222925809, 14223056909, 14223187981, 14223319063, + 14223450203, 14223581299, 14223712381, 14223843463, 14223974551, 14224105657, 14224236739, + 14224367821, 14224498907, 14224630019, 14224761127, 14224892237, 14225023381, 14225154487, + 14225285573, 14225416657, 14225547751, 14225678827, 14225809921, 14225941007, 14226072121, + 14226203207, 14226334289, 14226465367, 14226596509, 14226727583, 14226858689, 14226989773, + 14227120877, 14227251953, 14227383029, 14227514129, 14227645247, 14227776341, 14227907417, + 14228038499, 14228169577, 14228300663, 14228431747, 14228562823, 14228694001, 14228825113, + 14228956207, 14229087281, 14229218383, 14229349457, 14229480563, 14229611647, 14229742727, + 14229873803, 14230004891, 14230135993, 14230267097, 14230398173, 14230529267, 14230660343, + 14230791427, 14230922501, 14231053589, 14231184689, 14231315773, 14231446847, 14231577949, + 14231709031, 14231840107, 14231971181, 14232102257, 14232233333, 14232364451, 14232495533, + 14232626657, 14232757733, 14232888823, 14233019929, 14233151011, 14233282103, 14233413193, + 14233544293, 14233675367, 14233806439, 14233937513, 14234068613, 14234199691, 14234330767, + 14234461897, 14234592971, 14234724073, 14234855147, 14234986223, 14235117301, 14235248383, + 14235379469, 14235510547, 14235641677, 14235772757, 14235903841, 14236034951, 14236166023, + 14236297109, 14236428181, 14236559261, 14236690333, 14236821461, 14236952581, 14237083657, + 14237214769, 14237345953, 14237477027, 14237608127, 14237739211, 14237870293, 14238001423, + 14238132539, 14238263621, 14238394717, 14238525809, 14238656893, 14238787987, 14238919091, + 14239050181, 14239181273, 14239312379, 14239443473, 14239574593, 14239705673, 14239836757, + 14239967857, 14240098933, 14240230007, 14240361137, 14240492209, 14240623363, 14240754439, + 14240885513, 14241016597, 14241147703, 14241278801, 14241409873, 14241540967, 14241672041, + 14241803117, 14241934211, 14242065293, 14242196383, 14242327457, 14242458631, 14242589719, + 14242720861, 14242851937, 14242983011, 14243114087, 14243245169, 14243376289, 14243507363, + 14243638447, 14243769571, 14243900659, 14244031733, 14244162809, 14244293911, 14244425033, + 14244556153, 14244687287, 14244818383, 14244949463, 14245080541, 14245211647, 14245342747, + 14245473829, 14245604911, 14245735993, 14245867117, 14245998203, 14246129299, 14246260393, + 14246391499, 14246522593, 14246653691, 14246784791, 14246915867, 14247047051, 14247178129, + 14247309211, 14247440297, 14247571379, 14247702451, 14247833549, 14247964649, 14248095733, + 14248226819, 14248357909, 14248489037, 14248620203, 14248751291, 14248882369, 14249013469, + 14249144557, 14249275639, 14249406719, 14249537849, 14249668933, 14249800021, 14249931119, + 14250062191, 14250193267, 14250324391, 14250455537, 14250586619, 14250717697, 14250848771, + 14250979843, 14251110917, 14251242023, 14251373107, 14251504199, 14251635283, 14251766363, + 14251897523, 14252028599, 14252159683, 14252290757, 14252421847, 14252552953, 14252684063, + 14252815169, 14252946241, 14253077351, 14253208447, 14253339539, 14253470617, 14253601709, + 14253732833, 14253863909, 14253995011, 14254126111, 14254257191, 14254388311, 14254519403, + 14254650481, 14254781561, 14254912663, 14255043743, 14255174833, 14255305931, 14255437033, + 14255568133, 14255699209, 14255830327, 14255961427, 14256092527, 14256223649, 14256354757, + 14256485839, 14256616919, 14256747991, 14256879067, 14257010153, 14257141231, 14257272313, + 14257403389, 14257534481, 14257665557, 14257796629, 14257927709, 14258058847, 14258189927, + 14258321029, 14258452121, 14258583203, 14258714333, 14258845409, 14258976503, 14259107587, + 14259238663, 14259369737, 14259500809, 14259631913, 14259763051, 14259894163, 14260025243, + 14260156321, 14260287407, 14260418503, 14260549577, 14260680689, 14260811783, 14260942873, + 14261073949, 14261205037, 14261336123, 14261467201, 14261598317, 14261729401, 14261860489, + 14261991571, 14262122683, 14262253763, 14262384841, 14262515921, 14262647083, 14262778157, + 14262909229, 14263040369, 14263171501, 14263302631, 14263433753, 14263564829, 14263695911, + 14263826989, 14263958077, 14264089153, 14264220233, 14264351359, 14264482481, 14264613563, + 14264744713, 14264875799, 14265006871, 14265137951, 14265269063, 14265400141, 14265531223, + 14265662297, 14265793369, 14265924461, 14266055549, 14266186621, 14266317701, 14266448821, + 14266579903, 14266710977, 14266842067, 14266973143, 14267104297, 14267235373, 14267366471, + 14267497561, 14267628643, 14267759719, 14267890801, 14268021907, 14268152993, 14268284077, + 14268415153, 14268546247, 14268677341, 14268808459, 14268939533, 14269070611, 14269201691, + 14269332769, 14269463843, 14269594939, 14269726013, 14269857089, 14269988189, 14270119289, + 14270250383, 14270381467, 14270512547, 14270643677, 14270774759, 14270905837, 14271036947, + 14271168049, 14271299143, 14271430237, 14271561323, 14271692401, 14271823583, 14271954667, + 14272085743, 14272216877, 14272347949, 14272479029, 14272610137, 14272741237, 14272872323, + 14273003449, 14273134529, 14273265607, 14273396689, 14273527769, 14273658853, 14273789927, + 14273921029, 14274052123, 14274183199, 14274314273, 14274445351, 14274576427, 14274707519, + 14274838597, 14274969671, 14275100761, 14275231847, 14275362953, 14275494041, 14275625113, + 14275756193, 14275887281, 14276018357, 14276149469, 14276280541, 14276411651, 14276542729, + 14276673811, 14276804887, 14276936017, 14277067099, 14277198193, 14277329267, 14277460349, + 14277591437, 14277722519, 14277853633, 14277984727, 14278115827, 14278246903, 14278378057, + 14278509137, 14278640219, 14278771319, 14278902403, 14279033491, 14279164577, 14279295661, + 14279426779, 14279557879, 14279688953, 14279820053, 14279951233, 14280082343, 14280213419, + 14280344497, 14280475613, 14280606751, 14280737833, 14280868907, 14280999979, 14281131127, + 14281262231, 14281393333, 14281524409, 14281655483, 14281786567, 14281917647, 14282048741, + 14282179829, 14282310967, 14282442073, 14282573147, 14282704231, 14282835337, 14282966419, + 14283097513, 14283228599, 14283359683, 14283490757, 14283621841, 14283752953, 14283884029, + 14284015121, 14284146203, 14284277291, 14284408363, 14284539439, 14284670527, 14284801607, + 14284932719, 14285063839, 14285194919, 14285325991, 14285457077, 14285588171, 14285719271, + 14285850353, 14285981443, 14286112531, 14286243637, 14286374717, 14286505817, 14286636899, + 14286767977, 14286899051, 14287030133, 14287161221, 14287292297, 14287423379, 14287554451, + 14287685539, 14287816643, 14287947733, 14288078821, 14288209927, 14288341003, 14288472109, + 14288603233, 14288734307, 14288865379, 14288996459, 14289127543, 14289258629, 14289389701, + 14289520781, 14289651881, 14289782963, 14289914059, 14290045151, 14290176233, 14290307309, + 14290438381, 14290569473, 14290700569, 14290831663, 14290962737, 14291093821, 14291224907, + 14291355997, 14291487083, 14291618219, 14291749379, 14291880469, 14292011543, 14292142619, + 14292273713, 14292404803, 14292535897, 14292667001, 14292798077, 14292929173, 14293060253, + 14293191329, 14293322429, 14293453501, 14293584593, 14293715671, 14293846757, 14293977839, + 14294108981, 14294240063, 14294371249, 14294502329, 14294633401, 14294764487, 14294895649, + 14295026743, 14295157853, 14295288937, 14295420017, 14295551089, 14295682169, 14295813251, + 14295944339, 14296075411, 14296206497, 14296337569, 14296468651, 14296599749, 14296730843, + 14296861921, 14296993021, 14297124103, 14297255177, 14297386253, 14297517341, 14297648423, + 14297779499, 14297910611, 14298041707, 14298172783, 14298303893, 14298434977, 14298566063, + 14298697157, 14298828251, 14298959341, 14299090417, 14299221589, 14299352677, 14299483753, + 14299614841, 14299745927, 14299877017, 14300008091, 14300139187, 14300270291, 14300401403, + 14300532487, 14300663579, 14300794687, 14300925811, 14301056941, 14301188017, 14301319129, + 14301450203, 14301581339, 14301712423, 14301843499, 14301974579, 14302105667, 14302236749, + 14302367873, 14302498961, 14302630033, 14302761133, 14302892213, 14303023331, 14303154433, + 14303285509, 14303416597, 14303547689, 14303678789, 14303809879, 14303940953, 14304072031, + 14304203153, 14304334279, 14304465389, 14304596461, 14304727559, 14304858679, 14304989789, + 14305120861, 14305251949, 14305383077, 14305514159, 14305645241, 14305776341, 14305907419, + 14306038499, 14306169629, 14306300711, 14306431879, 14306562967, 14306694053, 14306825129, + 14306956219, 14307087299, 14307218461, 14307349559, 14307480641, 14307611761, 14307742837, + 14307873917, 14308005073, 14308136147, 14308267241, 14308398319, 14308529429, 14308660511, + 14308791587, 14308922671, 14309053757, 14309184847, 14309315989, 14309447071, 14309578159, + 14309709241, 14309840357, 14309971469, 14310102557, 14310233687, 14310364759, 14310495889, + 14310626963, 14310758053, 14310889163, 14311020259, 14311151353, 14311282451, 14311413539, + 14311544659, 14311675751, 14311806841, 14311937953, 14312069069, 14312200157, 14312331239, + 14312462371, 14312593457, 14312724539, 14312855639, 14312986711, 14313117799, 14313248893, + 14313379967, 14313511039, 14313642127, 14313773207, 14313904279, 14314035361, 14314166437, + 14314297511, 14314428629, 14314559711, 14314690787, 14314821881, 14314952959, 14315084051, + 14315215127, 14315346217, 14315477329, 14315608403, 14315739499, 14315870603, 14316001681, + 14316132757, 14316263831, 14316394903, 14316525991, 14316657079, 14316788159, 14316919237, + 14317050311, 14317181387, 14317312487, 14317443607, 14317574683, 14317705771, 14317836847, + 14317967941, 14318099041, 14318230163, 14318361247, 14318492327, 14318623409, 14318754523, + 14318885611, 14319016693, 14319147767, 14319278849, 14319409931, 14319541003, 14319672079, + 14319803153, 14319934271, 14320065349, 14320196467, 14320327543, 14320458617, 14320589711, + 14320720837, 14320851917, 14320982989, 14321114063, 14321245151, 14321376227, 14321507303, + 14321638381, 14321769463, 14321900557, 14322031631, 14322162793, 14322293873, 14322424951, + 14322556051, 14322687149, 14322818227, 14322949337, 14323080419, 14323211491, 14323342609, + 14323473683, 14323604833, 14323735913, 14323866989, 14323998079, 14324129177, 14324260309, + 14324391391, 14324522467, 14324653573, 14324784653, 14324915783, 14325046871, 14325177943, + 14325309041, 14325440117, 14325571207, 14325702301, 14325833381, 14325964453, 14326095529, + 14326226617, 14326357733, 14326488811, 14326619927, 14326751009, 14326882081, 14327013157, + 14327144239, 14327275327, 14327406449, 14327537531, 14327668603, 14327799677, 14327930779, + 14328061879, 14328192979, 14328324071, 14328455143, 14328586241, 14328717341, 14328848431, + 14328979519, 14329110629, 14329241713, 14329372793, 14329503869, 14329634941, 14329766051, + 14329897123, 14330028259, 14330159339, 14330290433, 14330421571, 14330552659, 14330683739, + 14330814917, 14330945989, 14331077063, 14331208159, 14331339289, 14331470383, 14331601469, + 14331732553, 14331863633, 14331994739, 14332125827, 14332256899, 14332387981, 14332519057, + 14332650179, 14332781261, 14332912357, 14333043503, 14333174591, 14333305667, 14333436781, + 14333567879, 14333698957, 14333830031, 14333961137, 14334092209, 14334223289, 14334354373, + 14334485471, 14334616559, 14334747641, 14334878713, 14335009849, 14335140949, 14335272071, + 14335403143, 14335534253, 14335665347, 14335796443, 14335927579, 14336058689, 14336189771, + 14336320891, 14336451967, 14336583049, 14336714141, 14336845241, 14336976323, 14337107399, + 14337238477, 14337369559, 14337500633, 14337631741, 14337762863, 14337893951, 14338025057, + 14338156141, 14338287241, 14338418317, 14338549403, 14338680527, 14338811623, 14338942721, + 14339073817, 14339204911, 14339336017, 14339467147, 14339598271, 14339729351, 14339860427, + 14339991499, 14340122617, 14340253717, 14340384809, 14340515911, 14340647029, 14340778169, + 14340909241, 14341040317, 14341171417, 14341302499, 14341433591, 14341564663, 14341695779, + 14341826869, 14341957961, 14342089037, 14342220121, 14342351203, 14342482277, 14342613361, + 14342744489, 14342875567, 14343006659, 14343137741, 14343268829, 14343399947, 14343531043, + 14343662129, 14343793213, 14343924307, 14344055387, 14344186459, 14344317587, 14344448771, + 14344579849, 14344710923, 14344842019, 14344973119, 14345104229, 14345235313, 14345366417, + 14345497489, 14345628581, 14345759653, 14345890751, 14346021853, 14346152981, 14346284101, + 14346415189, 14346546299, 14346677467, 14346808543, 14346939643, 14347070719, 14347201793, + 14347332887, 14347463981, 14347595083, 14347726201, 14347857281, 14347988357, 14348119433, + 14348250557, 14348381659, 14348512751, 14348643823, 14348774897, 14348905973, 14349037057, + 14349168133, 14349299207, 14349430307, 14349561409, 14349692543, 14349823619, 14349954691, + 14350085819, 14350216921, 14350348039, 14350479149, 14350610221, 14350741303, 14350872409, + 14351003521, 14351134607, 14351265701, 14351396783, 14351527867, 14351658941, 14351790041, + 14351921117, 14352052217, 14352183289, 14352314399, 14352445531, 14352576607, 14352707683, + 14352838763, 14352969847, 14353100947, 14353232057, 14353363181, 14353494289, 14353625383, + 14353756481, 14353887557, 14354018647, 14354149721, 14354280817, 14354411891, 14354543009, + 14354674109, 14354805181, 14354936257, 14355067351, 14355198433, 14355329543, 14355460643, + 14355591739, 14355722827, 14355853927, 14355985013, 14356116091, 14356247173, 14356378249, + 14356509329, 14356640429, 14356771529, 14356902601, 14357033693, 14357164781, 14357295857, + 14357426939, 14357558011, 14357689147, 14357820233, 14357951317, 14358082433, 14358213511, + 14358344597, 14358475697, 14358606791, 14358737903, 14358868991, 14359000067, 14359131139, + 14359262231, 14359393313, 14359524391, 14359655473, 14359786561, 14359917653, 14360048761, + 14360179877, 14360310949, 14360442029, 14360573111, 14360704187, 14360835263, 14360966351, + 14361097441, 14361228517, 14361359609, 14361490687, 14361621779, 14361752869, 14361884003, + 14362015111, 14362146187, 14362277273, 14362408349, 14362539427, 14362670521, 14362801597, + 14362932673, 14363063753, 14363194831, 14363325917, 14363456993, 14363588069, 14363719187, + 14363850269, 14363981383, 14364112493, 14364243581, 14364374653, 14364505787, 14364636887, + 14364767981, 14364899057, 14365030157, 14365161277, 14365292363, 14365423477, 14365554563, + 14365685639, 14365816711, 14365947809, 14366078897, 14366209973, 14366341063, 14366472151, + 14366603233, 14366734313, 14366865433, 14366996533, 14367127613, 14367258707, 14367389819, + 14367520897, 14367651997, 14367783139, 14367914233, 14368045339, 14368176437, 14368307539, + 14368438619, 14368569707, 14368700803, 14368831879, 14368962967, 14369094043, 14369225119, + 14369356193, 14369487281, 14369618363, 14369749439, 14369880589, 14370011671, 14370142751, + 14370273847, 14370404933, 14370536021, 14370667109, 14370798203, 14370929297, 14371060409, + 14371191487, 14371322573, 14371453651, 14371584727, 14371715851, 14371846961, 14371978073, + 14372109151, 14372240263, 14372371339, 14372502421, 14372633501, 14372764579, 14372895673, + 14373026749, 14373157837, 14373288913, 14373420043, 14373551141, 14373682237, 14373813343, + 14373944419, 14374075511, 14374206593, 14374337671, 14374468799, 14374599893, 14374730989, + 14374862077, 14374993183, 14375124259, 14375255333, 14375386427, 14375517511, 14375648593, + 14375779673, 14375910763, 14376041899, 14376172973, 14376304069, 14376435167, 14376566249, + 14376697417, 14376828497, 14376959593, 14377090687, 14377221767, 14377352867, 14377483943, + 14377615051, 14377746133, 14377877209, 14378008291, 14378139371, 14378270461, 14378401537, + 14378532613, 14378663729, 14378794853, 14378925937, 14379057023, 14379188101, 14379319243, + 14379450317, 14379581399, 14379712471, 14379843553, 14379974663, 14380105757, 14380236839, + 14380367917, 14380498991, 14380630129, 14380761203, 14380892291, 14381023369, 14381154449, + 14381285533, 14381416613, 14381547707, 14381678783, 14381809873, 14381940953, 14382072071, + 14382203153, 14382334247, 14382465371, 14382596447, 14382727531, 14382858613, 14382989693, + 14383120769, 14383251889, 14383382963, 14383514039, 14383645117, 14383776193, 14383907267, + 14384038349, 14384169427, 14384300507, 14384431583, 14384562691, 14384693773, 14384824897, + 14384955997, 14385087127, 14385218209, 14385349343, 14385480419, 14385611503, 14385742597, + 14385873673, 14386004753, 14386135831, 14386266913, 14386397989, 14386529063, 14386660147, + 14386791247, 14386922323, 14387053399, 14387184481, 14387315563, 14387446637, 14387577739, + 14387708813, 14387839903, 14387970983, 14388102067, 14388233173, 14388364283, 14388495383, + 14388626479, 14388757553, 14388888641, 14389019783, 14389150871, 14389281943, 14389413047, + 14389544137, 14389675229, 14389806307, 14389937381, 14390068457, 14390199541, 14390330659, + 14390461769, 14390592847, 14390723939, 14390855041, 14390986153, 14391117233, 14391248329, + 14391379403, 14391510493, 14391641597, 14391772691, 14391903767, 14392034863, 14392165951, + 14392297133, 14392428221, 14392559309, 14392690393, 14392821511, 14392952621, 14393083703, + 14393214809, 14393345887, 14393476991, 14393608087, 14393739193, 14393870269, 14394001351, + 14394132469, 14394263551, 14394394687, 14394525779, 14394656869, 14394787943, 14394919039, + 14395050113, 14395181233, 14395312331, 14395443421, 14395574533, 14395705609, 14395836683, + 14395967771, 14396098859, 14396229931, 14396361011, 14396492107, 14396623181, 14396754313, + 14396885411, 14397016489, 14397147587, 14397278663, 14397409757, 14397540877, 14397671957, + 14397803053, 14397934139, 14398065229, 14398196311, 14398327393, 14398458509, 14398589587, + 14398720717, 14398851823, 14398982909, 14399113987, 14399245061, 14399376137, 14399507281, + 14399638369, 14399769463, 14399900579, 14400031661, 14400162809, 14400293903, 14400424981, + 14400556067, 14400687167, 14400818273, 14400949361, 14401080461, 14401211537, 14401342621, + 14401473731, 14401604803, 14401735879, 14401866961, 14401998059, 14402129227, 14402260309, + 14402391391, 14402522483, 14402653571, 14402784647, 14402915719, 14403046817, 14403177907, + 14403308981, 14403440057, 14403571177, 14403702259, 14403833351, 14403964439, 14404095527, + 14404226611, 14404357697, 14404488781, 14404619869, 14404750957, 14404882039, 14405013149, + 14405144231, 14405275307, 14405406397, 14405537479, 14405668579, 14405799659, 14405930731, + 14406061819, 14406192893, 14406324029, 14406455113, 14406586189, 14406717287, 14406848359, + 14406979471, 14407110589, 14407241669, 14407372741, 14407503823, 14407634947, 14407766047, + 14407897121, 14408028209, 14408159303, 14408290399, 14408421493, 14408552579, 14408683673, + 14408814767, 14408945893, 14409076993, 14409208091, 14409339209, 14409470293, 14409601391, + 14409732583, 14409863669, 14409994769, 14410125889, 14410257041, 14410388119, 14410519213, + 14410650323, 14410781501, 14410912679, 14411043809, 14411174923, 14411305999, 14411437133, + 14411568221, 14411699311, 14411830397, 14411961469, 14412092543, 14412223619, 14412354701, + 14412485783, 14412616859, 14412747959, 14412879031, 14413010107, 14413141181, 14413272259, + 14413403413, 14413534517, 14413665593, 14413796669, 14413927747, 14414058829, 14414189981, + 14414321083, 14414452181, 14414583259, 14414714333, 14414845439, 14414976607, 14415107711, + 14415238811, 14415369887, 14415500971, 14415632089, 14415763169, 14415894271, 14416025383, + 14416156457, 14416287533, 14416418629, 14416549727, 14416680823, 14416811917, 14416943003, + 14417074103, 14417205193, 14417336273, 14417467357, 14417598439, 14417729569, 14417860651, + 14417991733, 14418122827, 14418253903, 14418384989, 14418516067, 14418647143, 14418778261, + 14418909347, 14419040431, 14419171517, 14419302613, 14419433719, 14419564801, 14419695937, + 14419827013, 14419958117, 14420089193, 14420220313, 14420351401, 14420482579, 14420613659, + 14420744731, 14420875829, 14421006917, 14421137999, 14421269113, 14421400199, 14421531317, + 14421662389, 14421793487, 14421924593, 14422055671, 14422186769, 14422317853, 14422448939, + 14422580033, 14422711133, 14422842229, 14422973333, 14423104411, 14423235503, 14423366591, + 14423497667, 14423628763, 14423759843, 14423890927, 14424022009, 14424153113, 14424284197, + 14424415273, 14424546349, 14424677467, 14424808543, 14424939653, 14425070761, 14425201841, + 14425332991, 14425464073, 14425595153, 14425726351, 14425857431, 14425988543, 14426119627, + 14426250701, 14426381773, 14426512883, 14426643961, 14426775053, 14426906213, 14427037291, + 14427168389, 14427299461, 14427430543, 14427561623, 14427692711, 14427823783, 14427954887, + 14428086007, 14428217099, 14428348189, 14428479277, 14428610359, 14428741447, 14428872527, + 14429003651, 14429134763, 14429265857, 14429396941, 14429528023, 14429659103, 14429790181, + 14429921257, 14430052339, 14430183431, 14430314519, 14430445607, 14430576707, 14430707779, + 14430838859, 14430969953, 14431101077, 14431232159, 14431363241, 14431494313, 14431625399, + 14431756481, 14431887557, 14432018639, 14432149723, 14432280823, 14432411921, 14432543009, + 14432674097, 14432805193, 14432936339, 14433067417, 14433198503, 14433329597, 14433460703, + 14433591779, 14433722869, 14433853963, 14433985081, 14434116161, 14434247263, 14434378363, + 14434509457, 14434640543, 14434771627, 14434902701, 14435033773, 14435164847, 14435295977, + 14435427053, 14435558129, 14435689237, 14435820331, 14435951417, 14436082489, 14436213593, + 14436344683, 14436475771, 14436606851, 14436737941, 14436869021, 14437000121, 14437131227, + 14437262303, 14437393381, 14437524461, 14437655579, 14437786661, 14437917751, 14438048839, + 14438179913, 14438310989, 14438442121, 14438573197, 14438704277, 14438835353, 14438966447, + 14439097579, 14439228653, 14439359729, 14439490829, 14439621901, 14439753007, 14439884087, + 14440015193, 14440146269, 14440277351, 14440408459, 14440539541, 14440670623, 14440801723, + 14440932799, 14441063881, 14441194987, 14441326087, 14441457169, 14441588257, 14441719373, + 14441850457, 14441981549, 14442112669, 14442243763, 14442374839, 14442505927, 14442637037, + 14442768113, 14442899227, 14443030321, 14443161401, 14443292483, 14443423583, 14443554667, + 14443685759, 14443816843, 14443947937, 14444079011, 14444210083, 14444341157, 14444472233, + 14444603309, 14444734387, 14444865517, 14444996597, 14445127673, 14445258749, 14445389831, + 14445520907, 14445651991, 14445783109, 14445914201, 14446045279, 14446176379, 14446307461, + 14446438547, 14446569679, 14446700753, 14446831879, 14446962979, 14447094061, 14447225147, + 14447356243, 14447487319, 14447618443, 14447749517, 14447880637, 14448011797, 14448142873, + 14448273977, 14448405071, 14448536171, 14448667253, 14448798341, 14448929447, 14449060519, + 14449191593, 14449322689, 14449453769, 14449584841, 14449715927, 14449847003, 14449978079, + 14450109151, 14450240243, 14450371319, 14450502419, 14450633507, 14450764579, 14450895661, + 14451026761, 14451157837, 14451288919, 14451420013, 14451551143, 14451682237, 14451813317, + 14451944399, 14452075471, 14452206589, 14452337663, 14452468741, 14452599817, 14452730921, + 14452861999, 14452993097, 14453124247, 14453255339, 14453386447, 14453517527, 14453648617, + 14453779709, 14453910829, 14454041933, 14454173033, 14454304127, 14454435199, 14454566279, + 14454697351, 14454828433, 14454959543, 14455090651, 14455221727, 14455352803, 14455483943, + 14455615021, 14455746101, 14455877209, 14456008289, 14456139367, 14456270459, 14456401549, + 14456532659, 14456663747, 14456794871, 14456925947, 14457057029, 14457188101, 14457319183, + 14457450269, 14457581443, 14457712517, 14457843611, 14457974693, 14458105771, 14458236893, + 14458367969, 14458499059, 14458630177, 14458761257, 14458892333, 14459023451, 14459154533, + 14459285671, 14459416757, 14459547847, 14459678923, 14459810009, 14459941117, 14460072197, + 14460203299, 14460334379, 14460465469, 14460596561, 14460727637, 14460858749, 14460989897, + 14461120979, 14461252063, 14461383253, 14461514329, 14461645433, 14461776517, 14461907591, + 14462038667, 14462169829, 14462300987, 14462432069, 14462563147, 14462694251, 14462825323, + 14462956441, 14463087517, 14463218617, 14463349699, 14463480799, 14463611909, 14463742991, + 14463874063, 14464005163, 14464136273, 14464267379, 14464398467, 14464529561, 14464660649, + 14464791787, 14464922861, 14465053943, 14465185019, 14465316109, 14465447197, 14465578279, + 14465709353, 14465840449, 14465971571, 14466102661, 14466233773, 14466364873, 14466495961, + 14466627047, 14466758161, 14466889247, 14467020329, 14467151417, 14467282507, 14467413589, + 14467544681, 14467675771, 14467806883, 14467937959, 14468069051, 14468200133, 14468331239, + 14468462311, 14468593387, 14468724461, 14468855561, 14468986669, 14469117749, 14469248831, + 14469379927, 14469511031, 14469642113, 14469773189, 14469904261, 14470035341, 14470166413, + 14470297511, 14470428619, 14470559723, 14470690823, 14470821899, 14470952981, 14471084059, + 14471215139, 14471346269, 14471477359, 14471608447, 14471739521, 14471870593, 14472001673, + 14472132799, 14472263873, 14472394957, 14472526063, 14472657151, 14472788251, 14472919327, + 14473050437, 14473181519, 14473312613, 14473443779, 14473574867, 14473705957, 14473837031, + 14473968139, 14474099239, 14474230313, 14474361397, 14474492491, 14474623613, 14474754691, + 14474885851, 14475016957, 14475148033, 14475279107, 14475410179, 14475541319, 14475672437, + 14475803509, 14475934589, 14476065661, 14476196741, 14476327813, 14476458947, 14476590101, + 14476721219, 14476852297, 14476983371, 14477114453, 14477245553, 14477376653, 14477507753, + 14477638891, 14477769979, 14477901073, 14478032159, 14478163289, 14478294373, 14478425477, + 14478556571, 14478687659, 14478818743, 14478949817, 14479080947, 14479212061, 14479343143, + 14479474249, 14479605331, 14479736419, 14479867543, 14479998641, 14480129717, 14480260807, + 14480391881, 14480522977, 14480654057, 14480785157, 14480916259, 14481047393, 14481178471, + 14481309551, 14481440681, 14481571781, 14481702857, 14481833959, 14481965039, 14482096117, + 14482227191, 14482358281, 14482489361, 14482620491, 14482751581, 14482882679, 14483013829, + 14483144903, 14483275979, 14483407061, 14483538143, 14483669219, 14483800333, 14483931421, + 14484062531, 14484193687, 14484324817, 14484455893, 14484586999, 14484718081, 14484849157, + 14484980267, 14485111349, 14485242449, 14485373543, 14485504637, 14485635709, 14485766837, + 14485897981, 14486029087, 14486160163, 14486291249, 14486422337, 14486553457, 14486684533, + 14486815613, 14486946689, 14487077771, 14487208843, 14487339917, 14487470993, 14487602069, + 14487733159, 14487864241, 14487995329, 14488126421, 14488257517, 14488388599, 14488519679, + 14488650769, 14488781849, 14488912957, 14489044039, 14489175137, 14489306263, 14489437349, + 14489568421, 14489699503, 14489830577, 14489961653, 14490092731, 14490223823, 14490354943, + 14490486019, 14490617093, 14490748169, 14490879287, 14491010371, 14491141447, 14491272527, + 14491403603, 14491534703, 14491665779, 14491796867, 14491927949, 14492059039, 14492190143, + 14492321227, 14492452309, 14492583401, 14492714477, 14492845553, 14492976643, 14493107729, + 14493238807, 14493369893, 14493500969, 14493632057, 14493763129, 14493894209, 14494025309, + 14494156477, 14494287607, 14494418761, 14494549847, 14494680971, 14494812047, 14494943119, + 14495074193, 14495205299, 14495336393, 14495467471, 14495598563, 14495729659, 14495860759, + 14495991833, 14496122911, 14496253997, 14496385073, 14496516187, 14496647293, 14496778379, + 14496909451, 14497040543, 14497171621, 14497302767, 14497433891, 14497564967, 14497696043, + 14497827139, 14497958213, 14498089303, 14498220379, 14498351501, 14498482577, 14498613677, + 14498744791, 14498875883, 14499006983, 14499138067, 14499269149, 14499400229, 14499531337, + 14499662417, 14499793489, 14499924587, 14500055683, 14500186759, 14500317877, 14500448957, + 14500580041, 14500711117, 14500842217, 14500973303, 14501104381, 14501235473, 14501366549, + 14501497643, 14501628751, 14501759827, 14501890903, 14502021977, 14502153139, 14502284219, + 14502415303, 14502546427, 14502677507, 14502808597, 14502939707, 14503070789, 14503201883, + 14503332973, 14503464067, 14503595153, 14503726231, 14503857307, 14503988437, 14504119519, + 14504250623, 14504381719, 14504512811, 14504643913, 14504774987, 14504906063, 14505037163, + 14505168319, 14505299399, 14505430477, 14505561589, 14505692683, 14505823789, 14505954877, + 14506085953, 14506217039, 14506348123, 14506479217, 14506610291, 14506741373, 14506872451, + 14507003531, 14507134651, 14507265727, 14507396831, 14507527921, 14507659003, 14507790083, + 14507921177, 14508052283, 14508183373, 14508314453, 14508445577, 14508576653, 14508707747, + 14508838831, 14508969929, 14509101011, 14509232099, 14509363177, 14509494269, 14509625353, + 14509756427, 14509887499, 14510018573, 14510149763, 14510280881, 14510411953, 14510543039, + 14510674127, 14510805217, 14510936411, 14511067489, 14511198577, 14511329681, 14511460753, + 14511591839, 14511722921, 14511853999, 14511985093, 14512116233, 14512247333, 14512378417, + 14512509509, 14512640587, 14512771661, 14512902739, 14513033813, 14513164889, 14513295961, + 14513427043, 14513558159, 14513689291, 14513820407, 14513951479, 14514082553, 14514213647, + 14514344729, 14514475817, 14514606889, 14514738047, 14514869119, 14515000193, 14515131277, + 14515262353, 14515393429, 14515524521, 14515655593, 14515786667, 14515917791, 14516048879, + 14516180027, 14516311109, 14516442233, 14516573333, 14516704409, 14516835497, 14516966593, + 14517097669, 14517228743, 14517359863, 14517490943, 14517622019, 14517753119, 14517884197, + 14518015271, 14518146367, 14518277443, 14518408537, 14518539689, 14518670779, 14518801877, + 14518932971, 14519064071, 14519195179, 14519326259, 14519457331, 14519588441, 14519719531, + 14519850641, 14519981747, 14520112843, 14520243961, 14520375041, 14520506129, 14520637217, + 14520768347, 14520899431, 14521030507, 14521161623, 14521292701, 14521423811, 14521554889, + 14521685977, 14521817069, 14521948153, 14522079251, 14522210333, 14522341411, 14522472511, + 14522603591, 14522734669, 14522865743, 14522996843, 14523127919, 14523258991, 14523390103, + 14523521179, 14523652259, 14523783367, 14523914441, 14524045513, 14524176599, 14524307689, + 14524438771, 14524569859, 14524700947, 14524832059, 14524963153, 14525094263, 14525225339, + 14525356487, 14525487563, 14525618641, 14525749753, 14525880827, 14526011939, 14526143039, + 14526274153, 14526405241, 14526536407, 14526667489, 14526798577, 14526929657, 14527060729, + 14527191829, 14527322903, 14527453991, 14527585067, 14527716167, 14527847287, 14527978363, + 14528109443, 14528240549, 14528371621, 14528502697, 14528633771, 14528764849, 14528895923, + 14529027011, 14529158087, 14529289169, 14529420259, 14529551431, 14529682561, 14529813689, + 14529944773, 14530075853, 14530206941, 14530338023, 14530469117, 14530600199, 14530731287, + 14530862369, 14530993441, 14531124557, 14531255639, 14531386711, 14531517821, 14531648897, + 14531779973, 14531911193, 14532042277, 14532173353, 14532304447, 14532435557, 14532566641, + 14532697769, 14532828853, 14532959933, 14533091039, 14533222111, 14533353199, 14533484291, + 14533615363, 14533746481, 14533877557, 14534008639, 14534139721, 14534270801, 14534401913, + 14534533031, 14534664127, 14534795221, 14534926319, 14535057419, 14535188497, 14535319577, + 14535450649, 14535581741, 14535712813, 14535843911, 14535975029, 14536106107, 14536237189, + 14536368277, 14536499407, 14536630501, 14536761593, 14536892693, 14537023769, 14537154857, + 14537285933, 14537417017, 14537548099, 14537679179, 14537810293, 14537941387, 14538072467, + 14538203573, 14538334651, 14538465743, 14538596819, 14538727909, 14538859019, 14538990091, + 14539121167, 14539252249, 14539383349, 14539514453, 14539645529, 14539776607, 14539907687, + 14540038789, 14540169913, 14540300987, 14540432113, 14540563189, 14540694331, 14540825413, + 14540956489, 14541087601, 14541218689, 14541349783, 14541480883, 14541611957, 14541743089, + 14541874229, 14542005301, 14542136437, 14542267511, 14542398589, 14542529693, 14542660771, + 14542791859, 14542922959, 14543054069, 14543185169, 14543316257, 14543447329, 14543578447, + 14543709541, 14543840617, 14543971693, 14544102791, 14544233863, 14544364937, 14544496027, + 14544627133, 14544758243, 14544889319, 14545020437, 14545151531, 14545282621, 14545413703, + 14545544789, 14545675867, 14545806941, 14545938037, 14546069129, 14546200213, 14546331323, + 14546462423, 14546593499, 14546724571, 14546855651, 14546986771, 14547117853, 14547248941, + 14547380051, 14547511151, 14547642233, 14547773321, 14547904403, 14548035493, 14548166579, + 14548297711, 14548428841, 14548559953, 14548691051, 14548822163, 14548953271, 14549084369, + 14549215441, 14549346583, 14549477713, 14549608817, 14549739913, 14549870989, 14550002069, + 14550133151, 14550264251, 14550395323, 14550526421, 14550657503, 14550788719, 14550919819, + 14551050893, 14551181971, 14551313057, 14551444133, 14551575281, 14551706353, 14551837427, + 14551968527, 14552099599, 14552230681, 14552361757, 14552492833, 14552623907, 14552755081, + 14552886157, 14553017287, 14553148411, 14553279493, 14553410569, 14553541643, 14553672719, + 14553803837, 14553934919, 14554066073, 14554197227, 14554328359, 14554459463, 14554590541, + 14554721653, 14554852757, 14554983847, 14555114921, 14555245993, 14555377069, 14555508223, + 14555639297, 14555770429, 14555901527, 14556032629, 14556163711, 14556294811, 14556425903, + 14556556991, 14556688079, 14556819169, 14556950351, 14557081481, 14557212611, 14557343693, + 14557474783, 14557605857, 14557736951, 14557868023, 14557999097, 14558130221, 14558261293, + 14558392369, 14558523449, 14558654521, 14558785603, 14558916677, 14559047761, 14559178873, + 14559309967, 14559441047, 14559572141, 14559703217, 14559834301, 14559965389, 14560096469, + 14560227553, 14560358639, 14560489717, 14560620803, 14560751879, 14560882981, 14561014073, + 14561145199, 14561276273, 14561407381, 14561538463, 14561669539, 14561800663, 14561931739, + 14562062831, 14562193903, 14562325013, 14562456101, 14562587177, 14562718253, 14562849337, + 14562980423, 14563111499, 14563242581, 14563373677, 14563504771, 14563635847, 14563766929, + 14563898051, 14564029201, 14564160311, 14564291383, 14564422459, 14564553587, 14564684677, + 14564815751, 14564946901, 14565077977, 14565209111, 14565340201, 14565471331, 14565602419, + 14565733519, 14565864617, 14565995693, 14566126787, 14566257863, 14566388981, 14566520081, + 14566651153, 14566782233, 14566913359, 14567044441, 14567175517, 14567306599, 14567437691, + 14567568773, 14567699851, 14567830933, 14567962037, 14568093151, 14568224249, 14568355327, + 14568486403, 14568617491, 14568748609, 14568879701, 14569010789, 14569141877, 14569272953, + 14569404037, 14569535111, 14569666219, 14569797293, 14569928383, 14570059477, 14570190589, + 14570321663, 14570452823, 14570583901, 14570714987, 14570846071, 14570977193, 14571108301, + 14571239377, 14571370469, 14571501551, 14571632623, 14571763699, 14571894791, 14572025873, + 14572156967, 14572288063, 14572419149, 14572550261, 14572681363, 14572812461, 14572943533, + 14573074609, 14573205707, 14573336803, 14573467879, 14573598971, 14573730077, 14573861171, + 14573992247, 14574123331, 14574254447, 14574385559, 14574516643, 14574647729, 14574778811, + 14574909883, 14575040981, 14575172057, 14575303153, 14575434233, 14575565309, 14575696381, + 14575827479, 14575958581, 14576089673, 14576220803, 14576351887, 14576482969, 14576614051, + 14576745181, 14576876257, 14577007331, 14577138419, 14577269503, 14577400603, 14577531701, + 14577662789, 14577793861, 14577924941, 14578056013, 14578187093, 14578318177, 14578449251, + 14578580327, 14578711451, 14578842539, 14578973623, 14579104697, 14579235793, 14579366899, + 14579497973, 14579629087, 14579760199, 14579891273, 14580022361, 14580153451, 14580284527, + 14580415621, 14580546697, 14580677779, 14580808859, 14580939937, 14581071031, 14581202179, + 14581333297, 14581464371, 14581595477, 14581726559, 14581857643, 14581988719, 14582119817, + 14582250899, 14582381981, 14582513081, 14582644163, 14582775247, 14582906383, 14583037459, + 14583168563, 14583299639, 14583430721, 14583561823, 14583692939, 14583824069, 14583955151, + 14584086247, 14584217321, 14584348393, 14584479479, 14584610563, 14584741693, 14584872773, + 14585003861, 14585135017, 14585266099, 14585397193, 14585528297, 14585659409, 14585790487, + 14585921591, 14586052667, 14586183757, 14586314843, 14586445921, 14586577043, 14586708121, + 14586839227, 14586970379, 14587101461, 14587232533, 14587363673, 14587494773, 14587625861, + 14587756943, 14587888019, 14588019109, 14588150243, 14588281319, 14588412413, 14588543507, + 14588674591, 14588805683, 14588936771, 14589067849, 14589198959, 14589330037, 14589461123, + 14589592247, 14589723329, 14589854423, 14589985507, 14590116589, 14590247677, 14590378763, + 14590509851, 14590640957, 14590772029, 14590903153, 14591034251, 14591165327, 14591296403, + 14591427481, 14591558563, 14591689709, 14591820781, 14591951863, 14592082937, 14592214079, + 14592345161, 14592476237, 14592607313, 14592738421, 14592869519, 14593000607, 14593131703, + 14593262777, 14593393849, 14593524929, 14593656013, 14593787099, 14593918181, 14594049257, + 14594180333, 14594311429, 14594442509, 14594573603, 14594704739, 14594835811, 14594966899, + 14595097973, 14595229049, 14595360133, 14595491221, 14595622319, 14595753391, 14595884467, + 14596015543, 14596146619, 14596277713, 14596408819, 14596539911, 14596670989, 14596802069, + 14596933171, 14597064283, 14597195357, 14597326561, 14597457647, 14597588749, 14597719823, + 14597850941, 14597982031, 14598113137, 14598244253, 14598375331, 14598506423, 14598637499, + 14598768599, 14598899701, 14599030793, 14599161869, 14599292947, 14599424023, 14599555099, + 14599686191, 14599817263, 14599948397, 14600079499, 14600210587, 14600341663, 14600472737, + 14600603837, 14600734913, 14600866039, 14600997143, 14601128221, 14601259301, 14601390469, + 14601521569, 14601652669, 14601783751, 14601914837, 14602045919, 14602177001, 14602308079, + 14602439177, 14602570273, 14602701349, 14602832437, 14602963519, 14603094607, 14603225687, + 14603356763, 14603487841, 14603618923, 14603750003, 14603881091, 14604012169, 14604143293, + 14604274367, 14604405449, 14604536521, 14604667607, 14604798707, 14604929813, 14605060889, + 14605192013, 14605323143, 14605454251, 14605585363, 14605716443, 14605847521, 14605978609, + 14606109689, 14606240783, 14606371867, 14606502959, 14606634061, 14606765161, 14606896253, + 14607027329, 14607158407, 14607289493, 14607420593, 14607551687, 14607682801, 14607813901, + 14607944983, 14608076059, 14608207153, 14608338259, 14608469347, 14608600427, 14608731541, + 14608862629, 14608993703, 14609124779, 14609255867, 14609387047, 14609518129, 14609649239, + 14609780323, 14609911409, 14610042631, 14610173707, 14610304801, 14610435883, 14610566987, + 14610698087, 14610829199, 14610960281, 14611091359, 14611222447, 14611353529, 14611484609, + 14611615699, 14611746781, 14611877899, 14612008979, 14612140087, 14612271181, 14612402263, + 14612533337, 14612664421, 14612795501, 14612926639, 14613057773, 14613188867, 14613319949, + 14613451037, 14613582133, 14613713239, 14613844337, 14613975413, 14614106489, 14614237577, + 14614368653, 14614499729, 14614630819, 14614761899, 14614892993, 14615024093, 14615155169, + 14615286247, 14615417351, 14615548439, 14615679517, 14615810593, 14615941673, 14616072763, + 14616203837, 14616334963, 14616466037, 14616597113, 14616728207, 14616859297, 14616990397, + 14617121501, 14617252589, 14617383719, 14617514801, 14617645919, 14617777007, 14617908119, + 14618039197, 14618170291, 14618301407, 14618432503, 14618563579, 14618694697, 14618825821, + 14618956951, 14619088031, 14619219113, 14619350191, 14619481267, 14619612353, 14619743431, + 14619874513, 14620005641, 14620136719, 14620267807, 14620398917, 14620530011, 14620661129, + 14620792211, 14620923283, 14621054359, 14621185441, 14621316517, 14621447597, 14621578669, + 14621709763, 14621840837, 14621971909, 14622103039, 14622234181, 14622365267, 14622496351, + 14622627463, 14622758543, 14622889637, 14623020721, 14623151801, 14623282909, 14623413983, + 14623545121, 14623676227, 14623807313, 14623938391, 14624069483, 14624200559, 14624331647, + 14624462737, 14624593813, 14624724893, 14624855981, 14624987089, 14625118171, 14625249251, + 14625380327, 14625511403, 14625642481, 14625773597, 14625904679, 14626035757, 14626166837, + 14626297921, 14626429033, 14626560121, 14626691279, 14626822387, 14626953491, 14627084603, + 14627215679, 14627346751, 14627477869, 14627608967, 14627740087, 14627871173, 14628002269, + 14628133343, 14628264439, 14628395521, 14628526603, 14628657697, 14628788789, 14628919867, + 14629050959, 14629182041, 14629313129, 14629444223, 14629575307, 14629706411, 14629837483, + 14629968583, 14630099657, 14630230733, 14630361841, 14630492971, 14630624059, 14630755151, + 14630886229, 14631017341, 14631148421, 14631279571, 14631410657, 14631541781, 14631672877, + 14631803951, 14631935023, 14632066109, 14632197187, 14632328297, 14632459397, 14632590521, + 14632721671, 14632852763, 14632983851, 14633114933, 14633246083, 14633377159, 14633508259, + 14633639333, 14633770511, 14633901587, 14634032681, 14634163757, 14634294929, 14634426011, + 14634557089, 14634688177, 14634819299, 14634950371, 14635081451, 14635212533, 14635343621, + 14635474703, 14635605791, 14635736867, 14635867993, 14635999099, 14636130241, 14636261359, + 14636392487, 14636523563, 14636654701, 14636785777, 14636916851, 14637047927, 14637179023, + 14637310111, 14637441197, 14637572273, 14637703361, 14637834457, 14637965539, 14638096631, + 14638227713, 14638358837, 14638489937, 14638621013, 14638752091, 14638883177, 14639014261, + 14639145341, 14639276423, 14639407499, 14639538601, 14639669683, 14639800787, 14639931893, + 14640062981, 14640194059, 14640325153, 14640456227, 14640587317, 14640718423, 14640849527, + 14640980647, 14641111729, 14641242821, 14641373897, 14641504973, 14641636067, 14641767233, + 14641898321, 14642029393, 14642160509, 14642291591, 14642422681, 14642553767, 14642684893, + 14642815987, 14642947069, 14643078169, 14643209291, 14643340367, 14643471473, 14643602551, + 14643733631, 14643864707, 14643995801, 14644126877, 14644257949, 14644389049, 14644520129, + 14644651201, 14644782281, 14644913363, 14645044471, 14645175557, 14645306639, 14645437711, + 14645568797, 14645699891, 14645830981, 14645962061, 14646093139, 14646224273, 14646355351, + 14646486467, 14646617549, 14646748631, 14646879707, 14647010779, 14647141871, 14647272977, + 14647404053, 14647535131, 14647666213, 14647797293, 14647928423, 14648059499, 14648190611, + 14648321683, 14648452813, 14648583889, 14648715007, 14648846099, 14648977199, 14649108317, + 14649239399, 14649370487, 14649501563, 14649632651, 14649763811, 14649894907, 14650025989, + 14650157077, 14650288151, 14650419247, 14650550323, 14650681459, 14650812541, 14650943633, + 14651074721, 14651205847, 14651336929, 14651468063, 14651599147, 14651730251, 14651861351, + 14651992423, 14652123503, 14652254621, 14652385703, 14652516797, 14652647917, 14652778991, + 14652910121, 14653041253, 14653172329, 14653303409, 14653434517, 14653565593, 14653696691, + 14653827779, 14653958861, 14654089937, 14654221013, 14654352101, 14654483177, 14654614259, + 14654745373, 14654876471, 14655007579, 14655138713, 14655269803, 14655400943, 14655532033, + 14655663119, 14655794203, 14655925307, 14656056407, 14656187521, 14656318597, 14656449671, + 14656580777, 14656711871, 14656843031, 14656974121, 14657105201, 14657236309, 14657367397, + 14657498509, 14657629603, 14657760679, 14657891767, 14658022859, 14658153947, 14658285023, + 14658416137, 14658547213, 14658678301, 14658809387, 14658940459, 14659071547, 14659202671, + 14659333747, 14659464889, 14659595969, 14659727053, 14659858127, 14659989221, 14660120303, + 14660251391, 14660382469, 14660513551, 14660644627, 14660775721, 14660906801, 14661037967, + 14661169079, 14661300197, 14661431269, 14661562361, 14661693437, 14661824531, 14661955619, + 14662086727, 14662217821, 14662348903, 14662480033, 14662611107, 14662742179, 14662873307, + 14663004397, 14663135497, 14663266589, 14663397673, 14663528797, 14663659877, 14663790959, + 14663922043, 14664053119, 14664184237, 14664315313, 14664446387, 14664577481, 14664708563, + 14664839647, 14664970721, 14665101853, 14665232957, 14665364089, 14665495171, 14665626253, + 14665757341, 14665888417, 14666019541, 14666150647, 14666281723, 14666412823, 14666543921, + 14666674993, 14666806073, 14666937151, 14667068267, 14667199343, 14667330427, 14667461509, + 14667592607, 14667723689, 14667854801, 14667985901, 14668116979, 14668248059, 14668379149, + 14668510223, 14668641313, 14668772387, 14668903477, 14669034559, 14669165633, 14669296739, + 14669427811, 14669558921, 14669690011, 14669821121, 14669952223, 14670083371, 14670214457, + 14670345539, 14670476629, 14670607709, 14670738791, 14670869911, 14671000987, 14671132079, + 14671263179, 14671394279, 14671525373, 14671656463, 14671787549, 14671918711, 14672049797, + 14672180903, 14672311981, 14672443057, 14672574151, 14672705227, 14672836301, 14672967409, + 14673098483, 14673229559, 14673360643, 14673491719, 14673622807, 14673753911, 14673884983, + 14674016069, 14674147151, 14674278257, 14674409357, 14674540459, 14674671551, 14674802641, + 14674933717, 14675064823, 14675195933, 14675327033, 14675458117, 14675589209, 14675720287, + 14675851361, 14675982443, 14676113521, 14676244603, 14676375683, 14676506791, 14676637873, + 14676768959, 14676900061, 14677031143, 14677162223, 14677293307, 14677424381, 14677555469, + 14677686563, 14677817639, 14677948717, 14678079797, 14678210891, 14678341969, 14678473049, + 14678604131, 14678735231, 14678866303, 14678997379, 14679128459, 14679259559, 14679390647, + 14679521807, 14679652879, 14679783973, 14679915053, 14680046131, 14680177207, 14680308337, + 14680439443, 14680570523, 14680701617, 14680832701, 14680963807, 14681094941, 14681226013, + 14681357107, 14681488181, 14681619283, 14681750387, 14681881477, 14682012563, 14682143639, + 14682274721, 14682405809, 14682536893, 14682667969, 14682799063, 14682930139, 14683061213, + 14683192291, 14683323379, 14683454473, 14683585589, 14683716737, 14683847813, 14683978889, + 14684109971, 14684241071, 14684372147, 14684503241, 14684634317, 14684765423, 14684896511, + 14685027583, 14685158659, 14685289771, 14685420859, 14685551987, 14685683069, 14685814159, + 14685945247, 14686076329, 14686207441, 14686338523, 14686469627, 14686600699, 14686731779, + 14686862873, 14686993961, 14687125087, 14687256197, 14687387287, 14687518393, 14687649469, + 14687780551, 14687911661, 14688042769, 14688173867, 14688304949, 14688436057, 14688567149, + 14688698257, 14688829361, 14688960437, 14689091537, 14689222627, 14689353733, 14689484807, + 14689615879, 14689746959, 14689878079, 14690009161, 14690140253, 14690271347, 14690402431, + 14690533511, 14690664601, 14690795711, 14690926793, 14691057877, 14691188999, 14691320129, + 14691451207, 14691582313, 14691713423, 14691844543, 14691975631, 14692106713, 14692237823, + 14692368931, 14692500007, 14692631099, 14692762199, 14692893277, 14693024351, 14693155429, + 14693286533, 14693417623, 14693548703, 14693679799, 14693810917, 14693942041, 14694073169, + 14694204241, 14694335333, 14694466421, 14694597503, 14694728597, 14694859691, 14694990787, + 14695121869, 14695252961, 14695384037, 14695515137, 14695646221, 14695777303, 14695908377, + 14696039483, 14696170571, 14696301689, 14696432767, 14696563879, 14696694953, 14696826031, + 14696957117, 14697088193, 14697219289, 14697350377, 14697481471, 14697612571, 14697743677, + 14697874799, 14698005893, 14698137007, 14698268141, 14698399213, 14698530307, 14698661423, + 14698792517, 14698923607, 14699054687, 14699185763, 14699316847, 14699447921, 14699579017, + 14699710097, 14699841193, 14699972311, 14700103417, 14700234499, 14700365597, 14700496673, + 14700627757, 14700758879, 14700889963, 14701021037, 14701152119, 14701283209, 14701414297, + 14701545371, 14701676447, 14701807531, 14701938611, 14702069689, 14702200781, 14702331857, + 14702462947, 14702594033, 14702725123, 14702856199, 14702987297, 14703118379, 14703249461, + 14703380533, 14703511609, 14703642731, 14703773849, 14703904921, 14704036007, 14704167097, + 14704298183, 14704429277, 14704560349, 14704691447, 14704822523, 14704953619, 14705084761, + 14705215901, 14705346979, 14705478097, 14705609183, 14705740307, 14705871421, 14706002513, + 14706133591, 14706264667, 14706395771, 14706526843, 14706657937, 14706789017, 14706920093, + 14707051171, 14707182299, 14707313393, 14707444471, 14707575559, 14707706641, 14707837747, + 14707968851, 14708099941, 14708231023, 14708362111, 14708493193, 14708624267, 14708755367, + 14708886497, 14709017641, 14709148721, 14709279797, 14709410887, 14709541963, 14709673037, + 14709804113, 14709935237, 14710066331, 14710197451, 14710328533, 14710459609, 14710590683, + 14710721759, 14710852861, 14710983941, 14711115043, 14711246167, 14711377271, 14711508349, + 14711639429, 14711770523, 14711901661, 14712032767, 14712163883, 14712294973, 14712426067, + 14712557143, 14712688241, 14712819349, 14712950423, 14713081549, 14713212629, 14713343761, + 14713474837, 14713605913, 14713737089, 14713868173, 14713999259, 14714130371, 14714261459, + 14714392549, 14714523749, 14714654821, 14714785933, 14714917013, 14715048143, 14715179233, + 14715310307, 14715441401, 14715572491, 14715703567, 14715834671, 14715965783, 14716096861, + 14716227959, 14716359079, 14716490153, 14716621253, 14716752341, 14716883497, 14717014583, + 14717145671, 14717276767, 14717407843, 14717538923, 14717669999, 14717801117, 14717932193, + 14718063281, 14718194357, 14718325441, 14718456521, 14718587599, 14718718681, 14718849811, + 14718980897, 14719111987, 14719243109, 14719374191, 14719505291, 14719636363, 14719767451, + 14719898527, 14720029613, 14720160727, 14720291821, 14720422903, 14720553979, 14720685053, + 14720816141, 14720947247, 14721078347, 14721209429, 14721340559, 14721471649, 14721602723, + 14721733801, 14721864919, 14721996001, 14722127089, 14722258181, 14722389257, 14722520333, + 14722651421, 14722782509, 14722913587, 14723044669, 14723175767, 14723306911, 14723437987, + 14723569079, 14723700161, 14723831237, 14723962333, 14724093407, 14724224483, 14724355601, + 14724486683, 14724617767, 14724748847, 14724879929, 14725011011, 14725142099, 14725273219, + 14725404293, 14725535411, 14725666513, 14725797589, 14725928669, 14726059771, 14726190847, + 14726321921, 14726452999, 14726584079, 14726715197, 14726846297, 14726977393, 14727108497, + 14727239591, 14727370729, 14727501869, 14727632993, 14727764113, 14727895199, 14728026323, + 14728157407, 14728288481, 14728419553, 14728550689, 14728681811, 14728812883, 14728943969, + 14729075059, 14729206133, 14729337211, 14729468291, 14729599363, 14729730467, 14729861551, + 14729992709, 14730123799, 14730254899, 14730385973, 14730517073, 14730648151, 14730779227, + 14730910319, 14731041397, 14731172497, 14731303589, 14731434667, 14731565767, 14731696867, + 14731827953, 14731959041, 14732090119, 14732221213, 14732352293, 14732483417, 14732614493, + 14732745569, 14732876647, 14733007771, 14733138853, 14733269933, 14733401017, 14733532109, + 14733663299, 14733794381, 14733925469, 14734056613, 14734187701, 14734318777, 14734449871, + 14734580951, 14734712029, 14734843139, 14734974227, 14735105323, 14735236403, 14735367497, + 14735498597, 14735629687, 14735760761, 14735891851, 14736022963, 14736154063, 14736285163, + 14736416269, 14736547361, 14736678433, 14736809509, 14736940591, 14737071691, 14737202773, + 14737333867, 14737464941, 14737596019, 14737727117, 14737858199, 14737989271, 14738120417, + 14738251511, 14738382583, 14738513677, 14738644757, 14738775851, 14738906927, 14739038051, + 14739169129, 14739300223, 14739431303, 14739562399, 14739693499, 14739824611, 14739955687, + 14740086799, 14740217909, 14740348981, 14740480063, 14740611139, 14740742221, 14740873319, + 14741004433, 14741135561, 14741266669, 14741397743, 14741528899, 14741660033, 14741791109, + 14741922191, 14742053269, 14742184343, 14742315421, 14742446501, 14742577601, 14742708707, + 14742839791, 14742970883, 14743102001, 14743233073, 14743364149, 14743495243, 14743626367, + 14743757461, 14743888561, 14744019671, 14744150747, 14744281829, 14744412937, 14744544011, + 14744675087, 14744806169, 14744937253, 14745068329, 14745199423, 14745330497, 14745461587, + 14745592681, 14745723763, 14745854839, 14745985927, 14746117007, 14746248089, 14746379171, + 14746510349, 14746641439, 14746772527, 14746903601, 14747034677, 14747165759, 14747296841, + 14747427941, 14747559017, 14747690099, 14747821171, 14747952269, 14748083411, 14748214487, + 14748345569, 14748476683, 14748607763, 14748738859, 14748869957, 14749001063, 14749132159, + 14749263239, 14749394351, 14749525481, 14749656577, 14749787651, 14749918759, 14750049857, + 14750180969, 14750312041, 14750443117, 14750574217, 14750705297, 14750836417, 14750967521, + 14751098657, 14751229763, 14751360851, 14751491941, 14751623039, 14751754111, 14751885229, + 14752016303, 14752147379, 14752278557, 14752409671, 14752540769, 14752671877, 14752802993, + 14752934099, 14753065183, 14753196277, 14753327363, 14753458453, 14753589577, 14753720671, + 14753851751, 14753982829, 14754113903, 14754245021, 14754376097, 14754507169, 14754638257, + 14754769339, 14754900427, 14755031549, 14755162637, 14755293719, 14755424819, 14755555897, + 14755686971, 14755818047, 14755949141, 14756080319, 14756211443, 14756342527, 14756473601, + 14756604701, 14756735801, 14756866889, 14756997977, 14757129073, 14757260183, 14757391283, + 14757522389, 14757653473, 14757784553, 14757915643, 14758046747, 14758177823, 14758308899, + 14758440007, 14758571083, 14758702159, 14758833251, 14758964359, 14759095433, 14759226509, + 14759357597, 14759488673, 14759619779, 14759750881, 14759882003, 14760013087, 14760144233, + 14760275353, 14760406429, 14760537509, 14760668581, 14760799733, 14760930809, 14761061899, + 14761192981, 14761324079, 14761455151, 14761586227, 14761717301, 14761848377, 14761979459, + 14762110537, 14762241619, 14762372731, 14762503807, 14762634881, 14762765957, 14762897069, + 14763028211, 14763159289, 14763290389, 14763421481, 14763552553, 14763683687, 14763814823, + 14763945913, 14764077001, 14764208101, 14764339199, 14764470289, 14764601399, 14764732471, + 14764863557, 14764994653, 14765125729, 14765256811, 14765387909, 14765518991, 14765650091, + 14765781167, 14765912257, 14766043337, 14766174443, 14766305531, 14766436603, 14766567733, + 14766698833, 14766829921, 14766961043, 14767092127, 14767223203, 14767354307, 14767485379, + 14767616459, 14767747541, 14767878623, 14768009699, 14768140799, 14768272033, 14768403157, + 14768534237, 14768665313, 14768796391, 14768927483, 14769058571, 14769189727, 14769320831, + 14769451937, 14769583021, 14769714101, 14769845177, 14769976267, 14770107353, 14770238447, + 14770369531, 14770500607, 14770631819, 14770762901, 14770893997, 14771025083, 14771156173, + 14771287261, 14771418419, 14771549519, 14771680631, 14771811707, 14771942803, 14772073889, + 14772204973, 14772336067, 14772467189, 14772598277, 14772729383, 14772860471, 14772991553, + 14773122629, 14773253713, 14773384793, 14773515877, 14773646963, 14773778057, 14773909151, + 14774040257, 14774171339, 14774302441, 14774433547, 14774564621, 14774695711, 14774826793, + 14774957881, 14775089033, 14775220111, 14775351193, 14775482299, 14775613373, 14775744461, + 14775875539, 14776006613, 14776137713, 14776268797, 14776399873, 14776530947, 14776662023, + 14776793131, 14776924213, 14777055289, 14777186401, 14777317481, 14777448589, 14777579671, + 14777710763, 14777841877, 14777972999, 14778104071, 14778235159, 14778366257, 14778497333, + 14778628421, 14778759539, 14778890641, 14779021717, 14779152809, 14779283881, 14779414987, + 14779546073, 14779677151, 14779808237, 14779939313, 14780070407, 14780201521, 14780332601, + 14780463673, 14780594753, 14780725831, 14780856913, 14780988007, 14781119107, 14781250181, + 14781381253, 14781512357, 14781643433, 14781774523, 14781905597, 14782036679, 14782167761, + 14782298837, 14782429933, 14782561037, 14782692121, 14782823197, 14782954297, 14783085397, + 14783216479, 14783347609, 14783478701, 14783609803, 14783740879, 14783872001, 14784003083, + 14784134159, 14784265283, 14784396371, 14784527453, 14784658529, 14784789601, 14784920677, + 14785051763, 14785182887, 14785313969, 14785445053, 14785576129, 14785707221, 14785838329, + 14785969411, 14786100493, 14786231573, 14786362673, 14786493769, 14786624843, 14786755927, + 14786887033, 14787018107, 14787149183, 14787280273, 14787411347, 14787542423, 14787673507, + 14787804623, 14787935711, 14788066807, 14788197887, 14788329011, 14788460083, 14788591171, + 14788722251, 14788853341, 14788984433, 14789115559, 14789246677, 14789377753, 14789508859, + 14789639933, 14789771011, 14789902087, 14790033169, 14790164261, 14790295367, 14790426439, + 14790557531, 14790688609, 14790819707, 14790950819, 14791081909, 14791213049, 14791344133, + 14791475213, 14791606301, 14791737377, 14791868459, 14791999549, 14792130637, 14792261713, + 14792392847, 14792523937, 14792655013, 14792786087, 14792917163, 14793048241, 14793179347, + 14793310423, 14793441499, 14793572581, 14793703679, 14793834751, 14793965827, 14794096913, + 14794228049, 14794359131, 14794490209, 14794621291, 14794752403, 14794883507, 14795014613, + 14795145689, 14795276761, 14795407843, 14795538917, 14795670013, 14795801089, 14795932163, + 14796063239, 14796194333, 14796325409, 14796456517, 14796587599, 14796718733, 14796849839, + 14796980921, 14797111993, 14797243067, 14797374143, 14797505237, 14797636327, 14797767409, + 14797898491, 14798029573, 14798160649, 14798291723, 14798422817, 14798553919, 14798685019, + 14798816099, 14798947187, 14799078269, 14799209377, 14799340469, 14799471541, 14799602621, + 14799733703, 14799864791, 14799995989, 14800127071, 14800258153, 14800389239, 14800520323, + 14800651427, 14800782517, 14800913591, 14801044667, 14801175761, 14801306857, 14801437933, + 14801569067, 14801700217, 14801831293, 14801962423, 14802093521, 14802224597, 14802355691, + 14802486773, 14802617849, 14802748957, 14802880073, 14803011149, 14803142239, 14803273313, + 14803404437, 14803535533, 14803666639, 14803797733, 14803928807, 14804059883, 14804190959, + 14804322053, 14804453137, 14804584231, 14804715313, 14804846443, 14804977549, 14805108629, + 14805239711, 14805370793, 14805501869, 14805632971, 14805764047, 14805895127, 14806026259, + 14806157339, 14806288423, 14806419553, 14806550659, 14806681751, 14806812827, 14806943923, + 14807074999, 14807206111, 14807337221, 14807468317, 14807599421, 14807730499, 14807861581, + 14807992691, 14808123763, 14808254861, 14808385973, 14808517079, 14808648163, 14808779243, + 14808910321, 14809041397, 14809172473, 14809303547, 14809434641, 14809565717, 14809696793, + 14809827881, 14809958971, 14810090047, 14810221133, 14810352299, 14810483381, 14810614487, + 14810745571, 14810876653, 14811007727, 14811138817, 14811269929, 14811401027, 14811532139, + 14811663221, 14811794297, 14811925369, 14812056449, 14812187521, 14812318607, 14812449679, + 14812580753, 14812711841, 14812842949, 14812974031, 14813105113, 14813236189, 14813367277, + 14813498351, 14813629427, 14813760499, 14813891591, 14814022693, 14814153793, 14814284887, + 14814415981, 14814547067, 14814678149, 14814809231, 14814940307, 14815071407, 14815202527, + 14815333601, 14815464679, 14815595789, 14815726879, 14815858009, 14815989101, 14816120183, + 14816251291, 14816382367, 14816513441, 14816644519, 14816775599, 14816906683, 14817037757, + 14817168833, 14817299921, 14817430993, 14817562127, 14817693199, 14817824303, 14817955423, + 14818086497, 14818217587, 14818348681, 14818479763, 14818610879, 14818741961, 14818873057, + 14819004133, 14819135213, 14819266339, 14819397413, 14819528533, 14819659609, 14819790691, + 14819921797, 14820052901, 14820183991, 14820315067, 14820446159, 14820577283, 14820708367, + 14820839443, 14820970537, 14821101623, 14821232801, 14821363889, 14821494967, 14821626107, + 14821757183, 14821888259, 14822019343, 14822150437, 14822281519, 14822412617, 14822543707, + 14822674787, 14822805859, 14822936941, 14823068027, 14823199099, 14823330173, 14823461269, + 14823592379, 14823723469, 14823854543, 14823985637, 14824116709, 14824247813, 14824378889, + 14824509961, 14824641059, 14824772161, 14824903243, 14825034317, 14825165389, 14825296463, + 14825427557, 14825558641, 14825689733, 14825820817, 14825951891, 14826082963, 14826214049, + 14826345139, 14826476219, 14826607297, 14826738391, 14826869501, 14827000583, 14827131721, + 14827262839, 14827393921, 14827525081, 14827656163, 14827787267, 14827918349, 14828049443, + 14828180533, 14828311609, 14828442697, 14828573789, 14828704897, 14828836039, 14828967151, + 14829098227, 14829229301, 14829360391, 14829491489, 14829622567, 14829753683, 14829884827, + 14830015901, 14830146973, 14830278053, 14830409159, 14830540243, 14830671341, 14830802423, + 14830933499, 14831064613, 14831195713, 14831326787, 14831457871, 14831589011, 14831720129, + 14831851207, 14831982301, 14832113381, 14832244481, 14832375557, 14832506641, 14832637733, + 14832768829, 14832899941, 14833031021, 14833162111, 14833293187, 14833424297, 14833555381, + 14833686473, 14833817567, 14833948643, 14834079727, 14834210813, 14834341909, 14834473033, + 14834604131, 14834735207, 14834866373, 14834997451, 14835128549, 14835259639, 14835390733, + 14835521819, 14835652891, 14835783967, 14835915089, 14836046213, 14836177333, 14836308457, + 14836439531, 14836570709, 14836701791, 14836832873, 14836963969, 14837095057, 14837226137, + 14837357219, 14837488307, 14837619413, 14837750489, 14837881567, 14838012647, 14838143743, + 14838274817, 14838405961, 14838537047, 14838668129, 14838799207, 14838930343, 14839061437, + 14839192553, 14839323641, 14839454719, 14839585807, 14839716883, 14839847959, 14839979059, + 14840110157, 14840241259, 14840372399, 14840503477, 14840634559, 14840765633, 14840896723, + 14841027797, 14841158887, 14841289961, 14841421033, 14841552119, 14841683203, 14841814277, + 14841945373, 14842076449, 14842207573, 14842338653, 14842469743, 14842600819, 14842731901, + 14842862981, 14842994069, 14843125177, 14843256251, 14843387369, 14843518457, 14843649571, + 14843780669, 14843911757, 14844042959, 14844174049, 14844305129, 14844436241, 14844567329, + 14844698441, 14844829537, 14844960619, 14845091693, 14845222771, 14845353851, 14845484933, + 14845616033, 14845747117, 14845878239, 14846009363, 14846140457, 14846271569, 14846402693, + 14846533769, 14846664941, 14846796017, 14846927107, 14847058201, 14847189289, 14847320381, + 14847451453, 14847582559, 14847713633, 14847844717, 14847975827, 14848106939, 14848238063, + 14848369163, 14848500319, 14848631429, 14848762541, 14848893643, 14849024797, 14849155873, + 14849287021, 14849418107, 14849549189, 14849680301, 14849811401, 14849942477, 14850073549, + 14850204643, 14850335729, 14850466837, 14850597919, 14850729011, 14850860099, 14850991171, + 14851122331, 14851253411, 14851384507, 14851515589, 14851646713, 14851777807, 14851908889, + 14852039963, 14852171039, 14852302181, 14852433283, 14852564371, 14852695457, 14852826529, + 14852957621, 14853088739, 14853219817, 14853350933, 14853482069, 14853613199, 14853744293, + 14853875369, 14854006459, 14854137533, 14854268617, 14854399699, 14854530797, 14854661873, + 14854792961, 14854924039, 14855055113, 14855186189, 14855317261, 14855448359, 14855579441, + 14855710547, 14855841653, 14855972753, 14856103861, 14856234947, 14856366071, 14856497143, + 14856628247, 14856759329, 14856890407, 14857021483, 14857152571, 14857283663, 14857414769, + 14857545851, 14857676987, 14857808059, 14857939139, 14858070217, 14858201299, 14858332393, + 14858463493, 14858594581, 14858725709, 14858856799, 14858987881, 14859118979, 14859250093, + 14859381217, 14859512341, 14859643433, 14859774509, 14859905611, 14860036687, 14860167761, + 14860298851, 14860429933, 14860561057, 14860692131, 14860823231, 14860954321, 14861085401, + 14861216473, 14861347547, 14861478629, 14861609701, 14861740807, 14861871887, 14862002993, + 14862134081, 14862265153, 14862396253, 14862527327, 14862658411, 14862789541, 14862920621, + 14863051733, 14863182853, 14863313999, 14863445071, 14863576157, 14863707233, 14863838309, + 14863969391, 14864100521, 14864231621, 14864362717, 14864493811, 14864624933, 14864756033, + 14864887133, 14865018247, 14865149393, 14865280481, 14865411553, 14865542633, 14865673717, + 14865804803, 14865935911, 14866067011, 14866198129, 14866329211, 14866460299, 14866591373, + 14866722457, 14866853539, 14866984667, 14867115761, 14867246833, 14867377949, 14867509037, + 14867640157, 14867771249, 14867902337, 14868033419, 14868164497, 14868295573, 14868426667, + 14868557819, 14868688897, 14868820013, 14868951089, 14869082167, 14869213253, 14869344379, + 14869475471, 14869606547, 14869737643, 14869868729, 14869999831, 14870130907, 14870262019, + 14870393093, 14870524177, 14870655257, 14870786351, 14870917463, 14871048551, 14871179623, + 14871310703, 14871441787, 14871572861, 14871703963, 14871835051, 14871966139, 14872097213, + 14872228297, 14872359377, 14872490461, 14872621549, 14872752647, 14872883723, 14873014811, + 14873145887, 14873276987, 14873408063, 14873539193, 14873670289, 14873801399, 14873932477, + 14874063551, 14874194639, 14874325723, 14874456823, 14874587909, 14874719017, 14874850127, + 14874981217, 14875112309, 14875243381, 14875374461, 14875505539, 14875636649, 14875767721, + 14875898797, 14876029891, 14876160977, 14876292077, 14876423183, 14876554271, 14876685377, + 14876816453, 14876947601, 14877078673, 14877209771, 14877340921, 14877472013, 14877603089, + 14877734167, 14877865243, 14877996373, 14878127471, 14878258547, 14878389619, 14878520719, + 14878651793, 14878782871, 14878913963, 14879045039, 14879176129, 14879307217, 14879438317, + 14879569391, 14879700487, 14879831569, 14879962673, 14880093763, 14880224839, 14880355961, + 14880487049, 14880618133, 14880749269, 14880880363, 14881011443, 14881142587, 14881273661, + 14881404737, 14881535843, 14881666927, 14881798027, 14881929119, 14882060209, 14882191309, + 14882322437, 14882453519, 14882584603, 14882715691, 14882846789, 14882977861, 14883108979, + 14883240059, 14883371141, 14883502243, 14883633353, 14883764431, 14883895517, 14884026589, + 14884157707, 14884288787, 14884419917, 14884551023, 14884682117, 14884813189, 14884944467, + 14885075549, 14885206627, 14885337707, 14885468827, 14885599901, 14885731019, 14885862091, + 14885993179, 14886124259, 14886255331, 14886386467, 14886517573, 14886648649, 14886779729, + 14886910823, 14887041901, 14887172977, 14887304063, 14887435151, 14887566233, 14887697339, + 14887828471, 14887959557, 14888090719, 14888221879, 14888352959, 14888484031, 14888615129, + 14888746219, 14888877317, 14889008417, 14889139511, 14889270607, 14889401783, 14889532877, + 14889663953, 14889795047, 14889926123, 14890057201, 14890188283, 14890319369, 14890450451, + 14890581527, 14890712611, 14890843691, 14890974767, 14891105881, 14891237003, 14891368087, + 14891499191, 14891630263, 14891761349, 14891892439, 14892023519, 14892154631, 14892285763, + 14892416837, 14892547919, 14892679007, 14892810083, 14892941159, 14893072267, 14893203343, + 14893334429, 14893465507, 14893596593, 14893727669, 14893858747, 14893989823, 14894120929, + 14894252003, 14894383109, 14894514191, 14894645267, 14894776357, 14894907437, 14895038527, + 14895169607, 14895300691, 14895431819, 14895562901, 14895693991, 14895825071, 14895956143, + 14896087223, 14896218299, 14896349381, 14896480481, 14896611559, 14896742669, 14896873741, + 14897004823, 14897135899, 14897267041, 14897398141, 14897529217, 14897660291, 14897791367, + 14897922449, 14898053531, 14898184603, 14898315683, 14898446803, 14898577907, 14898708983, + 14898840071, 14898971159, 14899102237, 14899233367, 14899364489, 14899495579, 14899626661, + 14899757749, 14899888823, 14900019899, 14900150989, 14900282123, 14900413201, 14900544283, + 14900675359, 14900806433, 14900937509, 14901068617, 14901199693, 14901330779, 14901461857, + 14901592933, 14901724039, 14901855113, 14901986219, 14902117331, 14902248409, 14902379507, + 14902510591, 14902641679, 14902772777, 14902903849, 14903034929, 14903166119, 14903297191, + 14903428273, 14903559379, 14903690453, 14903821531, 14903952617, 14904083699, 14904214811, + 14904345887, 14904476971, 14904608063, 14904739141, 14904870259, 14905001339, 14905132427, + 14905263509, 14905394593, 14905525667, 14905656739, 14905787837, 14905918927, 14906050001, + 14906181079, 14906312177, 14906443259, 14906574341, 14906705449, 14906836523, 14906967619, + 14907098707, 14907229781, 14907360869, 14907491959, 14907623039, 14907754117, 14907885197, + 14908016309, 14908147393, 14908278491, 14908409683, 14908540769, 14908671887, 14908802971, + 14908934083, 14909065231, 14909196319, 14909327399, 14909458471, 14909589553, 14909720633, + 14909851711, 14909982793, 14910113893, 14910244967, 14910376073, 14910507181, 14910638257, + 14910769339, 14910900419, 14911031497, 14911162579, 14911293659, 14911424741, 14911555873, + 14911686947, 14911818023, 14911949131, 14912080217, 14912211337, 14912342437, 14912473517, + 14912604593, 14912735681, 14912866763, 14912997871, 14913128947, 14913260077, 14913391159, + 14913522251, 14913653341, 14913784423, 14913915503, 14914046579, 14914177667, 14914308749, + 14914439831, 14914570927, 14914702013, 14914833107, 14914964179, 14915095253, 14915226341, + 14915357417, 14915488499, 14915619581, 14915750687, 14915881759, 14916012847, 14916143929, + 14916275029, 14916406129, 14916537269, 14916668353, 14916799427, 14916930503, 14917061639, + 14917192721, 14917323821, 14917454957, 14917586041, 14917717123, 14917848203, 14917979327, + 14918110399, 14918241473, 14918372569, 14918503667, 14918634769, 14918765881, 14918896973, + 14919028067, 14919159179, 14919290251, 14919421327, 14919552421, 14919683551, 14919814681, + 14919945811, 14920076917, 14920208011, 14920339097, 14920470203, 14920601299, 14920732417, + 14920863493, 14920994603, 14921125693, 14921256767, 14921387863, 14921518993, 14921650087, + 14921781167, 14921912249, 14922043349, 14922174427, 14922305527, 14922436609, 14922567701, + 14922698789, 14922829877, 14922960959, 14923092053, 14923223131, 14923354217, 14923485299, + 14923616417, 14923747511, 14923878611, 14924009689, 14924140771, 14924271883, 14924402963, + 14924534063, 14924665157, 14924796241, 14924927323, 14925058417, 14925189511, 14925320587, + 14925451763, 14925582851, 14925713953, 14925845059, 14925976141, 14926107233, 14926238347, + 14926369457, 14926500551, 14926631633, 14926762727, 14926893803, 14927024897, 14927155973, + 14927287057, 14927418131, 14927549213, 14927680289, 14927811373, 14927942483, 14928073579, + 14928204653, 14928335743, 14928466823, 14928597911, 14928729073, 14928860147, 14928991237, + 14929122311, 14929253407, 14929384487, 14929515611, 14929646689, 14929777771, 14929908857, + 14930039989, 14930171077, 14930302157, 14930433241, 14930564321, 14930695411, 14930826497, + 14930957599, 14931088691, 14931219773, 14931350879, 14931481969, 14931613057, 14931744133, + 14931875207, 14932006279, 14932137379, 14932268453, 14932399543, 14932530637, 14932661767, + 14932792867, 14932923953, 14933055047, 14933186119, 14933317193, 14933448269, 14933579383, + 14933710471, 14933841553, 14933972629, 14934103729, 14934234823, 14934365933, 14934497113, + 14934628187, 14934759311, 14934890413, 14935021487, 14935152571, 14935283677, 14935414789, + 14935545869, 14935676941, 14935808023, 14935939099, 14936070179, 14936201261, 14936332343, + 14936463461, 14936594573, 14936725649, 14936856721, 14936987803, 14937118877, 14937249949, + 14937381049, 14937512143, 14937643223, 14937774307, 14937905387, 14938036483, 14938167571, + 14938298651, 14938429729, 14938560803, 14938691921, 14938823021, 14938954103, 14939085181, + 14939216269, 14939347349, 14939478431, 14939609513, 14939740589, 14939871671, 14940002743, + 14940133843, 14940264931, 14940396011, 14940527087, 14940658217, 14940789341, 14940920417, + 14941051501, 14941182583, 14941313657, 14941444741, 14941575821, 14941706893, 14941837973, + 14941969109, 14942100209, 14942231281, 14942362399, 14942493479, 14942624573, 14942755691, + 14942886769, 14943017857, 14943148939, 14943280013, 14943411101, 14943542189, 14943673267, + 14943804341, 14943935417, 14944066573, 14944197649, 14944328731, 14944459837, 14944590937, + 14944722041, 14944853137, 14944984231, 14945115313, 14945246389, 14945377519, 14945508601, + 14945639689, 14945770769, 14945901851, 14946032929, 14946164021, 14946295097, 14946426169, + 14946557251, 14946688331, 14946819451, 14946950527, 14947081621, 14947212737, 14947343809, + 14947474939, 14947606021, 14947737107, 14947868179, 14947999267, 14948130361, 14948261467, + 14948392601, 14948523713, 14948654843, 14948785937, 14948917021, 14949048097, 14949179239, + 14949310339, 14949441413, 14949572497, 14949703583, 14949834671, 14949965749, 14950096883, + 14950227967, 14950359131, 14950490207, 14950621297, 14950752373, 14950883477, 14951014601, + 14951145683, 14951276783, 14951407871, 14951538949, 14951670043, 14951801129, 14951932211, + 14952063283, 14952194417, 14952325489, 14952456577, 14952587669, 14952718741, 14952849829, + 14952980923, 14953112063, 14953243147, 14953374257, 14953505351, 14953636429, 14953767503, + 14953898579, 14954029661, 14954160761, 14954291843, 14954422921, 14954553997, 14954685071, + 14954816147, 14954947219, 14955078301, 14955209389, 14955340481, 14955471607, 14955602681, + 14955733787, 14955864863, 14955995953, 14956127029, 14956258153, 14956389229, 14956520309, + 14956651387, 14956782469, 14956913551, 14957044667, 14957175767, 14957306849, 14957437931, + 14957569009, 14957700137, 14957831257, 14957962333, 14958093407, 14958224483, 14958355637, + 14958486733, 14958617833, 14958748927, 14958880009, 14959011083, 14959142183, 14959273279, + 14959404359, 14959535431, 14959666517, 14959797613, 14959928701, 14960059819, 14960190907, + 14960321983, 14960453083, 14960584183, 14960715269, 14960846347, 14960977441, 14961108529, + 14961239627, 14961370733, 14961501859, 14961633007, 14961764087, 14961895159, 14962026319, + 14962157417, 14962288567, 14962419713, 14962550789, 14962681861, 14962812947, 14962944067, + 14963075213, 14963206303, 14963337383, 14963468489, 14963599579, 14963730679, 14963861761, + 14963992853, 14964123973, 14964255067, 14964386167, 14964517259, 14964648371, 14964779497, + 14964910577, 14965041667, 14965172843, 14965303937, 14965435027, 14965566113, 14965697191, + 14965828303, 14965959397, 14966090473, 14966221553, 14966352691, 14966483827, 14966614907, + 14966745979, 14966877059, 14967008143, 14967139219, 14967270341, 14967401437, 14967532571, + 14967663661, 14967794747, 14967925853, 14968056967, 14968188041, 14968319117, 14968450201, + 14968581301, 14968712417, 14968843499, 14968974607, 14969105681, 14969236771, 14969367887, + 14969498959, 14969630057, 14969761139, 14969892221, 14970023293, 14970154369, 14970285469, + 14970416543, 14970547619, 14970678691, 14970809803, 14970940903, 14971071989, 14971203061, + 14971334141, 14971465213, 14971596293, 14971727417, 14971858501, 14971989601, 14972120689, + 14972251771, 14972382853, 14972513981, 14972645057, 14972776151, 14972907227, 14973038317, + 14973169403, 14973300557, 14973431633, 14973562711, 14973693797, 14973824869, 14973955951, + 14974087027, 14974218139, 14974349227, 14974480327, 14974611409, 14974742509, 14974873597, + 14975004691, 14975135789, 14975266871, 14975397961, 14975529067, 14975660159, 14975791273, + 14975922371, 14976053467, 14976184543, 14976315623, 14976446729, 14976577813, 14976708899, + 14976839981, 14976971063, 14977102169, 14977233247, 14977364323, 14977495439, 14977626523, + 14977757603, 14977888687, 14978019787, 14978150879, 14978281957, 14978413031, 14978544107, + 14978675203, 14978806363, 14978937481, 14979068569, 14979199661, 14979330761, 14979461837, + 14979592933, 14979724007, 14979855103, 14979986207, 14980117279, 14980248359, 14980379441, + 14980510547, 14980641619, 14980772693, 14980903787, 14981034863, 14981165951, 14981297029, + 14981428151, 14981559233, 14981690309, 14981821381, 14981952473, 14982083569, 14982214649, + 14982345739, 14982476813, 14982607889, 14982738961, 14982870037, 14983001147, 14983132247, + 14983263341, 14983394423, 14983525507, 14983656601, 14983787723, 14983918799, 14984049881, + 14984180963, 14984312051, 14984443169, 14984574317, 14984705389, 14984836469, 14984967541, + 14985098627, 14985229703, 14985360779, 14985491863, 14985622963, 14985754037, 14985885121, + 14986016207, 14986147291, 14986278397, 14986409497, 14986540571, 14986671643, 14986802731, + 14986933807, 14987064923, 14987196013, 14987327149, 14987458261, 14987589361, 14987720441, + 14987851513, 14987982587, 14988113677, 14988244757, 14988375833, 14988506987, 14988638101, + 14988769177, 14988900257, 14989031329, 14989162421, 14989293509, 14989424581, 14989555657, + 14989686757, 14989817923, 14989949003, 14990080093, 14990211167, 14990342281, 14990473361, + 14990604479, 14990735567, 14990866663, 14990997751, 14991128827, 14991259951, 14991391067, + 14991522191, 14991653291, 14991784397, 14991915509, 14992046591, 14992177687, 14992308761, + 14992439843, 14992570919, 14992701991, 14992833071, 14992964167, 14993095241, 14993226319, + 14993357411, 14993488483, 14993619593, 14993750689, 14993881789, 14994012863, 14994143977, + 14994275057, 14994406129, 14994537247, 14994668333, 14994799409, 14994930491, 14995061579, + 14995192717, 14995323839, 14995454917, 14995585993, 14995717069, 14995848157, 14995979233, + 14996110309, 14996241391, 14996372467, 14996503553, 14996634629, 14996765717, 14996896819, + 14997027901, 14997158989, 14997290111, 14997421189, 14997552281, 14997683353, 14997814451, + 14997945539, 14998076669, 14998207771, 14998338869, 14998469953, 14998601077, 14998732157, + 14998863233, 14998994321, 14999125397, 14999256487, 14999387587, 14999518687, 14999649773, + 14999780857, 14999911933, 15000043033, 15000174121, 15000305197, 15000436273, 15000567349, + 15000698437, 15000829541, 15000960613, 15001091689, 15001222763, 15001353931, 15001485007, + 15001616159, 15001747259, 15001878343, 15002009497, 15002140627, 15002271727, 15002402819, + 15002533991, 15002665063, 15002796173, 15002927297, 15003058387, 15003189497, 15003320597, + 15003451681, 15003582779, 15003713861, 15003844943, 15003976021, 15004107113, 15004238191, + 15004369283, 15004500419, 15004631549, 15004762673, 15004893749, 15005024833, 15005155951, + 15005287111, 15005418217, 15005549303, 15005680409, 15005811511, 15005942591, 15006073699, + 15006204781, 15006335867, 15006466961, 15006598049, 15006729139, 15006860213, 15006991291, + 15007122379, 15007253473, 15007384571, 15007515659, 15007646761, 15007777847, 15007908931, + 15008040031, 15008171107, 15008302207, 15008433287, 15008564369, 15008695451, 15008826529, + 15008957609, 15009088747, 15009219821, 15009350957, 15009482029, 15009613111, 15009744221, + 15009875299, 15010006391, 15010137487, 15010268563, 15010399673, 15010530763, 15010661849, + 15010792939, 15010924039, 15011055119, 15011186243, 15011317337, 15011448467, 15011579551, + 15011710631, 15011841703, 15011972809, 15012103913, 15012235009, 15012366091, 15012497167, + 15012628249, 15012759323, 15012890407, 15013021493, 15013152587, 15013283683, 15013414789, + 15013545871, 15013676957, 15013808071, 15013939151, 15014070223, 15014201317, 15014332397, + 15014463469, 15014594593, 15014725697, 15014856793, 15014987873, 15015118969, 15015250049, + 15015381131, 15015512219, 15015643337, 15015774413, 15015905491, 15016036591, 15016167679, + 15016298797, 15016429891, 15016561003, 15016692077, 15016823149, 15016954223, 15017085299, + 15017216519, 15017347591, 15017478719, 15017609791, 15017740873, 15017871949, 15018003029, + 15018134107, 15018265181, 15018396269, 15018527341, 15018658429, 15018789529, 15018920611, + 15019051721, 15019182799, 15019313873, 15019444961, 15019576037, 15019707137, 15019838227, + 15019969331, 15020100427, 15020231537, 15020362691, 15020493773, 15020624867, 15020755969, + 15020887051, 15021018127, 15021149201, 15021280277, 15021411373, 15021542449, 15021673531, + 15021804641, 15021935717, 15022066789, 15022197863, 15022328939, 15022460069, 15022591159, + 15022722263, 15022853359, 15022984481, 15023115593, 15023246669, 15023377753, 15023508833, + 15023639909, 15023770997, 15023902109, 15024033197, 15024164279, 15024295387, 15024426499, + 15024557627, 15024688733, 15024819853, 15024950939, 15025082011, 15025213121, 15025344197, + 15025475359, 15025606433, 15025737539, 15025868617, 15025999697, 15026130787, 15026261881, + 15026392963, 15026524039, 15026655139, 15026786233, 15026917307, 15027048409, 15027179501, + 15027310621, 15027441719, 15027572809, 15027703891, 15027834979, 15027966059, 15028097131, + 15028228219, 15028359319, 15028490459, 15028621579, 15028752653, 15028883741, 15029014843, + 15029145931, 15029277061, 15029408153, 15029539243, 15029670323, 15029801489, 15029932591, + 15030063701, 15030194779, 15030325853, 15030456929, 15030588073, 15030719147, 15030850259, + 15030981331, 15031112407, 15031243483, 15031374583, 15031505681, 15031636771, 15031767853, + 15031898927, 15032030011, 15032161099, 15032292173, 15032423269, 15032554367, 15032685439, + 15032816521, 15032947607, 15033078727, 15033209809, 15033340967, 15033472039, 15033603131, + 15033734251, 15033865339, 15033996413, 15034127489, 15034258571, 15034389661, 15034520749, + 15034651861, 15034782941, 15034914023, 15035045101, 15035176187, 15035307269, 15035438347, + 15035569429, 15035700527, 15035831677, 15035962751, 15036093823, 15036224897, 15036355987, + 15036487069, 15036618197, 15036749279, 15036880363, 15037011449, 15037142539, 15037273621, + 15037404737, 15037535857, 15037666933, 15037798037, 15037929191, 15038060309, 15038191403, + 15038322499, 15038453579, 15038584663, 15038715817, 15038846891, 15038977973, 15039109049, + 15039240131, 15039371227, 15039502337, 15039633437, 15039764521, 15039895601, 15040026697, + 15040157777, 15040288871, 15040419997, 15040551073, 15040682149, 15040813259, 15040944419, + 15041075503, 15041206591, 15041337691, 15041468789, 15041599901, 15041730973, 15041862047, + 15041993119, 15042124247, 15042255329, 15042386537, 15042517619, 15042648727, 15042779803, + 15042910877, 15043041961, 15043173037, 15043304113, 15043435237, 15043566311, 15043697411, + 15043828487, 15043959559, 15044090701, 15044221811, 15044352887, 15044483963, 15044615039, + 15044746111, 15044877193, 15045008267, 15045139391, 15045270463, 15045401593, 15045532669, + 15045663749, 15045794833, 15045925933, 15046057021, 15046188133, 15046319209, 15046450337, + 15046581427, 15046712507, 15046843597, 15046974751, 15047105831, 15047236921, 15047368019, + 15047499133, 15047630207, 15047761279, 15047892473, 15048023581, 15048154687, 15048285793, + 15048416897, 15048548029, 15048679189, 15048810269, 15048941363, 15049072483, 15049203557, + 15049334633, 15049465741, 15049596833, 15049727923, 15049859023, 15049990121, 15050121193, + 15050252297, 15050383393, 15050514469, 15050645543, 15050776621, 15050907719, 15051038797, + 15051169871, 15051300959, 15051432079, 15051563167, 15051694253, 15051825377, 15051956501, + 15052087577, 15052218661, 15052349749, 15052480823, 15052611941, 15052743037, 15052874119, + 15053005211, 15053136283, 15053267357, 15053398433, 15053529539, 15053660621, 15053791699, + 15053922839, 15054053921, 15054184993, 15054316073, 15054447151, 15054578269, 15054709349, + 15054840421, 15054971497, 15055102577, 15055233679, 15055364767, 15055495843, 15055626947, + 15055758031, 15055889113, 15056020229, 15056151317, 15056282389, 15056413483, 15056544571, + 15056675657, 15056806901, 15056937977, 15057069059, 15057200153, 15057331241, 15057462337, + 15057593429, 15057724501, 15057855577, 15057986659, 15058117759, 15058248851, 15058379923, + 15058511011, 15058642103, 15058773239, 15058904407, 15059035487, 15059166641, 15059297719, + 15059428819, 15059559913, 15059690993, 15059822081, 15059953159, 15060084251, 15060215327, + 15060346403, 15060477557, 15060608639, 15060739711, 15060870887, 15061002001, 15061133099, + 15061264201, 15061395281, 15061526357, 15061657439, 15061788527, 15061919629, 15062050727, + 15062181817, 15062312893, 15062443969, 15062575043, 15062706137, 15062837213, 15062968351, + 15063099427, 15063230521, 15063361603, 15063492677, 15063623753, 15063754829, 15063885923, + 15064017029, 15064148123, 15064279201, 15064410329, 15064541407, 15064672489, 15064803577, + 15064934683, 15065065759, 15065196859, 15065327939, 15065459021, 15065590121, 15065721197, + 15065852279, 15065983351, 15066114439, 15066245521, 15066376627, 15066507763, 15066638837, + 15066769937, 15066901033, 15067032131, 15067163261, 15067294337, 15067425413, 15067556489, + 15067687627, 15067818707, 15067949789, 15068080877, 15068211959, 15068343061, 15068474189, + 15068605261, 15068736341, 15068867441, 15068998603, 15069129679, 15069260771, 15069391903, + 15069522997, 15069654077, 15069785179, 15069916297, 15070047379, 15070178471, 15070309547, + 15070440629, 15070571729, 15070702807, 15070833901, 15070964983, 15071096107, 15071227201, + 15071358307, 15071489437, 15071620511, 15071751599, 15071882671, 15072013769, 15072144863, + 15072275969, 15072407069, 15072538141, 15072669223, 15072800317, 15072931399, 15073062503, + 15073193591, 15073324723, 15073455797, 15073586893, 15073717987, 15073849069, 15073980161, + 15074111251, 15074242357, 15074373437, 15074504531, 15074635613, 15074766709, 15074897813, + 15075028889, 15075159961, 15075291073, 15075422203, 15075553279, 15075684367, 15075815477, + 15075946553, 15076077631, 15076208723, 15076339813, 15076470907, 15076601989, 15076733069, + 15076864163, 15076995247, 15077126341, 15077257427, 15077388541, 15077519651, 15077650793, + 15077781893, 15077912987, 15078044081, 15078175187, 15078306263, 15078437357, 15078568481, + 15078699569, 15078830647, 15078961727, 15079092857, 15079223977, 15079355077, 15079486187, + 15079617323, 15079748419, 15079879517, 15080010601, 15080141683, 15080272777, 15080403869, + 15080534941, 15080666021, 15080797169, 15080928271, 15081059351, 15081190427, 15081321499, + 15081452623, 15081583757, 15081714833, 15081845981, 15081977077, 15082108163, 15082239239, + 15082370333, 15082501409, 15082632493, 15082763611, 15082894741, 15083025817, 15083156927, + 15083288009, 15083419121, 15083550221, 15083681311, 15083812423, 15083943503, 15084074591, + 15084205663, 15084336739, 15084467813, 15084598897, 15084730013, 15084861101, 15084992189, + 15085123267, 15085254347, 15085385437, 15085516519, 15085647623, 15085778711, 15085909793, + 15086040877, 15086171957, 15086303041, 15086434127, 15086565211, 15086696321, 15086827403, + 15086958487, 15087089573, 15087220649, 15087351737, 15087482827, 15087613901, 15087745007, + 15087876107, 15088007189, 15088138319, 15088269401, 15088400491, 15088531573, 15088662691, + 15088793771, 15088924843, 15089055929, 15089187011, 15089318119, 15089449201, 15089580281, + 15089711353, 15089842457, 15089973539, 15090104611, 15090235697, 15090366793, 15090497879, + 15090628979, 15090760067, 15090891149, 15091022231, 15091153327, 15091284433, 15091415519, + 15091546597, 15091677701, 15091808773, 15091939853, 15092070979, 15092202121, 15092333203, + 15092464307, 15092595421, 15092726501, 15092857573, 15092988649, 15093119759, 15093250897, + 15093381973, 15093513079, 15093644179, 15093775259, 15093906353, 15094037443, 15094168541, + 15094299659, 15094430761, 15094561841, 15094692947, 15094824061, 15094955153, 15095086229, + 15095217311, 15095348459, 15095479549, 15095610697, 15095741789, 15095872879, 15096003953, + 15096135029, 15096266111, 15096397229, 15096528319, 15096659401, 15096790519, 15096921617, + 15097052701, 15097183781, 15097314853, 15097445927, 15097576999, 15097708111, 15097839199, + 15097970273, 15098101373, 15098232449, 15098363537, 15098494613, 15098625721, 15098756831, + 15098887939, 15099019027, 15099150103, 15099281203, 15099412313, 15099543413, 15099674489, + 15099805597, 15099936697, 15100067819, 15100198937, 15100330031, 15100461107, 15100592183, + 15100723289, 15100854383, 15100985483, 15101116559, 15101247649, 15101378729, 15101509807, + 15101640881, 15101771981, 15101903077, 15102034151, 15102165227, 15102296309, 15102427429, + 15102558503, 15102689611, 15102820687, 15102951761, 15103082909, 15103213997, 15103345099, + 15103476187, 15103607261, 15103738367, 15103869439, 15104000521, 15104131607, 15104262739, + 15104393819, 15104524931, 15104656097, 15104787209, 15104918291, 15105049369, 15105180473, + 15105311561, 15105442637, 15105573731, 15105704863, 15105835937, 15105967039, 15106098113, + 15106229191, 15106360309, 15106491409, 15106622483, 15106753621, 15106884703, 15107015809, + 15107146891, 15107277989, 15107409071, 15107540197, 15107671289, 15107802389, 15107933527, + 15108064603, 15108195677, 15108326759, 15108457873, 15108588977, 15108720083, 15108851189, + 15108982277, 15109113373, 15109244471, 15109375559, 15109506637, 15109637731, 15109768813, + 15109899911, 15110031043, 15110162131, 15110293241, 15110424317, 15110555437, 15110686511, + 15110817583, 15110948659, 15111079733, 15111210809, 15111341891, 15111472979, 15111604073, + 15111735157, 15111866251, 15111997337, 15112128413, 15112259489, 15112390589, 15112521689, + 15112652761, 15112783853, 15112914931, 15113046023, 15113177099, 15113308181, 15113439283, + 15113570363, 15113701439, 15113832523, 15113963597, 15114094669, 15114225767, 15114356857, + 15114487957, 15114619057, 15114750137, 15114881209, 15115012303, 15115143413, 15115274491, + 15115405567, 15115536647, 15115667719, 15115798849, 15115929929, 15116061041, 15116192129, + 15116323213, 15116454293, 15116585381, 15116716457, 15116847541, 15116978647, 15117109723, + 15117240823, 15117371921, 15117503017, 15117634093, 15117765203, 15117896279, 15118027363, + 15118158479, 15118289581, 15118420673, 15118551793, 15118682881, 15118813961, 15118945063, + 15119076199, 15119207281, 15119338363, 15119469439, 15119600513, 15119731591, 15119862673, + 15119993747, 15120124823, 15120255901, 15120386977, 15120518081, 15120649169, 15120780253, + 15120911359, 15121042471, 15121173569, 15121304663, 15121435753, 15121566869, 15121697959, + 15121829111, 15121960193, 15122091287, 15122222369, 15122353457, 15122484529, 15122615611, + 15122746699, 15122877773, 15123008863, 15123139937, 15123271013, 15123402097, 15123533177, + 15123664279, 15123795371, 15123926497, 15124057591, 15124188701, 15124319797, 15124450879, + 15124582001, 15124713139, 15124844219, 15124975297, 15125106371, 15125237447, 15125368543, + 15125499647, 15125630719, 15125761799, 15125892883, 15126023981, 15126155053, 15126286159, + 15126417239, 15126548321, 15126679439, 15126810577, 15126941651, 15127072733, 15127203829, + 15127334921, 15127465993, 15127597087, 15127728181, 15127859269, 15127990343, 15128121431, + 15128252521, 15128383597, 15128514673, 15128645771, 15128776849, 15128907923, 15129038999, + 15129170087, 15129301183, 15129432287, 15129563363, 15129694453, 15129825637, 15129956717, + 15130087829, 15130218911, 15130350071, 15130481143, 15130612219, 15130743317, 15130874411, + 15131005511, 15131136679, 15131267759, 15131398837, 15131529929, 15131661011, 15131792113, + 15131923199, 15132054283, 15132185389, 15132316487, 15132447559, 15132578651, 15132709727, + 15132840817, 15132971911, 15133103017, 15133234093, 15133365173, 15133496249, 15133627339, + 15133758413, 15133889497, 15134020613, 15134151701, 15134282783, 15134413873, 15134544959, + 15134676041, 15134807153, 15134938253, 15135069337, 15135200441, 15135331517, 15135462613, + 15135593687, 15135724837, 15135855923, 15135987017, 15136118099, 15136249253, 15136380331, + 15136511407, 15136642487, 15136773571, 15136904659, 15137035733, 15137166827, 15137297899, + 15137428973, 15137560051, 15137691181, 15137822303, 15137953393, 15138084497, 15138215581, + 15138346679, 15138477773, 15138608857, 15138739933, 15138871021, 15139002113, 15139133189, + 15139264267, 15139395347, 15139526431, 15139657567, 15139788641, 15139919761, 15140050843, + 15140182021, 15140313121, 15140444213, 15140575319, 15140706407, 15140837489, 15140968561, + 15141099683, 15141230827, 15141361943, 15141493027, 15141624103, 15141755191, 15141886283, + 15142017379, 15142148459, 15142279571, 15142410683, 15142541773, 15142672847, 15142803931, + 15142935007, 15143066153, 15143197241, 15143328367, 15143459467, 15143590541, 15143721623, + 15143852723, 15143983823, 15144114929, 15144246011, 15144377119, 15144508199, 15144639287, + 15144770359, 15144901483, 15145032613, 15145163689, 15145294783, 15145425857, 15145556929, + 15145688023, 15145819097, 15145950191, 15146081263, 15146212351, 15146343427, 15146474503, + 15146605601, 15146736701, 15146867797, 15146998871, 15147129953, 15147261029, 15147392101, + 15147523213, 15147654289, 15147785381, 15147916507, 15148047587, 15148178671, 15148309747, + 15148440907, 15148571981, 15148703131, 15148834213, 15148965287, 15149096383, 15149227463, + 15149358541, 15149489657, 15149620769, 15149751847, 15149882933, 15150014027, 15150145099, + 15150276181, 15150407263, 15150538369, 15150669451, 15150800579, 15150931673, 15151062767, + 15151193851, 15151324931, 15151456009, 15151587119, 15151718191, 15151849289, 15151980401, + 15152111477, 15152242549, 15152373629, 15152504711, 15152635783, 15152766883, 15152897959, + 15153029039, 15153160151, 15153291233, 15153422321, 15153553397, 15153684509, 15153815587, + 15153946669, 15154077749, 15154208827, 15154339901, 15154471009, 15154602107, 15154733207, + 15154864327, 15154995439, 15155126513, 15155257613, 15155388691, 15155519777, 15155650859, + 15155781937, 15155913037, 15156044173, 15156175259, 15156306349, 15156437441, 15156568541, + 15156699617, 15156830707, 15156961801, 15157092877, 15157223957, 15157355029, 15157486109, + 15157617191, 15157748329, 15157879411, 15158010541, 15158141623, 15158272697, 15158403773, + 15158534849, 15158665957, 15158797039, 15158928119, 15159059203, 15159190279, 15159321371, + 15159452443, 15159583529, 15159714601, 15159845681, 15159976753, 15160107827, 15160238921, + 15160370039, 15160501117, 15160632199, 15160763273, 15160894363, 15161025479, 15161156557, + 15161287663, 15161418743, 15161549867, 15161680939, 15161812021, 15161943101, 15162074183, + 15162205297, 15162336383, 15162467483, 15162598567, 15162729671, 15162860747, 15162991859, + 15163122943, 15163254031, 15163385123, 15163516223, 15163647311, 15163778389, 15163909463, + 15164040547, 15164171623, 15164302801, 15164433887, 15164564971, 15164696047, 15164827127, + 15164958257, 15165089341, 15165220423, 15165351527, 15165482639, 15165613747, 15165744821, + 15165875897, 15166006987, 15166138069, 15166269149, 15166400231, 15166531309, 15166662389, + 15166793471, 15166924543, 15167055637, 15167186813, 15167317901, 15167448973, 15167580049, + 15167711171, 15167842273, 15167973349, 15168104431, 15168235513, 15168366593, 15168497681, + 15168628753, 15168759829, 15168890911, 15169021993, 15169153079, 15169284173, 15169415249, + 15169546333, 15169677431, 15169808527, 15169939633, 15170070719, 15170201791, 15170332907, + 15170463989, 15170595103, 15170726177, 15170857313, 15170988401, 15171119477, 15171250553, + 15171381653, 15171512729, 15171643831, 15171774907, 15171905993, 15172037071, 15172168153, + 15172299229, 15172430323, 15172561403, 15172692503, 15172823587, 15172954669, 15173085751, + 15173216827, 15173347961, 15173479033, 15173610107, 15173741227, 15173872319, 15174003407, + 15174134531, 15174265607, 15174396701, 15174527773, 15174658853, 15174789947, 15174921019, + 15175052117, 15175183201, 15175314311, 15175445419, 15175576501, 15175707643, 15175838731, + 15175969817, 15176100899, 15176231981, 15176363089, 15176494187, 15176625301, 15176756377, + 15176887471, 15177018547, 15177149639, 15177280717, 15177411791, 15177542869, 15177673957, + 15177805051, 15177936127, 15178067249, 15178198327, 15178329409, 15178460503, 15178591607, + 15178722703, 15178853821, 15178984901, 15179115989, 15179247071, 15179378143, 15179509223, + 15179640353, 15179771447, 15179902523, 15180033599, 15180164683, 15180295777, 15180426853, + 15180557929, 15180689039, 15180820117, 15180951209, 15181082303, 15181213379, 15181344481, + 15181475557, 15181606631, 15181737707, 15181868789, 15181999883, 15182131007, 15182262079, + 15182393153, 15182524321, 15182655487, 15182786561, 15182917657, 15183048743, 15183179821, + 15183310903, 15183441983, 15183573061, 15183704183, 15183835259, 15183966331, 15184097431, + 15184228547, 15184359667, 15184490771, 15184621853, 15184752931, 15184884019, 15185015159, + 15185146231, 15185277313, 15185408453, 15185539541, 15185670649, 15185801723, 15185932813, + 15186063889, 15186194971, 15186326059, 15186457141, 15186588227, 15186719341, 15186850439, + 15186981527, 15187112609, 15187243727, 15187374859, 15187505933, 15187637033, 15187768109, + 15187899191, 15188030267, 15188161349, 15188292451, 15188423671, 15188554747, 15188685821, + 15188816927, 15188948017, 15189079109, 15189210193, 15189341267, 15189472351, 15189603427, + 15189734513, 15189865679, 15189996803, 15190127879, 15190259009, 15190390081, 15190521161, + 15190652237, 15190783319, 15190914457, 15191045561, 15191176657, 15191307767, 15191438861, + 15191569963, 15191701051, 15191832151, 15191963257, 15192094361, 15192225481, 15192356573, + 15192487663, 15192618739, 15192749827, 15192880919, 15193012001, 15193143079, 15193274227, + 15193405313, 15193536427, 15193667539, 15193798619, 15193929739, 15194060867, 15194191939, + 15194323013, 15194454091, 15194585201, 15194716283, 15194847359, 15194978453, 15195109543, + 15195240637, 15195371713, 15195502831, 15195633907, 15195764981, 15195896069, 15196027141, + 15196158217, 15196289293, 15196420387, 15196551473, 15196682671, 15196813799, 15196944881, + 15197075969, 15197207041, 15197338127, 15197469211, 15197600303, 15197731391, 15197862469, + 15197993563, 15198124691, 15198255829, 15198386909, 15198517993, 15198649069, 15198780173, + 15198911293, 15199042399, 15199173491, 15199304587, 15199435733, 15199566827, 15199697917, + 15199828991, 15199960099, 15200091191, 15200222287, 15200353373, 15200484463, 15200615587, + 15200746697, 15200877793, 15201008869, 15201139963, 15201271037, 15201402131, 15201533227, + 15201664307, 15201795379, 15201926459, 15202057547, 15202188637, 15202319749, 15202450843, + 15202581991, 15202713083, 15202844179, 15202975253, 15203106337, 15203237431, 15203368519, + 15203499593, 15203630671, 15203761747, 15203892827, 15204023941, 15204155017, 15204286099, + 15204417181, 15204548263, 15204679361, 15204810437, 15204941509, 15205072627, 15205203721, + 15205334819, 15205465903, 15205597007, 15205728103, 15205859177, 15205990273, 15206121397, + 15206252473, 15206383547, 15206514619, 15206645693, 15206776769, 15206907841, 15207038929, + 15207170047, 15207301121, 15207432203, 15207563297, 15207694399, 15207825487, 15207956597, + 15208087679, 15208218757, 15208349831, 15208480909, 15208612019, 15208743091, 15208874183, + 15209005267, 15209136367, 15209267443, 15209398543, 15209529637, 15209660723, 15209791801, + 15209922911, 15210054019, 15210185119, 15210316223, 15210447299, 15210578401, 15210709477, + 15210840571, 15210971719, 15211102813, 15211233893, 15211365007, 15211496087, 15211627229, + 15211758313, 15211889401, 15212020513, 15212151589, 15212282689, 15212413781, 15212544881, + 15212675953, 15212807047, 15212938127, 15213069211, 15213200287, 15213331379, 15213462463, + 15213593557, 15213724649, 15213855733, 15213986819, 15214117903, 15214248977, 15214380067, + 15214511159, 15214642243, 15214773347, 15214904423, 15215035543, 15215166619, 15215297723, + 15215428843, 15215559923, 15215691013, 15215822107, 15215953187, 15216084283, 15216215393, + 15216346477, 15216477571, 15216608651, 15216739751, 15216870827, 15217001909, 15217132991, + 15217264169, 15217395251, 15217526333, 15217657439, 15217788533, 15217919677, 15218050807, + 15218181899, 15218312981, 15218444089, 15218575181, 15218706277, 15218837353, 15218968439, + 15219099551, 15219230639, 15219361723, 15219492797, 15219623873, 15219754969, 15219886051, + 15220017161, 15220148233, 15220279309, 15220410449, 15220541533, 15220672613, 15220803713, + 15220934801, 15221065877, 15221196967, 15221328041, 15221459131, 15221590211, 15221721293, + 15221852383, 15221983459, 15222114539, 15222245657, 15222376733, 15222507821, 15222638909, + 15222769997, 15222901103, 15223032179, 15223163287, 15223294379, 15223425457, 15223556563, + 15223687729, 15223818811, 15223949887, 15224080979, 15224212063, 15224343187, 15224474267, + 15224605387, 15224736463, 15224867551, 15224998631, 15225129721, 15225260807, 15225391889, + 15225522967, 15225654043, 15225785119, 15225916219, 15226047323, 15226178419, 15226309499, + 15226440583, 15226571663, 15226702747, 15226833821, 15226964939, 15227096039, 15227227117, + 15227358191, 15227489287, 15227620379, 15227751467, 15227882539, 15228013631, 15228144707, + 15228275779, 15228406873, 15228537977, 15228669061, 15228800177, 15228931297, 15229062377, + 15229193459, 15229324549, 15229455739, 15229586837, 15229717933, 15229849009, 15229980107, + 15230111189, 15230242267, 15230373341, 15230504417, 15230635501, 15230766613, 15230897687, + 15231028801, 15231159893, 15231290983, 15231422071, 15231553147, 15231684253, 15231815341, + 15231946487, 15232077577, 15232208773, 15232339853, 15232470949, 15232602059, 15232733177, + 15232864267, 15232995373, 15233126449, 15233257549, 15233388629, 15233519723, 15233650799, + 15233781911, 15233912983, 15234044057, 15234175141, 15234306221, 15234437299, 15234568379, + 15234699457, 15234830537, 15234961613, 15235092689, 15235223771, 15235354903, 15235486031, + 15235617143, 15235748233, 15235879319, 15236010409, 15236141483, 15236272589, 15236403671, + 15236534771, 15236665853, 15236796989, 15236928097, 15237059171, 15237190289, 15237321361, + 15237452453, 15237583547, 15237714649, 15237845731, 15237976823, 15238107991, 15238239083, + 15238370171, 15238501279, 15238632389, 15238763489, 15238894603, 15239025691, 15239156783, + 15239287873, 15239418967, 15239550041, 15239681117, 15239812193, 15239943281, 15240074359, + 15240205481, 15240336577, 15240467653, 15240598729, 15240729841, 15240860953, 15240992051, + 15241123127, 15241254199, 15241385279, 15241516391, 15241647467, 15241778593, 15241909667, + 15242040743, 15242171869, 15242302979, 15242434057, 15242565139, 15242696291, 15242827363, + 15242958461, 15243089551, 15243220627, 15243351707, 15243482789, 15243613909, 15243745001, + 15243876107, 15244007221, 15244138313, 15244269413, 15244400513, 15244531591, 15244662679, + 15244793777, 15244924897, 15245055979, 15245187079, 15245318197, 15245449333, 15245580409, + 15245711561, 15245842639, 15245973751, 15246104873, 15246235957, 15246367063, 15246498139, + 15246629221, 15246760327, 15246891419, 15247022491, 15247153567, 15247284659, 15247415759, + 15247546841, 15247677979, 15247809067, 15247940159, 15248071247, 15248202331, 15248333407, + 15248464489, 15248595569, 15248726641, 15248857717, 15248988791, 15249119887, 15249251023, + 15249382097, 15249513173, 15249644251, 15249775361, 15249906481, 15250037573, 15250168649, + 15250299773, 15250430851, 15250561939, 15250693033, 15250824109, 15250955227, 15251086309, + 15251217427, 15251348513, 15251479631, 15251610713, 15251741809, 15251872969, 15252004043, + 15252135169, 15252266257, 15252397379, 15252528451, 15252659557, 15252790633, 15252921731, + 15253052813, 15253183909, 15253314997, 15253446083, 15253577219, 15253708291, 15253839421, + 15253970521, 15254101601, 15254232689, 15254363771, 15254494867, 15254625941, 15254757017, + 15254888111, 15255019187, 15255150319, 15255281401, 15255412483, 15255543559, 15255674639, + 15255805711, 15255936793, 15256067887, 15256198967, 15256330081, 15256461163, 15256592237, + 15256723319, 15256854401, 15256985501, 15257116577, 15257247727, 15257378821, 15257509901, + 15257640997, 15257772073, 15257903147, 15258034223, 15258165317, 15258296489, 15258427567, + 15258558661, 15258689737, 15258820823, 15258951901, 15259082987, 15259214083, 15259345183, + 15259476257, 15259607329, 15259738409, 15259869487, 15260000579, 15260131681, 15260262769, + 15260393867, 15260524999, 15260656079, 15260787173, 15260918249, 15261049333, 15261180419, + 15261311497, 15261442601, 15261573721, 15261704803, 15261835907, 15261966989, 15262098097, + 15262229173, 15262360313, 15262491389, 15262622467, 15262753549, 15262884653, 15263015773, + 15263146849, 15263277929, 15263409037, 15263540111, 15263671193, 15263802269, 15263933351, + 15264064441, 15264195563, 15264326677, 15264457763, 15264588869, 15264719993, 15264851099, + 15264982177, 15265113319, 15265244441, 15265375549, 15265506637, 15265637719, 15265768801, + 15265899877, 15266030959, 15266162039, 15266293121, 15266424221, 15266555299, 15266686403, + 15266817499, 15266948581, 15267079673, 15267210823, 15267341897, 15267472981, 15267604061, + 15267735157, 15267866281, 15267997399, 15268128521, 15268259603, 15268390783, 15268521881, + 15268652963, 15268784081, 15268915163, 15269046307, 15269177381, 15269308499, 15269439613, + 15269570713, 15269701807, 15269832913, 15269964001, 15270095077, 15270226189, 15270357269, + 15270488377, 15270619451, 15270750529, 15270881611, 15271012697, 15271143781, 15271274857, + 15271405973, 15271537081, 15271668227, 15271799311, 15271930391, 15272061463, 15272192561, + 15272323639, 15272454727, 15272585807, 15272716913, 15272848001, 15272979097, 15273110179, + 15273241253, 15273372379, 15273503471, 15273634577, 15273765667, 15273896783, 15274027861, + 15274158937, 15274290011, 15274421083, 15274552187, 15274683287, 15274814371, 15274945459, + 15275076547, 15275207653, 15275338739, 15275469817, 15275600947, 15275732023, 15275863147, + 15275994229, 15276125309, 15276256381, 15276387481, 15276518627, 15276649777, 15276780859, + 15276911933, 15277043017, 15277174093, 15277305283, 15277436371, 15277567451, 15277698547, + 15277829621, 15277960697, 15278091769, 15278222879, 15278353973, 15278485063, 15278616151, + 15278747243, 15278878423, 15279009509, 15279140621, 15279271697, 15279402769, 15279533861, + 15279664951, 15279796033, 15279927119, 15280058197, 15280189279, 15280320359, 15280451443, + 15280582517, 15280713601, 15280844707, 15280975813, 15281106899, 15281238017, 15281369093, + 15281500181, 15281631259, 15281762347, 15281893441, 15282024521, 15282155599, 15282286673, + 15282417809, 15282548893, 15282679969, 15282811043, 15282942119, 15283073209, 15283204283, + 15283335409, 15283466507, 15283597579, 15283728653, 15283859761, 15283990861, 15284121947, + 15284253029, 15284384201, 15284515307, 15284646383, 15284777477, 15284908559, 15285039647, + 15285170777, 15285301873, 15285432961, 15285564053, 15285695147, 15285826219, 15285957301, + 15286088417, 15286219537, 15286350619, 15286481701, 15286612787, 15286743887, 15286874987, + 15287006069, 15287137141, 15287268253, 15287399383, 15287530481, 15287661581, 15287792671, + 15287923759, 15288054853, 15288185929, 15288317047, 15288448127, 15288579209, 15288710299, + 15288841391, 15288972499, 15289103581, 15289234657, 15289365731, 15289496843, 15289627937, + 15289759019, 15289890137, 15290021233, 15290152307, 15290283391, 15290414479, 15290545561, + 15290676671, 15290807789, 15290938907, 15291069979, 15291201097, 15291332233, 15291463309, + 15291594403, 15291725543, 15291856631, 15291987749, 15292118837, 15292249919, 15292381009, + 15292512089, 15292643173, 15292774253, 15292905359, 15293036441, 15293167517, 15293298599, + 15293429717, 15293560811, 15293691887, 15293822959, 15293954089, 15294085171, 15294216253, + 15294347389, 15294478481, 15294609601, 15294740677, 15294871751, 15295002917, 15295133993, + 15295265093, 15295396189, 15295527287, 15295658431, 15295789519, 15295920691, 15296051773, + 15296182861, 15296313943, 15296445029, 15296576101, 15296707193, 15296838281, 15296969371, + 15297100447, 15297231527, 15297362659, 15297493793, 15297624871, 15297755971, 15297887051, + 15298018171, 15298149271, 15298280377, 15298411451, 15298542527, 15298673603, 15298804753, + 15298935889, 15299066971, 15299198077, 15299329183, 15299460271, 15299591357, 15299722433, + 15299853557, 15299984647, 15300115759, 15300246839, 15300377923, 15300509033, 15300640139, + 15300771253, 15300902333, 15301033421, 15301164503, 15301295579, 15301426703, 15301557833, + 15301688923, 15301820057, 15301951151, 15302082223, 15302213299, 15302344439, 15302475511, + 15302606591, 15302737699, 15302868781, 15302999857, 15303130933, 15303262019, 15303393113, + 15303524239, 15303655313, 15303786397, 15303917471, 15304048553, 15304179629, 15304310713, + 15304441813, 15304572911, 15304704011, 15304835093, 15304966181, 15305097271, 15305228347, + 15305359423, 15305490503, 15305621587, 15305752663, 15305883743, 15306014833, 15306145919, + 15306277073, 15306408157, 15306539233, 15306670321, 15306801401, 15306932477, 15307063559, + 15307194677, 15307325771, 15307456847, 15307587947, 15307719029, 15307850111, 15307981189, + 15308112293, 15308243381, 15308374453, 15308505557, 15308636633, 15308767709, 15308898863, + 15309029959, 15309161051, 15309292127, 15309423203, 15309554303, 15309685441, 15309816517, + 15309947591, 15310078697, 15310209787, 15310340873, 15310471963, 15310603037, 15310734143, + 15310865233, 15310996333, 15311127437, 15311258527, 15311389603, 15311520677, 15311651767, + 15311782859, 15311913973, 15312045079, 15312176189, 15312307301, 15312438391, 15312569483, + 15312700561, 15312831643, 15312962767, 15313093879, 15313224991, 15313356083, 15313487173, + 15313618249, 15313749323, 15313880399, 15314011487, 15314142559, 15314273641, 15314404769, + 15314535851, 15314666947, 15314798071, 15314929183, 15315060269, 15315191347, 15315322447, + 15315453521, 15315584629, 15315715729, 15315846811, 15315977891, 15316109077, 15316240187, + 15316371281, 15316502381, 15316633471, 15316764553, 15316895641, 15317026723, 15317157799, + 15317288891, 15317420021, 15317551097, 15317682179, 15317813299, 15317944379, 15318075457, + 15318206531, 15318337603, 15318468709, 15318599837, 15318730961, 15318862033, 15318993119, + 15319124291, 15319255403, 15319386487, 15319517573, 15319648649, 15319779731, 15319910821, + 15320041901, 15320172979, 15320304053, 15320435131, 15320566249, 15320697473, 15320828569, + 15320959679, 15321090751, 15321221837, 15321352927, 15321484033, 15321615139, 15321746257, + 15321877357, 15322008491, 15322139603, 15322270703, 15322401817, 15322532917, 15322664003, + 15322795091, 15322926169, 15323057257, 15323188337, 15323319413, 15323450509, 15323581607, + 15323712707, 15323843783, 15323974859, 15324105947, 15324237031, 15324368153, 15324499241, + 15324630359, 15324761483, 15324892577, 15325023689, 15325154773, 15325285907, 15325416979, + 15325548097, 15325679177, 15325810261, 15325941349, 15326072479, 15326203561, 15326334677, + 15326465761, 15326596837, 15326727917, 15326859019, 15326990093, 15327121211, 15327252287, + 15327383363, 15327514441, 15327645517, 15327776663, 15327907783, 15328038863, 15328169947, + 15328301029, 15328432117, 15328563197, 15328694299, 15328825399, 15328956481, 15329087591, + 15329218679, 15329349751, 15329480827, 15329611949, 15329743031, 15329874113, 15330005189, + 15330136279, 15330267353, 15330398443, 15330529517, 15330660593, 15330791669, 15330922753, + 15331053869, 15331184951, 15331316027, 15331447121, 15331578221, 15331709359, 15331840441, + 15331971521, 15332102593, 15332233667, 15332364743, 15332495821, 15332626901, 15332757977, + 15332889071, 15333020161, 15333151243, 15333282331, 15333413461, 15333544609, 15333675701, + 15333806791, 15333937877, 15334068949, 15334200041, 15334331123, 15334462237, 15334593367, + 15334724467, 15334855561, 15334986637, 15335117711, 15335248813, 15335379901, 15335510987, + 15335642059, 15335773139, 15335904217, 15336035333, 15336166421, 15336297523, 15336428609, + 15336559717, 15336690793, 15336821953, 15336953057, 15337084129, 15337215203, 15337346279, + 15337477361, 15337608449, 15337739587, 15337870699, 15338001823, 15338132933, 15338264023, + 15338395123, 15338526227, 15338657357, 15338788429, 15338919503, 15339050593, 15339181681, + 15339312767, 15339443881, 15339574961, 15339706091, 15339837251, 15339968339, 15340099417, + 15340230491, 15340361567, 15340492639, 15340623757, 15340754857, 15340885999, 15341017123, + 15341148209, 15341279329, 15341410423, 15341541497, 15341672603, 15341803717, 15341934809, + 15342065911, 15342197063, 15342328151, 15342459227, 15342590309, 15342721399, 15342852487, + 15342983563, 15343114663, 15343245751, 15343376837, 15343507909, 15343638991, 15343770083, + 15343901159, 15344032247, 15344163337, 15344294419, 15344425507, 15344556593, 15344687671, + 15344818763, 15344949869, 15345080951, 15345212063, 15345343193, 15345474341, 15345605423, + 15345736513, 15345867599, 15345998671, 15346129787, 15346260887, 15346391969, 15346523069, + 15346654163, 15346785247, 15346916329, 15347047433, 15347178521, 15347309597, 15347440711, + 15347571809, 15347702891, 15347833987, 15347965069, 15348096151, 15348227291, 15348358379, + 15348489469, 15348620569, 15348751643, 15348882739, 15349013819, 15349144891, 15349275983, + 15349407067, 15349538143, 15349669219, 15349800317, 15349931393, 15350062477, 15350193559, + 15350324657, 15350455739, 15350586827, 15350717903, 15350849021, 15350980123, 15351111233, + 15351242323, 15351373403, 15351504481, 15351635569, 15351766657, 15351897749, 15352028833, + 15352159909, 15352291109, 15352422187, 15352553287, 15352684363, 15352815451, 15352946527, + 15353077609, 15353208697, 15353339789, 15353470861, 15353601941, 15353733023, 15353864111, + 15353995187, 15354126289, 15354257363, 15354388447, 15354519529, 15354650603, 15354781691, + 15354912763, 15355043863, 15355174987, 15355306061, 15355437193, 15355568279, 15355699391, + 15355830463, 15355961549, 15356092627, 15356223703, 15356354803, 15356485889, 15356616973, + 15356748047, 15356879129, 15357010211, 15357141323, 15357272459, 15357403547, 15357534629, + 15357665707, 15357796781, 15357927877, 15358058951, 15358190059, 15358321151, 15358452227, + 15358583299, 15358714373, 15358845487, 15358976569, 15359107649, 15359238731, 15359369807, + 15359500879, 15359631983, 15359763059, 15359894141, 15360025223, 15360156313, 15360287399, + 15360418477, 15360549553, 15360680653, 15360811733, 15360942823, 15361073909, 15361205047, + 15361336121, 15361467197, 15361598347, 15361729441, 15361860551, 15361991651, 15362122739, + 15362253871, 15362384953, 15362516051, 15362647129, 15362778239, 15362909321, 15363040487, + 15363171569, 15363302651, 15363433741, 15363564829, 15363695911, 15363827033, 15363958109, + 15364089197, 15364220269, 15364351363, 15364482439, 15364613519, 15364744597, 15364875697, + 15365006819, 15365137891, 15365269043, 15365400121, 15365531213, 15365662289, 15365793367, + 15365924447, 15366055519, 15366186607, 15366317683, 15366448813, 15366579919, 15366711001, + 15366842077, 15366973151, 15367104223, 15367235309, 15367366381, 15367497461, 15367628623, + 15367759703, 15367890793, 15368021869, 15368152957, 15368284031, 15368415109, 15368546197, + 15368677283, 15368808359, 15368939479, 15369070553, 15369201643, 15369332729, 15369463801, + 15369594887, 15369725971, 15369857081, 15369988157, 15370119239, 15370250351, 15370381459, + 15370512533, 15370643609, 15370774681, 15370905761, 15371036911, 15371167993, 15371299081, + 15371430163, 15371561243, 15371692321, 15371823421, 15371954509, 15372085591, 15372216679, + 15372347759, 15372478841, 15372609953, 15372741067, 15372872159, 15373003231, 15373134311, + 15373265417, 15373396513, 15373527599, 15373658711, 15373789813, 15373920901, 15374052007, + 15374183119, 15374314217, 15374445301, 15374576383, 15374707459, 15374838547, 15374969647, + 15375100729, 15375231811, 15375362929, 15375494039, 15375625123, 15375756217, 15375887309, + 15376018381, 15376149473, 15376280567, 15376411663, 15376542743, 15376673821, 15376804903, + 15376936013, 15377067109, 15377198189, 15377329321, 15377460401, 15377591473, 15377722553, + 15377853637, 15377984711, 15378115789, 15378246901, 15378378019, 15378509101, 15378640187, + 15378771259, 15378902377, 15379033477, 15379164583, 15379295719, 15379426807, 15379557881, + 15379688963, 15379820059, 15379951133, 15380082239, 15380213351, 15380344423, 15380475497, + 15380606581, 15380737657, 15380868731, 15380999819, 15381130913, 15381261997, 15381393169, + 15381524251, 15381655327, 15381786401, 15381917531, 15382048603, 15382179677, 15382310767, + 15382441853, 15382572967, 15382704049, 15382835161, 15382966253, 15383097349, 15383228459, + 15383359559, 15383490643, 15383621717, 15383752801, 15383883883, 15384014959, 15384146051, + 15384277133, 15384408227, 15384539309, 15384670381, 15384801493, 15384932587, 15385063711, + 15385194793, 15385325909, 15385457033, 15385588121, 15385719203, 15385850297, 15385981379, + 15386112457, 15386243563, 15386374639, 15386505751, 15386636843, 15386767919, 15386899009, + 15387030103, 15387161197, 15387292289, 15387423377, 15387554473, 15387685559, 15387816677, + 15387947767, 15388078843, 15388209931, 15388341019, 15388472093, 15388603193, 15388734301, + 15388865381, 15388996453, 15389127529, 15389258627, 15389389703, 15389520781, 15389651857, + 15389782979, 15389914079, 15390045169, 15390176287, 15390307433, 15390438527, 15390569611, + 15390700757, 15390831853, 15390962941, 15391094027, 15391225103, 15391356179, 15391487257, + 15391618337, 15391749419, 15391880503, 15392011619, 15392142721, 15392273797, 15392404871, + 15392535967, 15392667041, 15392798119, 15392929199, 15393060301, 15393191381, 15393322471, + 15393453557, 15393584683, 15393715807, 15393846883, 15393977959, 15394109033, 15394240123, + 15394371203, 15394502281, 15394633357, 15394764431, 15394895519, 15395026627, 15395157719, + 15395288813, 15395419889, 15395550971, 15395682067, 15395813141, 15395944219, 15396075329, + 15396206411, 15396337501, 15396468599, 15396599677, 15396730757, 15396861881, 15396992957, + 15397124053, 15397255129, 15397386229, 15397517461, 15397648597, 15397779707, 15397910797, + 15398041933, 15398173019, 15398304101, 15398435177, 15398566259, 15398697337, 15398828411, + 15398959489, 15399090583, 15399221683, 15399352873, 15399483971, 15399615059, 15399746137, + 15399877211, 15400008311, 15400139389, 15400270477, 15400401587, 15400532663, 15400663739, + 15400794847, 15400925927, 15401057029, 15401188123, 15401319203, 15401450299, 15401581397, + 15401712511, 15401843599, 15401974717, 15402105809, 15402236887, 15402367961, 15402499039, + 15402630119, 15402761203, 15402892321, 15403023403, 15403154489, 15403285561, 15403416667, + 15403547749, 15403678837, 15403809929, 15403941037, 15404072119, 15404203223, 15404334307, + 15404465399, 15404596489, 15404727571, 15404858663, 15404989741, 15405120833, 15405251921, + 15405383039, 15405514169, 15405645271, 15405776383, 15405907459, 15406038551, 15406169629, + 15406300717, 15406431793, 15406562879, 15406693963, 15406825043, 15406956143, 15407087219, + 15407218297, 15407349371, 15407480449, 15407611529, 15407742673, 15407873773, 15408004873, + 15408135971, 15408267053, 15408398179, 15408529271, 15408660353, 15408791443, 15408922523, + 15409053601, 15409184683, 15409315759, 15409446883, 15409577987, 15409709093, 15409840169, + 15409971253, 15410102341, 15410233459, 15410364551, 15410495641, 15410626729, 15410757821, + 15410888929, 15411020003, 15411151099, 15411282203, 15411413279, 15411544391, 15411675473, + 15411806549, 15411937621, 15412068703, 15412199791, 15412330877, 15412462033, 15412593107, + 15412724203, 15412855313, 15412986427, 15413117501, 15413248621, 15413379727, 15413510851, + 15413641937, 15413773013, 15413904211, 15414035407, 15414166541, 15414297631, 15414428713, + 15414559801, 15414690881, 15414821953, 15414953051, 15415084151, 15415215289, 15415346389, + 15415477463, 15415608547, 15415739629, 15415870711, 15416001791, 15416132863, 15416263987, + 15416395067, 15416526161, 15416657237, 15416788363, 15416919449, 15417050531, 15417181673, + 15417312769, 15417443849, 15417574927, 15417706027, 15417837119, 15417968213, 15418099297, + 15418230383, 15418361459, 15418492547, 15418623641, 15418754773, 15418885849, 15419016923, + 15419148023, 15419279129, 15419410219, 15419541301, 15419672381, 15419803453, 15419934539, + 15420065659, 15420196763, 15420327841, 15420458939, 15420590041, 15420721163, 15420852241, + 15420983371, 15421114459, 15421245533, 15421376639, 15421507727, 15421638823, 15421769903, + 15421901059, 15422032169, 15422163259, 15422294341, 15422425423, 15422556503, 15422687627, + 15422818717, 15422949799, 15423080873, 15423211957, 15423343031, 15423474107, 15423605189, + 15423736297, 15423867373, 15423998449, 15424129547, 15424260637, 15424391711, 15424522801, + 15424653889, 15424785037, 15424916131, 15425047441, 15425178541, 15425309629, 15425440733, + 15425571827, 15425702909, 15425833987, 15425965067, 15426096139, 15426227237, 15426358351, + 15426489431, 15426620507, 15426751601, 15426882697, 15427013773, 15427144861, 15427275959, + 15427407089, 15427538207, 15427669319, 15427800403, 15427931483, 15428062571, 15428193673, + 15428324759, 15428455837, 15428586913, 15428717987, 15428849063, 15428980157, 15429111293, + 15429242371, 15429373457, 15429504533, 15429635621, 15429766721, 15429897817, 15430028897, + 15430160017, 15430291091, 15430422191, 15430553263, 15430684433, 15430815511, 15430946593, + 15431077679, 15431208781, 15431339879, 15431470961, 15431602103, 15431733193, 15431864267, + 15431995343, 15432126421, 15432257497, 15432388577, 15432519653, 15432650729, 15432781879, + 15432912967, 15433044049, 15433175189, 15433306271, 15433437353, 15433568431, 15433699507, + 15433830611, 15433961701, 15434092829, 15434223901, 15434354977, 15434486059, 15434617139, + 15434748221, 15434879297, 15435010399, 15435141481, 15435272579, 15435403717, 15435534791, + 15435665863, 15435796939, 15435928019, 15436059091, 15436190167, 15436321253, 15436452329, + 15436583411, 15436714499, 15436845607, 15436976699, 15437107811, 15437238893, 15437370019, + 15437501143, 15437632241, 15437763317, 15437894389, 15438025517, 15438156593, 15438287713, + 15438418837, 15438549911, 15438680987, 15438812071, 15438943147, 15439074239, 15439205351, + 15439336427, 15439467551, 15439598689, 15439729763, 15439860841, 15439991921, 15440123029, + 15440254117, 15440385197, 15440516297, 15440647373, 15440778467, 15440909573, 15441040661, + 15441171737, 15441302879, 15441433957, 15441565033, 15441696157, 15441827237, 15441958319, + 15442089401, 15442220533, 15442351619, 15442482691, 15442613827, 15442744907, 15442875989, + 15443007079, 15443138153, 15443269249, 15443400367, 15443531473, 15443662579, 15443793689, + 15443924777, 15444055919, 15444187021, 15444318103, 15444449179, 15444580259, 15444711341, + 15444842419, 15444973513, 15445104637, 15445235759, 15445366873, 15445497953, 15445629037, + 15445760153, 15445891249, 15446022377, 15446153467, 15446284549, 15446415643, 15446546729, + 15446677811, 15446808913, 15446939999, 15447071077, 15447202153, 15447333247, 15447464371, + 15447595451, 15447726611, 15447857683, 15447988763, 15448119889, 15448251041, 15448382161, + 15448513261, 15448644349, 15448775423, 15448906601, 15449037689, 15449168771, 15449299843, + 15449430929, 15449562019, 15449693093, 15449824199, 15449955271, 15450086357, 15450217429, + 15450348577, 15450479651, 15450610751, 15450741827, 15450872923, 15451003999, 15451135079, + 15451266167, 15451397243, 15451528331, 15451659403, 15451790491, 15451921567, 15452052661, + 15452183737, 15452314831, 15452445947, 15452577067, 15452708153, 15452839247, 15452970319, + 15453101401, 15453232489, 15453363599, 15453494677, 15453625751, 15453756887, 15453888061, + 15454019137, 15454150247, 15454281319, 15454412401, 15454543483, 15454674569, 15454805669, + 15454936753, 15455067839, 15455198917, 15455330017, 15455461093, 15455592197, 15455723273, + 15455854367, 15455985439, 15456116549, 15456247739, 15456378811, 15456509921, 15456641027, + 15456772103, 15456903181, 15457034273, 15457165351, 15457296433, 15457427519, 15457558591, + 15457689677, 15457820753, 15457951843, 15458082917, 15458214001, 15458345093, 15458476169, + 15458607253, 15458738327, 15458869487, 15459000559, 15459131641, 15459262717, 15459393793, + 15459524869, 15459655973, 15459787073, 15459918151, 15460049251, 15460180327, 15460311401, + 15460442479, 15460573559, 15460704659, 15460835737, 15460966813, 15461097887, 15461228963, + 15461360087, 15461491223, 15461622307, 15461753383, 15461884469, 15462015553, 15462146633, + 15462277771, 15462408887, 15462539971, 15462671057, 15462802133, 15462933209, 15463064293, + 15463195367, 15463326539, 15463457617, 15463588697, 15463719769, 15463850851, 15463981933, + 15464113009, 15464244083, 15464375161, 15464506259, 15464637343, 15464768447, 15464899531, + 15465030613, 15465161687, 15465292789, 15465423877, 15465554953, 15465686039, 15465817117, + 15465948191, 15466079297, 15466210391, 15466341463, 15466472573, 15466603673, 15466734763, + 15466865857, 15466996931, 15467128009, 15467259089, 15467390209, 15467521291, 15467652379, + 15467783491, 15467914591, 15468045757, 15468176897, 15468308017, 15468439093, 15468570191, + 15468701273, 15468832361, 15468963443, 15469094533, 15469225663, 15469356829, 15469487911, + 15469618991, 15469750063, 15469881157, 15470012237, 15470143313, 15470274401, 15470405477, + 15470536559, 15470667631, 15470798741, 15470929819, 15471060937, 15471192013, 15471323143, + 15471454237, 15471585331, 15471716419, 15471847493, 15471978569, 15472109647, 15472240739, + 15472371829, 15472502951, 15472634029, 15472765103, 15472896181, 15473027261, 15473158343, + 15473289427, 15473420513, 15473551631, 15473682709, 15473813791, 15473944877, 15474075961, + 15474207037, 15474338167, 15474469243, 15474600341, 15474731449, 15474862547, 15474993623, + 15475124699, 15475255799, 15475386881, 15475517969, 15475649047, 15475780121, 15475911197, + 15476042273, 15476173373, 15476304521, 15476435603, 15476566753, 15476697839, 15476828959, + 15476960039, 15477091141, 15477222221, 15477353323, 15477484453, 15477615641, 15477746719, + 15477877819, 15478008943, 15478140023, 15478271111, 15478402183, 15478533271, 15478664387, + 15478795469, 15478926557, 15479057641, 15479188733, 15479319809, 15479450887, 15479581967, + 15479713063, 15479844151, 15479975227, 15480106309, 15480237427, 15480368509, 15480499607, + 15480630743, 15480761843, 15480892939, 15481024033, 15481155119, 15481286201, 15481417291, + 15481548371, 15481679443, 15481810517, 15481941613, 15482072693, 15482203783, 15482334863, + 15482465993, 15482597107, 15482728253, 15482859349, 15482990429, 15483121519, 15483252607, + 15483383711, 15483514841, 15483645937, 15483777013, 15483908093, 15484039183, 15484170281, + 15484301363, 15484432487, 15484563583, 15484694669, 15484825799, 15484956887, 15485087971, + 15485219047, 15485350121, 15485481217, 15485612297, 15485743373, 15485874473, 15486005611, + 15486136703, 15486267799, 15486398881, 15486529969, 15486661061, 15486792133, 15486923227, + 15487054309, 15487185383, 15487316479, 15487447571, 15487578643, 15487709729, 15487840811, + 15487971911, 15488102983, 15488234089, 15488365187, 15488496269, 15488627377, 15488758471, + 15488889583, 15489020707, 15489151813, 15489282889, 15489413993, 15489545069, 15489676159, + 15489807241, 15489938333, 15490069421, 15490200511, 15490331611, 15490462699, 15490593779, + 15490724857, 15490855949, 15490987037, 15491118119, 15491249197, 15491380291, 15491511367, + 15491642459, 15491773589, 15491904677, 15492035803, 15492166883, 15492297971, 15492429059, + 15492560131, 15492691213, 15492822343, 15492953431, 15493084511, 15493215611, 15493346707, + 15493477789, 15493608901, 15493739983, 15493871117, 15494002189, 15494133271, 15494264413, + 15494395513, 15494526611, 15494657723, 15494788847, 15494919929, 15495051001, 15495182089, + 15495313189, 15495444277, 15495575353, 15495706433, 15495837509, 15495968581, 15496099679, + 15496230751, 15496361827, 15496492943, 15496624027, 15496755101, 15496886177, 15497017297, + 15497148379, 15497279459, 15497410531, 15497541617, 15497672731, 15497803843, 15497934919, + 15498066047, 15498197129, 15498328217, 15498459313, 15498590449, 15498721523, 15498852601, + 15498983719, 15499114819, 15499245893, 15499376987, 15499508069, 15499639147, 15499770263, + 15499901341, 15500032417, 15500163499, 15500294609, 15500425687, 15500556781, 15500687879, + 15500818951, 15500950043, 15501081149, 15501212239, 15501343339, 15501474433, 15501605531, + 15501736609, 15501867683, 15501998761, 15502129931, 15502261051, 15502392133, 15502523221, + 15502654333, 15502785421, 15502916509, 15503047583, 15503178667, 15503309747, 15503440831, + 15503571907, 15503702999, 15503834081, 15503965171, 15504096253, 15504227339, 15504358423, + 15504489527, 15504620609, 15504751721, 15504882821, 15505013929, 15505145077, 15505276159, + 15505407283, 15505538369, 15505669441, 15505800523, 15505931603, 15506062681, 15506193757, + 15506324833, 15506455919, 15506587049, 15506718191, 15506849269, 15506980343, 15507111443, + 15507242519, 15507373613, 15507504707, 15507635789, 15507766861, 15507897967, 15508029071, + 15508160177, 15508291273, 15508422367, 15508553477, 15508684553, 15508815643, 15508946723, + 15509077861, 15509208971, 15509340043, 15509471129, 15509602211, 15509733289, 15509864399, + 15509995471, 15510126557, 15510257641, 15510388727, 15510519841, 15510650999, 15510782071, + 15510913177, 15511044253, 15511175327, 15511306409, 15511437497, 15511568603, 15511699681, + 15511830781, 15511961879, 15512092991, 15512224067, 15512355151, 15512486261, 15512617333, + 15512748431, 15512879509, 15513010637, 15513141719, 15513272813, 15513403897, 15513535039, + 15513666127, 15513797203, 15513928301, 15514059403, 15514190491, 15514321573, 15514452659, + 15514583731, 15514714823, 15514845901, 15514976977, 15515108087, 15515239169, 15515370251, + 15515501347, 15515632441, 15515763547, 15515894623, 15516025703, 15516156779, 15516287881, + 15516418969, 15516550069, 15516681143, 15516812303, 15516943397, 15517074491, 15517205579, + 15517336663, 15517467739, 15517598849, 15517729943, 15517861063, 15517992167, 15518123279, + 15518254403, 15518385517, 15518516591, 15518647663, 15518778809, 15518909881, 15519040993, + 15519172073, 15519303193, 15519434297, 15519565403, 15519696481, 15519827593, 15519958669, + 15520089757, 15520220843, 15520351919, 15520482997, 15520614073, 15520745147, 15520876219, + 15521007329, 15521138417, 15521269493, 15521400577, 15521531653, 15521662777, 15521793863, + 15521924963, 15522056051, 15522187139, 15522318211, 15522449311, 15522580393, 15522711563, + 15522842659, 15522973733, 15523104811, 15523235899, 15523366981, 15523498061, 15523629157, + 15523760267, 15523891387, 15524022461, 15524153537, 15524284661, 15524415733, 15524546833, + 15524677907, 15524808991, 15524940143, 15525071239, 15525202367, 15525333451, 15525464543, + 15525595619, 15525726707, 15525857779, 15525988853, 15526119937, 15526251019, 15526382101, + 15526513231, 15526644307, 15526775387, 15526906459, 15527037587, 15527168669, 15527299751, + 15527430827, 15527561921, 15527693017, 15527824111, 15527955217, 15528086293, 15528217379, + 15528348457, 15528479537, 15528610639, 15528741719, 15528872791, 15529003873, 15529134953, + 15529266031, 15529397197, 15529528307, 15529659389, 15529790461, 15529921543, 15530052673, + 15530183761, 15530314837, 15530445911, 15530576983, 15530708093, 15530839183, 15530970277, + 15531101363, 15531232477, 15531363563, 15531494659, 15531625789, 15531756893, 15531887993, + 15532019089, 15532150169, 15532281257, 15532412377, 15532543451, 15532674523, 15532805611, + 15532936693, 15533067821, 15533198897, 15533330009, 15533461091, 15533592163, 15533723251, + 15533854367, 15533985457, 15534116551, 15534247667, 15534378763, 15534509867, 15534640943, + 15534772037, 15534903119, 15535034213, 15535165297, 15535296377, 15535427461, 15535558567, + 15535689647, 15535820723, 15535951811, 15536083021, 15536214103, 15536345219, 15536476331, + 15536607451, 15536738531, 15536869609, 15537000683, 15537131783, 15537262891, 15537393973, + 15537525079, 15537656159, 15537787247, 15537918359, 15538049477, 15538180577, 15538311673, + 15538442747, 15538573819, 15538704899, 15538836059, 15538967153, 15539098231, 15539229311, + 15539360407, 15539491493, 15539622569, 15539753653, 15539884729, 15540015833, 15540146917, + 15540277993, 15540409067, 15540540161, 15540671327, 15540802423, 15540933509, 15541064593, + 15541195669, 15541326743, 15541457849, 15541588981, 15541720091, 15541851167, 15541982249, + 15542113339, 15542244433, 15542375521, 15542506601, 15542637703, 15542768783, 15542899909, + 15543031019, 15543162127, 15543293203, 15543424279, 15543555353, 15543686437, 15543817517, + 15543948601, 15544079687, 15544210771, 15544341847, 15544472947, 15544604057, 15544735147, + 15544866223, 15544997297, 15545128387, 15545259467, 15545390543, 15545521619, 15545652713, + 15545783801, 15545914883, 15546046013, 15546177109, 15546308207, 15546439291, 15546570373, + 15546701453, 15546832529, 15546963631, 15547094767, 15547225847, 15547356941, 15547488013, + 15547619099, 15547750171, 15547881269, 15548012407, 15548143487, 15548274587, 15548405671, + 15548536781, 15548667853, 15548798953, 15548930027, 15549061123, 15549192199, 15549323287, + 15549454363, 15549585473, 15549716557, 15549847639, 15549978749, 15550109821, 15550240907, + 15550371983, 15550503103, 15550634219, 15550765301, 15550896373, 15551027477, 15551158559, + 15551289659, 15551420743, 15551551909, 15551683051, 15551814133, 15551945249, 15552076321, + 15552207439, 15552338519, 15552469591, 15552600691, 15552731819, 15552862909, 15552994007, + 15553125083, 15553256203, 15553387309, 15553518391, 15553649477, 15553780553, 15553911629, + 15554042701, 15554173793, 15554304877, 15554435971, 15554567059, 15554698153, 15554829233, + 15554960359, 15555091441, 15555222521, 15555353623, 15555484709, 15555615797, 15555746881, + 15555877963, 15556009057, 15556140133, 15556271219, 15556402297, 15556533389, 15556664471, + 15556795571, 15556926659, 15557057767, 15557188859, 15557319931, 15557451023, 15557582129, + 15557713231, 15557844329, 15557975453, 15558106537, 15558237619, 15558368711, 15558499783, + 15558630859, 15558761987, 15558893093, 15559024211, 15559155377, 15559286467, 15559417541, + 15559548619, 15559679713, 15559810787, 15559941863, 15560072951, 15560204027, 15560335099, + 15560466193, 15560597303, 15560728387, 15560859487, 15560990603, 15561121679, 15561252827, + 15561383911, 15561514999, 15561646127, 15561777241, 15561908317, 15562039403, 15562170493, + 15562301567, 15562432651, 15562563733, 15562694813, 15562825921, 15562957147, 15563088227, + 15563219311, 15563350403, 15563481481, 15563612573, 15563743669, 15563874743, 15564005833, + 15564136981, 15564268079, 15564399173, 15564530269, 15564661349, 15564792433, 15564923567, + 15565054651, 15565185767, 15565316867, 15565447939, 15565579013, 15565710103, 15565841251, + 15565972349, 15566103451, 15566234531, 15566365621, 15566496697, 15566627849, 15566758937, + 15566890013, 15567021089, 15567152177, 15567283253, 15567414329, 15567545417, 15567676519, + 15567807599, 15567938681, 15568069763, 15568200841, 15568331917, 15568463011, 15568594123, + 15568725217, 15568856293, 15568987381, 15569118469, 15569249551, 15569380637, 15569511709, + 15569642821, 15569773943, 15569905037, 15570036127, 15570167231, 15570298307, 15570429419, + 15570560501, 15570691573, 15570822689, 15570953767, 15571084871, 15571215953, 15571347031, + 15571478129, 15571609231, 15571740311, 15571871387, 15572002471, 15572133557, 15572264671, + 15572395753, 15572526877, 15572657953, 15572789027, 15572920117, 15573051203, 15573182291, + 15573313367, 15573444451, 15573575569, 15573706657, 15573837731, 15573968873, 15574099969, + 15574231069, 15574362143, 15574493219, 15574624313, 15574755451, 15574886581, 15575017673, + 15575148767, 15575279843, 15575410957, 15575542127, 15575673221, 15575804317, 15575935423, + 15576066557, 15576197633, 15576328717, 15576459791, 15576590879, 15576722023, 15576853139, + 15576984229, 15577115311, 15577246411, 15577377503, 15577508593, 15577639667, 15577770781, + 15577901861, 15578032937, 15578164027, 15578295127, 15578426203, 15578557277, 15578688409, + 15578819489, 15578950627, 15579081703, 15579212821, 15579343919, 15579474997, 15579606079, + 15579737207, 15579868289, 15579999419, 15580130507, 15580261583, 15580392677, 15580523753, + 15580654849, 15580785953, 15580917041, 15581048123, 15581179213, 15581310307, 15581441389, + 15581572477, 15581703611, 15581834683, 15581965783, 15582096857, 15582227963, 15582359047, + 15582490123, 15582621199, 15582752363, 15582883439, 15583014511, 15583145593, 15583276703, + 15583407803, 15583538941, 15583670029, 15583801193, 15583932271, 15584063347, 15584194447, + 15584325529, 15584456687, 15584587787, 15584718869, 15584849963, 15584981053, 15585112129, + 15585243217, 15585374293, 15585505379, 15585636523, 15585767597, 15585898709, 15586029799, + 15586160879, 15586291957, 15586423033, 15586554119, 15586685203, 15586816277, 15586947359, + 15587078447, 15587209567, 15587340677, 15587471759, 15587602841, 15587733919, 15587865001, + 15587996087, 15588127189, 15588258269, 15588389347, 15588520421, 15588651509, 15588782581, + 15588913709, 15589044791, 15589175863, 15589307009, 15589438097, 15589569181, 15589700261, + 15589831357, 15589962431, 15590093509, 15590224591, 15590355679, 15590486753, 15590617837, + 15590748911, 15590880007, 15591011087, 15591142183, 15591273263, 15591404341, 15591535417, + 15591666533, 15591797621, 15591928739, 15592059817, 15592190891, 15592321991, 15592453133, + 15592584209, 15592715287, 15592846363, 15592977461, 15593108581, 15593239663, 15593370763, + 15593501851, 15593632931, 15593764007, 15593895091, 15594026191, 15594157291, 15594288371, + 15594419471, 15594550553, 15594681637, 15594812713, 15594943813, 15595074893, 15595206013, + 15595337117, 15595468219, 15595599293, 15595730377, 15595861451, 15595992527, 15596123633, + 15596254717, 15596385793, 15596516917, 15596648003, 15596779141, 15596910221, 15597041303, + 15597172391, 15597303473, 15597434557, 15597565663, 15597696743, 15597827851, 15597958979, + 15598090069, 15598221181, 15598352279, 15598483393, 15598614481, 15598745557, 15598876673, + 15599007757, 15599138857, 15599269937, 15599401031, 15599532107, 15599663251, 15599794339, + 15599925437, 15600056519, 15600187627, 15600318703, 15600449779, 15600580867, 15600711941, + 15600843017, 15600974107, 15601105217, 15601236289, 15601367363, 15601498439, 15601629517, + 15601760653, 15601891733, 15602022809, 15602153951, 15602285029, 15602416163, 15602547263, + 15602678363, 15602809441, 15602940517, 15603071639, 15603202711, 15603333787, 15603464917, + 15603595999, 15603727103, 15603858181, 15603989311, 15604120387, 15604251463, 15604382543, + 15604513621, 15604644697, 15604775773, 15604906861, 15605037949, 15605169029, 15605300101, + 15605431183, 15605562293, 15605693381, 15605824453, 15605955553, 15606086641, 15606217747, + 15606348829, 15606479921, 15606610993, 15606742087, 15606873199, 15607004291, 15607135493, + 15607266583, 15607397669, 15607528751, 15607659857, 15607790941, 15607922041, 15608053121, + 15608184197, 15608315287, 15608446361, 15608577437, 15608708509, 15608839583, 15608970709, + 15609101789, 15609232879, 15609363967, 15609495071, 15609626143, 15609757253, 15609888373, + 15610019489, 15610150573, 15610281653, 15610412743, 15610543853, 15610674967, 15610806073, + 15610937161, 15611068247, 15611199367, 15611330491, 15611461571, 15611592671, 15611723759, + 15611854859, 15611985941, 15612117013, 15612248137, 15612379219, 15612510293, 15612641389, + 15612772471, 15612903557, 15613034629, 15613165709, 15613296799, 15613427873, 15613558957, + 15613690031, 15613821103, 15613952213, 15614083291, 15614214389, 15614345477, 15614476561, + 15614607677, 15614738753, 15614869847, 15615000949, 15615132053, 15615263129, 15615394231, + 15615525361, 15615656473, 15615787549, 15615918631, 15616049711, 15616180787, 15616311859, + 15616442983, 15616574081, 15616705171, 15616836253, 15616967383, 15617098499, 15617229587, + 15617360677, 15617491781, 15617622859, 15617753947, 15617885021, 15618016129, 15618147241, + 15618278323, 15618409399, 15618540523, 15618671633, 15618802729, 15618933823, 15619064927, + 15619196003, 15619327081, 15619458181, 15619589261, 15619720367, 15619851449, 15619982531, + 15620113609, 15620244779, 15620375851, 15620507027, 15620638147, 15620769221, 15620900299, + 15621031381, 15621162463, 15621293537, 15621424619, 15621555701, 15621686783, 15621817873, + 15621948949, 15622080037, 15622211167, 15622342243, 15622473329, 15622604401, 15622735477, + 15622866557, 15622997629, 15623128709, 15623259787, 15623390863, 15623521939, 15623653091, + 15623784223, 15623915309, 15624046391, 15624177473, 15624308591, 15624439669, 15624570743, + 15624701893, 15624833053, 15624964151, 15625095229, 15625226333, 15625357417, 15625488491, + 15625619563, 15625750639, 15625881763, 15626012869, 15626143957, 15626275057, 15626406161, + 15626537263, 15626668339, 15626799481, 15626930623, 15627061699, 15627192799, 15627323903, + 15627454979, 15627586063, 15627717139, 15627848219, 15627979321, 15628110397, 15628241479, + 15628372559, 15628503641, 15628634759, 15628765937, 15628897019, 15629028101, 15629159179, + 15629290331, 15629421419, 15629552527, 15629683631, 15629814719, 15629945869, 15630076967, + 15630208057, 15630339143, 15630470279, 15630601361, 15630732463, 15630863543, 15630994619, + 15631125781, 15631256857, 15631387931, 15631519021, 15631650109, 15631781227, 15631912333, + 15632043431, 15632174561, 15632305643, 15632436769, 15632567911, 15632698987, 15632830139, + 15632961271, 15633092357, 15633223429, 15633354511, 15633485587, 15633616667, 15633747797, + 15633878893, 15634009967, 15634141093, 15634272167, 15634403261, 15634534361, 15634665433, + 15634796537, 15634927619, 15635058701, 15635189809, 15635320891, 15635451983, 15635583059, + 15635714161, 15635845241, 15635976353, 15636107441, 15636238619, 15636369691, 15636500777, + 15636631853, 15636762991, 15636894089, 15637025171, 15637156243, 15637287401, 15637418477, + 15637549579, 15637680659, 15637811747, 15637942823, 15638073923, 15638205007, 15638336081, + 15638467153, 15638598259, 15638729363, 15638860451, 15638991629, 15639122731, 15639253859, + 15639384931, 15639516029, 15639647147, 15639778223, 15639909319, 15640040393, 15640171493, + 15640302569, 15640433647, 15640564721, 15640695797, 15640826881, 15640957957, 15641089039, + 15641220113, 15641351189, 15641482267, 15641613347, 15641744423, 15641875511, 15642006607, + 15642137717, 15642268813, 15642399937, 15642531029, 15642662173, 15642793249, 15642924329, + 15643055419, 15643186513, 15643317623, 15643448701, 15643579813, 15643710893, 15643841981, + 15643973113, 15644104219, 15644235301, 15644366377, 15644497481, 15644628569, 15644759651, + 15644890777, 15645021881, 15645152993, 15645284099, 15645415199, 15645546283, 15645677387, + 15645808471, 15645939577, 15646070653, 15646201793, 15646332869, 15646463941, 15646595017, + 15646726103, 15646857209, 15646988323, 15647119409, 15647250523, 15647381599, 15647512679, + 15647643757, 15647774837, 15647905909, 15648037021, 15648168097, 15648299231, 15648430309, + 15648561391, 15648692473, 15648823573, 15648954689, 15649085773, 15649216871, 15649347947, + 15649479031, 15649610153, 15649741249, 15649872347, 15650003419, 15650134517, 15650265607, + 15650396683, 15650527757, 15650658857, 15650789939, 15650921029, 15651052103, 15651183193, + 15651314281, 15651445357, 15651576467, 15651707549, 15651838661, 15651969743, 15652100833, + 15652231909, 15652362989, 15652494061, 15652625143, 15652756261, 15652887359, 15653018441, + 15653149513, 15653280607, 15653411773, 15653542871, 15653674019, 15653805109, 15653936219, + 15654067309, 15654198389, 15654329473, 15654460609, 15654591707, 15654722779, 15654853871, + 15654984953, 15655116047, 15655247131, 15655378243, 15655509341, 15655640447, 15655771531, + 15655902673, 15656033753, 15656164831, 15656295943, 15656427097, 15656558179, 15656689253, + 15656820331, 15656951447, 15657082561, 15657213641, 15657344719, 15657475819, 15657606929, + 15657738059, 15657869179, 15658000261, 15658131407, 15658262479, 15658393571, 15658524649, + 15658655731, 15658786811, 15658917913, 15659049013, 15659180099, 15659311177, 15659442329, + 15659573417, 15659704493, 15659835571, 15659966659, 15660097741, 15660228821, 15660359933, + 15660491029, 15660622127, 15660753221, 15660884329, 15661015427, 15661146509, 15661277633, + 15661408717, 15661539827, 15661670909, 15661802027, 15661933121, 15662064259, 15662195359, + 15662326469, 15662457563, 15662588639, 15662719741, 15662850851, 15662981927, 15663113003, + 15663244147, 15663375227, 15663506377, 15663637453, 15663768563, 15663899639, 15664030717, + 15664161809, 15664292921, 15664424003, 15664555091, 15664686179, 15664817269, 15664948379, + 15665079467, 15665210579, 15665341661, 15665472737, 15665603893, 15665734969, 15665866043, + 15665997121, 15666128213, 15666259313, 15666390427, 15666521501, 15666652613, 15666783733, + 15666914821, 15667045903, 15667177003, 15667308079, 15667439231, 15667570309, 15667701391, + 15667832501, 15667963583, 15668094667, 15668225773, 15668356871, 15668488009, 15668619089, + 15668750173, 15668881253, 15669012427, 15669143537, 15669274627, 15669405757, 15669536843, + 15669667957, 15669799031, 15669930119, 15670061191, 15670192271, 15670323343, 15670454431, + 15670585507, 15670716587, 15670847671, 15670978753, 15671109859, 15671240939, 15671372113, + 15671503189, 15671634281, 15671765353, 15671896447, 15672027559, 15672158639, 15672289741, + 15672420833, 15672551929, 15672683003, 15672814093, 15672945173, 15673076261, 15673207349, + 15673338437, 15673469561, 15673600633, 15673731707, 15673862779, 15673993861, 15674124937, + 15674256043, 15674387119, 15674518219, 15674649311, 15674780399, 15674911477, 15675042587, + 15675173659, 15675304823, 15675435901, 15675566987, 15675698083, 15675829187, 15675960259, + 15676091359, 15676222453, 15676353527, 15676484599, 15676615681, 15676746769, 15676877861, + 15677008933, 15677140007, 15677271091, 15677402171, 15677533243, 15677664319, 15677795423, + 15677926499, 15678057641, 15678188759, 15678319837, 15678450943, 15678582043, 15678713119, + 15678844211, 15678975331, 15679106467, 15679237573, 15679368673, 15679499761, 15679630867, + 15679761941, 15679893059, 15680024159, 15680155243, 15680286353, 15680417471, 15680548547, + 15680679631, 15680810723, 15680941849, 15681072931, 15681204037, 15681335123, 15681466253, + 15681597341, 15681728429, 15681859537, 15681990619, 15682121701, 15682252783, 15682383869, + 15682514951, 15682646027, 15682777109, 15682908181, 15683039263, 15683170337, 15683301421, + 15683432503, 15683563583, 15683694671, 15683825743, 15683956817, 15684087901, 15684219011, + 15684350153, 15684481229, 15684612323, 15684743411, 15684874493, 15685005601, 15685136737, + 15685267817, 15685398889, 15685529963, 15685661039, 15685792123, 15685923217, 15686054311, + 15686185399, 15686316493, 15686447597, 15686578681, 15686709763, 15686840861, 15686971933, + 15687103021, 15687234113, 15687365189, 15687496261, 15687627377, 15687758467, 15687889549, + 15688020661, 15688151767, 15688282853, 15688413929, 15688545017, 15688676147, 15688807259, + 15688938347, 15689069437, 15689200517, 15689331599, 15689462681, 15689593757, 15689724859, + 15689855941, 15689987099, 15690118229, 15690249313, 15690380441, 15690511517, 15690642599, + 15690773671, 15690904799, 15691035883, 15691166969, 15691298059, 15691429133, 15691560217, + 15691691297, 15691822373, 15691953461, 15692084537, 15692215633, 15692346713, 15692477803, + 15692608907, 15692740009, 15692871083, 15693002179, 15693133259, 15693264337, 15693395413, + 15693526507, 15693657607, 15693788681, 15693919781, 15694050857, 15694181953, 15694313029, + 15694444123, 15694575223, 15694706303, 15694837391, 15694968467, 15695099543, 15695230633, + 15695361709, 15695492801, 15695623883, 15695754989, 15695886091, 15696017243, 15696148339, + 15696279421, 15696410497, 15696541571, 15696672647, 15696803719, 15696934807, 15697065883, + 15697197023, 15697328099, 15697459177, 15697590253, 15697721381, 15697852481, 15697983607, + 15698114681, 15698245789, 15698376887, 15698507987, 15698639087, 15698770181, 15698901289, + 15699032383, 15699163457, 15699294551, 15699425627, 15699556709, 15699687823, 15699818899, + 15699950003, 15700081093, 15700212191, 15700343287, 15700474369, 15700605457, 15700736533, + 15700867621, 15700998713, 15701129797, 15701260879, 15701391971, 15701523043, 15701654159, + 15701785243, 15701916379, 15702047453, 15702178567, 15702309647, 15702440753, 15702571847, + 15702702929, 15702834053, 15702965129, 15703096237, 15703227311, 15703358443, 15703489519, + 15703620629, 15703751711, 15703882783, 15704013917, 15704145001, 15704276111, 15704407183, + 15704538257, 15704669329, 15704800409, 15704931497, 15705062591, 15705193697, 15705324781, + 15705455893, 15705586991, 15705718099, 15705849193, 15705980293, 15706111387, 15706242463, + 15706373621, 15706504763, 15706635859, 15706766941, 15706898021, 15707029099, 15707160173, + 15707291267, 15707422351, 15707553443, 15707684539, 15707815631, 15707946719, 15708077867, + 15708208951, 15708340157, 15708471269, 15708602341, 15708733423, 15708864499, 15708995591, + 15709126669, 15709257749, 15709388833, 15709519909, 15709651007, 15709782083, 15709913159, + 15710044309, 15710175389, 15710306473, 15710437571, 15710568661, 15710699791, 15710830909, + 15710961983, 15711093059, 15711224147, 15711355277, 15711486353, 15711617429, 15711748513, + 15711879593, 15712010711, 15712141801, 15712272893, 15712403981, 15712535053, 15712666127, + 15712797209, 15712928293, 15713059367, 15713190461, 15713321543, 15713452621, 15713583731, + 15713714803, 15713845877, 15713976989, 15714108079, 15714239173, 15714370283, 15714501373, + 15714632449, 15714763549, 15714894641, 15715025713, 15715156789, 15715287871, 15715418963, + 15715550041, 15715681153, 15715812263, 15715943357, 15716074463, 15716205541, 15716336641, + 15716467729, 15716598803, 15716729929, 15716861011, 15716992117, 15717123223, 15717254297, + 15717385391, 15717516469, 15717647549, 15717778631, 15717909707, 15718040837, 15718171919, + 15718302991, 15718434089, 15718565173, 15718696267, 15718827347, 15718958429, 15719089523, + 15719220599, 15719351671, 15719482777, 15719613857, 15719744951, 15719876027, 15720007153, + 15720138229, 15720269303, 15720400393, 15720531469, 15720662549, 15720793643, 15720924721, + 15721055809, 15721186907, 15721318013, 15721449097, 15721580239, 15721711321, 15721842407, + 15721973503, 15722104609, 15722235719, 15722366833, 15722497927, 15722629001, 15722760077, + 15722891159, 15723022247, 15723153337, 15723284431, 15723415507, 15723546583, 15723677659, + 15723808733, 15723939821, 15724070909, 15724201981, 15724333069, 15724464167, 15724595239, + 15724726327, 15724857403, 15724988533, 15725119607, 15725250727, 15725381813, 15725512897, + 15725643971, 15725775067, 15725906153, 15726037231, 15726168317, 15726299389, 15726430477, + 15726561553, 15726692633, 15726823711, 15726954787, 15727085867, 15727216951, 15727348031, + 15727479113, 15727610191, 15727741291, 15727872451, 15728003539, 15728134637, 15728265719, + 15728396807, 15728527907, 15728659027, 15728790113, 15728921207, 15729052279, 15729183433, + 15729314537, 15729445609, 15729576703, 15729707779, 15729838853, 15729969943, 15730101043, + 15730232123, 15730363199, 15730494271, 15730625389, 15730756477, 15730887577, 15731018657, + 15731149747, 15731280833, 15731411909, 15731542987, 15731674111, 15731805211, 15731936299, + 15732067381, 15732198479, 15732329609, 15732460687, 15732591779, 15732722861, 15732853957, + 15732985031, 15733116137, 15733247249, 15733378337, 15733509431, 15733640557, 15733771631, + 15733902707, 15734033789, 15734164867, 15734295959, 15734427083, 15734558219, 15734689331, + 15734820427, 15734951501, 15735082591, 15735213671, 15735344783, 15735475909, 15735607009, + 15735738127, 15735869203, 15736000337, 15736131457, 15736262561, 15736393633, 15736524709, + 15736655791, 15736786907, 15736917983, 15737049061, 15737180159, 15737311273, 15737442377, + 15737573473, 15737704553, 15737835653, 15737966747, 15738097831, 15738228923, 15738360049, + 15738491147, 15738622223, 15738753311, 15738884387, 15739015469, 15739146569, 15739277681, + 15739408787, 15739539863, 15739670971, 15739802047, 15739933159, 15740064233, 15740195333, + 15740326451, 15740457589, 15740588671, 15740719837, 15740850949, 15740982067, 15741113173, + 15741244249, 15741375323, 15741506413, 15741637501, 15741768587, 15741899659, 15742030739, + 15742161817, 15742292911, 15742423987, 15742555117, 15742686199, 15742817297, 15742948411, + 15743079553, 15743210629, 15743341729, 15743472839, 15743603917, 15743734997, 15743866079, + 15743997229, 15744128303, 15744259379, 15744390481, 15744521557, 15744652633, 15744783709, + 15744914791, 15745045871, 15745176961, 15745308041, 15745439119, 15745570219, 15745701313, + 15745832423, 15745963549, 15746094643, 15746225731, 15746356891, 15746487971, 15746619059, + 15746750141, 15746881247, 15747012349, 15747143443, 15747274591, 15747405673, 15747536759, + 15747667847, 15747798931, 15747930013, 15748061093, 15748192181, 15748323259, 15748454341, + 15748585429, 15748716509, 15748847689, 15748978769, 15749109851, 15749240981, 15749372057, + 15749503151, 15749634233, 15749765309, 15749896387, 15750027463, 15750158537, 15750289619, + 15750420701, 15750551783, 15750682861, 15750813941, 15750945017, 15751076093, 15751207169, + 15751338271, 15751469347, 15751600451, 15751731547, 15751862627, 15751993703, 15752124797, + 15752255887, 15752387029, 15752518109, 15752649271, 15752780353, 15752911429, 15753042511, + 15753173609, 15753304703, 15753435779, 15753566897, 15753697969, 15753829087, 15753960191, + 15754091273, 15754222397, 15754353479, 15754484563, 15754615663, 15754746739, 15754877867, + 15755008939, 15755140019, 15755271109, 15755402189, 15755533303, 15755664389, 15755795521, + 15755926597, 15756057677, 15756188759, 15756319847, 15756450937, 15756582013, 15756713087, + 15756844183, 15756975277, 15757106389, 15757237499, 15757368577, 15757499657, 15757630729, + 15757761809, 15757892933, 15758024011, 15758155087, 15758286227, 15758417347, 15758548423, + 15758679523, 15758810611, 15758941687, 15759072767, 15759203893, 15759335021, 15759466109, + 15759597181, 15759728273, 15759859393, 15759990481, 15760121561, 15760252637, 15760383719, + 15760514831, 15760645919, 15760777031, 15760908103, 15761039191, 15761170277, 15761301383, + 15761432461, 15761563541, 15761694643, 15761825731, 15761956817, 15762087907, 15762218981, + 15762350059, 15762481153, 15762612251, 15762743357, 15762874433, 15763005521, 15763136617, + 15763267691, 15763398769, 15763529867, 15763660963, 15763792039, 15763923113, 15764054221, + 15764185319, 15764316391, 15764447467, 15764578541, 15764709707, 15764840789, 15764971889, + 15765103001, 15765234193, 15765365303, 15765496379, 15765627481, 15765758557, 15765889631, + 15766020709, 15766151789, 15766282867, 15766413947, 15766545029, 15766676119, 15766807207, + 15766938293, 15767069393, 15767200481, 15767331563, 15767462657, 15767593729, 15767724809, + 15767855951, 15767987029, 15768118117, 15768249191, 15768380293, 15768511379, 15768642467, + 15768773561, 15768904637, 15769035719, 15769166801, 15769297967, 15769429057, 15769560137, + 15769691209, 15769822303, 15769953443, 15770084521, 15770215619, 15770346733, 15770477851, + 15770608939, 15770740087, 15770871161, 15771002239, 15771133319, 15771264401, 15771395473, + 15771526553, 15771657631, 15771788723, 15771919799, 15772050893, 15772182007, 15772313093, + 15772444169, 15772575277, 15772706351, 15772837429, 15772968511, 15773099611, 15773230699, + 15773361823, 15773492923, 15773624021, 15773755147, 15773886229, 15774017309, 15774148381, + 15774279461, 15774410563, 15774541691, 15774672799, 15774803881, 15774934969, 15775066061, + 15775197133, 15775328237, 15775459313, 15775590401, 15775721473, 15775852621, 15775983739, + 15776114833, 15776245913, 15776377021, 15776508103, 15776639191, 15776770267, 15776901383, + 15777032473, 15777163579, 15777294691, 15777425767, 15777556867, 15777687943, 15777819023, + 15777950137, 15778081211, 15778212337, 15778343431, 15778474507, 15778605581, 15778736653, + 15778867771, 15778998847, 15779129929, 15779261011, 15779392103, 15779523197, 15779654273, + 15779785349, 15779916437, 15780047519, 15780178591, 15780309697, 15780440771, 15780571843, + 15780702929, 15780834029, 15780965111, 15781096193, 15781227269, 15781358377, 15781489459, + 15781620587, 15781751659, 15781882751, 15782013827, 15782144941, 15782276047, 15782407129, + 15782538203, 15782669317, 15782800403, 15782931523, 15783062611, 15783193687, 15783324797, + 15783455881, 15783586963, 15783718087, 15783849167, 15783980341, 15784111417, 15784242493, + 15784373587, 15784504661, 15784635743, 15784766821, 15784897901, 15785028991, 15785160071, + 15785291149, 15785422229, 15785553319, 15785684417, 15785815489, 15785946593, 15786077683, + 15786208787, 15786339887, 15786470983, 15786602063, 15786733141, 15786864227, 15786995317, + 15787126393, 15787257467, 15787388557, 15787519639, 15787650727, 15787781819, 15787912891, + 15788043979, 15788175071, 15788306153, 15788437267, 15788568361, 15788699441, 15788830517, + 15788961589, 15789092747, 15789223837, 15789354913, 15789486047, 15789617141, 15789748237, + 15789879311, 15790010407, 15790141481, 15790272557, 15790403639, 15790534751, 15790665833, + 15790796909, 15790927993, 15791059073, 15791190179, 15791321281, 15791452381, 15791583491, + 15791714573, 15791845661, 15791976751, 15792107827, 15792238921, 15792370019, 15792501091, + 15792632179, 15792763253, 15792894329, 15793025401, 15793156493, 15793287569, 15793418651, + 15793549753, 15793680853, 15793811939, 15793943057, 15794074151, 15794205247, 15794336333, + 15794467411, 15794598539, 15794729641, 15794860727, 15794991803, 15795122951, 15795254029, + 15795385103, 15795516239, 15795647323, 15795778417, 15795909517, 15796040591, 15796171691, + 15796302787, 15796433897, 15796564999, 15796696103, 15796827199, 15796958323, 15797089493, + 15797220581, 15797351663, 15797482769, 15797613847, 15797744929, 15797876027, 15798007111, + 15798138217, 15798269299, 15798400391, 15798531467, 15798662563, 15798793657, 15798924767, + 15799055843, 15799186919, 15799318019, 15799449101, 15799580177, 15799711253, 15799842427, + 15799973521, 15800104637, 15800235751, 15800366839, 15800497919, 15800628997, 15800760139, + 15800891221, 15801022301, 15801153449, 15801284539, 15801415639, 15801546713, 15801677819, + 15801808903, 15801939991, 15802071079, 15802202153, 15802333237, 15802464313, 15802595399, + 15802726477, 15802857557, 15802988629, 15803119711, 15803250821, 15803381897, 15803512969, + 15803644049, 15803775227, 15803906351, 15804037423, 15804168521, 15804299633, 15804430709, + 15804561793, 15804692887, 15804824029, 15804955109, 15805086181, 15805217287, 15805348367, + 15805479463, 15805610539, 15805741639, 15805872721, 15806003797, 15806134871, 15806265947, + 15806397029, 15806528113, 15806659201, 15806790277, 15806921363, 15807052463, 15807183547, + 15807314639, 15807445739, 15807576821, 15807707899, 15807838999, 15807970097, 15808101187, + 15808232333, 15808363447, 15808494521, 15808625593, 15808756669, 15808887749, 15809018821, + 15809149897, 15809280973, 15809412053, 15809543149, 15809674277, 15809805383, 15809936533, + 15810067619, 15810198697, 15810329863, 15810460949, 15810592033, 15810723109, 15810854197, + 15810985277, 15811116367, 15811247497, 15811378577, 15811509677, 15811640777, 15811771853, + 15811902937, 15812034011, 15812165087, 15812296189, 15812427271, 15812558369, 15812689441, + 15812820533, 15812951617, 15813082693, 15813213769, 15813344849, 15813475961, 15813607037, + 15813738137, 15813869209, 15814000291, 15814131419, 15814262539, 15814393649, 15814524743, + 15814655821, 15814786903, 15814917983, 15815049091, 15815180177, 15815311249, 15815442341, + 15815573437, 15815704511, 15815835593, 15815966671, 15816097757, 15816228847, 15816359939, + 15816491051, 15816622123, 15816753209, 15816884297, 15817015387, 15817146473, 15817277551, + 15817408639, 15817539713, 15817670821, 15817801907, 15817932979, 15818064107, 15818195209, + 15818326289, 15818457371, 15818588459, 15818719541, 15818850617, 15818981707, 15819112783, + 15819243919, 15819374993, 15819506071, 15819637151, 15819768247, 15819899357, 15820030451, + 15820161523, 15820292603, 15820423687, 15820554793, 15820685879, 15820816951, 15820948049, + 15821079149, 15821210227, 15821341309, 15821472389, 15821603593, 15821734667, 15821865749, + 15821996831, 15822127907, 15822258997, 15822390079, 15822521161, 15822652259, 15822783343, + 15822914417, 15823045519, 15823176601, 15823307761, 15823438837, 15823569941, 15823701053, + 15823832131, 15823963219, 15824094331, 15824225437, 15824356519, 15824487593, 15824618671, + 15824749771, 15824880857, 15825011933, 15825143057, 15825274147, 15825405313, 15825536399, + 15825667541, 15825798629, 15825929737, 15826060841, 15826191917, 15826323041, 15826454117, + 15826585199, 15826716281, 15826847363, 15826978451, 15827109523, 15827240599, 15827371699, + 15827502791, 15827633911, 15827764987, 15827896061, 15828027133, 15828158237, 15828289417, + 15828420547, 15828551663, 15828682747, 15828813821, 15828944893, 15829075967, 15829207049, + 15829338157, 15829469237, 15829600327, 15829731419, 15829862501, 15829993573, 15830124649, + 15830255731, 15830386837, 15830517919, 15830649017, 15830780093, 15830911171, 15831042257, + 15831173333, 15831304487, 15831435563, 15831566677, 15831697757, 15831828841, 15831959939, + 15832091029, 15832222117, 15832353203, 15832484281, 15832615361, 15832746473, 15832877549, + 15833008637, 15833139719, 15833270813, 15833401889, 15833532961, 15833664053, 15833795143, + 15833926223, 15834057301, 15834188527, 15834319603, 15834450691, 15834581773, 15834712969, + 15834844049, 15834975157, 15835106281, 15835237357, 15835368431, 15835499521, 15835630619, + 15835761703, 15835892789, 15836023873, 15836154947, 15836286049, 15836417147, 15836548243, + 15836679317, 15836810393, 15836941517, 15837072607, 15837203693, 15837334783, 15837465871, + 15837596947, 15837728041, 15837859129, 15837990229, 15838121303, 15838252421, 15838383497, + 15838514597, 15838645673, 15838776761, 15838907863, 15839038967, 15839170043, 15839301143, + 15839432233, 15839563319, 15839694407, 15839825489, 15839956589, 15840087691, 15840218791, + 15840349867, 15840480941, 15840612017, 15840743111, 15840874201, 15841005277, 15841136359, + 15841267433, 15841398553, 15841529629, 15841660721, 15841791793, 15841922869, 15842053949, + 15842185127, 15842316199, 15842447281, 15842578363, 15842709499, 15842840581, 15842971679, + 15843102763, 15843233851, 15843364949, 15843496051, 15843627167, 15843758251, 15843889331, + 15844020427, 15844151501, 15844282579, 15844413667, 15844544753, 15844675831, 15844806907, + 15844937987, 15845069083, 15845200199, 15845331277, 15845462351, 15845593429, 15845724511, + 15845855651, 15845986777, 15846117863, 15846248989, 15846380063, 15846511141, 15846642221, + 15846773321, 15846904393, 15847035467, 15847166549, 15847297633, 15847428719, 15847559807, + 15847690879, 15847821961, 15847953073, 15848084173, 15848215277, 15848346413, 15848477501, + 15848608591, 15848739671, 15848870761, 15849001849, 15849132953, 15849264031, 15849395117, + 15849526243, 15849657319, 15849788399, 15849919471, 15850050563, 15850181651, 15850312727, + 15850443803, 15850574881, 15850705957, 15850837049, 15850968131, 15851099269, 15851230393, + 15851361499, 15851492617, 15851623757, 15851754833, 15851885957, 15852017029, 15852148111, + 15852279197, 15852410279, 15852541363, 15852672463, 15852803537, 15852934693, 15853065779, + 15853196861, 15853327969, 15853459043, 15853590127, 15853721203, 15853852283, 15853983359, + 15854114443, 15854245523, 15854376623, 15854507719, 15854638843, 15854769947, 15854901037, + 15855032131, 15855163267, 15855294361, 15855425441, 15855556517, 15855687599, 15855818731, + 15855949853, 15856080943, 15856212037, 15856343131, 15856474211, 15856605293, 15856736381, + 15856867459, 15856998569, 15857129669, 15857260759, 15857391857, 15857522953, 15857654041, + 15857785117, 15857916203, 15858047339, 15858178417, 15858309497, 15858440579, 15858571657, + 15858702749, 15858833867, 15858964949, 15859096021, 15859227103, 15859358183, 15859489267, + 15859620347, 15859751419, 15859882513, 15860013623, 15860144749, 15860275829, 15860406941, + 15860538017, 15860669089, 15860800169, 15860931257, 15861062341, 15861193417, 15861324491, + 15861455579, 15861586681, 15861717761, 15861848881, 15861979967, 15862111039, 15862242127, + 15862373203, 15862504291, 15862635401, 15862766473, 15862897549, 15863028667, 15863159743, + 15863290823, 15863421901, 15863552987, 15863684077, 15863815153, 15863946247, 15864077347, + 15864208421, 15864339499, 15864470591, 15864601663, 15864732743, 15864863851, 15864994979, + 15865126061, 15865257151, 15865388239, 15865519333, 15865650407, 15865781479, 15865912553, + 15866043643, 15866174747, 15866305831, 15866436917, 15866568001, 15866699087, 15866830211, + 15866961289, 15867092369, 15867223447, 15867354539, 15867485639, 15867616729, 15867747821, + 15867878893, 15868009987, 15868141067, 15868272187, 15868403263, 15868534379, 15868665493, + 15868796609, 15868927691, 15869058769, 15869189873, 15869320993, 15869452069, 15869583269, + 15869714351, 15869845447, 15869976523, 15870107609, 15870238693, 15870369769, 15870500873, + 15870631949, 15870763037, 15870894113, 15871025207, 15871156339, 15871287413, 15871418543, + 15871549621, 15871680697, 15871811777, 15871942871, 15872073949, 15872205029, 15872336111, + 15872467207, 15872598281, 15872729357, 15872860439, 15872991521, 15873122593, 15873253673, + 15873384811, 15873515897, 15873646979, 15873778051, 15873909131, 15874040227, 15874171301, + 15874302391, 15874433473, 15874564547, 15874695623, 15874826701, 15874957783, 15875088863, + 15875219951, 15875351039, 15875482141, 15875613227, 15875744317, 15875875417, 15876006499, + 15876137603, 15876268687, 15876399863, 15876530941, 15876662017, 15876793133, 15876924227, + 15877055303, 15877186379, 15877317479, 15877448551, 15877579631, 15877710703, 15877841779, + 15877972853, 15878103937, 15878235049, 15878366149, 15878497231, 15878628307, 15878759399, + 15878890481, 15879021577, 15879152669, 15879283741, 15879414821, 15879545911, 15879677041, + 15879808127, 15879939199, 15880070279, 15880201361, 15880332499, 15880463611, 15880594699, + 15880725799, 15880856881, 15880987973, 15881119061, 15881250139, 15881381233, 15881512337, + 15881643509, 15881774603, 15881905681, 15882036773, 15882167879, 15882298963, 15882430061, + 15882561137, 15882692209, 15882823337, 15882954427, 15883085579, 15883216681, 15883347757, + 15883478869, 15883609967, 15883741057, 15883872143, 15884003243, 15884134363, 15884265457, + 15884396531, 15884527619, 15884658709, 15884789803, 15884920963, 15885052091, 15885183169, + 15885314257, 15885445403, 15885576479, 15885707573, 15885838691, 15885969773, 15886100941, + 15886232053, 15886363127, 15886494241, 15886625393, 15886756537, 15886887647, 15887018723, + 15887149823, 15887280943, 15887412029, 15887543141, 15887674217, 15887805293, 15887936369, + 15888067453, 15888198539, 15888329627, 15888460699, 15888591779, 15888722873, 15888854011, + 15888985103, 15889116209, 15889247317, 15889378391, 15889509469, 15889640561, 15889771661, + 15889902757, 15890033891, 15890164963, 15890296039, 15890427121, 15890558213, 15890689291, + 15890820389, 15890951507, 15891082601, 15891213683, 15891344761, 15891475879, 15891606971, + 15891738061, 15891869137, 15892000247, 15892131329, 15892262401, 15892393483, 15892524577, + 15892655651, 15892786727, 15892917829, 15893048903, 15893179987, 15893311097, 15893442181, + 15893573261, 15893704357, 15893835437, 15893966513, 15894097619, 15894228719, 15894359837, + 15894490921, 15894622019, 15894753113, 15894884219, 15895015291, 15895146373, 15895277467, + 15895408549, 15895539629, 15895670711, 15895801841, 15895932919, 15896064017, 15896195089, + 15896326177, 15896457253, 15896588329, 15896719453, 15896850601, 15896981687, 15897112799, + 15897243919, 15897375001, 15897506077, 15897637163, 15897768251, 15897899323, 15898030409, + 15898161509, 15898292581, 15898423661, 15898554757, 15898685861, 15898816933, 15898948031, + 15899079127, 15899210231, 15899341309, 15899472437, 15899603521, 15899734597, 15899865673, + 15899996771, 15900127849, 15900258929, 15900390001, 15900521113, 15900652193, 15900783271, + 15900914377, 15901045453, 15901176527, 15901307599, 15901438727, 15901569811, 15901700939, + 15901832033, 15901963313, 15902094419, 15902225491, 15902356571, 15902487649, 15902618723, + 15902749817, 15902880899, 15903012007, 15903143117, 15903274253, 15903405341, 15903536423, + 15903667499, 15903798611, 15903929683, 15904060793, 15904191881, 15904322963, 15904454039, + 15904585121, 15904716271, 15904847347, 15904978493, 15905109587, 15905240753, 15905371843, + 15905502917, 15905634001, 15905765077, 15905896187, 15906027259, 15906158357, 15906289429, + 15906420521, 15906551599, 15906682697, 15906813877, 15906944957, 15907076041, 15907207157, + 15907338259, 15907469339, 15907600411, 15907731503, 15907862657, 15907993811, 15908124917, + 15908256017, 15908387093, 15908518201, 15908649307, 15908780411, 15908911511, 15909042593, + 15909173701, 15909304777, 15909435877, 15909566983, 15909698059, 15909829163, 15909960239, + 15910091311, 15910222399, 15910353493, 15910484591, 15910615681, 15910746767, 15910877849, + 15911008921, 15911140013, 15911271097, 15911402219, 15911533307, 15911664413, 15911795519, + 15911926619, 15912057697, 15912188783, 15912319873, 15912450947, 15912582053, 15912713147, + 15912844219, 15912975347, 15913106459, 15913237531, 15913368613, 15913499713, 15913630807, + 15913761881, 15913892959, 15914024059, 15914155139, 15914286217, 15914417317, 15914548423, + 15914679497, 15914810573, 15914941699, 15915072773, 15915203869, 15915334949, 15915466037, + 15915597119, 15915728203, 15915859291, 15915990379, 15916121503, 15916252591, 15916383673, + 15916514753, 15916645831, 15916776907, 15916907989, 15917039077, 15917170151, 15917301223, + 15917432341, 15917563423, 15917694503, 15917825603, 15917956697, 15918087769, 15918218843, + 15918349943, 15918481021, 15918612097, 15918743171, 15918874247, 15919005337, 15919136459, + 15919267537, 15919398701, 15919529777, 15919660871, 15919791971, 15919923073, 15920054159, + 15920185271, 15920316343, 15920447437, 15920578549, 15920709647, 15920840723, 15920971921, + 15921103027, 15921234127, 15921365219, 15921496309, 15921627443, 15921758521, 15921889609, + 15922020703, 15922151779, 15922282897, 15922413977, 15922545077, 15922676179, 15922807259, + 15922938359, 15923069467, 15923200543, 15923331617, 15923462689, 15923593783, 15923724893, + 15923856029, 15923987129, 15924118219, 15924249311, 15924380393, 15924511483, 15924642563, + 15924773653, 15924904729, 15925035881, 15925166969, 15925298069, 15925429153, 15925560227, + 15925691311, 15925822391, 15925953493, 15926084597, 15926215673, 15926346749, 15926477849, + 15926608939, 15926740019, 15926871091, 15927002171, 15927133253, 15927264389, 15927395527, + 15927526621, 15927657701, 15927788777, 15927919907, 15928051001, 15928182097, 15928313201, + 15928444309, 15928575413, 15928706491, 15928837609, 15928968689, 15929099803, 15929230879, + 15929361977, 15929493067, 15929624201, 15929755277, 15929886377, 15930017513, 15930148603, + 15930279679, 15930410773, 15930541871, 15930672943, 15930804061, 15930935143, 15931066223, + 15931197307, 15931328423, 15931459513, 15931590589, 15931721681, 15931852759, 15931983839, + 15932114911, 15932246009, 15932377103, 15932508191, 15932639263, 15932770339, 15932901437, + 15933032551, 15933163661, 15933294739, 15933425819, 15933556907, 15933688003, 15933819103, + 15933950203, 15934081277, 15934212367, 15934343459, 15934474541, 15934605613, 15934736689, + 15934867763, 15934998853, 15935129927, 15935261009, 15935392103, 15935523187, 15935654263, + 15935785343, 15935916421, 15936047531, 15936178627, 15936309731, 15936440809, 15936571891, + 15936702997, 15936834073, 15936965153, 15937096277, 15937227349, 15937358443, 15937489543, + 15937620637, 15937751789, 15937882871, 15938013997, 15938145073, 15938276183, 15938407321, + 15938538409, 15938669503, 15938800589, 15938931677, 15939062773, 15939193849, 15939324923, + 15939456007, 15939587101, 15939718187, 15939849259, 15939980339, 15940111417, 15940242517, + 15940373591, 15940504663, 15940635743, 15940766819, 15940897901, 15941028997, 15941160071, + 15941291161, 15941422247, 15941553349, 15941684441, 15941815531, 15941946611, 15942077731, + 15942208819, 15942339901, 15942470983, 15942602063, 15942733159, 15942864271, 15942995347, + 15943126427, 15943257503, 15943388581, 15943519679, 15943650757, 15943781837, 15943912937, + 15944044037, 15944175113, 15944306207, 15944437279, 15944568359, 15944699443, 15944830543, + 15944961629, 15945092717, 15945223793, 15945354941, 15945486017, 15945617101, 15945748183, + 15945879281, 15946010359, 15946141433, 15946272509, 15946403587, 15946534697, 15946665803, + 15946796891, 15946927987, 15947059061, 15947190151, 15947321233, 15947452307, 15947583383, + 15947714459, 15947845531, 15947976617, 15948107689, 15948238799, 15948369971, 15948501059, + 15948632201, 15948763297, 15948894371, 15949025453, 15949156549, 15949287649, 15949418743, + 15949549831, 15949680917, 15949811989, 15949943089, 15950074171, 15950205251, 15950336323, + 15950467397, 15950598557, 15950729671, 15950860763, 15950991851, 15951122923, 15951254083, + 15951385181, 15951516263, 15951647347, 15951778459, 15951909539, 15952040633, 15952171717, + 15952302833, 15952433911, 15952564993, 15952696073, 15952827169, 15952958279, 15953089393, + 15953220473, 15953351581, 15953482661, 15953613737, 15953744827, 15953875933, 15954007007, + 15954138133, 15954269269, 15954400361, 15954531451, 15954662587, 15954793661, 15954924757, + 15955055833, 15955186921, 15955318033, 15955449113, 15955580191, 15955711349, 15955842421, + 15955973497, 15956104573, 15956235679, 15956366759, 15956497861, 15956628943, 15956760047, + 15956891123, 15957022201, 15957153299, 15957284381, 15957415457, 15957546559, 15957677651, + 15957808729, 15957939821, 15958070917, 15958201991, 15958333081, 15958464163, 15958595269, + 15958726349, 15958857461, 15958988569, 15959119651, 15959250731, 15959381803, 15959512913, + 15959644031, 15959775103, 15959906213, 15960037307, 15960168403, 15960299479, 15960430553, + 15960561709, 15960692801, 15960823883, 15960954973, 15961086077, 15961217161, 15961348241, + 15961479319, 15961610407, 15961741511, 15961872671, 15962003753, 15962134831, 15962265953, + 15962397053, 15962528171, 15962659243, 15962790331, 15962921411, 15963052493, 15963183589, + 15963314677, 15963445759, 15963576887, 15963708011, 15963839147, 15963970219, 15964101347, + 15964232447, 15964363543, 15964494617, 15964625723, 15964756811, 15964887893, 15965018977, + 15965150107, 15965281207, 15965412313, 15965543389, 15965674463, 15965805587, 15965936663, + 15966067753, 15966198841, 15966329917, 15966461029, 15966592163, 15966723263, 15966854339, + 15966985417, 15967116491, 15967247599, 15967378681, 15967509889, 15967640993, 15967772069, + 15967903141, 15968034239, 15968165329, 15968296441, 15968427521, 15968558621, 15968689697, + 15968820779, 15968951857, 15969082933, 15969214021, 15969345109, 15969476209, 15969607327, + 15969738401, 15969869477, 15970000559, 15970131631, 15970262719, 15970393807, 15970524887, + 15970655963, 15970787047, 15970918121, 15971049197, 15971180273, 15971311357, 15971442433, + 15971573507, 15971704607, 15971835679, 15971966753, 15972097837, 15972228917, 15972359993, + 15972491081, 15972622157, 15972753233, 15972884309, 15973015393, 15973146493, 15973277597, + 15973408669, 15973539773, 15973670863, 15973801937, 15973933009, 15974064143, 15974195239, + 15974326339, 15974457437, 15974588519, 15974719591, 15974850691, 15974981779, 15975112871, + 15975243979, 15975375079, 15975506177, 15975637253, 15975768331, 15975899417, 15976030501, + 15976161611, 15976292699, 15976423789, 15976554887, 15976685981, 15976817053, 15976948139, + 15977079289, 15977210399, 15977341477, 15977472587, 15977603687, 15977734793, 15977865889, + 15977996999, 15978128077, 15978259169, 15978390289, 15978521381, 15978652511, 15978783637, + 15978914713, 15979045813, 15979176893, 15979307969, 15979439117, 15979570193, 15979701277, + 15979832359, 15979963477, 15980094553, 15980225629, 15980356703, 15980487811, 15980618887, + 15980749969, 15980881061, 15981012149, 15981143231, 15981274327, 15981405421, 15981536513, + 15981667591, 15981798709, 15981929833, 15982060973, 15982192081, 15982323173, 15982454263, + 15982585369, 15982716523, 15982847611, 15982978699, 15983109803, 15983240879, 15983372003, + 15983503079, 15983634167, 15983765249, 15983896333, 15984027439, 15984158537, 15984289613, + 15984420707, 15984551837, 15984682937, 15984814031, 15984945103, 15985076179, 15985207267, + 15985338349, 15985469449, 15985600541, 15985731617, 15985862693, 15985993781, 15986124877, + 15986256019, 15986387099, 15986518189, 15986649269, 15986780353, 15986911433, 15987042553, + 15987173641, 15987304721, 15987435803, 15987566879, 15987697981, 15987829063, 15987960187, + 15988091267, 15988222343, 15988353461, 15988484539, 15988615613, 15988746689, 15988877797, + 15989008873, 15989139997, 15989271101, 15989402183, 15989533279, 15989664391, 15989795491, + 15989926583, 15990057661, 15990188741, 15990319817, 15990450919, 15990582011, 15990713083, + 15990844157, 15990975271, 15991106347, 15991237441, 15991368517, 15991499611, 15991630729, + 15991761817, 15991892909, 15992023997, 15992155073, 15992286161, 15992417239, 15992548331, + 15992679407, 15992810521, 15992941603, 15993072713, 15993203789, 15993334891, 15993465979, + 15993597091, 15993728213, 15993859307, 15993990391, 15994121471, 15994252591, 15994383677, + 15994514843, 15994645963, 15994777061, 15994908179, 15995039297, 15995170391, 15995301463, + 15995432581, 15995563657, 15995694731, 15995825831, 15995956903, 15996087979, 15996219091, + 15996350179, 15996481309, 15996612389, 15996743491, 15996874609, 15997005683, 15997136759, + 15997267837, 15997398929, 15997530011, 15997661083, 15997792169, 15997923251, 15998054329, + 15998185499, 15998316571, 15998447653, 15998578733, 15998709827, 15998840903, 15998971997, + 15999103139, 15999234241, 15999365341, 15999496507, 15999627583, 15999758669, 15999889747, + 16000020857, 16000151957, 16000283051, 16000414169, 16000545283, 16000676357, 16000807429, + 16000938511, 16001069603, 16001200681, 16001331757, 16001462899, 16001593991, 16001725093, + 16001856251, 16001987327, 16002118403, 16002249493, 16002380593, 16002511667, 16002642757, + 16002773879, 16002904979, 16003036061, 16003167211, 16003298287, 16003429363, 16003560439, + 16003691533, 16003822669, 16003953751, 16004084849, 16004215933, 16004347033, 16004478109, + 16004609191, 16004740273, 16004871353, 16005002459, 16005133567, 16005264641, 16005395729, + 16005526847, 16005657919, 16005789043, 16005920123, 16006051219, 16006182299, 16006313371, + 16006444477, 16006575577, 16006706663, 16006837739, 16006968833, 16007099959, 16007231047, + 16007362177, 16007493289, 16007624377, 16007755471, 16007886553, 16008017629, 16008148711, + 16008279839, 16008410939, 16008542023, 16008673111, 16008804187, 16008935263, 16009066343, + 16009197433, 16009328521, 16009459619, 16009590731, 16009721837, 16009852909, 16009984009, + 16010115119, 16010246227, 16010377307, 16010508379, 16010639453, 16010770537, 16010901637, + 16011032717, 16011163793, 16011294869, 16011425971, 16011557047, 16011688127, 16011819199, + 16011950299, 16012081381, 16012212481, 16012343617, 16012474711, 16012605787, 16012736893, + 16012867967, 16012999069, 16013130223, 16013261311, 16013392477, 16013523563, 16013654687, + 16013785769, 16013916859, 16014047999, 16014179123, 16014310219, 16014441293, 16014572383, + 16014703457, 16014834533, 16014965611, 16015096717, 16015227797, 16015358897, 16015489991, + 16015621081, 16015752161, 16015883249, 16016014349, 16016145503, 16016276579, 16016407669, + 16016538751, 16016669831, 16016800909, 16016931991, 16017063071, 16017194159, 16017325243, + 16017456337, 16017587413, 16017718511, 16017849583, 16017980663, 16018111741, 16018242839, + 16018373951, 16018505029, 16018636187, 16018767263, 16018898383, 16019029459, 16019160559, + 16019291677, 16019422759, 16019553833, 16019684911, 16019816017, 16019947103, 16020078187, + 16020209263, 16020340339, 16020471427, 16020602513, 16020733667, 16020864749, 16020995863, + 16021126939, 16021258013, 16021389119, 16021520197, 16021651277, 16021782349, 16021913461, + 16022044561, 16022175643, 16022306743, 16022437829, 16022568907, 16022699983, 16022831057, + 16022962129, 16023093211, 16023224323, 16023355399, 16023486473, 16023617549, 16023748639, + 16023879721, 16024010837, 16024141937, 16024273037, 16024404113, 16024535227, 16024666303, + 16024797379, 16024928503, 16025059577, 16025190661, 16025321749, 16025452841, 16025583913, + 16025714987, 16025846231, 16025977349, 16026108493, 16026239573, 16026370673, 16026501791, + 16026632893, 16026763981, 16026895081, 16027026163, 16027157243, 16027288363, 16027419449, + 16027550531, 16027681603, 16027812679, 16027943761, 16028074847, 16028205923, 16028337007, + 16028468107, 16028599231, 16028730329, 16028861489, 16028992571, 16029123673, 16029254749, + 16029385831, 16029516911, 16029648043, 16029779201, 16029910307, 16030041439, 16030172539, + 16030303631, 16030434731, 16030565839, 16030696939, 16030828019, 16030959101, 16031090197, + 16031221273, 16031352347, 16031483423, 16031614519, 16031745593, 16031876671, 16032007763, + 16032138869, 16032269947, 16032401029, 16032532111, 16032663209, 16032794317, 16032925397, + 16033056511, 16033187591, 16033318667, 16033449739, 16033580819, 16033711933, 16033843043, + 16033974127, 16034105233, 16034236319, 16034367403, 16034498477, 16034629577, 16034760653, + 16034891771, 16035022909, 16035154027, 16035285109, 16035416227, 16035547331, 16035678413, + 16035809519, 16035940619, 16036071731, 16036202813, 16036333891, 16036464967, 16036596047, + 16036727123, 16036858199, 16036989313, 16037120389, 16037251471, 16037382553, 16037513633, + 16037644717, 16037775811, 16037906933, 16038038041, 16038169139, 16038300211, 16038431303, + 16038562403, 16038693491, 16038824569, 16038955649, 16039086727, 16039217809, 16039348981, + 16039480063, 16039611149, 16039742237, 16039873313, 16040004389, 16040135479, 16040266553, + 16040397641, 16040528719, 16040659799, 16040790889, 16040922061, 16041053153, 16041184231, + 16041315337, 16041446411, 16041577543, 16041708619, 16041839701, 16041970783, 16042101863, + 16042232959, 16042364033, 16042495109, 16042626287, 16042757371, 16042888453, 16043019533, + 16043150633, 16043281741, 16043412877, 16043543951, 16043675033, 16043806109, 16043937211, + 16044068309, 16044199387, 16044330503, 16044461591, 16044592679, 16044723767, 16044854863, + 16044985939, 16045117061, 16045248137, 16045379213, 16045510291, 16045641377, 16045772459, + 16045903589, 16046034661, 16046165783, 16046296873, 16046427961, 16046559059, 16046690171, + 16046821253, 16046952347, 16047083431, 16047214571, 16047345659, 16047476737, 16047607819, + 16047738911, 16047870019, 16048001111, 16048132189, 16048263299, 16048394423, 16048525523, + 16048656619, 16048787693, 16048918777, 16049049853, 16049180929, 16049312063, 16049443139, + 16049574223, 16049705311, 16049836393, 16049967467, 16050098557, 16050229639, 16050360727, + 16050491867, 16050622967, 16050754081, 16050885163, 16051016281, 16051147381, 16051278497, + 16051409603, 16051540711, 16051671803, 16051802881, 16051934009, 16052065097, 16052196197, + 16052327303, 16052458381, 16052589463, 16052720539, 16052851627, 16052982721, 16053113809, + 16053244931, 16053376057, 16053507137, 16053638221, 16053769301, 16053900389, 16054031479, + 16054162559, 16054293643, 16054424717, 16054555793, 16054686881, 16054818001, 16054949077, + 16055080157, 16055211241, 16055342357, 16055473549, 16055604659, 16055735789, 16055866861, + 16055997949, 16056129107, 16056260261, 16056391349, 16056522473, 16056653549, 16056784663, + 16056915737, 16057046869, 16057178041, 16057309123, 16057440197, 16057571377, 16057702477, + 16057833581, 16057964701, 16058095777, 16058226851, 16058357923, 16058489011, 16058620091, + 16058751169, 16058882267, 16059013343, 16059144449, 16059275543, 16059406661, 16059537743, + 16059668827, 16059799901, 16059930989, 16060062079, 16060193159, 16060324243, 16060455329, + 16060586401, 16060717483, 16060848563, 16060979659, 16061110759, 16061241851, 16061372939, + 16061504027, 16061635129, 16061766251, 16061897333, 16062028427, 16062159511, 16062290633, + 16062421717, 16062552809, 16062683881, 16062814981, 16062946073, 16063077179, 16063208261, + 16063339343, 16063470421, 16063601501, 16063732579, 16063863659, 16063994741, 16064125813, + 16064256893, 16064387987, 16064519071, 16064650153, 16064781251, 16064912323, 16065043409, + 16065174493, 16065305587, 16065436663, 16065567769, 16065698903, 16065829987, 16065961097, + 16066092179, 16066223263, 16066354363, 16066485439, 16066616521, 16066747597, 16066878673, + 16067009801, 16067140907, 16067272009, 16067403083, 16067534177, 16067665253, 16067796337, + 16067927431, 16068058519, 16068189593, 16068320677, 16068451757, 16068582833, 16068713909, + 16068844997, 16068976081, 16069107167, 16069238249, 16069369361, 16069500443, 16069631527, + 16069762627, 16069893709, 16070024783, 16070155859, 16070286931, 16070418029, 16070549129, + 16070680231, 16070811307, 16070942389, 16071073477, 16071204557, 16071335633, 16071466709, + 16071597791, 16071728903, 16071859981, 16071991093, 16072122179, 16072253261, 16072384333, + 16072515421, 16072646543, 16072777631, 16072908703, 16073039783, 16073170877, 16073301953, + 16073433029, 16073564113, 16073695217, 16073826313, 16073957387, 16074088463, 16074219619, + 16074350693, 16074481769, 16074612857, 16074743947, 16074875027, 16075006109, 16075137229, + 16075268327, 16075399409, 16075530481, 16075661629, 16075792703, 16075923803, 16076054881, + 16076185991, 16076317067, 16076448139, 16076579243, 16076710333, 16076841413, 16076972491, + 16077103573, 16077234689, 16077365797, 16077496871, 16077627989, 16077759091, 16077890209, + 16078021327, 16078152413, 16078283489, 16078414577, 16078545673, 16078676767, 16078807841, + 16078938913, 16079069989, 16079201063, 16079332147, 16079463287, 16079594387, 16079725471, + 16079856571, 16079987681, 16080118757, 16080249851, 16080380959, 16080512033, 16080643151, + 16080774223, 16080905363, 16081036451, 16081167593, 16081298693, 16081429799, 16081560871, + 16081691947, 16081823057, 16081954157, 16082085251, 16082216323, 16082347409, 16082478481, + 16082609617, 16082740691, 16082871769, 16083002851, 16083133931, 16083265019, 16083396151, + 16083527237, 16083658319, 16083789391, 16083920477, 16084051559, 16084182649, 16084313743, + 16084444879, 16084576003, 16084707091, 16084838233, 16084969321, 16085100397, 16085231521, + 16085362621, 16085493703, 16085624837, 16085755909, 16085887001, 16086018107, 16086149179, + 16086280253, 16086411361, 16086542443, 16086673529, 16086804641, 16086935723, 16087066823, + 16087197967, 16087329061, 16087460153, 16087591237, 16087722317, 16087853407, 16087984483, + 16088115559, 16088246659, 16088377759, 16088508859, 16088639939, 16088771033, 16088902169, + 16089033241, 16089164317, 16089295433, 16089426523, 16089557623, 16089688697, 16089819769, + 16089950843, 16090081921, 16090213003, 16090344119, 16090475207, 16090606289, 16090737389, + 16090868477, 16090999577, 16091130689, 16091261777, 16091392883, 16091523967, 16091655077, + 16091786159, 16091917277, 16092048353, 16092179449, 16092310523, 16092441613, 16092572701, + 16092703789, 16092834887, 16092965981, 16093097077, 16093228157, 16093359241, 16093490327, + 16093621457, 16093752569, 16093883693, 16094014793, 16094145869, 16094276951, 16094408027, + 16094539127, 16094670209, 16094801399, 16094932537, 16095063617, 16095194741, 16095325849, + 16095456931, 16095588029, 16095719149, 16095850237, 16095981313, 16096112453, 16096243589, + 16096374677, 16096505819, 16096636901, 16096767979, 16096899059, 16097030137, 16097161231, + 16097292311, 16097423393, 16097554483, 16097685559, 16097816641, 16097947783, 16098078883, + 16098209957, 16098341059, 16098472211, 16098603299, 16098734383, 16098865459, 16098996547, + 16099127621, 16099258709, 16099389781, 16099520867, 16099651949, 16099783033, 16099914113, + 16100045201, 16100176289, 16100307371, 16100438477, 16100569561, 16100700667, 16100831753, + 16100962841, 16101093913, 16101225001, 16101356099, 16101487183, 16101618317, 16101749399, + 16101880481, 16102011559, 16102142633, 16102273763, 16102404859, 16102535963, 16102667051, + 16102798139, 16102929217, 16103060293, 16103191381, 16103322457, 16103453549, 16103584639, + 16103715743, 16103846821, 16103977913, 16104109001, 16104240079, 16104371189, 16104502289, + 16104633383, 16104764491, 16104895567, 16105026647, 16105157729, 16105288811, 16105419899, + 16105550977, 16105682053, 16105813147, 16105944221, 16106075299, 16106206381, 16106337473, + 16106468597, 16106599669, 16106730797, 16106861873, 16106992963, 16107124037, 16107255119, + 16107386203, 16107517291, 16107648383, 16107779461, 16107910603, 16108041683, 16108172771, + 16108303847, 16108434931, 16108566017, 16108697153, 16108828237, 16108959313, 16109090407, + 16109221523, 16109352613, 16109483693, 16109614769, 16109745881, 16109876987, 16110008071, + 16110139153, 16110270227, 16110401327, 16110532423, 16110663523, 16110794603, 16110925697, + 16111056823, 16111187933, 16111319009, 16111450087, 16111581193, 16111712297, 16111843387, + 16111974481, 16112105573, 16112236661, 16112367737, 16112498851, 16112629927, 16112761001, + 16112892073, 16113023149, 16113154249, 16113285337, 16113416453, 16113547543, 16113678649, + 16113809743, 16113940837, 16114071913, 16114202989, 16114334077, 16114465151, 16114596247, + 16114727341, 16114858447, 16114989523, 16115120597, 16115251693, 16115382769, 16115513857, + 16115644939, 16115776067, 16115907149, 16116038227, 16116169301, 16116300391, 16116431483, + 16116562577, 16116693661, 16116824743, 16116955817, 16117086911, 16117217983, 16117349063, + 16117480157, 16117611241, 16117742317, 16117873393, 16118004527, 16118135599, 16118266693, + 16118397793, 16118528939, 16118660023, 16118791147, 16118922221, 16119053297, 16119184391, + 16119315521, 16119446599, 16119577711, 16119708799, 16119839887, 16119970981, 16120102133, + 16120233209, 16120364311, 16120495387, 16120626493, 16120757591, 16120888681, 16121019779, + 16121150861, 16121281961, 16121413043, 16121544139, 16121675221, 16121806301, 16121937427, + 16122068519, 16122199591, 16122330671, 16122461779, 16122592853, 16122723943, 16122855017, + 16122986101, 16123117181, 16123248287, 16123379359, 16123510433, 16123641529, 16123772629, + 16123903717, 16124034791, 16124165903, 16124296997, 16124428081, 16124559161, 16124690251, + 16124821331, 16124952439, 16125083537, 16125214669, 16125345749, 16125476831, 16125607903, + 16125738983, 16125870107, 16126001179, 16126132261, 16126263371, 16126394489, 16126525579, + 16126656653, 16126787731, 16126918817, 16127049889, 16127180983, 16127312093, 16127443187, + 16127574269, 16127705411, 16127836507, 16127967593, 16128098669, 16128229757, 16128360851, + 16128491947, 16128623033, 16128754111, 16128885247, 16129016327, 16129147421, 16129278523, + 16129409627, 16129540729, 16129671809, 16129802993, 16129934131, 16130065229, 16130196301, + 16130327377, 16130458451, 16130589577, 16130720653, 16130851757, 16130982869, 16131113941, + 16131245021, 16131376139, 16131507239, 16131638311, 16131769391, 16131900469, 16132031551, + 16132162637, 16132293787, 16132424863, 16132555949, 16132687033, 16132818133, 16132949219, + 16133080303, 16133211377, 16133342483, 16133473567, 16133604649, 16133735741, 16133866817, + 16133997941, 16134129013, 16134260089, 16134391181, 16134522289, 16134653363, 16134784447, + 16134915551, 16135046623, 16135177753, 16135308829, 16135439909, 16135571017, 16135702091, + 16135833167, 16135964329, 16136095453, 16136226529, 16136357609, 16136488681, 16136619773, + 16136750857, 16136881939, 16137013021, 16137144139, 16137275221, 16137406309, 16137537391, + 16137668507, 16137799591, 16137930667, 16138061759, 16138192843, 16138323919, 16138455031, + 16138586137, 16138717213, 16138848317, 16138979447, 16139110571, 16139241653, 16139372747, + 16139503837, 16139634923, 16139766001, 16139897083, 16140028183, 16140159317, 16140290471, + 16140421597, 16140552677, 16140683773, 16140814873, 16140945959, 16141077031, 16141208137, + 16141339219, 16141470299, 16141601383, 16141732471, 16141863547, 16141994681, 16142125777, + 16142256859, 16142387951, 16142519027, 16142650109, 16142781203, 16142912281, 16143043369, + 16143174461, 16143305537, 16143436613, 16143567697, 16143698773, 16143829847, 16143960929, + 16144092001, 16144223083, 16144354199, 16144485277, 16144616351, 16144747447, 16144878539, + 16145009611, 16145140723, 16145271809, 16145402891, 16145533967, 16145665049, 16145796167, + 16145927267, 16146058343, 16146189431, 16146320543, 16146451621, 16146582707, 16146713783, + 16146844867, 16146976037, 16147107149, 16147238273, 16147369349, 16147500427, 16147631503, + 16147762597, 16147893677, 16148024773, 16148155847, 16148286953, 16148418037, 16148549117, + 16148680199, 16148811277, 16148942377, 16149073609, 16149204703, 16149335777, 16149466867, + 16149597983, 16149729073, 16149860171, 16149991271, 16150122371, 16150253443, 16150384531, + 16150515629, 16150646711, 16150777807, 16150908881, 16151039981, 16151171083, 16151302163, + 16151433293, 16151564371, 16151695447, 16151826547, 16151957671, 16152088759, 16152219833, + 16152350909, 16152481991, 16152613063, 16152744137, 16152875267, 16153006391, 16153137463, + 16153268597, 16153399673, 16153530749, 16153661833, 16153792931, 16153924021, 16154055101, + 16154186173, 16154317247, 16154448329, 16154579401, 16154710487, 16154841559, 16154972651, + 16155103729, 16155234841, 16155365953, 16155497027, 16155628103, 16155759203, 16155890287, + 16156021373, 16156152497, 16156283597, 16156414733, 16156545871, 16156676969, 16156808051, + 16156939129, 16157070211, 16157201287, 16157332391, 16157463463, 16157594569, 16157725657, + 16157856731, 16157987843, 16158118919, 16158250021, 16158381097, 16158512203, 16158643283, + 16158774367, 16158905459, 16159036547, 16159167637, 16159298741, 16159429817, 16159560889, + 16159691971, 16159823083, 16159954159, 16160085241, 16160216321, 16160347403, 16160478479, + 16160609551, 16160740663, 16160871737, 16161002939, 16161134047, 16161265139, 16161396217, + 16161527297, 16161658369, 16161789487, 16161920591, 16162051721, 16162182797, 16162313873, + 16162445011, 16162576121, 16162707217, 16162838309, 16162969391, 16163100463, 16163231537, + 16163362609, 16163493701, 16163624863, 16163755987, 16163887073, 16164018187, 16164149273, + 16164280367, 16164411469, 16164542591, 16164673663, 16164804751, 16164935873, 16165066949, + 16165198073, 16165329163, 16165460237, 16165591313, 16165722389, 16165853519, 16165984661, + 16166115767, 16166246839, 16166377933, 16166509013, 16166640101, 16166771209, 16166902289, + 16167033383, 16167164459, 16167295537, 16167426617, 16167557711, 16167688783, 16167819869, + 16167950957, 16168082057, 16168213157, 16168344287, 16168475381, 16168606457, 16168737569, + 16168868641, 16168999739, 16169130833, 16169261929, 16169393021, 16169524093, 16169655167, + 16169786327, 16169917427, 16170048599, 16170179723, 16170310823, 16170441901, 16170572989, + 16170704083, 16170835157, 16170966233, 16171097311, 16171228387, 16171359473, 16171490551, + 16171621633, 16171752719, 16171883797, 16172014897, 16172146007, 16172277091, 16172408249, + 16172539333, 16172670419, 16172801497, 16172932579, 16173063671, 16173194743, 16173325867, + 16173456967, 16173588047, 16173719119, 16173850213, 16173981293, 16174112411, 16174243483, + 16174374607, 16174505701, 16174636781, 16174767881, 16174898977, 16175030057, 16175161153, + 16175292239, 16175423317, 16175554453, 16175685529, 16175816609, 16175947691, 16176078769, + 16176209867, 16176340951, 16176472063, 16176603143, 16176734263, 16176865351, 16176996457, + 16177127537, 16177258619, 16177389751, 16177520831, 16177651907, 16177782979, 16177914253, + 16178045327, 16178176409, 16178307491, 16178438593, 16178569669, 16178700749, 16178831869, + 16178962967, 16179094067, 16179225187, 16179356261, 16179487343, 16179618421, 16179749501, + 16179880601, 16180011713, 16180142791, 16180273883, 16180404973, 16180536083, 16180667177, + 16180798273, 16180929361, 16181060437, 16181191547, 16181322683, 16181453777, 16181584849, + 16181715943, 16181847023, 16181978101, 16182109253, 16182240377, 16182371483, 16182502577, + 16182633673, 16182764837, 16182895909, 16183026989, 16183158071, 16183289149, 16183420289, + 16183551389, 16183682479, 16183813553, 16183944643, 16184075807, 16184206891, 16184337973, + 16184469079, 16184600161, 16184731237, 16184862371, 16184993449, 16185124531, 16185255607, + 16185386717, 16185517853, 16185648931, 16185780071, 16185911149, 16186042289, 16186173373, + 16186304471, 16186435561, 16186566667, 16186697749, 16186828843, 16186959961, 16187091043, + 16187222131, 16187353223, 16187484317, 16187615419, 16187746493, 16187877577, 16188008653, + 16188139729, 16188270817, 16188401893, 16188532979, 16188664061, 16188795137, 16188926263, + 16189057427, 16189188517, 16189319611, 16189450721, 16189581817, 16189712899, 16189844029, + 16189975117, 16190106263, 16190237341, 16190368417, 16190499509, 16190630581, 16190761667, + 16190892761, 16191023897, 16191154997, 16191286109, 16191417239, 16191548353, 16191679463, + 16191810559, 16191941653, 16192072777, 16192203851, 16192334927, 16192466021, 16192597097, + 16192728179, 16192859273, 16192990349, 16193121463, 16193252549, 16193383621, 16193514697, + 16193645771, 16193776849, 16193907929, 16194039011, 16194170137, 16194301231, 16194432307, + 16194563381, 16194694541, 16194825631, 16194956711, 16195087877, 16195218967, 16195350151, + 16195481261, 16195612333, 16195743409, 16195874521, 16196005601, 16196136673, 16196267771, + 16196398871, 16196529977, 16196661071, 16196792173, 16196923273, 16197054373, 16197185503, + 16197316589, 16197447677, 16197578773, 16197709849, 16197840949, 16197972029, 16198103101, + 16198234223, 16198365299, 16198496399, 16198627477, 16198758599, 16198889677, 16199020777, + 16199151851, 16199282929, 16199414039, 16199545133, 16199676209, 16199807293, 16199938387, + 16200069461, 16200200539, 16200331649, 16200462743, 16200593861, 16200724933, 16200856013, + 16200987109, 16201118203, 16201249279, 16201380383, 16201511483, 16201642559, 16201773641, + 16201904717, 16202035831, 16202166949, 16202298029, 16202429119, 16202560207, 16202691283, + 16202822399, 16202953471, 16203084553, 16203215629, 16203346703, 16203477781, 16203608887, + 16203739963, 16203871069, 16204002167, 16204133249, 16204264333, 16204395409, 16204526483, + 16204657589, 16204788683, 16204919761, 16205050843, 16205181931, 16205313031, 16205444161, + 16205575273, 16205706359, 16205837471, 16205968553, 16206099653, 16206230737, 16206361811, + 16206492899, 16206623999, 16206755077, 16206886217, 16207017289, 16207148381, 16207279453, + 16207410559, 16207541653, 16207672753, 16207803839, 16207934923, 16208066057, 16208197163, + 16208328277, 16208459387, 16208590499, 16208721611, 16208852687, 16208983793, 16209114917, + 16209245989, 16209377089, 16209508169, 16209639287, 16209770359, 16209901439, 16210032511, + 16210163609, 16210294687, 16210425767, 16210556849, 16210687921, 16210818997, 16210950071, + 16211081149, 16211212247, 16211343341, 16211474437, 16211605511, 16211736613, 16211867717, + 16211998807, 16212129887, 16212260963, 16212392041, 16212523121, 16212654193, 16212785273, + 16212916397, 16213047517, 16213178617, 16213309727, 16213440799, 16213571879, 16213702957, + 16213834093, 16213965193, 16214096281, 16214227363, 16214358443, 16214489527, 16214620601, + 16214751731, 16214882807, 16215013891, 16215144997, 16215276083, 16215407171, 16215538271, + 16215669359, 16215800431, 16215931561, 16216062671, 16216193783, 16216324903, 16216455979, + 16216587109, 16216718207, 16216849289, 16216980401, 16217111473, 16217242607, 16217373691, + 16217504819, 16217635909, 16217766991, 16217898083, 16218029227, 16218160331, 16218291407, + 16218422513, 16218553607, 16218684689, 16218815771, 16218946847, 16219077943, 16219209029, + 16219340113, 16219471187, 16219602307, 16219733441, 16219864513, 16219995599, 16220126687, + 16220257769, 16220388853, 16220519929, 16220651003, 16220782093, 16220913167, 16221044243, + 16221175331, 16221306407, 16221437489, 16221568567, 16221699661, 16221830789, 16221961891, + 16222092977, 16222224071, 16222355203, 16222486327, 16222617401, 16222748533, 16222879609, + 16223010689, 16223141813, 16223272909, 16223403997, 16223535109, 16223666191, 16223797307, + 16223928401, 16224059479, 16224190571, 16224321653, 16224452743, 16224583849, 16224714943, + 16224846023, 16224977137, 16225108213, 16225239361, 16225370443, 16225501529, 16225632613, + 16225763731, 16225894819, 16226025899, 16226156977, 16226288063, 16226419171, 16226550251, + 16226681381, 16226812457, 16226943587, 16227074663, 16227205747, 16227336883, 16227467983, + 16227599071, 16227730147, 16227861229, 16227992317, 16228123411, 16228254529, 16228385617, + 16228516691, 16228647767, 16228778843, 16228909943, 16229041027, 16229172103, 16229303177, + 16229434253, 16229565329, 16229696423, 16229827541, 16229958623, 16230089717, 16230220801, + 16230351913, 16230483001, 16230614083, 16230745177, 16230876253, 16231007369, 16231138447, + 16231269529, 16231400609, 16231531691, 16231662809, 16231793891, 16231924993, 16232056069, + 16232187161, 16232318237, 16232449349, 16232580439, 16232711533, 16232842609, 16232973739, + 16233104813, 16233235891, 16233366973, 16233498079, 16233629189, 16233760267, 16233891397, + 16234022489, 16234153567, 16234284641, 16234415783, 16234546897, 16234678039, 16234809119, + 16234940269, 16235071399, 16235202491, 16235333573, 16235464673, 16235595767, 16235726851, + 16235857933, 16235989013, 16236120091, 16236251167, 16236382259, 16236513331, 16236644419, + 16236775537, 16236906629, 16237037797, 16237168873, 16237299977, 16237431083, 16237562161, + 16237693261, 16237824367, 16237955477, 16238086561, 16238217637, 16238348717, 16238479819, + 16238610917, 16238742011, 16238873129, 16239004211, 16239135293, 16239266411, 16239397483, + 16239528559, 16239659641, 16239790729, 16239921853, 16240052953, 16240184027, 16240315109, + 16240446181, 16240577263, 16240708339, 16240839451, 16240970549, 16241101621, 16241232701, + 16241363849, 16241494963, 16241626069, 16241757151, 16241888239, 16242019327, 16242150401, + 16242281483, 16242412591, 16242543671, 16242674743, 16242805819, 16242936949, 16243068041, + 16243199129, 16243330277, 16243461371, 16243592447, 16243723537, 16243854629, 16243985729, + 16244116813, 16244247893, 16244378977, 16244510053, 16244641129, 16244772227, 16244903387, + 16245034537, 16245165613, 16245296687, 16245427777, 16245558859, 16245689951, 16245821089, + 16245952187, 16246083263, 16246214351, 16246345471, 16246476563, 16246607653, 16246738751, + 16246869833, 16247000927, 16247132017, 16247263093, 16247394167, 16247525251, 16247656331, + 16247787407, 16247918501, 16248049619, 16248180721, 16248311803, 16248442877, 16248574021, + 16248705181, 16248836291, 16248967373, 16249098499, 16249229611, 16249360753, 16249491833, + 16249622923, 16249753997, 16249885097, 16250016193, 16250147279, 16250278361, 16250409449, + 16250540531, 16250671627, 16250802719, 16250933807, 16251064901, 16251196037, 16251327119, + 16251458221, 16251589301, 16251720377, 16251851467, 16251982559, 16252113637, 16252244711, + 16252375787, 16252506863, 16252637969, 16252769053, 16252900187, 16253031269, 16253162347, + 16253293447, 16253424599, 16253555677, 16253686751, 16253817823, 16253948899, 16254080027, + 16254211117, 16254342191, 16254473281, 16254604363, 16254735437, 16254866513, 16254997607, + 16255128679, 16255259759, 16255390847, 16255522033, 16255653109, 16255784189, 16255915279, + 16256046377, 16256177471, 16256308543, 16256439623, 16256570713, 16256701837, 16256832959, + 16256964049, 16257095131, 16257226211, 16257357301, 16257488389, 16257619517, 16257750611, + 16257881699, 16258012831, 16258143917, 16258274993, 16258406071, 16258537147, 16258668221, + 16258799309, 16258930381, 16259061499, 16259192603, 16259323723, 16259454803, 16259585957, + 16259717041, 16259848133, 16259979223, 16260110323, 16260241421, 16260372521, 16260503603, + 16260634679, 16260765751, 16260896887, 16261027967, 16261159087, 16261290179, 16261421269, + 16261552357, 16261683461, 16261814561, 16261945643, 16262076731, 16262207807, 16262338909, + 16262469989, 16262601071, 16262732177, 16262863259, 16262994331, 16263125467, 16263256547, + 16263387641, 16263518731, 16263649817, 16263780901, 16263911977, 16264043051, 16264174151, + 16264305247, 16264436381, 16264567481, 16264698559, 16264829641, 16264960771, 16265091847, + 16265222927, 16265354041, 16265485121, 16265616221, 16265747317, 16265878403, 16266009481, + 16266140557, 16266271639, 16266402751, 16266533939, 16266665011, 16266796111, 16266927191, + 16267058299, 16267189399, 16267320481, 16267451567, 16267582651, 16267713757, 16267844837, + 16267976009, 16268107087, 16268238167, 16268369261, 16268500343, 16268631433, 16268762507, + 16268893579, 16269024661, 16269155743, 16269286837, 16269417929, 16269549001, 16269680113, + 16269811211, 16269942287, 16270073359, 16270204441, 16270335527, 16270466633, 16270597709, + 16270728911, 16270860029, 16270991161, 16271122237, 16271253347, 16271384453, 16271515543, + 16271646617, 16271777701, 16271908799, 16272039937, 16272171023, 16272302099, 16272433181, + 16272564263, 16272695399, 16272826519, 16272957599, 16273088683, 16273219783, 16273350859, + 16273481933, 16273613011, 16273744111, 16273875223, 16274006311, 16274137409, 16274268499, + 16274399573, 16274530669, 16274661743, 16274792881, 16274924021, 16275055103, 16275186197, + 16275317281, 16275448381, 16275579517, 16275710603, 16275841763, 16275972841, 16276103917, + 16276235021, 16276366163, 16276497337, 16276628413, 16276759487, 16276890593, 16277021693, + 16277152817, 16277283889, 16277414971, 16277546063, 16277677201, 16277808277, 16277939371, + 16278070453, 16278201551, 16278332627, 16278463699, 16278594779, 16278725851, 16278856933, + 16278988039, 16279119127, 16279250209, 16279381379, 16279512461, 16279643543, 16279774639, + 16279905727, 16280036821, 16280167919, 16280299039, 16280430113, 16280561221, 16280692319, + 16280823409, 16280954527, 16281085603, 16281216689, 16281347783, 16281478883, 16281609961, + 16281741037, 16281872119, 16282003193, 16282134269, 16282265357, 16282396517, 16282527589, + 16282658699, 16282789799, 16282920881, 16283051959, 16283183089, 16283314193, 16283445271, + 16283576411, 16283707487, 16283838577, 16283969651, 16284100733, 16284231809, 16284362881, + 16284493961, 16284625039, 16284756119, 16284887249, 16285018381, 16285149481, 16285280569, + 16285411661, 16285542743, 16285673857, 16285804939, 16285936027, 16286067157, 16286198261, + 16286329337, 16286460427, 16286591507, 16286722631, 16286853703, 16286984797, 16287115937, + 16287247063, 16287378157, 16287509239, 16287640331, 16287771403, 16287902503, 16288033577, + 16288164653, 16288295767, 16288426867, 16288557949, 16288689047, 16288820161, 16288951249, + 16289082371, 16289213443, 16289344517, 16289475593, 16289606701, 16289737781, 16289868853, + 16289999963, 16290131059, 16290262139, 16290393227, 16290524303, 16290655387, 16290786461, + 16290917537, 16291048651, 16291179743, 16291310839, 16291441927, 16291573007, 16291704089, + 16291835213, 16291966319, 16292097391, 16292228479, 16292359553, 16292490647, 16292621731, + 16292752831, 16292883973, 16293015049, 16293146131, 16293277279, 16293408377, 16293539477, + 16293670669, 16293801743, 16293932819, 16294063921, 16294195019, 16294326137, 16294457227, + 16294588313, 16294719391, 16294850479, 16294981553, 16295112653, 16295243749, 16295374829, + 16295505931, 16295637031, 16295768117, 16295899189, 16296030269, 16296161353, 16296292477, + 16296423551, 16296554623, 16296685697, 16296816799, 16296947893, 16297078979, 16297210051, + 16297341157, 16297472239, 16297603319, 16297734461, 16297865533, 16297996613, 16298127689, + 16298258783, 16298389871, 16298520949, 16298652047, 16298783119, 16298914193, 16299045271, + 16299176401, 16299307513, 16299438637, 16299569731, 16299700811, 16299831923, 16299963011, + 16300094113, 16300225187, 16300356263, 16300487339, 16300618417, 16300749511, 16300880591, + 16301011667, 16301142757, 16301273861, 16301404979, 16301536087, 16301667169, 16301798273, + 16301929361, 16302060443, 16302191561, 16302322657, 16302453731, 16302584803, 16302715931, + 16302847009, 16302978119, 16303109213, 16303240297, 16303371389, 16303502461, 16303633547, + 16303764629, 16303895749, 16304026853, 16304157937, 16304289037, 16304420117, 16304551201, + 16304682281, 16304813353, 16304944457, 16305075533, 16305206629, 16305337703, 16305468779, + 16305599857, 16305730949, 16305862049, 16305993127, 16306124201, 16306255289, 16306386373, + 16306517471, 16306648549, 16306779623, 16306910777, 16307041873, 16307172989, 16307304061, + 16307435141, 16307566241, 16307697391, 16307828489, 16307959573, 16308090649, 16308221723, + 16308352799, 16308483907, 16308615047, 16308746141, 16308877219, 16309008299, 16309139411, + 16309270493, 16309401601, 16309532689, 16309663763, 16309794863, 16309925959, 16310057041, + 16310188121, 16310319203, 16310450287, 16310581363, 16310712437, 16310843509, 16310974597, + 16311105689, 16311236797, 16311367909, 16311498989, 16311630089, 16311761183, 16311892273, + 16312023397, 16312154471, 16312285547, 16312416629, 16312547711, 16312678813, 16312809899, + 16312941011, 16313072101, 16313203177, 16313334311, 16313465407, 16313596487, 16313727583, + 16313858707, 16313989823, 16314120929, 16314252007, 16314383087, 16314514159, 16314645247, + 16314776327, 16314907417, 16315038527, 16315169609, 16315300681, 16315431757, 16315562833, + 16315693913, 16315825003, 16315956103, 16316087219, 16316218297, 16316349391, 16316480501, + 16316611607, 16316742751, 16316873849, 16317004939, 16317136021, 16317267133, 16317398221, + 16317529297, 16317660379, 16317791459, 16317922567, 16318053643, 16318184717, 16318315801, + 16318446883, 16318577969, 16318709059, 16318840171, 16318971257, 16319102329, 16319233409, + 16319364493, 16319495573, 16319626657, 16319757781, 16319888863, 16320019943, 16320151019, + 16320282091, 16320413279, 16320544417, 16320675517, 16320806617, 16320937693, 16321068769, + 16321199857, 16321330931, 16321462007, 16321593157, 16321724231, 16321855321, 16321986413, + 16322117491, 16322248639, 16322379713, 16322510791, 16322641877, 16322772979, 16322904139, + 16323035273, 16323166357, 16323297451, 16323428551, 16323559639, 16323690731, 16323821819, + 16323952903, 16324084033, 16324215107, 16324346191, 16324477297, 16324608379, 16324739467, + 16324870561, 16325001653, 16325132731, 16325263807, 16325394889, 16325525977, 16325657059, + 16325788139, 16325919229, 16326050339, 16326181411, 16326312511, 16326443587, 16326574721, + 16326705839, 16326836921, 16326968017, 16327099091, 16327230197, 16327361269, 16327492369, + 16327623449, 16327754537, 16327885649, 16328016721, 16328147809, 16328278913, 16328409989, + 16328541079, 16328672153, 16328803237, 16328934311, 16329065461, 16329196553, 16329327631, + 16329458729, 16329589811, 16329720917, 16329852031, 16329983129, 16330114211, 16330245289, + 16330376369, 16330507451, 16330638539, 16330769617, 16330900709, 16331031823, 16331162933, + 16331294011, 16331425111, 16331556221, 16331687321, 16331818457, 16331949541, 16332080617, + 16332211697, 16332342809, 16332473897, 16332604969, 16332736073, 16332867149, 16332998221, + 16333129301, 16333260379, 16333391471, 16333522589, 16333653671, 16333784749, 16333915867, + 16334046941, 16334178079, 16334309213, 16334440289, 16334571401, 16334702473, 16334833573, + 16334964781, 16335095869, 16335226969, 16335358051, 16335489127, 16335620239, 16335751321, + 16335882413, 16336013489, 16336144597, 16336275671, 16336406783, 16336537891, 16336668967, + 16336800071, 16336931153, 16337062297, 16337193391, 16337324467, 16337455543, 16337586647, + 16337717729, 16337848817, 16337979899, 16338110981, 16338242059, 16338373159, 16338504257, + 16338635347, 16338766439, 16338897529, 16339028603, 16339159699, 16339290839, 16339421957, + 16339553033, 16339684129, 16339815209, 16339946323, 16340077433, 16340208541, 16340339621, + 16340470693, 16340601779, 16340732851, 16340863951, 16340995061, 16341126143, 16341257269, + 16341388423, 16341519529, 16341650609, 16341781691, 16341912859, 16342043933, 16342175029, + 16342306117, 16342437239, 16342568321, 16342699397, 16342830479, 16342961561, 16343092637, + 16343223709, 16343354801, 16343485883, 16343616983, 16343748067, 16343879161, 16344010283, + 16344141361, 16344272519, 16344403591, 16344534671, 16344665783, 16344796859, 16344927953, + 16345059047, 16345190119, 16345321199, 16345452311, 16345583383, 16345714547, 16345845619, + 16345976723, 16346107807, 16346238949, 16346370067, 16346501161, 16346632259, 16346763359, + 16346894441, 16347025523, 16347156629, 16347287701, 16347418781, 16347549887, 16347680989, + 16347812071, 16347943181, 16348074277, 16348205371, 16348336457, 16348467529, 16348598627, + 16348729723, 16348860797, 16348991881, 16349122963, 16349254037, 16349385119, 16349516231, + 16349647361, 16349778443, 16349909519, 16350040601, 16350171737, 16350302867, 16350433951, + 16350565027, 16350696119, 16350827191, 16350958279, 16351089353, 16351220441, 16351351517, + 16351482613, 16351613699, 16351744789, 16351875863, 16352006953, 16352138039, 16352269127, + 16352400221, 16352531357, 16352662441, 16352793521, 16352924641, 16353055727, 16353186809, + 16353317887, 16353448961, 16353580039, 16353711131, 16353842221, 16353973297, 16354104373, + 16354235449, 16354366547, 16354497623, 16354628701, 16354759777, 16354890869, 16355021987, + 16355153081, 16355284171, 16355415269, 16355546357, 16355677447, 16355808541, 16355939617, + 16356070733, 16356201821, 16356332897, 16356463993, 16356595081, 16356726163, 16356857243, + 16356988321, 16357119491, 16357250563, 16357381639, 16357512719, 16357643833, 16357774919, + 16357906007, 16358037079, 16358168159, 16358299247, 16358430379, 16358561467, 16358692547, + 16358823647, 16358954737, 16359085829, 16359216911, 16359347987, 16359479107, 16359610213, + 16359741331, 16359872483, 16360003571, 16360134653, 16360265731, 16360396807, 16360527913, + 16360658989, 16360790063, 16360921141, 16361052221, 16361183297, 16361314391, 16361445479, + 16361576579, 16361707657, 16361838749, 16361969867, 16362100969, 16362232057, 16362363137, + 16362494263, 16362625337, 16362756427, 16362887591, 16363018681, 16363149779, 16363280881, + 16363411979, 16363543057, 16363674137, 16363805219, 16363936291, 16364067373, 16364198491, + 16364329571, 16364460643, 16364591717, 16364722799, 16364853929, 16364985031, 16365116143, + 16365247229, 16365378307, 16365509387, 16365640493, 16365771607, 16365902687, 16366033759, + 16366164833, 16366295971, 16366427087, 16366558183, 16366689359, 16366820443, 16366951529, + 16367082629, 16367213783, 16367344867, 16367475959, 16367607101, 16367738183, 16367869279, + 16368000373, 16368131459, 16368262531, 16368393623, 16368524699, 16368655777, 16368786851, + 16368917927, 16369048999, 16369180097, 16369311263, 16369442347, 16369573447, 16369704523, + 16369835597, 16369966673, 16370097761, 16370228839, 16370359913, 16370491009, 16370622083, + 16370753233, 16370884307, 16371015379, 16371146509, 16371277583, 16371408701, 16371539773, + 16371670849, 16371801923, 16371933119, 16372064239, 16372195327, 16372326409, 16372457483, + 16372588577, 16372719661, 16372850737, 16372981829, 16373112919, 16373244001, 16373375113, + 16373506301, 16373637403, 16373768479, 16373899603, 16374030683, 16374161821, 16374292897, + 16374423973, 16374555047, 16374686147, 16374817223, 16374948307, 16375079387, 16375210463, + 16375341569, 16375472651, 16375603771, 16375734887, 16375866019, 16375997117, 16376128199, + 16376259283, 16376390357, 16376521457, 16376652569, 16376783641, 16376914727, 16377045799, + 16377176941, 16377308021, 16377439121, 16377570197, 16377701269, 16377832379, 16377963451, + 16378094531, 16378225607, 16378356689, 16378487767, 16378618853, 16378749931, 16378881017, + 16379012101, 16379143199, 16379274271, 16379405381, 16379536477, 16379667593, 16379798737, + 16379929829, 16380060901, 16380191977, 16380323081, 16380454177, 16380585259, 16380716351, + 16380847453, 16380978617, 16381109707, 16381240781, 16381371863, 16381502947, 16381634023, + 16381765109, 16381896227, 16382027323, 16382158421, 16382289529, 16382420623, 16382551709, + 16382682821, 16382813903, 16382945021, 16383076109, 16383207193, 16383338269, 16383469363, + 16383600473, 16383731549, 16383862637, 16383993709, 16384124803, 16384255891, 16384387009, + 16384518097, 16384649191, 16384780277, 16384911377, 16385042461, 16385173577, 16385304697, + 16385435789, 16385566913, 16385698027, 16385829101, 16385960177, 16386091277, 16386222353, + 16386353443, 16386484523, 16386615599, 16386746683, 16386877777, 16387008887, 16387139959, + 16387271039, 16387402121, 16387533199, 16387664281, 16387795381, 16387926487, 16388057603, + 16388188711, 16388319791, 16388450909, 16388581997, 16388713079, 16388844181, 16388975263, + 16389106351, 16389237427, 16389368503, 16389499639, 16389630713, 16389761789, 16389892873, + 16390023961, 16390155059, 16390286131, 16390417223, 16390548319, 16390679399, 16390810487, + 16390941569, 16391072647, 16391203723, 16391334797, 16391465989, 16391597071, 16391728189, + 16391859271, 16391990347, 16392121477, 16392252589, 16392383713, 16392514813, 16392645901, + 16392776977, 16392908057, 16393039141, 16393170217, 16393301299, 16393432379, 16393563457, + 16393694531, 16393825603, 16393956727, 16394087807, 16394218891, 16394349971, 16394481053, + 16394612153, 16394743231, 16394874347, 16395005443, 16395136523, 16395267601, 16395398711, + 16395529819, 16395660913, 16395792011, 16395923087, 16396054177, 16396185259, 16396316341, + 16396447517, 16396578593, 16396709669, 16396840769, 16396971881, 16397102959, 16397234047, + 16397365129, 16397496209, 16397627293, 16397758387, 16397889463, 16398020581, 16398151657, + 16398282767, 16398413951, 16398545039, 16398676163, 16398807289, 16398938363, 16399069447, + 16399200577, 16399331657, 16399462741, 16399593817, 16399724897, 16399855973, 16399987081, + 16400118179, 16400249279, 16400380363, 16400511437, 16400642537, 16400773639, 16400904743, + 16401035887, 16401167009, 16401298093, 16401429193, 16401560317, 16401691393, 16401822467, + 16401953543, 16402084631, 16402215737, 16402346833, 16402477913, 16402608991, 16402740089, + 16402871201, 16403002283, 16403133421, 16403264497, 16403395621, 16403526703, 16403657779, + 16403788867, 16403919943, 16404051031, 16404182141, 16404313223, 16404444299, 16404575371, + 16404706463, 16404837587, 16404968663, 16405099741, 16405230817, 16405361893, 16405492991, + 16405624073, 16405755251, 16405886327, 16406017409, 16406148497, 16406279587, 16406410679, + 16406541757, 16406672861, 16406803961, 16406935067, 16407066139, 16407197273, 16407328361, + 16407459449, 16407590527, 16407721661, 16407852761, 16407983849, 16408114939, 16408246037, + 16408377121, 16408508261, 16408639339, 16408770431, 16408901513, 16409032603, 16409163679, + 16409294771, 16409425843, 16409556937, 16409688017, 16409819113, 16409950199, 16410081313, + 16410212389, 16410343463, 16410474559, 16410605633, 16410736709, 16410867821, 16410998897, + 16411129981, 16411261063, 16411392163, 16411523269, 16411654349, 16411785427, 16411916509, + 16412047609, 16412178683, 16412309773, 16412440879, 16412571971, 16412703049, 16412834143, + 16412965223, 16413096319, 16413227393, 16413358469, 16413489551, 16413620627, 16413751721, + 16413882799, 16414013887, 16414144991, 16414276133, 16414407257, 16414538353, 16414669429, + 16414800527, 16414931629, 16415062721, 16415193853, 16415324927, 16415455999, 16415587091, + 16415718181, 16415849257, 16415980333, 16416111407, 16416242501, 16416373591, 16416504691, + 16416635789, 16416766913, 16416898007, 16417029091, 16417160173, 16417291277, 16417422349, + 16417553423, 16417684541, 16417815619, 16417946729, 16418077801, 16418208889, 16418339969, + 16418471059, 16418602133, 16418733211, 16418864291, 16418995367, 16419126481, 16419257573, + 16419388651, 16419519757, 16419650861, 16419781943, 16419913019, 16420044097, 16420175179, + 16420306267, 16420437347, 16420568443, 16420699571, 16420830661, 16420961797, 16421092921, + 16421224021, 16421355109, 16421486201, 16421617273, 16421748353, 16421879443, 16422010519, + 16422141607, 16422272683, 16422403759, 16422534833, 16422665911, 16422797033, 16422928121, + 16423059199, 16423190279, 16423321367, 16423452439, 16423583537, 16423714651, 16423845731, + 16423976813, 16424107897, 16424238977, 16424370049, 16424501141, 16424632243, 16424763323, + 16424894407, 16425025483, 16425156593, 16425287687, 16425418777, 16425549863, 16425680963, + 16425812057, 16425943129, 16426074233, 16426205329, 16426336429, 16426467529, 16426598609, + 16426729681, 16426860763, 16426991837, 16427122937, 16427254013, 16427385109, 16427516191, + 16427647267, 16427778349, 16427909423, 16428040511, 16428171601, 16428302689, 16428433781, + 16428564857, 16428695947, 16428827027, 16428958109, 16429089181, 16429220267, 16429351343, + 16429482427, 16429613561, 16429744637, 16429875713, 16430006797, 16430137873, 16430268979, + 16430400053, 16430531141, 16430662223, 16430793299, 16430924383, 16431055469, 16431186553, + 16431317647, 16431448757, 16431579833, 16431710951, 16431842069, 16431973141, 16432104257, + 16432235357, 16432366439, 16432497511, 16432628617, 16432759703, 16432890811, 16433021893, + 16433152997, 16433284103, 16433415223, 16433546303, 16433677387, 16433808463, 16433939539, + 16434070657, 16434201739, 16434332821, 16434463897, 16434594973, 16434726083, 16434857167, + 16434988249, 16435119331, 16435250407, 16435381511, 16435512593, 16435643687, 16435774781, + 16435905907, 16436036989, 16436168071, 16436299157, 16436430247, 16436561327, 16436692399, + 16436823479, 16436954561, 16437085667, 16437216767, 16437347851, 16437478933, 16437610019, + 16437741097, 16437872179, 16438003261, 16438134341, 16438265429, 16438396531, 16438527613, + 16438658689, 16438789769, 16438920857, 16439051939, 16439183017, 16439314093, 16439445181, + 16439576269, 16439707367, 16439838463, 16439969573, 16440100657, 16440231749, 16440362837, + 16440493919, 16440624997, 16440756089, 16440887167, 16441018247, 16441149341, 16441280423, + 16441411513, 16441542599, 16441673707, 16441804781, 16441935859, 16442066957, 16442198029, + 16442329109, 16442460187, 16442591273, 16442722381, 16442853457, 16442984531, 16443115609, + 16443246683, 16443377779, 16443508951, 16443640051, 16443771143, 16443902221, 16444033301, + 16444164391, 16444295471, 16444426573, 16444557673, 16444688749, 16444819823, 16444950913, + 16445081993, 16445213069, 16445344159, 16445475253, 16445606363, 16445737439, 16445868553, + 16445999629, 16446130711, 16446261869, 16446392969, 16446524057, 16446655129, 16446786229, + 16446917321, 16447048411, 16447179491, 16447310609, 16447441693, 16447572781, 16447703861, + 16447834943, 16447966033, 16448097121, 16448228221, 16448359321, 16448490433, 16448621509, + 16448752589, 16448883679, 16449014773, 16449145847, 16449276931, 16449408007, 16449539081, + 16449670157, 16449801229, 16449932311, 16450063391, 16450194463, 16450325539, 16450456619, + 16450587697, 16450718807, 16450849879, 16450980967, 16451112053, 16451243161, 16451374273, + 16451505347, 16451636429, 16451767513, 16451898611, 16452029717, 16452160799, 16452291871, + 16452422947, 16452554029, 16452685133, 16452816253, 16452947333, 16453078409, 16453209481, + 16453340569, 16453471669, 16453602761, 16453733837, 16453864927, 16453996001, 16454127077, + 16454258189, 16454389261, 16454520361, 16454651443, 16454782549, 16454913661, 16455044759, + 16455175831, 16455307003, 16455438137, 16455569231, 16455700321, 16455831409, 16455962483, + 16456093603, 16456224679, 16456355777, 16456486903, 16456618019, 16456749121, 16456880197, + 16457011273, 16457142379, 16457273477, 16457404609, 16457535701, 16457666777, 16457797879, + 16457929001, 16458060103, 16458191203, 16458322289, 16458453379, 16458584489, 16458715571, + 16458846659, 16458977741, 16459108817, 16459239889, 16459370971, 16459502057, 16459633133, + 16459764221, 16459895297, 16460026381, 16460157481, 16460288569, 16460419681, 16460550773, + 16460681857, 16460812939, 16460944043, 16461075131, 16461206231, 16461337331, 16461468403, + 16461599519, 16461730601, 16461861673, 16461992783, 16462123903, 16462255079, 16462386151, + 16462517231, 16462648303, 16462779397, 16462910473, 16463041561, 16463172637, 16463303723, + 16463434807, 16463565883, 16463697017, 16463828153, 16463959277, 16464090367, 16464221441, + 16464352571, 16464483643, 16464614717, 16464745789, 16464876881, 16465007983, 16465139059, + 16465270163, 16465401263, 16465532339, 16465663439, 16465794511, 16465925617, 16466056721, + 16466187827, 16466318941, 16466450071, 16466581181, 16466712259, 16466843357, 16466974439, + 16467105511, 16467236629, 16467367729, 16467498829, 16467629909, 16467761017, 16467892109, + 16468023191, 16468154291, 16468285367, 16468416457, 16468547549, 16468678631, 16468809703, + 16468940779, 16469071867, 16469202949, 16469334031, 16469465113, 16469596193, 16469727271, + 16469858347, 16469989421, 16470120503, 16470251663, 16470382771, 16470513847, 16470644921, + 16470776017, 16470907109, 16471038211, 16471169311, 16471300387, 16471431481, 16471562573, + 16471693657, 16471824749, 16471955869, 16472086951, 16472218073, 16472349149, 16472480221, + 16472611313, 16472742389, 16472873467, 16473004567, 16473135661, 16473266737, 16473397813, + 16473528893, 16473659977, 16473791053, 16473922151, 16474053223, 16474184323, 16474315471, + 16474446553, 16474577653, 16474708729, 16474839841, 16474970921, 16475102057, 16475233133, + 16475364247, 16475495329, 16475626411, 16475757511, 16475888593, 16476019667, 16476150767, + 16476281849, 16476412933, 16476544027, 16476675101, 16476806189, 16476937261, 16477068341, + 16477199429, 16477330523, 16477461607, 16477592683, 16477723813, 16477854931, 16477986061, + 16478117143, 16478248229, 16478379319, 16478510401, 16478641477, 16478772553, 16478903663, + 16479034739, 16479165811, 16479296891, 16479427967, 16479559039, 16479690121, 16479821207, + 16479952327, 16480083401, 16480214501, 16480345589, 16480476679, 16480607777, 16480738873, + 16480869989, 16481001077, 16481132167, 16481263247, 16481394329, 16481525407, 16481656481, + 16481787583, 16481918671, 16482049777, 16482180863, 16482311941, 16482443093, 16482574169, + 16482705247, 16482836323, 16482967399, 16483098521, 16483229647, 16483360727, 16483491853, + 16483622927, 16483754017, 16483885091, 16484016191, 16484147269, 16484278399, 16484409479, + 16484540561, 16484671699, 16484802773, 16484933849, 16485064927, 16485196009, 16485327101, + 16485458177, 16485589277, 16485720379, 16485851471, 16485982613, 16486113701, 16486244809, + 16486375897, 16486506991, 16486638083, 16486769171, 16486900289, 16487031371, 16487162443, + 16487293531, 16487424631, 16487555713, 16487686799, 16487817889, 16487948963, 16488080039, + 16488211133, 16488342239, 16488473327, 16488604411, 16488735511, 16488866587, 16488997673, + 16489128751, 16489259833, 16489390913, 16489521989, 16489653071, 16489784147, 16489915231, + 16490046317, 16490177399, 16490308477, 16490439601, 16490570693, 16490701771, 16490832857, + 16490963981, 16491095063, 16491226139, 16491357241, 16491488323, 16491619423, 16491750503, + 16491881579, 16492012687, 16492143781, 16492274893, 16492405987, 16492537079, 16492668161, + 16492799233, 16492930309, 16493061383, 16493192461, 16493323541, 16493454617, 16493585737, + 16493716817, 16493847919, 16493979041, 16494110119, 16494241213, 16494372289, 16494503369, + 16494634459, 16494765533, 16494896611, 16495027687, 16495158761, 16495289893, 16495420979, + 16495552061, 16495683157, 16495814339, 16495945423, 16496076511, 16496207597, 16496338673, + 16496469757, 16496600839, 16496731913, 16496863021, 16496994103, 16497125179, 16497256277, + 16497387373, 16497518447, 16497649523, 16497780619, 16497911699, 16498042777, 16498173869, + 16498304947, 16498436047, 16498567153, 16498698329, 16498829441, 16498960559, 16499091659, + 16499222767, 16499353841, 16499484943, 16499616037, 16499747123, 16499878211, 16500009293, + 16500140387, 16500271483, 16500402601, 16500533677, 16500664753, 16500795851, 16500926929, + 16501058011, 16501189087, 16501320211, 16501451371, 16501582451, 16501713577, 16501844719, + 16501975793, 16502106883, 16502237959, 16502369069, 16502500169, 16502631269, 16502762347, + 16502893423, 16503024497, 16503155579, 16503286693, 16503417767, 16503548879, 16503679957, + 16503811061, 16503942139, 16504073213, 16504204303, 16504335461, 16504466551, 16504597631, + 16504728731, 16504859803, 16504990883, 16505121961, 16505253041, 16505384123, 16505515199, + 16505646301, 16505777419, 16505908493, 16506039587, 16506170683, 16506301811, 16506432883, + 16506563981, 16506695059, 16506826159, 16506957281, 16507088359, 16507219447, 16507350551, + 16507481629, 16507612729, 16507743827, 16507874917, 16508005991, 16508137097, 16508268181, + 16508399269, 16508530387, 16508661469, 16508792549, 16508923637, 16509054767, 16509185897, + 16509316969, 16509448057, 16509579131, 16509710209, 16509841291, 16509972371, 16510103483, + 16510234561, 16510365653, 16510496729, 16510627801, 16510758907, 16510889999, 16511021113, + 16511152201, 16511283277, 16511414351, 16511545439, 16511676523, 16511807621, 16511938711, + 16512069787, 16512200893, 16512331981, 16512463081, 16512594169, 16512725249, 16512856337, + 16512987461, 16513118593, 16513249673, 16513380749, 16513511831, 16513642907, 16513773989, + 16513905097, 16514036173, 16514167273, 16514298347, 16514429419, 16514560499, 16514691581, + 16514822657, 16514953747, 16515084821, 16515215897, 16515346979, 16515478051, 16515609181, + 16515740257, 16515871447, 16516002533, 16516133611, 16516264717, 16516395811, 16516526951, + 16516658071, 16516789151, 16516920227, 16517051303, 16517182393, 16517313479, 16517444551, + 16517575643, 16517706721, 16517837839, 16517968919, 16518099991, 16518231089, 16518362191, + 16518493291, 16518624383, 16518755459, 16518886543, 16519017653, 16519148813, 16519279937, + 16519411019, 16519542119, 16519673201, 16519804373, 16519935451, 16520066551, 16520197633, + 16520328707, 16520459779, 16520590859, 16520721949, 16520853029, 16520984113, 16521115243, + 16521246317, 16521377399, 16521508519, 16521639593, 16521770669, 16521901771, 16522032853, + 16522163981, 16522295089, 16522426181, 16522557277, 16522688389, 16522819519, 16522950761, + 16523081837, 16523212933, 16523344037, 16523475113, 16523606201, 16523737289, 16523868371, + 16523999467, 16524130547, 16524261619, 16524392699, 16524523777, 16524654859, 16524785957, + 16524917029, 16525048109, 16525179257, 16525310339, 16525441411, 16525572527, 16525703609, + 16525834709, 16525965803, 16526096891, 16526227967, 16526359081, 16526490193, 16526621269, + 16526752343, 16526883419, 16527014503, 16527145603, 16527276719, 16527407807, 16527538883, + 16527669979, 16527801071, 16527932143, 16528063217, 16528194301, 16528325381, 16528456471, + 16528587577, 16528718651, 16528849723, 16528980841, 16529111927, 16529243009, 16529374109, + 16529505227, 16529636303, 16529767379, 16529898457, 16530029531, 16530160643, 16530291731, + 16530422803, 16530553889, 16530684971, 16530816047, 16530947141, 16531078217, 16531209319, + 16531340407, 16531471501, 16531602599, 16531733749, 16531864823, 16531995919, 16532127019, + 16532258167, 16532389241, 16532520343, 16532651417, 16532782499, 16532913641, 16533044719, + 16533175811, 16533306883, 16533437971, 16533569069, 16533700147, 16533831227, 16533962303, + 16534093403, 16534224481, 16534355623, 16534486711, 16534617791, 16534748863, 16534879973, + 16535011057, 16535142133, 16535273207, 16535404351, 16535535427, 16535666501, 16535797573, + 16535928671, 16536059759, 16536190831, 16536321929, 16536453023, 16536584101, 16536715187, + 16536846281, 16536977363, 16537108459, 16537239553, 16537370711, 16537501811, 16537632883, + 16537763981, 16537895071, 16538026157, 16538157239, 16538288339, 16538419439, 16538550527, + 16538681611, 16538812777, 16538943857, 16539074933, 16539206009, 16539337097, 16539468173, + 16539599267, 16539730351, 16539861433, 16539992531, 16540123603, 16540254677, 16540385789, + 16540516871, 16540647967, 16540779053, 16540910213, 16541041301, 16541172413, 16541303489, + 16541434597, 16541565671, 16541696753, 16541827889, 16541958967, 16542090043, 16542221149, + 16542352243, 16542483337, 16542614443, 16542745517, 16542876593, 16543007707, 16543138789, + 16543269863, 16543400957, 16543532039, 16543663141, 16543794217, 16543925291, 16544056363, + 16544187461, 16544318569, 16544449703, 16544580781, 16544711857, 16544842943, 16544974049, + 16545105151, 16545236261, 16545367343, 16545498439, 16545629561, 16545760661, 16545891749, + 16546022821, 16546153903, 16546284991, 16546416079, 16546547153, 16546678261, 16546809337, + 16546940411, 16547071483, 16547202559, 16547333657, 16547464753, 16547595833, 16547726927, + 16547858009, 16547989097, 16548120181, 16548251273, 16548382373, 16548513451, 16548644569, + 16548775651, 16548906743, 16549037837, 16549168921, 16549300007, 16549431083, 16549562179, + 16549693289, 16549824367, 16549955449, 16550086523, 16550217599, 16550348687, 16550479769, + 16550610887, 16550741983, 16550873057, 16551004147, 16551135269, 16551266357, 16551397433, + 16551528541, 16551659653, 16551790729, 16551921847, 16552053031, 16552184107, 16552315189, + 16552446263, 16552577389, 16552708483, 16552839587, 16552970723, 16553101811, 16553232889, + 16553363963, 16553495059, 16553626183, 16553757313, 16553888399, 16554019549, 16554150623, + 16554281699, 16554412793, 16554543869, 16554674947, 16554806041, 16554937117, 16555068203, + 16555199321, 16555330403, 16555461491, 16555592569, 16555723661, 16555854739, 16555985867, + 16556116957, 16556248039, 16556379131, 16556510207, 16556641303, 16556772377, 16556903477, + 16557034561, 16557165659, 16557296771, 16557427879, 16557558967, 16557690047, 16557821129, + 16557952217, 16558083299, 16558214447, 16558345547, 16558476619, 16558607707, 16558738843, + 16558869919, 16559001001, 16559132077, 16559263169, 16559394259, 16559525351, 16559656433, + 16559787571, 16559918651, 16560049733, 16560180817, 16560311899, 16560442991, 16560574073, + 16560705181, 16560836321, 16560967441, 16561098517, 16561229591, 16561360663, 16561491763, + 16561622837, 16561753909, 16561885003, 16562016103, 16562147191, 16562278331, 16562409431, + 16562540507, 16562671591, 16562802689, 16562933767, 16563064853, 16563195991, 16563327073, + 16563458179, 16563589313, 16563720409, 16563851509, 16563982609, 16564113703, 16564244777, + 16564375853, 16564506929, 16564638047, 16564769147, 16564900229, 16565031323, 16565162459, + 16565293543, 16565424637, 16565555723, 16565686831, 16565817941, 16565949031, 16566080131, + 16566211217, 16566342301, 16566473401, 16566604501, 16566735583, 16566866677, 16566997751, + 16567128863, 16567259939, 16567391033, 16567522129, 16567653211, 16567784329, 16567915421, + 16568046529, 16568177603, 16568308721, 16568439799, 16568570891, 16568701973, 16568833109, + 16568964211, 16569095287, 16569226361, 16569357433, 16569488513, 16569619601, 16569750707, + 16569881813, 16570012951, 16570144067, 16570275187, 16570406263, 16570537337, 16570668419, + 16570799503, 16570930601, 16571061743, 16571192821, 16571323897, 16571454997, 16571586139, + 16571717219, 16571848291, 16571979371, 16572110453, 16572241573, 16572372647, 16572503719, + 16572634831, 16572765919, 16572897013, 16573028107, 16573159181, 16573290257, 16573421341, + 16573552423, 16573683559, 16573814657, 16573945747, 16574076881, 16574207957, 16574339029, + 16574470109, 16574601181, 16574732329, 16574863421, 16574994493, 16575125573, 16575256657, + 16575387733, 16575518807, 16575649897, 16575780971, 16575912047, 16576043119, 16576174193, + 16576305283, 16576436417, 16576567493, 16576698583, 16576829677, 16576960759, 16577091889, + 16577222993, 16577354111, 16577485241, 16577616329, 16577747447, 16577878519, 16578009653, + 16578140731, 16578271811, 16578402889, 16578533963, 16578665069, 16578796211, 16578927311, + 16579058387, 16579189469, 16579320581, 16579451657, 16579582751, 16579713827, 16579844933, + 16579976011, 16580107091, 16580238197, 16580369327, 16580500411, 16580631493, 16580762587, + 16580893687, 16581024781, 16581155869, 16581286949, 16581418093, 16581549167, 16581680243, + 16581811327, 16581942427, 16582073551, 16582204631, 16582335779, 16582466861, 16582597949, + 16582729043, 16582860121, 16582991197, 16583122289, 16583253361, 16583384501, 16583515607, + 16583646763, 16583777869, 16583908973, 16584040061, 16584171133, 16584302243, 16584433379, + 16584564487, 16584695563, 16584826651, 16584957731, 16585088831, 16585219913, 16585350989, + 16585482079, 16585613153, 16585744247, 16585875343, 16586006419, 16586137493, 16586268571, + 16586399663, 16586530747, 16586661827, 16586792899, 16586924041, 16587055141, 16587186221, + 16587317293, 16587448399, 16587579487, 16587710567, 16587841639, 16587972757, 16588103893, + 16588234997, 16588366087, 16588497169, 16588628257, 16588759331, 16588890419, 16589021503, + 16589152577, 16589283677, 16589414773, 16589545849, 16589676949, 16589808031, 16589939111, + 16590070183, 16590201283, 16590332411, 16590463507, 16590594707, 16590725783, 16590856873, + 16590987971, 16591119047, 16591250173, 16591381259, 16591512331, 16591643447, 16591774547, + 16591905677, 16592036753, 16592167831, 16592298917, 16592430007, 16592561131, 16592692211, + 16592823301, 16592954387, 16593085471, 16593216547, 16593347647, 16593478757, 16593609833, + 16593740921, 16593872011, 16594003091, 16594134187, 16594265263, 16594396349, 16594527421, + 16594658519, 16594789597, 16594920689, 16595051777, 16595182883, 16595313971, 16595445089, + 16595576167, 16595707267, 16595838353, 16595969441, 16596100559, 16596231661, 16596362743, + 16596493841, 16596624923, 16596756013, 16596887093, 16597018177, 16597149269, 16597280341, + 16597411417, 16597542499, 16597673591, 16597804721, 16597935799, 16598066893, 16598197999, + 16598329081, 16598460157, 16598591231, 16598722321, 16598853407, 16598984489, 16599115627, + 16599246733, 16599377819, 16599508901, 16599640009, 16599771107, 16599902203, 16600033319, + 16600164407, 16600295479, 16600426553, 16600557637, 16600688711, 16600819847, 16600950953, + 16601082031, 16601213137, 16601344247, 16601475323, 16601606401, 16601737487, 16601868593, + 16601999707, 16602130789, 16602261869, 16602392959, 16602524039, 16602655117, 16602786191, + 16602917299, 16603048393, 16603179493, 16603310609, 16603441681, 16603572809, 16603703899, + 16603834991, 16603966091, 16604097163, 16604228261, 16604359333, 16604490433, 16604621519, + 16604752639, 16604883719, 16605014807, 16605145891, 16605276977, 16605408089, 16605539213, + 16605670339, 16605801437, 16605932543, 16606063627, 16606194707, 16606325779, 16606456859, + 16606587931, 16606719011, 16606850083, 16606981159, 16607112239, 16607243321, 16607374393, + 16607505491, 16607636621, 16607767697, 16607898781, 16608029857, 16608160939, 16608292049, + 16608423191, 16608554279, 16608685351, 16608816439, 16608947543, 16609078643, 16609209767, + 16609340843, 16609471933, 16609603009, 16609734133, 16609865267, 16609996343, 16610127437, + 16610258543, 16610389673, 16610520761, 16610651833, 16610782913, 16610914037, 16611045181, + 16611176261, 16611307333, 16611438449, 16611569537, 16611700631, 16611831703, 16611962791, + 16612093909, 16612224997, 16612356077, 16612487167, 16612618247, 16612749319, 16612880441, + 16613011531, 16613142619, 16613273717, 16613404799, 16613535877, 16613666963, 16613798041, + 16613929117, 16614060191, 16614191291, 16614322363, 16614453437, 16614584527, 16614715613, + 16614846701, 16614977789, 16615108921, 16615240009, 16615371109, 16615502203, 16615633313, + 16615764409, 16615895519, 16616026601, 16616157703, 16616288783, 16616419877, 16616550949, + 16616682037, 16616813113, 16616944193, 16617075287, 16617206363, 16617337439, 16617468521, + 16617599627, 16617730729, 16617861847, 16617992929, 16618124009, 16618255097, 16618386179, + 16618517261, 16618648363, 16618779439, 16618910531, 16619041613, 16619172793, 16619303929, + 16619435081, 16619566157, 16619697247, 16619828321, 16619959429, 16620090503, 16620221587, + 16620352699, 16620483787, 16620614903, 16620746027, 16620877123, 16621008241, 16621139317, + 16621270409, 16621401487, 16621532561, 16621663687, 16621794769, 16621925849, 16622057027, + 16622188139, 16622319221, 16622450293, 16622581379, 16622712497, 16622843597, 16622974699, + 16623105787, 16623236863, 16623367939, 16623499027, 16623630109, 16623761207, 16623892361, + 16624023443, 16624154549, 16624285637, 16624416727, 16624547837, 16624678933, 16624810049, + 16624941133, 16625072231, 16625203307, 16625334449, 16625465599, 16625596681, 16625727761, + 16625858861, 16625990011, 16626121093, 16626252173, 16626383273, 16626514391, 16626645523, + 16626776641, 16626907741, 16627038863, 16627169963, 16627301113, 16627432189, 16627563283, + 16627694389, 16627825507, 16627956599, 16628087681, 16628218757, 16628349847, 16628481007, + 16628612081, 16628743249, 16628874323, 16629005417, 16629136493, 16629267569, 16629398641, + 16629529717, 16629660847, 16629791923, 16629922997, 16630054073, 16630185151, 16630316231, + 16630447349, 16630578427, 16630709509, 16630840601, 16630971673, 16631102753, 16631233837, + 16631364923, 16631496023, 16631627137, 16631758217, 16631889299, 16632020393, 16632151493, + 16632282577, 16632413669, 16632544741, 16632675817, 16632806893, 16632937967, 16633069069, + 16633200151, 16633331237, 16633462309, 16633593401, 16633724473, 16633855549, 16633986641, + 16634117723, 16634248811, 16634379893, 16634510987, 16634642071, 16634773147, 16634904229, + 16635035321, 16635166397, 16635297587, 16635428737, 16635559847, 16635690923, 16635821999, + 16635953077, 16636084183, 16636215257, 16636346341, 16636477427, 16636608517, 16636739611, + 16636870717, 16637001791, 16637132867, 16637263939, 16637395037, 16637526109, 16637657297, + 16637788393, 16637919503, 16638050609, 16638181723, 16638312827, 16638443903, 16638574999, + 16638706111, 16638837199, 16638968309, 16639099409, 16639230497, 16639361573, 16639492663, + 16639623751, 16639754827, 16639885909, 16640016997, 16640148079, 16640279179, 16640410253, + 16640541343, 16640672537, 16640803633, 16640934733, 16641065807, 16641196883, 16641327991, + 16641459067, 16641590167, 16641721259, 16641852349, 16641983447, 16642114547, 16642245629, + 16642376701, 16642507801, 16642638899, 16642769971, 16642901063, 16643032141, 16643163241, + 16643294341, 16643425429, 16643556541, 16643687653, 16643818727, 16643949799, 16644080899, + 16644212003, 16644343087, 16644474173, 16644605267, 16644736379, 16644867469, 16644998551, + 16645129637, 16645260721, 16645391803, 16645522897, 16645653971, 16645785049, 16645916123, + 16646047219, 16646178317, 16646309411, 16646440501, 16646571589, 16646702707, 16646833783, + 16646964871, 16647095951, 16647227029, 16647358111, 16647489251, 16647620329, 16647751403, + 16647882497, 16648013593, 16648144673, 16648275767, 16648406939, 16648538083, 16648669159, + 16648800239, 16648931311, 16649062403, 16649193481, 16649324557, 16649455643, 16649586731, + 16649717831, 16649848937, 16649980019, 16650111119, 16650242209, 16650373297, 16650504371, + 16650635461, 16650766541, 16650897617, 16651028699, 16651159771, 16651290857, 16651421959, + 16651553053, 16651684163, 16651815253, 16651946393, 16652077469, 16652208583, 16652339663, + 16652470739, 16652601817, 16652732903, 16652863999, 16652995091, 16653126173, 16653257317, + 16653388403, 16653519499, 16653650579, 16653781693, 16653912773, 16654043881, 16654174961, + 16654306103, 16654437181, 16654568269, 16654699343, 16654830463, 16654961539, 16655092621, + 16655223709, 16655354809, 16655485943, 16655617063, 16655748157, 16655879267, 16656010339, + 16656141413, 16656272491, 16656403601, 16656534677, 16656665759, 16656796841, 16656927919, + 16657058993, 16657190117, 16657321199, 16657452283, 16657583363, 16657714453, 16657845571, + 16657976663, 16658107757, 16658238853, 16658370083, 16658501213, 16658632297, 16658763371, + 16658894443, 16659025529, 16659156601, 16659287719, 16659418843, 16659549919, 16659681019, + 16659812173, 16659943249, 16660074337, 16660205431, 16660336529, 16660467601, 16660598693, + 16660729777, 16660860857, 16660991939, 16661123021, 16661254133, 16661385217, 16661516303, + 16661647403, 16661778479, 16661909587, 16662040691, 16662171791, 16662302863, 16662433967, + 16662565039, 16662696157, 16662827243, 16662958421, 16663089511, 16663220593, 16663351667, + 16663482761, 16663613839, 16663744931, 16663876003, 16664007079, 16664138159, 16664269247, + 16664400343, 16664531423, 16664662499, 16664793583, 16664924687, 16665055763, 16665186847, + 16665317927, 16665449051, 16665580123, 16665711203, 16665842287, 16665973369, 16666104443, + 16666235557, 16666366637, 16666497709, 16666628789, 16666759861, 16666890941, 16667022049, + 16667153123, 16667284201, 16667415283, 16667546359, 16667677441, 16667808517, 16667939627, + 16668070709, 16668201811, 16668332911, 16668463993, 16668595103, 16668726187, 16668857269, + 16668988351, 16669119427, 16669250501, 16669381601, 16669512689, 16669643773, 16669774861, + 16669905971, 16670037047, 16670168143, 16670299253, 16670430341, 16670561443, 16670692547, + 16670823629, 16670954717, 16671085789, 16671216883, 16671347969, 16671479051, 16671610127, + 16671741209, 16671872281, 16672003367, 16672134439, 16672265531, 16672396627, 16672527701, + 16672658773, 16672789871, 16672920959, 16673052031, 16673183171, 16673314243, 16673445337, + 16673576431, 16673707529, 16673838613, 16673969687, 16674100763, 16674231883, 16674363001, + 16674494093, 16674625189, 16674756271, 16674887353, 16675018453, 16675149583, 16675280659, + 16675411747, 16675542827, 16675673909, 16675805039, 16675936111, 16676067253, 16676198333, + 16676329493, 16676460589, 16676591717, 16676722801, 16676853877, 16676984957, 16677116039, + 16677247121, 16677378197, 16677509273, 16677640349, 16677771427, 16677902503, 16678033577, + 16678164707, 16678295797, 16678426871, 16678557947, 16678689029, 16678820117, 16678951199, + 16679082271, 16679213359, 16679344459, 16679475539, 16679606633, 16679737709, 16679868811, + 16679999899, 16680130979, 16680262069, 16680393157, 16680524243, 16680655337, 16680786431, + 16680917543, 16681048667, 16681179761, 16681310837, 16681441939, 16681573019, 16681704103, + 16681835179, 16681966271, 16682097353, 16682228447, 16682359559, 16682490631, 16682621707, + 16682752841, 16682883947, 16683015029, 16683146101, 16683277183, 16683408319, 16683539429, + 16683670547, 16683801623, 16683932701, 16684063783, 16684194869, 16684325981, 16684457059, + 16684588133, 16684719253, 16684850387, 16684981553, 16685112641, 16685243723, 16685374813, + 16685505887, 16685636977, 16685768053, 16685899129, 16686030239, 16686161311, 16686292393, + 16686423493, 16686554569, 16686685643, 16686816721, 16686947801, 16687078873, 16687209989, + 16687341089, 16687472189, 16687603307, 16687734379, 16687865459, 16687996537, 16688127629, + 16688258711, 16688389799, 16688520887, 16688651971, 16688783051, 16688914129, 16689045259, + 16689176341, 16689307471, 16689438553, 16689569641, 16689700801, 16689831877, 16689962963, + 16690094053, 16690225127, 16690356209, 16690487309, 16690618391, 16690749499, 16690880587, + 16691011663, 16691142799, 16691273899, 16691404997, 16691536097, 16691667169, 16691798251, + 16691929337, 16692060433, 16692191569, 16692322667, 16692453761, 16692584833, 16692715927, + 16692847007, 16692978091, 16693109171, 16693240261, 16693371347, 16693502459, 16693633547, + 16693764641, 16693895753, 16694026847, 16694157923, 16694288999, 16694420089, 16694551169, + 16694682241, 16694813347, 16694944439, 16695075599, 16695206681, 16695337777, 16695468857, + 16695599951, 16695731033, 16695862111, 16695993191, 16696124287, 16696255369, 16696386461, + 16696517533, 16696648607, 16696779683, 16696910773, 16697041847, 16697172923, 16697304011, + 16697435099, 16697566181, 16697697253, 16697828353, 16697959429, 16698090517, 16698221621, + 16698352721, 16698483833, 16698614927, 16698746017, 16698877123, 16699008199, 16699139323, + 16699270409, 16699401487, 16699532587, 16699663667, 16699794779, 16699925881, 16700056963, + 16700188061, 16700319161, 16700450269, 16700581349, 16700712437, 16700843531, 16700974603, + 16701105691, 16701236771, 16701367861, 16701498937, 16701630037, 16701761137, 16701892217, + 16702023307, 16702154387, 16702285459, 16702416539, 16702547627, 16702678703, 16702809779, + 16702940897, 16703071993, 16703203079, 16703334163, 16703465249, 16703596333, 16703727413, + 16703858527, 16703989639, 16704120767, 16704251843, 16704382927, 16704514033, 16704645233, + 16704776371, 16704907451, 16705038527, 16705169603, 16705300687, 16705431773, 16705562851, + 16705693993, 16705825067, 16705956161, 16706087249, 16706218357, 16706349467, 16706480543, + 16706611627, 16706742749, 16706873881, 16707004987, 16707136073, 16707267149, 16707398287, + 16707529409, 16707660509, 16707791623, 16707922717, 16708053793, 16708184879, 16708315951, + 16708447039, 16708578119, 16708709207, 16708840333, 16708971427, 16709102503, 16709233579, + 16709364673, 16709495773, 16709626853, 16709757931, 16709889011, 16710020083, 16710151189, + 16710282289, 16710413431, 16710544507, 16710675629, 16710806701, 16710937777, 16711068851, + 16711199933, 16711331027, 16711462099, 16711593191, 16711724269, 16711855343, 16711986419, + 16712117497, 16712248603, 16712379767, 16712510851, 16712641937, 16712773009, 16712904083, + 16713035179, 16713166271, 16713297443, 16713428531, 16713559633, 16713690731, 16713821863, + 16713952973, 16714084063, 16714215191, 16714346267, 16714477343, 16714608431, 16714739543, + 16714870643, 16715001731, 16715132821, 16715263907, 16715395033, 16715526143, 16715657221, + 16715788319, 16715919401, 16716050473, 16716181577, 16716312673, 16716443767, 16716574841, + 16716705919, 16716837019, 16716968101, 16717099199, 16717230281, 16717361357, 16717492439, + 16717623529, 16717754639, 16717885727, 16718016811, 16718147903, 16718278979, 16718410063, + 16718541143, 16718672221, 16718803303, 16718934413, 16719065507, 16719196579, 16719327673, + 16719458771, 16719589883, 16719720971, 16719852059, 16719983171, 16720114267, 16720245389, + 16720376461, 16720507553, 16720638637, 16720769711, 16720900799, 16721031881, 16721162981, + 16721294053, 16721425129, 16721556227, 16721687321, 16721818403, 16721949487, 16722080567, + 16722211651, 16722342743, 16722473849, 16722604967, 16722736039, 16722867121, 16722998207, + 16723129301, 16723260391, 16723391497, 16723522603, 16723653679, 16723784767, 16723915841, + 16724046991, 16724178109, 16724309191, 16724440297, 16724571421, 16724702503, 16724833589, + 16724964679, 16725095801, 16725226873, 16725357947, 16725489019, 16725620111, 16725751201, + 16725882289, 16726013399, 16726144471, 16726275551, 16726406623, 16726537741, 16726668817, + 16726799893, 16726930973, 16727062061, 16727193139, 16727324213, 16727455313, 16727586397, + 16727717509, 16727848633, 16727979707, 16728110779, 16728241867, 16728372943, 16728504041, + 16728635167, 16728766253, 16728897329, 16729028413, 16729159511, 16729290607, 16729421699, + 16729552771, 16729683847, 16729814929, 16729946003, 16730077079, 16730208151, 16730339237, + 16730470369, 16730601443, 16730732521, 16730863609, 16730994691, 16731125771, 16731256849, + 16731387929, 16731519001, 16731650101, 16731781177, 16731912257, 16732043333, 16732174423, + 16732305511, 16732436599, 16732567699, 16732698839, 16732829947, 16732961023, 16733092097, + 16733223187, 16733354273, 16733485397, 16733616481, 16733747573, 16733878657, 16734009763, + 16734140953, 16734272041, 16734403129, 16734534203, 16734665317, 16734796409, 16734927509, + 16735058581, 16735189663, 16735320787, 16735451917, 16735583009, 16735714091, 16735845193, + 16735976269, 16736107369, 16736238457, 16736369537, 16736500609, 16736631683, 16736762759, + 16736893837, 16737024917, 16737156001, 16737287081, 16737418177, 16737549271, 16737680347, + 16737811463, 16737942547, 16738073623, 16738204787, 16738335871, 16738466977, 16738598069, + 16738729151, 16738860239, 16738991369, 16739122457, 16739253563, 16739384653, 16739515747, + 16739646821, 16739777903, 16739908981, 16740040073, 16740171157, 16740302239, 16740433319, + 16740564397, 16740695519, 16740826631, 16740957719, 16741088797, 16741219933, 16741351009, + 16741482097, 16741613171, 16741744247, 16741875323, 16742006399, 16742137487, 16742268563, + 16742399671, 16742530759, 16742661857, 16742792971, 16742924047, 16743055129, 16743186209, + 16743317287, 16743448363, 16743579439, 16743710521, 16743841643, 16743972727, 16744103807, + 16744234883, 16744365959, 16744497031, 16744628149, 16744759243, 16744890329, 16745021413, + 16745152499, 16745283593, 16745414671, 16745545753, 16745676853, 16745807963, 16745939057, + 16746070129, 16746201217, 16746332299, 16746463379, 16746594451, 16746725531, 16746856603, + 16746987709, 16747118807, 16747249879, 16747381039, 16747512113, 16747643249, 16747774331, + 16747905409, 16748036509, 16748167589, 16748298667, 16748429773, 16748560897, 16748691989, + 16748823173, 16748954249, 16749085391, 16749216467, 16749347543, 16749478619, 16749609691, + 16749740767, 16749871867, 16750002943, 16750134047, 16750265149, 16750396297, 16750527401, + 16750658473, 16750789553, 16750920629, 16751051761, 16751182837, 16751313947, 16751445041, + 16751576141, 16751707213, 16751838307, 16751969387, 16752100483, 16752231557, 16752362663, + 16752493777, 16752624853, 16752755941, 16752887023, 16753018099, 16753149173, 16753280261, + 16753411333, 16753542419, 16753673509, 16753804597, 16753935683, 16754066759, 16754197879, + 16754328959, 16754460059, 16754591171, 16754722267, 16754853389, 16754984471, 16755115547, + 16755246679, 16755377773, 16755508859, 16755639937, 16755771041, 16755902129, 16756033201, + 16756164283, 16756295359, 16756426457, 16756557529, 16756688609, 16756819711, 16756950787, + 16757081867, 16757212957, 16757344033, 16757475107, 16757606207, 16757737289, 16757868383, + 16757999459, 16758130619, 16758261691, 16758392773, 16758523861, 16758654943, 16758786047, + 16758917141, 16759048223, 16759179299, 16759310389, 16759441469, 16759572601, 16759703707, + 16759834799, 16759965877, 16760096999, 16760228077, 16760359169, 16760490259, 16760621333, + 16760752469, 16760883583, 16761014657, 16761145759, 16761276869, 16761407969, 16761539063, + 16761670157, 16761801229, 16761932359, 16762063477, 16762194551, 16762325639, 16762456747, + 16762587827, 16762718933, 16762850021, 16762981117, 16763112221, 16763243293, 16763374373, + 16763505457, 16763636531, 16763767633, 16763898761, 16764029833, 16764160913, 16764291997, + 16764423079, 16764554167, 16764685241, 16764816323, 16764947399, 16765078471, 16765209547, + 16765340633, 16765471717, 16765602797, 16765733903, 16765865003, 16765996109, 16766127181, + 16766258261, 16766389361, 16766520481, 16766651567, 16766782691, 16766913763, 16767044839, + 16767175913, 16767306989, 16767438067, 16767569191, 16767700283, 16767831383, 16767962467, + 16768093547, 16768224653, 16768355753, 16768486859, 16768617959, 16768749061, 16768880137, + 16769011223, 16769142307, 16769273401, 16769404507, 16769535581, 16769666657, 16769797853, + 16769928947, 16770060019, 16770191099, 16770322171, 16770453281, 16770584399, 16770715483, + 16770846569, 16770977659, 16771108777, 16771239911, 16771371037, 16771502129, 16771633211, + 16771764283, 16771895359, 16772026493, 16772157581, 16772288657, 16772419757, 16772550859, + 16772681971, 16772813047, 16772944121, 16773075199, 16773206291, 16773337367, 16773468443, + 16773599519, 16773730591, 16773861691, 16773992777, 16774123879, 16774254953, 16774386061, + 16774517141, 16774648229, 16774779311, 16774910401, 16775041511, 16775172587, 16775303659, + 16775434751, 16775565853, 16775696929, 16775828029, 16775959129, 16776090209, 16776221303, + 16776352379, 16776483467, 16776614539, 16776745627, 16776876703, 16777007803, 16777138877, + 16777269959, 16777401041, 16777532113, 16777663211, 16777794287, 16777925363, 16778056481, + 16778187583, 16778318663, 16778449759, 16778580851, 16778711927, 16778843009, 16778974097, + 16779105197, 16779236293, 16779367369, 16779498479, 16779629557, 16779760639, 16779891841, + 16780022947, 16780154089, 16780285163, 16780416259, 16780547351, 16780678433, 16780809553, + 16780940629, 16781071717, 16781202793, 16781333867, 16781464939, 16781596031, 16781727121, + 16781858201, 16781989291, 16782120371, 16782251443, 16782382553, 16782513689, 16782644773, + 16782775871, 16782906947, 16783038037, 16783169111, 16783300241, 16783431317, 16783562441, + 16783693519, 16783824593, 16783955681, 16784086771, 16784217851, 16784348939, 16784480021, + 16784611111, 16784742241, 16784873317, 16785004393, 16785135481, 16785266573, 16785397649, + 16785528737, 16785659827, 16785790907, 16785922003, 16786053077, 16786184227, 16786315303, + 16786446389, 16786577477, 16786708573, 16786839659, 16786970747, 16787101847, 16787232919, + 16787364059, 16787495167, 16787626253, 16787757359, 16787888431, 16788019511, 16788150611, + 16788281707, 16788412799, 16788543899, 16788675047, 16788806137, 16788937213, 16789068323, + 16789199407, 16789330489, 16789461569, 16789592641, 16789723733, 16789854821, 16789985939, + 16790117021, 16790248129, 16790379233, 16790510327, 16790641423, 16790772499, 16790903599, + 16791034681, 16791165763, 16791296861, 16791427951, 16791559049, 16791690121, 16791821231, + 16791952337, 16792083431, 16792214507, 16792345579, 16792476653, 16792607857, 16792738939, + 16792870043, 16793001133, 16793132207, 16793263303, 16793394383, 16793525461, 16793656541, + 16793787613, 16793918747, 16794049837, 16794180911, 16794311987, 16794443069, 16794574151, + 16794705247, 16794836329, 16794967417, 16795098499, 16795229593, 16795360697, 16795491793, + 16795622891, 16795754011, 16795885091, 16796016191, 16796147321, 16796278393, 16796409521, + 16796540623, 16796671747, 16796802853, 16796933927, 16797065011, 16797196093, 16797327167, + 16797458239, 16797589339, 16797720421, 16797851501, 16797982601, 16798113697, 16798244773, + 16798375873, 16798506971, 16798638053, 16798769173, 16798900249, 16799031331, 16799162407, + 16799293481, 16799424559, 16799555639, 16799686781, 16799817901, 16799948987, 16800080083, + 16800211177, 16800342281, 16800473357, 16800604451, 16800735533, 16800866611, 16800997687, + 16801128769, 16801259843, 16801390919, 16801522009, 16801653131, 16801784203, 16801915301, + 16802046377, 16802177467, 16802308573, 16802439653, 16802570777, 16802701873, 16802832953, + 16802964041, 16803095129, 16803226211, 16803357371, 16803488447, 16803619529, 16803750617, + 16803881701, 16804012783, 16804143857, 16804274933, 16804406011, 16804537093, 16804668173, + 16804799267, 16804930343, 16805061503, 16805192623, 16805323729, 16805454811, 16805585891, + 16805716987, 16805848091, 16805979217, 16806110311, 16806241411, 16806372503, 16806503611, + 16806634693, 16806765779, 16806896857, 16807027943, 16807159037, 16807290127, 16807421207, + 16807552297, 16807683379, 16807814459, 16807945571, 16808076653, 16808207803, 16808338901, + 16808469983, 16808601071, 16808732159, 16808863277, 16808994353, 16809125477, 16809256561, + 16809387649, 16809518807, 16809649897, 16809780973, 16809912061, 16810043183, 16810174261, + 16810305341, 16810436437, 16810567517, 16810698617, 16810829689, 16810960769, 16811091841, + 16811222917, 16811354011, 16811485087, 16811616163, 16811747273, 16811878351, 16812009443, + 16812140539, 16812271631, 16812402703, 16812533779, 16812664853, 16812795931, 16812927007, + 16813058117, 16813189199, 16813320283, 16813451357, 16813582441, 16813713517, 16813844669, + 16813975741, 16814106817, 16814237893, 16814368999, 16814500111, 16814631187, 16814762299, + 16814893379, 16815024481, 16815155587, 16815286699, 16815417793, 16815548881, 16815679961, + 16815811043, 16815942149, 16816073231, 16816204303, 16816335379, 16816466489, 16816597601, + 16816728673, 16816859779, 16816990859, 16817121961, 16817253073, 16817384159, 16817515237, + 16817646317, 16817777393, 16817908469, 16818039541, 16818170639, 16818301711, 16818432803, + 16818563911, 16818695009, 16818826081, 16818957203, 16819088281, 16819219367, 16819350439, + 16819481513, 16819612633, 16819743719, 16819874867, 16820005963, 16820137039, 16820268131, + 16820399207, 16820530291, 16820661383, 16820792489, 16820923579, 16821054661, 16821185747, + 16821316849, 16821447947, 16821579029, 16821710111, 16821841193, 16821972269, 16822103351, + 16822234433, 16822365509, 16822496597, 16822627673, 16822758751, 16822889833, 16823020931, + 16823152051, 16823283133, 16823414221, 16823545301, 16823676383, 16823807467, 16823938583, + 16824069671, 16824200777, 16824331861, 16824462961, 16824594041, 16824725117, 16824856189, + 16824987281, 16825118353, 16825249447, 16825380547, 16825511621, 16825642699, 16825773787, + 16825904861, 16826035987, 16826167081, 16826298263, 16826429353, 16826560477, 16826691599, + 16826822687, 16826953763, 16827084863, 16827215971, 16827347051, 16827478139, 16827609247, + 16827740327, 16827871471, 16828002547, 16828133633, 16828264727, 16828395803, 16828526959, + 16828658053, 16828789139, 16828920223, 16829051311, 16829182399, 16829313481, 16829444573, + 16829575649, 16829706757, 16829837861, 16829968937, 16830100061, 16830231151, 16830362249, + 16830493321, 16830624443, 16830755519, 16830886627, 16831017701, 16831148779, 16831279937, + 16831411039, 16831542113, 16831673207, 16831804291, 16831935377, 16832066453, 16832197537, + 16832328613, 16832459783, 16832590861, 16832721943, 16832853017, 16832984101, 16833115177, + 16833246263, 16833377347, 16833508421, 16833639523, 16833770609, 16833901681, 16834032769, + 16834163851, 16834294927, 16834426003, 16834557119, 16834688203, 16834819283, 16834950401, + 16835081503, 16835212579, 16835343659, 16835474737, 16835605817, 16835736893, 16835868013, + 16835999093, 16836130169, 16836261259, 16836392333, 16836523423, 16836654503, 16836785629, + 16836916727, 16837047803, 16837178881, 16837309967, 16837441067, 16837572139, 16837703269, + 16837834441, 16837965517, 16838096621, 16838227723, 16838358821, 16838489893, 16838620973, + 16838752069, 16838883151, 16839014251, 16839145357, 16839276439, 16839407513, 16839538591, + 16839669697, 16839800771, 16839931883, 16840062989, 16840194071, 16840325197, 16840456271, + 16840587347, 16840718443, 16840849559, 16840980649, 16841111737, 16841242829, 16841373911, + 16841505013, 16841636087, 16841767183, 16841898257, 16842029329, 16842160411, 16842291509, + 16842422581, 16842553697, 16842684811, 16842815897, 16842946987, 16843078073, 16843209157, + 16843340231, 16843471313, 16843602401, 16843733477, 16843864561, 16843995643, 16844126731, + 16844257873, 16844388949, 16844520041, 16844651119, 16844782217, 16844913307, 16845044383, + 16845175469, 16845306547, 16845437621, 16845568699, 16845699797, 16845830879, 16845962069, + 16846093141, 16846224217, 16846355303, 16846486387, 16846617481, 16846748557, 16846879649, + 16847010749, 16847141849, 16847272931, 16847404003, 16847535079, 16847666197, 16847797271, + 16847928371, 16848059447, 16848190531, 16848321617, 16848452689, 16848583781, 16848714863, + 16848845969, 16848977069, 16849108147, 16849239227, 16849370371, 16849501451, 16849632571, + 16849763647, 16849894729, 16850025833, 16850156909, 16850288033, 16850419129, 16850550221, + 16850681317, 16850812399, 16850943481, 16851074557, 16851205633, 16851336727, 16851467803, + 16851598909, 16851729989, 16851861097, 16851992293, 16852123367, 16852254439, 16852385531, + 16852516607, 16852647701, 16852778773, 16852909889, 16853040989, 16853172079, 16853303167, + 16853434243, 16853565371, 16853696467, 16853827547, 16853958619, 16854089711, 16854220843, + 16854351919, 16854483047, 16854614129, 16854745231, 16854876343, 16855007419, 16855138501, + 16855269577, 16855400659, 16855531741, 16855662823, 16855793909, 16855925003, 16856056097, + 16856187203, 16856318279, 16856449471, 16856580563, 16856711653, 16856842771, 16856973863, + 16857105077, 16857236177, 16857367309, 16857498397, 16857629507, 16857760603, 16857891697, + 16858022773, 16858153861, 16858284941, 16858416019, 16858547093, 16858678217, 16858809293, + 16858940381, 16859071457, 16859202557, 16859333629, 16859464729, 16859595811, 16859726903, + 16859857981, 16859989073, 16860120149, 16860251227, 16860382303, 16860513427, 16860644503, + 16860775639, 16860906719, 16861037821, 16861168897, 16861299971, 16861431071, 16861562143, + 16861693217, 16861824299, 16861955389, 16862086477, 16862217557, 16862348651, 16862479747, + 16862610829, 16862741947, 16862873029, 16863004163, 16863135251, 16863266351, 16863397459, + 16863528541, 16863659641, 16863790717, 16863921791, 16864052873, 16864183979, 16864315079, + 16864446169, 16864577243, 16864708337, 16864839479, 16864970569, 16865101661, 16865232773, + 16865363849, 16865494937, 16865626061, 16865757133, 16865888227, 16866019307, 16866150391, + 16866281473, 16866412561, 16866543649, 16866674743, 16866805817, 16866936917, 16867068047, + 16867199123, 16867330223, 16867461323, 16867592407, 16867723559, 16867854643, 16867985731, + 16868116823, 16868247953, 16868379041, 16868510149, 16868641247, 16868772331, 16868903407, + 16869034571, 16869165661, 16869296771, 16869427847, 16869558973, 16869690077, 16869821153, + 16869952241, 16870083343, 16870214447, 16870345529, 16870476619, 16870607711, 16870738883, + 16870869971, 16871001079, 16871132171, 16871263261, 16871394341, 16871525479, 16871656553, + 16871787629, 16871918731, 16872049811, 16872180883, 16872311959, 16872443039, 16872574139, + 16872705229, 16872836327, 16872967451, 16873098527, 16873229707, 16873360787, 16873491913, + 16873622993, 16873754069, 16873885153, 16874016239, 16874147347, 16874278439, 16874409511, + 16874540621, 16874671703, 16874802781, 16874933857, 16875064933, 16875196073, 16875327163, + 16875458239, 16875589321, 16875720427, 16875851507, 16875982583, 16876113659, 16876244731, + 16876375811, 16876506893, 16876638001, 16876769101, 16876900181, 16877031277, 16877162363, + 16877293453, 16877424527, 16877555671, 16877686769, 16877817863, 16877948939, 16878080017, + 16878211123, 16878342233, 16878473317, 16878604397, 16878735487, 16878866561, 16878997633, + 16879128733, 16879259809, 16879390939, 16879522021, 16879653151, 16879784267, 16879915361, + 16880046451, 16880177597, 16880308699, 16880439893, 16880570977, 16880702053, 16880833133, + 16880964239, 16881095321, 16881226403, 16881357497, 16881488573, 16881619663, 16881750751, + 16881881839, 16882012913, 16882144079, 16882275161, 16882406267, 16882537393, 16882668493, + 16882799629, 16882930703, 16883061823, 16883192923, 16883324027, 16883455129, 16883586221, + 16883717293, 16883848369, 16883979451, 16884110563, 16884241639, 16884372719, 16884503791, + 16884634891, 16884765971, 16884897049, 16885028131, 16885159241, 16885290319, 16885421393, + 16885552469, 16885683547, 16885814623, 16885945723, 16886076811, 16886207917, 16886338999, + 16886470087, 16886601191, 16886732287, 16886863393, 16886994469, 16887125579, 16887256709, + 16887387799, 16887518881, 16887649957, 16887781049, 16887912121, 16888043269, 16888174399, + 16888305509, 16888436597, 16888567679, 16888698779, 16888829861, 16888960937, 16889092009, + 16889223083, 16889354177, 16889485273, 16889616349, 16889747437, 16889878541, 16890009613, + 16890140731, 16890271829, 16890402937, 16890534079, 16890665161, 16890796277, 16890927349, + 16891058453, 16891189529, 16891320613, 16891451699, 16891582831, 16891713919, 16891844993, + 16891976069, 16892107153, 16892238271, 16892369393, 16892500511, 16892631583, 16892762659, + 16892893783, 16893024913, 16893156011, 16893287093, 16893418183, 16893549317, 16893680399, + 16893811471, 16893942577, 16894073653, 16894204729, 16894335841, 16894466917, 16894597999, + 16894729109, 16894860233, 16894991329, 16895122417, 16895253527, 16895384621, 16895515829, + 16895646907, 16895777999, 16895909071, 16896040159, 16896171233, 16896302347, 16896433507, + 16896564623, 16896695791, 16896826871, 16896957947, 16897089109, 16897220209, 16897351283, + 16897482361, 16897613441, 16897744517, 16897875607, 16898006707, 16898137801, 16898268917, + 16898400073, 16898531147, 16898662219, 16898793313, 16898924431, 16899055507, 16899186631, + 16899317707, 16899448781, 16899579899, 16899711001, 16899842101, 16899973183, 16900104269, + 16900235351, 16900366423, 16900497499, 16900628579, 16900759663, 16900890757, 16901021861, + 16901152943, 16901284021, 16901415101, 16901546203, 16901677291, 16901808383, 16901939473, + 16902070583, 16902201671, 16902332743, 16902463847, 16902594941, 16902726041, 16902857119, + 16902988199, 16903119319, 16903250393, 16903381489, 16903512589, 16903643681, 16903774777, + 16903905881, 16904036969, 16904168087, 16904299193, 16904430289, 16904561381, 16904692489, + 16904823577, 16904954657, 16905085751, 16905216829, 16905347917, 16905478999, 16905610081, + 16905741163, 16905872251, 16906003343, 16906134491, 16906265591, 16906396679, 16906527751, + 16906658827, 16906789919, 16906921037, 16907052121, 16907183197, 16907314321, 16907445409, + 16907576509, 16907707591, 16907838737, 16907969863, 16908100939, 16908232039, 16908363113, + 16908494189, 16908625303, 16908756379, 16908887459, 16909018571, 16909149643, 16909280743, + 16909411877, 16909542953, 16909674077, 16909805177, 16909936259, 16910067353, 16910198443, + 16910329523, 16910460601, 16910591683, 16910722793, 16910853877, 16910984953, 16911116029, + 16911247159, 16911378233, 16911509311, 16911640393, 16911771511, 16911902593, 16912033669, + 16912164749, 16912295831, 16912426919, 16912558037, 16912689109, 16912820231, 16912951337, + 16913082409, 16913213483, 16913344621, 16913475701, 16913606777, 16913737877, 16913868967, + 16914000083, 16914131177, 16914262273, 16914393367, 16914524483, 16914655577, 16914786673, + 16914917791, 16915048873, 16915179947, 16915311059, 16915442177, 16915573271, 16915704343, + 16915835423, 16915966511, 16916097631, 16916228711, 16916359829, 16916490901, 16916621999, + 16916753083, 16916884163, 16917015257, 16917146381, 16917277483, 16917408559, 16917539689, + 16917670799, 16917801871, 16917932957, 16918064039, 16918195127, 16918326241, 16918457327, + 16918588403, 16918719479, 16918850581, 16918981663, 16919112787, 16919243879, 16919374957, + 16919506033, 16919637109, 16919768209, 16919899303, 16920030427, 16920161509, 16920292589, + 16920423671, 16920554789, 16920685861, 16920816937, 16920948013, 16921079089, 16921210183, + 16921341277, 16921472383, 16921603459, 16921734563, 16921865651, 16921996723, 16922127799, + 16922258897, 16922390027, 16922521237, 16922652323, 16922783407, 16922914487, 16923045619, + 16923176701, 16923307837, 16923438929, 16923570007, 16923701111, 16923832183, 16923963283, + 16924094377, 16924225469, 16924356551, 16924487677, 16924618757, 16924749841, 16924880953, + 16925012029, 16925143141, 16925274283, 16925405383, 16925536477, 16925667553, 16925798627, + 16925929717, 16926060799, 16926191903, 16926322981, 16926454067, 16926585139, 16926716227, + 16926847313, 16926978413, 16927109497, 16927240573, 16927371673, 16927502747, 16927633823, + 16927764913, 16927896019, 16928027093, 16928158223, 16928289299, 16928420407, 16928551481, + 16928682581, 16928813659, 16928944733, 16929075809, 16929206893, 16929337969, 16929469049, + 16929600139, 16929731213, 16929862297, 16929993383, 16930124459, 16930255619, 16930386709, + 16930517809, 16930648883, 16930779979, 16930911061, 16931042147, 16931173219, 16931304311, + 16931435419, 16931566543, 16931697649, 16931828747, 16931959831, 16932090919, 16932222061, + 16932353147, 16932484223, 16932615319, 16932746407, 16932877537, 16933008623, 16933139737, + 16933270819, 16933401913, 16933532989, 16933664107, 16933795187, 16933926259, 16934057333, + 16934188429, 16934319509, 16934450591, 16934581667, 16934712779, 16934843873, 16934974967, + 16935106043, 16935237127, 16935368221, 16935499309, 16935630391, 16935761467, 16935892553, + 16936023641, 16936154713, 16936285789, 16936416869, 16936547941, 16936679017, 16936810109, + 16936941191, 16937072263, 16937203351, 16937334443, 16937465549, 16937596639, 16937727749, + 16937858831, 16937989903, 16938121019, 16938252103, 16938383197, 16938514279, 16938645397, + 16938776473, 16938907571, 16939038647, 16939169719, 16939300853, 16939431961, 16939563097, + 16939694179, 16939825267, 16939956367, 16940087441, 16940218513, 16940349607, 16940480699, + 16940611771, 16940742853, 16940873941, 16941005021, 16941136133, 16941267209, 16941398293, + 16941529391, 16941660497, 16941791599, 16941922687, 16942053769, 16942184851, 16942315969, + 16942447043, 16942578139, 16942709221, 16942840297, 16942971379, 16943102461, 16943233537, + 16943364631, 16943495707, 16943626811, 16943757893, 16943889059, 16944020147, 16944151219, + 16944282307, 16944413419, 16944544499, 16944675593, 16944806701, 16944937817, 16945068913, + 16945199987, 16945331071, 16945462199, 16945593307, 16945724413, 16945855513, 16945986611, + 16946117707, 16946248783, 16946379893, 16946510983, 16946642059, 16946773141, 16946904239, + 16947035317, 16947166399, 16947297503, 16947428579, 16947559669, 16947690763, 16947821897, + 16947952969, 16948084061, 16948215133, 16948346221, 16948477313, 16948608407, 16948739501, + 16948870597, 16949001743, 16949132833, 16949263943, 16949395019, 16949526103, 16949657189, + 16949788321, 16949919397, 16950050477, 16950181553, 16950312629, 16950443701, 16950574841, + 16950705913, 16950837017, 16950968173, 16951099259, 16951230371, 16951361447, 16951492553, + 16951623643, 16951754749, 16951885831, 16952016911, 16952148007, 16952279089, 16952410169, + 16952541259, 16952672339, 16952803423, 16952934511, 16953065599, 16953196691, 16953327779, + 16953458869, 16953589943, 16953721067, 16953852151, 16953983239, 16954114327, 16954245403, + 16954376497, 16954507573, 16954638647, 16954769731, 16954900873, 16955031997, 16955163119, + 16955294203, 16955425309, 16955556389, 16955687509, 16955818589, 16955949671, 16956080747, + 16956211829, 16956342917, 16956473993, 16956605111, 16956736211, 16956867283, 16956998369, + 16957129463, 16957260601, 16957391729, 16957522801, 16957653887, 16957784959, 16957916047, + 16958047129, 16958178247, 16958309327, 16958440409, 16958571533, 16958702609, 16958833739, + 16958964853, 16959095927, 16959227011, 16959358099, 16959489191, 16959620273, 16959751357, + 16959882451, 16960013527, 16960144651, 16960275737, 16960406809, 16960537907, 16960669001, + 16960800079, 16960931159, 16961062241, 16961193329, 16961324437, 16961455513, 16961586589, + 16961717687, 16961848769, 16961979841, 16962110917, 16962241999, 16962373117, 16962504191, + 16962635281, 16962766397, 16962897473, 16963028549, 16963159621, 16963290749, 16963421821, + 16963552909, 16963684019, 16963815097, 16963946177, 16964077253, 16964208343, 16964339437, + 16964470519, 16964601593, 16964732669, 16964863889, 16964994973, 16965126053, 16965257137, + 16965388261, 16965519341, 16965650413, 16965781501, 16965912589, 16966043671, 16966174747, + 16966305871, 16966436999, 16966568083, 16966699181, 16966830271, 16966961353, 16967092447, + 16967223523, 16967354603, 16967485709, 16967616793, 16967747891, 16967878979, 16968010057, + 16968141191, 16968272267, 16968403339, 16968534439, 16968665537, 16968796613, 16968927719, + 16969058833, 16969189907, 16969320997, 16969452163, 16969583263, 16969714337, 16969845413, + 16969976489, 16970107603, 16970238709, 16970369789, 16970500867, 16970631967, 16970763041, + 16970894123, 16971025213, 16971156299, 16971287381, 16971418501, 16971549587, 16971680659, + 16971811783, 16971942881, 16972074001, 16972205083, 16972336177, 16972467251, 16972598339, + 16972729463, 16972860539, 16972991663, 16973122741, 16973253833, 16973384929, 16973516003, + 16973647081, 16973778179, 16973909263, 16974040351, 16974171433, 16974302567, 16974433643, + 16974564721, 16974695797, 16974826877, 16974958009, 16975089097, 16975220191, 16975351271, + 16975482347, 16975613471, 16975744547, 16975875649, 16976006737, 16976137817, 16976268919, + 16976400011, 16976531101, 16976662177, 16976793257, 16976924339, 16977055483, 16977186559, + 16977317639, 16977448751, 16977579847, 16977710921, 16977842017, 16977973097, 16978104181, + 16978235273, 16978366369, 16978497521, 16978628629, 16978759757, 16978890829, 16979021921, + 16979153033, 16979284171, 16979415251, 16979546323, 16979677409, 16979808499, 16979939623, + 16980070699, 16980201781, 16980332869, 16980463967, 16980595063, 16980726163, 16980857237, + 16980988333, 16981119433, 16981250537, 16981381609, 16981512683, 16981643759, 16981774907, + 16981905979, 16982037071, 16982168153, 16982299253, 16982430329, 16982561413, 16982692513, + 16982823601, 16982954693, 16983085781, 16983216863, 16983347971, 16983479129, 16983610207, + 16983741283, 16983872371, 16984003451, 16984134527, 16984265611, 16984396691, 16984527809, + 16984658927, 16984789999, 16984921073, 16985052169, 16985183261, 16985314343, 16985445419, + 16985576551, 16985707631, 16985838707, 16985969783, 16986100891, 16986231991, 16986363067, + 16986494149, 16986625231, 16986756343, 16986887417, 16987018501, 16987149589, 16987280663, + 16987411739, 16987542811, 16987673893, 16987804993, 16987936073, 16988067167, 16988198261, + 16988329357, 16988460431, 16988591507, 16988722631, 16988853769, 16988984849, 16989115931, + 16989247057, 16989378151, 16989509239, 16989640321, 16989771397, 16989902477, 16990033573, + 16990164733, 16990295809, 16990426891, 16990557977, 16990689059, 16990820131, 16990951217, + 16991082319, 16991213417, 16991344511, 16991475619, 16991606693, 16991737781, 16991868869, + 16991999963, 16992131047, 16992262129, 16992393211, 16992524287, 16992655403, 16992786479, + 16992917563, 16993048643, 16993179733, 16993310813, 16993441903, 16993572979, 16993704059, + 16993835141, 16993966217, 16994097319, 16994228393, 16994359483, 16994490559, 16994621641, + 16994752751, 16994883881, 16995014963, 16995146111, 16995277193, 16995408289, 16995539369, + 16995670477, 16995801617, 16995932689, 16996063793, 16996194869, 16996325947, 16996457033, + 16996588123, 16996719199, 16996850281, 16996981369, 16997112443, 16997243521, 16997374613, + 16997505761, 16997636849, 16997767967, 16997899057, 16998030169, 16998161249, 16998292321, + 16998423427, 16998554509, 16998685591, 16998816673, 16998947761, 16999078843, 16999209971, + 16999341061, 16999472137, 16999603249, 16999734343, 16999865417, 16999996513, 17000127589, + 17000258713, 17000389789, 17000520919, 17000652037, 17000783117, 17000914193, 17001045331, + 17001176407, 17001307493, 17001438577, 17001569653, 17001700739, 17001831811, 17001962897, + 17002093991, 17002225111, 17002356199, 17002487311, 17002618387, 17002749473, 17002880549, + 17003011639, 17003142733, 17003273827, 17003404909, 17003536003, 17003667091, 17003798167, + 17003929249, 17004060323, 17004191447, 17004322541, 17004453667, 17004584743, 17004715883, + 17004846959, 17004978071, 17005109153, 17005240289, 17005371373, 17005502471, 17005633571, + 17005764733, 17005895833, 17006026963, 17006158087, 17006289173, 17006420257, 17006551333, + 17006682463, 17006813557, 17006944637, 17007075737, 17007206819, 17007337903, 17007468983, + 17007600107, 17007731189, 17007862303, 17007993391, 17008124467, 17008255543, 17008386631, + 17008517711, 17008648819, 17008779899, 17008910983, 17009042069, 17009173157, 17009304229, + 17009435321, 17009566451, 17009697553, 17009828659, 17009959781, 17010090857, 17010221971, + 17010353047, 17010484123, 17010615221, 17010746317, 17010877417, 17011008559, 17011139633, + 17011270733, 17011401809, 17011532897, 17011663969, 17011795043, 17011926131, 17012057287, + 17012188447, 17012319521, 17012450593, 17012581669, 17012712757, 17012843831, 17012974919, + 17013106009, 17013237091, 17013368173, 17013499249, 17013630323, 17013761417, 17013892501, + 17014023577, 17014154687, 17014285789, 17014416863, 17014547941, 17014679023, 17014810103, + 17014941193, 17015072279, 17015203351, 17015334431, 17015465567, 17015596649, 17015727763, + 17015858843, 17015989919, 17016120991, 17016252079, 17016383171, 17016514279, 17016645353, + 17016776429, 17016907511, 17017038583, 17017169657, 17017300787, 17017431859, 17017562941, + 17017694017, 17017825117, 17017956209, 17018087293, 17018218381, 17018349461, 17018480603, + 17018611721, 17018742827, 17018873899, 17019004973, 17019136061, 17019267179, 17019398311, + 17019529391, 17019660481, 17019791573, 17019922721, 17020053811, 17020184903, 17020315979, + 17020447139, 17020578247, 17020709347, 17020840477, 17020971551, 17021102629, 17021233711, + 17021364803, 17021495893, 17021626981, 17021758067, 17021889163, 17022020263, 17022151361, + 17022282437, 17022413543, 17022544661, 17022675743, 17022806821, 17022937901, 17023068989, + 17023200067, 17023331173, 17023462271, 17023593373, 17023724489, 17023855567, 17023986641, + 17024117723, 17024248831, 17024379923, 17024510999, 17024642077, 17024773159, 17024904271, + 17025035351, 17025166423, 17025297551, 17025428627, 17025559711, 17025690809, 17025821887, + 17025952961, 17026084043, 17026215133, 17026346237, 17026477333, 17026608409, 17026739519, + 17026870643, 17027001721, 17027132797, 17027263901, 17027395013, 17027526107, 17027657191, + 17027788291, 17027919371, 17028050453, 17028181561, 17028312643, 17028443741, 17028574853, + 17028705929, 17028837017, 17028968093, 17029099169, 17029230241, 17029361317, 17029492397, + 17029623473, 17029754561, 17029885651, 17030016733, 17030147863, 17030278939, 17030410027, + 17030541113, 17030672189, 17030803267, 17030934341, 17031065413, 17031196487, 17031327581, + 17031458663, 17031589763, 17031720899, 17031851971, 17031983053, 17032114157, 17032245271, + 17032376419, 17032507559, 17032638631, 17032769731, 17032900813, 17033031889, 17033162989, + 17033294099, 17033425217, 17033556307, 17033687383, 17033818489, 17033949571, 17034080711, + 17034211801, 17034342881, 17034473971, 17034605053, 17034736133, 17034867209, 17034998297, + 17035129381, 17035260481, 17035391557, 17035522661, 17035653781, 17035784863, 17035915943, + 17036047019, 17036178097, 17036309179, 17036440271, 17036571347, 17036702437, 17036833511, + 17036964583, 17037095689, 17037226769, 17037357851, 17037488929, 17037620011, 17037751091, + 17037882163, 17038013257, 17038144337, 17038275421, 17038406543, 17038537697, 17038668781, + 17038799857, 17038930967, 17039062043, 17039193133, 17039324219, 17039455331, 17039586407, + 17039717501, 17039848577, 17039979659, 17040110741, 17040241871, 17040372959, 17040504043, + 17040635149, 17040766229, 17040897329, 17041028483, 17041159571, 17041290689, 17041421767, + 17041552867, 17041683947, 17041815031, 17041946111, 17042077201, 17042208277, 17042339357, + 17042470469, 17042601547, 17042732633, 17042863763, 17042994847, 17043125929, 17043257029, + 17043388139, 17043519221, 17043650293, 17043781373, 17043912463, 17044043561, 17044174661, + 17044305787, 17044436869, 17044567951, 17044699043, 17044830119, 17044961239, 17045092343, + 17045223421, 17045354527, 17045485607, 17045616701, 17045747779, 17045878867, 17046009949, + 17046141031, 17046272171, 17046403357, 17046534473, 17046665549, 17046796639, 17046927713, + 17047058827, 17047189903, 17047320977, 17047452073, 17047583159, 17047714237, 17047845319, + 17047976399, 17048107511, 17048238583, 17048369711, 17048500801, 17048631881, 17048762959, + 17048894221, 17049025303, 17049156461, 17049287557, 17049418651, 17049549739, 17049680827, + 17049811903, 17049942979, 17050074079, 17050205191, 17050336273, 17050467403, 17050598489, + 17050729583, 17050860667, 17050991747, 17051122853, 17051253949, 17051385031, 17051516113, + 17051647189, 17051778283, 17051909359, 17052040433, 17052171553, 17052302633, 17052433777, + 17052564883, 17052696013, 17052827087, 17052958183, 17053089257, 17053220333, 17053351439, + 17053482569, 17053613659, 17053744753, 17053875827, 17054006899, 17054137999, 17054269093, + 17054400169, 17054531243, 17054662319, 17054793401, 17054924483, 17055055561, 17055186647, + 17055317731, 17055448829, 17055579941, 17055711041, 17055842117, 17055973189, 17056104293, + 17056235369, 17056366447, 17056497539, 17056628621, 17056759693, 17056890779, 17057021887, + 17057152969, 17057284063, 17057415143, 17057546239, 17057677337, 17057808419, 17057939527, + 17058070639, 17058201733, 17058332807, 17058463883, 17058594997, 17058726077, 17058857161, + 17058988273, 17059119349, 17059250477, 17059381567, 17059512649, 17059643767, 17059774847, + 17059905959, 17060037061, 17060168137, 17060299213, 17060430347, 17060561437, 17060692529, + 17060823601, 17060954699, 17061085771, 17061216863, 17061347957, 17061479033, 17061610121, + 17061741199, 17061872281, 17062003379, 17062134451, 17062265527, 17062396619, 17062527701, + 17062658779, 17062789879, 17062920983, 17063052059, 17063183131, 17063314241, 17063445323, + 17063576407, 17063707481, 17063838557, 17063969647, 17064100751, 17064231841, 17064362923, + 17064494021, 17064625103, 17064756187, 17064887261, 17065018343, 17065149419, 17065280501, + 17065411607, 17065542679, 17065673809, 17065804897, 17065935973, 17066067097, 17066198189, + 17066329279, 17066460353, 17066591441, 17066722537, 17066853611, 17066984689, 17067115787, + 17067246877, 17067378049, 17067509143, 17067640259, 17067771359, 17067902431, 17068033561, + 17068164637, 17068295729, 17068426801, 17068557881, 17068688977, 17068820051, 17068951129, + 17069082221, 17069213299, 17069344379, 17069475469, 17069606579, 17069737709, 17069868791, + 17069999899, 17070131027, 17070262109, 17070393181, 17070524267, 17070655363, 17070786437, + 17070917531, 17071048609, 17071179689, 17071310783, 17071441867, 17071572949, 17071704031, + 17071835119, 17071966193, 17072097269, 17072228351, 17072359483, 17072490581, 17072621669, + 17072752747, 17072883823, 17073014899, 17073145987, 17073277069, 17073408169, 17073539269, + 17073670363, 17073801461, 17073932549, 17074063667, 17074194757, 17074325843, 17074456937, + 17074588087, 17074719163, 17074850249, 17074981331, 17075112403, 17075243557, 17075374633, + 17075505737, 17075636833, 17075767927, 17075899021, 17076030131, 17076161233, 17076292333, + 17076423421, 17076554527, 17076685667, 17076816749, 17076947857, 17077078979, 17077210061, + 17077341221, 17077472303, 17077603379, 17077734497, 17077865653, 17077996757, 17078127863, + 17078258957, 17078390051, 17078521123, 17078652197, 17078783273, 17078914381, 17079045463, + 17079176573, 17079307657, 17079438743, 17079569821, 17079700919, 17079832037, 17079963119, + 17080094249, 17080225343, 17080356427, 17080487509, 17080618637, 17080749709, 17080880807, + 17081011889, 17081142961, 17081274103, 17081405221, 17081536319, 17081667403, 17081798477, + 17081929549, 17082060629, 17082191717, 17082322793, 17082453877, 17082584957, 17082716047, + 17082847121, 17082978229, 17083109377, 17083240477, 17083371551, 17083502659, 17083633733, + 17083764811, 17083895897, 17084027003, 17084158079, 17084289181, 17084420267, 17084551343, + 17084682467, 17084813573, 17084944661, 17085075737, 17085206837, 17085337933, 17085469007, + 17085600107, 17085731183, 17085862259, 17085993347, 17086124479, 17086255573, 17086386661, + 17086517737, 17086648867, 17086779943, 17086911019, 17087042101, 17087173177, 17087304259, + 17087435347, 17087566423, 17087697541, 17087828621, 17087959703, 17088090853, 17088221947, + 17088353039, 17088484121, 17088615211, 17088746291, 17088877363, 17089008451, 17089139533, + 17089270609, 17089401731, 17089532809, 17089663897, 17089794977, 17089926053, 17090057141, + 17090188309, 17090319413, 17090450497, 17090581591, 17090712689, 17090843827, 17090974907, + 17091106001, 17091237089, 17091368171, 17091499289, 17091630383, 17091761513, 17091892619, + 17092023709, 17092154809, 17092285909, 17092417033, 17092548169, 17092679249, 17092810393, + 17092941527, 17093072611, 17093203697, 17093334799, 17093465941, 17093597021, 17093728153, + 17093859239, 17093990311, 17094121411, 17094252503, 17094383591, 17094514669, 17094645791, + 17094776947, 17094908099, 17095039201, 17095170331, 17095301413, 17095432537, 17095563629, + 17095694701, 17095825807, 17095956901, 17096087989, 17096219093, 17096350189, 17096481317, + 17096612399, 17096743471, 17096874569, 17097005671, 17097136783, 17097267871, 17097398951, + 17097530027, 17097661121, 17097792223, 17097923321, 17098054411, 17098185491, 17098316579, + 17098447657, 17098578737, 17098709809, 17098840883, 17098971991, 17099103071, 17099234161, + 17099365247, 17099496343, 17099627431, 17099758513, 17099889601, 17100020683, 17100151771, + 17100282917, 17100414007, 17100545087, 17100676163, 17100807239, 17100938339, 17101069417, + 17101200503, 17101331579, 17101462657, 17101593731, 17101724803, 17101855889, 17101986971, + 17102118049, 17102249137, 17102380259, 17102511337, 17102642419, 17102773507, 17102904593, + 17103035669, 17103166753, 17103297847, 17103428933, 17103560029, 17103691103, 17103822181, + 17103953261, 17104084339, 17104215437, 17104346513, 17104477589, 17104608683, 17104739761, + 17104870873, 17105001961, 17105133061, 17105264171, 17105395247, 17105526323, 17105657419, + 17105788507, 17105919581, 17106050657, 17106181753, 17106312893, 17106443969, 17106575053, + 17106706129, 17106837269, 17106968353, 17107099519, 17107230601, 17107361701, 17107492811, + 17107623901, 17107754987, 17107886069, 17108017153, 17108148227, 17108279329, 17108410447, + 17108541533, 17108672621, 17108803697, 17108934781, 17109065861, 17109196957, 17109328073, + 17109459149, 17109590227, 17109721303, 17109852401, 17109983533, 17110114613, 17110245689, + 17110376761, 17110507849, 17110638949, 17110770059, 17110901147, 17111032231, 17111163313, + 17111294399, 17111425493, 17111556571, 17111687657, 17111818751, 17111949857, 17112080929, + 17112212059, 17112343133, 17112474209, 17112605281, 17112736357, 17112867467, 17112998543, + 17113129619, 17113260721, 17113391837, 17113522913, 17113654021, 17113785103, 17113916179, + 17114047259, 17114178331, 17114309441, 17114440529, 17114571629, 17114702701, 17114833777, + 17114964859, 17115095951, 17115227027, 17115358121, 17115489203, 17115620297, 17115751423, + 17115882521, 17116013597, 17116144687, 17116275773, 17116406893, 17116537993, 17116669081, + 17116800187, 17116931281, 17117062363, 17117193437, 17117324509, 17117455591, 17117586667, + 17117717789, 17117848861, 17117979941, 17118111029, 17118242101, 17118373187, 17118504259, + 17118635341, 17118766481, 17118897583, 17119028737, 17119159829, 17119290919, 17119421993, + 17119553069, 17119684147, 17119815227, 17119946309, 17120077399, 17120208481, 17120339603, + 17120470681, 17120601761, 17120732869, 17120863987, 17120995061, 17121126137, 17121257213, + 17121388289, 17121519377, 17121650473, 17121781549, 17121912659, 17122043747, 17122174837, + 17122305911, 17122437001, 17122568081, 17122699157, 17122830271, 17122961377, 17123092457, + 17123223539, 17123354657, 17123485759, 17123616889, 17123747983, 17123879083, 17124010157, + 17124141271, 17124272377, 17124403477, 17124534569, 17124665651, 17124796747, 17124927821, + 17125058911, 17125189987, 17125321063, 17125452151, 17125583227, 17125714321, 17125845403, + 17125976507, 17126107597, 17126238709, 17126369807, 17126500883, 17126631961, 17126763047, + 17126894123, 17127025219, 17127156317, 17127287389, 17127418489, 17127549629, 17127680741, + 17127811817, 17127942941, 17128074013, 17128205123, 17128336219, 17128467311, 17128598429, + 17128729507, 17128860583, 17128991707, 17129122793, 17129253877, 17129384999, 17129516071, + 17129647189, 17129778313, 17129909411, 17130040489, 17130171581, 17130302681, 17130433769, + 17130564851, 17130695947, 17130827029, 17130958139, 17131089253, 17131220329, 17131351427, + 17131482581, 17131613659, 17131744739, 17131875811, 17132006923, 17132137999, 17132269079, + 17132400157, 17132531281, 17132662361, 17132793479, 17132924551, 17133055633, 17133186731, + 17133317867, 17133448939, 17133580073, 17133711197, 17133842291, 17133973391, 17134104473, + 17134235603, 17134366679, 17134497769, 17134628873, 17134759973, 17134891057, 17135022137, + 17135153219, 17135284321, 17135415481, 17135546557, 17135677631, 17135808719, 17135939801, + 17136070879, 17136201961, 17136333041, 17136464141, 17136595213, 17136726293, 17136857377, + 17136988471, 17137119563, 17137250651, 17137381733, 17137512839, 17137643911, 17137774999, + 17137906109, 17138037181, 17138168291, 17138299379, 17138430467, 17138561563, 17138692651, + 17138823739, 17138954813, 17139085937, 17139217021, 17139348101, 17139479221, 17139610321, + 17139741431, 17139872509, 17140003591, 17140134677, 17140265767, 17140396879, 17140527973, + 17140659047, 17140790167, 17140921247, 17141052323, 17141183401, 17141314483, 17141445569, + 17141576653, 17141707747, 17141838853, 17141969939, 17142101021, 17142232109, 17142363223, + 17142494311, 17142625387, 17142756467, 17142887539, 17143018621, 17143149721, 17143280867, + 17143411963, 17143543049, 17143674127, 17143805209, 17143936283, 17144067383, 17144198521, + 17144329597, 17144460677, 17144591773, 17144722849, 17144853997, 17144985083, 17145116161, + 17145247253, 17145378343, 17145509453, 17145640571, 17145771647, 17145902723, 17146033799, + 17146164881, 17146295983, 17146427057, 17146558129, 17146689223, 17146820329, 17146951463, + 17147082541, 17147213711, 17147344889, 17147475977, 17147607049, 17147738123, 17147869199, + 17148000271, 17148131347, 17148262441, 17148393523, 17148524641, 17148655781, 17148786923, + 17148918041, 17149049143, 17149180229, 17149311331, 17149442417, 17149573501, 17149704599, + 17149835683, 17149966781, 17150097863, 17150228941, 17150360027, 17150491153, 17150622253, + 17150753353, 17150884427, 17151015559, 17151146641, 17151277723, 17151408823, 17151539929, + 17151671027, 17151802139, 17151933259, 17152064339, 17152195457, 17152326533, 17152457611, + 17152588709, 17152719791, 17152850881, 17152982009, 17153113127, 17153244233, 17153375311, + 17153506411, 17153637499, 17153768591, 17153899667, 17154030743, 17154161821, 17154292921, + 17154424003, 17154555113, 17154686203, 17154817279, 17154948367, 17155079441, 17155210517, + 17155341589, 17155472669, 17155603741, 17155734823, 17155865897, 17155996973, 17156128063, + 17156259137, 17156390219, 17156521321, 17156652427, 17156783549, 17156914657, 17157045749, + 17157176837, 17157307943, 17157439037, 17157570119, 17157701191, 17157832271, 17157963349, + 17158094431, 17158225523, 17158356617, 17158487779, 17158618879, 17158749973, 17158881049, + 17159012149, 17159143229, 17159274311, 17159405383, 17159536463, 17159667649, 17159798723, + 17159929811, 17160060889, 17160191963, 17160323053, 17160454151, 17160585227, 17160716327, + 17160847399, 17160978493, 17161109573, 17161240721, 17161371833, 17161502921, 17161634029, + 17161765109, 17161896197, 17162027269, 17162158357, 17162289437, 17162420519, 17162551613, + 17162682709, 17162813813, 17162944907, 17163075989, 17163207077, 17163338149, 17163469223, + 17163600331, 17163731411, 17163862501, 17163993599, 17164124699, 17164255789, 17164386937, + 17164518047, 17164649119, 17164780207, 17164911299, 17165042381, 17165173453, 17165304551, + 17165435659, 17165566771, 17165697869, 17165828957, 17165960033, 17166091157, 17166222251, + 17166353333, 17166484411, 17166615491, 17166746567, 17166877691, 17167008767, 17167139867, + 17167270997, 17167402123, 17167533203, 17167664287, 17167795361, 17167926439, 17168057521, + 17168188601, 17168319677, 17168450779, 17168581873, 17168712959, 17168844047, 17168975147, + 17169106271, 17169237353, 17169368429, 17169499519, 17169630619, 17169761723, 17169892853, + 17170023961, 17170155061, 17170286137, 17170417213, 17170548289, 17170679437, 17170810513, + 17170941587, 17171072669, 17171203747, 17171334833, 17171465917, 17171596993, 17171728069, + 17171859149, 17171990237, 17172121327, 17172252413, 17172383489, 17172514561, 17172645643, + 17172776717, 17172907813, 17173038893, 17173169987, 17173301059, 17173432163, 17173563259, + 17173694333, 17173825421, 17173956517, 17174087597, 17174218681, 17174349779, 17174480867, + 17174611943, 17174743031, 17174874103, 17175005201, 17175136273, 17175267353, 17175398473, + 17175529577, 17175660743, 17175791821, 17175922903, 17176053997, 17176185083, 17176316167, + 17176447243, 17176578343, 17176709449, 17176840529, 17176971601, 17177102693, 17177233783, + 17177364857, 17177495953, 17177627053, 17177758133}; + +/** + * @brief Indicates whether the input `num` is a prime number. + * + * @param num + * @return A boolean indicating whether the input `num` is a prime number + */ +constexpr bool is_prime(std::size_t num) noexcept +{ + bool flag = true; + // 0 and 1 are not prime numbers + if (num == 0lu || num == 1lu) { + flag = false; + } else { + for (auto i = 2lu; i <= num / 2lu; ++i) { + if (num % i == 0) { + flag = false; + break; + } + } + } + return flag; +} + +/** + * @brief Computes the smallest prime number greater than or equal to `num`. + * + * @param num + * @return The smallest prime number greater than or equal to `num` + */ +constexpr std::size_t compute_prime(std::size_t num) noexcept +{ + while (not is_prime(num)) { + num++; + } + return num; +} + +/** + * @brief Calculates the valid capacity based on `cg_size` , `vector_width` + * and the initial `capacity`. + * + * @tparam cg_size Cooperative Group size + * @tparam vector_width Length of vector load + * @tparam uses_vector_load If vector load is used + * + * @param capacity The initially requested capacity + * @return A valid capacity no smaller than the requested `capacity` + */ +template +constexpr std::size_t get_valid_capacity(std::size_t capacity) noexcept +{ + auto const stride = [&]() { + if constexpr (uses_vector_load) { return cg_size * vector_width; } + if constexpr (not uses_vector_load) { return cg_size; } + }(); + + auto const c = SDIV(capacity, stride); + auto const min_prime = std::lower_bound(primes.begin(), primes.end(), c); + return *min_prime * stride; +} + +} // namespace detail +} // namespace cuco diff --git a/include/cuco/detail/probe_sequence_impl.cuh b/include/cuco/detail/probe_sequence_impl.cuh new file mode 100644 index 000000000..3145e8fa5 --- /dev/null +++ b/include/cuco/detail/probe_sequence_impl.cuh @@ -0,0 +1,380 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +#include +#include + +namespace cuco { +namespace detail { + +/** + * @brief Base class of public probe sequence. This class should not be used directly. + * + * @tparam CGSize Size of CUDA Cooperative Groups + */ +template +class probe_sequence_base { + protected: + /** + * @brief Returns the size of the CUDA cooperative thread group. + */ + static constexpr std::size_t cg_size = CGSize; + + /** + * @brief Returns the number of elements loaded with each vector load. + */ + static constexpr uint32_t vector_width() noexcept { return 2u; } +}; + +/* + * @brief Base class of probe sequence implementation. + * + * Hash map operations are generally memory-bandwidth bound. A vector-load loads two consecutive + * slots instead of one to fully utilize the 16B memory load supported by SASS/hardware thus + * improve memory throughput. This method (flagged by `uses_vector_load` logic) is implicitly + * applied to all hash map operations (e.g. `insert`, `count`, and `retrieve`, etc.) when pairs + * are packable (see `cuco::detail::is_packable` logic). + * + * @tparam Key Type used for keys + * @tparam Value Type of the mapped values + * @tparam Scope The scope in which multimap operations will be performed by + * individual threads + * @tparam VectorWidth Length of vector load + * @tparam CGSize Size of CUDA Cooperative Groups + */ +template +class probe_sequence_impl_base { + protected: + using value_type = cuco::pair_type; + using key_type = Key; + using mapped_type = Value; + using atomic_key_type = cuda::atomic; + using atomic_mapped_type = cuda::atomic; + using pair_atomic_type = cuco::pair_type; + using iterator = pair_atomic_type*; + using const_iterator = pair_atomic_type const*; + + /** + * @brief Returns the number of elements loaded with each vector-load. + */ + static constexpr uint32_t vector_width = VectorWidth; + + /** + * @brief Returns the size of the CUDA cooperative thread group. + */ + static constexpr std::size_t cg_size = CGSize; + + /** + * @brief Indicates if vector-load is used. + * + * Users have no explicit control on whether vector-load is used. + * + * @return Boolean indicating if vector-load is used. + */ + __host__ __device__ static constexpr bool uses_vector_load() noexcept + { + return cuco::detail::is_packable(); + } + + /** + * @brief Constructs a probe sequence based on the given hash map features. + * + * @param slots Pointer to beginning of the hash map slots + * @param capacity Capacity of the hash map + */ + __host__ __device__ explicit probe_sequence_impl_base(iterator slots, std::size_t capacity) + : slots_{slots}, capacity_{capacity} + { + } + + /** + * @brief Returns the capacity of the hash map. + */ + __host__ __device__ __forceinline__ std::size_t get_capacity() const noexcept + { + return capacity_; + } + + /** + * @brief Returns slots array. + */ + __device__ __forceinline__ iterator get_slots() noexcept { return slots_; } + + /** + * @brief Returns slots array. + */ + __device__ __forceinline__ const_iterator get_slots() const noexcept { return slots_; } + + iterator slots_; ///< Pointer to beginning of the hash map slots + const std::size_t capacity_; ///< Total number of slots +}; // class probe_sequence_impl_base + +/** + * @brief Cooperative Groups based Linear probing scheme. + * + * @tparam Key Type used for keys + * @tparam Value Type of the mapped values + * @tparam Scope The scope in which multimap operations will be performed by + * individual threads + * @tparam VectorWidth Length of vector load + * @tparam CGSize Size of CUDA Cooperative Groups + * @tparam Hash Unary callable type + */ +template +class linear_probing_impl + : public probe_sequence_impl_base { + public: + using probe_sequence_impl_base_type = + probe_sequence_impl_base; + using value_type = typename probe_sequence_impl_base_type::value_type; + using key_type = typename probe_sequence_impl_base_type::key_type; + using mapped_type = typename probe_sequence_impl_base_type::mapped_type; + using atomic_key_type = typename probe_sequence_impl_base_type::atomic_key_type; + using atomic_mapped_type = typename probe_sequence_impl_base_type::atomic_mapped_type; + using pair_atomic_type = typename probe_sequence_impl_base_type::pair_atomic_type; + using iterator = typename probe_sequence_impl_base_type::iterator; + using const_iterator = typename probe_sequence_impl_base_type::const_iterator; + + using probe_sequence_impl_base_type::capacity_; + using probe_sequence_impl_base_type::cg_size; + using probe_sequence_impl_base_type::slots_; + using probe_sequence_impl_base_type::uses_vector_load; + using probe_sequence_impl_base_type::vector_width; + + /** + * @brief Constructs a linear probing scheme based on the given hash map features. + * + * @param slots Pointer to beginning of the hash map slots + * @param capacity Capacity of the hash map + * @param hash Unary function to hash each key + */ + __host__ __device__ explicit linear_probing_impl(iterator slots, std::size_t capacity) + : probe_sequence_impl_base_type{slots, capacity}, hash_{Hash{}} + { + } + + /** + * @brief Returns the initial slot for a given key `k`. + * + * If vector-load is enabled, the return slot is always even to avoid illegal memory access. + * + * @tparam CG CUDA Cooperative Groups type + * @param g the Cooperative Group for which the initial slot is needed + * @param k The key to get the slot for + * @return Pointer to the initial slot for `k` + */ + template + __device__ __forceinline__ iterator initial_slot(CG const& g, Key const k) noexcept + { + auto const hash_value = [&]() { + auto const tmp = hash_(k); + if constexpr (uses_vector_load()) { + // initial hash value is always even + return tmp + tmp % 2; + } + if constexpr (not uses_vector_load()) { return tmp; } + }(); + + auto const offset = [&]() { + if constexpr (uses_vector_load()) { return g.thread_rank() * vector_width; } + if constexpr (not uses_vector_load()) { return g.thread_rank(); } + }(); + + // Each CG accesses to a window of (`cg_size` * `vector_width`) + // slots if vector-load is used or `cg_size` slots otherwise + return &slots_[(hash_value + offset) % capacity_]; + } + + /** + * @brief Given a slot `s`, returns the next slot. + * + * If `s` is the last slot, wraps back around to the first slot. + * + * @param s The slot to advance + * @return The next slot after `s` + */ + __device__ __forceinline__ iterator next_slot(iterator s) noexcept + { + std::size_t index = s - slots_; + std::size_t offset; + if constexpr (uses_vector_load()) { + offset = cg_size * vector_width; + } else { + offset = cg_size; + } + return &slots_[(index + offset) % capacity_]; + } + + private: + Hash hash_; ///< The unary callable used to hash the key +}; // class linear_probing + +/** + * @brief Cooperative Groups based double hashing scheme. + * + * Default probe sequence for `cuco::static_multimap`. Double hashing shows superior + * performance when dealing with high multiplicty and/or high occupancy use cases. Performance + * hints: + * - `CGSize` = 1 or 2 when hash map is small (10'000'000 or less), 4 or 8 otherwise. + * + * `Hash1` and `Hash2` should be callable object type. + * + * @tparam Key Type used for keys + * @tparam Value Type of the mapped values + * @tparam Scope The scope in which multimap operations will be performed by + * individual threads + * @tparam VectorWidth Length of vector load + * @tparam CGSize Size of CUDA Cooperative Groups + * @tparam Hash1 Unary callable type + * @tparam Hash2 Unary callable type + */ +template +class double_hashing_impl + : public probe_sequence_impl_base { + public: + using probe_sequence_impl_base_type = + probe_sequence_impl_base; + using value_type = typename probe_sequence_impl_base_type::value_type; + using key_type = typename probe_sequence_impl_base_type::key_type; + using mapped_type = typename probe_sequence_impl_base_type::mapped_type; + using atomic_key_type = typename probe_sequence_impl_base_type::atomic_key_type; + using atomic_mapped_type = typename probe_sequence_impl_base_type::atomic_mapped_type; + using pair_atomic_type = typename probe_sequence_impl_base_type::pair_atomic_type; + using iterator = typename probe_sequence_impl_base_type::iterator; + using const_iterator = typename probe_sequence_impl_base_type::const_iterator; + + using probe_sequence_impl_base_type::capacity_; + using probe_sequence_impl_base_type::cg_size; + using probe_sequence_impl_base_type::slots_; + using probe_sequence_impl_base_type::uses_vector_load; + using probe_sequence_impl_base_type::vector_width; + + /** + * @brief Constructs a double hashing scheme based on the given hash map features. + * + * `hash2` takes a different seed to reduce the chance of secondary clustering. + * + * @param slots Pointer to beginning of the hash map slots + * @param capacity Capacity of the hash map + * @param hash1 First hasher to hash each key + * @param hash2 Second hasher to determine step size + */ + __host__ __device__ explicit double_hashing_impl(iterator slots, std::size_t capacity) + : probe_sequence_impl_base_type{slots, capacity}, + hash1_{Hash1{}}, + hash2_{Hash2{1}}, + step_size_{} + { + } + + /** + * @brief Returns the initial slot for a given key `k`. + * + * If vector-load is enabled, the return slot is always a multiple of (`cg_size` * `vector_width`) + * to avoid illegal memory access. + * + * @tparam CG CUDA Cooperative Groups type + * @param g the Cooperative Group for which the initial slot is needed + * @param k The key to get the slot for + * @return Pointer to the initial slot for `k` + */ + template + __device__ __forceinline__ iterator initial_slot(CG const& g, Key const k) noexcept + { + std::size_t index; + auto const hash_value = hash1_(k); + if constexpr (uses_vector_load()) { + // step size in range [1, prime - 1] * cg_size * vector_width + step_size_ = + (hash2_(k) % (capacity_ / (cg_size * vector_width) - 1) + 1) * cg_size * vector_width; + index = hash_value % (capacity_ / (cg_size * vector_width)) * cg_size * vector_width + + g.thread_rank() * vector_width; + } else { + // step size in range [1, prime - 1] * cg_size + step_size_ = (hash2_(k) % (capacity_ / cg_size - 1) + 1) * cg_size; + index = (hash_value + g.thread_rank()) % capacity_; + } + return slots_ + index; + } + + /** + * @brief Given a slot `s`, returns the next slot. + * + * If `s` is the last slot, wraps back around to the first slot. + * + * @param s The slot to advance + * @return The next slot after `s` + */ + __device__ __forceinline__ iterator next_slot(iterator s) noexcept + { + std::size_t index = s - slots_; + return &slots_[(index + step_size_) % capacity_]; + } + + private: + Hash1 hash1_; ///< The first unary callable used to hash the key + Hash2 hash2_; ///< The second unary callable used to determine step size + std::size_t step_size_; ///< The step stride when searching for the next slot +}; // class double_hashing + +/** + * @brief Probe sequence used internally by hash map. + * + * @tparam ProbeImpl Type of probe sequence implementation + * @tparam Key Type used for keys + * @tparam Value Type of the mapped values + * @tparam Scope The scope in which multimap operations will be performed by + * individual threads + */ +template +class probe_sequence : public ProbeImpl::template impl { + public: + using impl_type = typename ProbeImpl::template impl; + + /** + * @brief Constructs a probe sequence based on the given hash map features. + * + * @param slots Pointer to beginning of the hash map slots + * @param capacity Capacity of the hash map + */ + __host__ __device__ explicit probe_sequence(typename impl_type::iterator slots, + std::size_t capacity) + : impl_type{slots, capacity} + { + } +}; // class probe_sequence + +} // namespace detail +} // namespace cuco diff --git a/include/cuco/detail/static_map_kernels.cuh b/include/cuco/detail/static_map_kernels.cuh index aa4606aa6..e166de3c6 100644 --- a/include/cuco/detail/static_map_kernels.cuh +++ b/include/cuco/detail/static_map_kernels.cuh @@ -12,9 +12,9 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ + */ -namespace cuco{ +namespace cuco { namespace detail { namespace cg = cooperative_groups; @@ -23,7 +23,7 @@ namespace cg = cooperative_groups; * * Each space in `slots` that can hold a key value pair is initialized to a * `pair_atomic_type` containing the key `k` and the value `v`. - * + * * @tparam atomic_key_type Type of the `Key` atomic container * @tparam atomic_mapped_type Type of the `Value` atomic container * @tparam Key key type @@ -34,16 +34,14 @@ namespace cg = cooperative_groups; * @param v Value to which all values in `slots` are initialized * @param size Size of the storage pointed to by `slots` */ -template -__global__ void initialize( - pair_atomic_type* const slots, Key k, - Value v, std::size_t size) { - +template +__global__ void initialize(pair_atomic_type* const slots, Key k, Value v, std::size_t size) +{ auto tid = block_size * blockIdx.x + threadIdx.x; while (tid < size) { new (&slots[tid].first) atomic_key_type{k}; @@ -53,14 +51,14 @@ __global__ void initialize( } /** - * @brief Inserts all key/value pairs in the range `[first, last)`. - * + * @brief Inserts all key/value pairs in the range `[first, last)`. + * * If multiple keys in `[first, last)` compare equal, it is unspecified which * element is inserted. - * - * @tparam block_size + * + * @tparam block_size * @tparam InputIt Device accessible input iterator whose `value_type` is -* convertible to the map's `value_type` + * convertible to the map's `value_type` * @tparam atomicT Type of atomic storage * @tparam viewT Type of device view allowing access of hash map storage * @tparam Hash Unary callable type @@ -72,25 +70,22 @@ __global__ void initialize( * @param hash The unary function to apply to hash each key * @param key_equal The binary function used to compare two keys for equality */ -template -__global__ void insert(InputIt first, - InputIt last, - atomicT* num_successes, - viewT view, - Hash hash, - KeyEqual key_equal) { +template +__global__ void insert( + InputIt first, InputIt last, atomicT* num_successes, viewT view, Hash hash, KeyEqual key_equal) +{ typedef cub::BlockReduce BlockReduce; __shared__ typename BlockReduce::TempStorage temp_storage; std::size_t thread_num_successes = 0; - + auto tid = block_size * blockIdx.x + threadIdx.x; - auto it = first + tid; - + auto it = first + tid; + while (it < last) { typename viewT::value_type const insert_pair{*it}; if (view.insert(insert_pair, hash, key_equal)) { thread_num_successes++; } @@ -100,25 +95,23 @@ __global__ void insert(InputIt first, // compute number of successfully inserted elements for each block // and atomically add to the grand total std::size_t block_num_successes = BlockReduce(temp_storage).Sum(thread_num_successes); - if(threadIdx.x == 0) { - *num_successes += block_num_successes; - } + if (threadIdx.x == 0) { *num_successes += block_num_successes; } } /** - * @brief Inserts all key/value pairs in the range `[first, last)`. - * + * @brief Inserts all key/value pairs in the range `[first, last)`. + * * If multiple keys in `[first, last)` compare equal, it is unspecified which * element is inserted. Uses the CUDA Cooperative Groups API to leverage groups - * of multiple threads to perform each key/value insertion. This provides a + * of multiple threads to perform each key/value insertion. This provides a * significant boost in throughput compared to the non Cooperative Group * `insert` at moderate to high load factors. - * - * @tparam block_size + * + * @tparam block_size * @tparam tile_size The number of threads in the Cooperative Groups used to perform * inserts * @tparam InputIt Device accessible input iterator whose `value_type` is -* convertible to the map's `value_type` + * convertible to the map's `value_type` * @tparam atomicT Type of atomic storage * @tparam viewT Type of device view allowing access of hash map storage * @tparam Hash Unary callable type @@ -130,27 +123,24 @@ __global__ void insert(InputIt first, * @param hash The unary function to apply to hash each key * @param key_equal The binary function used to compare two keys for equality */ -template -__global__ void insert(InputIt first, - InputIt last, - atomicT* num_successes, - viewT view, - Hash hash, - KeyEqual key_equal) { +template +__global__ void insert( + InputIt first, InputIt last, atomicT* num_successes, viewT view, Hash hash, KeyEqual key_equal) +{ typedef cub::BlockReduce BlockReduce; __shared__ typename BlockReduce::TempStorage temp_storage; std::size_t thread_num_successes = 0; auto tile = cg::tiled_partition(cg::this_thread_block()); - auto tid = block_size * blockIdx.x + threadIdx.x; - auto it = first + tid / tile_size; - + auto tid = block_size * blockIdx.x + threadIdx.x; + auto it = first + tid / tile_size; + while (it < last) { // force conversion to value_type typename viewT::value_type const insert_pair{*it}; @@ -159,25 +149,23 @@ __global__ void insert(InputIt first, } it += (gridDim.x * block_size) / tile_size; } - + // compute number of successfully inserted elements for each block // and atomically add to the grand total std::size_t block_num_successes = BlockReduce(temp_storage).Sum(thread_num_successes); - if(threadIdx.x == 0) { - *num_successes += block_num_successes; - } + if (threadIdx.x == 0) { *num_successes += block_num_successes; } } /** * @brief Finds the values corresponding to all keys in the range `[first, last)`. - * - * If the key `*(first + i)` exists in the map, copies its associated value to `(output_begin + i)`. - * Else, copies the empty value sentinel. + * + * If the key `*(first + i)` exists in the map, copies its associated value to `(output_begin + i)`. + * Else, copies the empty value sentinel. * @tparam block_size The size of the thread block * @tparam Value The type of the mapped value for the map * @tparam InputIt Device accessible input iterator whose `value_type` is * convertible to the map's `key_type` - * @tparam OutputIt Device accessible output iterator whose `value_type` is + * @tparam OutputIt Device accessible output iterator whose `value_type` is * convertible to the map's `mapped_type` * @tparam viewT Type of device view allowing access of hash map storage * @tparam Hash Unary callable type @@ -189,37 +177,34 @@ __global__ void insert(InputIt first, * @param hash The unary function to apply to hash each key * @param key_equal The binary function to compare two keys for equality */ -template -__global__ void find(InputIt first, - InputIt last, - OutputIt output_begin, - viewT view, - Hash hash, - KeyEqual key_equal) { - auto tid = block_size * blockIdx.x + threadIdx.x; +template +__global__ void find( + InputIt first, InputIt last, OutputIt output_begin, viewT view, Hash hash, KeyEqual key_equal) +{ + auto tid = block_size * blockIdx.x + threadIdx.x; auto key_idx = tid; __shared__ Value writeBuffer[block_size]; - - while(first + key_idx < last) { - auto key = *(first + key_idx); + + while (first + key_idx < last) { + auto key = *(first + key_idx); auto found = view.find(key, hash, key_equal); - /* - * The ld.relaxed.gpu instruction used in view.find causes L1 to + /* + * The ld.relaxed.gpu instruction used in view.find causes L1 to * flush more frequently, causing increased sector stores from L2 to global memory. * By writing results to shared memory and then synchronizing before writing back * to global, we no longer rely on L1, preventing the increase in sector stores from * L2 to global and improving performance. */ - writeBuffer[threadIdx.x] = - found == view.end() - ? view.get_empty_value_sentinel() - : found->second.load(cuda::std::memory_order_relaxed); + writeBuffer[threadIdx.x] = found == view.end() + ? view.get_empty_value_sentinel() + : found->second.load(cuda::std::memory_order_relaxed); __syncthreads(); *(output_begin + key_idx) = writeBuffer[threadIdx.x]; key_idx += gridDim.x * block_size; @@ -228,10 +213,10 @@ __global__ void find(InputIt first, /** * @brief Finds the values corresponding to all keys in the range `[first, last)`. - * - * If the key `*(first + i)` exists in the map, copies its associated value to `(output_begin + i)`. + * + * If the key `*(first + i)` exists in the map, copies its associated value to `(output_begin + i)`. * Else, copies the empty value sentinel. Uses the CUDA Cooperative Groups API to leverage groups - * of multiple threads to find each key. This provides a significant boost in throughput compared + * of multiple threads to find each key. This provides a significant boost in throughput compared * to the non Cooperative Group `find` at moderate to high load factors. * * @tparam block_size The size of the thread block @@ -240,7 +225,7 @@ __global__ void find(InputIt first, * @tparam Value The type of the mapped value for the map * @tparam InputIt Device accessible input iterator whose `value_type` is * convertible to the map's `key_type` - * @tparam OutputIt Device accessible output iterator whose `value_type` is + * @tparam OutputIt Device accessible output iterator whose `value_type` is * convertible to the map's `mapped_type` * @tparam viewT Type of device view allowing access of hash map storage * @tparam Hash Unary callable type @@ -252,42 +237,40 @@ __global__ void find(InputIt first, * @param hash The unary function to apply to hash each key * @param key_equal The binary function to compare two keys for equality */ -template -__global__ void find(InputIt first, - InputIt last, - OutputIt output_begin, - viewT view, - Hash hash, - KeyEqual key_equal) { - auto tile = cg::tiled_partition(cg::this_thread_block()); - auto tid = block_size * blockIdx.x + threadIdx.x; +template +__global__ void find( + InputIt first, InputIt last, OutputIt output_begin, viewT view, Hash hash, KeyEqual key_equal) +{ + auto tile = cg::tiled_partition(cg::this_thread_block()); + auto tid = block_size * blockIdx.x + threadIdx.x; auto key_idx = tid / tile_size; __shared__ Value writeBuffer[block_size]; - - while(first + key_idx < last) { - auto key = *(first + key_idx); + + while (first + key_idx < last) { + auto key = *(first + key_idx); auto found = view.find(tile, key, hash, key_equal); - - /* - * The ld.relaxed.gpu instruction used in view.find causes L1 to + + /* + * The ld.relaxed.gpu instruction used in view.find causes L1 to * flush more frequently, causing increased sector stores from L2 to global memory. * By writing results to shared memory and then synchronizing before writing back * to global, we no longer rely on L1, preventing the increase in sector stores from * L2 to global and improving performance. */ - if(tile.thread_rank() == 0) { + if (tile.thread_rank() == 0) { writeBuffer[threadIdx.x / tile_size] = - found == view.end() - ? view.get_empty_value_sentinel() - : found->second.load(cuda::std::memory_order_relaxed); + found == view.end() ? view.get_empty_value_sentinel() + : found->second.load(cuda::std::memory_order_relaxed); } __syncthreads(); - if(tile.thread_rank() == 0) { + if (tile.thread_rank() == 0) { *(output_begin + key_idx) = writeBuffer[threadIdx.x / tile_size]; } key_idx += (gridDim.x * block_size) / tile_size; @@ -296,7 +279,7 @@ __global__ void find(InputIt first, /** * @brief Indicates whether the keys in the range `[first, last)` are contained in the map. - * + * * Writes a `bool` to `(output + i)` indicating if the key `*(first + i)` exists in the map. * * @tparam block_size The size of the thread block @@ -306,7 +289,7 @@ __global__ void find(InputIt first, * convertible to the map's `mapped_type` * @tparam viewT Type of device view allowing access of hash map storage * @tparam Hash Unary callable type - * @tparam KeyEqual Binary callable type + * @tparam KeyEqual Binary callable type * @param first Beginning of the sequence of keys * @param last End of the sequence of keys * @param output_begin Beginning of the sequence of booleans for the presence of each key @@ -314,26 +297,24 @@ __global__ void find(InputIt first, * @param hash The unary function to apply to hash each key * @param key_equal The binary function to compare two keys for equality */ -template -__global__ void contains(InputIt first, - InputIt last, - OutputIt output_begin, - viewT view, - Hash hash, - KeyEqual key_equal) { - auto tid = block_size * blockIdx.x + threadIdx.x; +template +__global__ void contains( + InputIt first, InputIt last, OutputIt output_begin, viewT view, Hash hash, KeyEqual key_equal) +{ + auto tid = block_size * blockIdx.x + threadIdx.x; auto key_idx = tid; __shared__ bool writeBuffer[block_size]; - - while(first + key_idx < last) { + + while (first + key_idx < last) { auto key = *(first + key_idx); - - /* - * The ld.relaxed.gpu instruction used in view.find causes L1 to + + /* + * The ld.relaxed.gpu instruction used in view.find causes L1 to * flush more frequently, causing increased sector stores from L2 to global memory. * By writing results to shared memory and then synchronizing before writing back * to global, we no longer rely on L1, preventing the increase in sector stores from @@ -348,10 +329,10 @@ __global__ void contains(InputIt first, /** * @brief Indicates whether the keys in the range `[first, last)` are contained in the map. - * + * * Writes a `bool` to `(output + i)` indicating if the key `*(first + i)` exists in the map. - * Uses the CUDA Cooperative Groups API to leverage groups of multiple threads to perform the - * contains operation for each key. This provides a significant boost in throughput compared + * Uses the CUDA Cooperative Groups API to leverage groups of multiple threads to perform the + * contains operation for each key. This provides a significant boost in throughput compared * to the non Cooperative Group `contains` at moderate to high load factors. * * @tparam block_size The size of the thread block @@ -363,7 +344,7 @@ __global__ void contains(InputIt first, * convertible to the map's `mapped_type` * @tparam viewT Type of device view allowing access of hash map storage * @tparam Hash Unary callable type - * @tparam KeyEqual Binary callable type + * @tparam KeyEqual Binary callable type * @param first Beginning of the sequence of keys * @param last End of the sequence of keys * @param output_begin Beginning of the sequence of booleans for the presence of each key @@ -371,43 +352,40 @@ __global__ void contains(InputIt first, * @param hash The unary function to apply to hash each key * @param key_equal The binary function to compare two keys for equality */ -template -__global__ void contains(InputIt first, - InputIt last, - OutputIt output_begin, - viewT view, - Hash hash, - KeyEqual key_equal) { - auto tile = cg::tiled_partition(cg::this_thread_block()); - auto tid = block_size * blockIdx.x + threadIdx.x; +template +__global__ void contains( + InputIt first, InputIt last, OutputIt output_begin, viewT view, Hash hash, KeyEqual key_equal) +{ + auto tile = cg::tiled_partition(cg::this_thread_block()); + auto tid = block_size * blockIdx.x + threadIdx.x; auto key_idx = tid / tile_size; __shared__ bool writeBuffer[block_size]; - - while(first + key_idx < last) { - auto key = *(first + key_idx); + + while (first + key_idx < last) { + auto key = *(first + key_idx); auto found = view.contains(tile, key, hash, key_equal); - - /* - * The ld.relaxed.gpu instruction used in view.find causes L1 to + + /* + * The ld.relaxed.gpu instruction used in view.find causes L1 to * flush more frequently, causing increased sector stores from L2 to global memory. * By writing results to shared memory and then synchronizing before writing back * to global, we no longer rely on L1, preventing the increase in sector stores from * L2 to global and improving performance. */ - if(tile.thread_rank() == 0) { - writeBuffer[threadIdx.x / tile_size] = found; - } + if (tile.thread_rank() == 0) { writeBuffer[threadIdx.x / tile_size] = found; } __syncthreads(); - if(tile.thread_rank() == 0) { + if (tile.thread_rank() == 0) { *(output_begin + key_idx) = writeBuffer[threadIdx.x / tile_size]; } key_idx += (gridDim.x * block_size) / tile_size; } } -} // namespace detail -} // namespace cuco +} // namespace detail +} // namespace cuco diff --git a/include/cuco/detail/static_multimap/device_view_impl.inl b/include/cuco/detail/static_multimap/device_view_impl.inl new file mode 100644 index 000000000..c4e520446 --- /dev/null +++ b/include/cuco/detail/static_multimap/device_view_impl.inl @@ -0,0 +1,1296 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +namespace cuco { + +template +class static_multimap::device_view_impl_base { + protected: + // Import member type definitions from `static_multimap` + using value_type = value_type; + using key_type = Key; + using mapped_type = Value; + using iterator = pair_atomic_type*; + using const_iterator = pair_atomic_type const*; + using probe_sequence_type = probe_sequence_type; + + /** + * @brief Indicates if vector-load is used. + * + * Users have no explicit control on whether vector-load is used. + * + * @return Boolean indicating if vector-load is used. + */ + static constexpr bool uses_vector_load() noexcept + { + return probe_sequence_type::uses_vector_load(); + } + + /** + * @brief Returns the number of pairs loaded with each vector-load + */ + static constexpr uint32_t vector_width() noexcept { return probe_sequence_type::vector_width(); } + + __host__ __device__ device_view_impl_base(pair_atomic_type* slots, + std::size_t capacity, + Key empty_key_sentinel, + Value empty_value_sentinel) noexcept + : probe_sequence_{slots, capacity}, + empty_key_sentinel_{empty_key_sentinel}, + empty_value_sentinel_{empty_value_sentinel} + { + } + + /** + * @brief Gets slots array. + * + * @return Slots array + */ + __device__ __forceinline__ pair_atomic_type* get_slots() noexcept + { + return probe_sequence_.get_slots(); + } + + /** + * @brief Gets slots array. + * + * @return Slots array + */ + __device__ __forceinline__ pair_atomic_type const* get_slots() const noexcept + { + return probe_sequence_.get_slots(); + } + + /** + * @brief Returns the initial slot for a given key `k` + * + * To be used for Cooperative Group based probing. + * + * @tparam CG Cooperative Group type + * @param g the Cooperative Group for which the initial slot is needed + * @param k The key to get the slot for + * @return Pointer to the initial slot for `k` + */ + template + __device__ __forceinline__ iterator initial_slot(CG const& g, Key const& k) noexcept + { + return probe_sequence_.initial_slot(g, k); + } + + /** + * @brief Returns the initial slot for a given key `k` + * + * To be used for Cooperative Group based probing. + * + * @tparam CG Cooperative Group type + * @param g the Cooperative Group for which the initial slot is needed + * @param k The key to get the slot for + * @return Pointer to the initial slot for `k` + */ + template + __device__ __forceinline__ const_iterator initial_slot(CG g, Key const& k) const noexcept + { + return probe_sequence_.initial_slot(g, k); + } + + /** + * @brief Given a slot `s`, returns the next slot. + * + * If `s` is the last slot, wraps back around to the first slot. To + * be used for Cooperative Group based probing. + * + * @param s The slot to advance + * @return The next slot after `s` + */ + __device__ __forceinline__ iterator next_slot(iterator s) noexcept + { + return probe_sequence_.next_slot(s); + } + + /** + * @brief Given a slot `s`, returns the next slot. + * + * If `s` is the last slot, wraps back around to the first slot. To + * be used for Cooperative Group based probing. + * + * @param s The slot to advance + * @return The next slot after `s` + */ + __device__ __forceinline__ const_iterator next_slot(const_iterator s) const noexcept + { + return probe_sequence_.next_slot(s); + } + + /** + * @brief Gets the maximum number of elements the hash map can hold. + * + * @return The maximum number of elements the hash map can hold + */ + __host__ __device__ __forceinline__ std::size_t get_capacity() const noexcept + { + return probe_sequence_.get_capacity(); + } + + /** + * @brief Gets the sentinel value used to represent an empty key slot. + * + * @return The sentinel value used to represent an empty key slot + */ + __host__ __device__ __forceinline__ Key get_empty_key_sentinel() const noexcept + { + return empty_key_sentinel_; + } + + /** + * @brief Gets the sentinel value used to represent an empty value slot. + * + * @return The sentinel value used to represent an empty value slot + */ + __host__ __device__ __forceinline__ Value get_empty_value_sentinel() const noexcept + { + return empty_value_sentinel_; + } + + /** + * @brief Load two key/value pairs from the given slot to the target pair array. + * + * @param arr The pair array to be loaded + * @param current_slot The given slot to load from + */ + __device__ __forceinline__ void load_pair_array(value_type* arr, + const_iterator current_slot) noexcept + { + if constexpr (sizeof(value_type) == 4) { + auto const tmp = *reinterpret_cast(current_slot); + memcpy(&arr[0], &tmp, 2 * sizeof(value_type)); + } else { + auto const tmp = *reinterpret_cast(current_slot); + memcpy(&arr[0], &tmp, 2 * sizeof(value_type)); + } + } + + private: + probe_sequence_type probe_sequence_; ///< Probe sequence used to probe the hash map + Key empty_key_sentinel_{}; ///< Key value that represents an empty slot + Value empty_value_sentinel_{}; ///< Initial Value of empty slot +}; // class device_view_impl_base + +template +class static_multimap::device_mutable_view_impl + : public device_view_impl_base { + public: + using value_type = typename device_view_impl_base::value_type; + using key_type = typename device_view_impl_base::key_type; + using mapped_type = typename device_view_impl_base::mapped_type; + using iterator = typename device_view_impl_base::iterator; + using const_iterator = typename device_view_impl_base::const_iterator; + + private: + /** + * @brief Enumeration of the possible results of attempting to insert into a hash bucket. + */ + enum class insert_result { + CONTINUE, ///< Insert did not succeed, continue trying to insert + SUCCESS, ///< New pair inserted successfully + DUPLICATE ///< Insert did not succeed, key is already present + }; + + /** + * @brief Inserts the specified key/value pair with one single CAS operation. + * + * @param current_slot The slot to insert + * @param insert_pair The pair to insert + * @param key_equal The binary callable used to compare two keys for + * equality + * @return An insert result from the `insert_resullt` enumeration. + */ + __device__ __forceinline__ insert_result packed_cas(iterator current_slot, + value_type const& insert_pair) noexcept + { + auto expected_key = this->get_empty_key_sentinel(); + auto expected_value = this->get_empty_value_sentinel(); + + cuco::detail::pair_converter expected_pair{ + cuco::make_pair(std::move(expected_key), std::move(expected_value))}; + cuco::detail::pair_converter new_pair{insert_pair}; + + auto slot = reinterpret_cast< + cuda::atomic::packed_type, Scope>*>( + current_slot); + + bool success = slot->compare_exchange_strong( + expected_pair.packed, new_pair.packed, cuda::std::memory_order_relaxed); + if (success) { return insert_result::SUCCESS; } + + return insert_result::CONTINUE; + } + + /** + * @brief Inserts the specified key/value pair with two back-to-back CAS operations. + * + * @param current_slot The slot to insert + * @param insert_pair The pair to insert + * @return An insert result from the `insert_resullt` enumeration. + */ + __device__ __forceinline__ insert_result back_to_back_cas(iterator current_slot, + value_type const& insert_pair) noexcept + { + using cuda::std::memory_order_relaxed; + + auto expected_key = this->get_empty_key_sentinel(); + auto expected_value = this->get_empty_value_sentinel(); + + // Back-to-back CAS for 8B/8B key/value pairs + auto& slot_key = current_slot->first; + auto& slot_value = current_slot->second; + + bool key_success = + slot_key.compare_exchange_strong(expected_key, insert_pair.first, memory_order_relaxed); + bool value_success = + slot_value.compare_exchange_strong(expected_value, insert_pair.second, memory_order_relaxed); + + if (key_success) { + while (not value_success) { + value_success = + slot_value.compare_exchange_strong(expected_value = this->get_empty_value_sentinel(), + insert_pair.second, + memory_order_relaxed); + } + return insert_result::SUCCESS; + } else if (value_success) { + slot_value.store(this->get_empty_value_sentinel(), memory_order_relaxed); + } + + return insert_result::CONTINUE; + } + + /** + * @brief Inserts the specified key/value pair with a CAS of the key and a dependent write + * of the value. + * + * @param current_slot The slot to insert + * @param insert_pair The pair to insert + * @return An insert result from the `insert_resullt` enumeration. + */ + __device__ __forceinline__ insert_result + cas_dependent_write(iterator current_slot, value_type const& insert_pair) noexcept + { + using cuda::std::memory_order_relaxed; + auto expected_key = this->get_empty_key_sentinel(); + + auto& slot_key = current_slot->first; + + auto const key_success = + slot_key.compare_exchange_strong(expected_key, insert_pair.first, memory_order_relaxed); + + if (key_success) { + auto& slot_value = current_slot->second; + slot_value.store(insert_pair.second, memory_order_relaxed); + return insert_result::SUCCESS; + } + + return insert_result::CONTINUE; + } + + public: + __host__ __device__ device_mutable_view_impl(pair_atomic_type* slots, + std::size_t capacity, + Key empty_key_sentinel, + Value empty_value_sentinel) noexcept + : device_view_impl_base{slots, capacity, empty_key_sentinel, empty_value_sentinel} + { + } + + /** + * @brief Inserts the specified key/value pair into the map using vector loads. + * + * @tparam uses_vector_load Boolean flag indicating whether vector loads are used + * @tparam CG Cooperative Group type + * + * @param g The Cooperative Group that performs the insert + * @param insert_pair The pair to insert + * @return void. + */ + template + __device__ __forceinline__ std::enable_if_t insert( + CG g, value_type const& insert_pair) noexcept + { + auto current_slot = initial_slot(g, insert_pair.first); + while (true) { + value_type arr[2]; + load_pair_array(&arr[0], current_slot); + + // The user provide `key_equal` can never be used to compare against `empty_key_sentinel` as + // the sentinel is not a valid key value. Therefore, first check for the sentinel + auto const first_slot_is_empty = + (detail::bitwise_compare(arr[0].first, this->get_empty_key_sentinel())); + auto const second_slot_is_empty = + (detail::bitwise_compare(arr[1].first, this->get_empty_key_sentinel())); + auto const window_contains_empty = g.ballot(first_slot_is_empty or second_slot_is_empty); + + if (window_contains_empty) { + // the first lane in the group with an empty slot will attempt the insert + insert_result status{insert_result::CONTINUE}; + uint32_t src_lane = __ffs(window_contains_empty) - 1; + if (g.thread_rank() == src_lane) { + auto insert_location = first_slot_is_empty ? current_slot : current_slot + 1; + // One single CAS operation since vector loads are dedicated to packable pairs + status = packed_cas(insert_location, insert_pair); + } + + // successful insert + if (g.any(status == insert_result::SUCCESS)) { return; } + // if we've gotten this far, a different key took our spot + // before we could insert. We need to retry the insert on the + // same window + } + // if there are no empty slots in the current window, + // we move onto the next window + else { + current_slot = next_slot(current_slot); + } + } // while true + } + + /** + * @brief Inserts the specified key/value pair into the map using scalar loads. + * + * @tparam uses_vector_load Boolean flag indicating whether vector loads are used + * @tparam CG Cooperative Group type + * + * @param g The Cooperative Group that performs the insert + * @param insert_pair The pair to insert + * @return void. + */ + template + __device__ __forceinline__ std::enable_if_t insert( + CG g, value_type const& insert_pair) noexcept + { + auto current_slot = initial_slot(g, insert_pair.first); + + while (true) { + value_type slot_contents = *reinterpret_cast(current_slot); + auto const& existing_key = slot_contents.first; + + // The user provide `key_equal` can never be used to compare against `empty_key_sentinel` as + // the sentinel is not a valid key value. Therefore, first check for the sentinel + auto const slot_is_empty = + detail::bitwise_compare(existing_key, this->get_empty_key_sentinel()); + auto const window_contains_empty = g.ballot(slot_is_empty); + + if (window_contains_empty) { + // the first lane in the group with an empty slot will attempt the insert + insert_result status{insert_result::CONTINUE}; + uint32_t src_lane = __ffs(window_contains_empty) - 1; + + if (g.thread_rank() == src_lane) { +#if __CUDA_ARCH__ < 700 + status = cas_dependent_write(current_slot, insert_pair); +#else + status = back_to_back_cas(current_slot, insert_pair); +#endif + } + + // successful insert + if (g.any(status == insert_result::SUCCESS)) { return; } + // if we've gotten this far, a different key took our spot + // before we could insert. We need to retry the insert on the + // same window + } + // if there are no empty slots in the current window, + // we move onto the next window + else { + current_slot = next_slot(current_slot); + } + } // while true + } +}; // class device_mutable_view_impl + +template +class static_multimap::device_view_impl + : public device_view_impl_base { + public: + using value_type = typename device_view_impl_base::value_type; + using key_type = typename device_view_impl_base::key_type; + using mapped_type = typename device_view_impl_base::mapped_type; + using iterator = typename device_view_impl_base::iterator; + using const_iterator = typename device_view_impl_base::const_iterator; + + __host__ __device__ device_view_impl(pair_atomic_type* slots, + std::size_t capacity, + Key empty_key_sentinel, + Value empty_value_sentinel) noexcept + : device_view_impl_base{slots, capacity, empty_key_sentinel, empty_value_sentinel} + { + } + + /** + * @brief Flushes per-CG buffer into the output sequence. + * + * A given CUDA Cooperative Group, `g`, loads `num_outputs` key-value pairs from `output_buffer` + * and writes them into global memory in a coalesced fashion. CG-wide `memcpy_sync` is used if + * `CUCO_HAS_CG_MEMCPY_ASYNC` is defined and `thrust::is_contiguous_iterator_v` + * returns true. All threads of `g` must be active due to implicit CG-wide synchronization + * during flushing. + * + * @tparam CG Cooperative Group type + * @tparam atomicT Type of atomic storage + * @tparam OutputIt Device accessible output iterator whose `value_type` is + * constructible from the map's `value_type` + * @param g The Cooperative Group used to flush output buffer + * @param num_outputs Number of valid output in the buffer + * @param output_buffer Buffer of the key/value pair sequence + * @param num_matches Size of the output sequence + * @param output_begin Beginning of the output sequence of key/value pairs + */ + template + __device__ __forceinline__ void flush_output_buffer(CG const& g, + uint32_t const num_outputs, + value_type* output_buffer, + atomicT* num_matches, + OutputIt output_begin) noexcept + { + std::size_t offset; + const auto lane_id = g.thread_rank(); + if (0 == lane_id) { + offset = num_matches->fetch_add(num_outputs, cuda::std::memory_order_relaxed); + } + offset = g.shfl(offset, 0); + + if constexpr (thrust::is_contiguous_iterator_v) { +#if defined(CUCO_HAS_CG_MEMCPY_ASYNC) +#if defined(CUCO_HAS_CUDA_BARRIER) + cooperative_groups::memcpy_async( + g, + output_begin + offset, + output_buffer, + cuda::aligned_size_t(sizeof(value_type) * num_outputs)); +#else + cooperative_groups::memcpy_async( + g, output_begin + offset, output_buffer, sizeof(value_type) * num_outputs); +#endif // end CUCO_HAS_CUDA_BARRIER + return; +#endif // end CUCO_HAS_CG_MEMCPY_ASYNC + } + for (auto index = lane_id; index < num_outputs; index += g.size()) { + *(output_begin + offset + index) = output_buffer[index]; + } + } + + /** + * @brief Flushes per-CG buffer into the output sequences. + * + * A given CUDA Cooperative Group, `g`, loads `num_outputs` elements from `probe_output_buffer` + * and `num_outputs` elements from `contained_output_buffer`, then writes them into global + * memory started from `probe_output_begin` and `contained_output_begin` respectively. All + * threads of `g` must be active due to implicit CG-wide synchronization during flushing. + * + * @tparam CG Cooperative Group type + * @tparam atomicT Type of atomic storage + * @tparam OutputIt1 Device accessible output iterator whose `value_type` is constructible from + * `InputIt`s `value_type`. + * @tparam OutputIt2 Device accessible output iterator whose `value_type` is constructible from + * the map's `value_type`. + * @param g The Cooperative Group used to flush output buffer + * @param num_outputs Number of valid output in the buffer + * @param probe_output_buffer Buffer of the matched probe pair sequence + * @param contained_output_buffer Buffer of the matched contained pair sequence + * @param num_matches Size of the output sequence + * @param probe_output_begin Beginning of the output sequence of the matched probe pairs + * @param contained_output_begin Beginning of the output sequence of the matched contained + * pairs + */ + template + __device__ __forceinline__ void flush_output_buffer(CG const& g, + uint32_t const num_outputs, + value_type* probe_output_buffer, + value_type* contained_output_buffer, + atomicT* num_matches, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin) noexcept + { + std::size_t offset; + const auto lane_id = g.thread_rank(); + if (0 == lane_id) { + offset = num_matches->fetch_add(num_outputs, cuda::std::memory_order_relaxed); + } + offset = g.shfl(offset, 0); + + for (auto index = lane_id; index < num_outputs; index += g.size()) { + auto& probe_pair = probe_output_buffer[index]; + auto& contained_pair = contained_output_buffer[index]; + thrust::get<0>(*(probe_output_begin + offset + index)) = probe_pair.first; + thrust::get<1>(*(probe_output_begin + offset + index)) = probe_pair.second; + thrust::get<0>(*(contained_output_begin + offset + index)) = contained_pair.first; + thrust::get<1>(*(contained_output_begin + offset + index)) = contained_pair.second; + } + } + + /** + * @brief Indicates whether the key `k` exists in the map using vector loads. + * + * If the key `k` was inserted into the map, `contains` returns + * true. Otherwise, it returns false. Uses the CUDA Cooperative Groups API to + * to leverage multiple threads to perform a single `contains` operation. This provides a + * significant boost in throughput compared to the non Cooperative Group based + * `contains` at moderate to high load factors. + * + * @tparam uses_vector_load Boolean flag indicating whether vector loads are used + * @tparam CG Cooperative Group type + * @tparam KeyEqual Binary callable type + * @param g The Cooperative Group used to perform the contains operation + * @param k The key to search for + * @param key_equal The binary callable used to compare two keys + * for equality + * @return A boolean indicating whether the key/value pair + * containing `k` was inserted + */ + template + __device__ __forceinline__ std::enable_if_t contains( + CG g, Key const& k, KeyEqual key_equal) noexcept + { + auto current_slot = initial_slot(g, k); + + while (true) { + value_type arr[2]; + load_pair_array(&arr[0], current_slot); + + auto const first_slot_is_empty = + detail::bitwise_compare(arr[0].first, this->get_empty_key_sentinel()); + auto const second_slot_is_empty = + detail::bitwise_compare(arr[1].first, this->get_empty_key_sentinel()); + auto const first_equals = (not first_slot_is_empty and key_equal(arr[0].first, k)); + auto const second_equals = (not second_slot_is_empty and key_equal(arr[1].first, k)); + + // the key we were searching for was found by one of the threads, so we return true + if (g.any(first_equals or second_equals)) { return true; } + + // we found an empty slot, meaning that the key we're searching for isn't present + if (g.any(first_slot_is_empty or second_slot_is_empty)) { return false; } + + // otherwise, all slots in the current window are full with other keys, so we move onto the + // next window + current_slot = next_slot(current_slot); + } + } + + /** + * @brief Indicates whether the key `k` exists in the map using scalar loads. + * + * If the key `k` was inserted into the map, `contains` returns + * true. Otherwise, it returns false. Uses the CUDA Cooperative Groups API to + * to leverage multiple threads to perform a single `contains` operation. This provides a + * significant boost in throughput compared to the non Cooperative Group + * `contains` at moderate to high load factors. + * + * @tparam uses_vector_load Boolean flag indicating whether vector loads are used + * @tparam CG Cooperative Group type + * @tparam KeyEqual Binary callable type + * @param g The Cooperative Group used to perform the contains operation + * @param k The key to search for + * @param key_equal The binary callable used to compare two keys + * for equality + * @return A boolean indicating whether the key/value pair + * containing `k` was inserted + */ + template + __device__ __forceinline__ std::enable_if_t contains( + CG g, Key const& k, KeyEqual key_equal) noexcept + { + auto current_slot = initial_slot(g, k); + + while (true) { + value_type slot_contents = *reinterpret_cast(current_slot); + auto const& existing_key = slot_contents.first; + + // The user provide `key_equal` can never be used to compare against `empty_key_sentinel` as + // the sentinel is not a valid key value. Therefore, first check for the sentinel + auto const slot_is_empty = + detail::bitwise_compare(existing_key, this->get_empty_key_sentinel()); + + auto const equals = (not slot_is_empty and key_equal(existing_key, k)); + + // the key we were searching for was found by one of the threads, so we return true + if (g.any(equals)) { return true; } + + // we found an empty slot, meaning that the key we're searching for isn't present + if (g.any(slot_is_empty)) { return false; } + + // otherwise, all slots in the current window are full with other keys, so we move onto the + // next window + current_slot = next_slot(current_slot); + } + } + + /** + * @brief Counts the occurrence of a given key contained in multimap using vector loads. + * + * @tparam uses_vector_load Boolean flag indicating whether vector loads are used + * @tparam is_outer Boolean flag indicating whether outer join is peformed + * @tparam CG Cooperative Group type + * @tparam KeyEqual Binary callable type + * @param g The Cooperative Group used to perform the count operation + * @param k The key to search for + * @param key_equal The binary callable used to compare two keys + * for equality + * @return Number of matches found by the current thread + */ + template + __device__ __forceinline__ std::enable_if_t count( + CG const& g, Key const& k, KeyEqual key_equal) noexcept + { + std::size_t count = 0; + auto current_slot = initial_slot(g, k); + + [[maybe_unused]] bool found_match = false; + + while (true) { + value_type arr[2]; + load_pair_array(&arr[0], current_slot); + + auto const first_slot_is_empty = + detail::bitwise_compare(arr[0].first, this->get_empty_key_sentinel()); + auto const second_slot_is_empty = + detail::bitwise_compare(arr[1].first, this->get_empty_key_sentinel()); + auto const first_equals = (not first_slot_is_empty and key_equal(arr[0].first, k)); + auto const second_equals = (not second_slot_is_empty and key_equal(arr[1].first, k)); + + if constexpr (is_outer) { + if (g.any(first_equals or second_equals)) { found_match = true; } + } + + count += (first_equals + second_equals); + + if (g.any(first_slot_is_empty or second_slot_is_empty)) { + if constexpr (is_outer) { + if ((not found_match) && (g.thread_rank() == 0)) { count++; } + } + return count; + } + + current_slot = next_slot(current_slot); + } + } + + /** + * @brief Counts the occurrence of a given key contained in multimap using scalar loads. + * + * @tparam uses_vector_load Boolean flag indicating whether vector loads are used + * @tparam is_outer Boolean flag indicating whether outer join is peformed + * @tparam CG Cooperative Group type + * @tparam KeyEqual Binary callable type + * @param g The Cooperative Group used to perform the count operation + * @param k The key to search for + * @param key_equal The binary callable used to compare two keys + * for equality + * @return Number of matches found by the current thread + */ + template + __device__ __forceinline__ std::enable_if_t count( + CG const& g, Key const& k, KeyEqual key_equal) noexcept + { + std::size_t count = 0; + auto current_slot = initial_slot(g, k); + + [[maybe_unused]] bool found_match = false; + + while (true) { + value_type slot_contents = *reinterpret_cast(current_slot); + auto const& current_key = slot_contents.first; + + auto const slot_is_empty = + detail::bitwise_compare(current_key, this->get_empty_key_sentinel()); + auto const equals = not slot_is_empty and key_equal(current_key, k); + + if constexpr (is_outer) { + if (g.any(equals)) { found_match = true; } + } + + count += equals; + + if (g.any(slot_is_empty)) { + if constexpr (is_outer) { + if ((not found_match) && (g.thread_rank() == 0)) { count++; } + } + return count; + } + + current_slot = next_slot(current_slot); + } + } + + /** + * @brief Counts the occurrence of a given key/value pair contained in multimap using vector + * loads. + * + * @tparam uses_vector_load Boolean flag indicating whether vector loads are used + * @tparam is_outer Boolean flag indicating whether outer join is peformed + * @tparam CG Cooperative Group type + * @tparam PairEqual Binary callable type + * @param g The Cooperative Group used to perform the pair_count operation + * @param pair The pair to search for + * @param pair_equal The binary callable used to compare two pairs + * for equality + * @return Number of matches found by the current thread + */ + template + __device__ __forceinline__ std::enable_if_t pair_count( + CG const& g, value_type const& pair, PairEqual pair_equal) noexcept + { + std::size_t count = 0; + auto key = pair.first; + auto current_slot = initial_slot(g, key); + + [[maybe_unused]] bool found_match = false; + + while (true) { + value_type arr[2]; + load_pair_array(&arr[0], current_slot); + + auto const first_slot_is_empty = + detail::bitwise_compare(arr[0].first, this->get_empty_key_sentinel()); + auto const second_slot_is_empty = + detail::bitwise_compare(arr[1].first, this->get_empty_key_sentinel()); + + auto const first_slot_equals = (not first_slot_is_empty and pair_equal(arr[0], pair)); + auto const second_slot_equals = (not second_slot_is_empty and pair_equal(arr[1], pair)); + + if constexpr (is_outer) { + if (g.any(first_slot_equals or second_slot_equals)) { found_match = true; } + } + + count += (first_slot_equals + second_slot_equals); + + if (g.any(first_slot_is_empty or second_slot_is_empty)) { + if constexpr (is_outer) { + if ((not found_match) && (g.thread_rank() == 0)) { count++; } + } + return count; + } + + current_slot = next_slot(current_slot); + } + } + + /** + * @brief Counts the occurrence of a given key/value pair contained in multimap using scalar + * loads. + * + * @tparam uses_vector_load Boolean flag indicating whether vector loads are used + * @tparam is_outer Boolean flag indicating whether outer join is peformed + * @tparam CG Cooperative Group type + * @tparam PairEqual Binary callable type + * @param g The Cooperative Group used to perform the pair_count operation + * @param pair The pair to search for + * @param pair_equal The binary callable used to compare two pairs + * for equality + * @return Number of matches found by the current thread + */ + template + __device__ __forceinline__ std::enable_if_t pair_count( + CG const& g, value_type const& pair, PairEqual pair_equal) noexcept + { + std::size_t count = 0; + auto key = pair.first; + auto current_slot = initial_slot(g, key); + + [[maybe_unused]] bool found_match = false; + + while (true) { + auto slot_contents = *reinterpret_cast(current_slot); + + auto const slot_is_empty = + detail::bitwise_compare(slot_contents.first, this->get_empty_key_sentinel()); + + auto const equals = not slot_is_empty and pair_equal(slot_contents, pair); + + if constexpr (is_outer) { + if (g.any(equals)) { found_match = true; } + } + + count += equals; + + if (g.any(slot_is_empty)) { + if constexpr (is_outer) { + if ((not found_match) && (g.thread_rank() == 0)) { count++; } + } + return count; + } + + current_slot = next_slot(current_slot); + } + } + + /** + * @brief Retrieves all the matches of a given key contained in multimap using vector + * loads with per-flushing-CG shared memory buffer. + * + * For key `k` existing in the map, copies `k` and all associated values to unspecified + * locations in `[output_begin, output_end)`. If `k` does not have any matches, copies `k` and + * `empty_value_sentinel()` into the output only if `is_outer` is true. + * + * @tparam buffer_size Size of the output buffer + * @tparam is_outer Boolean flag indicating whether outer join is peformed + * @tparam FlushingCG Type of Cooperative Group used to flush output buffer + * @tparam ProbingCG Type of Cooperative Group used to retrieve + * @tparam atomicT Type of atomic storage + * @tparam OutputIt Device accessible output iterator whose `value_type` is + * constructible from the map's `value_type` + * @tparam KeyEqual Binary callable type + * @param flushing_cg The Cooperative Group used to flush output buffer + * @param probing_cg The Cooperative Group used to retrieve + * @param k The key to search for + * @param flushing_cg_counter Pointer to the flushing cg counter + * @param output_buffer Shared memory buffer of the key/value pair sequence + * @param num_matches Size of the output sequence + * @param output_begin Beginning of the output sequence of key/value pairs + * @param key_equal The binary callable used to compare two keys + * for equality + */ + template + __device__ __forceinline__ void retrieve(FlushingCG const& flushing_cg, + ProbingCG const& probing_cg, + Key const& k, + uint32_t* flushing_cg_counter, + value_type* output_buffer, + atomicT* num_matches, + OutputIt output_begin, + KeyEqual key_equal) noexcept + { + const uint32_t cg_lane_id = probing_cg.thread_rank(); + + auto current_slot = initial_slot(probing_cg, k); + + bool running = true; + [[maybe_unused]] bool found_match = false; + + while (flushing_cg.any(running)) { + if (running) { + value_type arr[2]; + load_pair_array(&arr[0], current_slot); + + auto const first_slot_is_empty = + detail::bitwise_compare(arr[0].first, this->get_empty_key_sentinel()); + auto const second_slot_is_empty = + detail::bitwise_compare(arr[1].first, this->get_empty_key_sentinel()); + auto const first_equals = (not first_slot_is_empty and key_equal(arr[0].first, k)); + auto const second_equals = (not second_slot_is_empty and key_equal(arr[1].first, k)); + auto const first_exists = probing_cg.ballot(first_equals); + auto const second_exists = probing_cg.ballot(second_equals); + + if (first_exists or second_exists) { + if constexpr (is_outer) { found_match = true; } + + auto num_first_matches = __popc(first_exists); + auto num_second_matches = __popc(second_exists); + + uint32_t output_idx; + if (0 == cg_lane_id) { + output_idx = atomicAdd(flushing_cg_counter, (num_first_matches + num_second_matches)); + } + output_idx = probing_cg.shfl(output_idx, 0); + + if (first_equals) { + auto lane_offset = __popc(first_exists & ((1 << cg_lane_id) - 1)); + Key key = k; + output_buffer[output_idx + lane_offset] = + cuco::make_pair(std::move(key), std::move(arr[0].second)); + } + if (second_equals) { + auto lane_offset = __popc(second_exists & ((1 << cg_lane_id) - 1)); + Key key = k; + output_buffer[output_idx + num_first_matches + lane_offset] = + cuco::make_pair(std::move(key), std::move(arr[1].second)); + } + } + if (probing_cg.any(first_slot_is_empty or second_slot_is_empty)) { + running = false; + if constexpr (is_outer) { + if ((not found_match) && (cg_lane_id == 0)) { + auto output_idx = atomicAdd(flushing_cg_counter, 1); + Key key = k; + output_buffer[output_idx] = cuco::make_pair( + std::move(key), std::move(this->get_empty_value_sentinel())); + } + } + } + } // if running + + flushing_cg.sync(); + if (*flushing_cg_counter + flushing_cg.size() * vector_width() > buffer_size) { + flush_output_buffer( + flushing_cg, *flushing_cg_counter, output_buffer, num_matches, output_begin); + // First lane reset warp-level counter + if (flushing_cg.thread_rank() == 0) { *flushing_cg_counter = 0; } + } + + current_slot = next_slot(current_slot); + } // while running + } + + /** + * @brief Retrieves all the matches of a given key contained in multimap using scalar + * loads with per-CG shared memory buffer. + * + * For key `k` existing in the map, copies `k` and all associated values to unspecified + * locations in `[output_begin, output_end)`. If `k` does not have any matches, copies `k` and + * `empty_value_sentinel()` into the output only if `is_outer` is true. + * + * @tparam buffer_size Size of the output buffer + * @tparam is_outer Boolean flag indicating whether outer join is peformed + * @tparam CG Cooperative Group type + * @tparam atomicT Type of atomic storage + * @tparam OutputIt Device accessible output iterator whose `value_type` is + * constructible from the map's `value_type` + * @tparam KeyEqual Binary callable type + * @param g The Cooperative Group used to retrieve + * @param k The key to search for + * @param cg_counter Pointer to the CG counter + * @param output_buffer Shared memory buffer of the key/value pair sequence + * @param num_matches Size of the output sequence + * @param output_begin Beginning of the output sequence of key/value pairs + * @param key_equal The binary callable used to compare two keys + * for equality + */ + template + __device__ __forceinline__ void retrieve(CG const& g, + Key const& k, + uint32_t* cg_counter, + value_type* output_buffer, + atomicT* num_matches, + OutputIt output_begin, + KeyEqual key_equal) noexcept + { + const uint32_t lane_id = g.thread_rank(); + + auto current_slot = initial_slot(g, k); + + bool running = true; + [[maybe_unused]] bool found_match = false; + + while (running) { + // TODO: Replace reinterpret_cast with atomic ref when possible. The current implementation + // is unsafe! + static_assert(sizeof(Key) == sizeof(cuda::atomic)); + static_assert(sizeof(Value) == sizeof(cuda::atomic)); + value_type slot_contents = *reinterpret_cast(current_slot); + + auto const slot_is_empty = + detail::bitwise_compare(slot_contents.first, this->get_empty_key_sentinel()); + auto const equals = (not slot_is_empty and key_equal(slot_contents.first, k)); + uint32_t output_idx = *cg_counter; + auto const exists = g.ballot(equals); + + if (exists) { + if constexpr (is_outer) { found_match = true; } + auto num_matches = __popc(exists); + if (equals) { + // Each match computes its lane-level offset + auto lane_offset = __popc(exists & ((1 << lane_id) - 1)); + Key key = k; + output_buffer[output_idx + lane_offset] = + cuco::make_pair(std::move(key), std::move(slot_contents.second)); + } + if (0 == lane_id) { (*cg_counter) += num_matches; } + } + if (g.any(slot_is_empty)) { + running = false; + if constexpr (is_outer) { + if ((not found_match) && (lane_id == 0)) { + output_idx = (*cg_counter)++; + Key key = k; + output_buffer[output_idx] = cuco::make_pair( + std::move(key), std::move(this->get_empty_value_sentinel())); + } + } + } + + g.sync(); + + // Flush if the next iteration won't fit into buffer + if ((*cg_counter + g.size()) > buffer_size) { + flush_output_buffer(g, *cg_counter, output_buffer, num_matches, output_begin); + // First lane reset CG-level counter + if (lane_id == 0) { *cg_counter = 0; } + } + current_slot = next_slot(current_slot); + } // while running + } + + /** + * @brief Retrieves all the matches of a given pair contained in multimap using vector + * loads with per-flushing-CG shared memory buffer. + * + * For pair `p`, if pair_equal(p, slot[j]) returns true, copies `p` to unspecified locations + * in `[probe_output_begin, probe_output_end)` and copies slot[j] to unspecified locations in + * `[contained_output_begin, contained_output_end)`. If `p` does not have any matches, copies + * `p` and a pair of `empty_key_sentinel` and `empty_value_sentinel` into the output only if + * `is_outer` is true. + * + * @tparam buffer_size Size of the output buffer + * @tparam is_outer Boolean flag indicating whether outer join is peformed + * @tparam FlushingCG Type of Cooperative Group used to flush output buffer + * @tparam ProbingCG Type of Cooperative Group used to retrieve + * @tparam atomicT Type of atomic storage + * @tparam OutputIt1 Device accessible output iterator whose `value_type` is constructible from + * `InputIt`s `value_type`. + * @tparam OutputIt2 Device accessible output iterator whose `value_type` is constructible from + * the map's `value_type`. + * @tparam PairEqual Binary callable type + * @param flushing_cg The Cooperative Group used to flush output buffer + * @param probing_cg The Cooperative Group used to retrieve + * @param pair The pair to search for + * @param flushing_cg_counter Pointer to the flushing CG counter + * @param probe_output_buffer Buffer of the matched probe pair sequence + * @param contained_output_buffer Buffer of the matched contained pair sequence + * @param num_matches Size of the output sequence + * @param probe_output_begin Beginning of the output sequence of the matched probe pairs + * @param contained_output_begin Beginning of the output sequence of the matched contained + * pairs + * @param pair_equal The binary callable used to compare two pairs for equality + */ + template + __device__ __forceinline__ void pair_retrieve(FlushingCG const& flushing_cg, + ProbingCG const& probing_cg, + value_type const& pair, + uint32_t* flushing_cg_counter, + value_type* probe_output_buffer, + value_type* contained_output_buffer, + atomicT* num_matches, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + PairEqual pair_equal) noexcept + { + const uint32_t cg_lane_id = probing_cg.thread_rank(); + + auto key = pair.first; + auto current_slot = initial_slot(probing_cg, key); + + bool running = true; + [[maybe_unused]] bool found_match = false; + + while (flushing_cg.any(running)) { + if (running) { + value_type arr[2]; + load_pair_array(&arr[0], current_slot); + + auto const first_slot_is_empty = + detail::bitwise_compare(arr[0].first, this->get_empty_key_sentinel()); + auto const second_slot_is_empty = + detail::bitwise_compare(arr[1].first, this->get_empty_key_sentinel()); + auto const first_equals = (not first_slot_is_empty and pair_equal(arr[0], pair)); + auto const second_equals = (not second_slot_is_empty and pair_equal(arr[1], pair)); + auto const first_exists = probing_cg.ballot(first_equals); + auto const second_exists = probing_cg.ballot(second_equals); + + if (first_exists or second_exists) { + if constexpr (is_outer) { found_match = true; } + + auto num_first_matches = __popc(first_exists); + auto num_second_matches = __popc(second_exists); + + uint32_t output_idx; + if (0 == cg_lane_id) { + output_idx = atomicAdd(flushing_cg_counter, (num_first_matches + num_second_matches)); + } + output_idx = probing_cg.shfl(output_idx, 0); + + if (first_equals) { + auto lane_offset = __popc(first_exists & ((1 << cg_lane_id) - 1)); + probe_output_buffer[output_idx + lane_offset] = pair; + contained_output_buffer[output_idx + lane_offset] = arr[0]; + } + if (second_equals) { + auto lane_offset = __popc(second_exists & ((1 << cg_lane_id) - 1)); + probe_output_buffer[output_idx + num_first_matches + lane_offset] = pair; + contained_output_buffer[output_idx + num_first_matches + lane_offset] = arr[1]; + } + } + if (probing_cg.any(first_slot_is_empty or second_slot_is_empty)) { + running = false; + if constexpr (is_outer) { + if ((not found_match) && (cg_lane_id == 0)) { + auto output_idx = atomicAdd(flushing_cg_counter, 1); + probe_output_buffer[output_idx] = pair; + contained_output_buffer[output_idx] = + cuco::make_pair(std::move(this->get_empty_key_sentinel()), + std::move(this->get_empty_value_sentinel())); + } + } + } + } // if running + + flushing_cg.sync(); + if (*flushing_cg_counter + flushing_cg.size() * vector_width() > buffer_size) { + flush_output_buffer(flushing_cg, + *flushing_cg_counter, + probe_output_buffer, + contained_output_buffer, + num_matches, + probe_output_begin, + contained_output_begin); + // First lane reset warp-level counter + if (flushing_cg.thread_rank() == 0) { *flushing_cg_counter = 0; } + } + + current_slot = next_slot(current_slot); + } // while running + } + + /** + * @brief Retrieves all the matches of a given pair contained in multimap using scalar + * loads with per-CG shared memory buffer. + * + * For pair `p`, if pair_equal(p, slot[j]) returns true, copies `p` to unspecified locations + * in `[probe_output_begin, probe_output_end)` and copies slot[j] to unspecified locations in + * `[contained_output_begin, contained_output_end)`. If `p` does not have any matches, copies + * `p` and a pair of `empty_key_sentinel` and `empty_value_sentinel` into the output only if + * `is_outer` is true. + * + * @tparam buffer_size Size of the output buffer + * @tparam is_outer Boolean flag indicating whether outer join is peformed + * @tparam CG Cooperative Group type + * @tparam atomicT Type of atomic storage + * @tparam OutputIt1 Device accessible output iterator whose `value_type` is constructible from + * `InputIt`s `value_type`. + * @tparam OutputIt2 Device accessible output iterator whose `value_type` is constructible from + * the map's `value_type`. + * @tparam PairEqual Binary callable type + * @param g The Cooperative Group used to retrieve + * @param pair The pair to search for + * @param cg_counter Pointer to the CG counter + * @param probe_output_buffer Buffer of the matched probe pair sequence + * @param contained_output_buffer Buffer of the matched contained pair sequence + * @param num_matches Size of the output sequence + * @param probe_output_begin Beginning of the output sequence of the matched probe pairs + * @param contained_output_begin Beginning of the output sequence of the matched contained + * pairs + * @param pair_equal The binary callable used to compare two pairs for equality + */ + template + __device__ __forceinline__ void pair_retrieve(CG const& g, + value_type const& pair, + uint32_t* cg_counter, + value_type* probe_output_buffer, + value_type* contained_output_buffer, + atomicT* num_matches, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + PairEqual pair_equal) noexcept + { + const uint32_t lane_id = g.thread_rank(); + + auto key = pair.first; + auto current_slot = initial_slot(g, key); + + bool running = true; + [[maybe_unused]] bool found_match = false; + + while (running) { + // TODO: Replace reinterpret_cast with atomic ref when possible. The current implementation + // is unsafe! + static_assert(sizeof(Key) == sizeof(cuda::atomic)); + static_assert(sizeof(Value) == sizeof(cuda::atomic)); + value_type slot_contents = *reinterpret_cast(current_slot); + + auto const slot_is_empty = + detail::bitwise_compare(slot_contents.first, this->get_empty_key_sentinel()); + auto const equals = (not slot_is_empty and pair_equal(slot_contents, pair)); + uint32_t output_idx = *cg_counter; + auto const exists = g.ballot(equals); + + if (exists) { + if constexpr (is_outer) { found_match = true; } + auto num_matches = __popc(exists); + if (equals) { + // Each match computes its lane-level offset + auto lane_offset = __popc(exists & ((1 << lane_id) - 1)); + probe_output_buffer[output_idx + lane_offset] = pair; + contained_output_buffer[output_idx + lane_offset] = slot_contents; + } + if (0 == lane_id) { (*cg_counter) += num_matches; } + } + if (g.any(slot_is_empty)) { + running = false; + if constexpr (is_outer) { + if ((not found_match) && (lane_id == 0)) { + output_idx = (*cg_counter)++; + probe_output_buffer[output_idx] = pair; + contained_output_buffer[output_idx] = + cuco::make_pair(std::move(this->get_empty_key_sentinel()), + std::move(this->get_empty_value_sentinel())); + } + } + } + + g.sync(); + + // Flush if the next iteration won't fit into buffer + if ((*cg_counter + g.size()) > buffer_size) { + flush_output_buffer(g, + *cg_counter, + probe_output_buffer, + contained_output_buffer, + num_matches, + probe_output_begin, + contained_output_begin); + // First lane reset CG-level counter + if (lane_id == 0) { *cg_counter = 0; } + } + current_slot = next_slot(current_slot); + } // while running + } +}; // class device_view_impl + +} // namespace cuco diff --git a/include/cuco/detail/static_multimap/kernels.cuh b/include/cuco/detail/static_multimap/kernels.cuh new file mode 100644 index 000000000..83aa2c640 --- /dev/null +++ b/include/cuco/detail/static_multimap/kernels.cuh @@ -0,0 +1,533 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +#include + +namespace cuco { +namespace detail { +namespace cg = cooperative_groups; + +/** + * @brief Initializes each slot in the flat `slots` storage to contain `k` and `v`. + * + * Each space in `slots` that can hold a key value pair is initialized to a + * `pair_atomic_type` containing the key `k` and the value `v`. + * + * @tparam atomic_key_type Type of the `Key` atomic container + * @tparam atomic_mapped_type Type of the `Value` atomic container + * @tparam Key key type + * @tparam Value value type + * @tparam pair_atomic_type key/value pair type + * @param slots Pointer to flat storage for the map's key/value pairs + * @param k Key to which all keys in `slots` are initialized + * @param v Value to which all values in `slots` are initialized + * @param size Size of the storage pointed to by `slots` + */ +template +__global__ void initialize(pair_atomic_type* const slots, Key k, Value v, std::size_t size) +{ + auto tid = threadIdx.x + blockIdx.x * blockDim.x; + while (tid < size) { + new (&slots[tid].first) atomic_key_type{k}; + new (&slots[tid].second) atomic_mapped_type{v}; + tid += gridDim.x * blockDim.x; + } +} + +/** + * @brief Inserts all key/value pairs in the range `[first, last)`. + * + * Uses the CUDA Cooperative Groups API to leverage groups of multiple threads to perform each + * key/value insertion. This provides a significant boost in throughput compared to the non + * Cooperative Group `insert` at moderate to high load factors. + * + * @tparam block_size The size of the thread block + * @tparam tile_size The number of threads in the Cooperative Groups used to perform + * inserts + * @tparam InputIt Device accessible random access input iterator where + * `std::is_convertible::value_type, + * static_multimap::value_type>` is `true` + * @tparam viewT Type of device view allowing access of hash map storage + * + * @param first Beginning of the sequence of key/value pairs + * @param last End of the sequence of key/value pairs + * @param view Mutable device view used to access the hash map's slot storage + */ +template +__global__ void insert(InputIt first, InputIt last, viewT view) +{ + auto tile = cg::tiled_partition(cg::this_thread_block()); + auto tid = block_size * blockIdx.x + threadIdx.x; + auto it = first + tid / tile_size; + + while (it < last) { + // force conversion to value_type + typename viewT::value_type const insert_pair{*it}; + view.insert(tile, insert_pair); + it += (gridDim.x * block_size) / tile_size; + } +} + +/** + * @brief Inserts key/value pairs in the range `[first, first + n)` if `pred` of the + * corresponding stencil returns true. + * + * The key/value pair `*(first + i)` is inserted if `pred( *(stencil + i) )` returns true. + * + * Uses the CUDA Cooperative Groups API to leverage groups of multiple threads to perform each + * key/value insertion. This provides a significant boost in throughput compared to the non + * Cooperative Group `insert` at moderate to high load factors. + * + * @tparam block_size The size of the thread block + * @tparam tile_size The number of threads in the Cooperative Groups used to perform + * inserts + * @tparam InputIt Device accessible random access input iterator where + * `std::is_convertible::value_type, + * static_multimap::value_type>` is `true` + * @tparam StencilIt Device accessible random access iterator whose value_type is + * convertible to Predicate's argument type + * @tparam viewT Type of device view allowing access of hash map storage + * @tparam Predicate Unary predicate callable whose return type must be convertible to `bool` and + * argument type is convertible from `std::iterator_traits::value_type`. + * @param first Beginning of the sequence of key/value pairs + * @param s Beginning of the stencil sequence + * @param n Number of elements to insert + * @param view Mutable device view used to access the hash map's slot storage + * @param pred Predicate to test on every element in the range `[s, s + n)` + */ +template +__global__ void insert_if_n(InputIt first, StencilIt s, std::size_t n, viewT view, Predicate pred) +{ + auto tile = cg::tiled_partition(cg::this_thread_block()); + auto const tid = block_size * blockIdx.x + threadIdx.x; + auto i = tid / tile_size; + + while (i < n) { + if (pred(*(s + i))) { + typename viewT::value_type const insert_pair{*(first + i)}; + // force conversion to value_type + view.insert(tile, insert_pair); + } + i += (gridDim.x * block_size) / tile_size; + } +} + +/** + * @brief Indicates whether the keys in the range `[first, last)` are contained in the map. + * + * Stores `true` or `false` to `(output + i)` indicating if the key `*(first + i)` exists in the + * map. + * + * Uses the CUDA Cooperative Groups API to leverage groups of multiple threads to perform the + * contains operation for each key. This provides a significant boost in throughput compared + * to the non Cooperative Group `contains` at moderate to high load factors. + * + * @tparam block_size The size of the thread block + * @tparam tile_size The number of threads in the Cooperative Groups + * @tparam InputIt Device accessible input iterator whose `value_type` is + * convertible to the map's `key_type` + * @tparam OutputIt Device accessible output iterator whose `value_type` is convertible from `bool` + * @tparam viewT Type of device view allowing access of hash map storage + * @tparam KeyEqual Binary callable type + * @param first Beginning of the sequence of keys + * @param last End of the sequence of keys + * @param output_begin Beginning of the sequence of booleans for the presence of each key + * @param view Device view used to access the hash map's slot storage + * @param key_equal The binary function to compare two keys for equality + */ +template +__global__ void contains( + InputIt first, InputIt last, OutputIt output_begin, viewT view, KeyEqual key_equal) +{ + auto tile = cg::tiled_partition(cg::this_thread_block()); + auto tid = block_size * blockIdx.x + threadIdx.x; + auto key_idx = tid / tile_size; + __shared__ bool writeBuffer[block_size]; + + while (first + key_idx < last) { + auto key = *(first + key_idx); + auto found = view.contains(tile, key, key_equal); + + /* + * The ld.relaxed.gpu instruction used in view.find causes L1 to + * flush more frequently, causing increased sector stores from L2 to global memory. + * By writing results to shared memory and then synchronizing before writing back + * to global, we no longer rely on L1, preventing the increase in sector stores from + * L2 to global and improving performance. + */ + if (tile.thread_rank() == 0) { writeBuffer[threadIdx.x / tile_size] = found; } + __syncthreads(); + if (tile.thread_rank() == 0) { + *(output_begin + key_idx) = writeBuffer[threadIdx.x / tile_size]; + } + key_idx += (gridDim.x * block_size) / tile_size; + } +} + +/** + * @brief Counts the occurrences of keys in `[first, last)` contained in the multimap. + * + * For each key, `k = *(first + i)`, counts all matching keys, `k'`, as determined by `key_equal(k, + * k')` and stores the sum of all matches for all keys to `num_matches`. If `k` does not have any + * matches, it contributes 1 to the final sum only if `is_outer` is true. + * + * @tparam block_size The size of the thread block + * @tparam tile_size The number of threads in the Cooperative Groups used to perform counts + * @tparam uses_vector_load Boolean flag indicating whether vector loads are used or not + * @tparam is_outer Boolean flag indicating whether non-matches are counted + * @tparam InputIt Device accessible input iterator whose `value_type` is convertible to the map's + * `key_type` + * @tparam atomicT Type of atomic storage + * @tparam viewT Type of device view allowing access of hash map storage + * @tparam KeyEqual Binary callable + * @param first Beginning of the sequence of keys to count + * @param last End of the sequence of keys to count + * @param num_matches The number of all the matches for a sequence of keys + * @param view Device view used to access the hash map's slot storage + * @param key_equal Binary function to compare two keys for equality + */ +template +__global__ void count( + InputIt first, InputIt last, atomicT* num_matches, viewT view, KeyEqual key_equal) +{ + auto tile = cg::tiled_partition(cg::this_thread_block()); + auto tid = block_size * blockIdx.x + threadIdx.x; + auto key_idx = tid / tile_size; + + typedef cub::BlockReduce BlockReduce; + __shared__ typename BlockReduce::TempStorage temp_storage; + std::size_t thread_num_matches = 0; + + while (first + key_idx < last) { + auto key = *(first + key_idx); + if constexpr (is_outer) { + thread_num_matches += view.count_outer(tile, key, key_equal); + } else { + thread_num_matches += view.count(tile, key, key_equal); + } + key_idx += (gridDim.x * block_size) / tile_size; + } + + // compute number of successfully inserted elements for each block + // and atomically add to the grand total + std::size_t block_num_matches = BlockReduce(temp_storage).Sum(thread_num_matches); + if (threadIdx.x == 0) { + num_matches->fetch_add(block_num_matches, cuda::std::memory_order_relaxed); + } +} + +/** + * @brief Counts the occurrences of key/value pairs in `[first, last)` contained in the multimap. + * + * For pair, `p = *(first + i)`, counts all matching pairs, `p'`, as determined by `pair_equal(p, + * p')` and stores the sum of all matches for all pairs to `num_matches`. If `p` does not have any + * matches, it contributes 1 to the final sum only if `is_outer` is true. + * + * @tparam block_size The size of the thread block + * @tparam tile_size The number of threads in the Cooperative Groups used to perform counts + * @tparam is_outer Boolean flag indicating whether non-matches are counted + * @tparam InputIt Device accessible random access input iterator where + * `std::is_convertible::value_type, + * static_multimap::value_type>` is `true` + * @tparam atomicT Type of atomic storage + * @tparam viewT Type of device view allowing access of hash map storage + * @tparam PairEqual Binary callable + * @param first Beginning of the sequence of pairs to count + * @param last End of the sequence of pairs to count + * @param num_matches The number of all the matches for a sequence of pairs + * @param view Device view used to access the hash map's slot storage + * @param pair_equal Binary function to compare two pairs for equality + */ +template +__global__ void pair_count( + InputIt first, InputIt last, atomicT* num_matches, viewT view, PairEqual pair_equal) +{ + auto tile = cg::tiled_partition(cg::this_thread_block()); + auto tid = block_size * blockIdx.x + threadIdx.x; + auto pair_idx = tid / tile_size; + + typedef cub::BlockReduce BlockReduce; + __shared__ typename BlockReduce::TempStorage temp_storage; + std::size_t thread_num_matches = 0; + + while (first + pair_idx < last) { + typename viewT::value_type const pair = *(first + pair_idx); + if constexpr (is_outer) { + thread_num_matches += view.pair_count_outer(tile, pair, pair_equal); + } else { + thread_num_matches += view.pair_count(tile, pair, pair_equal); + } + pair_idx += (gridDim.x * block_size) / tile_size; + } + + // compute number of successfully inserted elements for each block + // and atomically add to the grand total + std::size_t block_num_matches = BlockReduce(temp_storage).Sum(thread_num_matches); + if (threadIdx.x == 0) { + num_matches->fetch_add(block_num_matches, cuda::std::memory_order_relaxed); + } +} + +/** + * @brief Retrieves all the values corresponding to all keys in the range `[first, last)`. + * + * For key `k = *(first + i)` existing in the map, copies `k` and all associated values to + * unspecified locations in `[output_begin, output_end)`. If `k` does not have any matches, copies + * `k` and `empty_value_sentinel()` into the output only if `is_outer` is true. + * + * Behavior is undefined if the total number of matching keys exceeds `std::distance(output_begin, + * output_begin + *num_matches - 1)`. Use `count()` to determine the size of the output range. + * + * @tparam block_size The size of the thread block + * @tparam flushing_cg_size The size of the CG used to flush output buffers + * @tparam probing_cg_size The size of the CG for parallel retrievals + * @tparam buffer_size Size of the output buffer + * @tparam is_outer Boolean flag indicating whether non-matches are included in the output + * @tparam InputIt Device accessible input iterator whose `value_type` is + * convertible to the map's `key_type` + * @tparam OutputIt Device accessible output iterator whose `value_type` is + * constructible from the map's `value_type` + * @tparam atomicT Type of atomic storage + * @tparam viewT Type of device view allowing access of hash map storage + * @tparam KeyEqual Binary callable type + * @param first Beginning of the sequence of keys + * @param last End of the sequence of keys + * @param output_begin Beginning of the sequence of values retrieved for each key + * @param num_matches Size of the output sequence + * @param view Device view used to access the hash map's slot storage + * @param key_equal The binary function to compare two keys for equality + */ +template +__global__ void retrieve(InputIt first, + InputIt last, + OutputIt output_begin, + atomicT* num_matches, + viewT view, + KeyEqual key_equal) +{ + using pair_type = typename viewT::value_type; + + constexpr uint32_t num_flushing_cgs = block_size / flushing_cg_size; + const uint32_t flushing_cg_id = threadIdx.x / flushing_cg_size; + + auto flushing_cg = cg::tiled_partition(cg::this_thread_block()); + auto probing_cg = cg::tiled_partition(cg::this_thread_block()); + auto tid = block_size * blockIdx.x + threadIdx.x; + auto key_idx = tid / probing_cg_size; + + __shared__ pair_type output_buffer[num_flushing_cgs][buffer_size]; + // TODO: replace this with shared memory cuda::atomic variables once the dynamiic initialization + // warning issue is solved __shared__ atomicT counter[num_flushing_cgs][buffer_size]; + __shared__ uint32_t flushing_cg_counter[num_flushing_cgs]; + + if (flushing_cg.thread_rank() == 0) { flushing_cg_counter[flushing_cg_id] = 0; } + + while (flushing_cg.any(first + key_idx < last)) { + bool active_flag = first + key_idx < last; + auto active_flushing_cg = cg::binary_partition(flushing_cg, active_flag); + + if (active_flag) { + auto key = *(first + key_idx); + if constexpr (is_outer) { + view.retrieve_outer(active_flushing_cg, + probing_cg, + key, + &flushing_cg_counter[flushing_cg_id], + output_buffer[flushing_cg_id], + num_matches, + output_begin, + key_equal); + } else { + view.retrieve(active_flushing_cg, + probing_cg, + key, + &flushing_cg_counter[flushing_cg_id], + output_buffer[flushing_cg_id], + num_matches, + output_begin, + key_equal); + } + } + key_idx += (gridDim.x * block_size) / probing_cg_size; + } + + // Final flush of output buffer + if (flushing_cg_counter[flushing_cg_id] > 0) { + view.flush_output_buffer(flushing_cg, + flushing_cg_counter[flushing_cg_id], + output_buffer[flushing_cg_id], + num_matches, + output_begin); + } +} + +/** + * @brief Retrieves all pairs matching the input probe pair in the range `[first, last)`. + * + * If pair_equal(*(first + i), slot[j]) returns true, then *(first+i) is stored to unspecified + * locations in `probe_output_begin`, and slot[j] is stored to unspecified locations in + * `contained_output_begin`. If the given pair has no matches in the map, copies *(first + i) in + * `probe_output_begin` and a pair of `empty_key_sentinel` and `empty_value_sentinel` in + * `contained_output_begin` only when `is_outer` is `true`. + * + * Behavior is undefined if the total number of matching pairs exceeds `std::distance(output_begin, + * output_begin + *num_matches - 1)`. Use `pair_count()` to determine the size of the output range. + * + * @tparam block_size The size of the thread block + * @tparam flushing_cg_size The size of the CG used to flush output buffers + * @tparam probing_cg_size The size of the CG for parallel retrievals + * @tparam buffer_size Size of the output buffer + * @tparam is_outer Boolean flag indicating whether non-matches are included in the output + * @tparam InputIt Device accessible random access input iterator where + * `std::is_convertible::value_type, + * static_multimap::value_type>` is `true` + * @tparam OutputIt1 Device accessible output iterator whose `value_type` is constructible from + * `InputIt`s `value_type`. + * @tparam OutputIt2 Device accessible output iterator whose `value_type` is constructible from + * the map's `value_type`. + * @tparam atomicT Type of atomic storage + * @tparam viewT Type of device view allowing access of hash map storage + * @tparam PairEqual Binary callable type + * @param first Beginning of the sequence of keys + * @param last End of the sequence of keys + * @param probe_output_begin Beginning of the sequence of the matched probe pairs + * @param contained_output_begin Beginning of the sequence of the matched contained pairs + * @param num_matches Size of the output sequence + * @param view Device view used to access the hash map's slot storage + * @param pair_equal The binary function to compare two pairs for equality + */ +template +__global__ void pair_retrieve(InputIt first, + InputIt last, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + atomicT* num_matches, + viewT view, + PairEqual pair_equal) +{ + using pair_type = typename viewT::value_type; + + constexpr uint32_t num_flushing_cgs = block_size / flushing_cg_size; + const uint32_t flushing_cg_id = threadIdx.x / flushing_cg_size; + + auto flushing_cg = cg::tiled_partition(cg::this_thread_block()); + auto probing_cg = cg::tiled_partition(cg::this_thread_block()); + auto tid = block_size * blockIdx.x + threadIdx.x; + auto pair_idx = tid / probing_cg_size; + + __shared__ pair_type probe_output_buffer[num_flushing_cgs][buffer_size]; + __shared__ pair_type contained_output_buffer[num_flushing_cgs][buffer_size]; + // TODO: replace this with shared memory cuda::atomic variables once the dynamiic initialization + // warning issue is solved __shared__ atomicT counter[num_flushing_cgs][buffer_size]; + __shared__ uint32_t flushing_cg_counter[num_flushing_cgs]; + + if (flushing_cg.thread_rank() == 0) { flushing_cg_counter[flushing_cg_id] = 0; } + + while (flushing_cg.any(first + pair_idx < last)) { + bool active_flag = first + pair_idx < last; + auto active_flushing_cg = cg::binary_partition(flushing_cg, active_flag); + + if (active_flag) { + pair_type pair = *(first + pair_idx); + if constexpr (is_outer) { + view.pair_retrieve_outer(active_flushing_cg, + probing_cg, + pair, + &flushing_cg_counter[flushing_cg_id], + probe_output_buffer[flushing_cg_id], + contained_output_buffer[flushing_cg_id], + num_matches, + probe_output_begin, + contained_output_begin, + pair_equal); + } else { + view.pair_retrieve(active_flushing_cg, + probing_cg, + pair, + &flushing_cg_counter[flushing_cg_id], + probe_output_buffer[flushing_cg_id], + contained_output_buffer[flushing_cg_id], + num_matches, + probe_output_begin, + contained_output_begin, + pair_equal); + } + } + pair_idx += (gridDim.x * block_size) / probing_cg_size; + } + + // Final flush of output buffer + if (flushing_cg_counter[flushing_cg_id] > 0) { + view.flush_output_buffer(flushing_cg, + flushing_cg_counter[flushing_cg_id], + probe_output_buffer[flushing_cg_id], + contained_output_buffer[flushing_cg_id], + num_matches, + probe_output_begin, + contained_output_begin); + } +} + +} // namespace detail +} // namespace cuco diff --git a/include/cuco/detail/static_multimap/static_multimap.inl b/include/cuco/detail/static_multimap/static_multimap.inl new file mode 100644 index 000000000..6d7c36f00 --- /dev/null +++ b/include/cuco/detail/static_multimap/static_multimap.inl @@ -0,0 +1,817 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include + +#include + +namespace { +/** + * @brief Device functor used to determine if a slot is filled. + */ +template +struct slot_is_filled { + slot_is_filled(Key s) : empty_key_sentinel{s} {} + __device__ __forceinline__ bool operator()(Key const& k) { return k != empty_key_sentinel; } + Key empty_key_sentinel; +}; +} // anonymous namespace + +namespace cuco { + +template +static_multimap::static_multimap( + std::size_t capacity, + Key empty_key_sentinel, + Value empty_value_sentinel, + cudaStream_t stream, + Allocator const& alloc) + : capacity_{cuco::detail::get_valid_capacity( + capacity)}, + empty_key_sentinel_{empty_key_sentinel}, + empty_value_sentinel_{empty_value_sentinel}, + counter_allocator_{alloc}, + slot_allocator_{alloc}, + stream_{stream}, + delete_counter_{counter_allocator_, stream_}, + delete_slots_{slot_allocator_, capacity_, stream_}, + d_counter_{counter_allocator_.allocate(1, stream_), delete_counter_}, + slots_{slot_allocator_.allocate(capacity_, stream_), delete_slots_} +{ + auto constexpr block_size = 128; + auto constexpr stride = 4; + auto const grid_size = (get_capacity() + stride * block_size - 1) / (stride * block_size); + + detail::initialize<<>>( + slots_.get(), empty_key_sentinel, empty_value_sentinel, get_capacity()); +} + +template +template +void static_multimap::insert(InputIt first, + InputIt last, + cudaStream_t stream) +{ + auto num_keys = std::distance(first, last); + auto view = get_device_mutable_view(); + + auto constexpr block_size = 128; + auto constexpr stride = 1; + auto const grid_size = (cg_size() * num_keys + stride * block_size - 1) / (stride * block_size); + + detail::insert + <<>>(first, first + num_keys, view); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); +} + +template +template +void static_multimap::insert_if( + InputIt first, InputIt last, StencilIt stencil, Predicate pred, cudaStream_t stream) +{ + auto num_elements = std::distance(first, last); + auto view = get_device_mutable_view(); + + auto constexpr block_size = 128; + auto constexpr stride = 1; + auto const grid_size = + (cg_size() * num_elements + stride * block_size - 1) / (stride * block_size); + + detail::insert_if_n + <<>>(first, stencil, num_elements, view, pred); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); +} + +template +template +void static_multimap::contains( + InputIt first, InputIt last, OutputIt output_begin, cudaStream_t stream, KeyEqual key_equal) const +{ + auto num_keys = std::distance(first, last); + auto view = get_device_view(); + + auto constexpr block_size = 128; + auto constexpr stride = 1; + auto const grid_size = (cg_size() * num_keys + stride * block_size - 1) / (stride * block_size); + + detail::contains + <<>>(first, last, output_begin, view, key_equal); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); +} + +template +template +std::size_t static_multimap::count( + InputIt first, InputIt last, cudaStream_t stream, KeyEqual key_equal) const +{ + auto num_keys = std::distance(first, last); + auto view = get_device_view(); + + auto constexpr is_outer = false; + auto constexpr block_size = 128; + auto constexpr stride = 1; + + auto const grid_size = (cg_size() * num_keys + stride * block_size - 1) / (stride * block_size); + + cudaMemsetAsync(d_counter_.get(), 0, sizeof(atomic_ctr_type), stream); + std::size_t h_counter; + + detail::count + <<>>(first, last, d_counter_.get(), view, key_equal); + CUCO_CUDA_TRY(cudaMemcpyAsync( + &h_counter, d_counter_.get(), sizeof(atomic_ctr_type), cudaMemcpyDeviceToHost, stream)); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); + + return h_counter; +} + +template +template +std::size_t static_multimap::count_outer( + InputIt first, InputIt last, cudaStream_t stream, KeyEqual key_equal) const +{ + auto num_keys = std::distance(first, last); + auto view = get_device_view(); + + auto constexpr is_outer = true; + auto constexpr block_size = 128; + auto constexpr stride = 1; + + auto const grid_size = (cg_size() * num_keys + stride * block_size - 1) / (stride * block_size); + + cudaMemsetAsync(d_counter_.get(), 0, sizeof(atomic_ctr_type), stream); + std::size_t h_counter; + + detail::count + <<>>(first, last, d_counter_.get(), view, key_equal); + CUCO_CUDA_TRY(cudaMemcpyAsync( + &h_counter, d_counter_.get(), sizeof(atomic_ctr_type), cudaMemcpyDeviceToHost, stream)); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); + + return h_counter; +} + +template +template +std::size_t static_multimap::pair_count( + InputIt first, InputIt last, PairEqual pair_equal, cudaStream_t stream) const +{ + auto num_keys = std::distance(first, last); + auto view = get_device_view(); + + bool constexpr is_outer = false; + + auto constexpr block_size = 128; + auto constexpr stride = 1; + auto const grid_size = (cg_size() * num_keys + stride * block_size - 1) / (stride * block_size); + + cudaMemsetAsync(d_counter_.get(), 0, sizeof(atomic_ctr_type), stream); + std::size_t h_counter; + + detail::pair_count + <<>>(first, last, d_counter_.get(), view, pair_equal); + CUCO_CUDA_TRY(cudaMemcpyAsync( + &h_counter, d_counter_.get(), sizeof(atomic_ctr_type), cudaMemcpyDeviceToHost, stream)); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); + + return h_counter; +} + +template +template +std::size_t static_multimap::pair_count_outer( + InputIt first, InputIt last, PairEqual pair_equal, cudaStream_t stream) const +{ + auto num_keys = std::distance(first, last); + auto view = get_device_view(); + + bool constexpr is_outer = true; + + auto constexpr block_size = 128; + auto constexpr stride = 1; + auto const grid_size = (cg_size() * num_keys + stride * block_size - 1) / (stride * block_size); + + cudaMemsetAsync(d_counter_.get(), 0, sizeof(atomic_ctr_type), stream); + std::size_t h_counter; + + detail::pair_count + <<>>(first, last, d_counter_.get(), view, pair_equal); + CUCO_CUDA_TRY(cudaMemcpyAsync( + &h_counter, d_counter_.get(), sizeof(atomic_ctr_type), cudaMemcpyDeviceToHost, stream)); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); + + return h_counter; +} + +template +template +OutputIt static_multimap::retrieve( + InputIt first, InputIt last, OutputIt output_begin, cudaStream_t stream, KeyEqual key_equal) const +{ + auto num_keys = std::distance(first, last); + auto view = get_device_view(); + + // Using per-warp buffer for vector loads and per-CG buffer for scalar loads + constexpr auto buffer_size = uses_vector_load() ? (warp_size() * 3u) : (cg_size() * 3u); + constexpr auto block_size = 128; + constexpr auto is_outer = false; + + auto const flushing_cg_size = [&]() { + if constexpr (uses_vector_load()) { return warp_size(); } + return cg_size(); + }(); + + auto const grid_size = detail::get_grid_size(detail::retrieve, + block_size); + + cudaMemsetAsync(d_counter_.get(), 0, sizeof(atomic_ctr_type), stream); + std::size_t h_counter; + + detail::retrieve + <<>>( + first, last, output_begin, d_counter_.get(), view, key_equal); + + CUCO_CUDA_TRY(cudaMemcpyAsync( + &h_counter, d_counter_.get(), sizeof(atomic_ctr_type), cudaMemcpyDeviceToHost, stream)); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); + + auto output_end = output_begin + h_counter; + return output_end; +} + +template +template +OutputIt static_multimap::retrieve_outer( + InputIt first, InputIt last, OutputIt output_begin, cudaStream_t stream, KeyEqual key_equal) const +{ + auto num_keys = std::distance(first, last); + auto view = get_device_view(); + + // Using per-warp buffer for vector loads and per-CG buffer for scalar loads + constexpr auto buffer_size = uses_vector_load() ? (warp_size() * 3u) : (cg_size() * 3u); + constexpr auto block_size = 128; + constexpr auto is_outer = true; + + auto const flushing_cg_size = [&]() { + if constexpr (uses_vector_load()) { return warp_size(); } + return cg_size(); + }(); + + auto const grid_size = detail::get_grid_size(detail::retrieve, + block_size); + + cudaMemsetAsync(d_counter_.get(), 0, sizeof(atomic_ctr_type), stream); + std::size_t h_counter; + + detail::retrieve + <<>>( + first, last, output_begin, d_counter_.get(), view, key_equal); + + CUCO_CUDA_TRY(cudaMemcpyAsync( + &h_counter, d_counter_.get(), sizeof(atomic_ctr_type), cudaMemcpyDeviceToHost, stream)); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); + + auto output_end = output_begin + h_counter; + return output_end; +} + +template +template +std::pair +static_multimap::pair_retrieve( + InputIt first, + InputIt last, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + PairEqual pair_equal, + cudaStream_t stream) const +{ + auto num_pairs = std::distance(first, last); + auto view = get_device_view(); + + // Using per-warp buffer for vector loads and per-CG buffer for scalar loads + constexpr auto buffer_size = uses_vector_load() ? (warp_size() * 3u) : (cg_size() * 3u); + constexpr auto block_size = 128; + constexpr auto is_outer = false; + constexpr auto stride = 1; + + auto const flushing_cg_size = [&]() { + if constexpr (uses_vector_load()) { return warp_size(); } + return cg_size(); + }(); + + auto const grid_size = (cg_size() * num_pairs + stride * block_size - 1) / (stride * block_size); + + cudaMemsetAsync(d_counter_.get(), 0, sizeof(atomic_ctr_type), stream); + std::size_t h_counter; + + detail::pair_retrieve + <<>>( + first, last, probe_output_begin, contained_output_begin, d_counter_.get(), view, pair_equal); + + CUCO_CUDA_TRY(cudaMemcpyAsync( + &h_counter, d_counter_.get(), sizeof(atomic_ctr_type), cudaMemcpyDeviceToHost, stream)); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); + + return std::make_pair(probe_output_begin + h_counter, contained_output_begin + h_counter); +} + +template +template +std::pair +static_multimap::pair_retrieve_outer( + InputIt first, + InputIt last, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + PairEqual pair_equal, + cudaStream_t stream) const +{ + auto num_pairs = std::distance(first, last); + auto view = get_device_view(); + + // Using per-warp buffer for vector loads and per-CG buffer for scalar loads + constexpr auto buffer_size = uses_vector_load() ? (warp_size() * 3u) : (cg_size() * 3u); + constexpr auto block_size = 128; + constexpr auto is_outer = true; + constexpr auto stride = 1; + + auto const flushing_cg_size = [&]() { + if constexpr (uses_vector_load()) { return warp_size(); } + return cg_size(); + }(); + + auto const grid_size = (cg_size() * num_pairs + stride * block_size - 1) / (stride * block_size); + + cudaMemsetAsync(d_counter_.get(), 0, sizeof(atomic_ctr_type), stream); + std::size_t h_counter; + + detail::pair_retrieve + <<>>( + first, last, probe_output_begin, contained_output_begin, d_counter_.get(), view, pair_equal); + + CUCO_CUDA_TRY(cudaMemcpyAsync( + &h_counter, d_counter_.get(), sizeof(atomic_ctr_type), cudaMemcpyDeviceToHost, stream)); + CUCO_CUDA_TRY(cudaStreamSynchronize(stream)); + + return std::make_pair(probe_output_begin + h_counter, contained_output_begin + h_counter); +} + +template +__device__ __forceinline__ void +static_multimap::device_mutable_view::insert( + cooperative_groups::thread_block_tile const& g, + value_type const& insert_pair) noexcept +{ + impl_.insert(g, insert_pair); +} + +template +template +__device__ __forceinline__ static_multimap::device_view +static_multimap::device_view::make_copy( + CG g, pair_atomic_type* const memory_to_use, device_view source_device_view) noexcept +{ +#if defined(CUCO_HAS_CUDA_BARRIER) + __shared__ cuda::barrier barrier; + if (g.thread_rank() == 0) { init(&barrier, g.size()); } + g.sync(); + + cuda::memcpy_async(g, + memory_to_use, + source_device_view.get_slots(), + sizeof(pair_atomic_type) * source_device_view.get_capacity(), + barrier); + + barrier.arrive_and_wait(); +#else + pair_atomic_type const* const slots_ptr = source_device_view.get_slots(); + for (std::size_t i = g.thread_rank(); i < source_device_view.get_capacity(); i += g.size()) { + new (&memory_to_use[i].first) + atomic_key_type{slots_ptr[i].first.load(cuda::memory_order_relaxed)}; + new (&memory_to_use[i].second) + atomic_mapped_type{slots_ptr[i].second.load(cuda::memory_order_relaxed)}; + } + g.sync(); +#endif + + return device_view(memory_to_use, + source_device_view.get_capacity(), + source_device_view.get_empty_key_sentinel(), + source_device_view.get_empty_value_sentinel()); +} + +template +template +__device__ __forceinline__ void +static_multimap::device_view::flush_output_buffer( + CG const& g, + uint32_t const num_outputs, + value_type* output_buffer, + atomicT* num_matches, + OutputIt output_begin) noexcept +{ + impl_.flush_output_buffer(g, num_outputs, output_buffer, num_matches, output_begin); +} + +template +template +__device__ __forceinline__ void +static_multimap::device_view::flush_output_buffer( + CG const& g, + uint32_t const num_outputs, + value_type* probe_output_buffer, + value_type* contained_output_buffer, + atomicT* num_matches, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin) noexcept +{ + impl_.flush_output_buffer(g, + num_outputs, + probe_output_buffer, + contained_output_buffer, + num_matches, + probe_output_begin, + contained_output_begin); +} + +template +template +__device__ __forceinline__ bool +static_multimap::device_view::contains( + cooperative_groups::thread_block_tile const& g, + Key const& k, + KeyEqual key_equal) noexcept +{ + return impl_.contains(g, k, key_equal); +} + +template +template +__device__ __forceinline__ std::size_t +static_multimap::device_view::count( + cooperative_groups::thread_block_tile const& g, + Key const& k, + KeyEqual key_equal) noexcept +{ + constexpr bool is_outer = false; + return impl_.count(g, k, key_equal); +} + +template +template +__device__ __forceinline__ std::size_t +static_multimap::device_view::count_outer( + cooperative_groups::thread_block_tile const& g, + Key const& k, + KeyEqual key_equal) noexcept +{ + constexpr bool is_outer = true; + return impl_.count(g, k, key_equal); +} + +template +template +__device__ __forceinline__ std::size_t +static_multimap::device_view::pair_count( + cooperative_groups::thread_block_tile const& g, + value_type const& pair, + PairEqual pair_equal) noexcept +{ + constexpr bool is_outer = false; + return impl_.pair_count(g, pair, pair_equal); +} + +template +template +__device__ __forceinline__ std::size_t +static_multimap::device_view::pair_count_outer( + cooperative_groups::thread_block_tile const& g, + value_type const& pair, + PairEqual pair_equal) noexcept +{ + constexpr bool is_outer = true; + return impl_.pair_count(g, pair, pair_equal); +} + +template +template +__device__ __forceinline__ void +static_multimap::device_view::retrieve( + FlushingCG const& flushing_cg, + cooperative_groups::thread_block_tile const& probing_cg, + Key const& k, + uint32_t* flushing_cg_counter, + value_type* output_buffer, + atomicT* num_matches, + OutputIt output_begin, + KeyEqual key_equal) noexcept +{ + constexpr bool is_outer = false; + if constexpr (uses_vector_load()) { + impl_.retrieve(flushing_cg, + probing_cg, + k, + flushing_cg_counter, + output_buffer, + num_matches, + output_begin, + key_equal); + } else // In the case of scalar load, flushing CG is the same as probing CG + { + impl_.retrieve( + probing_cg, k, flushing_cg_counter, output_buffer, num_matches, output_begin, key_equal); + } +} + +template +template +__device__ __forceinline__ void +static_multimap::device_view::retrieve_outer( + FlushingCG const& flushing_cg, + cooperative_groups::thread_block_tile const& probing_cg, + Key const& k, + uint32_t* flushing_cg_counter, + value_type* output_buffer, + atomicT* num_matches, + OutputIt output_begin, + KeyEqual key_equal) noexcept +{ + constexpr bool is_outer = true; + if constexpr (uses_vector_load()) { + impl_.retrieve(flushing_cg, + probing_cg, + k, + flushing_cg_counter, + output_buffer, + num_matches, + output_begin, + key_equal); + } else // In the case of scalar load, flushing CG is the same as probing CG + { + impl_.retrieve( + probing_cg, k, flushing_cg_counter, output_buffer, num_matches, output_begin, key_equal); + } +} + +template +template +__device__ __forceinline__ void +static_multimap::device_view::pair_retrieve( + FlushingCG const& flushing_cg, + cooperative_groups::thread_block_tile const& probing_cg, + value_type const& pair, + uint32_t* flushing_cg_counter, + value_type* probe_output_buffer, + value_type* contained_output_buffer, + atomicT* num_matches, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + PairEqual pair_equal) noexcept +{ + constexpr bool is_outer = false; + if constexpr (uses_vector_load()) { + impl_.pair_retrieve(flushing_cg, + probing_cg, + pair, + flushing_cg_counter, + probe_output_buffer, + contained_output_buffer, + num_matches, + probe_output_begin, + contained_output_begin, + pair_equal); + } else // In the case of scalar load, flushing CG is the same as probing CG + { + impl_.pair_retrieve(probing_cg, + pair, + flushing_cg_counter, + probe_output_buffer, + contained_output_buffer, + num_matches, + probe_output_begin, + contained_output_begin, + pair_equal); + } +} + +template +template +__device__ __forceinline__ void +static_multimap::device_view::pair_retrieve_outer( + FlushingCG const& flushing_cg, + cooperative_groups::thread_block_tile const& probing_cg, + value_type const& pair, + uint32_t* flushing_cg_counter, + value_type* probe_output_buffer, + value_type* contained_output_buffer, + atomicT* num_matches, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + PairEqual pair_equal) noexcept +{ + constexpr bool is_outer = true; + if constexpr (uses_vector_load()) { + impl_.pair_retrieve(flushing_cg, + probing_cg, + pair, + flushing_cg_counter, + probe_output_buffer, + contained_output_buffer, + num_matches, + probe_output_begin, + contained_output_begin, + pair_equal); + } else // In the case of scalar load, flushing CG is the same as probing CG + { + impl_.pair_retrieve(probing_cg, + pair, + flushing_cg_counter, + probe_output_buffer, + contained_output_buffer, + num_matches, + probe_output_begin, + contained_output_begin, + pair_equal); + } +} + +template +std::size_t static_multimap::get_size( + cudaStream_t stream) const noexcept +{ + auto begin = thrust::make_transform_iterator( + raw_slots(), [] __device__(cuco::pair_type const& pair) { return pair.first; }); + slot_is_filled filled(empty_key_sentinel_); + + return thrust::count_if(thrust::cuda::par.on(stream), begin, begin + capacity_, filled); +} + +template +float static_multimap::get_load_factor( + cudaStream_t stream) const noexcept +{ + auto size = get_size(stream); + return static_cast(size) / static_cast(capacity_); +} + +} // namespace cuco diff --git a/include/cuco/detail/util.hpp b/include/cuco/detail/util.hpp new file mode 100644 index 000000000..40697ff5c --- /dev/null +++ b/include/cuco/detail/util.hpp @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + */ + +#pragma once + +namespace cuco { +namespace detail { + +/** + * @brief Compute the number of bits of a simple type. + * + * @tparam T The type we want to infer its size in bits + * + * @return Size of type T in bits + */ +template +static constexpr std::size_t type_bits() noexcept +{ + return sizeof(T) * CHAR_BIT; +} + +// safe division +#ifndef SDIV +#define SDIV(x, y) (((x) + (y)-1) / (y)) +#endif + +template +auto get_grid_size(Kernel kernel, std::size_t block_size, std::size_t dynamic_smem_bytes = 0) +{ + int grid_size{-1}; + cudaOccupancyMaxActiveBlocksPerMultiprocessor(&grid_size, kernel, block_size, dynamic_smem_bytes); + int dev_id{-1}; + cudaGetDevice(&dev_id); + int num_sms{-1}; + cudaDeviceGetAttribute(&num_sms, cudaDevAttrMultiProcessorCount, dev_id); + grid_size *= num_sms; + return grid_size; +} + +} // namespace detail +} // namespace cuco diff --git a/include/cuco/probe_sequences.cuh b/include/cuco/probe_sequences.cuh new file mode 100644 index 000000000..f923f9df6 --- /dev/null +++ b/include/cuco/probe_sequences.cuh @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +namespace cuco { + +/** + * @brief Public linear probing scheme class. + * + * Linear probing is efficient when few collisions are present. Performance hints: + * - Use linear probing when collisions are rare. e.g. low occupancy or low multiplicity. + * - `CGSize` = 1 or 2 when hash map is small (10'000'000 or less), 4 or 8 otherwise. + * + * `Hash` should be callable object type. + * + * @tparam CGSize Size of CUDA Cooperative Groups + * @tparam Hash Unary callable type + */ +template +class linear_probing : public detail::probe_sequence_base { + public: + using probe_sequence_base_type = detail::probe_sequence_base; + using probe_sequence_base_type::cg_size; + using probe_sequence_base_type::vector_width; + + template + using impl = detail::linear_probing_impl; +}; + +/** + * + * @brief Public double hashing scheme class. + * + * Default probe sequence for `cuco::static_multimap`. Double hashing shows superior + * performance when dealing with high multiplicty and/or high occupancy use cases. Performance + * hints: + * - `CGSize` = 1 or 2 when hash map is small (10'000'000 or less), 4 or 8 otherwise. + * + * `Hash1` and `Hash2` should be callable object type. + * + * @tparam CGSize Size of CUDA Cooperative Groups + * @tparam Hash1 Unary callable type + * @tparam Hash2 Unary callable type + */ +template +class double_hashing : public detail::probe_sequence_base { + public: + using probe_sequence_base_type = detail::probe_sequence_base; + using probe_sequence_base_type::cg_size; + using probe_sequence_base_type::vector_width; + + template + using impl = detail::double_hashing_impl; +}; + +} // namespace cuco diff --git a/include/cuco/static_map.cuh b/include/cuco/static_map.cuh index 5fbc00cea..582549de3 100644 --- a/include/cuco/static_map.cuh +++ b/include/cuco/static_map.cuh @@ -24,6 +24,7 @@ #include #include +#include #if defined(CUDART_VERSION) && (CUDART_VERSION >= 11000) && defined(__CUDA_ARCH__) && \ (__CUDA_ARCH__ >= 700) @@ -44,41 +45,6 @@ namespace cuco { template class dynamic_map; -/** - * @brief Customization point that can be specialized to indicate that it is safe to perform bitwise - * equality comparisons on objects of type `T`. - * - * By default, only types where `std::has_unique_object_representations_v` is true are safe for - * bitwise equality. However, this can be too restrictive for some types, e.g., floating point - * types. - * - * User-defined specializations of `is_bitwise_comparable` are allowed, but it is the users - * responsibility to ensure values do not occur that would lead to unexpected behavior. For example, - * if a `NaN` bit pattern were used as the empty sentinel value, it may not compare bitwise equal to - * other `NaN` bit patterns. - * - */ -template -struct is_bitwise_comparable : std::false_type { -}; - -/// By default, only types with unique object representations are allowed -template -struct is_bitwise_comparable>> - : std::true_type { -}; - -/** - * @brief Declares that a type `Type` is bitwise comparable. - * - */ -#define CUCO_DECLARE_BITWISE_COMPARABLE(Type) \ - namespace cuco { \ - template <> \ - struct is_bitwise_comparable : std::true_type { \ - }; \ - } - /** * @brief A GPU-accelerated, unordered, associative container of key-value * pairs with unique keys. @@ -88,7 +54,7 @@ struct is_bitwise_comparable::value` is true + * - Requires keys and values that where `cuco::is_bitwise_comparable_v` is true * - Comparisons against the "sentinel" values will always be done with bitwise comparisons. * - Does not support erasing keys * - Capacity is fixed and will not grow automatically @@ -153,14 +119,14 @@ template > class static_map { static_assert( - is_bitwise_comparable::value, + cuco::is_bitwise_comparable_v, "Key type must have unique object representations or have been explicitly declared as safe for " - "bitwise comparison via specialization of cuco::is_bitwise_comparable."); + "bitwise comparison via specialization of cuco::is_bitwise_comparable_v."); - static_assert(is_bitwise_comparable::value, + static_assert(cuco::is_bitwise_comparable_v, "Value type must have unique object representations or have been explicitly " "declared as safe for bitwise comparison via specialization of " - "cuco::is_bitwise_comparable."); + "cuco::is_bitwise_comparable_v."); friend class dynamic_map; diff --git a/include/cuco/static_multimap.cuh b/include/cuco/static_multimap.cuh new file mode 100644 index 000000000..9261ef9a2 --- /dev/null +++ b/include/cuco/static_multimap.cuh @@ -0,0 +1,1159 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include +#include +#include +#include + +#include +#include +#include + +#if defined(CUDART_VERSION) && (CUDART_VERSION >= 11000) && defined(__CUDA_ARCH__) && \ + (__CUDA_ARCH__ >= 700) +#define CUCO_HAS_CUDA_BARRIER +#endif + +// cg::memcpy_aysnc is supported for CUDA 11.1 and up +#if defined(CUDART_VERSION) && (CUDART_VERSION >= 11100) +#define CUCO_HAS_CG_MEMCPY_ASYNC +#endif + +#if defined(CUCO_HAS_CUDA_BARRIER) +#include +#endif + +#include +#include +#include + +namespace cuco { + +/** + * @brief A GPU-accelerated, unordered, associative container of key-value + * pairs that supports equivalent keys. + * + * Allows constant time concurrent inserts or concurrent find operations from threads in device + * code. Concurrent insert/find is allowed only when + * `static_multimap::supports_concurrent_insert_find()` is true. + * + * Current limitations: + * - Requires keys and values where `cuco::is_bitwise_comparable_v` is true + * - Comparisons against the "sentinel" values will always be done with bitwise comparisons + * Therefore, the objects must have unique, bitwise object representations (e.g., no padding bits). + * - Does not support erasing keys + * - Capacity is fixed and will not grow automatically + * - Requires the user to specify sentinel values for both key and mapped value + * to indicate empty slots + * - Concurrent insert/find is only supported when `static_multimap::supports_concurrent_insert_find()` is true` + * + * The `static_multimap` supports two types of operations: + * - Host-side "bulk" operations + * - Device-side "singular" operations + * + * The host-side bulk operations include `insert`, `contains`, `count`, `retrieve` and their + * variants. These APIs should be used when there are a large number of keys to insert or lookup in + * the map. For example, given a range of keys specified by device-accessible iterators, the bulk + * `insert` function will insert all keys into the map. + * + * The singular device-side operations allow individual threads to perform + * independent operations (e.g. `insert`, etc.) from device code. These + * operations are accessed through non-owning, trivially copyable "view" types: + * `device_view` and `device_mutable_view`. The `device_view` class is an + * immutable view that allows only non-modifying operations such as `count` or + * `contains`. The `device_mutable_view` class only allows `insert` operations. + * The two types are separate to prevent erroneous concurrent insert/find + * operations. + * + * By default, when querying for a Key `k` in operations like `count` or `retrieve`, if `k` is not + * present in the map, it will not contribute to the output. Query APIs with the `_outer` suffix + * will include non-matching keys in the output. See the relevant API documentation for more + * information. + * + * Typical associative container query APIs like `retrieve` look up values by solely by key, e.g., + * `count` for a Key `k` will count all values whose associated key `k'` matches `k` as determined + * by `key_equal(k, k')`. In some cases, one may want to consider both key _and_ value when + * determining if a key-value pair should contribute to the output. `static_multimap` supports this + * use case with APIs prefixed with `pair_`, e.g., `pair_count` is given a key-value pair + * `{k,v}` and only counts key-value pairs, `{k', v'}`, in the map where `pair_equal({k,v}, {k', + * v'})` is true. See the relevant API documentation for more information. + * + * Example: + * \code{.cpp} + * int empty_key_sentinel = -1; + * int empty_value_sentinel = -1; + * + * // Constructs a multimap with 100,000 slots using -1 and -1 as the empty key/value + * // sentinels. Note the capacity is chosen knowing we will insert 50,000 keys, + * // for an load factor of 50%. + * static_multimap m{100'000, empty_key_sentinel, empty_value_sentinel}; + * + * // Create a sequence of pairs {{0,0}, {1,1}, ... {i,i}} + * thrust::device_vector> pairs(50,000); + * thrust::transform(thrust::make_counting_iterator(0), + * thrust::make_counting_iterator(pairs.size()), + * pairs.begin(), + * []__device__(auto i){ return thrust::make_pair(i,i); }; + * + * + * // Inserts all pairs into the map + * m.insert(pairs.begin(), pairs.end()); + * + * // Get a `device_view` and passes it to a kernel where threads may perform + * // `contains/count/retrieve` lookups + * kernel<<<...>>>(m.get_device_view()); + * \endcode + * + * + * @tparam Key Type used for keys. Requires `cuco::is_bitwise_comparable_v` + * @tparam Value Type of the mapped values. Requires `cuco::is_bitwise_comparable_v` + * @tparam Scope The scope in which multimap operations will be performed by + * individual threads + * @tparam ProbeSequence Probe sequence chosen between `cuco::detail::linear_probing` + * and `cuco::detail::double_hashing`. (see `detail/probe_sequences.cuh`) + * @tparam Allocator Type of allocator used for device storage + */ +template , + class ProbeSequence = + cuco::double_hashing<8, detail::MurmurHash3_32, detail::MurmurHash3_32>> +class static_multimap { + static_assert( + cuco::is_bitwise_comparable_v, + "Key type must have unique object representations or have been explicitly declared as safe for " + "bitwise comparison via specialization of cuco::is_bitwise_comparable_v."); + + static_assert( + cuco::is_bitwise_comparable_v, + "Value type must have unique object representations or have been explicitly declared as safe " + "for bitwise comparison via specialization of cuco::is_bitwise_comparable_v."); + + static_assert( + std::is_base_of_v, ProbeSequence>, + "ProbeSequence must be a specialization of either cuco::double_hashing or " + "cuco::linear_probing"); + + public: + using value_type = cuco::pair_type; + using key_type = Key; + using mapped_type = Value; + using atomic_key_type = cuda::atomic; + using atomic_mapped_type = cuda::atomic; + using pair_atomic_type = cuco::pair_type; + using atomic_ctr_type = cuda::atomic; + using allocator_type = Allocator; + using slot_allocator_type = + typename std::allocator_traits::rebind_alloc; + using counter_allocator_type = + typename std::allocator_traits::rebind_alloc; + using probe_sequence_type = detail::probe_sequence; + + static_multimap(static_multimap const&) = delete; + static_multimap& operator=(static_multimap const&) = delete; + + static_multimap(static_multimap&&) = default; + static_multimap& operator=(static_multimap&&) = default; + ~static_multimap() = default; + + /** + * @brief Indicate if concurrent insert/find is supported for the key/value types. + * + * @return Boolean indicating if concurrent insert/find is supported. + */ + __host__ __device__ __forceinline__ static constexpr bool + supports_concurrent_insert_find() noexcept + { + return cuco::detail::is_packable(); + } + + /** + * @brief The size of the CUDA cooperative thread group. + * + * @return The CG size. + */ + __host__ __device__ __forceinline__ static constexpr uint32_t cg_size() noexcept + { + return ProbeSequence::cg_size; + } + + /** + * @brief Construct a statically-sized map with the specified initial capacity, + * sentinel values and CUDA stream. + * + * The capacity of the map is fixed. Insert operations will not automatically + * grow the map. Attempting to insert more unique keys than the capacity of + * the map results in undefined behavior. + * + * Performance begins to degrade significantly beyond a load factor of ~70%. + * For best performance, choose a capacity that will keep the load factor + * below 70%. E.g., if inserting `N` unique keys, choose a capacity of + * `N * (1/0.7)`. + * + * The `empty_key_sentinel` and `empty_value_sentinel` values are reserved and + * undefined behavior results from attempting to insert any key/value pair + * that contains either. + * + * @param capacity The total number of slots in the map + * @param empty_key_sentinel The reserved key value for empty slots + * @param empty_value_sentinel The reserved mapped value for empty slots + * @param stream CUDA stream used to initialize the map + * @param alloc Allocator used for allocating device storage + */ + static_multimap(std::size_t capacity, + Key empty_key_sentinel, + Value empty_value_sentinel, + cudaStream_t stream = 0, + Allocator const& alloc = Allocator{}); + + /** + * @brief Inserts all key/value pairs in the range `[first, last)`. + * + * @tparam InputIt Device accessible random access input iterator where + * `std::is_convertible::value_type, + * static_multimap::value_type>` is `true` + * @param first Beginning of the sequence of key/value pairs + * @param last End of the sequence of key/value pairs + * @param stream CUDA stream used for insert + */ + template + void insert(InputIt first, InputIt last, cudaStream_t stream = 0); + + /** + * @brief Inserts key/value pairs in the range `[first, first + n)` if `pred` + * of the corresponding stencil returns true. + * + * The key/value pair `*(first + i)` is inserted if `pred( *(stencil + i) )` returns true. + * + * @tparam InputIt Device accessible random access input iterator where + * `std::is_convertible::value_type, + * static_multimap::value_type>` is `true` + * @tparam StencilIt Device accessible random access iterator whose value_type is + * convertible to Predicate's argument type + * @tparam Predicate Unary predicate callable whose return type must be convertible to `bool` and + * argument type is convertible from `std::iterator_traits::value_type`. + * @param first Beginning of the sequence of key/value pairs + * @param last End of the sequence of key/value pairs + * @param stencil Beginning of the stencil sequence + * @param pred Predicate to test on every element in the range `[stencil, stencil + + * std::distance(first, last))` + * @param stream CUDA stream used for insert + */ + template + void insert_if( + InputIt first, InputIt last, StencilIt stencil, Predicate pred, cudaStream_t stream = 0); + + /** + * @brief Indicates whether the keys in the range `[first, last)` are contained in the map. + * + * Stores `true` or `false` to `(output + i)` indicating if the key `*(first + i)` exists in the + * map. + * + * @tparam InputIt Device accessible input iterator whose `value_type` is + * convertible to the map's `key_type` + * @tparam OutputIt Device accessible output iterator whose `value_type` is convertible from + * `bool` + * @tparam KeyEqual Binary callable type used to compare two keys for equality + * @param first Beginning of the sequence of keys + * @param last End of the sequence of keys + * @param output_begin Beginning of the output sequence indicating whether each key is present + * @param stream CUDA stream used for contains + * @param key_equal The binary function to compare two keys for equality + */ + template > + void contains(InputIt first, + InputIt last, + OutputIt output_begin, + cudaStream_t stream = 0, + KeyEqual key_equal = KeyEqual{}) const; + + /** + * @brief Counts the occurrences of keys in `[first, last)` contained in the multimap. + * + * For each key, `k = *(first + i)`, counts all matching keys, `k'`, as determined by + * `key_equal(k, k')` and returns the sum of all matches for all keys. + * + * @tparam Input Device accesible input iterator whose `value_type` is convertible to `key_type` + * @tparam KeyEqual Binary callable + * @param first Beginning of the sequence of keys to count + * @param last End of the sequence of keys to count + * @param stream CUDA stream used for count + * @param key_equal Binary function to compare two keys for equality + * @return The sum of total occurrences of all keys in `[first, last)` + */ + template > + std::size_t count(InputIt first, + InputIt last, + cudaStream_t stream = 0, + KeyEqual key_equal = KeyEqual{}) const; + + /** + * @brief Counts the occurrences of keys in `[first, last)` contained in the multimap. + * + * For each key, `k = *(first + i)`, counts all matching keys, `k'`, as determined by + * `key_equal(k, k')` and returns the sum of all matches for all keys. If `k` does not have any + * matches, it contributes 1 to the final sum. + * + * @tparam Input Device accesible input iterator whose `value_type` is convertible to `key_type` + * @tparam KeyEqual Binary callable + * @param first Beginning of the sequence of keys to count + * @param last End of the sequence of keys to count + * @param stream CUDA stream used for count_outer + * @param key_equal Binary function to compare two keys for equality + * @return The sum of total occurrences of all keys in `[first, last)` where keys without matches + * are considered to have a single occurrence. + */ + template > + std::size_t count_outer(InputIt first, + InputIt last, + cudaStream_t stream = 0, + KeyEqual key_equal = KeyEqual{}) const; + + /** + * @brief Counts the occurrences of key/value pairs in `[first, last)` contained in the multimap. + * + * For key-value pair, `kv = *(first + i)`, counts all matching key-value pairs, `kv'`, as + * determined by `pair_equal(kv, kv')` and returns the sum of all matches for all key-value pairs. + * + * @tparam InputIt Device accessible random access input iterator where + * `std::is_convertible::value_type, + * static_multimap::value_type>` is `true` + * @tparam PairEqual Binary callable + * @param first Beginning of the sequence of pairs to count + * @param last End of the sequence of pairs to count + * @param pair_equal Binary function to compare two pairs for equality + * @param stream CUDA stream used for pair_count + * @return The sum of total occurrences of all pairs in `[first, last)` + */ + template + std::size_t pair_count(InputIt first, + InputIt last, + PairEqual pair_equal, + cudaStream_t stream = 0) const; + + /** + * @brief Counts the occurrences of key/value pairs in `[first, last)` contained in the multimap. + * + * For key-value pair, `kv = *(first + i)`, counts all matching key-value pairs, `kv'`, as + * determined by `pair_equal(kv, kv')` and returns the sum of all matches for all key-value pairs. + * if `kv` does not have any matches, it contributes 1 to the final sum. + * + * @tparam InputIt Device accessible random access input iterator where + * `std::is_convertible::value_type, + * static_multimap::value_type>` is `true` + * @tparam PairEqual Binary callable + * @param first Beginning of the sequence of pairs to count + * @param last End of the sequence of pairs to count + * @param pair_equal Binary function to compare two pairs for equality + * @param stream CUDA stream used for pair_count_outer + * @return The sum of total occurrences of all pairs in `[first, last)` where a key-value pair + * without a match is considered to have a single occurrence + */ + template + std::size_t pair_count_outer(InputIt first, + InputIt last, + PairEqual pair_equal, + cudaStream_t stream = 0) const; + + /** + * @brief Retrieves all the values corresponding to all keys in the range `[first, last)`. + * + * If key `k = *(first + i)` exists in the map, copies `k` and all associated values to + * unspecified locations in `[output_begin, output_end)`. Else, does nothing. + * + * Behavior is undefined if the size of the output range exceeds `std::distance(output_begin, + * output_end)`. Use `count()` to determine the size of the output range. + * + * @tparam InputIt Device accessible input iterator whose `value_type` is + * convertible to the map's `key_type` + * @tparam OutputIt Device accessible output iterator whose `value_type` is + * constructible from the map's `value_type` + * @tparam KeyEqual Binary callable type + * @param first Beginning of the sequence of keys + * @param last End of the sequence of keys + * @param output_begin Beginning of the sequence of key/value pairs retrieved for each key + * @param stream CUDA stream used for retrieve + * @param key_equal The binary function to compare two keys for equality + * @return The iterator indicating the last valid key/value pairs in the output + */ + template > + OutputIt retrieve(InputIt first, + InputIt last, + OutputIt output_begin, + cudaStream_t stream = 0, + KeyEqual key_equal = KeyEqual{}) const; + + /** + * @brief Retrieves all the matches corresponding to all keys in the range `[first, last)`. + * + * If key `k = *(first + i)` exists in the map, copies `k` and all associated values to + * unspecified locations in `[output_begin, output_end)`. Else, copies `k` and + * `empty_value_sentinel`. + * + * Behavior is undefined if the size of the output range exceeds `std::distance(output_begin, + * output_end)`. Use `count_outer()` to determine the size of the output range. + * + * @tparam InputIt Device accessible input iterator whose `value_type` is + * convertible to the map's `key_type` + * @tparam OutputIt Device accessible output iterator whose `value_type` is + * constructible from the map's `value_type` + * @tparam KeyEqual Binary callable type + * @param first Beginning of the sequence of keys + * @param last End of the sequence of keys + * @param output_begin Beginning of the sequence of key/value pairs retrieved for each key + * @param stream CUDA stream used for retrieve_outer + * @param key_equal The binary function to compare two keys for equality + * @return The iterator indicating the last valid key/value pairs in the output + */ + template > + OutputIt retrieve_outer(InputIt first, + InputIt last, + OutputIt output_begin, + cudaStream_t stream = 0, + KeyEqual key_equal = KeyEqual{}) const; + + /** + * @brief Retrieves all pairs matching the input probe pair in the range `[first, last)`. + * + * The `pair_` prefix indicates that the input data type is convertible to the map's + * `value_type`. If pair_equal(*(first + i), slot[j]) returns true, then *(first+i) is + * stored to `probe_output_begin`, and slot[j] is stored to `contained_output_begin`. + * + * Behavior is undefined if the size of the output range exceeds + * `std::distance(probe_output_begin, probe_output_end)` (or + * `std::distance(contained_output_begin, contained_output_end)`). Use + * `pair_count()` to determine the size of the output range. + * + * @tparam InputIt Device accessible random access input iterator where + * `std::is_convertible::value_type, + * static_multimap::value_type>` is `true` + * @tparam OutputIt1 Device accessible output iterator whose `value_type` is constructible from + * `InputIt`s `value_type`. + * @tparam OutputIt2 Device accessible output iterator whose `value_type` is constructible from + * the map's `value_type`. + * @tparam PairEqual Binary callable type + * @param first Beginning of the sequence of pairs + * @param last End of the sequence of pairs + * @param probe_output_begin Beginning of the sequence of the matched probe pairs + * @param contained_output_begin Beginning of the sequence of the matched contained pairs + * @param pair_equal The binary function to compare two pairs for equality + * @param stream CUDA stream used for pair_retrieve + * @return Pair of iterators pointing to the last elements in the output + */ + template + std::pair pair_retrieve(InputIt first, + InputIt last, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + PairEqual pair_equal, + cudaStream_t stream = 0) const; + + /** + * @brief Retrieves all pairs matching the input probe pair in the range `[first, last)`. + * + * The `pair_` prefix indicates that the input data type is convertible to the map's `value_type`. + * If pair_equal(*(first + i), slot[j]) returns true, then *(first+i) is stored to + * `probe_output_begin`, and slot[j] is stored to `contained_output_begin`. If *(first+i) doesn't + * have matches in the map, copies *(first + i) in `probe_output_begin` and a pair of + * `empty_key_sentinel` and `empty_value_sentinel` in `contained_output_begin`. + * + * Behavior is undefined if the size of the output range exceeds + * `std::distance(probe_output_begin, probe_output_end)` (or + * `std::distance(contained_output_begin, contained_output_end)`). Use + * `pair_count()` to determine the size of the output range. + * + * @tparam InputIt Device accessible random access input iterator where + * `std::is_convertible::value_type, + * static_multimap::value_type>` is `true` + * @tparam OutputIt1 Device accessible output iterator whose `value_type` is constructible from + * `InputIt`s `value_type`. + * @tparam OutputIt2 Device accessible output iterator whose `value_type` is constructible from + * the map's `value_type`. + * @tparam PairEqual Binary callable type + * @param first Beginning of the sequence of pairs + * @param last End of the sequence of pairs + * @param probe_output_begin Beginning of the sequence of the matched probe pairs + * @param contained_output_begin Beginning of the sequence of the matched contained pairs + * @param pair_equal The binary function to compare two pairs for equality + * @param stream CUDA stream used for pair_retrieve_outer + * @return Pair of iterators pointing to the last elements in the output + */ + template + std::pair pair_retrieve_outer(InputIt first, + InputIt last, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + PairEqual pair_equal, + cudaStream_t stream = 0) const; + + private: + /** + * @brief Indicates if vector-load is used. + * + * Users have no explicit control on whether vector-load is used. + * + * @return Boolean indicating if vector-load is used. + */ + static constexpr bool uses_vector_load() noexcept + { + return cuco::detail::is_packable(); + } + + /** + * @brief Returns the number of pairs loaded with each vector-load + */ + static constexpr uint32_t vector_width() noexcept { return ProbeSequence::vector_width(); } + + /** + * @brief Returns the warp size. + */ + static constexpr uint32_t warp_size() noexcept { return 32u; } + + /** + * @brief Custom deleter for unique pointer of device counter. + */ + struct counter_deleter { + counter_deleter(counter_allocator_type& a, cudaStream_t& s) : allocator{a}, stream{s} {} + + counter_deleter(counter_deleter const&) = default; + + void operator()(atomic_ctr_type* ptr) { allocator.deallocate(ptr, 1, stream); } + + counter_allocator_type& allocator; + cudaStream_t& stream; + }; + + /** + * @brief Custom deleter for unique pointer of slots. + */ + struct slot_deleter { + slot_deleter(slot_allocator_type& a, size_t& c, cudaStream_t& s) + : allocator{a}, capacity{c}, stream{s} + { + } + + slot_deleter(slot_deleter const&) = default; + + void operator()(pair_atomic_type* ptr) { allocator.deallocate(ptr, capacity, stream); } + + slot_allocator_type& allocator; + size_t& capacity; + cudaStream_t& stream; + }; + + class device_view_impl_base; + class device_mutable_view_impl; + class device_view_impl; + + public: + /** + * @brief Mutable, non-owning view-type that may be used in device code to + * perform singular inserts into the map. + * + * `device_mutable_view` is trivially-copyable and is intended to be passed by + * value. + * + * Example: + * \code{.cpp} + * cuco::static_multimap m{100'000, -1, -1}; + * + * // Inserts a sequence of pairs {{0,0}, {1,1}, ... {i,i}} + * thrust::for_each(thrust::make_counting_iterator(0), + * thrust::make_counting_iterator(50'000), + * [map = m.get_device_mutable_view()] + * __device__ (auto i) mutable { + * map.insert(thrust::make_pair(i,i)); + * }); + * \endcode + */ + class device_mutable_view { + public: + // Import member type definitions from `static_multimap` + using value_type = value_type; + using key_type = Key; + using mapped_type = Value; + using iterator = pair_atomic_type*; + using const_iterator = pair_atomic_type const*; + + /** + * @brief Construct a mutable view of the first `capacity` slots of the + * slots array pointed to by `slots`. + * + * @param slots Pointer to beginning of initialized slots array + * @param capacity The number of slots viewed by this object + * @param empty_key_sentinel The reserved value for keys to represent empty + * slots + * @param empty_value_sentinel The reserved value for mapped values to + * represent empty slots + */ + __host__ __device__ device_mutable_view(pair_atomic_type* slots, + std::size_t capacity, + Key empty_key_sentinel, + Value empty_value_sentinel) noexcept + : impl_{slots, capacity, empty_key_sentinel, empty_value_sentinel} + { + } + + /** + * @brief Inserts the specified key/value pair into the map. + * + * @param g The Cooperative Group that performs the insert + * @param insert_pair The pair to insert + * @return void. + */ + __device__ __forceinline__ void insert( + cooperative_groups::thread_block_tile const& g, + value_type const& insert_pair) noexcept; + + private: + device_mutable_view_impl impl_; + }; // class device mutable view + + /** + * @brief Non-owning view-type that may be used in device code to + * perform singular find and contains operations for the map. + * + * `device_view` is trivially-copyable and is intended to be passed by + * value. + * + */ + class device_view { + public: + // Import member type definitions from `static_multimap` + using value_type = value_type; + using key_type = Key; + using mapped_type = Value; + using iterator = pair_atomic_type*; + using const_iterator = pair_atomic_type const*; + + /** + * @brief Construct a view of the first `capacity` slots of the + * slots array pointed to by `slots`. + * + * @param slots Pointer to beginning of initialized slots array + * @param capacity The number of slots viewed by this object + * @param empty_key_sentinel The reserved value for keys to represent empty + * slots + * @param empty_value_sentinel The reserved value for mapped values to + * represent empty slots + */ + __host__ __device__ device_view(pair_atomic_type* slots, + std::size_t capacity, + Key empty_key_sentinel, + Value empty_value_sentinel) noexcept + : impl_{slots, capacity, empty_key_sentinel, empty_value_sentinel} + { + } + + /** + * @brief Gets slots array. + * + * @return Slots array + */ + __device__ __forceinline__ pair_atomic_type* get_slots() noexcept { return impl_.get_slots(); } + + /** + * @brief Gets slots array. + * + * @return Slots array + */ + __device__ __forceinline__ pair_atomic_type const* get_slots() const noexcept + { + return impl_.get_slots(); + } + + /** + * @brief Gets the maximum number of elements the hash map can hold. + * + * @return The maximum number of elements the hash map can hold + */ + __host__ __device__ __forceinline__ std::size_t get_capacity() const noexcept + { + return impl_.get_capacity(); + } + + /** + * @brief Gets the sentinel value used to represent an empty key slot. + * + * @return The sentinel value used to represent an empty key slot + */ + __host__ __device__ __forceinline__ Key get_empty_key_sentinel() const noexcept + { + return impl_.get_empty_key_sentinel(); + } + + /** + * @brief Gets the sentinel value used to represent an empty value slot. + * + * @return The sentinel value used to represent an empty value slot + */ + __host__ __device__ __forceinline__ Value get_empty_value_sentinel() const noexcept + { + return impl_.get_empty_value_sentinel(); + } + + /** + * @brief Makes a copy of given `device_view` using non-owned memory. + * + * This function is intended to be used to create shared memory copies of small static maps, + * although global memory can be used as well. + * + * @tparam CG The type of the cooperative thread group + * @param g The cooperative thread group used to copy the slots + * @param source_device_view `device_view` to copy from + * @param memory_to_use Array large enough to support `capacity` elements. Object does not + * take the ownership of the memory + * @return Copy of passed `device_view` + */ + template + __device__ __forceinline__ static device_view make_copy( + CG g, pair_atomic_type* const memory_to_use, device_view source_device_view) noexcept; + + /** + * @brief Flushes per-CG buffer into the output sequence. + * + * A given CUDA Cooperative Group, `g`, loads `num_outputs` key-value pairs from `output_buffer` + * and writes them into global memory in a coalesced fashion. CG-wide `memcpy_sync` is used if + * `CUCO_HAS_CG_MEMCPY_ASYNC` is defined and `thrust::is_contiguous_iterator_v` + * returns true. All threads of `g` must be active due to implicit CG-wide synchronization + * during flushing. + * + * @tparam CG Cooperative Group type + * @tparam atomicT Type of atomic storage + * @tparam OutputIt Device accessible output iterator whose `value_type` is + * constructible from the map's `value_type` + * @param g The Cooperative Group used to flush output buffer + * @param num_outputs Number of valid output in the buffer + * @param output_buffer Buffer of the key/value pair sequence + * @param num_matches Size of the output sequence + * @param output_begin Beginning of the output sequence of key/value pairs + */ + template + __device__ __forceinline__ void flush_output_buffer(CG const& g, + uint32_t const num_outputs, + value_type* output_buffer, + atomicT* num_matches, + OutputIt output_begin) noexcept; + + /** + * @brief Flushes per-CG buffer into the output sequences. + * + * A given CUDA Cooperative Group, `g`, loads `num_outputs` elements from `probe_output_buffer` + * and `num_outputs` elements from `contained_output_buffer`, then writes them into global + * memory started from `probe_output_begin` and `contained_output_begin` respectively. All + * threads of `g` must be active due to implicit CG-wide synchronization during flushing. + * + * @tparam CG Cooperative Group type + * @tparam atomicT Type of atomic storage + * @tparam OutputIt1 Device accessible output iterator whose `value_type` is constructible from + * `InputIt`s `value_type`. + * @tparam OutputIt2 Device accessible output iterator whose `value_type` is constructible from + * the map's `value_type`. + * @param g The Cooperative Group used to flush output buffer + * @param num_outputs Number of valid output in the buffer + * @param probe_output_buffer Buffer of the matched probe pair sequence + * @param contained_output_buffer Buffer of the matched contained pair sequence + * @param num_matches Size of the output sequence + * @param probe_output_begin Beginning of the output sequence of the matched probe pairs + * @param contained_output_begin Beginning of the output sequence of the matched contained + * pairs + */ + template + __device__ __forceinline__ void flush_output_buffer(CG const& g, + uint32_t const num_outputs, + value_type* probe_output_buffer, + value_type* contained_output_buffer, + atomicT* num_matches, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin) noexcept; + + /** + * @brief Indicates whether the key `k` exists in the map. + * + * If the key `k` was inserted into the map, `contains` returns + * true. Otherwise, it returns false. Uses the CUDA Cooperative Groups API to + * to leverage multiple threads to perform a single `contains` operation. This provides a + * significant boost in throughput compared to the non Cooperative Group + * `contains` at moderate to high load factors. + * + * @tparam KeyEqual Binary callable type + * @param g The Cooperative Group used to perform the contains operation + * @param k The key to search for + * @param key_equal The binary callable used to compare two keys + * for equality + * @return A boolean indicating whether the key/value pair + * containing `k` was inserted + */ + template > + __device__ __forceinline__ bool contains( + cooperative_groups::thread_block_tile const& g, + Key const& k, + KeyEqual key_equal = KeyEqual{}) noexcept; + + /** + * @brief Counts the occurrence of a given key contained in multimap. + * + * For a given key, `k`, counts all matching keys, `k'`, as determined by `key_equal(k, k')` and + * returns the sum of all matches for `k`. + * + * @tparam KeyEqual Binary callable type + * @param g The Cooperative Group used to perform the count operation + * @param k The key to search for + * @param key_equal The binary callable used to compare two keys + * for equality + * @return Number of matches found by the current thread + */ + template > + __device__ __forceinline__ std::size_t count( + cooperative_groups::thread_block_tile const& g, + Key const& k, + KeyEqual key_equal = KeyEqual{}) noexcept; + + /** + * @brief Counts the occurrence of a given key contained in multimap. If no + * matches can be found for a given key, the corresponding occurrence is 1. + * + * For a given key, `k`, counts all matching keys, `k'`, as determined by `key_equal(k, k')` and + * returns the sum of all matches for `k`. If `k` does not have any matches, returns 1. + * + * @tparam KeyEqual Binary callable type + * @param g The Cooperative Group used to perform the count operation + * @param k The key to search for + * @param key_equal The binary callable used to compare two keys + * for equality + * @return Number of matches found by the current thread + */ + template > + __device__ __forceinline__ std::size_t count_outer( + cooperative_groups::thread_block_tile const& g, + Key const& k, + KeyEqual key_equal = KeyEqual{}) noexcept; + + /** + * @brief Counts the occurrence of a given key/value pair contained in multimap. + * + * For a given pair, `p`, counts all matching pairs, `p'`, as determined by `pair_equal(p, p')` + * and returns the sum of all matches for `p`. + * + * @tparam PairEqual Binary callable type + * @param g The Cooperative Group used to perform the pair_count operation + * @param pair The pair to search for + * @param pair_equal The binary callable used to compare two pairs + * for equality + * @return Number of matches found by the current thread + */ + template + __device__ __forceinline__ std::size_t pair_count( + cooperative_groups::thread_block_tile const& g, + value_type const& pair, + PairEqual pair_equal) noexcept; + + /** + * @brief Counts the occurrence of a given key/value pair contained in multimap. + * If no matches can be found for a given key, the corresponding occurrence is 1. + * + * For a given pair, `p`, counts all matching pairs, `p'`, as determined by `pair_equal(p, p')` + * and returns the sum of all matches for `p`. If `p` does not have any matches, returns 1. + * + * @tparam PairEqual Binary callable type + * @param g The Cooperative Group used to perform the pair_count operation + * @param pair The pair to search for + * @param pair_equal The binary callable used to compare two pairs + * for equality + * @return Number of matches found by the current thread + */ + template + __device__ __forceinline__ std::size_t pair_count_outer( + cooperative_groups::thread_block_tile const& g, + value_type const& pair, + PairEqual pair_equal) noexcept; + + /** + * @brief Retrieves all the matches of a given key contained in multimap with per-flushing-CG + * shared memory buffer. + * + * For key `k` existing in the map, copies `k` and all associated values to unspecified + * locations in `[output_begin, output_end)`. + * + * @tparam buffer_size Size of the output buffer + * @tparam FlushingCG Type of Cooperative Group used to flush output buffer + * @tparam atomicT Type of atomic storage + * @tparam OutputIt Device accessible output iterator whose `value_type` is + * constructible from the map's `value_type` + * @tparam KeyEqual Binary callable type + * @param flushing_cg The Cooperative Group used to flush output buffer + * @param probing_cg The Cooperative Group used to retrieve + * @param k The key to search for + * @param flushing_cg_counter Pointer to flushing_cg counter + * @param output_buffer Shared memory buffer of the key/value pair sequence + * @param num_matches Size of the output sequence + * @param output_begin Beginning of the output sequence of key/value pairs + * @param key_equal The binary callable used to compare two keys + * for equality + */ + template > + __device__ __forceinline__ void retrieve( + FlushingCG const& flushing_cg, + cooperative_groups::thread_block_tile const& probing_cg, + Key const& k, + uint32_t* flushing_cg_counter, + value_type* output_buffer, + atomicT* num_matches, + OutputIt output_begin, + KeyEqual key_equal = KeyEqual{}) noexcept; + + /** + * @brief Retrieves all the matches of a given key contained in multimap with per-flushing-CG + * shared memory buffer. + * + * For key `k` existing in the map, copies `k` and all associated values to unspecified + * locations in `[output_begin, output_end)`. If `k` does not have any matches, copies `k` and + * `empty_value_sentinel()` into the output. + * + * @tparam buffer_size Size of the output buffer + * @tparam FlushingCG Type of Cooperative Group used to flush output buffer + * @tparam atomicT Type of atomic storage + * @tparam OutputIt Device accessible output iterator whose `value_type` is + * constructible from the map's `value_type` + * @tparam KeyEqual Binary callable type + * @param flushing_cg The Cooperative Group used to flush output buffer + * @param probing_cg The Cooperative Group used to retrieve + * @param k The key to search for + * @param flushing_cg_counter Pointer to flushing_cg counter + * @param output_buffer Shared memory buffer of the key/value pair sequence + * @param num_matches Size of the output sequence + * @param output_begin Beginning of the output sequence of key/value pairs + * @param key_equal The binary callable used to compare two keys + * for equality + */ + template > + __device__ __forceinline__ void retrieve_outer( + FlushingCG const& flushing_cg, + cooperative_groups::thread_block_tile const& probing_cg, + Key const& k, + uint32_t* flushing_cg_counter, + value_type* output_buffer, + atomicT* num_matches, + OutputIt output_begin, + KeyEqual key_equal = KeyEqual{}) noexcept; + + /** + * @brief Retrieves all the matches of a given pair contained in multimap with per-flushing-CG + * shared memory buffer. + * + * For pair `p`, if pair_equal(p, slot[j]) returns true, copies `p` to unspecified locations + * in `[probe_output_begin, probe_output_end)` and copies slot[j] to unspecified locations in + * `[contained_output_begin, contained_output_end)`. + * + * @tparam buffer_size Size of the output buffer + * @tparam FlushingCG Type of Cooperative Group used to flush output buffer + * @tparam atomicT Type of atomic storage + * @tparam OutputIt1 Device accessible output iterator whose `value_type` is constructible from + * `InputIt`s `value_type`. + * @tparam OutputIt2 Device accessible output iterator whose `value_type` is constructible from + * the map's `value_type`. + * @tparam PairEqual Binary callable type + * @param flushing_cg The Cooperative Group used to flush output buffer + * @param probing_cg The Cooperative Group used to retrieve + * @param pair The pair to search for + * @param flushing_cg_counter Pointer to the flushing CG counter + * @param probe_output_buffer Buffer of the matched probe pair sequence + * @param contained_output_buffer Buffer of the matched contained pair sequence + * @param num_matches Size of the output sequence + * @param probe_output_begin Beginning of the output sequence of the matched probe pairs + * @param contained_output_begin Beginning of the output sequence of the matched contained + * pairs + * @param pair_equal The binary callable used to compare two pairs for equality + */ + template + __device__ __forceinline__ void pair_retrieve( + FlushingCG const& flushing_cg, + cooperative_groups::thread_block_tile const& probing_cg, + value_type const& pair, + uint32_t* warp_counter, + value_type* probe_output_buffer, + value_type* contained_output_buffer, + atomicT* num_matches, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + PairEqual pair_equal) noexcept; + + /** + * @brief Retrieves all the matches of a given pair contained in multimap with per-flushing-CG + * shared memory buffer. + * + * For pair `p`, if pair_equal(p, slot[j]) returns true, copies `p` to unspecified locations + * in `[probe_output_begin, probe_output_end)` and copies slot[j] to unspecified locations in + * `[contained_output_begin, contained_output_end)`. If `p` does not have any matches, copies + * `p` and a pair of `empty_key_sentinel` and `empty_value_sentinel` into the output. + * + * @tparam buffer_size Size of the output buffer + * @tparam FlushingCG Type of Cooperative Group used to flush output buffer + * @tparam atomicT Type of atomic storage + * @tparam OutputIt1 Device accessible output iterator whose `value_type` is constructible from + * `InputIt`s `value_type`. + * @tparam OutputIt2 Device accessible output iterator whose `value_type` is constructible from + * the map's `value_type`. + * @tparam PairEqual Binary callable type + * @param flushing_cg The Cooperative Group used to flush output buffer + * @param probing_cg The Cooperative Group used to retrieve + * @param pair The pair to search for + * @param flushing_cg_counter Pointer to the flushing CG counter + * @param probe_output_buffer Buffer of the matched probe pair sequence + * @param contained_output_buffer Buffer of the matched contained pair sequence + * @param num_matches Size of the output sequence + * @param probe_output_begin Beginning of the output sequence of the matched probe pairs + * @param contained_output_begin Beginning of the output sequence of the matched contained + * pairs + * @param pair_equal The binary callable used to compare two pairs for equality + */ + template + __device__ __forceinline__ void pair_retrieve_outer( + FlushingCG const& flushing_cg, + cooperative_groups::thread_block_tile const& probing_cg, + value_type const& pair, + uint32_t* flushing_cg_counter, + value_type* probe_output_buffer, + value_type* contained_output_buffer, + atomicT* num_matches, + OutputIt1 probe_output_begin, + OutputIt2 contained_output_begin, + PairEqual pair_equal) noexcept; + + private: + device_view_impl impl_; + }; // class device_view + + /** + * @brief Return the raw pointer of the hash map slots. + */ + value_type* raw_slots() noexcept + { + // Unsafe access to the slots stripping away their atomic-ness to allow non-atomic access. + // TODO: to be replace by atomic_ref when it's ready + return reinterpret_cast(slots_.get()); + } + + /** + * @brief Return the raw pointer of the hash map slots. + */ + value_type const* raw_slots() const noexcept + { + // Unsafe access to the slots stripping away their atomic-ness to allow non-atomic access. + // TODO: to be replace by atomic_ref when it's ready + return reinterpret_cast(slots_.get()); + } + + /** + * @brief Gets the maximum number of elements the hash map can hold. + * + * @return The maximum number of elements the hash map can hold + */ + std::size_t get_capacity() const noexcept { return capacity_; } + + /** + * @brief Gets the number of elements in the hash map. + * + * @param stream CUDA stream used to get the number of inserted elements + * @return The number of elements in the map + */ + std::size_t get_size(cudaStream_t stream = 0) const noexcept; + + /** + * @brief Gets the load factor of the hash map. + * + * @param stream CUDA stream used to get the load factor + * @return The load factor of the hash map + */ + float get_load_factor(cudaStream_t stream = 0) const noexcept; + + /** + * @brief Gets the sentinel value used to represent an empty key slot. + * + * @return The sentinel value used to represent an empty key slot + */ + Key get_empty_key_sentinel() const noexcept { return empty_key_sentinel_; } + + /** + * @brief Gets the sentinel value used to represent an empty value slot. + * + * @return The sentinel value used to represent an empty value slot + */ + Value get_empty_value_sentinel() const noexcept { return empty_value_sentinel_; } + + /** + * @brief Constructs a device_view object based on the members of the `static_multimap` + * object. + * + * @return A device_view object based on the members of the `static_multimap` object + */ + device_view get_device_view() const noexcept + { + return device_view(slots_.get(), capacity_, empty_key_sentinel_, empty_value_sentinel_); + } + + /** + * @brief Constructs a device_mutable_view object based on the members of the + * `static_multimap` object + * + * @return A device_mutable_view object based on the members of the `static_multimap` object + */ + device_mutable_view get_device_mutable_view() const noexcept + { + return device_mutable_view(slots_.get(), capacity_, empty_key_sentinel_, empty_value_sentinel_); + } + + private: + std::size_t capacity_{}; ///< Total number of slots + Key empty_key_sentinel_{}; ///< Key value that represents an empty slot + Value empty_value_sentinel_{}; ///< Initial value of empty slot + slot_allocator_type slot_allocator_{}; ///< Allocator used to allocate slots + counter_allocator_type counter_allocator_{}; ///< Allocator used to allocate counters + cudaStream_t stream_{}; ///< CUDA stream used for ctor/dtor + counter_deleter delete_counter_; ///< Custom counter deleter + slot_deleter delete_slots_; ///< Custom slots deleter + std::unique_ptr d_counter_{}; ///< Preallocated device counter + std::unique_ptr slots_{}; ///< Pointer to flat slots storage +}; // class static_multimap + +} // namespace cuco + +#include +#include diff --git a/include/cuco/traits.hpp b/include/cuco/traits.hpp new file mode 100644 index 000000000..445a40daf --- /dev/null +++ b/include/cuco/traits.hpp @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +namespace cuco { + +/** + * @brief Customization point that can be specialized to indicate that it is safe to perform bitwise + * equality comparisons on the object-representation of objects of type `T`. + * + * By default, only types where `std::has_unique_object_representations_v` is true are safe for + * bitwise equality. However, this can be too restrictive for some types, e.g., floating point + * types. + * + * User-defined specializations of `is_bitwise_comparable` are allowed, but it is the users + * responsibility to ensure values do not occur that would lead to unexpected behavior. For example, + * if a `NaN` bit pattern were used as the empty sentinel value, it may not compare bitwise equal to + * other `NaN` bit patterns. + * + */ +template +struct is_bitwise_comparable : std::false_type { +}; + +/// By default, only types with unique object representations are allowed +template +struct is_bitwise_comparable>> + : std::true_type { +}; + +template +inline constexpr bool is_bitwise_comparable_v = is_bitwise_comparable::value; + +/** + * @brief Declares that a type `Type` is bitwise comparable. + * + */ +#define CUCO_DECLARE_BITWISE_COMPARABLE(Type) \ + namespace cuco { \ + template <> \ + struct is_bitwise_comparable : std::true_type { \ + }; \ + } + +} // namespace cuco diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 40bd2b30a..33bb1bfc4 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -45,3 +45,8 @@ set(DYNAMIC_MAP_TEST_SRC ConfigureTest(DYNAMIC_MAP_TEST "${DYNAMIC_MAP_TEST_SRC}") #################################################################################################### +set(STATIC_MULTIMAP_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/static_multimap/static_multimap_test.cu") + + ConfigureTest(STATIC_MULTIMAP_TEST "${STATIC_MULTIMAP_TEST_SRC}") +#################################################################################################### diff --git a/tests/static_multimap/static_multimap_test.cu b/tests/static_multimap/static_multimap_test.cu new file mode 100644 index 000000000..8191ab0d9 --- /dev/null +++ b/tests/static_multimap/static_multimap_test.cu @@ -0,0 +1,703 @@ +/* + * Copyright (c) 2021, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +#include + +#include +#include +#include +#include + +#include + +namespace { +namespace cg = cooperative_groups; + +// Thrust logical algorithms (any_of/all_of/none_of) don't work with device +// lambdas: See https://github.com/thrust/thrust/issues/1062 +template +bool all_of(Iterator begin, Iterator end, Predicate p) +{ + auto size = thrust::distance(begin, end); + return size == thrust::count_if(begin, end, p); +} + +template +bool any_of(Iterator begin, Iterator end, Predicate p) +{ + return thrust::count_if(begin, end, p) > 0; +} + +template +bool none_of(Iterator begin, Iterator end, Predicate p) +{ + return not all_of(begin, end, p); +} + +} // namespace + +enum class probe_sequence { linear_probing, double_hashing }; + +// User-defined key type +// Need to specify alignment to WAR libcu++ bug where cuda::atomic fails for underaligned types: +// https://github.com/NVIDIA/libcudacxx/issues/160 +struct alignas(8) key_pair { + int32_t a; + int32_t b; + __device__ bool operator!=(key_pair const& other) const { return a != other.a and b != other.b; } +}; + +struct hash_key_pair { + __device__ uint32_t operator()(key_pair k) { return k.a; }; +}; + +struct key_pair_equals { + __device__ bool operator()(const key_pair& lhs, const key_pair& rhs) + { + return std::tie(lhs.a, lhs.b) == std::tie(rhs.a, rhs.b); + } +}; + +struct alignas(8) value_pair { + int32_t f; + int32_t s; +}; + +template +__inline__ void test_custom_key_value_type(Map& map, + PairIt pair_begin, + KeyIt key_begin, + size_t num_pairs) +{ + constexpr cudaStream_t stream = 0; + + SECTION("All inserted keys-value pairs should be correctly recovered during find") + { + map.insert(pair_begin, pair_begin + num_pairs); + + auto res = map.get_size(); + REQUIRE(res == num_pairs); + + auto count = map.count(key_begin, key_begin + num_pairs, stream, key_pair_equals{}); + REQUIRE(count == num_pairs); + + thrust::device_vector> found_pairs(num_pairs); + auto output_end = map.retrieve( + key_begin, key_begin + num_pairs, found_pairs.begin(), stream, key_pair_equals{}); + auto size = output_end - found_pairs.begin(); + + REQUIRE(size == num_pairs); + + // sort before compare + thrust::sort( + thrust::device, + found_pairs.begin(), + found_pairs.end(), + [] __device__(const cuco::pair_type& lhs, + const cuco::pair_type& rhs) { return lhs.first.a < rhs.first.a; }); + + REQUIRE(thrust::equal( + thrust::device, + pair_begin, + pair_begin + num_pairs, + found_pairs.begin(), + [] __device__(cuco::pair_type lhs, cuco::pair_type rhs) { + return lhs.first.a == rhs.first.a; + })); + } + + SECTION("Non-matches are not included in the output") + { + map.insert(pair_begin, pair_begin + num_pairs); + + auto const num = num_pairs * 2; + thrust::device_vector query_keys(num); + auto query_key_begin = query_keys.begin(); + thrust::transform(thrust::device, + thrust::counting_iterator(0), + thrust::counting_iterator(num), + query_key_begin, + [] __device__(auto i) { + return Key{i, i}; + }); + + auto count = map.count(query_key_begin, query_key_begin + num, stream, key_pair_equals{}); + REQUIRE(count == num_pairs); + + thrust::device_vector> found_pairs(num_pairs); + auto output_end = map.retrieve( + query_key_begin, query_key_begin + num, found_pairs.begin(), stream, key_pair_equals{}); + auto size = output_end - found_pairs.begin(); + + REQUIRE(size == num_pairs); + + // sort before compare + thrust::sort( + thrust::device, + found_pairs.begin(), + found_pairs.end(), + [] __device__(const cuco::pair_type& lhs, + const cuco::pair_type& rhs) { return lhs.first.a < rhs.first.a; }); + + REQUIRE(thrust::equal( + thrust::device, + pair_begin, + pair_begin + num_pairs, + found_pairs.begin(), + [] __device__(cuco::pair_type lhs, cuco::pair_type rhs) { + return lhs.first.a == rhs.first.a; + })); + } + + SECTION("Outer functions include non-matches in the output") + { + map.insert(pair_begin, pair_begin + num_pairs); + + auto const num = num_pairs * 2; + thrust::device_vector query_keys(num); + auto query_key_begin = query_keys.begin(); + thrust::transform(thrust::device, + thrust::counting_iterator(0), + thrust::counting_iterator(num), + query_key_begin, + [] __device__(auto i) { + return Key{i, i}; + }); + + auto count_outer = + map.count_outer(query_key_begin, query_key_begin + num, stream, key_pair_equals{}); + REQUIRE(count_outer == num); + + thrust::device_vector> found_pairs(num); + auto output_end = map.retrieve_outer( + query_key_begin, query_key_begin + num, found_pairs.begin(), stream, key_pair_equals{}); + auto size_outer = output_end - found_pairs.begin(); + + REQUIRE(size_outer == num); + } + + SECTION("All inserted keys-value pairs should be contained") + { + map.insert(pair_begin, pair_begin + num_pairs); + + auto size = map.get_size(); + REQUIRE(size == num_pairs); + + thrust::device_vector contained(num_pairs); + map.contains(key_begin, key_begin + num_pairs, contained.begin(), stream, key_pair_equals{}); + REQUIRE(all_of(contained.begin(), contained.end(), [] __device__(bool const& b) { return b; })); + } + + SECTION("Non-inserted keys-value pairs should not be contained") + { + auto size = map.get_size(); + REQUIRE(size == 0); + + thrust::device_vector contained(num_pairs); + map.contains(key_begin, key_begin + num_pairs, contained.begin(), stream, key_pair_equals{}); + REQUIRE( + none_of(contained.begin(), contained.end(), [] __device__(bool const& b) { return b; })); + } +} + +TEMPLATE_TEST_CASE_SIG("User defined key and value type", + "", + ((probe_sequence Probe), Probe), + (probe_sequence::linear_probing), + (probe_sequence::double_hashing)) +{ + using Key = key_pair; + using Value = value_pair; + + auto constexpr sentinel_key = Key{-1, -1}; + auto constexpr sentinel_value = Value{-1, -1}; + + constexpr std::size_t num_pairs = 100; + constexpr std::size_t capacity = num_pairs * 2; + + thrust::device_vector insert_keys(num_pairs); + thrust::device_vector insert_values(num_pairs); + + thrust::transform(thrust::device, + thrust::counting_iterator(0), + thrust::counting_iterator(num_pairs), + insert_keys.begin(), + [] __device__(auto i) { + return Key{i, i}; + }); + + thrust::transform(thrust::device, + thrust::counting_iterator(0), + thrust::counting_iterator(num_pairs), + insert_values.begin(), + [] __device__(auto i) { + return Value{i, i}; + }); + auto insert_pairs = + thrust::make_zip_iterator(thrust::make_tuple(insert_keys.begin(), insert_values.begin())); + + if constexpr (Probe == probe_sequence::linear_probing) { + cuco::static_multimap, + cuco::linear_probing<1, hash_key_pair>> + map{capacity, sentinel_key, sentinel_value}; + test_custom_key_value_type(map, insert_pairs, insert_keys.begin(), num_pairs); + } + if constexpr (Probe == probe_sequence::double_hashing) { + cuco::static_multimap map{capacity, sentinel_key, sentinel_value}; + test_custom_key_value_type(map, insert_pairs, insert_keys.begin(), num_pairs); + } +} + +template +__inline__ void test_multiplicity_two( + Map& map, PairIt pair_begin, KeyIt key_begin, ResultIt result_begin, std::size_t num_items) +{ + auto num_keys = num_items / 2; + thrust::device_vector d_contained(num_keys); + + SECTION("Non-inserted key/value pairs should not be contained.") + { + auto size = map.get_size(); + REQUIRE(size == 0); + + map.contains(key_begin, key_begin + num_keys, d_contained.begin()); + + REQUIRE( + none_of(d_contained.begin(), d_contained.end(), [] __device__(bool const& b) { return b; })); + } + + map.insert(pair_begin, pair_begin + num_items); + + SECTION("All inserted key/value pairs should be contained.") + { + auto size = map.get_size(); + REQUIRE(size == num_items); + + map.contains(key_begin, key_begin + num_keys, d_contained.begin()); + + REQUIRE( + all_of(d_contained.begin(), d_contained.end(), [] __device__(bool const& b) { return b; })); + } + + SECTION("Total count should be equal to the number of inserted pairs.") + { + // Count matching keys + auto num = map.count(key_begin, key_begin + num_keys); + + REQUIRE(num == num_items); + + auto output_begin = result_begin; + auto output_end = map.retrieve(key_begin, key_begin + num_keys, output_begin); + auto size = thrust::distance(output_begin, output_end); + + REQUIRE(size == num_items); + + // sort before compare + thrust::sort(thrust::device, + output_begin, + output_end, + [] __device__(const cuco::pair_type& lhs, + const cuco::pair_type& rhs) { + if (lhs.first != rhs.first) { return lhs.first < rhs.first; } + return lhs.second < rhs.second; + }); + + REQUIRE(thrust::equal( + thrust::device, + pair_begin, + pair_begin + num_items, + output_begin, + [] __device__(cuco::pair_type lhs, cuco::pair_type rhs) { + return lhs.first == rhs.first and lhs.second == rhs.second; + })); + } + + SECTION("count and count_outer should return the same value.") + { + auto num = map.count(key_begin, key_begin + num_keys); + auto num_outer = map.count_outer(key_begin, key_begin + num_keys); + + REQUIRE(num == num_outer); + } + + SECTION("Output of retrieve and retrieve_outer should be the same.") + { + auto output_begin = result_begin; + auto output_end = map.retrieve(key_begin, key_begin + num_keys, output_begin); + auto size = thrust::distance(output_begin, output_end); + + output_end = map.retrieve_outer(key_begin, key_begin + num_keys, output_begin); + auto size_outer = thrust::distance(output_begin, output_end); + + REQUIRE(size == size_outer); + + // sort before compare + thrust::sort(thrust::device, + output_begin, + output_end, + [] __device__(const cuco::pair_type& lhs, + const cuco::pair_type& rhs) { + if (lhs.first != rhs.first) { return lhs.first < rhs.first; } + return lhs.second < rhs.second; + }); + + REQUIRE(thrust::equal( + thrust::device, + pair_begin, + pair_begin + num_items, + output_begin, + [] __device__(cuco::pair_type lhs, cuco::pair_type rhs) { + return lhs.first == rhs.first and lhs.second == rhs.second; + })); + } +} + +TEMPLATE_TEST_CASE_SIG("Multiplicity equals two", + "", + ((typename Key, typename Value, probe_sequence Probe), Key, Value, Probe), + (int32_t, int32_t, probe_sequence::linear_probing), + (int32_t, int64_t, probe_sequence::linear_probing), + (int64_t, int64_t, probe_sequence::linear_probing), + (int32_t, int32_t, probe_sequence::double_hashing), + (int32_t, int64_t, probe_sequence::double_hashing), + (int64_t, int64_t, probe_sequence::double_hashing)) +{ + constexpr std::size_t num_items{4}; + + thrust::device_vector d_keys(num_items / 2); + thrust::device_vector> d_pairs(num_items); + + thrust::sequence(thrust::device, d_keys.begin(), d_keys.end()); + // multiplicity = 2 + thrust::transform(thrust::device, + thrust::counting_iterator(0), + thrust::counting_iterator(num_items), + d_pairs.begin(), + [] __device__(auto i) { + return cuco::pair_type{i / 2, i}; + }); + + thrust::device_vector> d_results(num_items); + + if constexpr (Probe == probe_sequence::linear_probing) { + cuco::static_multimap, + cuco::linear_probing<1, cuco::detail::MurmurHash3_32>> + map{5, -1, -1}; + test_multiplicity_two( + map, d_pairs.begin(), d_keys.begin(), d_results.begin(), num_items); + } + if constexpr (Probe == probe_sequence::double_hashing) { + cuco::static_multimap map{5, -1, -1}; + test_multiplicity_two( + map, d_pairs.begin(), d_keys.begin(), d_results.begin(), num_items); + } +} + +template +__inline__ void test_non_matches(Map& map, PairIt pair_begin, KeyIt key_begin, std::size_t num_keys) +{ + map.insert(pair_begin, pair_begin + num_keys); + + auto res = map.get_size(); + REQUIRE(res == num_keys); + + SECTION("Output of count and retrieve should be coherent.") + { + auto num = map.count(key_begin, key_begin + num_keys); + thrust::device_vector> d_results(num); + + REQUIRE(num == num_keys); + + auto output_begin = d_results.data().get(); + auto output_end = map.retrieve(key_begin, key_begin + num_keys, output_begin); + auto size = thrust::distance(output_begin, output_end); + + REQUIRE(size == num_keys); + + // sort before compare + thrust::sort(thrust::device, + output_begin, + output_end, + [] __device__(const cuco::pair_type& lhs, + const cuco::pair_type& rhs) { + if (lhs.first != rhs.first) { return lhs.first < rhs.first; } + return lhs.second < rhs.second; + }); + + REQUIRE(thrust::equal( + thrust::device, + pair_begin, + pair_begin + num_keys, + output_begin, + [] __device__(cuco::pair_type lhs, cuco::pair_type rhs) { + return lhs.first == rhs.first and lhs.second == rhs.second; + })); + } + + SECTION("Output of count_outer and retrieve_outer should be coherent.") + { + auto num = map.count_outer(key_begin, key_begin + num_keys); + thrust::device_vector> d_results(num); + + REQUIRE(num == (num_keys + num_keys / 2)); + + auto output_begin = d_results.data().get(); + auto output_end = map.retrieve_outer(key_begin, key_begin + num_keys, output_begin); + auto size = thrust::distance(output_begin, output_end); + + REQUIRE(size == (num_keys + num_keys / 2)); + + // sort before compare + thrust::sort(thrust::device, + output_begin, + output_end, + [] __device__(const cuco::pair_type& lhs, + const cuco::pair_type& rhs) { + if (lhs.first != rhs.first) { return lhs.first < rhs.first; } + return lhs.second < rhs.second; + }); + + // create gold reference + thrust::device_vector> gold(size); + auto gold_begin = gold.begin(); + thrust::transform(thrust::device, + thrust::counting_iterator(0), + thrust::counting_iterator(size), + gold_begin, + [num_keys] __device__(auto i) { + if (i < num_keys) { return cuco::pair_type{i / 2, i}; } + return cuco::pair_type{i - num_keys / 2, -1}; + }); + + REQUIRE(thrust::equal( + thrust::device, + gold_begin, + gold_begin + size, + output_begin, + [] __device__(cuco::pair_type lhs, cuco::pair_type rhs) { + return lhs.first == rhs.first and lhs.second == rhs.second; + })); + } +} + +TEMPLATE_TEST_CASE_SIG("Tests of non-matches", + "", + ((typename Key, typename Value, probe_sequence Probe), Key, Value, Probe), + (int32_t, int32_t, probe_sequence::linear_probing), + (int32_t, int64_t, probe_sequence::linear_probing), + (int64_t, int64_t, probe_sequence::linear_probing), + (int32_t, int32_t, probe_sequence::double_hashing), + (int32_t, int64_t, probe_sequence::double_hashing), + (int64_t, int64_t, probe_sequence::double_hashing)) +{ + constexpr std::size_t num_keys{1'000'000}; + + thrust::device_vector d_keys(num_keys); + thrust::device_vector> d_pairs(num_keys); + + thrust::sequence(thrust::device, d_keys.begin(), d_keys.end()); + // multiplicity = 2 + thrust::transform(thrust::device, + thrust::counting_iterator(0), + thrust::counting_iterator(num_keys), + d_pairs.begin(), + [] __device__(auto i) { + return cuco::pair_type{i / 2, i}; + }); + + if constexpr (Probe == probe_sequence::linear_probing) { + cuco::static_multimap, + cuco::linear_probing<1, cuco::detail::MurmurHash3_32>> + map{num_keys * 2, -1, -1}; + test_non_matches(map, d_pairs.begin(), d_keys.begin(), num_keys); + } + if constexpr (Probe == probe_sequence::double_hashing) { + cuco::static_multimap map{num_keys * 2, -1, -1}; + test_non_matches(map, d_pairs.begin(), d_keys.begin(), num_keys); + } +} + +template +__inline__ void test_insert_if(Map& map, PairIt pair_begin, KeyIt key_begin, std::size_t size) +{ + // 50% insertion + auto pred_lambda = [] __device__(Key k) { return k % 2 == 0; }; + + map.insert_if(pair_begin, pair_begin + size, key_begin, pred_lambda); + + auto res = map.get_size(); + REQUIRE(res * 2 == size); + + auto num = map.count(key_begin, key_begin + size); + REQUIRE(num * 2 == size); +} + +TEMPLATE_TEST_CASE_SIG("Tests of insert_if", + "", + ((typename Key, typename Value, probe_sequence Probe), Key, Value, Probe), + (int32_t, int32_t, probe_sequence::linear_probing), + (int32_t, int64_t, probe_sequence::linear_probing), + (int64_t, int64_t, probe_sequence::linear_probing), + (int32_t, int32_t, probe_sequence::double_hashing), + (int32_t, int64_t, probe_sequence::double_hashing), + (int64_t, int64_t, probe_sequence::double_hashing)) +{ + constexpr std::size_t num_keys{1'000}; + + thrust::device_vector d_keys(num_keys); + thrust::device_vector> d_pairs(num_keys); + + thrust::sequence(thrust::device, d_keys.begin(), d_keys.end()); + // multiplicity = 1 + thrust::transform(thrust::device, + thrust::counting_iterator(0), + thrust::counting_iterator(num_keys), + d_pairs.begin(), + [] __device__(auto i) { + return cuco::pair_type{i, i}; + }); + + if constexpr (Probe == probe_sequence::linear_probing) { + cuco::static_multimap, + cuco::linear_probing<1, cuco::detail::MurmurHash3_32>> + map{num_keys * 2, -1, -1}; + test_insert_if(map, d_pairs.begin(), d_keys.begin(), num_keys); + } + if constexpr (Probe == probe_sequence::double_hashing) { + cuco::static_multimap map{num_keys * 2, -1, -1}; + test_insert_if(map, d_pairs.begin(), d_keys.begin(), num_keys); + } +} + +// Custom pair equal +template +struct pair_equal { + __device__ bool operator()(const cuco::pair_type& lhs, + const cuco::pair_type& rhs) const + { + return lhs.first == rhs.first; + } +}; + +template +__inline__ void test_pair_functions(Map& map, PairIt pair_begin, std::size_t num_pairs) +{ + map.insert(pair_begin, pair_begin + num_pairs); + cudaStreamSynchronize(0); + + auto res = map.get_size(); + REQUIRE(res == num_pairs); + + // query pair matching rate = 50% + thrust::transform(thrust::device, + thrust::counting_iterator(0), + thrust::counting_iterator(num_pairs), + pair_begin, + [] __device__(auto i) { + return cuco::pair_type{i, i}; + }); + + SECTION("Output of pair_count and pair_retrieve should be coherent.") + { + auto num = map.pair_count(pair_begin, pair_begin + num_pairs, pair_equal{}); + + auto out1_begin = thrust::make_zip_iterator( + thrust::make_tuple(thrust::make_discard_iterator(), thrust::make_discard_iterator())); + auto out2_begin = thrust::make_zip_iterator( + thrust::make_tuple(thrust::make_discard_iterator(), thrust::make_discard_iterator())); + + REQUIRE(num == num_pairs); + + auto [out1_end, out2_end] = map.pair_retrieve( + pair_begin, pair_begin + num_pairs, out1_begin, out2_begin, pair_equal{}); + + REQUIRE((out1_end - out1_begin) == num_pairs); + } + + SECTION("Output of pair_count_outer and pair_retrieve_outer should be coherent.") + { + auto num = map.pair_count_outer(pair_begin, pair_begin + num_pairs, pair_equal{}); + + auto out1_begin = thrust::make_zip_iterator( + thrust::make_tuple(thrust::make_discard_iterator(), thrust::make_discard_iterator())); + auto out2_begin = thrust::make_zip_iterator( + thrust::make_tuple(thrust::make_discard_iterator(), thrust::make_discard_iterator())); + + REQUIRE(num == (num_pairs + num_pairs / 2)); + + auto [out1_end, out2_end] = map.pair_retrieve_outer( + pair_begin, pair_begin + num_pairs, out1_begin, out2_begin, pair_equal{}); + + REQUIRE((out1_end - out1_begin) == (num_pairs + num_pairs / 2)); + } +} + +TEMPLATE_TEST_CASE_SIG("Tests of pair functions", + "", + ((typename Key, typename Value, probe_sequence Probe), Key, Value, Probe), + (int32_t, int32_t, probe_sequence::linear_probing), + (int32_t, int64_t, probe_sequence::linear_probing), + (int64_t, int64_t, probe_sequence::linear_probing), + (int32_t, int32_t, probe_sequence::double_hashing), + (int32_t, int64_t, probe_sequence::double_hashing), + (int64_t, int64_t, probe_sequence::double_hashing)) +{ + constexpr std::size_t num_pairs{4}; + thrust::device_vector> d_pairs(num_pairs); + + // pair multiplicity = 2 + thrust::transform(thrust::device, + thrust::counting_iterator(0), + thrust::counting_iterator(num_pairs), + d_pairs.begin(), + [] __device__(auto i) { + return cuco::pair_type{i / 2, i}; + }); + + if constexpr (Probe == probe_sequence::linear_probing) { + cuco::static_multimap, + cuco::linear_probing<1, cuco::detail::MurmurHash3_32>> + map{num_pairs * 2, -1, -1}; + test_pair_functions(map, d_pairs.begin(), num_pairs); + } + if constexpr (Probe == probe_sequence::double_hashing) { + cuco::static_multimap map{num_pairs * 2, -1, -1}; + test_pair_functions(map, d_pairs.begin(), num_pairs); + } +}