diff --git a/AGENTS.md b/AGENTS.md index 9b2e9bf..67777f3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,7 +6,7 @@ This document specifies mandatory rules, design patterns, prompt caching optimiz ## 0. Source of Truth (Read First) -- **`blueprint.md`** — research design, scientific claims, scope. **Version A (course) is the ONLY active scope.** Do NOT implement Version B (publication) features during the course. +- **`blueprint.md`** — research design, scientific claims, scope. **Version A is frozen on branch `version-A`; Version B (publication) work runs on branch `version-B` only.** Do not mix scopes or alter Version A artifacts after the gate push without a documented reason. - **`roadmap.md`** — phased implementation plan. Treat as guidance, NOT gospel: version numbers, URLs, and library claims in it can be stale. Always prefer the **latest stable versions actually available/installed** (check `.venv` and PyPI before pinning anything). - **`AGENTS.md`** (this file) — binding agent rules. On conflict with `roadmap.md`, this file and `blueprint.md` win. @@ -127,7 +127,7 @@ HaluRISC/ - **Security Rule:** Server-only variables (`OPENAI_API_KEY`) must NEVER start with `NEXT_PUBLIC_`. They are strictly accessed in `app/api/chat/route.ts` (server side). - **FastAPI Python Backend Environment:** - **Location:** Root `.env` or system environment variables loaded via `python-dotenv`. - - **Keys:** `FASTAPI_HOST`, `FASTAPI_PORT`, `FASTAPI_DEBUG`, `OPENAI_API_KEY` (for `/judge`), `OPENAI_MODEL`, `DEEPSEEK_API_KEY` (optional fallback judge), `HALU_API_DEVICE` (`cuda`|`cpu`, default `cpu`; `cuda` auto-falls back to CPU if torch has no CUDA, models load fp16 on CUDA), `HALU_API_PRELOAD` (default `1`; `0` skips the startup preload of heavy spaCy/NLI/SBERT models). + - **Keys:** `FASTAPI_HOST`, `FASTAPI_PORT`, `FASTAPI_DEBUG`, `OPENAI_API_KEY` (for `/judge`), `OPENAI_MODEL`, `DEEPSEEK_API_KEY` (optional fallback judge), `HALU_API_DEVICE` (`cuda`|`cpu`, default `cpu`; `cuda` auto-falls back to CPU if torch has no CUDA, models load fp16 on CUDA), `HALU_API_PRELOAD` (default `1`; `0` skips the startup preload of heavy spaCy/NLI/SBERT models), `HALU_XGB_DEVICE` (`cuda`|`cpu`|`auto`; set `cpu` in Colab so saved XGBoost models are portable across platforms — CUDA-trained boosters do not unserialize cross-platform). - **Git Security Rule:** Neither `.env` nor `.env.local` are ever committed to Git (`.gitignore` protects both). ### 5.1 Dependency Pinning Rule diff --git a/README.md b/README.md index 03d0ab2..c69a0b7 100644 --- a/README.md +++ b/README.md @@ -29,21 +29,21 @@ Mean over seeds 42/123/456 (real results from `artifacts/results/final_results.json`): -| Model Architecture | Precision | Recall | F1-Score | AUROC | PR-AUC | MCC | -| ------------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | ---------- | -| **Heuristic (1 - overlap)** | 0.9392 | 0.9467 | 0.9429 | 0.9148 | 0.8117 | 0.8854 | -| **Logistic Regression** | 0.9804 | 0.9693 | 0.9749 | 0.9943 | 0.9948 | 0.9501 | -| **Random Forest** | 0.9915 | 0.9858 | 0.9886 | 0.9982 | 0.9987 | 0.9774 | -| **XGBoost + Platt (ours)** | **0.9919** | **0.9853** | **0.9886** | **0.9980** | **0.9987** | **0.9774** | +| Model Architecture | Precision | Recall | F1-Score | AUROC | PR-AUC | MCC | +| --------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | ---------- | +| **Heuristic (1 - overlap)** | 0.9392 | 0.9467 | 0.9429 | 0.9148 | 0.8117 | 0.8854 | +| **Logistic Regression** | 0.9804 | 0.9693 | 0.9749 | 0.9943 | 0.9948 | 0.9501 | +| **Random Forest** | 0.9915 | 0.9858 | 0.9886 | 0.9982 | 0.9987 | 0.9774 | +| **XGBoost + Platt (ours)** | **0.9919** | **0.9853** | **0.9886** | **0.9980** | **0.9987** | **0.9774** | **Calibration:** Platt ECE 0.0116 / Brier 0.0092 · Isotonic ECE 0.0051 / Brier 0.0089 (calibrators fit on validation only). ### LLM-as-Judge comparison (200 test samples, measured) -| Model | Accuracy | Precision | Recall | F1 | Latency p50 | Cost / 1K | -| ------------------------ | -------- | --------- | ------ | ------ | ----------- | --------- | -| GPT 5.6 Luna judge | 0.8400 | 0.9474 | 0.7200 | 0.8182 | 1,293 ms | $0.101 | -| **XGBoost (ours)** | **0.9900** | **1.0000** | **0.9800** | **0.9899** | ~5 ms | ~$0.001 | +| Model | Accuracy | Precision | Recall | F1 | Latency p50 | Cost / 1K | +| ------------------ | ---------- | ---------- | ---------- | ---------- | ----------- | --------- | +| GPT 5.6 Luna judge | 0.8400 | 0.9474 | 0.7200 | 0.8182 | 1,293 ms | $0.101 | +| **XGBoost (ours)** | **0.9900** | **1.0000** | **0.9800** | **0.9899** | ~5 ms | ~$0.001 | Agreement between judge and XGBoost: 0.84. @@ -96,7 +96,7 @@ differ from real-world generation, motivating domain adaptation (Version B direc ```powershell # 1. Clone the repository -git clone https://github.com/Atik203/HaluLens.git +git clone https://github.com/Atik203/HaluRISC.git cd HaluRISC # 2. Activate virtual environment (or create one) @@ -165,7 +165,7 @@ Open `http://localhost:3000` in your browser. Run the **full training pipeline** (feature extraction → XGBoost tuning → calibration → SHAP → RAGTruth validation) on Google Colab with a GPU, then download the artifacts back into this repo: -[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1aTlrAcIx5FqAaDiYzsLTiMxbMVw1RsRR?usp=sharing) +[![Open In Colab](https://colab.research.google.com/drive/124wjKFVDyZkDNIjs1WgHW8N7vO7XyY6G?usp=sharing) 1. Open the notebook (viewable by anyone with the link), select **GPU → T4** as the runtime. 2. Run cells in order; cell 3 prompts for `colab/halurisc_src.zip` (from this repo). diff --git a/artifacts/split_indices.json b/artifacts/split_indices.json index 92e9192..b698eae 100644 --- a/artifacts/split_indices.json +++ b/artifacts/split_indices.json @@ -1,20010 +1,30019 @@ { + "split": "group_by_item_idx", "train": [ - 454, - 13195, - 12711, - 8380, - 16119, - 18198, - 4670, - 826, - 10239, - 785, - 18046, - 1832, - 17074, - 16700, - 9005, - 6098, - 1423, - 10797, - 19575, - 10715, - 19930, - 1027, - 13305, - 1590, - 4236, - 2376, - 7485, - 662, - 8136, - 16746, - 14689, - 8336, - 17943, - 9214, - 3627, - 8645, - 11560, - 1994, - 9158, - 6695, - 6323, - 11931, - 14578, - 2389, - 6028, - 1106, - 19134, + 2, + 3, + 4, + 5, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 18, + 19, + 22, + 23, + 26, + 27, + 30, + 31, + 32, + 33, + 36, + 37, + 42, + 43, + 44, + 45, 48, - 13382, - 2361, - 14598, - 5150, - 897, - 10540, - 10670, - 15570, - 19003, - 3780, - 2674, - 17186, - 5295, - 12350, - 422, - 5577, - 2876, - 3076, - 14886, - 8170, - 13103, - 7190, - 5944, - 19440, - 3886, - 11066, - 3684, - 9234, - 18435, - 1653, - 15387, - 16575, - 992, - 15584, - 18918, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 64, + 65, + 68, + 69, + 76, + 77, + 80, + 81, + 84, + 85, + 86, + 87, + 88, + 89, + 98, + 99, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 114, + 115, + 120, + 121, + 124, + 125, + 126, + 127, + 128, + 129, + 132, + 133, + 134, + 135, + 142, + 143, + 144, + 145, + 148, + 149, + 150, + 151, + 154, + 155, + 156, + 157, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 180, + 181, + 182, + 183, + 188, + 189, + 194, + 195, + 196, + 197, + 200, + 201, + 210, + 211, + 218, + 219, + 220, + 221, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, 257, - 3222, - 17649, - 589, - 3535, - 8840, - 15036, - 12550, - 4203, - 10251, - 4744, - 6863, - 9124, - 4348, - 15328, - 1738, - 4263, - 18310, - 10849, - 16521, - 9273, - 3411, - 11094, - 11045, - 6514, - 6466, - 16993, - 5211, - 4753, - 7895, - 8470, - 11348, - 15723, - 5936, - 16628, - 7827, - 3242, - 1577, - 9826, - 14143, - 18827, - 12541, - 13707, - 1103, - 10462, - 4865, - 9237, - 8604, - 9589, - 2940, - 7843, - 17391, - 1773, - 7202, - 13605, - 15479, - 8249, - 10519, - 2620, - 8849, - 2263, - 15485, - 14457, - 19426, - 1494, - 6271, - 9742, - 14088, - 14306, - 19928, - 9238, - 15178, - 1171, - 3258, - 13008, - 8010, - 19979, - 18433, - 9555, - 7687, - 9377, - 9793, - 13398, - 10798, - 2815, - 8529, - 7237, - 13600, - 19707, - 9549, - 9506, - 14251, - 3231, - 15180, - 11224, - 10410, - 19481, - 2306, - 10924, - 16190, - 5686, - 561, - 18985, - 4877, - 7573, - 15932, - 14215, - 10311, - 4228, - 3540, - 2587, - 14964, - 2312, - 17133, - 16054, - 3175, - 3191, - 10927, - 16647, - 18542, - 19599, - 17375, - 12130, - 12767, - 4095, - 15762, - 8487, - 3148, - 9645, - 4715, - 17871, - 1717, - 18690, - 1753, - 2727, - 17159, - 15761, - 19672, - 14226, - 1282, - 10762, - 5448, - 445, - 4017, - 6335, - 7191, - 14775, - 8597, - 17736, - 9815, - 14351, - 5475, - 16571, - 340, - 12128, - 5743, - 1377, - 850, - 5061, - 6104, - 8217, - 17789, - 12536, - 19062, - 3367, - 16611, - 17725, - 11118, - 7922, - 19004, - 10946, - 689, - 9001, - 13490, - 6327, - 2762, - 4306, - 17293, - 5074, - 17718, - 3784, + 258, + 259, + 260, + 261, + 266, + 267, + 268, + 269, + 272, + 273, + 274, + 275, + 276, 277, - 16325, - 3476, - 2438, - 8820, - 5766, - 69, - 8787, - 4581, - 13654, - 114, - 16366, - 19926, - 10011, - 12774, - 18044, - 15298, - 8339, - 3629, - 19050, - 12537, - 9442, - 16629, - 5189, - 11315, - 8738, - 409, - 10617, - 667, - 16691, - 6618, - 12763, - 184, - 12017, - 11394, - 17328, - 12450, - 10118, - 15750, - 12355, - 6890, - 12107, - 7430, - 11306, - 1649, - 4303, - 6607, - 17533, - 13939, - 11098, - 2044, - 15982, - 11175, - 18181, - 14267, - 13865, - 16870, - 14743, - 16068, - 7194, - 18941, - 1069, - 7210, - 16643, - 15712, - 13506, - 10306, - 7111, - 5164, - 11583, - 2197, - 4646, - 18554, - 14055, - 3123, - 17529, - 1384, - 11280, - 8644, - 19738, - 16003, - 17422, - 13414, - 10592, - 587, - 10455, - 15965, - 19117, - 9295, - 17369, - 3495, - 5854, - 16342, - 16878, - 11805, - 1714, - 13720, - 2559, - 11374, - 10070, - 9190, - 6344, - 18083, - 12771, - 1682, - 17711, - 8908, - 3700, - 15788, - 7156, - 2952, - 11299, - 9449, - 4966, - 16276, - 1232, - 11809, - 6883, - 11460, - 11525, - 19379, - 10931, - 16911, - 9714, - 15785, - 11904, - 16887, - 18988, - 9920, - 8668, - 4821, - 14708, - 6281, - 7914, - 3758, - 12580, - 825, - 10396, - 14615, - 10071, - 17102, - 14501, - 16199, - 5272, - 13595, - 10942, - 8691, - 19607, - 8320, - 8333, - 2865, - 4110, - 15103, - 10263, - 16589, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, 327, - 2556, - 12412, - 1233, - 13257, - 2670, - 10506, - 3213, - 1464, - 4685, - 1851, - 19505, - 15306, - 17527, - 17050, - 13071, - 8142, - 1242, - 5798, - 8695, - 3791, - 6418, - 12029, - 2435, - 14523, - 731, - 509, - 15971, - 578, - 2290, - 6794, - 8818, - 15073, - 8020, - 7864, - 13134, - 19423, - 10201, - 1116, - 11671, - 10553, - 3108, - 5288, - 6507, - 15340, - 638, - 7212, - 4840, - 17560, - 13125, - 14704, - 2008, - 13249, - 12849, - 6658, - 5217, - 8502, - 12086, - 2318, - 15598, - 17490, - 19188, - 2462, - 9364, - 18508, - 6070, - 16042, - 18725, - 18545, - 7459, - 1592, - 3288, - 1991, - 18824, - 4154, - 19323, - 3828, - 15313, - 10360, - 11808, - 11778, - 5143, - 10581, - 19016, - 10530, - 7135, - 272, - 648, - 14396, - 135, - 19341, - 14606, - 473, - 2950, - 19231, - 1616, - 2390, - 5615, - 2910, - 8043, - 13227, - 5432, - 16124, - 14425, - 12494, - 16759, - 2413, - 8408, - 13073, - 9388, - 14826, - 17033, - 1062, - 10930, - 1467, - 16017, - 8458, - 14555, - 7975, - 7561, - 11694, - 12112, - 9631, - 18357, - 3024, - 6154, - 13316, - 10388, - 12291, - 14406, - 7252, - 793, - 15661, - 19129, - 18352, - 3716, - 17803, - 11423, - 13610, - 9500, - 3811, - 17791, - 18099, - 11687, - 3121, - 5081, - 16369, - 12858, - 3702, - 13445, - 15444, - 3640, - 14262, - 9865, - 11655, - 8983, - 15790, - 1980, - 1604, - 2576, - 19937, - 7563, - 3557, - 4350, - 2900, - 11260, - 18229, - 14893, - 15817, - 988, - 11246, - 2181, - 4716, - 12788, - 8610, - 17272, - 12685, - 176, - 15070, - 4047, - 7859, - 17274, - 6742, - 3516, - 478, - 13616, - 16888, - 9644, - 11088, - 11828, - 16268, - 8552, - 4619, - 6575, - 12731, - 12205, - 3962, - 18718, - 13062, - 8165, - 11487, + 330, + 331, + 332, + 333, + 334, + 335, + 340, + 341, + 342, + 343, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 356, + 357, + 358, + 359, + 364, + 365, + 366, + 367, + 368, + 369, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 394, + 395, + 396, + 397, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 426, + 427, + 430, + 431, + 432, + 433, 438, - 18474, - 7036, - 19495, - 9384, - 6416, - 11203, - 13844, - 5920, - 1032, - 11801, - 1774, - 11013, - 4075, - 18006, - 16793, - 19645, - 19626, - 7153, - 11702, - 18847, - 4280, - 7793, - 8713, - 11071, - 3467, - 620, - 6366, - 11058, - 15583, - 12510, - 11899, - 7219, - 19024, - 6820, - 14245, - 2147, - 19924, - 18067, - 12913, - 18411, - 7246, - 2076, - 3239, - 2034, - 10103, - 15523, - 9247, - 89, - 18103, - 321, - 8184, - 11234, - 3122, - 13901, - 4669, - 6213, - 9782, - 11769, - 878, - 4013, - 4836, - 11413, - 2189, - 2883, - 11787, - 766, - 8433, - 16084, - 18413, - 7095, - 10066, - 17232, - 16932, - 7958, - 6180, - 13172, - 11601, - 14296, - 9799, - 5713, - 849, - 3205, - 5470, - 523, - 15010, - 3974, - 4475, - 7368, - 11714, - 15034, - 5670, - 18544, - 15020, - 8100, - 16139, - 1477, - 1619, - 11287, - 8466, - 10008, - 11432, - 8560, - 17857, - 7810, - 17882, - 18815, - 18671, - 3625, - 14268, - 2085, - 10181, - 2935, - 16080, - 17386, - 5968, - 5376, - 16246, - 19600, - 7054, - 15210, - 13443, - 18917, - 6044, - 3567, - 15439, - 11636, - 15629, - 6960, - 3861, - 15243, - 1913, - 13215, - 10222, - 7126, - 3240, - 13884, - 19281, - 13860, - 18391, - 19309, - 19111, - 11777, - 13724, - 6787, - 13766, - 7738, - 11874, - 9557, - 18810, - 18431, - 18655, - 10312, - 5100, - 17182, - 3939, - 10478, - 5087, - 7863, - 975, - 10394, - 19176, - 5549, - 13956, - 10814, - 7007, - 14106, - 4308, - 10612, - 571, - 2995, - 19018, - 5588, - 19407, - 5243, - 17265, - 8257, - 12518, - 18149, - 11991, - 5072, - 5578, - 10751, - 6899, - 8831, - 8534, - 10796, - 13119, - 15016, - 15311, - 19148, - 1658, - 936, - 7057, - 881, - 19596, - 9517, - 11155, - 6426, - 16485, - 12506, - 19603, - 8763, - 19200, - 18510, - 1713, - 17491, - 12474, - 9146, - 2650, - 8743, - 11684, - 11989, - 8137, - 6822, - 12786, - 17648, - 15759, - 6074, - 8102, - 4219, - 18787, - 5789, - 15291, - 10048, - 2002, - 6188, - 14493, - 3082, - 4656, - 17395, - 8015, - 19427, - 6589, - 641, - 10320, - 5370, - 18894, - 11440, - 10334, + 439, + 440, + 441, + 446, 447, - 4050, - 8044, - 15599, - 5837, - 305, - 13695, - 13545, - 5912, - 9540, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 462, + 463, + 464, + 465, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 492, + 493, + 498, + 499, + 500, + 501, + 506, + 507, + 510, + 511, + 512, + 513, + 516, + 517, + 520, + 521, + 522, + 523, + 524, + 525, + 528, + 529, + 532, + 533, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, 569, - 2257, - 4453, - 6202, - 18164, - 530, - 8459, - 12593, - 15231, - 12229, - 13579, - 16898, - 6636, - 6903, - 13794, - 9512, - 8892, - 11712, - 15977, - 3287, - 11930, - 11240, - 202, - 12276, - 15795, - 19856, - 432, - 8821, - 10510, - 3845, - 16006, - 5831, - 11561, - 5623, - 2046, - 19585, - 15900, - 5019, - 15890, - 3464, - 715, - 6528, - 10399, - 7817, - 5765, - 7273, - 4939, - 18069, - 3145, - 16686, - 14899, - 18966, - 3133, - 11891, - 5433, - 14304, - 9893, - 17672, - 17028, - 17901, - 4895, - 12201, - 6964, - 7335, - 19661, - 5507, - 15361, - 759, - 16785, - 5384, - 6910, - 8128, - 9719, - 3751, - 19943, - 18567, - 16783, - 14060, - 2360, - 19784, - 12117, - 16795, - 9792, - 8503, - 16097, - 18015, - 15042, - 12378, - 1287, - 18987, - 9382, - 17141, - 10045, - 7484, - 10303, - 15672, - 18335, - 19125, - 14363, - 10426, - 1012, - 1222, - 4799, - 19119, - 10566, - 14043, - 3014, - 18825, - 10756, - 17811, - 5906, - 14126, - 3644, - 9447, - 12045, - 5903, - 6560, - 7796, - 16211, - 3635, - 4820, - 18864, - 721, - 8718, - 279, - 1983, - 2350, - 4014, - 8935, - 13606, - 14458, - 17964, - 9343, - 12638, - 19832, - 16254, - 10492, - 8780, - 18000, - 228, - 10296, - 18123, - 3847, - 18733, - 16170, - 5398, - 15376, - 9763, - 16560, - 5555, - 13169, - 1857, - 2018, - 576, - 14860, - 12238, - 2068, - 4461, - 14172, - 17833, - 17430, - 6491, - 12074, - 13332, - 1096, - 2654, - 1038, - 9902, - 12982, - 7654, - 4011, - 10333, - 14935, - 16720, - 4370, - 9511, - 17412, - 12886, - 18482, - 11936, - 18132, - 13480, - 12717, - 6831, - 11172, - 15260, - 10888, - 14293, - 9825, - 5638, - 11202, - 10599, - 13285, - 9431, - 16569, - 6459, - 14866, - 6955, - 12405, - 15331, - 18957, - 4626, - 15322, - 5080, - 74, - 19342, - 7298, - 1852, - 19378, - 17380, - 5727, - 905, - 10193, - 1214, - 1011, - 14626, - 4824, - 7131, - 19092, - 17155, - 1341, - 19545, - 2700, - 12399, - 16163, - 946, - 12818, - 17883, - 19586, - 4625, - 14510, - 12432, - 13936, - 6828, - 2994, - 14894, - 17277, - 17919, - 13628, - 7150, - 13236, - 4005, - 14281, - 13509, - 6946, - 15424, - 93, - 14696, - 3568, - 7630, - 16383, - 13883, - 13502, - 3442, - 863, - 17191, - 8193, - 11748, - 10596, - 16608, - 6610, - 16766, - 4141, - 7068, - 1938, - 19720, - 10289, - 13262, - 15112, - 7189, - 14859, - 11261, - 13309, - 3797, - 3371, - 7798, - 1465, - 693, - 8152, - 17858, - 3387, - 3337, - 17426, - 1675, - 12972, - 16666, - 19806, - 12195, - 14498, - 16323, - 17501, - 17838, - 16556, - 15856, - 6856, - 17472, - 14357, - 11354, - 9233, - 668, - 15605, - 11720, - 16566, - 8714, - 16621, - 19870, - 13730, - 19751, - 7457, - 1056, - 6420, - 15825, - 744, - 14749, - 4356, - 17450, - 2518, - 18481, - 8460, - 6884, - 9789, - 10763, - 3426, - 4968, - 19710, - 7058, - 1478, - 15369, - 11804, - 8079, - 18358, - 9900, - 14636, - 9249, - 12734, - 16055, - 1689, - 14081, - 8949, - 6328, - 13678, - 17856, - 18715, - 9267, - 53, - 8681, - 16137, - 90, - 12217, - 5584, - 2726, - 5357, - 14370, - 8006, - 5672, - 16371, - 14503, - 2440, - 5681, - 8202, - 2172, - 5893, - 14930, - 3846, - 6129, - 3349, - 17530, - 12018, - 3933, - 16343, - 14607, - 1831, - 1904, - 14602, - 16011, - 11964, - 157, - 16292, - 12064, - 10873, - 1243, - 16734, - 11015, - 17996, - 11313, - 11586, - 5168, - 6490, - 451, - 15060, - 11141, - 5242, - 6204, - 13069, - 12034, - 17284, - 1340, - 19327, - 14014, - 3039, - 11644, - 13339, - 10039, - 10615, - 1281, - 7599, - 16702, - 11798, - 6565, - 1754, - 6041, - 5317, - 5312, - 797, - 14573, - 19249, - 7213, - 1029, - 1815, - 9713, - 18977, - 19037, - 1698, - 7544, - 19190, - 471, - 15384, - 980, - 10090, - 14356, - 6094, - 17018, - 18127, - 4424, - 421, - 18507, - 18177, - 2273, - 11433, - 10106, - 2751, - 19144, - 15408, - 17393, - 10021, - 8666, - 820, - 7414, - 11193, - 15094, - 1060, - 1643, - 19912, - 1353, - 6101, - 11751, - 4065, - 8144, - 9185, - 6806, - 225, - 8255, - 3867, - 5400, - 8011, - 16922, - 7600, - 9003, - 815, - 15344, - 10978, - 14643, - 2793, - 18635, - 16041, - 13416, - 6081, - 5103, - 3366, - 7205, - 2868, - 6345, - 4692, - 9172, - 19241, - 15980, - 13630, - 19178, - 2372, - 19296, - 4082, - 3389, - 12806, - 14177, - 5522, - 2105, - 16690, - 12778, - 6781, - 19614, - 2004, - 16885, - 14768, - 12584, - 7768, - 17681, - 3529, - 544, - 10418, - 16396, - 10023, - 18284, - 2795, - 14200, - 1992, - 13887, - 11319, - 7622, - 1964, - 17891, - 1700, - 3760, - 15787, - 2668, - 2517, - 16832, - 2213, - 15000, - 15417, - 5714, - 19229, - 12166, - 11660, - 4473, - 6501, - 7661, - 3759, - 9112, - 18525, - 16045, - 5079, - 1026, - 18734, - 10031, - 1235, - 7657, - 2061, - 7069, - 5277, - 5436, - 19786, - 2091, - 3740, - 8815, - 6062, - 5693, - 9891, - 1854, - 15916, - 13551, - 11472, - 12525, - 16148, - 7825, - 4889, - 10811, - 9770, - 14668, - 6000, - 3281, - 8242, - 11069, - 8388, - 17759, - 16696, - 11860, - 17542, - 1474, - 9575, - 15272, - 9046, - 11480, - 1674, - 10999, - 8545, - 7309, - 8901, - 18804, - 111, - 6843, - 9648, - 1633, - 14705, - 6444, - 7316, - 5826, - 13896, - 8002, - 7397, - 16834, - 3823, - 1676, - 2692, - 5625, - 1820, - 5812, - 19030, - 16439, - 12981, - 429, - 15396, - 12676, - 17538, - 19828, - 15254, - 8379, - 14621, - 1382, - 16156, - 16990, - 12872, - 2439, - 16447, - 10164, - 12136, - 17253, - 9345, - 10646, - 18378, - 14610, - 5838, - 16499, - 11064, - 11610, - 2954, - 3232, - 13589, - 11421, - 19013, - 11139, - 13783, - 199, - 8708, - 11629, - 19677, - 19877, - 7224, - 506, - 14773, - 165, - 17021, - 9778, - 6222, - 14154, - 13253, - 2748, - 16708, - 3198, - 12247, - 2690, - 12124, - 1794, - 9688, - 6326, - 7676, - 17819, - 6477, - 19634, - 11340, - 8765, - 3256, - 1635, - 13498, - 8767, - 13116, - 14212, - 19951, - 18441, - 16706, - 17405, - 5994, - 841, - 14947, - 15508, - 7360, - 19448, - 7505, - 8348, - 3260, - 14579, - 9592, - 12779, - 15807, - 714, - 9503, - 11770, - 11415, - 12331, - 10036, - 3558, - 9765, - 937, - 17124, - 6889, - 12265, - 14420, - 15076, - 17723, - 17997, - 9143, - 5200, - 14605, - 12066, - 7492, - 15804, - 17710, - 16926, - 8923, - 5461, - 14969, - 16747, - 2016, - 386, - 18138, - 14843, - 15431, - 11646, - 8390, - 14917, - 2522, - 3890, - 9019, - 18903, - 15134, - 9794, - 16957, - 5221, - 4104, - 3831, - 8322, - 11400, - 3851, - 8114, - 4811, - 12468, - 16494, - 5338, - 4830, - 18933, - 3563, - 9619, - 8138, - 12160, - 269, - 10613, - 15758, - 7215, - 12077, - 13182, - 12824, - 17132, - 7401, - 5142, - 16592, - 18937, - 742, - 19948, - 2232, - 8127, - 5178, - 9429, - 8297, - 19659, - 17780, - 6236, - 18383, - 12962, - 7984, - 19522, - 11101, - 6630, - 5992, - 9338, - 94, - 4488, - 14164, - 4643, - 19057, - 13735, - 19482, - 12144, - 3912, - 18260, - 15144, - 9, - 12489, - 16481, - 1687, - 18428, - 16896, - 9545, - 1524, - 13671, - 6073, - 15491, - 217, - 1518, - 11422, - 4720, - 12845, - 18706, - 10469, - 9461, - 654, - 10576, - 11169, - 12707, - 18324, - 6257, - 5252, - 7750, - 1367, - 8171, - 4336, - 4351, - 18235, - 15472, - 14100, - 16508, - 3824, - 9550, - 13471, - 19780, - 6572, - 8757, - 13596, - 1885, - 1823, - 3594, - 19182, - 572, - 11648, - 795, - 14915, - 19354, - 4304, - 10029, - 16221, - 18402, - 2193, - 3508, - 15834, - 5493, - 18643, - 12894, - 6530, - 18476, - 1443, - 13440, - 19955, - 13281, - 15364, - 8131, - 14355, - 4093, - 9971, - 2745, - 11235, - 10937, - 7083, - 10412, - 4382, - 9039, - 16451, - 7016, - 1516, - 2610, - 16578, - 14824, - 13078, - 18080, - 171, - 787, - 7458, - 19929, - 19798, - 13457, - 4138, - 9666, - 1246, - 2236, - 19022, - 2889, - 3132, - 9998, - 6128, - 12, - 6875, - 5694, - 10626, - 17086, - 11282, - 886, - 16790, - 2861, - 11420, - 12907, - 807, - 16924, - 4049, - 18978, - 17484, - 3852, - 11297, - 19199, - 8227, - 3674, - 13277, - 3465, - 10037, - 5033, - 383, - 15536, - 610, - 3357, - 17337, - 13239, - 17933, - 18170, - 3028, - 5399, - 17505, - 14040, - 335, - 2988, - 13322, - 678, - 13086, - 2946, - 18265, - 10799, - 16060, - 3185, - 12445, - 11388, - 15625, - 1757, - 8865, - 16229, - 11825, - 19358, - 627, - 6776, - 13295, - 1622, - 13981, - 428, - 5982, - 3664, - 12995, - 12054, - 3128, - 12768, - 8771, - 3650, - 5274, - 3794, - 18111, - 17973, - 9037, - 11116, - 1618, - 11984, - 4505, - 12663, - 301, - 359, - 10430, - 9160, - 4926, - 10357, - 8134, - 4957, - 16728, - 8022, - 18305, - 12642, - 9106, - 4967, - 1925, - 5632, - 3586, - 16096, - 8474, - 9787, - 12231, - 16962, - 5278, - 2524, - 5030, - 11570, - 10191, - 8506, - 1567, - 16196, - 3904, - 6953, - 9354, - 984, - 16910, - 12496, - 5835, - 15046, - 6474, - 4793, - 8649, - 13468, - 2636, - 9049, - 10650, - 1324, - 17785, - 3380, - 8972, - 16539, - 16218, - 3978, - 13961, - 1449, - 14300, - 6465, - 12564, - 5583, - 16986, - 10532, - 14940, - 16623, - 57, - 2871, - 17175, - 15681, - 6737, - 12406, - 4477, - 6299, - 5596, - 14103, - 8516, - 3530, - 12957, - 864, - 14955, - 5104, - 11988, - 16037, - 2716, - 14750, - 11749, - 10098, - 12214, - 6126, - 16614, - 15741, - 16372, - 2142, - 10614, - 4850, - 4598, - 17267, - 15211, - 2744, - 374, - 18636, - 1196, - 17498, - 15164, - 15744, - 15378, - 13093, - 11338, - 3061, - 19409, - 7134, - 5377, - 16603, - 5359, - 1869, - 3413, - 4439, - 1783, - 15014, - 2630, - 19781, - 16507, - 5868, - 11025, - 11006, - 18761, - 12842, - 5708, - 4518, - 9130, - 9018, - 2265, - 2667, - 4389, - 19899, - 6214, - 6423, - 18908, - 13465, - 13179, - 11284, - 5908, - 12475, - 13235, - 15922, - 18624, - 14828, - 12835, - 460, - 16420, - 8775, - 3376, - 18962, - 12364, - 9038, - 17280, - 11372, - 1128, - 17641, - 19280, - 14979, - 10042, - 2811, - 755, - 15588, - 13731, - 4357, - 17686, - 3908, - 1641, - 5509, - 17772, - 7788, - 8191, - 10967, - 8781, - 19538, - 10006, - 17670, - 13521, - 6449, - 14136, - 16065, - 9664, - 9835, - 3981, - 752, - 11218, - 6243, - 1741, - 15853, - 6842, - 5313, - 6641, - 5543, - 9216, - 18107, - 19264, - 13799, - 8106, - 15482, - 220, - 3968, - 7870, - 14872, - 14169, - 2607, - 4495, - 1392, - 6682, - 10947, - 9028, - 4503, - 4391, - 16940, - 17006, - 6687, - 10545, - 3199, - 17402, - 15589, - 12234, - 3194, - 5374, - 3872, - 18459, - 17176, - 16724, - 14003, - 14572, - 4346, - 7053, - 12012, - 12991, - 16635, - 16046, - 8906, - 84, - 8957, - 320, - 11628, - 10979, - 894, - 14168, - 8323, - 6147, - 5086, - 7991, - 9120, - 19531, - 2969, - 174, - 3420, - 3490, - 16358, - 8620, - 15737, - 17100, - 17924, - 12926, - 16352, - 15604, - 12710, - 7821, - 18237, - 14673, - 3300, - 14730, - 11670, - 11958, - 14337, - 653, - 13669, - 16555, - 49, - 18022, - 7956, - 3497, - 5421, - 9704, - 16664, - 10712, - 14795, - 17398, - 12168, - 15770, - 333, - 16335, - 11027, - 13607, - 16175, - 1031, - 8571, - 16133, - 14107, - 19527, - 12850, - 14722, - 5498, - 13994, - 7403, - 17619, - 3512, - 6651, - 4788, - 770, - 12009, - 6387, - 8754, - 14672, - 13016, - 19694, - 13686, - 5589, - 10343, - 18563, - 9700, - 14514, - 13041, - 10437, - 1935, - 18521, - 4402, - 6987, - 13137, - 17455, - 10609, - 3052, - 6247, - 15089, - 8748, - 19517, - 6311, - 13115, - 2914, - 16253, - 8675, - 4076, - 19551, - 14244, - 446, - 12895, - 7714, - 18077, - 1977, - 12323, - 15864, - 8403, - 18993, - 9933, - 15894, - 17653, - 10689, - 19569, - 487, - 2416, - 9955, - 17921, - 15102, - 13308, - 6759, - 9220, - 7564, - 13166, - 7372, - 4470, - 7567, - 16157, - 12429, - 436, - 1565, - 14595, - 11446, - 19791, - 14945, - 19041, - 17370, - 10908, - 14571, - 9754, - 19193, - 17899, - 6667, - 17286, - 14583, - 19971, - 401, - 6429, - 12799, - 19794, - 16195, - 8148, - 15662, - 18819, - 16398, - 12498, - 17824, - 5389, - 4482, - 6419, - 18609, - 15956, - 14832, - 12889, - 1812, - 12603, - 3125, - 5778, - 5064, - 13207, - 16432, - 8950, - 18762, - 6917, - 14096, - 10077, - 13061, - 15197, - 1000, - 212, - 19492, - 14831, - 1152, - 2039, - 7836, - 4676, - 18056, - 9878, - 11436, - 2554, - 6749, - 19095, - 12713, - 4909, - 4999, - 650, - 9578, - 12906, - 14580, - 4708, - 13372, - 3359, - 10601, - 14141, - 19818, - 16467, - 11210, - 14102, - 19747, - 6666, - 17888, - 2065, - 222, - 19474, - 1286, - 13452, - 11179, - 9483, - 8482, - 5786, - 2206, - 12352, - 7103, - 11944, - 14562, - 10347, - 4449, - 18397, - 18623, - 5871, - 11195, - 6727, - 4332, - 3102, - 5169, - 6286, - 16074, - 7184, - 16489, - 14597, - 1747, - 6886, - 16067, - 8980, - 9070, - 17388, - 16458, - 6002, - 8159, - 11370, - 18895, - 16459, - 3544, - 11283, - 5850, - 6753, - 12739, - 10976, - 17524, - 2383, - 3496, - 14050, - 7355, - 7465, - 8617, - 6343, - 1153, - 17743, - 6190, - 12700, - 5764, - 13396, - 18206, - 7929, - 13426, - 4241, - 11993, - 19683, - 3857, - 2929, - 4136, - 5039, - 15694, - 14782, - 13832, - 13512, - 5394, - 5444, - 346, - 5323, - 10808, - 8308, - 9008, - 13331, - 10068, - 12956, - 19433, - 11709, - 16864, - 16356, - 17326, - 13327, - 18296, - 3118, - 17139, - 11242, - 10007, - 16018, - 1436, - 13966, - 15216, - 16503, - 10697, - 1108, - 14326, - 11693, - 13053, - 3004, - 647, - 15105, - 9606, - 720, - 18645, - 12664, - 17061, - 7287, - 7275, - 7612, - 11367, - 14463, - 17716, - 15909, - 17944, - 3690, - 18953, - 19914, - 10758, - 9634, - 11503, - 5531, - 17922, - 7693, - 10836, - 17951, - 3100, - 11258, - 16996, - 5437, - 5534, - 13094, - 17492, - 17843, - 16624, - 17682, - 13193, - 13761, - 14405, - 16479, - 12583, - 8823, - 19096, - 6868, - 19748, - 9558, - 3201, - 396, - 14068, - 2683, - 11222, - 17394, - 11126, - 18571, - 11180, - 4299, - 9339, - 14422, - 10874, - 3115, - 18125, - 9373, - 7957, - 11897, - 4157, - 9542, - 1365, - 11966, - 14526, - 17095, - 1743, - 4081, - 9699, - 2848, - 14956, - 19800, - 475, - 13377, - 19103, - 14263, - 19450, - 14259, - 12665, - 13629, - 397, - 5011, - 18287, - 1480, - 15840, - 10325, - 3649, - 15166, - 18822, - 12325, - 17384, - 1380, - 6183, - 12189, - 11970, - 3107, - 17156, - 14531, - 8088, - 3249, - 3452, - 17372, - 6255, - 11996, - 2493, - 11264, - 17283, - 1580, - 11227, - 2419, - 6374, - 13138, - 15697, - 19418, - 18129, - 11390, - 8538, - 4690, - 14258, - 18719, - 15182, - 16130, - 15475, - 19186, - 14718, - 5244, - 1818, - 7119, - 1530, - 6547, - 8640, - 7640, - 2907, - 19498, - 12857, - 7648, - 1997, - 18084, - 874, - 4914, - 18501, - 16312, - 9695, - 17303, - 4383, - 12040, - 16217, - 17947, - 13002, - 4635, - 1694, - 7942, - 18150, - 15648, - 5757, - 16807, - 15542, - 17993, - 15252, - 9903, - 13510, - 16627, - 5340, - 14669, - 10825, - 12554, - 17148, - 9074, - 14914, - 12172, - 7522, - 4639, - 10380, - 4600, - 16484, - 3275, - 3668, - 8879, - 12964, - 18673, - 9129, - 9788, - 1444, - 5768, - 12224, - 3045, - 1127, - 12561, - 17366, - 1259, - 18996, - 5292, - 16550, - 7917, - 13523, - 737, - 15391, - 9988, - 7811, - 17886, - 11928, - 16857, - 2731, - 1758, - 17727, - 3742, - 17820, - 7711, - 8481, - 1485, - 19916, - 19395, - 12719, - 2694, - 11659, - 6877, - 8281, - 16226, - 4188, - 2791, - 7143, - 3763, - 8298, - 123, - 16542, - 3998, - 13076, - 7320, - 18466, - 3614, - 15119, - 164, - 10318, - 13475, - 5710, - 4105, - 6132, - 6016, - 4063, - 12420, - 14109, - 2594, - 5119, - 16806, - 17910, - 4364, - 10392, - 3064, - 10635, - 17548, - 19371, - 3600, - 11362, - 7460, - 2430, - 19544, - 5353, - 16153, - 13091, - 14837, - 5687, - 19636, - 19425, - 1499, - 9322, - 12698, - 14116, - 4805, - 18514, - 2590, - 10249, - 11411, - 3925, - 3429, - 696, - 10907, - 7343, - 15849, - 2987, - 7607, - 17969, - 9911, - 10770, - 4434, - 4490, - 1280, - 10817, - 4832, - 12647, - 12039, - 13438, - 15087, - 19595, - 6680, - 981, - 7455, - 11647, - 2320, - 6852, - 16904, - 5495, - 2942, - 14407, - 12250, - 8179, - 1893, - 7764, - 5914, - 17762, - 9533, - 10958, - 8411, - 11486, - 16789, - 18119, - 1402, - 1642, - 17057, - 10680, - 140, - 18098, - 16695, - 8589, - 3054, - 6659, - 18288, - 17183, - 4349, - 7270, - 17701, - 2671, - 3675, - 18218, - 9204, - 1535, - 1267, - 1400, - 3779, - 4293, - 17700, - 18855, - 11197, - 13333, - 10977, - 9980, - 2982, - 19992, - 13519, - 2125, - 3155, - 3197, - 9621, - 8540, - 9950, - 15030, - 1636, - 19765, - 4131, - 14016, - 8065, - 5542, - 8517, - 12176, - 6385, - 19647, - 8021, - 11445, - 828, - 8779, - 15121, - 6553, - 413, - 17849, - 7146, - 9766, - 18697, - 8925, - 17416, - 10600, - 10108, - 6037, - 8231, - 95, - 6334, - 2867, - 10859, - 17778, - 3091, - 11186, - 2268, - 13642, - 16244, - 16586, - 9285, - 13302, - 12362, - 6549, - 19684, - 14424, - 9361, - 7079, - 9868, - 1766, - 16363, - 18999, - 8583, - 9177, - 4177, - 9061, - 19702, - 7075, - 2827, - 11674, - 10470, - 13421, - 16083, - 15881, - 13001, - 7065, - 17525, - 8899, - 4965, - 17389, - 11960, - 9163, - 8054, - 14399, - 10497, - 2066, - 9690, - 6487, - 17352, - 13024, - 8700, - 9970, - 3680, - 1588, - 10260, - 18724, - 10705, - 8802, - 13825, - 14804, - 5167, - 13020, - 8900, - 19153, - 14012, - 3653, - 2527, - 2917, - 105, - 7421, - 5690, - 3057, - 5310, - 17900, - 8557, - 17614, - 6055, - 12898, - 5084, - 6810, - 4772, - 5325, - 16475, - 4271, - 12727, - 9841, - 2897, - 3822, - 3868, - 18130, - 7434, - 5571, - 2526, - 18843, - 16500, - 12589, - 6876, - 14901, - 19771, - 15217, - 14512, - 11948, - 4631, - 16511, - 2551, - 12274, - 12648, - 4564, - 6097, - 3409, - 19888, - 3964, - 3855, - 1727, - 16477, - 909, - 7334, - 19565, - 16707, - 4265, - 15710, - 14441, - 5427, - 8178, - 14656, - 19563, - 17753, - 15132, - 16316, - 456, - 17236, - 9326, - 2302, - 12404, - 14446, - 11633, - 9196, - 7248, - 11279, - 14279, - 19198, - 168, - 293, - 7230, - 5795, - 8267, - 6896, - 2849, - 2422, - 4994, - 11035, - 14687, - 10013, - 10327, - 7684, - 15766, - 9201, - 5281, - 12138, - 14466, - 9183, - 3262, - 806, - 11886, - 17325, - 13537, - 5993, - 6556, - 2489, - 6874, - 17130, - 10819, - 16802, - 125, - 12171, - 11103, - 17211, - 10904, - 8991, - 17255, - 13722, - 10634, - 4206, - 940, - 8636, - 11123, - 6051, - 550, - 13031, - 991, - 1049, - 16193, - 8109, - 12978, - 11768, - 15880, - 13580, - 12023, - 2502, - 8898, - 12480, - 16881, - 12764, - 16469, - 6948, - 6982, - 15768, - 9348, - 19889, - 7516, - 8927, - 10698, - 552, - 2614, - 18220, - 19203, - 19648, - 12853, - 11593, - 5397, - 5106, - 16927, - 18618, - 14433, - 6181, - 9121, - 3986, - 701, - 10302, - 3427, - 15593, - 4665, - 16305, - 2698, - 10835, - 18350, - 4663, - 4560, - 13846, - 16837, - 3590, - 2746, - 8575, - 17059, - 6821, - 5052, - 12903, - 2161, - 10445, - 9356, - 86, - 15717, - 18998, - 5556, - 3541, - 11194, - 5212, - 3212, - 78, - 3564, - 18639, - 7241, - 1048, - 13831, - 1787, - 2212, - 18271, - 6775, - 4707, - 13019, - 7839, - 10541, - 6988, - 9337, - 1891, - 13380, - 6004, - 12206, - 17047, - 159, - 791, - 15078, - 16314, - 18283, - 2802, - 15728, - 10329, - 4810, - 488, - 5608, - 11418, - 11846, - 4703, - 788, - 18986, - 6115, - 5985, - 8943, - 14942, - 10338, - 11188, - 3695, - 18086, - 400, - 675, - 390, - 4642, - 7862, - 8806, - 15367, - 1954, - 205, - 1308, - 7291, - 17854, - 3477, - 14479, - 14467, - 2366, - 9236, - 14486, - 15620, - 10716, - 15402, - 17220, - 4971, - 3806, - 19127, - 14732, - 8938, - 16436, - 17126, - 18735, - 17715, - 14880, - 4182, - 350, - 14128, - 1705, - 15502, - 10917, - 5802, - 2246, - 5010, - 14778, - 12601, - 14920, - 15489, - 2013, - 19175, - 18786, - 4502, - 7659, - 5602, - 18513, - 8796, - 18680, - 3701, - 10854, - 13363, - 8759, - 9535, - 7873, - 7557, - 5071, - 1944, - 10895, - 9312, - 6850, - 200, - 2092, - 15586, - 18846, - 6930, - 14447, - 4313, - 9321, - 19091, - 17354, - 319, - 6832, - 12239, - 2644, - 10525, - 4647, - 9636, - 8264, - 16298, - 8964, - 15920, - 15227, - 9638, - 2516, - 278, - 8867, - 16570, - 15075, - 7222, - 10155, - 2262, - 15941, - 3027, - 17970, - 5046, - 7891, - 1360, - 1091, - 13617, - 14814, - 10608, - 16261, - 836, - 15250, - 11439, - 16410, - 7692, - 14190, - 13639, - 14733, - 6804, - 6995, - 8014, - 12488, - 17675, - 9463, - 9092, - 4175, - 15769, - 3638, - 2104, - 2168, - 8315, - 8327, - 8027, - 12465, - 13460, - 12821, - 1256, - 5932, - 14243, - 19012, - 5115, - 8565, - 13982, - 3318, - 11550, - 13548, - 8204, - 18338, - 10200, - 14876, - 3874, - 10173, - 7026, - 10117, - 11642, - 14885, - 2158, - 3552, - 8742, - 7469, - 19808, - 8233, - 9362, - 14926, - 2064, - 19638, - 16895, - 6246, - 14953, - 606, - 10463, - 15114, - 5367, - 4172, - 7598, - 7125, - 4987, - 13211, - 98, - 16581, - 5188, - 5402, - 10489, - 17515, - 7641, - 15464, - 19151, - 3781, - 2909, - 1751, - 5962, - 14329, - 13921, - 11744, - 6404, - 12868, - 18976, - 13439, - 17589, - 8528, - 7155, - 15578, - 6523, - 10570, - 7613, - 8843, - 18403, - 3020, - 12120, - 17087, - 12798, - 11584, - 17652, - 1548, - 7164, - 15990, - 3576, - 9109, - 7710, - 4344, - 12351, - 4079, - 12191, - 7756, - 14776, - 4990, - 17628, - 13298, - 5748, - 2810, - 8808, - 17879, - 10128, - 16197, - 15585, - 6593, - 5396, - 4089, - 19033, - 14075, - 10957, - 13186, - 14707, - 4451, - 13217, - 18595, - 17355, - 13188, - 2346, - 10149, - 19242, - 2497, - 12268, - 18767, - 12483, - 16654, - 15827, - 6597, - 4516, - 7585, - 9604, - 18547, - 16994, - 2640, - 5213, - 6758, - 6320, - 16216, - 11867, - 7979, - 3078, - 7987, - 13164, - 7217, - 6851, - 7028, - 688, - 8407, - 4160, - 14805, - 9042, - 1722, - 10253, - 19606, - 7378, - 727, - 2543, - 18550, - 17502, - 12159, - 18126, - 2676, - 18640, - 14235, - 3395, - 14284, - 9734, - 18091, - 11527, - 2678, - 2307, - 18303, - 3086, - 3550, - 2055, - 11061, - 1776, - 12433, - 1438, - 4825, - 11337, - 15185, - 10141, - 746, - 8067, - 16039, - 16876, - 13625, - 2949, - 12571, - 15708, - 17643, - 7037, - 8931, - 16530, - 3223, - 11973, - 19625, - 52, - 12658, - 16302, - 3013, - 19814, - 13892, - 15063, - 19005, - 11151, - 2850, - 8147, - 17717, - 19807, - 11752, - 7765, - 160, - 16568, - 2048, - 99, - 902, - 10928, - 4309, - 2695, - 11381, - 2890, - 10863, - 7858, - 9176, - 1415, - 2588, - 8869, - 1180, - 18970, - 1502, - 3158, - 18048, - 11473, - 5351, - 8662, - 5449, - 8069, - 5175, - 4115, - 11597, - 2052, - 2922, - 17411, - 6030, - 16723, - 11108, - 6375, - 2139, - 4995, - 10577, - 948, - 14451, - 6895, - 7820, - 1319, - 852, - 4601, - 9208, - 1606, - 5834, - 9127, - 15606, - 17875, - 19083, - 2084, - 6527, - 4016, - 2641, - 13178, - 6472, - 14015, - 14110, - 925, - 13581, - 3097, - 14402, - 8568, - 14134, - 11635, - 7141, - 13535, - 2605, - 16779, - 9105, - 15899, - 17459, - 2021, - 19796, - 17314, - 19616, - 5649, - 13185, - 11055, - 10393, - 4808, - 10389, - 3889, - 9846, - 11656, - 10097, - 5409, - 7981, - 11843, - 18246, - 18821, - 11522, - 12577, - 13910, - 9992, - 9228, - 3833, - 5443, - 4368, - 17851, - 10096, - 146, - 5083, - 17409, - 11430, - 10688, - 4294, - 7644, - 4190, - 9934, - 10654, - 17923, - 5793, - 5179, - 11326, - 14489, - 6278, - 10439, - 4985, - 13924, - 13497, - 18753, - 17240, - 900, - 3624, - 5129, - 14481, - 2488, - 7416, - 5413, - 9739, - 18524, - 9649, - 15810, - 4221, - 17987, - 7207, - 14634, - 15998, - 4661, - 2007, - 16618, - 12645, - 9975, - 18306, - 17625, - 10773, - 4394, - 4777, - 13643, - 14888, - 9239, - 18406, - 3479, - 13057, - 1475, - 747, - 17235, - 6508, - 6052, - 5865, - 5959, - 19525, - 12765, - 17629, - 14448, - 8769, - 4933, - 8430, - 3715, - 10719, - 14488, - 6406, - 13929, - 15994, - 9410, - 2470, - 5021, - 13775, - 18118, - 1337, - 598, - 12500, - 19434, - 11682, - 14181, - 3153, - 7803, - 1422, - 6949, - 1684, - 19308, - 11905, - 3793, - 11494, - 6411, - 17377, - 12026, - 1257, - 11357, - 3873, - 4418, - 7552, - 11741, - 9454, - 15689, - 12055, - 15803, - 12800, - 16087, - 13177, - 17438, - 7180, - 4191, - 14943, - 10803, - 17842, - 18011, - 12921, - 15454, - 14633, - 19363, - 365, - 12618, - 7166, - 6322, - 2859, - 1204, - 9230, - 16534, - 3578, - 19071, - 14586, - 19849, - 13918, - 9796, - 15806, - 1718, - 11308, - 1448, - 4061, - 5557, - 1927, - 9747, - 2538, - 1346, - 16812, - 13798, - 14584, - 11796, - 4135, - 1207, - 9526, - 7398, - 15246, - 17767, - 12833, - 7326, - 8750, - 3022, - 17966, - 181, - 5659, - 4214, - 2260, - 15507, - 16901, - 5051, - 4693, - 7157, - 11569, - 19466, - 9113, - 7530, - 6792, - 13601, - 13392, - 19536, - 10188, - 8786, - 15861, - 13222, - 590, - 16765, - 14970, - 17522, - 10152, - 11690, - 10726, - 1208, - 12028, - 4697, - 7170, - 10236, - 5851, - 1093, - 18954, - 19027, - 16648, - 2964, - 3274, - 11532, - 14131, - 4185, - 2911, - 11341, - 5960, - 8650, - 6744, - 18491, - 11352, - 13307, - 17309, - 702, - 16800, - 11228, - 7441, - 5305, - 11591, - 9422, - 18677, - 170, - 1490, - 11689, - 14174, - 9964, - 17378, - 19455, - 13949, - 18311, - 11941, - 4768, - 1988, - 14508, - 14834, - 6628, - 16, - 8495, - 18854, - 14093, - 19827, - 7514, - 17037, - 10659, - 710, - 11726, - 16751, - 19820, - 9676, - 15184, - 17940, - 17192, - 9866, - 4414, - 12033, - 9505, - 18802, - 2626, - 19984, - 4213, - 3096, - 14265, - 2328, - 17322, - 11837, - 17396, - 5844, - 13804, - 3247, - 19370, - 9212, - 4340, - 18630, - 5563, - 13161, - 15179, - 2826, - 15304, - 12233, - 3671, - 12294, - 17595, - 13284, - 12106, - 9541, - 11508, - 12419, - 15596, - 10229, - 4513, - 5477, - 1440, - 8112, - 18058, - 19743, - 4323, - 14712, - 769, - 12321, - 18217, - 16165, - 12829, - 7841, - 6492, - 9017, - 1850, - 41, - 16387, - 2661, - 2472, - 11766, - 4443, - 4783, - 16091, - 13104, - 19074, - 11876, - 2353, - 19486, - 1514, - 1193, - 19499, - 3733, - 15476, - 1223, - 6182, - 11294, - 17356, - 6195, - 734, - 6095, - 13210, - 17408, - 4101, - 3581, - 9584, - 2218, - 14713, - 17421, - 14581, - 8349, - 15851, - 14031, - 16162, - 5250, - 9954, - 15985, - 3294, - 16594, - 19621, - 14119, - 3946, - 17091, - 9044, - 12243, - 9013, - 16808, - 15317, - 216, - 6110, - 7204, - 1617, - 9904, - 11327, - 19549, - 9773, - 9219, - 10666, - 19446, - 15007, - 6206, - 2934, - 16048, - 9617, - 12127, - 14321, - 14171, - 17913, - 18201, - 16128, - 4083, - 6738, - 8686, - 3163, - 1240, - 2847, - 6462, - 17644, - 856, - 9675, - 14644, - 15814, - 1995, - 5833, - 1532, - 15365, - 17998, - 18137, - 19421, - 14029, - 11466, - 19397, - 3471, - 407, - 45, - 6603, - 19260, - 4500, - 13571, - 12175, - 17008, - 12384, - 13263, - 7132, - 15332, - 1822, - 16861, - 12532, - 1816, - 3335, - 5256, - 11658, - 11553, - 13957, - 11274, - 11133, - 11534, - 17570, - 7186, - 4385, - 2997, - 6927, - 7584, - 19140, - 10458, - 5784, - 10319, - 2274, - 19089, - 348, - 8294, - 16466, - 11797, - 17216, - 10529, - 9917, - 17764, - 13371, - 7861, - 5963, - 16984, - 2251, - 8335, - 9923, - 3745, - 2901, - 8975, - 3566, - 557, - 14927, - 13504, - 2345, - 17273, - 18553, - 16852, - 6425, - 18226, - 2707, - 1761, - 591, - 3183, - 7555, - 1134, - 19124, - 18871, - 10619, - 12484, - 6669, - 10783, - 18961, - 8989, - 15701, - 2773, - 7462, - 4555, - 4812, - 11307, - 7589, - 14240, - 391, - 7716, - 1019, - 12258, - 13005, - 14211, - 9515, - 177, - 13636, - 14327, - 4729, - 1184, - 2075, - 7924, - 213, - 3254, - 2426, - 5132, - 8642, - 3777, - 14217, - 17330, - 10060, - 4255, - 5599, - 16123, - 2192, - 12643, - 13990, - 3090, - 11783, - 7138, - 18394, - 9047, - 10894, - 6196, - 16457, - 16132, - 7317, - 15656, - 2555, - 18359, - 1659, - 393, - 10301, - 12619, - 2860, - 11144, - 5554, - 13862, - 15316, - 11662, - 17295, - 845, - 17381, - 17666, - 4738, - 13075, - 4139, - 19982, - 5489, - 13400, - 19793, - 14080, - 246, - 14913, - 6723, - 12222, - 15903, - 17582, - 4041, - 11241, - 15680, - 5510, - 2799, - 16528, - 16525, - 9052, - 13599, - 10433, - 8319, - 2553, - 11492, - 11538, - 16788, - 5902, - 7472, - 8717, - 16413, - 14462, - 583, - 4273, - 15354, - 3055, - 18531, - 1387, - 13180, - 12047, - 1178, - 8633, - 4448, - 30, - 1390, - 19246, - 17571, - 17834, - 13608, - 2252, - 3030, - 9564, - 12422, - 12179, - 12760, - 8664, - 9804, - 14719, - 496, - 14484, - 18298, - 8156, - 7369, - 15993, - 6302, - 17403, - 11616, - 1811, - 14223, - 17549, - 6837, - 7542, - 18704, - 5991, - 7722, - 2173, - 12629, - 442, - 18668, - 6034, - 19548, - 6227, - 18364, - 1395, - 15783, - 2152, - 9705, - 13899, - 16871, - 12805, - 14620, - 15004, - 1206, - 5804, - 16279, - 2384, - 2993, - 8141, - 2960, - 10679, - 8724, - 7097, - 19428, - 7749, - 16824, - 18227, - 14056, - 14434, - 7605, - 12396, - 15760, - 4184, - 18390, - 8861, - 15214, - 16099, - 7093, - 11623, - 15226, - 687, - 19921, - 12282, - 10537, - 6644, - 1110, - 16602, - 15521, - 6707, - 9226, - 17771, - 17200, - 15264, - 3755, - 1109, - 3950, - 7553, - 1901, - 2740, - 14559, - 4198, - 19946, - 3402, - 7872, - 7953, - 18134, - 8747, - 6801, - 14909, - 1571, - 14322, - 17331, - 4468, - 2714, - 8064, - 3489, - 12780, - 18710, - 11887, - 4077, - 13432, - 13133, - 6370, - 19400, - 9650, - 8688, - 10035, - 1122, - 5322, - 19291, - 4202, - 5618, - 19879, - 11731, - 11121, - 7523, - 4528, - 6123, - 7802, - 5809, - 1253, - 5629, - 7282, - 7214, - 7431, - 1181, - 7575, - 2049, - 4717, - 6269, - 2316, - 16923, - 11462, - 13653, - 66, - 8766, - 4841, - 6811, - 9899, - 3885, - 18436, - 39, - 6907, - 4216, - 15191, - 13619, - 16662, - 10025, - 12400, - 1627, - 7525, - 8602, - 1307, - 4331, - 9685, - 14735, - 13597, - 4984, - 5776, - 14342, - 4651, - 15505, - 9740, - 4452, - 8613, - 12196, - 8521, - 14383, - 14352, - 11004, - 15906, - 17458, - 6203, - 17063, - 3731, - 7604, - 16224, - 14715, - 9780, - 6609, - 8368, - 4106, - 3548, - 15379, - 2444, - 19692, - 17137, - 700, - 7443, - 942, - 14815, - 18580, - 13296, - 1570, - 8135, - 15172, - 2452, - 11230, - 3747, - 7823, - 16397, - 8580, - 15074, - 19871, - 88, - 13919, - 14461, - 10258, - 2547, - 6945, - 3196, - 8063, - 890, - 16522, - 5408, - 107, - 7066, - 17466, - 4903, - 1373, - 7632, - 13858, - 17930, - 6485, - 2653, - 16062, - 11161, - 11512, - 9884, - 17445, - 8280, - 4390, - 17456, - 5711, - 7364, - 2089, - 5949, - 679, - 16641, - 11549, - 8647, - 10733, - 18754, - 8855, - 18432, - 13569, - 6623, - 10157, - 11104, - 1284, - 9809, - 6295, - 1730, - 13150, - 11626, - 4887, - 14797, - 6800, - 10952, - 8108, - 6526, - 4915, - 18417, - 19783, - 19254, - 13370, - 5759, - 4885, - 16282, - 12090, - 15099, - 12960, - 6347, - 6337, - 2981, - 13282, - 19767, - 4694, - 4161, - 6155, - 18920, - 8657, - 5640, - 4108, - 15155, - 12509, - 10882, - 7507, - 10163, - 6598, - 8499, - 15027, - 104, - 16639, - 6193, - 10641, - 18452, - 7959, - 1701, - 4415, - 17750, - 2230, - 13135, - 6619, - 5552, - 963, - 13816, - 15427, - 2561, - 15309, - 4989, - 5532, - 13728, - 14936, - 15973, - 14868, - 2660, - 12627, - 2677, - 7753, - 12213, - 2514, - 8883, - 2164, - 15123, - 8928, - 8085, - 19322, - 9416, - 10964, - 8690, - 7174, - 13492, - 15187, - 18838, - 17371, - 1878, - 5315, - 19812, - 5883, - 14649, - 13335, - 3992, - 5460, - 6867, - 9680, - 19547, - 7113, - 17563, - 8625, - 6049, - 10804, - 19950, - 761, - 12302, - 10419, - 2645, - 4508, - 9530, - 11536, - 18512, - 9006, - 11438, - 14418, - 10395, - 2222, - 8206, - 9948, - 6898, - 17784, - 12161, - 3168, - 9813, - 5654, - 3152, - 1929, - 5919, - 2141, - 19846, - 19106, - 6148, - 10041, - 19779, - 4826, - 11680, - 4024, - 7634, - 3164, - 361, - 10588, - 1016, - 62, - 7203, - 2687, - 4780, - 9327, - 10368, - 1640, - 11718, - 16166, - 8834, - 7002, - 5593, - 789, - 4199, - 9814, - 18763, - 3029, - 4038, - 423, - 17585, - 17847, - 5745, - 3264, - 6199, - 19331, - 5361, - 19613, - 9844, - 6169, - 16159, - 4056, - 9128, - 2466, - 8515, - 4404, - 14130, - 7395, - 15338, - 18750, - 1209, - 7723, - 6569, - 2239, - 7478, - 3924, - 18345, - 17170, - 7313, - 17837, - 7963, - 7658, - 18316, - 11650, - 16482, - 10685, - 2155, - 4498, - 11676, - 7593, - 18654, - 14721, - 17615, - 149, - 5232, - 6807, - 3236, - 19660, - 9468, - 17106, - 9173, - 12005, - 15012, - 13245, - 2665, - 7664, - 7649, - 3095, - 4942, - 14694, - 14303, - 12200, - 7436, - 5652, - 12795, - 18601, - 13570, - 2281, - 3390, - 15019, - 8652, - 4894, - 10778, - 603, - 5579, - 15220, - 2041, - 10667, - 4378, - 8393, - 9532, - 12487, - 15193, - 15441, - 1554, - 19772, - 11590, - 2613, - 8924, - 3482, - 3688, - 4900, - 13248, - 12761, - 3440, - 19860, - 14738, - 10877, - 1839, - 18803, - 4377, - 19320, - 1909, - 5091, - 11791, - 10404, - 15513, - 4239, - 19896, - 10968, - 259, - 12745, - 16758, - 8291, - 8835, - 7965, - 2710, - 12772, - 16243, - 12326, - 8245, - 2879, - 7766, - 15294, - 15642, - 281, - 19723, - 230, - 4080, - 7043, - 15754, - 9602, - 17171, - 6962, - 7279, - 514, - 7295, - 5500, - 9600, - 14301, - 11276, - 14674, - 17144, - 18231, - 13793, - 19293, - 8115, - 2540, - 4535, - 3572, - 4261, - 1460, - 16999, - 10771, - 9310, - 1249, - 9383, - 6224, - 11387, - 17015, - 9728, - 5700, - 55, - 12134, - 16262, - 18161, - 12874, - 9586, - 8996, - 2720, - 6692, - 13415, - 9057, - 9418, - 11371, - 9807, - 18037, - 9320, - 13716, - 12147, - 4785, - 8041, - 9601, - 8059, - 4242, - 11541, - 11044, - 6803, - 11961, - 12896, - 7671, - 17737, - 10336, - 19191, - 16517, - 4596, - 4771, - 16070, - 15822, - 10346, - 5210, - 1849, - 11637, - 9444, - 15218, - 4798, - 14544, - 14985, - 16768, - 11016, - 14613, - 870, - 5230, - 13861, - 18332, - 12547, - 6245, - 19261, - 6364, - 19735, - 19253, - 17234, - 11442, - 4315, - 1, - 13604, - 13906, - 974, - 18262, - 985, - 14019, - 16855, - 2153, - 6050, - 13802, - 9492, - 9430, - 565, - 7579, - 14095, - 9417, - 6410, - 3462, - 18500, - 10316, - 16338, - 7160, - 13467, - 15671, - 11105, - 13902, - 16152, - 6538, - 2012, - 10158, - 14890, - 3622, - 130, - 1911, - 8030, - 17665, - 10366, - 16513, - 9056, - 9118, - 10237, - 7920, - 9582, - 7370, - 17550, - 19305, - 14179, - 1430, - 19216, - 9314, - 13543, - 6769, - 13683, - 4829, - 18717, - 10953, - 15893, - 9984, - 11206, - 7121, - 3053, - 3887, - 19152, - 1025, - 14998, - 14098, - 15562, - 4702, - 1254, - 2166, - 13713, - 7718, - 19401, - 12877, - 6118, - 10520, - 1529, - 15683, - 15163, - 16645, - 27, - 12316, - 15669, - 138, - 13917, - 17567, - 9966, - 4237, - 7365, - 6520, - 2243, - 8669, - 9488, - 12609, - 10546, - 19604, - 6544, - 9720, - 19093, - 11102, - 8423, - 19722, - 15436, - 2631, - 15456, - 9395, - 14105, - 10865, - 11181, - 4044, - 6036, - 2029, - 4195, - 132, - 549, - 14032, - 14409, - 10514, - 10211, - 12699, - 6275, - 18502, - 9392, - 67, - 1146, - 19543, - 7061, - 6145, - 9371, - 16252, - 6901, - 16941, - 18025, - 13974, - 10485, - 19789, - 8995, - 19132, - 2689, - 2838, - 5308, - 19852, - 18493, - 5603, - 8357, - 9123, - 19272, - 1310, - 15293, - 5163, - 1459, - 4804, - 5767, - 5099, - 11562, - 3726, - 1768, - 15706, - 10310, - 1979, - 12148, - 19961, - 15515, - 7848, - 2289, - 10572, - 11705, - 13852, - 15355, - 8113, - 9999, - 11517, - 13143, - 12775, - 1033, - 3307, - 954, - 9268, - 16660, - 16656, - 10765, - 15257, - 14796, - 17448, - 11580, - 15757, - 13338, - 16710, - 18488, - 10723, - 12910, - 14990, - 17556, - 11232, - 19453, - 15435, - 10240, - 9783, - 621, - 7379, - 7565, - 1455, - 2742, - 255, - 4945, - 5285, - 10965, - 458, - 8283, - 11959, - 19838, - 4043, - 8203, - 6739, - 2851, - 9179, - 6668, - 377, - 16846, - 15299, - 2857, - 3422, - 17285, - 14551, - 3669, - 4256, - 8282, - 9972, - 8912, - 19588, - 14981, - 16902, - 17019, - 9624, - 3156, - 13977, - 2441, - 5499, - 5886, - 1603, - 1941, - 723, - 17562, - 10509, - 3041, - 1117, - 6671, - 10653, - 17390, - 15587, - 17437, - 7781, - 18169, - 18115, - 866, - 764, - 5633, - 12184, - 9615, - 4029, - 9875, - 10676, - 6192, - 7960, - 16275, - 4787, - 15739, - 15838, - 12885, - 6284, - 17166, - 14162, - 4085, - 4053, - 12050, - 5342, - 13933, - 551, - 14077, - 15553, - 10755, - 6509, - 15279, - 8810, - 13909, - 12633, - 5680, - 10606, - 4689, - 3764, - 16360, - 19183, - 16787, - 1442, - 12747, - 4253, - 4027, - 6539, - 10677, - 15996, - 304, - 9994, - 13752, - 579, - 16122, - 7038, - 6634, - 7772, - 1855, - 18594, - 12099, - 14034, - 16946, - 9218, - 6452, - 14438, - 13278, - 12866, - 5770, - 17365, - 18434, - 14623, - 6587, - 917, - 4015, - 13900, - 12955, - 12382, - 8929, - 858, - 15561, - 17880, - 888, - 4655, - 353, - 12307, - 16126, - 2340, - 10761, - 19819, - 12929, - 4765, - 6694, - 16483, - 5017, - 14907, - 4463, - 933, - 4649, - 11723, - 18785, - 19365, - 14036, - 10843, - 9091, - 11034, - 4051, - 8104, - 16118, - 14201, - 3303, - 8456, - 9197, - 19970, - 16024, - 13034, - 17709, - 15914, - 15165, - 10454, - 13306, - 11800, - 9413, - 15858, - 1875, - 11835, - 15183, - 11300, - 2282, - 6557, - 9497, - 13454, - 12236, - 16176, - 15377, - 17932, - 5506, - 18526, - 129, - 14900, - 7118, - 13401, - 9726, - 10810, - 5401, - 16110, - 17162, - 16235, - 4504, - 13980, - 5947, - 14657, - 15196, - 13539, - 9108, - 4173, - 18445, - 8562, - 1732, - 13944, - 4855, - 19415, - 12932, - 989, - 6951, - 18779, - 19774, - 11925, - 19897, - 12790, - 19573, - 15831, - 19031, - 10772, - 3140, - 18232, - 9722, - 19666, - 7674, - 14819, - 7947, - 8347, - 16546, - 1294, - 7464, - 13226, - 15241, - 19757, - 12421, - 4129, - 15688, - 15319, - 7754, - 13365, - 4925, - 6513, - 3277, - 10643, - 17673, - 4369, - 16098, - 2473, - 5799, - 10349, - 13297, - 9534, - 18139, - 10558, - 5297, - 5284, - 6242, - 11065, - 1179, - 5431, - 198, - 16395, - 3571, - 3520, - 3641, - 19348, - 11854, - 13513, - 3478, - 11355, - 11922, - 11419, - 5138, - 7774, - 1601, - 16345, - 16265, - 7682, - 9768, - 7597, - 19100, - 19985, - 1719, - 6750, - 7595, - 72, - 2176, - 1371, - 19507, - 9279, - 16574, - 9476, - 16767, - 6355, - 18950, - 10293, - 9227, - 9969, - 10730, - 18308, - 13320, - 2400, - 10521, - 12543, - 17976, - 3519, - 13663, - 14452, - 7405, - 13864, - 15780, - 7088, - 18202, - 9677, - 1551, - 2872, - 399, - 16537, - 501, - 622, - 7078, - 508, - 11124, - 10982, - 13047, - 2717, - 7375, - 8254, - 2059, - 12261, - 10082, - 18268, - 8819, - 880, - 18942, - 16264, - 10219, - 972, - 11540, - 8877, - 16442, - 3071, - 6730, - 9772, - 12270, - 13433, - 929, - 13325, - 12776, - 14145, - 4266, - 9821, - 1140, - 139, - 7789, - 12947, - 847, - 2951, - 2494, - 10984, - 4970, - 9289, - 13328, - 4060, - 1388, - 16073, - 6979, - 13165, - 8559, - 4409, - 17839, - 9318, - 2082, - 7233, - 2886, - 18346, - 10742, - 6421, - 17609, - 18318, - 10373, - 19337, - 5383, - 427, - 10124, - 12218, - 9282, - 1176, - 6965, - 4882, - 11304, - 12880, - 10568, - 10080, - 10591, - 9491, - 19130, - 14269, - 11927, - 19032, - 4134, - 16403, - 3325, - 6533, - 10438, - 3405, - 4456, - 18872, - 1154, - 17607, - 7070, - 2487, - 3841, - 14123, - 5820, - 8598, - 1558, - 5038, - 6866, - 6756, - 15001, - 9585, - 1721, - 1522, - 15398, - 19445, - 64, - 8476, - 977, - 6510, - 19160, - 2108, - 14247, - 743, - 3840, - 6158, - 6977, - 36, - 1786, - 18223, - 14206, - 857, - 18210, - 2171, - 1609, - 11091, - 12987, - 7887, - 12041, - 13578, - 4947, - 17905, - 4254, - 19705, - 14371, - 19865, - 1357, - 18685, - 10750, - 7284, - 536, - 13925, - 10678, - 11820, - 17304, - 13049, - 9344, - 19656, - 7506, - 16796, - 15135, - 15280, - 6640, - 7992, - 18266, - 978, - 11618, - 7994, - 891, - 8606, - 1030, - 8209, - 10902, - 12579, - 7968, - 5214, - 3279, - 3269, - 5561, - 1492, - 19330, - 6613, - 14681, - 14111, - 8827, - 12819, - 11496, - 13424, - 10691, - 11884, - 18087, - 4674, - 8944, - 12521, - 14813, - 4362, - 11271, - 7046, - 16748, - 6100, - 19099, - 18449, - 5452, - 18579, - 16916, - 9861, - 14758, - 2194, - 2930, - 14387, - 16208, - 8196, - 19825, - 4828, - 2834, - 5378, - 16975, - 14716, - 5172, - 4934, - 15746, - 9467, - 18653, - 1309, - 15520, - 16822, - 16650, - 8377, - 13792, - 8111, - 14755, - 691, - 19731, - 14973, - 10205, - 3200, - 5368, - 13110, - 9015, - 12324, - 568, - 19654, - 17440, - 6249, - 19113, - 7643, - 7013, - 9304, - 12096, - 17000, - 2830, - 11543, - 19745, - 1383, - 3037, - 2220, - 16665, - 584, - 4144, - 13656, - 16013, - 13658, - 1685, - 18849, - 7842, - 3315, - 10675, - 9136, - 16520, - 16754, - 6156, - 4827, - 2392, - 5505, - 3114, - 8751, - 2657, - 18781, - 10051, - 10180, - 16444, - 10720, - 19769, - 8086, - 11424, - 11917, - 17383, - 10868, - 5306, - 18400, - 4189, - 4234, - 8735, - 2073, - 16307, - 6105, - 14952, - 14278, - 13592, - 8490, - 15847, - 7837, - 8444, - 16562, - 18801, - 15676, - 18314, - 2944, - 19579, - 6934, - 11324, - 13192, - 5070, - 4290, - 8050, - 2787, - 4997, - 5259, - 14113, - 2805, - 10285, - 18102, - 12293, - 3480, - 2564, - 4557, - 1867, - 13389, - 9080, - 12681, - 2825, - 10708, - 10057, - 1035, - 14379, - 11237, - 18840, - 16889, - 15532, - 9632, - 12928, - 14856, - 2642, - 11638, - 10184, - 16143, - 822, - 2539, - 5717, - 3218, - 5020, - 16515, - 11148, - 18940, - 9697, - 2750, - 1503, - 13645, - 15679, - 8670, - 14299, - 19315, - 14275, - 17127, - 13085, - 12535, - 3456, - 837, - 813, - 17399, - 7889, - 6232, - 8075, - 11861, - 4407, - 15504, - 4322, - 19618, - 12361, - 2186, - 152, - 4658, - 3397, - 4062, - 2060, - 19932, - 7704, - 6031, - 13750, - 3928, - 6500, - 11100, - 6705, - 2374, - 16187, - 17062, - 7755, - 6392, - 18017, - 2797, - 17188, - 3919, - 4196, - 15924, - 2339, - 1079, - 3835, - 2035, - 10288, - 3761, - 15655, - 3435, - 2146, - 9167, - 6009, - 9755, - 13702, - 9010, - 1416, - 8934, - 15213, - 2280, - 4119, - 16607, - 10142, - 6805, - 5385, - 656, - 3461, - 14218, - 15465, - 19617, - 16821, - 2581, - 2503, - 11453, - 11435, - 5696, - 12641, - 18856, - 3944, - 4546, - 3439, - 18070, - 10500, - 16219, - 5412, - 5651, - 17451, - 15859, - 11813, - 1217, - 16730, - 16320, - 12010, - 5147, - 2295, - 1068, - 18844, - 5751, - 17719, - 13274, - 645, - 8550, - 19085, - 19598, - 382, - 11819, - 10078, - 9246, - 7896, - 10432, - 4566, - 14867, - 17039, - 17946, - 6480, - 3169, - 5037, - 11375, - 19350, - 18230, - 14752, - 4794, - 18446, - 13954, - 8638, - 4603, - 12279, - 6496, - 17474, - 7479, - 16719, - 12306, - 9776, - 8120, - 19205, - 14305, - 7302, - 19844, - 4803, - 4931, - 258, - 10731, - 6853, - 13163, - 17089, - 13640, - 4153, - 3983, - 14241, - 10970, - 16883, - 18395, - 2837, - 1769, - 15339, - 11115, - 3099, - 13051, - 7980, - 14133, - 18875, - 11755, - 15209, - 9290, - 19158, - 19795, - 251, - 6141, - 19758, - 6522, - 19611, - 18263, - 18923, - 14823, - 18885, - 519, - 101, - 4090, - 16817, - 17781, - 19299, - 5360, - 7650, - 5425, - 2673, - 9437, - 15538, - 2937, - 18374, - 3504, - 15557, - 19811, - 15630, - 4143, - 12755, - 12337, - 5581, - 14220, - 6873, - 6038, - 3455, - 15009, - 1248, - 11067, - 14025, - 14365, - 4960, - 4983, - 19042, - 5137, - 10427, - 5821, - 1978, - 4822, - 6184, - 10271, - 6090, - 14022, - 11273, - 4099, - 10018, - 13867, - 15437, - 7673, - 13559, - 18533, - 2852, - 15670, - 13742, - 10493, - 17661, - 12636, - 19742, - 12951, - 9838, - 15433, - 15771, - 14144, - 43, - 18808, - 13813, - 19523, - 16428, - 15267, - 14331, - 8705, - 7082, - 4789, - 16377, - 12546, - 6914, - 18880, - 4023, - 2288, - 18180, - 7814, - 5407, - 17691, - 18747, - 5215, - 19824, - 17428, - 14919, - 17001, - 8049, - 13680, - 6714, - 12965, - 10986, - 9654, - 14960, - 1696, - 11474, - 7140, - 1226, - 1881, - 271, - 13046, - 12363, - 10534, - 10384, - 12908, - 2586, - 630, - 3354, - 14601, - 4026, - 19300, - 14187, - 1655, - 15113, - 235, - 480, - 2003, - 8577, - 13117, - 5247, - 19051, - 7363, - 12876, - 5729, - 13064, - 5122, - 5365, - 5888, - 300, - 14522, - 10403, - 54, - 14519, - 19139, - 18160, - 2451, - 7527, - 8483, - 17984, - 1013, - 9981, - 3407, - 3180, - 1014, - 14725, - 19664, - 4818, - 12129, - 2433, - 19452, - 14394, - 15628, - 8799, - 960, - 18708, - 13203, - 7588, - 17836, - 3445, - 7746, - 14844, - 1591, - 14697, - 13142, - 14344, - 19703, - 13585, - 13660, - 12600, - 2247, - 15255, - 7702, - 2574, - 12347, - 3109, - 9054, - 5728, - 4019, - 18839, - 6762, - 162, - 8208, - 7245, - 9660, - 12528, - 11839, - 12578, - 4478, - 13542, - 3799, - 17920, - 12612, - 1602, - 11085, - 13893, - 12635, - 9561, - 8612, - 10004, - 13768, - 17487, - 15524, - 2386, - 12828, - 3725, - 5538, - 13095, - 7629, - 5254, - 19813, - 4445, - 1724, - 15898, - 6709, - 2225, - 12430, - 15517, - 8224, - 15404, - 18667, - 17592, - 2655, - 19396, - 6622, - 9162, - 5614, - 10625, - 7497, - 3, - 14975, - 12516, - 18702, - 15895, - 3308, - 9188, - 2959, - 11715, - 4030, - 4870, - 2459, - 8261, - 11040, - 3330, - 11000, - 2609, - 4746, - 12453, - 582, - 5345, - 13623, - 16113, - 4048, - 7591, - 117, - 10238, - 11171, - 5283, - 11686, - 18380, - 10207, - 19632, - 8461, - 14317, - 1626, - 6963, - 11036, - 14897, - 558, - 12461, - 19419, - 4305, - 15897, - 4007, - 6220, - 1327, - 8913, - 4004, - 9148, - 8543, - 16283, - 12753, - 4726, - 6417, - 9522, - 4317, - 12063, - 6710, - 14063, - 11140, - 13411, - 8509, - 14772, - 6524, - 6724, - 16299, - 8953, - 9525, - 11617, - 19923, - 800, - 3382, - 11099, - 11416, - 9869, - 11075, - 12000, - 9441, - 4398, - 11732, - 7928, - 11653, - 7281, - 11475, - 11364, - 13948, - 6464, - 8993, - 17296, - 9574, - 8959, - 11821, - 16893, - 2562, - 17657, - 16285, - 9258, - 18887, - 16327, - 17040, - 2446, - 10280, - 10624, - 1965, - 10961, - 17741, - 13805, - 5287, - 5921, - 7385, - 11226, - 9480, - 14349, - 10224, - 1348, - 7805, - 5346, - 11089, - 18168, - 14959, - 18495, - 11122, - 4355, - 1883, - 7008, - 3234, - 19, - 17793, - 19762, - 13340, - 6994, - 3670, - 3458, - 18742, - 10351, - 6349, - 4243, - 5567, - 8731, - 3591, - 2417, - 7223, - 10270, - 4868, - 10536, - 16599, - 18569, - 1575, - 1744, - 11869, - 14802, - 379, - 7084, - 8588, - 2224, - 13213, - 2356, - 8978, - 18100, - 2269, - 4520, - 6157, - 209, - 19459, - 12573, - 16554, - 13881, - 17433, - 10148, - 15117, - 2331, - 8101, - 2916, - 268, - 1288, - 8680, - 10147, - 4775, - 12397, - 3323, - 14923, - 1085, - 4606, - 12060, - 7638, - 7812, - 6920, - 19094, - 9186, - 3301, - 9974, - 15967, - 636, - 4977, - 15742, - 18197, - 14289, - 11163, - 14178, - 15422, - 15318, - 3844, - 1725, - 3273, - 8842, - 13756, - 2362, - 15901, - 81, - 5830, - 18385, - 7231, - 19227, - 7102, - 10710, - 17561, - 8417, - 1882, - 5592, - 15772, - 16365, - 5016, - 14817, - 270, - 13345, - 5485, - 9544, - 19072, - 4327, - 17972, - 13522, - 6445, - 4604, - 10648, - 15915, - 19815, - 18499, - 10370, - 17221, - 18320, - 9405, - 11005, - 4784, - 7504, - 2337, - 5069, - 17546, - 8445, - 6836, - 453, - 11009, - 16340, - 14884, - 4599, - 2150, - 6291, - 14152, - 16150, - 16564, - 17714, - 17202, - 1088, - 4149, - 19960, - 19232, - 732, - 10342, - 8961, - 6171, - 5697, - 5884, - 13230, - 5636, - 19430, - 16818, - 18422, - 776, - 10853, - 13136, - 17844, - 8693, - 11630, - 5569, - 8277, - 16781, - 13459, - 6483, - 6342, - 12426, - 8139, - 8689, - 1996, - 1709, - 381, - 17953, - 7888, - 3814, - 1862, - 56, - 8258, - 7933, - 8295, - 5521, - 2908, - 17895, - 6808, - 3065, - 15603, - 364, - 13555, - 7999, - 11983, - 7546, - 14520, - 2824, - 9877, - 10932, - 7828, - 924, - 5375, - 14335, - 3216, - 7743, - 14698, - 14968, - 6137, - 2732, - 5650, - 3979, - 7159, - 6457, - 4201, - 683, - 15494, - 4335, - 16985, - 3621, - 13301, - 11878, - 3089, - 8966, - 19810, - 10367, - 12377, - 443, - 7040, - 13425, - 3291, - 13108, - 11933, - 17765, - 12304, - 7471, - 3880, - 14875, - 5981, - 873, - 19744, - 10736, - 2858, - 15597, - 1987, - 18396, - 2157, - 11734, - 9078, - 13568, - 3233, - 284, - 19750, - 9898, - 632, - 8563, - 1316, - 9552, - 16351, - 11816, - 16735, - 6954, - 8785, - 18738, - 13945, - 3257, - 17687, - 15931, - 14347, - 13809, - 12659, - 276, - 5332, - 6765, - 19802, - 7324, - 7151, - 2261, - 17199, - 515, - 12174, - 17618, - 5191, - 11128, - 14798, - 355, - 7804, - 9843, - 13985, - 13687, - 17881, - 5491, - 5435, - 12402, - 11683, - 15323, - 13478, - 3360, - 10046, - 18429, - 1236, - 11320, - 15767, - 14618, - 19073, - 16535, - 16677, - 8040, - 6447, - 9712, - 10912, - 6713, - 18457, - 9411, - 4823, - 4159, - 6974, - 18082, - 2866, - 1114, - 12925, - 18377, - 14298, - 12918, - 14811, - 9481, - 999, - 9408, - 5018, - 7949, - 315, - 7775, - 8188, - 2364, - 2077, - 6716, - 2767, - 3186, - 15509, - 7181, - 14076, - 15002, - 1037, - 2983, - 19903, - 4791, - 1229, - 17111, - 9404, - 6797, - 8504, - 18695, - 16402, - 7001, - 5228, - 5218, - 16453, - 7881, - 13242, - 7116, - 6681, - 17374, - 8238, - 370, - 10801, - 476, - 9119, - 16105, - 2924, - 9262, - 4876, - 8219, - 8979, - 16598, - 7027, - 4366, - 7727, - 11750, - 11305, - 4087, - 12847, - 3368, - 11763, - 10901, - 2649, - 14629, - 15292, - 10954, - 973, - 5049, - 7510, - 16072, - 15308, - 3434, - 7868, - 19931, - 8614, - 10061, - 18629, - 16391, - 347, - 698, - 18372, - 18589, - 9978, - 17826, - 17316, - 18913, - 5176, - 10611, - 6403, - 16188, - 11166, - 19615, - 6424, - 8596, - 13208, - 17685, - 16532, - 17624, - 15056, - 2495, - 7371, - 4262, - 1711, - 14974, - 19823, - 19471, - 7712, - 12660, - 7724, - 15320, - 12273, - 15238, - 226, - 11733, - 11470, - 2978, - 1071, - 10925, - 15325, - 3658, - 4891, - 2891, - 18238, - 18424, - 15212, - 16773, - 8035, - 11497, - 757, - 13435, - 16277, - 4741, - 16203, - 8051, - 9910, - 9115, - 17488, - 17731, - 17122, - 7961, - 15397, - 1408, - 15514, - 14041, - 19876, - 19558, - 13171, - 8212, - 2203, - 3174, - 10267, - 16198, - 15189, - 3406, - 6468, - 4042, - 10022, - 1610, - 6453, - 1064, - 12680, - 4844, - 4147, - 5006, - 15930, - 6362, - 14806, - 449, - 5671, - 5062, - 16303, - 4536, - 5028, - 10526, - 8103, - 3984, - 7059, - 19682, - 1101, - 16736, - 4297, - 15158, - 14084, - 14675, - 4464, - 18757, - 756, - 12133, - 19215, - 13518, - 13935, - 10722, - 82, - 4636, - 15533, - 4433, - 6754, - 1066, - 7475, - 10632, - 13819, - 16588, - 9114, - 7267, - 12793, - 17804, - 6908, - 16213, - 19919, - 8023, - 2509, - 10143, - 18523, - 13453, - 10449, - 17177, - 5842, - 6733, - 10109, - 9040, - 11587, - 9033, - 6228, - 13090, - 2343, - 9206, - 6900, - 3075, - 13508, - 16874, - 18256, - 914, - 9986, - 490, - 6855, - 13771, - 2973, - 15550, - 5566, - 6303, - 17763, - 17244, - 7931, - 16744, - 17892, - 1596, - 434, - 1312, - 7045, - 3040, - 1505, - 16382, - 1244, - 203, - 14550, - 5867, - 7762, - 3304, - 879, - 1615, - 5890, - 16742, - 14648, - 8619, - 3106, - 15792, - 7882, - 18178, - 8353, - 16755, - 1413, - 9637, - 17706, - 336, - 10779, - 3384, - 7463, - 10482, - 3351, - 12856, - 6280, - 8312, - 13776, - 6594, - 4252, - 3035, - 17577, - 14564, - 1611, - 11129, - 7433, - 13885, - 8410, - 6650, - 5296, - 3453, - 14013, - 3976, - 5185, - 10867, - 6305, - 17349, - 18584, - 11585, - 19497, - 5280, - 18772, - 17107, - 7715, - 4664, - 5926, - 3739, - 9462, - 4624, - 9202, - 692, - 8773, - 1311, - 6743, - 11165, - 9968, - 17164, - 6258, - 11704, - 4068, - 16182, - 8969, - 11107, - 19792, - 19195, - 4552, - 6919, - 4275, - 11369, - 17861, - 8905, - 2215, - 3178, - 7384, - 18711, - 14432, - 18464, - 3006, - 9144, - 10777, - 16288, - 7052, - 12697, - 83, - 6646, - 18004, - 16367, - 19184, - 18221, - 5972, - 1528, - 17196, - 6540, - 18731, - 10087, - 12354, - 14846, - 11912, - 12672, - 818, - 8093, - 9379, - 4898, - 5730, - 3577, - 18518, - 2506, - 3136, - 5107, - 12989, - 11143, - 5248, - 19114, - 12221, - 17209, - 440, - 1533, - 13499, - 37, - 12036, - 9947, - 3017, - 6550, - 3914, - 14314, - 17387, - 2185, - 5258, - 9189, - 11198, - 13621, - 674, - 3936, - 3746, - 10839, - 8882, - 10337, - 10753, - 3802, - 14195, - 1772, - 19218, - 10728, - 1510, - 1364, - 8160, - 2113, - 13323, - 6197, - 6973, - 17453, - 930, - 19689, - 17740, - 6715, - 19390, - 9498, - 1526, - 11032, - 10196, - 10123, - 16632, - 10372, - 7185, - 9107, - 8005, - 13374, - 16495, - 15149, - 4869, - 19895, - 9029, - 5473, - 18261, - 18709, - 1888, - 8360, - 7869, - 6869, - 2533, - 12899, - 18388, - 9325, - 4732, - 3353, - 2784, - 18728, - 18656, - 6958, - 14292, - 14535, - 1802, - 14066, - 175, - 13364, - 4035, - 17348, - 2855, - 5882, - 14026, - 7894, - 3011, - 19243, - 13588, - 242, - 1931, - 13105, - 3473, - 6503, - 12504, - 2823, - 3782, - 4459, - 352, - 3189, - 12540, - 2728, - 18038, - 2800, - 13356, - 8275, - 1279, - 10528, - 15116, - 1450, - 7311, - 19633, - 4125, - 5810, - 19020, - 4611, - 10353, - 12969, - 7983, - 19749, - 11173, - 2434, - 1589, - 11792, - 331, - 8405, - 7548, - 13747, - 18651, - 5262, - 10597, - 3647, - 12113, - 3472, - 7995, - 2864, - 16000, - 6283, - 6386, - 16827, - 16271, - 368, - 10328, - 1736, - 2414, - 16843, - 11992, - 12122, - 5873, - 17586, - 13664, - 12158, - 18379, - 15778, - 4259, - 4469, - 11907, - 8547, - 1955, - 10636, - 12491, - 5643, - 10391, - 10371, - 5801, - 18749, - 9250, - 11168, - 540, - 8432, - 4480, - 18194, - 12211, - 14495, - 10992, - 6223, - 16625, - 2102, - 2378, - 6772, - 14529, - 14965, - 4749, - 3311, - 1914, - 40, - 2278, - 13124, - 5125, - 2457, - 12287, - 2646, - 4628, - 14977, - 3543, - 12861, - 7964, - 18638, - 2753, - 15395, - 7427, - 10781, - 2998, - 5673, - 17726, - 18600, - 3067, - 10518, - 17950, - 5171, - 11112, - 14995, - 13689, - 13880, - 3618, - 6577, - 8795, - 18351, - 17034, - 4114, - 4637, - 3696, - 18490, - 5591, - 1830, - 10040, - 5955, - 18269, - 17660, - 10671, - 2658, - 15177, - 13214, - 19410, - 15035, - 5825, - 8235, - 2028, - 5967, - 1329, - 15902, - 9538, - 10137, - 17230, - 8889, - 2143, - 12814, - 13759, - 18768, - 18722, - 5771, - 15786, - 17931, - 4928, - 842, - 12007, - 11614, - 6164, - 4111, - 19258, - 19362, - 19483, - 4245, - 5528, - 11033, - 4238, - 4527, - 18647, - 17554, - 3421, - 17117, - 14903, - 15219, - 325, - 11012, - 7286, - 16497, - 16606, - 17698, - 1673, - 19628, - 15125, - 19612, - 599, - 2071, - 16716, - 10282, - 6065, - 14827, - 2072, - 1002, - 15820, - 12190, - 8094, - 2814, - 2693, - 2766, - 18251, - 16733, - 1366, - 17796, - 7451, - 5098, - 11295, - 2121, - 11716, - 204, - 1493, - 14214, - 7844, - 1827, - 11285, - 6211, - 14905, - 575, - 3727, - 6940, - 7569, - 9270, - 10257, - 16423, - 18060, - 6316, - 3181, - 13677, - 10477, - 3775, - 12091, - 283, - 9215, - 6766, - 3192, - 14038, - 9400, - 13241, - 15173, - 5970, - 5684, - 11259, - 15721, - 19580, - 6087, - 3137, - 17846, - 19403, - 1126, - 8663, - 6221, - 3481, - 2406, - 7183, - 7731, - 13828, - 8922, - 12154, - 4605, - 8250, - 5190, - 6516, - 92, - 13964, - 18473, - 8651, - 18045, - 2148, - 8615, - 2011, - 5130, - 8871, - 15613, - 17639, - 5253, - 17005, - 6254, - 3400, - 9547, - 2287, - 8026, - 17229, - 9276, - 19526, - 16141, - 6438, - 9064, - 3830, - 1607, - 8473, - 16177, - 2229, - 3072, - 6313, - 5753, - 19582, - 9076, - 14007, - 9976, - 2347, - 6160, - 13144, - 17146, - 11903, - 8794, - 16284, - 17605, - 11365, - 13120, - 15869, - 9798, - 8519, - 13609, - 13516, - 18865, - 6251, - 13840, - 4454, - 17179, - 13319, - 14720, - 19055, - 12035, - 8514, - 9240, - 2718, - 10053, - 13833, - 2970, - 8256, - 18088, - 18764, - 9694, - 18065, - 7815, - 4413, - 18248, - 17733, - 11268, - 11631, - 19894, - 14527, - 10620, - 7919, - 15438, - 16974, - 11457, - 19915, - 19159, - 9894, - 11396, - 17207, - 16496, - 17980, - 4420, - 3063, - 2629, - 6318, - 17929, - 6260, - 1819, - 19665, - 13694, - 254, - 13549, - 17078, - 12628, - 12383, - 6391, - 8841, - 1169, - 17693, - 12902, - 17194, - 10330, - 10246, - 19729, - 3423, - 11606, - 1880, - 15623, - 4559, - 11406, - 8239, - 4743, - 16544, - 2297, - 13260, - 18233, - 19609, - 3961, - 11980, - 19189, - 5604, - 4491, - 13565, - 13456, - 8524, - 1928, - 18820, - 16529, - 12002, - 9616, - 18295, - 4387, - 7760, - 628, - 5975, - 13717, - 9872, - 7105, - 9611, - 17446, - 10820, - 11831, - 8960, - 461, - 9737, - 1501, - 11916, - 6893, - 18157, - 13300, - 7487, - 3954, - 10595, - 1471, - 640, - 18212, - 17636, - 2803, - 17776, - 8324, - 5388, - 2966, - 18835, - 3417, - 15240, - 11634, - 13344, - 13973, - 15096, - 14592, - 13838, - 18442, - 18479, - 876, - 12262, - 11404, - 5451, - 11881, - 8533, - 2541, - 4952, - 18478, - 16960, - 7346, - 6019, - 15198, - 5702, - 8046, - 14569, - 7310, - 12142, - 15745, - 12726, - 8321, - 7129, - 8674, - 19233, - 15611, - 10116, - 9926, - 9359, - 3681, - 7247, - 1301, - 16498, - 4156, - 18506, - 9963, - 14135, - 898, - 19938, - 7393, - 16223, - 2500, - 6580, - 7625, - 8443, - 8448, - 12756, - 17642, - 11967, - 11669, - 5206, - 12996, - 10228, - 19456, - 15077, - 16138, - 11256, - 15129, - 12058, - 9407, - 6264, - 15288, - 17147, - 7735, - 6878, - 10918, - 6722, - 6207, - 13841, - 15480, - 264, - 9281, - 13175, - 5128, - 13733, - 11270, - 15371, - 13129, - 2675, - 12602, - 8838, - 16109, - 1495, - 17902, - 16816, - 11410, - 14599, - 4540, - 15488, - 8057, - 10738, - 7855, - 463, - 14650, - 6642, - 14309, - 14603, - 18788, - 19059, - 17626, - 15558, - 6537, - 13662, - 970, - 2211, - 16236, - 12358, - 5878, - 2235, - 10909, - 16672, - 9475, - 9725, - 11913, - 13037, - 16682, - 13026, - 19169, - 12242, - 12952, - 10451, - 7757, - 14744, - 7592, - 7030, - 9724, - 8404, - 8878, - 16339, - 9131, - 9171, - 6047, - 7303, - 19424, - 16455, - 3172, - 18133, - 10415, - 10052, - 12348, - 3474, - 16289, - 16405, - 10732, - 11145, - 2408, - 4268, - 2195, - 5719, - 17208, - 4208, - 6, - 6367, - 6633, - 5453, - 6798, - 15017, - 4872, - 15013, - 430, - 19029, - 14807, - 10893, - 5866, - 14388, - 7104, - 12451, - 1439, - 17536, - 13466, - 5481, - 4140, - 15632, - 1168, - 10026, - 7299, - 7666, - 16154, - 11521, - 7824, - 14148, - 11695, - 10408, - 6993, - 1424, - 7056, - 10417, - 19556, - 3772, - 7549, - 3369, - 8489, - 13821, - 16401, - 13070, - 1765, - 18783, - 13849, - 16375, - 2258, - 1735, - 533, - 3206, - 4330, - 17167, - 7408, - 3510, - 10473, - 14310, - 9546, - 6086, - 17367, - 2325, - 9609, - 4892, - 12025, - 8740, - 4507, - 19718, - 10266, - 10603, - 5663, - 11811, - 11080, - 5429, - 18019, - 629, - 8945, - 2006, - 10562, - 10702, - 8952, - 17845, - 16631, - 15622, - 2431, - 18621, - 13023, - 2713, - 13268, - 16145, - 9836, - 2131, - 15774, - 126, - 14099, - 8253, - 11842, - 1368, - 12434, - 19667, - 19449, - 4523, - 12170, - 11859, - 15658, - 17962, - 17340, - 15574, - 4427, - 4376, - 15841, - 6568, - 13830, - 6517, - 6395, - 13430, - 15764, - 4935, - 2980, - 8653, - 14146, - 19799, - 18106, - 13341, - 2445, - 15777, - 19509, - 2643, - 363, - 609, - 9702, - 8201, - 4334, - 15981, - 15643, - 18340, - 7439, - 5520, - 5192, - 8658, - 14949, - 3905, - 5525, - 14072, - 534, - 261, - 6011, - 2729, - 15412, - 14655, - 4532, - 14647, - 1100, - 17243, - 644, - 12733, - 6661, - 14928, - 5863, - 17320, - 16721, - 7627, - 12357, - 2119, - 2685, - 16770, - 6301, - 15543, - 9543, - 9335, - 7973, - 19862, - 996, - 18321, - 8667, - 8592, - 19375, - 10833, - 6833, - 18425, - 8783, - 11621, - 7713, - 6606, - 13275, - 911, - 9876, - 1578, - 13757, - 5797, - 10420, - 19835, - 1170, - 6481, - 8329, - 2896, - 574, - 13676, - 8391, - 13355, - 7517, - 15425, - 16234, - 8618, - 13039, - 1358, - 6150, - 15868, - 15413, - 12220, - 18274, - 11668, - 3881, - 503, - 5600, - 12656, - 13743, - 12003, - 6926, - 3261, - 7580, - 6882, - 16202, - 9253, - 11853, - 11026, - 19372, - 11847, - 786, - 12256, - 566, - 3617, - 5479, - 14871, - 10618, - 18492, - 8008, - 19734, - 15253, - 17557, - 779, - 14360, - 17471, - 5954, - 1647, - 8465, - 5352, - 17989, - 14315, - 8163, - 5836, - 4545, - 9349, - 18890, - 4151, - 9749, - 17870, - 16964, - 15448, - 19746, - 7653, - 8656, - 4003, - 4923, - 13572, - 1799, - 11523, - 2208, - 11745, - 19777, - 14456, - 12059, - 8531, - 4059, - 15023, - 19760, - 2977, - 17101, - 8081, - 5605, - 3859, - 10294, - 2476, - 15715, - 4719, - 19473, - 18784, - 14991, - 2145, - 16412, - 16725, - 13911, - 8105, - 3008, - 18505, - 13283, - 3187, - 19610, - 2156, - 3221, - 12452, - 14182, - 10737, - 17444, - 437, - 18062, - 12637, - 17222, - 1778, - 3511, - 15555, - 982, - 16114, - 11632, - 6359, - 19038, - 672, - 16519, - 4070, - 13118, - 14395, - 18687, - 11729, - 758, - 11039, - 9620, - 11664, - 6656, - 3167, - 11266, - 10204, - 10016, - 484, - 7971, - 5301, - 5458, - 6728, - 6865, - 3969, - 9771, - 13044, - 5347, - 8932, - 18282, - 7386, - 14353, - 1916, - 13955, - 652, - 5661, - 11363, - 13407, - 8012, - 12652, - 8634, - 6240, - 7706, - 8677, - 6440, - 19671, - 5739, - 10209, - 2756, - 3342, - 1666, - 12454, - 2454, - 19534, - 14410, - 4211, - 18893, - 18205, - 13326, - 7444, - 11736, - 10221, - 16851, - 4481, - 5085, - 17479, - 9727, - 5790, - 16492, - 5467, - 5682, - 3383, - 3463, - 9330, - 16933, - 805, - 3738, - 5090, - 16049, - 4496, - 18831, - 7290, - 9979, - 17174, - 7689, - 17198, - 18200, - 7925, - 4524, - 3707, - 15833, - 7950, - 6592, - 7695, - 13247, - 5935, - 13684, - 13254, - 8162, - 15051, - 8492, - 16050, - 994, - 18631, - 8032, - 2205, - 5170, - 19506, - 17623, - 6014, - 18419, - 15905, - 19629, - 10341, - 18936, - 8071, - 8182, - 7529, - 15478, - 9643, - 9151, - 11620, - 6621, - 13013, - 15440, - 642, - 1462, - 15811, - 13732, - 6616, - 594, - 4723, - 18203, - 17418, - 14364, - 2234, - 9842, - 4126, - 6241, - 8837, - 12374, - 13803, - 6825, - 1671, - 17362, - 19490, - 9889, - 15621, - 12930, - 11450, - 3173, - 3505, - 9378, - 9629, - 3993, - 6212, - 13734, - 8811, - 2919, - 9305, - 2199, - 12743, - 1728, - 9760, - 5265, - 1771, - 19217, - 16063, - 4582, - 2976, - 15085, - 712, - 14709, - 16002, - 1557, - 11302, - 10652, - 6076, - 10879, - 18888, - 12848, - 2743, - 18255, - 8891, - 7741, - 5327, - 19345, - 4428, - 17064, - 12123, - 8240, - 17031, - 7698, - 17140, - 4834, - 17534, - 13287, - 6231, - 736, - 18166, - 17150, - 15732, - 13697, - 9331, - 14723, - 14312, - 2735, - 18628, - 5240, - 3392, - 10375, - 12630, - 10981, - 14557, - 15633, - 10453, - 16374, - 11157, - 12398, - 14047, - 16227, - 7688, - 17090, - 3150, - 8846, - 12019, - 16407, - 4489, - 19133, - 5474, - 11619, - 16976, - 3143, - 2127, - 19714, - 15969, - 5328, - 10226, - 9452, - 1437, - 11987, - 12569, - 2207, - 9741, - 19275, - 151, - 13547, - 12116, - 8809, - 18800, - 1482, - 9962, - 11810, - 10234, - 15682, - 17866, - 116, - 5624, - 13648, - 19593, - 14002, - 3209, - 1173, - 19208, - 13582, - 14137, - 19886, - 19485, - 13021, - 10217, - 10505, - 708, - 15944, - 12644, - 6259, - 18294, - 7294, - 8567, - 5725, - 3130, - 387, - 956, - 13546, - 172, - 16178, - 13141, - 1775, - 7816, - 4352, - 16086, - 9095, - 9743, - 5635, - 1915, - 6862, - 10398, - 5238, - 17739, - 19155, - 1458, - 5154, - 15259, - 6397, - 11478, - 9009, - 17702, - 4974, - 4773, - 2355, - 245, - 16667, - 17509, - 16009, - 10717, - 6268, - 1999, - 15854, - 3926, - 6638, - 7382, - 5246, - 19754, - 6059, - 2122, - 6998, - 11885, - 7325, - 11701, - 6835, - 12146, - 14931, - 6143, - 17728, - 11746, - 8513, - 18577, - 9810, - 6369, - 749, - 15223, - 14059, - 18085, - 15755, - 5548, - 8340, - 1487, - 19194, - 1620, - 1683, - 16341, - 17257, - 17494, - 8304, - 12897, - 12884, - 7969, - 15551, - 14516, - 12671, - 12249, - 1958, - 13703, - 3176, - 872, - 6319, - 775, - 10759, - 4249, - 18837, - 5055, - 2535, - 1274, - 11938, - 16186, - 3527, - 18592, - 14659, - 9055, - 12266, - 4531, - 10424, - 14346, - 13384, - 444, - 18756, - 9709, - 303, - 9639, - 14338, - 9427, - 5356, - 2832, - 4563, - 10645, - 10172, - 10910, - 11719, - 14787, - 19637, - 5108, - 11807, - 9181, - 5953, - 5140, - 19676, - 15765, - 15883, - 11824, - 3606, - 16493, - 5901, - 16971, - 14376, - 10544, - 2863, - 5794, - 11893, - 19257, - 2948, - 18616, - 13244, - 8073, - 7813, - 19470, - 4554, - 13148, - 13714, - 8561, - 19406, - 15466, - 11114, - 1581, - 17343, - 8746, - 6152, - 9614, - 1419, - 5316, - 5839, - 10235, - 11725, - 7954, - 17945, - 18204, - 9510, - 6024, - 18608, - 10194, - 13294, - 5847, - 329, - 10139, - 11328, - 8573, - 9657, - 15380, - 10913, - 844, - 4996, - 468, - 11360, - 2043, - 18121, - 3494, - 6151, - 5307, - 4700, - 173, - 14092, - 16609, - 1328, - 11456, - 2722, - 9945, - 4682, - 16241, - 9149, - 9944, - 4069, - 7603, - 11334, - 6451, - 12449, - 6783, - 17761, - 3362, - 17975, - 11031, - 19316, - 15863, - 15791, - 3079, - 7877, - 16016, - 15548, - 182, - 18135, - 4774, - 8672, - 19416, - 12984, - 13390, - 19587, - 6672, - 7137, - 462, - 12620, - 3666, - 360, - 10564, - 2310, - 7139, - 7782, - 439, - 2058, - 8682, - 17840, - 15500, - 18503, - 4501, - 15432, - 5366, - 19679, - 10920, - 15337, - 5939, - 4388, - 9104, - 19491, - 8181, - 248, - 19271, - 14645, - 18737, - 231, - 10806, - 13827, - 5943, - 10794, - 17645, - 19688, - 10162, - 4371, - 18029, - 14849, - 6700, - 19947, - 11529, - 16315, - 8045, - 6001, - 10837, - 7, - 545, - 6731, - 7473, - 6296, - 3917, - 11167, - 4696, - 7502, - 7336, - 12082, - 19297, - 12438, - 9769, - 13712, - 13773, - 4802, - 19064, - 6790, - 4959, - 8414, - 17748, - 13006, - 16245, - 660, - 3832, - 14474, - 5403, - 7409, - 8269, - 17007, - 4940, - 12693, - 9089, - 8888, - 12682, - 7238, - 9205, - 15059, - 18660, - 6704, - 15390, - 5780, - 14140, - 3066, - 7407, - 12920, - 19739, - 2070, - 8222, - 16115, - 16678, - 12666, - 5497, - 16022, - 4615, - 12153, - 7885, - 6333, - 102, - 11488, - 15719, - 14742, - 10019, - 11596, - 14231, - 7039, - 10834, - 2639, - 12855, - 262, - 18931, - 5984, - 13111, - 19826, - 13968, - 15828, - 7558, - 2341, - 8418, - 15301, - 3138, - 6698, - 8828, - 4858, - 18484, - 12102, - 16731, - 13181, - 16587, - 4724, - 13014, - 3788, - 10044, - 2565, - 10261, - 18443, - 7730, - 8299, - 15875, - 7244, - 14184, - 9895, - 2704, - 7493, - 9266, - 939, - 12290, - 2758, - 11109, - 2822, - 3538, - 13745, - 459, - 2391, - 2757, - 5677, - 8207, - 5518, - 17128, - 1283, - 4002, - 3719, - 10452, - 14390, - 13089, - 14881, - 7540, - 12493, - 298, - 783, - 12517, - 5148, - 2544, - 13083, - 8551, - 17310, - 3610, - 14229, - 11516, - 18225, - 17520, - 6617, - 7025, - 7376, - 8963, - 4181, - 14877, - 16334, - 16797, - 6674, - 19668, - 16232, - 15733, - 5858, - 4442, - 2931, - 6401, - 8425, - 5788, - 10276, - 14925, - 2326, - 17121, - 13099, - 10100, - 9097, - 12139, - 17226, - 14701, - 15692, - 3605, - 500, - 2537, - 750, - 18244, - 2528, - 3459, - 4782, - 16963, - 4916, - 5716, - 5699, - 6983, - 10508, - 17941, - 11717, - 16727, - 18059, - 411, - 3995, - 9380, - 14064, - 8305, - 14986, - 3931, - 14538, - 17201, - 9397, - 15024, - 8541, - 17822, - 11921, - 12109, - 14537, - 778, - 4684, - 14483, - 17242, - 4118, - 18568, - 2679, - 17569, - 10850, - 3352, - 4223, - 1792, - 17425, - 8130, - 11673, - 9058, - 6726, - 10531, - 19566, - 16683, - 12309, - 1086, - 2271, - 18092, - 11920, - 10171, - 12439, - 7946, - 943, - 11985, - 2902, - 10941, - 5302, - 799, - 6012, - 5067, - 8169, - 899, - 9953, - 6887, - 10940, - 5749, - 13655, - 15069, - 3160, - 8608, - 17928, - 16920, - 17099, - 13429, - 17344, - 9103, - 17030, - 3149, - 19049, - 8784, - 10775, - 8097, - 5545, - 8337, - 14517, - 9553, - 5133, - 9509, - 16386, - 17482, - 8956, - 7033, - 2437, - 19462, - 15673, - 1829, - 10948, - 4638, - 19560, - 18899, - 5096, - 10297, - 18036, - 16749, - 1431, - 5904, - 18393, - 5611, - 5813, - 5068, - 6693, - 9997, - 14249, - 11389, - 18596, - 11788, - 5734, - 8451, - 1145, - 9211, - 14895, - 9252, - 11572, - 4466, - 19336, - 14684, - 16094, - 10488, - 9050, - 15278, - 9577, - 9924, - 16713, - 13346, - 19115, - 4485, - 12582, - 2214, - 1304, - 11014, - 19721, - 12481, - 11149, - 8453, - 10729, - 12769, - 11221, - 18746, - 19540, - 8355, - 7250, - 14608, - 7962, - 19412, - 6292, - 5369, - 895, - 4608, - 8318, - 16921, - 4372, - 16849, - 10815, - 17684, - 12492, - 18047, - 5036, - 14397, - 16798, - 10673, - 7466, - 8149, - 169, - 17633, - 4678, - 3069, - 16336, - 3569, - 5395, - 9890, - 13127, - 11059, - 6562, - 435, - 7785, - 4522, - 14061, - 1476, - 12970, - 5874, - 6702, - 3394, - 18063, - 10554, - 9594, - 9307, - 615, - 2398, - 15050, - 935, - 13427, - 4740, - 3967, - 12071, - 11848, - 1095, - 10665, - 77, - 19126, - 7721, - 19043, - 218, - 6379, - 10822, - 2136, - 13706, - 12388, - 187, - 9294, - 5508, - 16760, - 18798, - 3026, - 19945, - 9315, - 16620, - 13875, - 13174, - 1808, - 8230, - 6020, - 7006, - 10674, - 6923, - 1961, - 16740, - 3068, - 10687, - 10407, - 11311, - 13996, - 2175, - 14264, - 4757, - 15966, - 6330, - 6632, - 4873, - 3637, - 6063, - 17423, - 3536, - 16948, - 18020, - 16590, - 2033, - 18980, - 3937, - 2619, - 11332, - 65, - 11212, - 2421, - 15295, - 9100, - 18404, - 11498, - 3673, - 13205, - 11158, - 9524, - 11336, - 7120, - 3882, - 18777, - 10718, - 6505, - 11110, - 12888, - 15347, - 286, - 14186, - 16573, - 9434, - 13822, - 16600, - 6215, - 18658, - 2584, - 4881, - 13393, - 6470, - 17774, - 8907, - 16474, - 6422, - 5111, - 12607, - 10099, - 8736, - 19352, - 5590, - 7278, - 17249, - 18299, - 15462, - 6365, - 16804, - 19313, - 1230, - 14840, - 2933, - 2747, - 495, - 5379, - 6905, - 10549, - 7509, - 17076, - 13777, - 14236, - 19500, - 624, - 17336, - 10465, - 1652, - 12103, - 17136, - 1298, - 5174, - 13112, - 1034, - 5050, - 9848, - 11135, - 3667, - 7305, - 9985, - 17885, - 12992, - 109, - 10299, - 9502, - 11146, - 19301, - 13870, - 14962, - 13774, - 14692, - 16919, - 13904, - 10933, - 763, - 8420, - 1835, - 2577, - 8777, - 13659, - 13065, - 7867, - 10782, - 13770, - 13536, - 13156, - 18273, - 1863, - 8157, - 4751, - 2315, - 3271, - 9539, - 7562, - 1305, - 9871, - 19360, - 8626, - 4550, - 3741, - 3549, - 12081, - 4472, - 15423, - 8555, - 18270, - 16601, - 17917, - 11029, - 8500, - 9428, - 7415, - 3446, - 14851, - 15592, - 3821, - 16021, - 15490, - 17260, - 5855, - 17801, - 3593, - 4298, - 2432, - 16201, - 13760, - 9328, - 1630, - 12260, - 19550, - 12440, - 2635, - 7240, - 356, - 15565, - 7255, - 12093, - 4171, - 19834, - 19727, - 10915, - 1561, - 4618, - 949, - 6814, - 11428, - 2885, - 18041, - 12320, - 19851, - 16882, - 6352, - 18279, - 915, - 10422, - 18806, - 8338, - 13434, - 16488, - 597, - 10190, - 1354, - 13740, - 17345, - 7884, - 11160, - 12617, - 13351, - 8628, - 3853, - 15484, - 539, - 12169, - 4092, - 7786, - 19918, - 9961, - 12559, - 3363, - 17925, - 11883, - 318, - 6673, - 15133, - 16026, - 11368, - 1973, - 3112, - 14764, - 13853, - 18286, - 19047, - 19021, - 4954, - 13458, - 10151, - 12322, - 18281, - 12651, - 10468, - 10789, - 10949, - 19026, - 14630, - 5152, - 19240, - 15640, - 9140, - 338, - 14373, - 9387, - 5197, - 4577, - 15933, - 2067, - 5245, - 17610, - 12816, - 17818, - 11672, - 4874, - 8246, - 12993, - 3748, - 19314, - 5139, - 2604, - 16144, - 9625, - 19581, - 19382, - 4897, - 19157, - 11692, - 14485, - 11051, - 15230, - 9973, - 3398, - 12286, - 1670, - 16912, - 17, - 6239, - 4809, - 1473, - 3815, - 2047, - 12008, - 17958, - 3044, - 17526, - 13030, - 15799, - 17312, - 16753, - 6747, - 13074, - 8447, - 9669, - 18853, - 17788, - 4166, - 6250, - 10724, - 3492, - 16354, - 1132, - 14108, - 6823, - 8395, - 15349, - 13556, - 11965, - 7758, - 7617, - 6635, - 16079, - 941, - 11872, - 6140, - 7087, - 5382, - 12446, - 3803, - 5923, - 1136, - 601, - 15837, - 16610, - 1890, - 4113, - 15058, - 4589, - 7242, - 13590, - 12227, - 11595, - 7878, - 17646, - 14614, - 18732, - 5428, - 9595, - 6441, - 7791, - 5523, - 11982, - 13959, - 16593, - 1828, - 2938, - 18789, - 3743, - 18811, - 15168, - 15451, - 17003, - 12079, - 2490, - 10883, - 13003, - 13391, - 2317, - 10501, - 3499, - 19131, - 17650, - 17477, - 18163, - 19475, - 1272, - 16908, - 10374, - 16791, - 623, - 5946, - 3346, - 6652, - 7293, - 240, - 4748, - 6300, - 1547, - 14345, - 18341, - 13360, - 6734, - 6579, - 14640, - 18327, - 12737, - 13753, - 5012, - 11866, - 1167, - 14378, - 17797, - 1111, - 9672, - 15186, - 2468, - 4224, - 3251, - 3630, - 14546, - 16238, - 10706, - 11542, - 3932, - 9913, - 16028, - 3217, - 14340, - 7902, - 9469, - 15675, - 5772, - 15104, - 15284, - 6966, - 2941, - 10683, - 1847, - 13818, - 14530, - 4269, - 6637, - 2010, - 4284, - 18813, - 4169, - 8187, - 12027, - 7907, - 13000, - 2828, - 10428, - 2381, - 1300, - 2761, - 19859, - 9802, - 13908, - 15312, - 11317, - 10664, - 4918, - 17990, - 5598, - 15100, - 7535, - 669, - 19255, - 13938, - 14612, - 10092, - 5774, - 13225, - 7017, - 10535, - 8409, - 12613, - 13812, - 4937, - 13102, - 18877, - 13674, - 3203, - 10015, - 19212, - 3958, - 2114, - 666, - 342, - 17429, - 17044, - 8918, - 15109, - 6799, - 11697, - 9090, - 5689, - 16853, - 14863, - 14786, - 6631, - 12329, - 19179, - 208, - 19112, - 13620, - 395, - 2301, - 6691, - 5157, - 12522, - 18572, - 823, - 19086, - 10727, - 1457, - 2625, - 11997, - 13470, - 19631, - 7399, - 17168, - 5511, - 3533, - 15718, - 3105, - 19713, - 12770, - 580, - 5235, - 15693, - 7939, - 5300, - 10856, - 3870, - 2238, - 19077, - 9711, - 771, - 8920, - 5045, - 13807, - 13167, - 7268, - 410, - 3338, - 7668, - 3032, - 9244, - 9085, - 19882, - 17867, - 5721, - 9414, - 10642, - 12226, - 19778, - 7169, - 1625, - 5271, - 1879, - 10649, - 5740, - 12216, - 5859, - 5113, - 9607, - 19326, - 17259, - 8673, - 1871, - 14781, - 197, - 7117, - 567, - 9837, - 9004, - 6443, - 3038, - 15602, - 832, - 1559, - 12979, - 8200, - 13113, - 38, - 385, - 11254, - 10962, - 14820, - 5236, - 1677, - 9133, - 8903, - 18564, - 2963, - 6859, - 3126, - 15224, - 13403, - 2401, - 3375, - 4576, - 1040, - 12720, - 3252, - 6847, - 18051, - 14496, - 17572, - 13530, - 6217, - 7063, - 7832, - 18073, - 1791, - 5025, - 2725, - 3023, - 6786, - 16547, - 17805, - 7396, - 13668, - 16693, - 11142, - 17914, - 10661, - 6701, - 15064, - 6078, - 4953, - 17239, - 8058, - 16577, - 1956, - 17046, - 7232, - 9761, - 17829, - 17668, - 158, - 12777, - 8875, - 16480, - 3705, - 5512, - 14213, - 2545, - 7830, - 10703, - 19881, - 150, - 479, - 17379, - 2688, - 3444, - 5000, - 1686, - 2465, - 8441, - 12837, - 18342, - 19067, - 14994, - 18576, - 19164, - 9277, - 18515, - 19906, - 762, - 16127, - 10199, - 6968, - 15455, - 6545, - 6321, - 1593, - 206, - 3184, - 5073, - 11767, - 8440, - 14414, - 2926, - 4515, - 4907, - 11412, - 8611, - 840, - 12100, - 1403, - 16548, - 9020, - 1296, - 16942, - 15830, - 12834, - 10862, - 17084, - 4851, - 15748, - 9867, - 10593, - 19833, - 600, - 10709, - 4071, - 5974, - 13905, - 14922, - 8070, - 1668, - 16427, - 19451, - 15470, - 14699, - 6436, - 869, - 236, - 14491, - 16286, - 11858, - 12939, - 11963, - 17435, - 5964, - 11914, - 17224, - 9030, - 11402, - 10429, - 18902, - 18489, - 8770, - 706, - 8197, - 19366, - 14155, - 3144, - 19887, - 16722, - 3957, - 15938, - 901, - 2420, - 5977, - 8774, - 8251, - 15884, - 5118, - 9795, - 3415, - 18684, - 18460, - 8434, - 3545, - 14207, - 1594, - 12277, - 16160, - 5808, - 3425, - 16841, - 2210, - 7086, - 4666, - 7945, - 16869, - 5997, - 330, - 6675, - 921, - 1770, - 3297, - 8145, - 4509, - 13584, - 7332, - 14001, - 19392, - 16089, - 8211, - 18551, - 5562, - 6106, - 3607, - 16257, - 17611, - 13206, - 12945, - 11919, - 16281, - 10003, - 3975, - 703, - 15360, - 18258, - 5758, - 9859, - 1441, - 13869, - 13670, - 15691, - 18990, - 9840, - 8876, - 12728, - 12463, - 9440, - 19717, - 14078, - 18817, - 13072, - 7601, - 12092, - 635, - 11906, - 11330, - 14862, - 13727, - 1740, - 16472, - 2996, - 166, - 5289, - 10054, - 483, - 3049, - 616, - 19726, - 16267, - 12311, - 12959, - 14835, - 527, - 292, - 10047, - 18701, - 10812, - 12140, - 17794, - 8029, - 15496, - 3401, - 16527, - 12694, - 10556, - 16147, - 7951, - 9687, - 29, - 559, - 11604, - 2903, - 12539, - 10434, - 9977, - 17894, - 6771, - 19001, - 5747, - 8884, - 13292, - 14976, - 14658, - 5032, - 12391, - 12016, - 16551, - 15156, - 5761, - 1277, - 8268, - 4295, - 6415, - 3139, - 18915, - 11511, - 12811, - 11910, - 18582, - 10876, - 3616, - 716, - 18836, - 13723, - 2385, - 9446, - 3255, - 17915, - 14937, - 6412, - 7792, - 11047, - 16671, - 18939, - 16880, - 1070, - 10813, - 4867, - 3756, - 10233, - 15928, - 8382, - 12078, - 18420, - 17258, - 4878, - 12283, - 17068, - 4248, - 16703, - 9311, - 2045, - 18343, - 17825, - 4168, - 1825, - 8244, - 5502, - 12595, - 8168, - 4956, - 12881, - 18171, - 6649, - 11081, - 7892, - 9164, - 3871, - 14367, - 11588, - 17814, - 344, - 1998, - 1102, - 8119, - 18009, - 16684, - 8793, - 207, - 6830, - 13744, - 19197, - 16239, - 1036, - 15635, - 19678, - 16322, - 16168, - 9897, - 9824, - 11231, - 772, - 9436, - 6130, - 5895, - 3151, - 10844, - 2921, - 6312, - 6629, - 5870, - 18153, - 17523, - 618, - 10304, - 14222, - 9303, - 19785, - 11641, - 8034, - 4426, - 4591, - 5685, - 11507, - 3010, - 2715, - 6685, - 6361, - 6307, - 997, - 2313, - 9668, - 17667, - 16771, - 6022, - 17558, - 15793, - 12197, - 12815, - 13201, - 16414, - 13934, - 14963, - 1339, - 6688, - 17957, - 1621, - 19854, - 1894, - 8637, - 6388, - 1950, - 13503, - 7955, - 10906, - 9425, - 17912, - 19167, - 7354, - 11090, - 4541, - 13501, - 15228, - 7142, - 13854, - 6581, - 12936, - 3602, - 8725, - 2332, - 10860, - 677, - 18054, - 15393, - 18043, - 13255, - 17860, - 10818, - 6938, - 1263, - 14724, - 12924, - 11832, - 18033, - 1010, - 8715, - 5876, - 50, - 19156, - 1359, - 17424, - 7251, - 14822, - 2628, - 19210, - 1063, - 10513, - 7582, - 17469, - 5973, - 1874, - 10945, - 1015, - 4602, - 10809, - 10752, - 19620, - 16819, - 2399, - 19347, - 6590, - 14161, - 14382, - 11779, - 11022, - 2217, - 7681, - 14879, - 11205, - 15469, - 10471, - 7042, - 1919, - 12346, - 11971, - 6602, - 9477, - 17994, - 17963, - 12141, - 16040, - 11444, - 18240, - 11465, - 15917, - 12624, - 7936, - 224, - 16615, - 5483, - 14996, - 18312, - 12935, - 1868, - 7072, - 7486, - 2133, - 10314, - 12862, - 10287, - 3551, - 7669, - 18300, - 15534, - 7024, - 2606, - 7467, - 711, - 741, - 18117, - 17664, - 18932, - 16381, - 2549, - 13897, - 13708, - 9850, - 4660, - 17598, - 12049, - 15747, - 2284, - 10063, - 18898, - 5769, - 14918, - 6918, - 19884, - 10362, - 18911, - 2227, - 13246, - 4264, - 8739, - 4551, - 9265, - 17097, - 665, - 10448, - 354, - 9386, - 5227, - 4871, - 314, - 15560, - 7737, - 186, - 9744, - 4917, - 3662, - 7733, - 6092, - 3864, - 3877, - 14393, - 11042, - 15048, - 1500, - 18606, - 12526, - 12715, - 18253, - 13321, - 8587, - 9922, - 2259, - 16958, - 3491, - 16965, - 11278, - 16651, - 11962, - 9365, - 16687, - 8317, - 1018, - 15426, - 13491, - 17123, - 13123, - 8762, - 8279, - 6103, - 7910, - 10580, - 6844, - 6665, - 8480, - 11269, - 8916, - 3884, - 15195, - 10824, - 18122, - 12359, - 502, - 13410, - 6005, - 195, - 3892, - 5234, - 18192, - 5857, - 7543, - 1386, - 3660, - 9300, - 7930, - 6029, - 3766, - 12575, - 16931, - 4034, - 5145, - 9259, - 11739, - 16056, - 9368, - 7831, - 11030, - 2699, - 11679, - 6218, - 2027, - 6576, - 17217, - 5329, - 2088, - 16732, - 4338, - 1566, - 8919, - 10991, - 10175, - 12376, - 794, - 8192, - 425, - 15637, - 12844, - 12839, - 10315, - 15409, - 15203, - 12810, - 15043, - 546, - 6475, - 2513, - 13042, - 11879, - 4572, - 8609, - 8469, - 4162, - 15619, - 518, - 295, - 10138, - 7256, - 17341, - 9122, - 10943, - 19329, - 13128, - 19954, - 8426, - 19542, - 17564, - 6265, - 18412, - 12691, - 12373, - 17203, - 5457, - 11624, - 2112, - 7997, - 8314, - 2256, - 17721, - 15445, - 14541, - 5066, - 18981, - 5526, - 11681, - 12340, - 11469, - 9775, - 512, - 17622, - 5484, - 11002, - 19081, - 8289, - 11347, - 4493, - 17938, - 9424, - 19376, - 9548, - 2456, - 18562, - 9736, - 2279, - 18705, - 7173, - 2789, - 17507, - 18686, - 12732, - 7560, - 19848, - 19165, - 18228, - 6614, - 19307, - 9485, - 17517, - 5282, - 288, - 14307, - 12563, - 1993, - 14553, - 0, - 5418, - 14759, - 11855, - 15031, - 6201, - 9858, - 4010, - 5781, - 12721, - 8018, - 8630, - 9823, - 16907, - 10324, - 3283, - 14427, - 15873, - 1934, - 16007, - 16280, - 10657, - 19235, - 19230, - 10838, - 13635, - 14543, - 17289, - 1669, - 3922, - 6957, - 11485, - 16892, - 18465, - 19220, - 9856, - 625, - 17321, - 19335, - 13591, - 4326, - 12614, - 3224, - 4399, - 7938, - 3744, - 16979, - 3228, - 8260, - 14290, - 13067, - 2015, - 7513, - 1210, - 3711, - 12523, - 14073, - 2759, - 19319, - 2536, - 7023, - 1198, - 5658, - 179, - 18264, - 3270, - 16411, - 17161, - 7239, - 8462, - 5642, - 12870, - 11706, - 12943, - 17659, - 2550, - 5229, - 3441, - 15531, - 14882, - 2733, - 8090, - 16738, - 15392, - 3990, - 17640, - 18599, - 13168, - 1266, - 4906, - 7177, - 3735, - 7694, - 11499, - 17081, - 14664, - 1291, - 8706, - 3897, - 4222, - 18275, - 15006, - 16362, - 6363, - 2484, - 9260, - 18860, - 17461, - 1930, - 1023, - 8764, - 19686, - 19724, - 17223, - 8579, - 9626, - 3265, - 10842, - 7847, - 2017, - 15194, - 19439, - 2601, - 16151, - 1182, - 4279, - 774, - 14208, - 1921, - 4291, - 547, - 1199, - 2992, - 938, - 5533, - 16572, - 17333, - 5586, - 2184, - 19206, - 19101, - 9317, - 2589, - 11515, - 358, - 17205, - 8851, - 6909, - 1723, - 3093, - 18112, - 16399, - 7108, - 1942, - 9918, - 12702, - 11506, - 13511, - 15848, - 17954, - 16925, - 16421, - 10203, - 1355, - 7534, - 8872, - 16524, - 7770, - 13544, - 19444, - 9381, - 17359, - 18607, - 12013, - 15889, - 8679, - 11379, - 19399, - 19185, - 14336, - 10934, - 4354, - 10095, - 10996, - 5354, - 14711, - 13469, - 7778, - 6376, - 2792, - 5209, - 17603, - 10700, - 11298, - 16069, - 13447, - 7611, - 13160, - 3092, - 16557, - 18348, - 8288, - 6200, - 19386, - 9011, - 19245, - 8210, - 18339, - 19858, - 2680, - 7031, - 4316, - 4218, - 15474, - 7445, - 10629, - 11598, - 5519, - 16582, - 13395, - 8977, - 11454, - 9302, - 7420, - 12507, - 17077, - 16626, - 18663, - 1697, - 1780, - 15221, - 12781, - 15497, - 2771, - 966, - 1202, - 12594, - 16364, - 16815, - 12789, - 2365, - 10120, - 13198, - 7978, - 6205, - 13197, - 15310, - 5057, - 18952, - 14616, - 1007, - 4760, - 17120, - 12911, - 17720, - 16619, - 5885, - 8172, - 15021, - 7587, - 15724, - 9556, - 3842, - 8056, - 13362, - 15045, - 8832, - 15072, - 19468, - 2765, - 15486, - 11318, - 15614, - 18598, - 1937, - 15130, - 3732, - 17581, - 17315, - 4471, - 183, - 3345, - 7261, - 6925, - 4116, - 18741, - 14908, - 19572, - 9665, - 17699, - 3433, - 19063, - 10321, - 7705, - 19502, - 5261, - 10651, - 2348, - 12922, - 5779, - 16541, - 14227, - 15503, - 17694, - 8584, - 537, - 15652, - 15270, - 7328, - 5441, - 14933, - 3636, - 2098, - 8186, - 6740, - 2394, - 19990, - 8092, - 12531, - 3320, - 16478, - 18679, - 7572, - 1261, - 3694, - 3639, - 12278, - 13122, - 3116, - 14445, - 18272, - 4209, - 1022, - 1130, - 5455, - 5988, - 1297, - 18143, - 6252, - 1271, - 6826, - 7005, - 18712, - 6499, - 10225, - 8362, - 17959, - 8856, - 14209, - 18208, - 3537, - 15274, - 6427, - 1418, - 4542, - 7010, - 19782, - 5800, - 10064, - 16449, - 13412, - 13851, - 9443, - 17347, - 18538, - 11764, - 5937, - 3580, - 16044, - 13673, - 15752, - 9791, - 19351, - 1920, - 10084, - 3749, - 14426, - 18362, - 4951, - 7271, - 247, - 6789, - 15731, - 4483, - 14948, - 6564, - 7249, - 11479, - 19082, - 13950, - 14404, - 8814, - 2388, - 13436, - 12253, - 11775, - 15845, - 15205, - 10885, - 11840, - 2255, - 10400, - 14067, - 9559, - 3553, - 12533, - 14734, - 20, - 12515, - 10423, - 10997, - 8153, - 11037, - 10538, - 14916, - 16263, - 6981, - 7000, - 15345, - 1624, - 7744, - 926, - 2887, - 7807, - 3752, - 19763, - 14646, - 2627, - 17773, - 17712, - 11427, - 2020, - 8896, - 14487, - 19830, - 18539, - 17470, - 10212, - 15161, - 16737, - 10561, - 3720, - 11760, - 12467, - 18516, - 14221, - 19385, - 12151, - 11822, - 192, - 2169, - 15248, - 15653, - 13748, - 6324, - 5760, - 12006, - 7590, - 17233, - 1760, - 9068, - 12223, - 5896, - 6178, - 6230, - 1488, - 12854, - 15315, - 16669, - 2595, - 7090, - 15607, - 17790, - 2107, - 3903, - 18307, - 8676, - 11292, - 12436, - 7092, - 6394, - 2129, - 9696, - 8397, - 6285, - 3651, - 4972, - 1006, - 19821, - 1498, - 6570, - 11376, - 10067, - 244, - 15202, - 18646, - 1707, - 15370, - 5267, - 7165, - 1884, - 12831, - 18805, - 18418, - 253, - 8894, - 2816, - 8221, - 11399, - 4497, - 10905, - 596, - 14751, - 5829, - 2651, - 1858, - 5026, - 7809, - 13631, - 16761, - 12298, - 15634, - 8013, - 6959, - 17751, - 4847, - 8629, - 6493, - 1361, - 3021, - 13978, - 19935, - 389, - 17017, - 6339, - 3896, - 2380, - 15665, - 6273, - 6399, - 11699, - 16935, - 12162, - 7096, - 16443, - 11277, - 4890, - 19996, - 14403, - 12864, - 10584, - 18581, - 18257, - 9180, - 17053, - 6970, - 4036, - 2135, - 8389, - 2842, - 10956, - 11999, - 6573, - 12520, - 12042, - 6816, - 851, - 803, - 9412, - 7618, - 12716, - 11640, - 13032, - 15115, - 17263, - 11076, - 17516, - 4484, - 17401, - 15650, - 532, - 18862, - 10009, - 18926, - 6088, - 14470, - 15865, - 6870, - 18528, - 9967, - 15359, - 2936, - 12705, - 18243, - 8800, - 4612, - 19680, - 4961, - 6764, - 5233, - 5303, - 8198, - 8332, - 6796, - 4465, - 7322, - 7932, - 1975, - 7998, - 13661, - 4072, - 3385, - 12188, - 14593, - 12933, - 14518, - 14912, - 10435, - 9701, - 14435, - 4436, - 5995, - 3124, - 18769, - 5205, - 19691, - 8868, - 14589, - 12312, - 11678, - 8581, - 2985, - 14763, - 6461, - 17116, - 3267, - 19725, - 118, - 2204, - 11875, - 6605, - 6997, - 9691, - 7626, - 16937, - 9225, - 14954, - 13622, - 17481, - 11443, - 8126, - 11361, - 9280, - 3322, - 2309, - 17073, - 1073, - 7703, - 15477, - 6042, - 15171, - 13406, - 9098, - 2448, - 17113, - 11296, - 121, - 7163, - 13984, - 4763, - 14175, - 13937, - 13837, - 2370, - 17400, - 1986, - 10569, - 5576, - 12281, - 9854, - 17048, - 6555, - 525, - 16183, - 18336, - 947, - 10286, - 5273, - 4197, - 18485, - 8727, - 1731, - 18401, - 10245, - 15530, - 334, - 5487, - 6469, - 19519, - 2087, - 505, - 19530, - 556, - 13649, - 9484, - 16977, - 3284, - 7490, - 9473, - 16509, - 6256, - 11073, - 4401, - 1099, - 15925, - 4998, - 17816, - 16826, - 16894, - 13787, - 2895, - 8273, - 17579, - 8974, - 18828, - 8124, - 17245, - 2846, - 17052, - 8885, - 12820, - 4283, - 14887, - 2123, - 6706, - 4458, - 13187, - 4455, - 14765, - 8694, - 611, - 18603, - 2618, - 6032, - 12387, - 15986, - 9623, - 3081, - 7732, - 8999, - 18605, - 1656, - 8173, - 7988, - 6813, - 5183, - 18529, - 10088, - 8497, - 2812, - 406, - 8449, - 13, - 2741, - 10145, - 1922, - 2097, - 3724, - 6653, - 18323, - 19058, - 2202, - 5027, - 6149, - 4668, - 25, - 17752, - 18558, - 3012, - 8413, - 8582, - 7004, - 17831, - 10183, - 15639, - 13754, - 17982, - 1796, - 11187, - 7019, - 15617, - 13264, - 2979, - 10381, - 13256, - 6054, - 12447, - 9663, - 6159, - 3677, - 10490, - 373, - 2128, - 19040, - 14191, - 15421, - 12809, - 112, - 3585, - 2226, - 11211, - 14864, - 6006, - 15321, - 16764, - 7518, - 4258, - 10790, - 3094, - 19650, - 14021, - 4962, - 6774, - 8296, - 15303, - 63, - 13971, - 3728, - 12428, - 17821, - 16777, - 1391, - 11263, - 7145, - 11095, - 1325, - 3525, - 16025, - 5656, - 18689, - 1468, - 5667, - 5339, - 16408, - 14870, - 9710, - 15414, - 10069, - 17452, - 15616, - 19869, - 3941, - 1841, - 8505, - 10764, - 4910, - 10897, - 10633, - 15704, - 8873, - 8678, - 9683, - 4588, - 2878, - 16903, - 9931, - 15526, - 16384, - 12709, - 494, - 1552, - 3879, - 15955, - 8646, - 18534, - 2036, - 10768, - 1375, - 12985, - 12414, - 10383, - 9077, - 7199, - 19627, - 6956, - 10461, - 11062, - 16092, - 17082, - 14850, - 16917, - 13473, - 19056, - 8893, - 9134, - 18597, - 19289, - 2429, - 6122, - 13183, - 11880, - 372, - 1157, - 12137, - 17112, - 8309, - 3268, - 14185, - 843, - 4163, - 5573, - 16108, - 7051, - 10361, - 18007, - 3388, - 17153, - 15447, - 10055, - 821, - 10855, - 5897, - 2242, - 16705, - 1076, - 4756, - 3583, - 4281, - 17756, - 18863, - 18744, - 1704, - 3698, - 9367, - 19287, - 19842, - 13824, - 18751, - 7003, - 17276, - 10627, - 10939, - 8098, - 2228, - 5559, - 1352, - 15823, - 19868, - 9035, - 9571, - 10892, - 6064, - 5159, - 9940, - 7306, - 10359, - 14401, - 5121, - 17876, - 18002, - 14663, - 275, - 5415, - 17690, - 14591, - 17032, - 15776, - 19967, - 10033, - 15913, - 265, - 10059, - 13651, - 804, - 6331, - 4943, - 18026, - 15343, - 14500, - 2781, - 17275, - 12883, - 15797, - 19256, - 9490, - 14683, - 2031, - 9174, - 18110, - 3762, - 403, - 5814, - 10215, - 4395, - 1600, - 3601, - 12497, - 1939, - 16829, - 17252, - 8954, - 15707, - 9245, - 61, - 17512, - 9845, - 13890, - 9291, - 12125, - 5666, - 5464, - 13376, - 5007, - 2336, - 14398, - 18916, - 16636, - 8792, - 12343, - 8491, - 19447, - 6043, - 12838, - 10043, - 1807, - 592, - 16583, - 18109, - 7871, - 14845, - 3894, - 13946, - 13550, - 10189, - 13995, - 4329, - 16155, - 5343, - 19997, - 10743, - 18958, - 8331, - 17443, - 13758, - 5524, - 4247, - 3428, - 18052, - 17055, - 18922, - 19508, - 6308, - 12919, - 239, - 14324, - 16061, - 15948, - 5940, - 6454, - 11253, - 6915, - 2165, - 8847, - 8542, - 14906, - 14651, - 19978, - 5668, - 3412, - 14024, - 11451, - 8078, - 145, - 15277, - 14443, - 19138, - 19570, - 10134, - 15705, - 13229, - 18322, - 6732, - 8095, - 13710, - 4416, - 9633, - 17119, - 2270, - 17406, - 15175, - 14156, - 5917, - 4300, - 4691, - 17227, - 420, - 18330, - 9528, - 12545, - 243, - 18925, - 5515, - 9518, - 6109, - 10857, - 19489, - 18184, - 14333, - 1923, - 4680, - 6079, - 18967, - 8926, - 71, - 12410, - 2424, - 5722, - 17971, - 6566, - 13878, - 6381, - 16630, - 6741, - 8293, - 8087, - 16349, - 2794, - 2913, - 5715, - 18520, - 967, - 3963, - 573, - 311, - 16811, - 11573, - 6612, - 6368, - 10805, - 19920, - 14785, - 19288, - 11219, - 18919, - 4837, - 15350, - 7982, - 7990, - 792, - 13692, - 6435, - 17093, - 17654, - 13066, - 15407, - 6023, - 2874, - 6119, - 9269, - 499, - 18095, - 18415, - 1843, - 16272, - 17671, - 15872, - 13035, - 14339, - 5364, - 11220, - 9358, - 7412, - 5864, - 10056, - 17620, - 18765, - 9193, - 2304, - 8392, - 14286, - 9168, - 1907, - 8024, - 14939, - 1306, - 9066, - 4901, - 19913, - 416, - 15527, - 10735, - 13907, - 1826, - 17473, - 14210, - 9684, - 17350, - 13484, - 13009, - 5889, - 830, - 13106, - 1164, - 16774, - 18845, - 6046, - 2905, - 17566, - 15601, - 19290, - 6531, - 4319, - 16149, - 1864, - 13826, - 7167, - 11097, - 17009, - 4492, - 10550, - 8639, - 4525, - 6210, - 5881, - 18634, - 16090, - 2450, - 273, - 10119, - 15095, - 5585, - 5720, - 19236, - 9460, - 3848, - 10494, - 18591, - 10656, - 3009, - 14188, - 19002, - 13524, - 8062, - 7536, - 12592, - 8941, - 6390, - 1504, - 8752, - 17678, - 12486, - 18195, - 6033, - 12031, - 15192, - 6409, - 18076, - 4814, - 1350, - 19292, - 7453, - 3615, - 17172, - 12437, - 18376, - 15763, - 4270, - 9652, - 9147, - 10963, - 19284, - 8948, - 19137, - 4374, - 12519, - 15463, - 3449, - 2611, - 5861, - 11776, - 15329, - 2025, - 15540, - 14766, - 18517, - 12395, - 16463, - 4174, - 15028, - 5754, - 3310, - 11785, - 12210, - 8942, - 3929, - 18034, - 6511, - 14731, - 13650, - 8345, - 19149, - 13273, - 12297, - 13672, - 3070, - 3787, - 18405, - 5752, - 9370, - 14534, - 9800, - 11247, - 14611, - 15911, - 9874, - 5093, - 18617, - 14754, - 5856, - 256, - 3923, - 7154, - 8373, - 11293, - 18868, - 1982, - 17904, - 4314, - 127, - 6624, - 10921, - 13190, - 3827, - 3329, - 16658, - 15053, - 19864, - 5653, - 10214, - 14277, - 12490, - 3754, - 15801, - 14297, - 8326, - 8493, - 4714, - 5043, - 19651, - 19797, - 8154, - 15420, - 5951, - 8858, - 14666, - 18331, - 17351, - 4379, - 4022, - 17724, - 3314, - 13153, - 2621, - 16934, - 16230, - 17757, - 9486, - 7651, - 8226, - 466, - 11974, - 2427, - 18796, - 8632, - 6812, - 7697, - 13871, - 9396, - 14476, - 19643, - 4381, - 2053, - 14053, - 17485, - 3104, - 3838, - 11559, - 11482, - 2705, - 19901, - 4727, - 7339, - 14237, - 19458, - 13749, - 16549, - 10401, - 7198, - 7596, - 1192, - 5276, - 4796, - 19180, - 17468, - 7404, - 7943, - 11577, - 19477, - 16709, - 3225, - 6071, - 10281, - 16348, - 5442, - 17594, - 337, - 323, - 14413, - 8508, - 17713, - 9916, - 2596, - 10481, - 18001, - 17601, - 9806, - 504, - 19905, - 9828, - 1172, - 3634, - 531, - 13868, - 14604, - 17983, - 12801, - 15953, - 3902, - 3598, - 16225, - 2327, - 10922, - 16206, - 18543, - 8723, - 2460, - 8396, - 13562, - 4423, - 17300, - 7521, - 19383, - 1420, - 1098, - 4220, - 7100, - 5931, - 18155, - 10998, - 3485, - 17865, - 14167, - 12105, - 13097, - 15862, - 12393, - 6114, - 14762, - 10776, - 5692, - 2519, - 4632, - 14810, - 376, - 13500, - 877, - 6378, - 12269, - 7900, - 1814, - 10001, - 16803, - 16290, - 8174, - 11056, - 3289, - 9647, - 1129, - 12784, - 18430, - 6175, - 14987, - 12974, - 431, - 11331, - 8710, - 17792, - 6818, - 17662, - 398, - 7179, - 9965, - 19270, - 18468, - 16129, - 2768, - 7362, - 332, - 10524, - 3502, - 18994, - 15307, - 2511, - 17480, - 7091, - 6116, - 16357, - 17110, - 4506, - 6601, - 16258, - 12252, - 11162, - 15362, - 8758, - 17575, - 15352, - 8117, - 18627, - 19310, - 14381, - 6596, - 14074, - 1967, - 17085, - 11934, - 8788, - 7148, - 7908, - 1969, - 13381, - 17486, - 4235, - 17173, - 3166, - 5597, - 16972, - 3817, - 11612, - 2094, - 9432, - 4609, - 9155, - 19061, - 18219, - 18078, - 8343, - 1887, - 19900, - 4750, - 13558, - 7110, - 7856, - 6785, - 18494, - 4574, - 944, - 12674, - 6858, - 7300, - 1045, - 10369, - 12145, - 14809, - 2254, - 11722, - 614, - 18426, - 4012, - 477, - 1411, - 18031, - 19367, - 3002, - 328, - 4057, - 8048, - 9494, - 19065, - 17307, - 18471, - 1947, - 1865, - 9399, - 14891, - 18113, - 2298, - 14439, - 16071, - 11607, - 2449, - 8110, - 6720, - 11378, - 17016, - 11074, - 13850, - 10714, - 3611, - 7406, - 2701, - 5156, - 13965, - 5791, - 9527, - 15083, - 16158, - 388, - 15702, - 4526, - 7904, - 5775, - 4078, - 14869, - 18483, - 18566, - 5158, - 8917, - 13696, - 7381, - 9501, - 1824, - 12187, - 2839, - 7672, - 2833, - 5762, - 5930, - 15991, - 4533, - 13455, - 2249, - 341, - 9937, - 8595, - 1133, - 16486, - 10542, - 1141, - 17080, - 11857, - 6336, - 4610, - 5034, - 12471, - 4880, - 15518, - 6383, - 10292, - 12149, - 8290, - 16422, - 15544, - 16794, - 2882, - 12177, - 35, - 2352, - 10828, - 5410, - 17889, - 673, - 8009, - 6725, - 18072, - 17298, - 8897, - 14440, - 11900, - 17026, - 733, - 9805, - 17873, - 5201, - 5540, - 5942, - 6351, - 14967, - 14726, - 1517, - 12418, - 3643, - 12334, - 10916, - 9398, - 3935, - 14631, - 10919, - 11526, - 7937, - 18944, - 18748, - 16319, - 9334, - 17514, - 7570, - 19841, - 13152, - 10971, - 15067, - 5492, - 2708, - 884, - 9909, - 367, - 4848, - 4699, - 5706, - 12766, - 15458, - 1585, - 345, - 12275, - 16075, - 3953, - 953, - 6125, - 19535, - 7769, - 2804, - 2174, - 4155, - 16552, - 19995, - 18713, - 14563, - 3087, - 10397, - 4620, - 15065, - 7970, - 17210, - 9873, - 4103, - 4207, - 2110, - 6068, - 8631, - 12843, - 14121, - 16877, - 18642, - 15136, - 14115, - 15935, - 7559, - 13004, - 14661, - 19068, - 10848, - 16729, - 6552, - 7606, - 7642, - 3913, - 11353, - 2615, - 12796, - 12228, - 5430, - 13413, - 7655, - 312, - 1634, - 5877, - 9329, - 8068, - 17909, - 17906, - 16998, - 13975, - 8167, - 12646, - 1067, - 6117, - 6845, - 12390, - 17029, - 9251, - 1151, - 7337, - 8194, - 6943, - 3648, - 10442, - 12505, - 10365, - 19014, - 2702, - 16762, - 14829, - 3915, - 11946, - 13441, - 13665, - 8576, - 402, - 7784, - 5565, - 11077, - 9930, - 11429, - 7292, - 2402, - 4091, - 18224, - 13043, - 12916, - 18211, - 4032, - 5127, - 1330, - 5746, - 11301, - 5275, - 14625, - 4622, - 17070, - 17373, - 17638, - 3340, - 6529, - 6664, - 3911, - 6504, - 11836, - 3723, - 526, - 13343, - 12119, - 3083, - 14587, - 4412, - 19388, - 15207, - 10852, - 18176, - 2040, - 1336, - 16953, - 8099, - 2151, - 7226, - 16545, - 7315, - 14232, - 1742, - 17109, - 986, - 10467, - 3818, - 4568, - 9465, - 15545, - 15904, - 12802, - 6309, - 19402, - 3391, - 2912, - 18108, - 9150, - 19568, - 2664, - 3856, - 17578, - 5819, - 12785, - 19263, - 14539, - 13829, - 16173, - 13780, - 15452, - 6497, - 4310, - 5203, - 6298, - 7610, - 6287, - 11666, - 1614, - 2005, - 11738, - 10355, - 969, - 18189, - 19181, - 1657, - 5550, - 8607, - 1512, - 12020, - 180, - 9816, - 17965, - 7740, - 14033, - 15324, - 15066, - 19776, - 1219, - 19391, - 2477, - 2712, - 1470, - 5723, - 18010, - 6085, - 2974, - 8685, - 904, - 617, - 15636, - 9081, - 17376, - 633, - 11251, - 15549, - 9732, - 12841, - 13615, - 4107, - 1716, - 10517, - 2333, - 4251, - 12271, - 14417, - 12869, - 12967, - 7537, - 5546, - 11417, - 16604, - 655, - 19251, - 11833, - 2510, - 4446, - 8060, - 7985, - 4008, - 10662, - 13399, - 1949, - 10144, - 19276, - 14030, - 16204, - 15363, - 14039, - 12110, - 14576, - 9261, - 9014, - 2322, - 10721, - 12650, - 4963, - 9012, - 2442, - 11844, - 10903, - 15170, - 15368, - 9949, - 17808, - 5665, - 15356, - 16538, - 1838, - 10093, - 1094, - 13737, - 12701, - 14549, - 1545, - 10165, - 16995, - 9642, - 19577, - 8118, - 19224, - 3942, - 4150, - 608, - 7614, - 17219, - 16406, - 3248, - 18280, - 17357, - 3930, - 5337, - 12722, - 11571, - 5294, - 1943, - 8341, - 1356, - 6971, - 12581, - 13422, - 33, - 13928, - 12998, - 7260, - 19398, - 14332, - 12503, - 11001, - 5641, - 16291, - 18356, - 1805, - 15242, - 11923, - 8707, - 2786, - 18032, - 7342, - 8452, - 16502, - 2523, - 16828, - 8951, - 3436, - 4097, - 15082, - 18659, - 10290, - 3865, - 7854, - 853, - 9751, - 7511, - 3582, - 16194, - 12879, - 13357, - 14944, - 3685, - 11735, - 2711, - 17985, - 10951, - 1234, - 9785, - 13916, - 302, - 12296, - 9024, - 725, - 9036, - 6120, - 12114, - 5173, - 19437, - 11724, - 9906, - 13216, - 18907, - 3451, - 4543, - 15510, - 3033, - 1020, - 6839, - 12966, - 12192, - 4817, - 10385, - 3060, - 8133, - 8442, - 3949, - 5222, - 3776, - 16533, - 3043, - 19286, - 10340, - 15647, - 10693, - 17878, - 15143, - 46, - 17775, - 1097, - 106, - 17541, - 10881, - 16510, - 13835, - 15342, - 11178, - 16595, - 6262, - 4679, - 7779, - 12254, - 15842, - 9000, - 12597, - 4721, - 15032, - 3989, - 6139, - 13486, - 7489, - 2054, - 14728, - 16417, - 17335, - 9026, - 18770, - 7566, - 457, - 13797, - 1047, - 4341, - 9278, - 16905, - 12668, - 13451, - 4778, - 9069, - 6407, - 9753, - 8234, - 9479, - 8053, - 18992, - 11493, - 7274, - 10578, - 19952, - 19532, - 12240, - 11046, - 11926, - 19770, - 8252, - 6627, - 1898, - 922, - 6142, - 13505, - 10583, - 11489, - 12696, - 7044, - 10028, - 17735, - 18959, - 18101, - 6066, - 10769, - 7498, - 13594, - 10278, - 6558, - 2508, - 12946, - 12542, - 6473, - 17658, - 8475, - 13993, - 1662, - 3971, - 11339, - 9203, - 15235, - 2095, - 4301, - 11856, - 16886, - 17827, - 11358, - 9956, - 13202, - 9721, - 12513, - 3399, - 2796, - 4109, - 854, - 6170, - 481, - 11323, - 10198, - 14502, - 6515, - 7866, - 16331, - 16231, - 5439, - 10792, - 19965, - 18024, - 16838, - 16409, - 883, - 9658, - 19941, - 19034, - 16701, - 6235, - 19590, - 16441, - 10262, - 18173, - 1161, - 10993, - 12657, - 6225, - 5811, - 13922, - 14046, - 9581, - 10317, - 16296, - 17897, - 7285, - 10663, - 6536, - 2820, - 11509, - 2294, - 8933, - 15401, - 18792, - 8019, - 17863, - 17835, - 3361, - 18995, - 12478, - 4893, - 8344, - 7429, - 11665, - 6751, - 8816, - 18791, - 3165, - 10179, - 5998, - 14679, - 6290, - 12631, - 11132, - 17092, - 14159, - 8734, - 7845, - 14318, - 2578, - 6057, - 19998, - 4927, - 2344, - 13991, - 4277, - 16558, - 11314, - 15736, - 9487, - 5907, - 9849, - 10002, - 8744, - 7901, - 12551, - 16809, - 15926, - 7586, - 9420, - 5724, - 9881, - 1479, - 13627, - 4846, - 957, - 9686, - 17181, - 19048, - 19431, - 2542, - 9342, - 19658, - 12948, - 8803, - 11403, - 13866, - 14748, - 18190, - 19539, - 19143, - 9457, - 291, - 5513, - 871, - 6238, - 9403, - 6502, - 1598, - 17621, - 1347, - 14132, - 190, - 1496, - 4367, - 5363, - 14983, - 19605, - 6434, - 1059, - 5679, - 85, - 4617, - 167, - 6817, - 8076, - 11447, - 3393, - 4544, - 16981, - 707, - 16066, - 16775, - 16512, - 16214, - 9703, - 12457, - 13223, - 11196, - 12615, - 14676, - 18669, - 12392, - 15794, - 4862, - 10621, - 12132, - 8313, - 18693, - 18812, - 1175, - 2069, - 4084, - 19333, - 9567, - 3753, - 19953, - 1806, - 8370, - 7015, - 2363, - 4853, - 6990, - 4705, - 17308, - 9758, - 15416, - 9306, - 17896, - 7442, - 8236, - 8830, - 3350, - 15033, - 8384, - 13194, - 19685, - 7720, - 3036, - 9588, - 2411, - 19850, - 17528, - 17696, - 8352, - 2634, - 19533, - 4761, - 1252, - 17002, - 17599, - 16842, - 8745, - 12616, - 6984, - 14042, - 14189, - 18439, - 9562, - 15160, - 5044, - 8439, - 10231, - 12836, - 7581, - 13563, - 16052, - 14688, - 7696, - 8895, - 927, - 9656, - 18782, - 19973, - 6891, - 16136, - 6442, - 6360, - 4517, - 14662, - 4450, - 11951, - 6548, - 16415, - 13894, - 17500, - 11773, - 11043, - 12473, - 14283, - 12990, - 9957, - 6647, - 12333, - 15843, - 1399, - 11405, - 7667, - 11325, - 13823, - 5817, - 13173, - 5976, - 17262, - 7709, - 9221, - 3025, - 16668, - 5042, - 6535, - 581, - 5355, - 18267, - 18661, - 17747, - 5705, - 17692, - 18556, - 13342, - 5646, - 60, - 14950, - 1712, - 8822, - 12917, - 7818, - 6226, - 919, - 8123, - 12757, - 9051, - 6599, - 6717, - 3539, - 694, - 12725, - 12386, - 1315, - 115, - 18386, - 17035, - 8824, - 14904, - 4176, - 4634, - 5160, - 16939, - 10960, - 1793, - 6428, - 1777, - 9016, - 3712, - 17152, - 8853, - 10030, - 12245, - 9374, - 19070, - 5627, - 910, - 10140, - 1484, - 17955, - 5736, - 16634, - 6989, - 18739, - 6950, - 19324, - 8539, - 15700, - 12152, - 19207, - 13652, - 7663, - 17180, - 15829, - 15866, - 6591, - 12135, - 10386, - 15709, - 6107, - 4875, - 6626, - 299, - 13693, - 70, - 15084, - 6554, - 3007, - 8753, - 10274, - 8262, - 11524, - 13450, - 14791, - 13912, - 7468, - 15251, - 11309, - 1574, - 990, - 9161, - 3486, - 19361, - 1417, - 11713, - 952, - 16167, - 1237, - 11645, - 5816, - 19863, - 8546, - 5324, - 9021, - 10983, - 5219, - 7729, - 17096, - 3956, - 4912, - 122, - 9572, - 10038, - 8084, - 13431, - 7849, - 11344, - 9914, - 1583, - 8593, - 4133, - 12360, - 16430, - 12977, - 8285, - 19266, - 233, - 10548, - 5003, - 1158, - 15467, - 9182, - 4230, - 19521, - 7216, - 7890, - 3190, - 17228, - 2854, - 19069, - 1962, - 586, - 16005, - 11786, - 9819, - 1255, - 4902, - 11007, - 16605, - 19512, - 14391, - 5945, - 10130, - 2656, - 3609, - 12983, - 1362, - 958, - 664, - 2623, - 3659, - 11174, - 1250, - 12413, - 3837, - 15169, - 2461, - 2709, - 18641, - 3810, - 19986, - 2335, - 15157, - 6996, - 34, - 14670, - 15860, - 6578, - 18852, - 10557, - 19108, - 15239, - 14097, - 18213, - 3714, - 4444, - 9207, - 18927, - 17754, - 18644, - 16057, - 392, - 3316, - 1971, - 17250, - 2375, - 10450, - 16553, - 8696, - 15963, - 3718, - 13873, - 15142, - 14710, - 15773, - 6521, - 3141, - 10295, - 10745, - 13487, - 6127, - 6476, - 5266, - 4447, - 11771, - 15353, - 3404, - 18249, - 227, - 8116, - 12448, - 5701, - 3588, - 17115, - 15127, - 6928, - 9022, - 13634, - 3332, - 17462, - 2928, - 11663, - 10223, - 11818, - 10628, - 6922, - 11335, - 7011, - 2474, - 6306, - 12846, - 1703, - 19515, - 18448, - 18949, - 2904, - 17392, - 10607, - 5391, - 15891, - 19670, - 12292, - 13483, - 10872, - 18509, - 16750, - 13007, - 13199, - 5144, - 14260, - 13806, - 18239, - 4863, - 12441, - 1497, - 16030, - 4302, - 24, - 17197, - 6136, - 16978, - 6179, - 5741, - 4333, - 11845, - 18858, - 11981, - 767, - 15262, - 13700, - 907, - 16330, - 5832, - 3786, - 548, - 8914, - 2455, - 15918, - 8910, - 14999, - 906, - 11943, - 7048, - 16938, - 19404, - 4178, - 12469, - 3131, - 15167, - 8805, - 6048, - 14400, - 13895, - 15896, - 5909, - 10024, - 13386, - 5321, - 11599, - 3655, - 8302, - 945, - 12927, - 19803, - 5196, - 14665, - 19478, - 868, - 11940, - 816, - 19277, - 4328, - 17588, - 4980, - 8761, - 16326, - 4754, - 4405, - 11863, - 2638, - 12686, - 13240, - 18277, - 19009, - 9065, - 2560, - 19321, - 8968, - 19816, - 15826, - 10115, - 15222, - 4337, - 1349, - 18329, - 4583, - 16038, - 15999, - 17212, - 18050, - 4365, - 9072, - 17022, - 7926, - 2637, - 4592, - 14504, - 10431, - 15546, - 16859, - 9803, - 7883, - 16914, - 17291, - 8472, - 15297, - 8330, - 11346, - 18360, - 11153, - 3657, - 18834, - 5530, - 18437, - 1051, - 2023, - 6027, - 18278, - 6683, - 802, - 13520, - 19987, - 4430, - 384, - 16233, - 14017, - 18859, - 8532, - 5568, - 5291, - 16659, - 9591, - 19146, - 13515, - 14533, - 2188, - 17088, - 5983, - 6317, - 12442, - 12622, - 16470, - 14792, - 17960, - 3286, - 6525, - 9883, - 3416, - 12235, - 6389, - 9864, - 7898, - 12653, - 14635, - 18057, - 18250, - 1984, - 6961, - 13718, - 18989, - 17770, - 18780, - 13461, - 6586, - 4883, - 1508, - 9093, - 12108, - 2807, - 14934, - 19023, - 6913, - 5637, - 2198, - 2324, - 4244, - 16473, - 5469, - 9409, - 9646, - 4948, - 15559, - 18829, - 16200, - 10725, - 3319, - 11995, - 2873, - 16318, - 4, - 7787, - 14556, - 15443, - 10213, - 8756, - 7747, - 12867, - 4924, - 17511, - 19461, - 7923, - 15057, - 12267, - 9870, - 7323, - 18740, - 16184, - 699, - 19840, - 15844, - 1842, - 17868, - 3410, - 2190, - 7853, - 424, - 13507, - 1940, - 15498, - 1572, - 14049, - 971, - 12208, - 2599, - 10899, - 3171, - 7491, - 17874, - 14219, - 12738, - 124, - 17463, - 12246, - 1688, - 6676, - 3570, - 3612, - 6467, - 5610, - 12730, - 6003, - 4276, - 18736, - 7064, - 17165, - 11806, - 3312, - 9229, - 9579, - 10192, - 11152, - 9507, - 16185, - 136, - 8909, - 16951, - 5996, - 11870, - 16027, - 10014, - 9032, - 7893, - 3220, - 4267, - 12237, - 15419, - 14779, - 10121, - 14637, - 9298, - 1564, - 1553, - 7265, - 2953, - 11136, - 100, - 13040, - 4347, - 14035, - 14984, - 5815, - 17995, - 491, - 819, - 10551, - 12367, - 19097, - 17708, - 13147, - 17014, - 7835, - 9908, - 9194, - 4233, - 3088, - 8307, - 4616, - 15090, - 16228, - 8496, - 10206, - 8530, - 10522, - 19221, - 18094, - 7539, - 4539, - 11019, - 4769, - 3985, - 17553, - 4991, - 58, - 6289, - 2019, - 2647, - 1693, - 8836, - 6916, - 16117, - 11191, - 11667, - 11909, - 5733, - 8801, - 9360, - 11018, - 4123, - 18921, - 1966, - 16392, - 2520, - 15539, - 6488, - 5574, - 9063, - 5607, - 19555, - 1137, - 6784, - 11265, - 11696, - 1188, - 2464, - 13375, - 6827, - 237, - 5613, - 7345, - 5454, - 5372, - 17631, - 15495, - 10989, - 17779, - 12408, - 3843, - 9762, - 7101, - 7554, - 2691, - 11003, - 760, - 14216, - 5326, - 1203, - 11111, - 9983, - 7312, - 16663, - 16242, - 17238, - 357, - 18291, - 16085, - 13941, - 697, - 12423, - 4292, - 17535, - 17342, - 7228, - 15237, - 18470, - 4864, - 2314, - 2798, - 2906, - 16936, - 3298, - 7806, - 19007, - 5806, - 18670, - 1451, - 5630, - 7528, - 19173, - 15506, - 7178, - 15382, - 8833, - 3554, - 11817, - 2078, - 17465, - 15975, - 2836, - 17056, - 19087, - 10565, - 8703, - 9915, - 11698, - 8387, - 19219, - 14472, - 9401, - 18183, - 6174, - 2782, - 16675, - 11054, - 2845, - 10242, - 1963, - 4667, - 4307, - 8220, - 5456, - 892, - 3015, - 2245, - 1873, - 13385, - 2899, - 19252, - 13378, - 5482, - 1143, - 2892, - 17911, - 1804, - 1003, - 11021, - 9139, - 18583, - 15044, - 18154, - 10273, - 12744, - 2770, - 6270, - 7577, - 16833, - 7808, - 4725, - 6332, - 4462, - 19166, - 15457, - 17012, - 12746, - 13557, - 15815, - 19008, - 12944, - 16674, - 13577, - 5527, - 13087, - 15929, - 15188, - 28, - 1632, - 15411, - 2079, - 15333, - 12431, - 9831, - 983, - 5860, - 15335, - 13055, - 15582, - 6015, - 11789, - 7410, - 18074, - 10754, - 13446, - 18873, - 16983, - 16992, - 19977, - 15236, - 7234, - 13836, - 17948, - 17413, - 13131, - 3018, - 14932, - 11862, - 10880, - 7080, - 13154, - 10114, - 2180, - 12661, - 11969, - 13397, - 19857, - 10491, - 16295, - 1663, - 13778, - 8478, - 13553, - 15005, - 11652, - 5547, - 4225, - 9987, - 16956, - 7413, - 13903, - 12338, - 6414, - 5184, - 17521, - 9529, - 15287, - 19989, - 15326, - 7773, - 9566, - 15644, - 8790, - 17606, - 17513, - 18021, - 16681, - 2463, - 12994, - 4058, - 1410, - 8939, - 8558, - 19557, - 595, - 8772, - 5660, - 7171, - 1221, - 12852, - 12318, - 11392, - 5414, - 6350, - 5149, - 4584, - 15781, - 2349, - 15525, - 2603, - 15824, - 18498, - 11890, - 10974, - 4122, - 8704, - 18175, - 8287, - 19346, - 11608, - 13967, - 17732, - 11414, - 10409, - 19740, - 19317, - 6341, - 3589, - 15061, - 17637, - 3597, - 10914, - 12182, - 15499, - 811, - 16613, - 12044, - 14270, - 3460, - 12887, - 339, - 5320, - 14600, - 11, - 10182, - 18136, - 8881, - 4288, - 14288, - 7235, - 12202, - 9655, - 1489, - 8782, - 12704, - 8574, - 9812, - 9537, - 19295, - 5131, - 12310, - 2443, - 2737, - 13036, - 17986, - 12865, - 2351, - 14122, - 13986, - 860, - 19891, - 5824, - 5869, - 11010, - 4055, - 14272, - 10256, - 3344, - 1546, - 8494, - 19435, - 4688, - 1801, - 3977, - 1946, - 1344, - 4946, - 13877, - 18914, - 10178, - 646, - 14638, - 18574, - 9990, - 8590, - 18354, - 5496, - 19944, - 15813, - 4511, - 96, - 7201, - 19046, - 3836, - 10701, - 6802, - 13059, - 11574, - 3703, - 17151, - 5109, - 1506, - 5239, - 1156, - 18676, - 13988, - 15618, - 7912, - 13698, - 12931, - 13477, - 18371, - 2819, - 9041, - 1401, - 3599, - 8247, - 5249, - 9145, - 18881, - 18889, - 8732, - 12462, - 8096, - 18971, - 5709, - 10616, - 4152, - 14468, - 18649, - 4474, - 14325, - 12941, - 17552, - 16637, - 18559, - 6763, - 5380, - 4200, - 12183, - 12961, - 12301, - 13583, - 19239, - 8306, - 9478, - 1054, - 3324, - 5683, - 17758, - 11888, - 8684, - 605, - 9336, - 2292, - 16418, - 1762, - 5987, - 68, - 14429, - 12585, - 16205, - 2738, - 18427, - 6338, - 8554, - 5123, - 17627, - 4973, - 11154, - 18527, - 5304, - 19936, - 5718, - 19465, - 18876, - 2418, - 12963, - 6585, - 2840, - 14769, - 238, - 15722, - 8278, - 4287, - 11528, - 15569, - 5898, - 9390, - 6113, - 7218, - 6266, - 6897, - 17869, - 4040, - 15107, - 7133, - 1746, - 16955, - 5204, - 17464, - 15876, - 15638, - 3893, - 7446, - 7461, - 14524, - 17991, - 10994, - 9043, - 4597, - 10484, - 4879, - 11351, - 4759, - 6244, - 12111, - 12356, - 8733, - 8346, - 3966, - 17493, - 5237, - 14362, - 19118, - 7574, - 5606, - 15835, - 11575, - 13913, - 5251, - 1933, - 17363, - 16652, - 5852, - 19788, - 18692, - 19712, - 3626, - 3246, - 3678, - 16514, - 10107, - 16679, - 3987, - 13010, - 19673, - 2267, - 8378, - 3778, - 13741, - 2958, - 19053, - 15668, - 11851, - 16393, - 19017, - 5872, - 5657, - 11333, - 7646, - 8854, - 16294, - 5516, - 8195, - 8987, - 2050, - 366, - 418, - 5095, - 11625, - 8004, - 10259, - 17193, - 9191, - 18633, - 11190, - 3546, - 16867, - 9570, - 2471, - 6512, - 1876, - 11730, - 211, - 15071, - 3488, - 1892, - 14858, - 12479, - 14011, - 17282, - 4186, - 18245, - 14693, - 15011, - 12741, - 8386, - 17288, - 11458, - 4776, - 17036, - 7347, - 9402, - 7481, - 7652, - 14753, - 14408, - 5669, - 11727, - 14554, - 10447, - 1486, - 10800, - 3230, - 17214, - 9082, - 15952, - 19829, - 15003, - 12950, - 15936, - 4627, - 14450, - 9673, - 16077, - 4728, - 9829, - 16347, - 5929, - 3804, - 7568, - 1466, - 13428, - 11986, - 4246, - 15383, - 8091, - 18384, - 13675, - 14561, - 16801, - 18897, - 142, - 10456, - 10250, - 3523, - 7018, - 19597, - 15972, - 4227, - 1472, - 18241, - 362, - 6408, - 9781, - 19196, - 19109, - 9257, - 4183, - 2216, - 18657, - 4911, - 15624, - 189, - 3475, - 16120, - 4976, - 10074, - 7665, - 3377, - 3560, - 8082, - 12754, - 16900, - 14150, - 16051, - 19145, - 5336, - 5990, - 11343, - 16311, - 16445, - 8150, - 10757, - 17256, - 16697, - 18727, - 5560, - 13114, - 15631, - 18982, - 13593, - 15245, - 1861, - 11957, - 12735, - 1107, - 1303, - 2106, - 11137, - 18005, - 4807, - 1363, - 4429, - 670, - 5595, - 13857, - 5503, - 13100, - 6937, - 14566, - 8937, - 1426, - 9587, - 11609, - 2001, - 9419, - 13789, - 7846, - 15146, - 1412, - 11008, - 17806, - 14896, - 18105, - 10555, - 6848, - 8265, - 119, - 13538, - 11611, - 8216, - 3910, - 19488, - 18214, - 5349, - 16689, - 7440, - 18325, - 10012, - 9372, - 15819, - 934, - 903, - 9536, - 2241, - 214, - 12241, - 11216, - 3734, - 12623, - 1314, - 19174, - 8038, - 12303, - 7076, - 1080, - 4930, - 7357, - 7742, - 9101, - 16858, - 14961, - 12314, - 18650, - 13250, - 21, - 1218, - 18480, - 17746, - 18120, - 2453, - 7874, - 2570, - 16966, - 12782, - 16591, - 5910, - 11685, - 9628, - 3888, - 13923, - 13383, - 7602, - 17587, - 8845, - 5535, - 17457, - 14233, - 9453, - 3161, - 4311, - 2888, - 3534, - 9357, - 13025, - 6398, - 6976, - 7425, - 7373, - 14632, - 5331, - 6969, - 8402, - 17683, - 15939, - 19234, - 3909, - 14830, - 405, - 2546, - 10845, - 12904, - 17539, - 6253, - 5875, - 3965, - 12591, - 8848, - 719, - 6824, - 9912, - 16274, - 2724, - 2986, - 10167, - 16504, - 14094, - 5404, - 10440, - 19432, - 7897, - 17268, - 10672, - 17877, - 671, - 8471, - 3235, - 3631, - 7456 - ], - "val": [ - 19172, - 17317, - 15493, - 1396, - 14499, - 260, - 4790, - 18096, - 17916, - 15285, - 5501, - 14194, - 7499, - 14624, - 4343, - 18850, - 3960, - 11901, - 6176, - 18382, - 11312, - 4640, - 7067, - 14319, - 9170, - 10784, - 5065, - 5488, - 19741, - 9102, - 6678, - 12552, - 7130, - 18570, - 2719, - 7107, - 8132, - 12178, - 9309, - 2496, - 14685, - 19940, - 13288, - 13666, - 7483, - 1710, - 838, - 1238, - 10414, - 18447, - 5207, - 7147, - 1972, - 10113, - 11468, - 1215, - 1004, - 19088, - 4229, - 10944, - 7477, - 2843, - 5447, - 10378, - 12923, - 16501, - 6541, - 5952, - 14320, - 6829, - 3805, - 5631, - 6657, - 12826, - 570, - 16476, - 4217, - 17313, - 6135, - 19698, - 13495, - 8813, - 6431, - 2749, - 19909, - 16308, - 3973, - 4629, - 3940, - 6348, - 16456, - 6297, - 1231, - 15372, - 14889, - 5466, - 14478, - 5008, - 18216, - 5969, - 15626, - 9297, - 17655, - 6102, - 4205, - 4098, - 8958, - 11106, - 12069, - 5582, - 12215, - 16699, - 11495, - 12695, - 2943, - 16756, - 16424, - 5348, - 9857, - 14677, - 10136, - 16174, - 79, - 10713, - 13313, - 13317, - 10331, - 16968, - 6663, - 6719, - 17105, - 13303, - 17974, - 4020, - 12812, - 9531, - 15418, - 8661, - 188, - 6952, - 8037, - 18587, - 8741, - 1162, - 11977, - 2821, - 14702, - 17893, - 6936, - 17306, - 9882, - 14767, - 3697, - 4866, - 3921, - 13405, - 9708, - 5843, - 7879, - 9565, - 15106, - 2573, - 12827, - 19956, - 10101, - 6793, - 17368, - 14660, - 9296, - 11349, - 16353, - 2835, - 14311, - 2598, - 13159, - 16380, - 14838, - 10793, - 1959, - 8965, - 19025, - 6373, - 5468, - 5846, - 7283, - 14929, - 10959, - 2233, - 1650, - 11812, - 5529, - 9406, - 4460, - 9811, - 11257, - 493, - 16328, - 15987, - 156, - 13408, - 12472, - 3722, - 726, - 11911, - 15947, - 326, - 3154, - 3562, - 3713, - 9369, - 3437, - 9135, - 14118, - 1968, - 2120, - 17269, - 5041, - 11060, - 19405, - 7021, - 4039, - 5187, - 10411, - 16438, - 16698, - 14274, - 11762, - 9853, - 19972, - 16967, - 3074, - 267, - 6534, - 1149, - 9283, - 11826, - 19359, - 15204, - 8166, - 17679, - 11267, - 2530, - 3179, - 2159, - 13963, - 2788, - 8003, - 9385, - 14330, - 15879, - 7905, - 5787, - 16310, - 6778, - 7966, - 16053, - 18475, - 309, - 17027, - 11164, - 5198, - 8036, - 10696, - 19591, - 15138, - 15400, - 13943, - 9599, - 3219, - 17261, - 14114, - 13514, - 2475, - 16563, - 8129, - 12295, - 4031, - 2777, - 16008, - 5933, - 16237, - 2177, - 4187, - 12649, - 13018, - 14799, - 11177, - 7022, - 15782, - 4762, - 15886, - 8870, - 1836, - 1293, - 2093, - 10995, - 18185, - 10900, - 8412, - 19801, - 1211, - 1597, - 13334, - 12118, - 3299, - 15651, - 11898, - 17038, - 3820, - 13962, - 7200, - 1790, - 12556, - 16915, - 15208, - 5827, - 1405, - 7476, - 7009, - 13267, - 15300, - 13856, - 19529, - 9132, - 11602, - 1369, - 9059, - 14794, - 16845, - 2775, - 3642, - 765, - 16370, - 17278, - 12567, - 11484, - 4425, - 9929, - 13219, - 16950, - 10563, - 12758, - 18196, - 7538, - 918, - 5124, - 10590, - 9471, - 11972, - 9110, - 19562, - 3135, - 4770, - 15062, - 1302, - 8401, - 3226, - 5270, - 3327, - 7077, - 14112, - 13576, - 7783, - 9243, - 16135, - 18809, - 5411, - 16047, - 16111, - 2038, - 5537, - 4538, - 19192, - 4112, - 6340, - 16850, - 15519, - 8527, - 16093, - 19983, - 17079, - 16597, - 8624, - 6471, - 13989, - 18410, - 11782, - 9351, - 8599, - 1321, - 17580, - 11871, - 6484, - 13418, - 5486, - 5314, - 467, - 7172, - 14873, - 19942, - 2686, - 14774, - 11949, - 10791, - 10503, - 15984, - 11329, - 14257, - 4226, - 17596, - 18455, - 11159, - 19075, - 3147, - 11954, - 19116, - 16431, - 14163, - 19583, - 12186, - 7660, - 11545, - 12999, - 18968, - 375, - 18774, - 19708, - 3699, - 18158, - 6880, - 5390, - 5151, - 11017, - 12599, - 15686, - 1452, - 13107, - 153, - 13266, - 3500, - 10186, - 748, - 1435, - 4755, - 14173, - 6288, - 6437, - 11539, - 6121, - 814, - 131, - 13602, - 5616, - 4396, - 13575, - 5626, - 4586, - 8585, - 2042, - 5013, - 15273, - 6755, - 4121, - 17290, - 19988, - 3031, - 14910, - 15388, - 9154, - 3113, - 1205, - 8635, - 13932, - 4375, - 13997, - 18370, - 6039, - 13489, - 4393, - 14746, - 17420, - 12787, - 8985, - 13843, - 14740, - 13644, - 5416, - 1381, - 7717, - 9275, - 19384, - 14505, - 380, - 31, - 59, - 15334, - 12073, - 10846, - 13336, - 10887, - 2101, - 11455, - 19238, - 3280, - 4158, - 10094, - 3646, - 19374, - 13790, - 16416, - 4437, - 7621, - 717, - 7850, - 1924, - 16269, - 12083, - 16810, - 4779, - 8864, - 12087, - 7488, - 6112, - 1228, - 17926, - 7551, - 10075, - 12327, - 14825, - 16991, - 12368, - 5162, - 4033, - 2124, - 5260, - 12075, - 14547, - 5459, - 3263, - 16567, - 10829, - 18716, - 639, - 10017, - 14392, - 11581, - 19922, - 18152, - 6748, - 16814, - 12370, - 13237, - 6735, - 14287, - 19957, - 3396, - 19035, - 19902, - 663, - 11215, - 2529, - 14560, - 6380, - 17478, - 12669, - 2221, - 9169, - 17213, - 7533, - 16704, - 17149, - 16714, - 19304, - 6198, - 3862, - 14256, - 14086, - 15942, - 13423, - 18497, - 9756, - 695, - 18975, - 5862, - 13999, - 1877, - 13779, - 3419, - 7799, - 5587, - 12748, - 19619, - 16565, - 12466, - 13942, - 15989, - 9287, - 18536, - 9946, - 12560, - 8276, - 829, - 10387, - 14854, - 15979, - 4843, - 221, - 17504, - 9573, - 3801, - 16952, - 1042, - 15940, - 1374, - 13280, - 3528, - 18487, - 10402, - 9347, - 8967, - 5575, - 15579, - 1895, - 516, - 2862, - 6679, - 5674, - 2231, - 7800, - 17604, - 12097, - 13158, - 3162, - 12675, - 5309, - 10083, - 17584, - 15305, - 14641, - 13189, - 5092, - 8701, - 9094, - 1563, - 6463, - 15892, - 18081, - 4899, - 5777, - 4978, - 1540, - 1241, - 14071, - 19417, - 17676, - 16688, - 14028, - 19716, - 5744, - 10027, - 9951, - 13711, - 17519, - 9757, - 7162, - 18816, - 10307, - 5117, - 15976, - 9075, - 13258, - 11500, - 2764, - 8385, - 1421, - 1258, - 3737, - 10089, - 12654, - 8316, - 14120, - 1125, - 3796, - 4673, - 9880, - 17442, - 4339, - 2354, - 16014, - 11425, - 9299, - 16146, - 1397, - 6708, - 11225, - 8536, - 16982, - 3193, - 634, - 5269, - 13449, - 17072, - 16169, - 9907, - 18458, - 2275, - 18807, - 316, - 14540, - 6931, - 1469, - 10660, - 306, - 11199, - 4570, - 8089, - 16019, - 2780, - 5462, - 1692, - 13987, - 14509, - 2600, - 16928, - 19110, - 9892, - 8016, - 10936, - 1679, - 14044, - 9242, - 16102, - 15039, - 13930, - 16673, - 6194, - 18851, - 14199, - 10174, - 16741, - 11877, - 5290, - 12257, - 18540, - 17590, - 19657, - 2100, - 875, - 867, - 1848, - 9590, - 17967, - 12973, - 12558, - 3403, - 4353, - 19962, - 6209, - 3907, - 9350, - 16179, - 15471, - 7860, - 12300, - 15415, - 14609, - 15271, - 17338, - 8146, - 2154, - 17010, - 19503, - 19822, - 13721, - 3947, - 12336, - 5063, - 3708, - 16266, - 12319, - 19223, - 10741, - 12570, - 14475, - 5971, - 7691, - 6689, - 14497, - 4704, - 7531, - 1446, - 11790, - 10631, - 5029, - 5434, - 5707, - 1278, - 2572, - 2201, - 6861, - 17597, - 17483, - 1345, - 16376, - 15882, - 14680, - 6588, - 11093, - 1142, - 14054, - 12004, - 5480, - 8371, - 14865, - 15296, - 7865, - 17704, + 570, + 571, + 574, + 575, + 578, + 579, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 610, + 611, + 612, + 613, + 614, + 615, + 618, + 619, + 620, + 621, + 624, + 625, + 626, + 627, + 628, + 629, + 634, + 635, + 640, + 641, + 644, + 645, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 658, + 659, + 662, + 663, + 672, + 673, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 696, + 697, + 702, + 703, + 704, + 705, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 746, + 747, + 748, + 749, + 750, + 751, + 754, + 755, + 756, + 757, + 760, + 761, + 764, + 765, + 766, + 767, + 768, + 769, + 772, + 773, + 774, + 775, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 818, + 819, + 824, + 825, + 826, + 827, + 828, + 829, + 834, + 835, + 836, + 837, + 838, 839, - 18743, - 10476, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 856, + 857, + 860, + 861, + 862, + 863, + 868, + 869, + 872, + 873, + 874, + 875, + 876, + 877, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 892, + 893, + 896, + 897, + 902, + 903, + 904, + 905, + 908, + 909, + 912, + 913, + 916, + 917, + 918, + 919, + 920, + 921, + 926, + 927, + 928, + 929, + 932, + 933, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 950, + 951, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 968, + 969, + 972, + 973, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 994, + 995, + 996, + 997, + 998, + 999, + 1002, + 1003, + 1004, + 1005, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1024, + 1025, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1038, 1039, - 19328, - 15461, - 2182, - 15052, - 9689, - 12157, - 4021, - 6690, - 18055, - 12878, - 7571, - 1951, - 8272, - 8973, - 17734, - 5031, - 1756, - 14790, - 588, - 7438, - 7875, - 3058, - 18398, - 19681, - 1262, - 1680, - 18381, - 10694, - 18145, - 15092, - 11391, - 14266, - 5796, - 9941, - 16378, - 2567, - 19209, - 1260, - 4324, - 18934, - 9560, - 13224, - 9852, - 452, - 10610, - 9991, - 196, - 15247, - 16210, - 297, - 4633, - 15124, - 4730, - 3587, - 8659, - 4654, - 6809, - 6400, - 1481, - 6888, - 469, - 10382, - 7719, - 4510, - 3999, - 11939, - 7921, - 3592, - 18068, - 7109, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1068, + 1069, + 1070, + 1071, 1072, - 11134, - 10507, - 13701, - 12791, - 7474, - 19102, - 18892, - 13054, - 5570, - 11113, - 3306, - 14069, - 15265, - 455, - 11761, - 18857, - 14803, - 10269, - 14757, - 5737, - 9199, - 4440, - 1290, - 9313, - 147, - 14230, - 5541, - 15512, - 13312, - 17397, - 19939, - 18575, - 17503, - 18061, - 8936, - 8921, - 5199, - 3302, - 14192, - 7196, - 12330, + 1073, + 1074, + 1075, + 1078, + 1079, + 1082, + 1083, + 1084, + 1085, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1104, + 1105, + 1106, + 1107, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1130, + 1131, + 1132, + 1133, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1156, + 1157, + 1160, + 1161, + 1162, + 1163, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1186, + 1187, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1204, + 1205, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, 1220, - 15122, - 6069, - 16970, - 15927, - 14018, - 2099, - 17449, - 8031, - 4120, - 7050, - 3229, - 10966, - 10739, - 2014, - 1542, - 3238, - 9355, - 13068, - 882, - 14285, - 8862, - 2183, - 11078, - 10816, - 1767, - 9165, - 14548, - 16712, - 7624, - 17103, - 9423, - 9767, - 1856, - 718, - 11563, - 12576, - 810, - 15789, - 12207, - 7656, - 16426, - 2990, - 1001, - 8189, - 5216, - 16131, - 6191, - 8213, - 5004, - 4941, - 11291, - 5102, - 13496, - 5362, - 19476, - 18013, - 11708, - 6091, - 5406, - 7767, - 3498, - 3692, - 1889, - 15351, - 18416, - 9613, - 9263, - 12014, - 3770, - 5979, - 4857, - 4712, - 14588, - 8468, - 2379, - 998, - 5058, - 7734, - 7437, - 14552, - 11395, - 12937, - 11249, - 15641, - 5913, - 15907, - 12485, - 18016, - 11803, - 14760, - 489, - 7411, - 16248, - 6932, - 12317, - 1782, - 12385, - 4086, - 16865, - 15595, - 15818, - 7182, + 1221, + 1224, + 1225, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1238, + 1239, + 1244, + 1245, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, 1338, - 19790, - 13464, - 11622, - 10896, - 15120, - 6017, - 18461, - 13417, - 8890, + 1339, + 1340, + 1341, + 1342, 1343, - 13330, - 12708, - 3906, - 602, - 6056, - 14082, - 8477, - 1821, - 18252, - 12061, - 12606, - 4733, - 1623, - 15821, - 7361, - 10313, - 920, - 17977, - 5220, - 12165, - 6697, - 15449, - 10547, - 15699, - 11138, - 11605, - 6089, - 16580, - 7390, - 17281, + 1344, + 1345, + 1348, + 1349, + 1354, + 1355, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1388, + 1389, + 1390, + 1391, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1402, + 1403, 1404, - 657, - 3326, + 1405, + 1406, + 1407, + 1408, + 1409, + 1414, + 1415, + 1418, + 1419, + 1428, + 1429, + 1432, + 1433, + 1434, + 1435, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1462, + 1463, + 1464, + 1465, + 1468, + 1469, + 1478, + 1479, + 1482, + 1483, + 1492, + 1493, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1520, + 1521, + 1524, + 1525, + 1534, + 1535, + 1536, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1543, + 1544, + 1545, + 1546, + 1547, + 1550, + 1551, + 1552, + 1553, + 1556, + 1557, + 1560, + 1561, + 1562, + 1563, + 1566, + 1567, + 1568, + 1569, + 1570, + 1571, + 1572, + 1573, + 1574, + 1575, + 1576, + 1577, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1592, + 1593, + 1594, + 1595, + 1596, + 1597, + 1602, + 1603, + 1604, + 1605, + 1606, + 1607, + 1608, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1624, + 1625, + 1626, + 1627, + 1628, + 1629, + 1630, + 1631, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1658, + 1659, + 1660, + 1661, + 1664, + 1665, + 1672, + 1673, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1684, + 1685, + 1686, + 1687, + 1688, + 1689, + 1690, + 1691, + 1692, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1699, + 1702, + 1703, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1714, + 1715, + 1718, + 1719, + 1720, + 1721, + 1722, + 1723, + 1726, + 1727, + 1728, + 1729, + 1730, + 1731, + 1734, + 1735, + 1738, + 1739, + 1740, + 1741, + 1746, + 1747, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1756, + 1757, + 1764, + 1765, + 1768, + 1769, + 1770, + 1771, + 1772, + 1773, + 1774, + 1775, + 1776, + 1777, + 1778, + 1779, + 1780, 1781, - 18172, - 12015, - 12803, - 8437, - 17937, - 13855, - 6941, - 16287, - 2697, - 7776, - 18187, - 17697, - 3103, - 10589, - 17237, - 5440, - 3613, - 5054, - 4652, - 1342, - 13488, - 11865, - 14989, - 10604, - 18991, - 10279, - 7636, - 10969, - 19496, - 8061, - 7594, - 6495, - 9083, - 1247, - 9157, - 5311, - 8358, - 17872, - 9927, - 4613, - 6625, - 12568, - 19584, - 19653, - 18935, - 11882, - 18723, - 14671, - 15154, - 14386, - 9786, + 1782, + 1783, + 1784, + 1785, + 1786, + 1787, + 1788, + 1789, + 1790, + 1791, + 1792, + 1793, + 1794, + 1795, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1803, + 1804, + 1805, + 1806, + 1807, + 1808, + 1809, + 1810, + 1811, + 1814, + 1815, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1825, + 1826, + 1827, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1838, + 1839, + 1840, + 1841, + 1844, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1851, + 1852, + 1853, + 1856, + 1857, + 1858, + 1859, + 1860, + 1861, + 1862, + 1863, + 1866, + 1867, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1877, + 1878, + 1879, + 1882, + 1883, + 1884, + 1885, + 1886, + 1887, + 1888, + 1889, + 1890, + 1891, + 1892, + 1893, + 1896, + 1897, + 1898, + 1899, + 1900, + 1901, + 1902, + 1903, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1918, + 1919, + 1922, + 1923, + 1924, + 1925, + 1926, + 1927, + 1932, + 1933, + 1936, + 1937, + 1938, + 1939, + 1944, + 1945, + 1946, + 1947, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1954, + 1955, + 1956, + 1957, + 1958, + 1959, + 1960, + 1961, + 1962, + 1963, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1978, + 1979, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1990, + 1991, + 1992, + 1993, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2002, + 2003, + 2006, + 2007, + 2008, + 2009, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2022, + 2023, + 2024, + 2025, + 2026, + 2027, + 2028, + 2029, + 2030, + 2031, + 2032, + 2033, + 2038, + 2039, + 2042, + 2043, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2056, + 2057, + 2058, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2070, + 2071, + 2072, + 2073, + 2074, + 2075, + 2078, + 2079, + 2080, + 2081, + 2082, + 2083, + 2086, + 2087, + 2090, + 2091, + 2094, + 2095, + 2096, + 2097, + 2098, + 2099, + 2100, + 2101, + 2102, + 2103, + 2108, + 2109, + 2116, + 2117, + 2118, + 2119, + 2120, + 2121, + 2124, + 2125, + 2126, + 2127, + 2128, + 2129, + 2130, + 2131, + 2132, + 2133, + 2134, + 2135, + 2138, + 2139, + 2140, + 2141, + 2144, + 2145, + 2146, + 2147, + 2154, + 2155, + 2158, + 2159, + 2160, + 2161, + 2162, 2163, - 16661, - 6745, + 2164, + 2165, + 2166, + 2167, + 2170, + 2171, + 2172, + 2173, + 2176, + 2177, + 2178, + 2179, + 2182, + 2183, + 2184, + 2185, + 2186, + 2187, + 2188, + 2189, + 2192, + 2193, + 2194, + 2195, 2196, - 12822, - 16192, - 13420, - 6894, - 908, - 9456, - 6279, - 2723, - 4549, - 7578, - 18790, - 14878, - 6912, - 17195, - 3584, - 4286, - 17677, - 7055, - 19045, - 1189, - 5078, - 8535, - 13657, - 6947, - 14521, - 13534, - 18454, - 13299, - 9887, - 9608, - 16840, - 1543, - 10085, - 14358, - 7482, - 18826, - 13719, - 13361, - 13485, - 14982, - 7759, - 5255, - 13084, - 18848, - 1434, - 14085, - 5134, - 834, - 2308, - 10788, - 4067, - 1433, - 19675, - 15968, - 529, - 3374, - 10248, - 18984, - 5472, - 6353, - 2841, - 7795, - 12958, - 16536, - 13359, - 10831, - 8398, - 5089, - 19980, - 8755, - 8364, - 6854, - 10065, - 4683, - 17540, - 8077, - 18666, - 2965, - 2956, - 17060, - 1537, - 11286, - 9733, - 4922, - 9583, - 7253, - 5393, - 19993, - 14473, - 4860, - 18615, - 16434, - 1463, - 8164, - 5978, - 75, - 11184, - 7081, - 14428, - 6405, - 7967, - 6677, - 14714, - 2763, - 2955, - 5097, - 3691, - 2080, - 19805, - 9748, - 14951, - 11802, - 6276, - 12729, - 2342, - 18315, - 2755, - 14385, + 2197, + 2198, + 2199, + 2200, + 2201, + 2204, + 2205, + 2208, + 2209, + 2210, + 2211, + 2212, + 2213, + 2216, + 2217, + 2220, + 2221, + 2228, + 2229, + 2232, + 2233, + 2234, + 2235, + 2236, + 2237, + 2238, + 2239, + 2240, + 2241, + 2244, + 2245, + 2248, + 2249, + 2250, + 2251, + 2256, + 2257, + 2258, + 2259, + 2260, + 2261, + 2262, + 2263, + 2264, + 2265, + 2266, + 2267, + 2268, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2280, + 2281, + 2282, + 2283, + 2286, + 2287, + 2292, + 2293, + 2296, + 2297, + 2300, + 2301, + 2302, + 2303, + 2304, + 2305, + 2308, + 2309, + 2314, + 2315, + 2316, + 2317, + 2318, 2319, - 10746, - 10851, - 13149, - 12683, - 17071, - 17942, - 4815, - 1119, - 18344, - 9496, - 16001, - 10122, - 4318, - 1239, - 1912, - 6684, - 10504, - 4028, - 2144, + 2320, + 2321, + 2322, + 2323, + 2326, + 2327, + 2328, + 2329, + 2330, + 2331, + 2334, + 2335, + 2338, + 2339, + 2340, + 2341, + 2342, + 2343, + 2344, + 2345, + 2346, + 2347, + 2348, + 2349, + 2354, + 2355, + 2356, + 2357, + 2358, + 2359, + 2362, + 2363, + 2364, + 2365, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2374, + 2375, + 2378, + 2379, + 2382, + 2383, + 2384, + 2385, + 2392, + 2393, + 2396, + 2397, + 2400, + 2401, + 2404, + 2405, + 2406, + 2407, + 2410, + 2411, + 2412, + 2413, + 2414, + 2415, + 2418, + 2419, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2436, + 2437, + 2442, + 2443, + 2446, + 2447, + 2450, + 2451, + 2454, + 2455, + 2456, + 2457, + 2458, + 2459, + 2460, + 2461, + 2462, + 2463, + 2464, + 2465, + 2468, + 2469, + 2470, + 2471, + 2472, + 2473, + 2474, + 2475, + 2476, + 2477, + 2478, + 2479, + 2480, + 2481, + 2482, + 2483, + 2484, + 2485, + 2486, + 2487, + 2492, + 2493, + 2496, + 2497, + 2498, + 2499, + 2502, + 2503, + 2504, + 2505, + 2510, + 2511, + 2512, + 2513, + 2514, + 2515, + 2516, + 2517, + 2518, + 2519, + 2520, + 2521, + 2524, + 2525, + 2528, + 2529, + 2530, + 2531, + 2532, + 2533, + 2534, + 2535, + 2536, + 2537, + 2538, + 2539, + 2540, + 2541, + 2542, + 2543, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2558, + 2559, + 2566, + 2567, + 2568, + 2569, + 2572, + 2573, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2587, + 2588, + 2589, + 2592, + 2593, + 2598, + 2599, + 2600, + 2601, + 2602, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2609, + 2610, + 2611, + 2612, + 2613, + 2614, + 2615, + 2616, + 2617, + 2618, + 2619, + 2622, + 2623, + 2624, + 2625, + 2632, + 2633, + 2634, + 2635, + 2638, + 2639, + 2642, + 2643, + 2648, + 2649, + 2650, + 2651, + 2652, + 2653, + 2654, + 2655, + 2658, + 2659, + 2662, + 2663, + 2664, + 2665, + 2666, + 2667, + 2670, + 2671, + 2672, + 2673, + 2674, + 2675, + 2676, + 2677, + 2680, + 2681, 2682, - 6838, - 12742, - 3679, - 15756, - 528, - 9596, - 1845, - 10049, - 12342, - 17738, - 7351, - 16435, - 6166, - 8768, - 6314, - 9863, - 5938, - 11703, - 8416, - 14852, - 12873, - 19283, - 1715, - 14416, - 8971, - 12272, - 12353, - 404, - 1544, - 9111, - 16792, - 1582, - 2458, - 8660, - 4257, - 18389, - 14957, - 11592, - 14090, - 19161, - 8033, - 15336, - 16640, - 9087, - 19010, - 17157, - 13402, - 11937, - 7916, - 18387, - 15649, - 11554, - 8237, - 433, - 17460, - 2305, - 9474, - 2989, - 16306, - 19387, - 12024, - 13526, - 9790, - 7301, - 18463, - 2137, - 3515, - 7060, - 8259, - 6615, + 2683, + 2684, + 2685, + 2686, + 2687, + 2688, + 2689, + 2696, + 2697, + 2700, + 2701, + 2702, + 2703, + 2704, + 2705, + 2706, + 2707, + 2712, + 2713, + 2714, + 2715, + 2716, + 2717, + 2718, + 2719, + 2722, + 2723, + 2726, + 2727, + 2728, + 2729, + 2730, + 2731, + 2732, + 2733, + 2734, + 2735, + 2736, + 2737, + 2740, + 2741, + 2742, + 2743, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2760, + 2761, + 2762, + 2763, + 2764, + 2765, + 2768, + 2769, + 2772, + 2773, + 2774, + 2775, + 2776, + 2777, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2788, + 2789, + 2790, + 2791, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2802, + 2803, + 2806, + 2807, + 2808, + 2809, + 2814, + 2815, + 2818, + 2819, + 2820, + 2821, + 2822, + 2823, + 2824, + 2825, + 2830, + 2831, + 2840, + 2841, + 2844, + 2845, + 2846, + 2847, + 2848, + 2849, + 2850, + 2851, + 2854, + 2855, + 2856, + 2857, + 2862, + 2863, + 2866, + 2867, + 2868, + 2869, + 2870, + 2871, + 2872, + 2873, + 2878, + 2879, + 2880, + 2881, + 2884, + 2885, + 2890, + 2891, + 2894, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2903, + 2908, + 2909, + 2910, + 2911, + 2914, + 2915, + 2918, + 2919, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2931, + 2932, + 2933, + 2938, + 2939, + 2942, + 2943, + 2946, + 2947, + 2948, + 2949, + 2950, + 2951, + 2952, + 2953, + 2956, + 2957, + 2960, + 2961, + 2962, + 2963, + 2968, + 2969, + 2970, + 2971, + 2972, + 2973, + 2974, + 2975, + 2978, + 2979, + 2980, + 2981, + 2984, + 2985, + 2986, + 2987, + 2990, + 2991, + 2994, + 2995, + 2998, + 2999, + 3000, + 3001, + 3006, + 3007, + 3008, + 3009, + 3010, + 3011, + 3012, + 3013, + 3014, + 3015, + 3016, + 3017, + 3020, + 3021, + 3022, + 3023, + 3028, + 3029, + 3030, + 3031, + 3034, + 3035, + 3036, + 3037, + 3038, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3046, + 3047, + 3048, + 3049, + 3050, + 3051, + 3052, + 3053, + 3056, + 3057, + 3058, + 3059, + 3062, + 3063, + 3064, + 3065, + 3068, + 3069, + 3070, + 3071, + 3074, + 3075, + 3076, + 3077, + 3078, + 3079, + 3080, + 3081, + 3082, + 3083, + 3084, + 3085, + 3090, + 3091, + 3092, + 3093, + 3094, + 3095, + 3096, + 3097, + 3098, + 3099, + 3102, + 3103, + 3104, + 3105, + 3106, + 3107, + 3108, + 3109, + 3110, + 3111, + 3112, + 3113, + 3120, + 3121, + 3126, + 3127, + 3128, + 3129, + 3132, + 3133, + 3134, + 3135, + 3142, + 3143, + 3144, + 3145, + 3146, + 3147, + 3148, + 3149, + 3154, + 3155, + 3158, + 3159, + 3160, + 3161, + 3162, + 3163, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3181, + 3182, + 3183, + 3184, + 3185, + 3188, + 3189, + 3192, + 3193, + 3196, + 3197, + 3202, + 3203, + 3204, + 3205, + 3208, + 3209, + 3210, + 3211, + 3214, + 3215, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3238, + 3239, + 3240, + 3241, + 3242, + 3243, + 3244, + 3245, + 3250, + 3251, + 3254, + 3255, + 3256, + 3257, + 3258, + 3259, + 3260, + 3261, + 3264, + 3265, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3272, + 3273, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, 3282, - 16784, - 16161, - 12832, - 16540, - 2829, - 2096, - 1789, - 6144, - 15852, - 10681, - 9366, - 17360, - 17742, - 8697, - 16076, - 9706, - 6696, - 19518, - 1520, - 13012, - 12706, - 19244, - 15749, - 4795, - 17755, + 3283, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3302, + 3303, + 3304, + 3305, + 3306, + 3307, + 3308, + 3309, + 3314, + 3315, + 3322, + 3323, + 3326, + 3327, + 3328, + 3329, + 3332, + 3333, + 3334, + 3335, + 3336, + 3337, + 3338, + 3339, + 3346, + 3347, + 3348, + 3349, + 3350, + 3351, + 3352, + 3353, + 3354, + 3355, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3378, + 3379, + 3380, + 3381, + 3386, + 3387, + 3388, + 3389, + 3390, + 3391, + 3392, + 3393, + 3394, + 3395, + 3396, + 3397, + 3400, + 3401, + 3406, + 3407, + 3408, + 3409, + 3410, + 3411, + 3412, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3424, + 3425, + 3428, + 3429, + 3430, + 3431, + 3432, + 3433, + 3434, + 3435, + 3438, + 3439, + 3444, + 3445, + 3446, + 3447, + 3448, + 3449, + 3450, + 3451, + 3454, + 3455, + 3466, + 3467, + 3468, + 3469, + 3470, + 3471, + 3472, + 3473, + 3476, + 3477, + 3484, + 3485, + 3488, + 3489, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3508, + 3509, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3518, + 3519, + 3522, + 3523, + 3524, + 3525, + 3526, + 3527, + 3528, + 3529, + 3532, + 3533, + 3534, + 3535, + 3538, + 3539, + 3542, + 3543, + 3544, + 3545, + 3546, + 3547, + 3548, + 3549, + 3552, + 3553, + 3554, + 3555, + 3556, + 3557, + 3558, + 3559, + 3562, + 3563, + 3564, + 3565, + 3568, + 3569, + 3572, + 3573, + 3574, + 3575, + 3576, + 3577, + 3578, + 3579, + 3584, + 3585, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3601, + 3602, + 3603, + 3604, + 3605, + 3608, + 3609, + 3612, + 3613, + 3616, + 3617, + 3618, + 3619, + 3620, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3636, + 3637, + 3638, + 3639, + 3640, + 3641, + 3642, + 3643, + 3644, + 3645, + 3646, + 3647, + 3648, + 3649, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3682, + 3683, + 3684, + 3685, + 3686, + 3687, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3698, + 3699, + 3700, + 3701, + 3704, + 3705, + 3706, + 3707, + 3708, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3722, + 3723, + 3726, + 3727, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3739, + 3740, + 3741, + 3742, + 3743, + 3744, + 3745, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3753, + 3756, + 3757, + 3758, + 3759, + 3762, + 3763, + 3764, + 3765, + 3766, + 3767, + 3768, + 3769, + 3770, + 3771, + 3774, + 3775, + 3778, + 3779, + 3780, + 3781, + 3784, + 3785, + 3786, + 3787, + 3788, + 3789, + 3790, + 3791, 3792, - 7074, - 5735, - 19340, - 13276, - 8223, - 18179, - 18904, - 7834, - 15283, - 7680, - 12752, - 12057, - 15375, - 15666, - 7418, - 13050, - 15261, + 3793, + 3796, + 3797, + 3798, + 3799, + 3800, + 3801, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3813, + 3814, + 3815, + 3816, + 3817, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3826, + 3827, + 3828, + 3829, + 3832, + 3833, + 3834, + 3835, + 3840, + 3841, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3870, + 3871, + 3872, + 3873, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3892, + 3893, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3910, + 3911, + 3912, + 3913, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3928, + 3929, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3958, + 3959, + 3960, + 3961, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3986, + 3987, + 3988, + 3989, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4006, + 4007, + 4010, + 4011, + 4014, + 4015, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4038, + 4039, + 4042, + 4043, + 4046, + 4047, + 4048, + 4049, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4070, + 4071, + 4074, + 4075, + 4076, + 4077, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4112, + 4113, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4136, + 4137, + 4140, + 4141, + 4142, + 4143, + 4146, + 4147, + 4148, + 4149, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4170, + 4171, + 4172, + 4173, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4224, + 4225, + 4226, + 4227, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4240, + 4241, + 4242, + 4243, + 4246, + 4247, + 4250, + 4251, + 4252, + 4253, + 4260, + 4261, + 4262, + 4263, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4286, + 4287, + 4288, + 4289, + 4292, + 4293, + 4296, + 4297, + 4302, + 4303, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4332, + 4333, + 4338, + 4339, + 4340, + 4341, 4342, - 3016, - 10275, - 17054, - 13476, - 9551, - 7319, - 15839, - 14911, - 80, - 2167, - 19463, - 13324, - 13564, - 8161, - 16899, - 18146, - 17555, - 15314, - 18259, - 15713, - 10166, - 16450, - 14789, - 6093, - 13373, - 12068, - 19546, - 13947, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4352, + 4353, + 4354, + 4355, + 4358, + 4359, + 4360, + 4361, + 4362, + 4363, + 4364, + 4365, + 4370, + 4371, + 4372, + 4373, + 4374, + 4375, + 4376, + 4377, + 4380, + 4381, + 4384, + 4385, + 4386, + 4387, + 4388, + 4389, + 4390, + 4391, + 4392, + 4393, + 4394, + 4395, + 4396, + 4397, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4411, + 4412, + 4413, + 4414, + 4415, + 4416, + 4417, + 4418, + 4419, + 4422, + 4423, + 4424, + 4425, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4452, + 4453, + 4458, + 4459, + 4460, + 4461, + 4468, + 4469, + 4470, + 4471, + 4474, + 4475, + 4476, + 4477, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4494, + 4495, + 4500, + 4501, + 4506, + 4507, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4538, + 4539, + 4542, + 4543, + 4548, + 4549, + 4552, + 4553, + 4554, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4561, + 4562, + 4563, + 4564, + 4565, + 4566, + 4567, + 4568, + 4569, + 4570, + 4571, + 4578, + 4579, + 4580, + 4581, + 4584, + 4585, + 4586, + 4587, + 4588, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4597, + 4600, + 4601, + 4610, + 4611, + 4612, + 4613, + 4614, + 4615, + 4616, + 4617, + 4618, + 4619, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4630, + 4631, + 4634, + 4635, + 4636, + 4637, + 4640, + 4641, + 4642, + 4643, + 4644, + 4645, + 4646, + 4647, + 4648, + 4649, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4667, + 4668, + 4669, + 4672, + 4673, + 4676, + 4677, + 4678, + 4679, + 4682, + 4683, + 4684, + 4685, + 4686, + 4687, + 4690, + 4691, + 4692, + 4693, + 4694, 4695, - 16561, - 1432, - 13176, - 1521, - 13238, - 16642, - 8354, - 10457, - 1077, - 4849, - 4210, - 9002, - 11793, - 14812, - 16585, - 19907, - 17154, - 2209, - 7114, - 2869, - 15779, - 9210, - 13318, - 19441, - 13218, - 9707, - 2415, - 13022, - 12813, - 18199, - 2754, - 15871, - 19874, - 5, - 15025, - 14800, - 11501, - 16692, - 4179, - 4037, - 5450, - 18409, - 3858, - 5572, - 16543, - 17635, - 15556, - 17812, - 5517, - 14946, - 10684, - 18619, - 11998, - 2831, - 6372, - 13348, - 18946, - 12736, - 8722, - 11600, - 12626, - 3424, - 16644, - 17848, - 1065, - 10499, - 17934, - 19460, - 6902, - 18366, - 14801, - 2947, - 9679, - 15600, - 19878, - 9213, - 7047, - 11546, - 18451, - 266, - 9439, - 739, - 7899, - 12621, - 14295, - 12949, - 14898, - 6325, - 12625, - 12181, - 4431, - 15055, - 2412, - 18504, - 7327, - 4018, - 6718, - 15389, - 4361, - 18453, - 1584, - 474, - 6967, - 19687, - 1046, - 6455, - 7089, - 2975, - 542, - 18444, - 19958, - 9248, - 4419, - 15576, - 1454, - 5193, - 18234, - 5803, - 19122, - 13976, - 8271, - 17988, - 13891, - 18726, - 5424, - 8986, - 5580, - 3101, - 11052, - 13028, - 18662, - 18707, - 15964, - 8415, - 18293, - 13444, - 17334, - 7771, + 4698, + 4699, + 4700, + 4701, + 4702, + 4703, + 4704, + 4705, + 4706, + 4707, + 4708, + 4709, + 4710, + 4711, + 4712, + 4713, + 4714, + 4715, + 4718, + 4719, + 4722, + 4723, + 4726, + 4727, + 4728, + 4729, + 4730, + 4731, + 4732, + 4733, + 4734, + 4735, + 4736, + 4737, + 4738, + 4739, + 4740, + 4741, + 4742, + 4743, + 4744, + 4745, + 4748, + 4749, + 4752, + 4753, + 4756, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4767, + 4768, + 4769, + 4770, + 4771, + 4772, + 4773, + 4774, + 4775, + 4780, + 4781, + 4782, + 4783, + 4786, + 4787, + 4788, + 4789, + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4796, + 4797, + 4800, + 4801, + 4802, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4816, + 4817, + 4818, + 4819, + 4820, + 4821, + 4822, + 4823, + 4828, + 4829, + 4830, + 4831, + 4832, + 4833, + 4836, + 4837, + 4838, + 4839, + 4842, + 4843, + 4844, + 4845, + 4848, + 4849, + 4852, + 4853, + 4854, + 4855, + 4856, + 4857, + 4858, + 4859, + 4860, + 4861, + 4862, + 4863, + 4864, + 4865, + 4866, + 4867, + 4868, + 4869, + 4870, + 4871, + 4874, + 4875, + 4876, + 4877, + 4880, + 4881, + 4884, + 4885, + 4886, + 4887, + 4888, + 4889, + 4890, + 4891, + 4896, + 4897, + 4898, + 4899, + 4900, + 4901, + 4902, + 4903, + 4904, + 4905, + 4908, + 4909, + 4914, + 4915, + 4918, + 4919, + 4920, + 4921, + 4922, + 4923, + 4924, + 4925, + 4926, + 4927, + 4932, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4944, + 4945, + 4950, + 4951, + 4952, + 4953, + 4954, + 4955, + 4958, + 4959, + 4960, + 4961, + 4962, + 4963, + 4964, + 4965, + 4976, + 4977, + 4978, + 4979, + 4980, + 4981, + 4982, + 4983, + 4986, + 4987, + 4988, + 4989, + 4990, + 4991, + 4992, + 4993, + 4994, + 4995, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5006, + 5007, + 5008, + 5009, + 5010, + 5011, + 5012, + 5013, + 5014, + 5015, + 5016, + 5017, + 5018, + 5019, + 5022, + 5023, + 5024, + 5025, + 5028, + 5029, + 5036, + 5037, + 5040, + 5041, + 5042, + 5043, + 5048, + 5049, + 5050, + 5051, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5064, + 5065, + 5070, + 5071, + 5072, + 5073, + 5074, + 5075, + 5076, + 5077, + 5078, + 5079, + 5082, + 5083, + 5088, + 5089, + 5092, + 5093, + 5094, + 5095, + 5096, + 5097, + 5098, + 5099, + 5100, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5110, + 5111, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5118, + 5119, + 5120, + 5121, + 5122, + 5123, + 5124, + 5125, 5126, - 17431, - 5088, - 521, - 17131, - 4920, - 1335, - 16112, - 3663, - 15266, - 7428, - 441, - 3293, - 12167, - 3469, - 263, - 6506, - 8365, - 15008, - 13736, - 6075, - 8962, - 18557, - 17129, - 1087, - 4856, - 1292, - 11711, - 19855, - 3808, - 14343, - 7158, - 16780, - 11437, - 4792, - 19201, - 17745, - 16685, - 11765, - 4363, - 12305, - 15386, - 3773, - 4653, - 1748, - 3603, - 4514, - 18128, - 3948, - 15627, - 15232, - 17266, - 3321, - 11742, - 9045, - 12574, - 11262, - 3623, - 16763, - 2813, - 2592, - 15483, - 12938, - 9352, - 219, - 6788, - 18353, - 6229, - 6482, - 14453, - 15410, - 3765, - 16333, - 801, - 3866, - 10460, - 10255, - 6430, - 7547, - 9818, - 12104, - 3339, - 15086, - 6162, - 18207, - 18035, - 7099, - 5742, - 5783, - 12080, - 4167, - 11192, - 12553, - 15921, + 5127, + 5130, + 5131, + 5132, + 5133, + 5134, + 5135, + 5136, + 5137, + 5138, + 5139, + 5140, + 5141, + 5144, + 5145, + 5146, + 5147, + 5150, + 5151, + 5152, + 5153, + 5154, + 5155, + 5156, + 5157, + 5158, + 5159, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5169, + 5170, + 5171, + 5174, + 5175, + 5178, + 5179, + 5180, + 5181, + 5182, + 5183, + 5186, + 5187, + 5188, + 5189, + 5190, + 5191, + 5192, + 5193, + 5194, + 5195, + 5196, + 5197, + 5198, + 5199, + 5200, + 5201, + 5202, + 5203, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5214, + 5215, + 5216, + 5217, + 5220, + 5221, + 5224, + 5225, + 5226, + 5227, + 5232, + 5233, + 5234, + 5235, + 5236, + 5237, + 5242, + 5243, + 5244, + 5245, + 5248, + 5249, + 5252, + 5253, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5264, + 5265, + 5266, + 5267, + 5268, + 5269, + 5270, + 5271, + 5274, + 5275, + 5278, + 5279, + 5280, + 5281, + 5282, + 5283, + 5284, + 5285, + 5286, + 5287, + 5288, + 5289, + 5290, + 5291, + 5292, + 5293, + 5294, + 5295, + 5298, + 5299, + 5304, + 5305, + 5306, + 5307, + 5308, + 5309, + 5310, + 5311, + 5312, + 5313, + 5314, + 5315, + 5316, + 5317, + 5318, + 5319, + 5320, + 5321, + 5322, + 5323, + 5324, + 5325, + 5330, + 5331, + 5332, + 5333, + 5334, + 5335, + 5336, + 5337, + 5338, + 5339, + 5340, + 5341, + 5342, + 5343, + 5344, + 5345, + 5348, + 5349, + 5350, + 5351, + 5352, + 5353, + 5354, + 5355, + 5358, + 5359, + 5362, + 5363, + 5366, + 5367, + 5372, + 5373, + 5374, + 5375, + 5380, + 5381, + 5386, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5398, + 5399, + 5400, + 5401, + 5404, + 5405, + 5406, + 5407, + 5408, + 5409, + 5410, + 5411, + 5412, + 5413, + 5416, + 5417, + 5418, + 5419, + 5420, + 5421, 5422, - 9982, - 1083, - 8946, - 18930, - 4614, - 12534, - 13633, - 11238, - 14545, - 10032, - 5224, - 17311, - 11409, - 13874, - 11310, - 4422, - 15885, - 8479, - 19298, - 3001, - 9943, - 8350, - 1225, - 16715, - 16222, - 3356, - 9905, - 4831, - 18612, - 16676, - 6546, - 16134, - 10344, - 8301, - 2303, - 11564, - 11281, - 12953, - 12230, - 19248, + 5423, + 5424, + 5425, + 5426, + 5427, + 5428, + 5429, + 5432, + 5433, + 5434, + 5435, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5447, + 5450, + 5451, + 5452, + 5453, + 5454, + 5455, + 5456, + 5457, + 5460, + 5461, + 5462, + 5463, + 5466, + 5467, + 5468, + 5469, + 5470, + 5471, + 5472, + 5473, + 5476, + 5477, 5478, - 18290, - 15528, - 13209, - 9521, - 2276, - 4548, - 5989, - 7366, - 6263, - 19927, - 17583, - 13691, - 4102, - 10309, - 2478, - 3531, - 11217, - 19866, - 5082, - 76, - 9222, - 15289, - 7500, - 11131, - 3883, - 3687, - 7903, - 1788, - 18408, - 987, - 18040, - 19663, + 5479, + 5480, + 5481, + 5482, + 5483, + 5486, + 5487, + 5488, + 5489, + 5490, + 5491, + 5492, + 5493, + 5494, + 5495, + 5498, + 5499, + 5504, + 5505, + 5512, + 5513, + 5514, + 5515, + 5522, + 5523, + 5524, + 5525, + 5526, + 5527, + 5528, + 5529, + 5530, + 5531, + 5534, + 5535, + 5536, + 5537, + 5544, + 5545, + 5546, + 5547, + 5548, + 5549, + 5550, + 5551, + 5552, + 5553, + 5556, + 5557, + 5558, + 5559, + 5560, + 5561, + 5562, + 5563, + 5564, + 5565, + 5566, + 5567, + 5568, + 5569, + 5570, + 5571, + 5572, + 5573, + 5574, + 5575, + 5576, + 5577, + 5578, + 5579, + 5580, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5590, + 5591, + 5592, + 5593, 5594, - 15684, - 13529, - 16823, - 9255, - 14412, - 2632, - 12476, - 378, - 17441, - 1550, - 10935, - 1139, - 17051, - 12893, - 16523, - 7512, - 8406, - 1886, - 5040, - 4231, - 2967, - 10356, - 10622, - 8591, - 4397, - 2853, - 13388, - 11615, - 17332, - 13354, - 5299, - 18159, - 4561, - 16419, - 15566, - 19211, - 5155, - 14079, - 1948, - 2566, - 3514, - 14857, - 5950, - 4320, - 8947, - 5002, - 4944, - 8055, - 12940, - 14430, - 8643, - 8940, - 19966, - 7341, - 13767, - 2772, - 11649, - 10647, - 15934, - 1515, - 18870, - 16638, - 2706, - 4852, - 524, - 13098, - 15128, - 10323, - 13715, - 10787, - 11924, - 5848, - 5257, - 1317, - 8857, - 7394, - 2856, - 1483, - 17353, - 394, - 2617, - 2557, - 19752, - 8904, - 9630, - 9152, - 14380, - 14052, - 14083, - 15215, - 11530, - 2409, - 1055, - 7801, - 18053, - 15346, - 4595, - 1953, - 661, - 18700, - 9729, - 8970, - 7419, - 2178, - 15698, - 9678, - 280, - 18948, - 3934, - 9332, - 955, - 10363, - 12825, - 14361, - 19845, - 651, - 6382, - 7972, - 7168, - 17651, - 9996, - 8817, - 4687, - 8107, - 2548, - 18869, - 15162, - 16107, - 11377, - 7221, - 10187, - 19594, + 5595, + 5596, + 5597, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5606, + 5607, + 5608, + 5609, + 5610, + 5611, + 5612, + 5613, + 5616, + 5617, + 5618, 5619, - 10890, - 7197, - 14761, - 4884, - 19925, - 5763, - 17859, - 12403, - 8438, - 12380, - 1779, - 2357, - 5060, - 11321, - 11072, - 16657, - 4312, - 10335, - 18532, - 7448, - 2612, - 8485, - 3334, - 9096, - 10926, - 6972, - 3080, - 7623, - 862, - 16862, - 18066, - 11784, - 2844, - 11758, - 17204, - 7144, - 5647, - 17043, - 14691, - 507, - 4964, - 3111, - 6478, - 9995, - 10177, - 12688, - 10682, - 751, - 18625, - 13290, - 5344, - 8042, - 3276, - 14596, - 2569, - 12379, - 8464, - 13808, - 17680, - 9896, - 18438, - 2582, - 2703, - 11096, - 11087, - 8911, - 17058, - 8270, - 13898, - 249, - 1613, - 1191, - 9960, - 9459, - 16491, - 8569, - 1183, - 7736, - 12860, - 12299, - 4132, - 10975, - 282, - 12288, - 18399, - 3177, - 11393, - 17436, - 9192, - 12458, - 17427, - 13888, - 14706, - 19701, - 3042, - 8603, - 14372, - 18071, - 15282, - 13184, - 10345, + 5620, + 5621, + 5622, + 5623, + 5624, + 5625, + 5626, + 5627, + 5628, + 5629, + 5630, + 5631, + 5634, + 5635, + 5638, + 5639, + 5642, + 5643, + 5644, + 5645, + 5648, + 5649, + 5650, + 5651, + 5654, + 5655, + 5656, + 5657, + 5658, + 5659, + 5662, + 5663, 5664, - 18042, - 17634, - 12586, - 7400, - 14841, - 7035, - 16959, - 4565, - 5922, - 19011, - 12891, - 5022, - 13810, - 4986, - 10840, - 16844, - 12587, - 1155, - 14205, - 8988, - 12263, - 3693, - 17104, - 3608, - 10034, - 3876, - 12572, - 5373, - 14667, - 12611, - 12605, - 4722, - 19898, - 9141, - 13045, - 15140, - 15743, - 19753, - 19704, - 3798, - 8286, - 13638, - 17949, - 11815, - 3470, - 12712, - 12121, - 16088, - 2881, - 3047, + 5665, + 5668, + 5669, + 5672, + 5673, + 5674, + 5675, + 5676, + 5677, + 5678, + 5679, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5694, + 5695, + 5698, + 5699, + 5700, + 5701, + 5702, + 5703, + 5704, + 5705, + 5706, + 5707, + 5708, + 5709, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5720, + 5721, + 5722, + 5723, + 5726, + 5727, + 5730, + 5731, + 5732, + 5733, + 5738, + 5739, + 5742, + 5743, + 5744, + 5745, + 5746, + 5747, + 5750, + 5751, + 5754, + 5755, + 5756, + 5757, + 5758, + 5759, + 5762, + 5763, + 5766, + 5767, + 5774, + 5775, + 5776, + 5777, + 5780, + 5781, + 5782, + 5783, + 5784, + 5785, + 5786, + 5787, + 5790, + 5791, + 5792, + 5793, + 5794, + 5795, + 5796, + 5797, + 5798, + 5799, + 5800, + 5801, + 5802, + 5803, + 5804, + 5805, + 5808, + 5809, + 5810, + 5811, + 5818, + 5819, + 5822, + 5823, + 5824, + 5825, + 5828, + 5829, + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5846, + 5847, + 5848, + 5849, + 5850, + 5851, + 5856, + 5857, + 5858, + 5859, + 5862, + 5863, + 5866, + 5867, + 5868, + 5869, + 5872, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5885, + 5888, + 5889, + 5892, + 5893, + 5894, + 5895, + 5898, + 5899, + 5900, + 5901, + 5902, + 5903, + 5904, + 5905, + 5906, + 5907, + 5916, + 5917, + 5918, + 5919, + 5922, + 5923, + 5924, + 5925, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5938, + 5939, + 5942, + 5943, + 5944, + 5945, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5963, + 5966, + 5967, + 5968, + 5969, + 5970, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5979, + 5980, + 5981, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5996, + 5997, + 5998, + 5999, + 6002, + 6003, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6016, + 6017, + 6018, + 6019, + 6020, + 6021, + 6026, + 6027, + 6040, + 6041, + 6044, + 6045, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6062, + 6063, + 6070, + 6071, + 6072, + 6073, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6092, + 6093, + 6096, + 6097, + 6098, + 6099, + 6102, + 6103, + 6104, + 6105, + 6108, + 6109, + 6112, + 6113, + 6124, + 6125, + 6132, + 6133, + 6134, + 6135, + 6136, + 6137, + 6138, + 6139, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6162, + 6163, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6176, + 6177, + 6178, + 6179, + 6180, + 6181, + 6184, + 6185, + 6186, + 6187, + 6192, + 6193, + 6194, + 6195, + 6196, + 6197, + 6198, + 6199, + 6204, + 6205, + 6206, + 6207, + 6208, + 6209, + 6212, + 6213, + 6216, + 6217, + 6218, + 6219, + 6224, + 6225, + 6226, + 6227, + 6228, + 6229, + 6230, + 6231, + 6232, + 6233, + 6234, + 6235, + 6238, + 6239, + 6240, + 6241, + 6242, + 6243, + 6248, + 6249, + 6258, + 6259, + 6268, + 6269, + 6270, + 6271, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6288, + 6289, + 6294, + 6295, + 6300, + 6301, + 6304, + 6305, + 6306, + 6307, + 6310, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6322, + 6323, + 6324, + 6325, + 6326, + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6346, + 6347, + 6348, + 6349, + 6350, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, 6357, - 1425, - 19015, - 10955, - 8566, - 19469, - 11182, - 18151, - 4494, - 5514, - 15727, - 10300, - 3767, - 8600, - 2377, - 12155, - 13998, - 3501, - 6267, - 11895, - 10690, - 4993, - 12048, - 5617, - 18703, - 6293, - 8522, - 11119, - 11902, - 18960, - 19044, - 6082, - 7263, - 1527, - 6881, - 7838, - 8342, - 4675, - 18752, - 12022, - 17138, - 8229, - 1595, - 8797, - 17979, - 14736, - 2957, - 8728, - 4886, - 1334, - 2323, - 5894, - 8228, - 12284, - 18317, - 9394, - 15978, - 14104, - 11823, - 11753, - 7304, - 3438, - 7034, - 5241, - 18637, - 1957, - 19237, - 1507, + 6358, + 6359, + 6360, + 6361, + 6364, + 6365, + 6366, + 6367, + 6370, 6371, - 10747, - 19839, - 5927, - 3059, - 5622, - 18124, - 15974, - 18141, - 658, - 5494, - 19484, - 4587, - 17432, - 10283, - 18938, - 8366, - 14048, - 11028, - 17069, - 13814, - 19640, - 17802, - 17862, - 19639, - 7014, - 15341, - 8399, - 194, - 4296, - 18008, - 3604, - 13517, - 154, - 10560, - 12375, - 14203, - 6532, - 17908, - 4752, - 2358, - 19268, - 16947, - 17744, - 14690, - 8526, - 13612, - 5941, - 1453, - 12095, - 2117, - 9071, - 14590, - 1795, - 10150, - 4949, - 16506, - 14255, - 18714, - 13739, - 6892, - 16752, - 16616, - 18886, - 2898, - 1523, - 4282, - 2739, - 13350, - 1053, - 15753, - 5750, - 19389, - 10086, - 12115, - 4734, - 15286, - 3774, - 10244, - 9198, - 15958, - 6413, - 15244, - 12830, - 18363, - 1897, - 12369, - 2447, - 4800, - 9209, - 5934, - 4747, - 14511, - 8484, - 18292, - 18191, - 5293, - 14853, - 7635, - 16012, - 15281, - 11505, - 8356, - 3211, - 4487, - 19578, - 9779, - 2532, - 17992, - 11603, - 2968, - 18456, - 8850, - 1759, - 6187, - 7495, - 14855, - 1556, - 5001, - 4767, - 11467, - 18003, - 11248, - 133, - 10390, - 15022, - 2672, - 14574, - 18369, - 4534, - 15888, - 10985, - 8572, - 14678, - 10377, - 1672, + 6372, + 6373, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6418, + 6419, + 6422, + 6423, + 6424, + 6425, + 6426, + 6427, + 6428, + 6429, + 6430, + 6431, + 6432, + 6433, + 6434, + 6435, + 6436, + 6437, + 6438, + 6439, + 6440, + 6441, + 6442, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6464, + 6465, + 6466, + 6467, + 6468, + 6469, + 6472, + 6473, + 6474, + 6475, + 6478, + 6479, + 6480, + 6481, + 6482, + 6483, + 6484, + 6485, + 6486, + 6487, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6500, + 6501, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6510, + 6511, + 6512, + 6513, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6528, + 6529, + 6532, + 6533, + 6534, + 6535, + 6536, + 6537, + 6538, + 6539, + 6540, + 6541, + 6542, + 6543, + 6546, + 6547, + 6550, + 6551, + 6552, + 6553, + 6554, + 6555, + 6556, + 6557, + 6560, + 6561, + 6566, + 6567, + 6570, + 6571, + 6572, + 6573, + 6574, + 6575, + 6578, + 6579, + 6582, + 6583, + 6584, + 6585, + 6586, + 6587, + 6588, + 6589, + 6592, + 6593, + 6600, + 6601, + 6602, + 6603, + 6604, + 6605, + 6606, + 6607, + 6608, + 6609, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6620, + 6621, + 6622, + 6623, + 6626, + 6627, + 6636, + 6637, + 6642, + 6643, + 6644, + 6645, + 6646, + 6647, + 6648, + 6649, + 6652, + 6653, + 6654, + 6655, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6670, + 6671, + 6672, + 6673, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6698, + 6699, + 6706, + 6707, + 6708, + 6709, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6727, + 6728, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6739, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6752, + 6753, + 6754, + 6755, + 6760, + 6761, + 6764, + 6765, + 6768, + 6769, + 6770, + 6771, + 6772, + 6773, + 6776, + 6777, + 6778, + 6779, 6780, - 10575, - 13162, - 859, - 5986, - 3736, - 5471, - 3850, - 16769, - 1646, - 6021, - 17544, - 7112, - 1268, - 1926, - 11125, - 4575, - 12714, - 91, - 8698, - 15988, - 19646, - 8435, - 19285, - 916, - 17903, - 16103, - 1690, - 9271, - 11929, - 11384, - 12156, - 9445, - 18905, - 18156, - 13859, - 18696, - 16278, - 14323, - 8363, - 1273, - 17695, - 13926, - 15487, - 2277, - 8000, - 22, - 15730, - 1745, + 6781, + 6782, + 6783, + 6788, + 6789, + 6790, + 6791, + 6796, + 6797, + 6802, + 6803, + 6804, + 6805, + 6806, + 6807, + 6810, + 6811, + 6812, + 6813, + 6814, + 6815, + 6816, + 6817, + 6818, + 6819, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6833, + 6834, + 6835, + 6836, + 6837, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6846, + 6847, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6860, + 6861, + 6862, + 6863, + 6864, + 6865, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6881, + 6884, + 6885, + 6888, + 6889, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 6906, + 6907, + 6908, + 6909, + 6912, + 6913, + 6922, + 6923, + 6924, + 6925, + 6932, + 6933, + 6936, + 6937, + 6942, + 6943, + 6944, + 6945, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6958, + 6959, + 6960, + 6961, + 6966, + 6967, + 6968, + 6969, + 6972, + 6973, + 6976, + 6977, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6996, + 6997, + 6998, + 6999, + 7000, + 7001, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7013, + 7014, + 7015, + 7020, + 7021, + 7022, + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7042, + 7043, + 7046, + 7047, + 7050, + 7051, + 7054, + 7055, + 7060, + 7061, + 7062, + 7063, + 7068, + 7069, + 7072, + 7073, + 7074, + 7075, + 7078, + 7079, + 7090, + 7091, + 7092, + 7093, + 7094, + 7095, + 7096, + 7097, 7098, - 12608, - 12001, - 817, - 5504, - 16390, - 14271, - 19250, - 1810, - 8726, - 8292, - 13170, - 17247, - 12259, - 15054, - 19226, - 19019, - 4938, - 1393, - 16300, - 6639, - 18943, + 7099, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7112, + 7113, + 7114, + 7115, + 7116, + 7117, + 7118, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7150, + 7151, + 7152, + 7153, + 7154, + 7155, + 7158, + 7159, + 7160, + 7161, + 7162, + 7163, + 7166, + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, 7192, - 12673, - 7616, - 16297, - 18537, - 5014, - 4325, - 19917, - 6944, - 19991, - 3431, - 18522, - 19282, - 19036, - 17783, - 7494, - 17385, - 3991, - 18924, - 19334, - 6551, - 1798, - 11290, - 3250, - 18301, - 631, - 13252, - 1785, - 8798, - 18841, - 11873, - 9472, + 7193, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7204, + 7205, + 7206, + 7207, + 7208, + 7209, + 7212, + 7213, + 7214, + 7215, + 7218, + 7219, 7220, - 6559, - 14639, - 13834, - 15591, - 12511, - 14892, - 18392, - 5551, - 12792, - 15068, - 6233, - 9375, - 19278, - 7678, - 9919, - 11289, - 15874, - 9593, - 5075, - 7915, - 2552, - 17600, - 6272, - 210, - 12341, - 17850, - 14847, - 4908, - 9580, - 16207, - 17707, - 5226, - 3418, - 12251, - 16429, - 15567, - 7851, - 16181, - 1351, - 6248, - 11255, - 12482, - 2109, - 4529, - 8982, - 11707, - 4838, - 8860, - 13914, - 19136, - 5223, - 11250, + 7221, + 7222, + 7223, + 7224, + 7225, + 7226, + 7227, + 7234, + 7235, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7244, + 7245, + 7246, + 7247, + 7248, + 7249, + 7252, + 7253, 7254, - 9952, - 17251, - 10326, - 1445, - 19773, - 7541, - 10582, - 10807, - 16776, - 18114, - 17602, - 10132, - 10950, - 1326, - 16172, - 753, - 17786, - 11481, - 8372, - 4512, + 7255, + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7280, + 7281, + 7282, + 7283, + 7284, + 7285, + 7288, 7289, - 13751, - 15646, - 1379, - 14228, - 11464, - 16033, - 18797, - 9272, - 13574, - 13531, - 4373, - 16906, - 15612, - 1041, - 10655, - 18683, - 562, - 15141, - 9499, - 11754, - 14747, - 13234, - 13352, - 17143, - 3386, - 17855, - 3819, - 3863, - 9939, - 3207, - 2925, - 15877, - 7333, - 2583, - 12477, - 14568, - 9316, - 12678, - 12901, - 3227, - 13271, - 17830, - 18018, - 1120, - 3214, - 17800, - 14816, - 9576, - 6186, - 8564, - 9224, - 10487, - 9661, - 17271, - 2920, - 5900, - 11978, - 10516, - 6942, - 12199, - 1910, + 7290, + 7291, + 7296, + 7297, + 7300, + 7301, + 7304, + 7305, + 7308, + 7309, + 7310, + 7311, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7334, + 7335, + 7338, + 7339, + 7340, + 7341, + 7342, + 7343, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7356, + 7357, + 7358, + 7359, + 7362, + 7363, + 7364, + 7365, + 7366, + 7367, + 7374, + 7375, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7410, + 7411, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7431, + 7432, + 7433, + 7434, + 7435, + 7436, + 7437, + 7438, + 7439, + 7444, + 7445, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7454, + 7455, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7465, + 7466, + 7467, + 7468, + 7469, + 7470, + 7471, + 7472, + 7473, + 7474, + 7475, + 7476, + 7477, + 7480, + 7481, + 7482, + 7483, + 7486, + 7487, + 7488, + 7489, + 7492, + 7493, + 7494, + 7495, + 7496, + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7508, + 7509, + 7512, + 7513, + 7514, + 7515, + 7516, + 7517, + 7518, + 7519, + 7520, + 7521, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7536, + 7537, + 7538, + 7539, + 7540, + 7541, + 7550, + 7551, + 7554, + 7555, + 7556, + 7557, + 7558, + 7559, + 7566, + 7567, + 7568, + 7569, + 7572, + 7573, + 7576, + 7577, + 7578, + 7579, + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7592, + 7593, + 7594, + 7595, + 7600, + 7601, + 7602, + 7603, + 7604, + 7605, + 7606, + 7607, + 7608, + 7609, + 7610, + 7611, + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7628, + 7629, + 7630, + 7631, + 7632, + 7633, + 7636, + 7637, + 7638, + 7639, + 7640, + 7641, + 7642, + 7643, + 7644, + 7645, + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, 7662, - 14089, - 5490, - 4074, - 10308, - 5298, - 962, - 18814, - 11431, - 16799, - 15832, - 9333, - 14575, - 15206, - 6146, - 14147, + 7663, + 7664, + 7665, + 7670, + 7671, + 7672, + 7673, + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7686, + 7687, 7690, - 486, - 9774, - 1573, - 889, - 11849, - 11908, - 6035, - 15381, - 1407, - 2730, - 1631, - 2663, - 6595, - 12212, - 17358, - 1320, - 7520, - 4698, - 14196, - 17270, - 3266, - 19553, - 2585, - 12435, - 3379, - 10479, - 12289, - 19039, - 5892, - 4194, - 4165, - 15434, - 3839, - 18694, - 6768, - 15564, - 6026, - 2248, - 5264, - 14460, - 19162, - 3619, - 14183, - 7266, - 10515, - 13349, - 15199, - 7073, - 11170, - 3084, - 19000, - 4672, - 10284, - 17407, - 1251, - 14993, - 6795, - 4657, - 5120, - 9670, - 9827, - 5386, - 2923, - 17828, - 15654, - 15946, - 1664, - 14166, - 7124, - 1908, - 18773, - 2396, - 15037, - 4045, - 6134, - 16433, - 553, - 9938, - 19380, - 18079, - 10170, - 14348, - 13641, - 15711, - 15081, - 16831, - 14617, - 14567, - 6779, - 8730, - 18276, - 1447, - 13618, - 18613, - 13337, - 18799, - 14464, + 7691, + 7694, + 7695, + 7696, + 7697, + 7698, + 7699, + 7700, + 7701, + 7702, + 7703, + 7704, + 7705, + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7716, + 7717, + 7722, + 7723, + 7724, + 7725, + 7726, + 7727, + 7728, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7735, + 7736, + 7737, + 7740, + 7741, + 7742, + 7743, + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7760, + 7761, + 7762, + 7763, + 7764, + 7765, + 7768, + 7769, + 7776, + 7777, + 7780, + 7781, + 7784, + 7785, + 7786, + 7787, + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7804, + 7805, + 7806, + 7807, + 7808, + 7809, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7822, + 7823, + 7826, + 7827, + 7830, + 7831, + 7832, + 7833, + 7834, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7844, + 7845, + 7846, + 7847, + 7848, + 7849, + 7850, + 7851, + 7852, + 7853, + 7854, + 7855, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7870, + 7871, + 7872, + 7873, + 7876, + 7877, + 7878, + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, 7906, - 10185, - 10598, - 12971, - 10, - 5035, - 8721, - 10125, - 6849, - 7503, - 6643, - 2491, - 18586, - 12527, - 17551, - 2382, - 12794, - 3789, - 19690, - 10010, - 5180, - 137, - 7257, - 12740, - 12954, - 18912, - 17968, - 2126, - 11579, - 2785, - 11092, - 18285, - 17782, - 19422, - 12495, + 7907, + 7908, + 7909, + 7910, + 7911, + 7912, + 7913, + 7914, + 7915, + 7916, + 7917, + 7918, + 7919, + 7922, + 7923, + 7924, + 7925, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7937, + 7938, + 7939, + 7940, + 7941, + 7944, + 7945, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7960, + 7961, + 7962, + 7963, + 7964, + 7965, + 7966, + 7967, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7976, + 7977, + 7980, + 7981, + 7986, + 7987, + 7988, + 7989, + 7992, + 7993, + 7996, + 7997, + 8000, + 8001, + 8010, + 8011, + 8012, + 8013, + 8016, + 8017, + 8018, + 8019, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8031, + 8034, + 8035, + 8036, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8043, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8062, + 8063, + 8064, + 8065, + 8066, + 8067, + 8068, + 8069, + 8070, + 8071, + 8072, + 8073, + 8074, + 8075, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8088, + 8089, + 8090, + 8091, + 8100, + 8101, + 8102, + 8103, + 8108, + 8109, + 8110, + 8111, + 8112, + 8113, + 8114, + 8115, + 8118, + 8119, + 8120, + 8121, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8132, + 8133, + 8136, + 8137, + 8138, + 8139, + 8140, + 8141, + 8144, + 8145, + 8146, + 8147, + 8148, + 8149, + 8150, + 8151, + 8156, + 8157, + 8158, + 8159, + 8164, + 8165, + 8166, + 8167, + 8170, + 8171, + 8172, + 8173, + 8174, 8175, - 16813, - 6782, - 5186, - 1131, - 4278, - 18326, - 3565, + 8176, + 8177, + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8186, + 8187, + 8190, + 8191, + 8192, + 8193, + 8194, + 8195, + 8202, + 8203, + 8206, + 8207, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8222, + 8223, + 8228, + 8229, + 8232, + 8233, + 8234, + 8235, + 8236, + 8237, + 8240, + 8241, + 8242, + 8243, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8256, + 8257, + 8258, + 8259, + 8262, + 8263, + 8266, + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8282, + 8283, + 8284, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8294, + 8295, + 8300, + 8301, + 8304, + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8314, + 8315, + 8316, + 8317, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8324, + 8325, + 8326, + 8327, + 8328, + 8329, + 8330, + 8331, + 8332, + 8333, + 8334, + 8335, + 8336, + 8337, + 8342, + 8343, + 8344, + 8345, + 8346, + 8347, + 8350, + 8351, + 8354, + 8355, + 8356, + 8357, + 8358, + 8359, + 8364, + 8365, + 8366, + 8367, + 8368, + 8369, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8390, + 8391, + 8394, + 8395, + 8396, + 8397, + 8398, + 8399, + 8400, + 8401, + 8406, + 8407, + 8408, + 8409, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8422, + 8423, + 8424, + 8425, + 8426, + 8427, + 8428, + 8429, + 8430, + 8431, + 8436, + 8437, + 8438, + 8439, + 8442, + 8443, + 8444, + 8445, + 8446, + 8447, + 8450, + 8451, + 8452, + 8453, + 8454, + 8455, + 8462, + 8463, + 8464, + 8465, + 8466, + 8467, + 8468, + 8469, + 8470, + 8471, + 8472, + 8473, + 8480, + 8481, + 8484, + 8485, 8486, - 11024, - 11272, - 18027, - 19442, - 17939, - 19107, - 5476, - 15535, - 8328, - 12934, - 10823, - 13251, - 6746, - 961, - 19655, - 10076, - 14419, - 16863, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8493, + 8494, + 8495, + 8498, + 8499, + 8502, + 8503, + 8506, + 8507, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8524, + 8525, + 8526, + 8527, + 8528, + 8529, + 8532, + 8533, + 8534, + 8535, + 8536, + 8537, + 8544, + 8545, + 8548, + 8549, + 8552, + 8553, + 8556, + 8557, + 8558, + 8559, + 8560, + 8561, + 8564, + 8565, + 8566, + 8567, + 8570, + 8571, + 8572, + 8573, + 8574, + 8575, + 8578, + 8579, + 8580, + 8581, + 8584, + 8585, + 8586, + 8587, + 8590, + 8591, + 8592, + 8593, + 8594, + 8595, + 8596, + 8597, + 8598, + 8599, + 8600, + 8601, + 8602, + 8603, + 8606, + 8607, + 8608, + 8609, + 8610, + 8611, + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8628, + 8629, + 8630, + 8631, + 8632, + 8633, + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8650, + 8651, + 8654, + 8655, + 8656, + 8657, + 8660, + 8661, + 8662, + 8663, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8680, + 8681, + 8692, + 8693, + 8696, + 8697, + 8698, + 8699, + 8702, + 8703, + 8706, + 8707, + 8712, + 8713, + 8714, + 8715, + 8716, + 8717, + 8718, + 8719, + 8720, + 8721, + 8722, + 8723, + 8726, + 8727, + 8728, + 8729, + 8730, + 8731, + 8732, + 8733, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8756, + 8757, + 8760, + 8761, + 8766, + 8767, + 8768, + 8769, + 8770, + 8771, + 8776, + 8777, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8792, + 8793, + 8798, + 8799, + 8800, + 8801, + 8802, + 8803, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8813, + 8814, + 8815, + 8816, + 8817, + 8818, + 8819, + 8820, + 8821, + 8826, + 8827, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8840, + 8841, + 8842, + 8843, 8844, - 12724, - 6857, - 14087, - 15442, - 11691, - 1866, - 12308, - 6008, - 12684, - 4094, - 3430, - 250, - 9667, - 11130, - 18951, - 1739, - 6519, - 7208, - 12407, - 18368, - 19959, - 13705, - 1163, - 19559, - 18309, - 6992, - 5423, - 6582, - 2086, - 9554, - 3682, - 470, - 324, - 8199, - 12313, - 8859, - 8825, - 5880, - 15581, - 1398, - 13952, - 9464, - 7032, - 17766, - 19225, - 12365, - 17292, - 472, - 4905, + 8845, + 8848, + 8849, + 8850, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8874, + 8875, + 8878, + 8879, + 8880, + 8881, + 8882, + 8883, + 8886, + 8887, + 8888, + 8889, + 8890, + 8891, + 8892, + 8893, + 8896, + 8897, + 8898, + 8899, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8910, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8919, + 8920, + 8921, + 8922, + 8923, + 8924, + 8925, + 8930, + 8931, + 8936, + 8937, + 8938, + 8939, + 8940, + 8941, + 8942, + 8943, + 8946, + 8947, + 8952, + 8953, + 8956, + 8957, + 8958, + 8959, + 8960, + 8961, + 8962, + 8963, + 8964, + 8965, + 8966, + 8967, + 8970, + 8971, + 8972, + 8973, + 8974, + 8975, + 8976, + 8977, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8992, + 8993, + 8994, + 8995, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9006, + 9007, + 9010, + 9011, + 9014, + 9015, + 9016, + 9017, + 9024, + 9025, + 9030, + 9031, + 9034, + 9035, + 9040, + 9041, + 9046, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9056, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9066, + 9067, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9084, + 9085, + 9086, + 9087, + 9088, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9096, + 9097, + 9100, + 9101, + 9102, + 9103, + 9104, + 9105, + 9110, + 9111, + 9112, + 9113, + 9114, + 9115, + 9116, + 9117, + 9118, + 9119, + 9120, + 9121, + 9126, + 9127, + 9128, + 9129, + 9132, + 9133, + 9134, + 9135, + 9138, + 9139, + 9140, + 9141, + 9142, + 9143, + 9144, + 9145, + 9152, + 9153, + 9154, + 9155, + 9156, + 9157, + 9158, + 9159, + 9162, + 9163, + 9166, + 9167, + 9168, + 9169, + 9170, + 9171, + 9172, + 9173, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9186, + 9187, + 9188, + 9189, + 9190, + 9191, + 9192, + 9193, + 9196, + 9197, + 9198, + 9199, + 9200, + 9201, + 9204, + 9205, + 9206, + 9207, + 9210, + 9211, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9228, + 9229, + 9230, + 9231, + 9232, + 9233, + 9236, + 9237, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9248, + 9249, + 9254, + 9255, + 9256, + 9257, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9292, + 9293, + 9294, + 9295, + 9296, + 9297, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9311, + 9316, + 9317, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9329, + 9330, + 9331, + 9332, + 9333, + 9336, + 9337, + 9338, + 9339, + 9340, + 9341, + 9342, + 9343, + 9346, + 9347, + 9348, + 9349, + 9350, + 9351, + 9352, + 9353, + 9354, + 9355, + 9356, + 9357, + 9358, + 9359, + 9362, + 9363, + 9366, + 9367, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9380, + 9381, + 9382, + 9383, + 9392, + 9393, + 9394, + 9395, + 9398, + 9399, + 9400, + 9401, + 9402, + 9403, + 9404, + 9405, + 9406, + 9407, + 9412, + 9413, + 9414, + 9415, + 9418, + 9419, + 9422, + 9423, + 9426, + 9427, + 9428, + 9429, + 9430, + 9431, + 9434, + 9435, + 9438, + 9439, + 9440, + 9441, + 9444, + 9445, + 9446, + 9447, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, 9455, - 14788, - 8218, - 9569, - 8990, - 6498, - 7739, - 17898, - 14459, - 14368, - 16820, - 17049, - 1078, - 148, - 14513, - 17447, - 1123, - 8455, - 13763, - 13265, - 11233, - 15516, - 14924, - 14377, - 13953, - 1200, - 19080, - 8523, - 13958, - 1945, - 11397, - 8719, - 10543, - 1918, - 9516, - 4521, - 13682, - 16987, - 13847, - 14627, - 14729, - 16909, - 15609, - 18477, - 1764, - 19809, - 14091, - 11510, - 14252, - 13096, - 16868, - 18148, - 8311, - 3373, - 3750, - 14366, - 19420, - 10160, - 12783, - 108, - 3526, - 4403, - 12687, - 16368, - 11398, - 1113, - 7726, - 18209, - 19630, - 12975, - 7350, - 15148, - 11401, - 317, - 17299, - 7175, - 17404, - 9232, - 5911, - 9888, - 18247, - 17476, - 13554, - 1970, - 16270, - 1428, - 8778, - 8421, - 17499, - 17439, - 19142, - 8512, - 10466, - 2237, - 14160, - 18648, - 1734, - 234, - 5662, - 15481, - 4950, - 4321, - 18289, - 15674, - 1429, - 14842, - 13033, - 17506, - 8176, - 6648, - 3729, - 2736, - 241, - 14465, - 5544, - 12194, - 18147, - 5732, - 18674, - 14176, - 6131, - 7195, - 18142, - 4718, - 4919, - 18901, - 17301, - 16584, - 18242, - 5059, - 19873, - 1665, - 11643, - 19429, - 7149, - 18039, - 1562, - 19467, - 18014, - 6985, - 4621, - 8248, - 10277, - 16437, - 5818, - 18882, - 8553, - 11737, - 1174, - 19885, - 8185, - 10486, - 4975, - 2808, - 19501, - 2140, - 1803, - 3807, - 11461, - 626, - 8241, - 19775, - 577, - 10480, - 11441, - 2160, - 7297, - 7748, - 8556, - 18593, - 13310, - 4709, - 2063, - 8874, - 1629, - 16350, - 12415, - 14421, - 51, - 1124, - 14389, - 13146, - 8375, - 18929, - 7236, - 1333, - 8981, - 10579, - 7909, - 3243, - 10291, - 11082, - 13699, - 18867, - 15696, - 8518, - 1644, - 10533, - 13791, - 12667, - 3972, - 15802, - 1058, - 12424, - 6072, - 19060, - 3272, - 4386, - 4992, - 6999, - 4839, - 1651, - 3826, - 9603, - 11303, - 11504, - 13015, - 2666, - 12562, - 8300, - 9738, - 19904, - 7358, - 10929, - 19853, - 19177, - 13709, - 8709, - 4845, - 3938, + 9456, + 9457, + 9458, + 9459, + 9460, + 9461, + 9464, + 9465, + 9466, + 9467, + 9470, + 9471, + 9472, + 9473, + 9474, + 9475, + 9476, + 9477, + 9478, + 9479, + 9482, + 9483, + 9486, + 9487, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9496, + 9497, + 9498, + 9499, + 9500, + 9501, + 9504, + 9505, + 9506, + 9507, + 9508, + 9509, + 9510, + 9511, + 9512, + 9513, + 9514, + 9515, + 9516, + 9517, + 9520, + 9521, + 9522, + 9523, + 9524, + 9525, + 9526, + 9527, + 9528, + 9529, + 9530, + 9531, + 9538, + 9539, + 9540, + 9541, + 9548, + 9549, + 9552, + 9553, + 9554, + 9555, + 9556, + 9557, + 9560, + 9561, + 9562, 9563, - 19706, - 4671, - 12381, - 5146, - 15430, - 784, - 2081, - 13017, - 12425, - 19883, - 2984, - 18678, - 12530, - 16293, - 19104, - 4735, - 2486, - 19443, - 16189, - 185, - 6460, - 13811, - 14246, - 14415, - 1648, - 682, - 4737, - 593, - 8880, - 349, - 4979, - 861, - 11935, - 6978, - 12890, - 4913, - 3829, - 10980, - 11213, - 14836, - 9764, - 16301, - 16043, - 17066, - 19120, - 4562, - 12332, - 13081, - 13560, - 9126, - 17302, - 3891, - 4164, - 2999, - 1833, + 9568, + 9569, + 9570, + 9571, + 9572, + 9573, + 9576, + 9577, + 9578, + 9579, + 9580, + 9581, + 9584, + 9585, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9606, + 9607, + 9608, + 9609, + 9610, + 9611, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9618, + 9619, + 9620, + 9621, + 9622, + 9623, + 9628, + 9629, + 9630, + 9631, + 9634, + 9635, + 9636, + 9637, 9640, - 14471, - 13872, - 19154, - 14652, - 14594, - 3159, - 6099, - 8887, - 14375, - 15405, - 1860, - 7115, - 7686, - 15501, - 4100, - 9716, - 10832, - 11239, - 1121, - 17108, - 3503, - 13379, - 8586, - 13109, - 6494, - 11434, - 15529, - 14276, - 5202, - 12557, - 12037, - 3517, - 8866 - ], - "test": [ - 1733, - 9451, - 12565, - 12065, + 9641, + 9642, + 9643, + 9648, + 9649, + 9650, + 9651, + 9656, + 9657, + 9658, + 9659, + 9662, + 9663, + 9664, + 9665, + 9668, + 9669, + 9670, + 9671, + 9674, + 9675, + 9676, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9698, + 9699, + 9700, + 9701, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9714, + 9715, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9726, + 9727, + 9728, + 9729, + 9730, + 9731, + 9738, + 9739, + 9746, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9753, + 9754, + 9755, + 9756, + 9757, + 9764, + 9765, + 9770, + 9771, + 9772, + 9773, + 9774, + 9775, + 9776, + 9777, + 9784, + 9785, + 9786, + 9787, + 9788, + 9789, + 9790, + 9791, + 9794, + 9795, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9830, + 9831, + 9832, + 9833, + 9834, + 9835, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9860, + 9861, + 9862, + 9863, + 9866, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9896, + 9897, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9912, + 9913, + 9916, + 9917, + 9918, + 9919, + 9924, + 9925, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9952, + 9953, + 9954, + 9955, + 9958, + 9959, + 9960, + 9961, + 9970, + 9971, + 9972, + 9973, + 9974, + 9975, + 9976, + 9977, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9988, + 9989, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10014, + 10015, + 10016, + 10017, + 10020, + 10021, + 10022, + 10023, + 10026, + 10027, + 10032, + 10033, + 10034, + 10035, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10054, + 10055, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063, + 10064, + 10065, + 10066, + 10067, + 10068, + 10069, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10090, + 10091, + 10094, + 10095, + 10102, + 10103, + 10104, + 10105, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10126, + 10127, + 10132, + 10133, + 10134, 10135, - 3769, - 2024, - 3790, - 6346, - 5195, - 3062, - 8039, - 4921, - 3285, - 4648, - 6010, - 6712, - 13155, - 11476, - 1752, - 5655, - 5620, - 18104, - 9959, - 14125, - 17663, - 3633, - 1840, - 12416, - 15908, - 2880, - 3899, - 4274, - 8789, - 9504, - 15959, - 4289, - 16247, - 8028, - 9671, - 18585, - 4499, - 2368, - 3672, - 4955, - 15225, - 15108, - 4571, - 6040, - 8720, - 371, - 8400, - 15290, - 16944, - 11759, - 15097, - 18983, - 10495, - 11023, - 1028, - 9450, - 19487, - 887, - 8325, - 1706, - 12502, - 6084, - 3483, - 4650, - 10707, - 6393, - 13979, - 4073, - 4981, - 19357, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161, + 10166, + 10167, + 10168, + 10169, + 10170, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10182, + 10183, + 10186, + 10187, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10198, + 10199, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213, + 10214, + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10224, + 10225, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10238, + 10239, + 10240, + 10241, + 10244, + 10245, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10262, + 10263, + 10264, + 10265, + 10268, + 10269, + 10272, + 10273, + 10278, + 10279, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10308, + 10309, + 10314, + 10315, + 10316, + 10317, + 10320, + 10321, + 10322, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10332, + 10333, + 10334, + 10335, + 10336, + 10337, + 10344, + 10345, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10364, + 10365, + 10368, + 10369, + 10370, + 10371, + 10372, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10382, + 10383, + 10384, + 10385, + 10388, + 10389, + 10390, + 10391, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10406, + 10407, + 10408, + 10409, + 10414, + 10415, + 10416, + 10417, + 10418, + 10419, + 10422, + 10423, + 10430, + 10431, + 10432, + 10433, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, 10444, - 26, - 18720, - 2103, - 14010, - 7701, - 8702, - 16440, - 4250, - 7829, - 19516, - 17042, - 19312, - 14958, - 2652, - 704, - 5268, - 12807, - 12823, - 19279, - 9184, - 15716, - 12094, - 19163, - 16805, - 18832, - 18472, - 1990, - 12401, - 13561, - 4556, - 18546, - 13573, - 8711, - 12501, - 6185, - 15677, - 16361, - 9851, - 15846, + 10445, + 10446, + 10447, + 10448, + 10449, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10482, + 10483, + 10484, + 10485, + 10486, + 10487, + 10490, + 10491, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528, + 10529, + 10534, + 10535, + 10540, + 10541, + 10546, + 10547, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10560, + 10561, + 10562, + 10563, + 10564, + 10565, + 10566, + 10567, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10602, + 10603, + 10604, + 10605, + 10610, + 10611, + 10614, + 10615, + 10616, + 10617, + 10620, + 10621, + 10622, + 10623, + 10626, + 10627, + 10628, + 10629, + 10630, + 10631, + 10634, + 10635, + 10636, + 10637, + 10638, + 10639, + 10640, + 10641, + 10644, + 10645, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10658, + 10659, + 10660, + 10661, + 10668, 10669, - 2405, - 19733, - 8570, - 19135, - 11537, - 5358, - 1005, - 14902, - 313, - 16394, - 3816, - 10105, - 2783, - 14570, - 13056, - 9153, - 1112, - 17936, - 13820, - 16078, - 16212, - 3854, - 9027, - 287, - 4833, - 13848, - 19736, - 10379, - 7127, + 10670, + 10671, + 10672, + 10673, + 10676, + 10677, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10704, + 10705, + 10706, + 10707, + 10708, + 10709, + 10710, + 10711, + 10714, + 10715, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10760, + 10761, + 10764, + 10765, + 10766, + 10767, + 10770, + 10771, + 10774, + 10775, + 10776, + 10777, + 10778, + 10779, + 10780, + 10781, + 10782, + 10783, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10794, + 10795, + 10802, + 10803, + 10804, + 10805, + 10808, + 10809, + 10816, + 10817, + 10818, + 10819, + 10820, + 10821, + 10824, + 10825, + 10826, + 10827, + 10830, + 10831, + 10832, + 10833, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10864, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10874, + 10875, + 10878, + 10879, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10920, + 10921, + 10924, + 10925, + 10926, + 10927, + 10928, + 10929, + 10930, + 10931, + 10936, + 10937, + 10938, + 10939, + 10944, + 10945, + 10946, + 10947, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10964, + 10965, + 10966, + 10967, + 10968, + 10969, + 10970, + 10971, + 10972, 10973, - 2571, - 14253, - 12131, - 15910, - 9088, - 12548, - 19265, - 9175, - 14051, - 10446, - 13289, - 8594, - 14242, + 10974, + 10975, + 10976, + 10977, + 10980, + 10981, + 10988, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11002, + 11003, + 11008, + 11009, + 11014, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 11029, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11056, + 11057, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11072, + 11073, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11092, + 11093, + 11096, + 11097, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11110, + 11111, + 11112, + 11113, + 11114, + 11115, + 11116, + 11117, + 11120, + 11121, + 11124, + 11125, + 11130, + 11131, + 11132, + 11133, + 11134, + 11135, + 11136, + 11137, + 11138, + 11139, + 11142, + 11143, + 11146, 11147, - 13704, - 2285, - 17215, - 3509, - 15962, - 14193, - 1645, - 1612, - 7426, - 2130, - 9254, - 15945, - 13220, - 798, - 9693, - 15855, - 6583, - 6699, - 13647, - 1084, - 3134, - 110, - 9034, - 3085, - 19006, - 17809, - 11841, - 16718, - 15428, - 13738, - 14437, - 18064, - 9301, - 10911, - 5015, + 11148, + 11149, + 11150, + 11151, + 11154, + 11155, + 11156, + 11157, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11192, + 11193, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11214, + 11215, + 11216, + 11217, + 11222, + 11223, + 11224, + 11225, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263, + 11264, + 11265, + 11266, + 11267, + 11268, + 11269, + 11272, + 11273, + 11274, + 11275, + 11284, + 11285, + 11286, + 11287, + 11288, + 11289, + 11290, + 11291, + 11292, + 11293, + 11294, + 11295, + 11298, + 11299, + 11300, + 11301, + 11304, + 11305, + 11308, + 11309, + 11310, + 11311, + 11312, + 11313, + 11316, + 11317, + 11318, + 11319, + 11320, + 11321, + 11322, + 11323, + 11326, + 11327, + 11328, + 11329, + 11332, + 11333, + 11334, + 11335, + 11336, + 11337, + 11340, + 11341, + 11342, + 11343, + 11344, + 11345, + 11346, + 11347, + 11350, + 11351, + 11354, + 11355, + 11356, + 11357, + 11358, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11367, + 11370, + 11371, + 11372, + 11373, + 11374, + 11375, + 11376, + 11377, + 11378, + 11379, + 11380, + 11381, + 11382, + 11383, + 11384, + 11385, + 11386, + 11387, + 11388, + 11389, + 11390, + 11391, + 11392, + 11393, + 11394, + 11395, + 11396, + 11397, + 11398, + 11399, + 11402, + 11403, + 11408, + 11409, + 11410, + 11411, + 11412, + 11413, + 11416, + 11417, + 11420, + 11421, + 11424, + 11425, + 11426, + 11427, + 11428, + 11429, + 11430, + 11431, + 11432, + 11433, + 11434, + 11435, + 11438, + 11439, + 11440, + 11441, + 11442, + 11443, + 11444, + 11445, + 11446, + 11447, + 11448, + 11449, + 11450, + 11451, + 11452, + 11453, + 11454, + 11455, + 11458, + 11459, + 11460, + 11461, + 11464, + 11465, + 11466, + 11467, + 11468, + 11469, + 11476, + 11477, + 11478, + 11479, + 11480, + 11481, + 11484, + 11485, + 11486, + 11487, + 11488, + 11489, + 11490, + 11491, + 11500, + 11501, + 11502, + 11503, + 11504, + 11505, + 11506, + 11507, + 11508, + 11509, + 11510, + 11511, + 11514, + 11515, + 11518, + 11519, + 11520, + 11521, + 11522, + 11523, + 11524, + 11525, + 11526, + 11527, + 11530, + 11531, + 11538, + 11539, + 11542, + 11543, + 11544, + 11545, + 11546, + 11547, + 11548, + 11549, + 11550, + 11551, + 11552, + 11553, + 11554, + 11555, + 11556, + 11557, + 11558, + 11559, + 11562, + 11563, + 11564, + 11565, + 11566, + 11567, + 11568, + 11569, + 11574, + 11575, 11576, - 2681, - 15181, - 7647, - 13532, - 15460, - 8376, - 9597, - 4710, - 18519, - 8699, - 3875, - 18590, - 11223, - 1197, - 7941, - 3555, - 9274, - 9223, - 9341, - 2575, - 18675, - 6686, + 11577, + 11578, + 11579, + 11582, + 11583, + 11584, + 11585, + 11586, + 11587, + 11592, + 11593, + 11594, + 11595, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11606, + 11607, + 11608, + 11609, + 11612, + 11613, + 11614, + 11615, + 11616, + 11617, + 11620, + 11621, + 11622, + 11623, + 11624, + 11625, + 11626, + 11627, + 11634, + 11635, + 11636, + 11637, + 11638, + 11639, + 11642, + 11643, + 11646, + 11647, + 11654, + 11655, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11668, + 11669, + 11670, + 11671, + 11672, + 11673, + 11674, + 11675, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11704, + 11705, + 11708, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11720, + 11721, + 11724, + 11725, + 11726, + 11727, + 11728, + 11729, + 11734, + 11735, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11767, + 11768, + 11769, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11780, + 11781, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11808, + 11809, + 11812, + 11813, + 11814, + 11815, + 11818, + 11819, + 11822, + 11823, + 11824, + 11825, + 11826, + 11827, + 11830, + 11831, + 11834, + 11835, + 11836, + 11837, + 11838, + 11839, + 11842, + 11843, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11858, + 11859, + 11860, + 11861, + 11862, + 11863, + 11864, + 11865, + 11868, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11875, + 11878, + 11879, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11902, + 11903, + 11904, + 11905, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11917, + 11918, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11928, + 11929, + 11930, + 11931, + 11932, + 11933, + 11934, + 11935, + 11938, + 11939, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11962, + 11963, + 11964, + 11965, + 11968, + 11969, + 11970, + 11971, + 11972, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11982, + 11983, + 11984, + 11985, + 11990, + 11991, + 11992, + 11993, + 11994, + 11995, + 11998, + 11999, + 12004, + 12005, + 12006, + 12007, + 12014, + 12015, + 12016, + 12017, + 12018, + 12019, + 12020, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12032, + 12033, + 12034, + 12035, + 12036, + 12037, + 12038, + 12039, + 12040, + 12041, + 12044, + 12045, + 12046, + 12047, + 12048, + 12049, + 12050, + 12051, + 12052, + 12053, 12056, - 10129, - 15088, - 2404, - 19709, - 10668, - 11322, - 10644, - 11209, - 6138, - 10126, - 10527, - 5645, - 17045, - 14777, - 15734, - 9717, - 11288, - 7206, - 18328, - 5053, - 1017, - 13228, - 7122, - 2734, - 2162, - 2090, - 14558, - 2403, - 912, - 7515, - 16988, - 3506, - 17025, - 19294, - 15615, - 15729, - 3484, - 4052, - 15079, - 13200, - 128, - 6172, - 9723, - 4137, - 6773, - 7262, - 7780, - 15983, - 1960, - 3195, - 790, - 4662, - 412, - 6358, - 19975, - 155, - 12670, - 11852, - 9067, - 11627, - 12749, - 5916, - 11449, - 4193, - 19911, - 976, - 16032, - 12723, - 11020, - 993, - 968, - 9426, - 103, - 417, - 607, - 5845, - 2296, - 15695, - 19411, - 14883, - 1009, - 9718, - 8121, - 18561, - 8225, - 7777, - 11176, - 11382, - 6219, - 14142, - 16121, - 8616, - 11834, - 735, - 11452, - 17832, - 7556, - 13126, - 8548, - 18588, - 19472, - 4854, - 17887, - 7708, - 15258, - 10474, - 3295, - 3468, - 1372, - 13092, - 4641, - 4816, - 15961, - 9641, - 9217, - 8367, - 10405, - 18866, - 554, - 11556, - 16035, - 6167, - 10502, - 15751, - 13525, - 19332, - 17927, - 16064, - 8214, - 17777, - 1654, - 10640, - 4088, - 2397, - 3259, - 448, - 19589, - 13800, - 17568, - 10264, - 44, - 15357, - 3170, - 5731, - 2115, - 16250, - 15571, - 9458, - 17434, - 18486, - 2894, - 2051, - 13876, - 19867, + 12057, + 12060, + 12061, + 12062, + 12063, + 12064, + 12065, + 12068, + 12069, + 12070, + 12071, + 12072, + 12073, + 12074, + 12075, + 12076, + 12077, + 12080, + 12081, + 12082, + 12083, + 12084, + 12085, + 12088, + 12089, + 12092, + 12093, + 12094, + 12095, + 12096, + 12097, + 12098, + 12099, + 12100, + 12101, + 12102, + 12103, + 12104, + 12105, + 12106, + 12107, + 12108, + 12109, + 12110, + 12111, + 12112, + 12113, + 12114, + 12115, + 12116, + 12117, + 12118, + 12119, + 12122, + 12123, + 12126, + 12127, + 12130, + 12131, + 12134, + 12135, + 12136, + 12137, + 12138, + 12139, + 12142, + 12143, + 12148, + 12149, + 12150, + 12151, + 12156, + 12157, + 12164, + 12165, + 12172, + 12173, + 12178, + 12179, + 12180, + 12181, + 12182, + 12183, + 12184, + 12185, + 12186, + 12187, + 12188, + 12189, + 12190, + 12191, + 12192, + 12193, + 12194, + 12195, + 12196, + 12197, + 12198, + 12199, + 12204, + 12205, + 12206, + 12207, + 12208, + 12209, + 12210, + 12211, + 12212, + 12213, + 12214, + 12215, + 12220, + 12221, + 12222, + 12223, + 12224, + 12225, + 12226, + 12227, + 12228, + 12229, + 12230, + 12231, + 12232, + 12233, + 12236, + 12237, + 12238, + 12239, + 12242, + 12243, + 12244, + 12245, + 12248, + 12249, + 12250, + 12251, + 12254, + 12255, + 12258, + 12259, + 12262, + 12263, + 12264, + 12265, + 12266, + 12267, + 12270, + 12271, + 12272, + 12273, + 12276, + 12277, + 12278, + 12279, + 12280, + 12281, + 12282, + 12283, + 12284, + 12285, + 12286, + 12287, + 12288, + 12289, + 12290, + 12291, + 12292, + 12293, + 12296, + 12297, + 12300, + 12301, + 12302, + 12303, + 12304, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12316, + 12317, + 12320, + 12321, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12351, + 12354, + 12355, + 12356, + 12357, + 12358, + 12359, + 12362, + 12363, + 12366, + 12367, + 12368, + 12369, + 12370, + 12371, + 12372, + 12373, + 12374, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12385, + 12386, + 12387, + 12388, + 12389, + 12390, + 12391, + 12394, + 12395, + 12396, + 12397, + 12406, + 12407, + 12408, + 12409, + 12410, + 12411, + 12412, + 12413, + 12414, + 12415, + 12416, + 12417, + 12424, + 12425, + 12428, + 12429, + 12430, + 12431, + 12436, + 12437, + 12438, + 12439, + 12444, + 12445, + 12448, + 12449, + 12452, + 12453, + 12456, + 12457, + 12458, + 12459, + 12460, + 12461, + 12464, + 12465, + 12466, + 12467, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12482, + 12483, + 12484, + 12485, + 12486, + 12487, + 12490, + 12491, + 12492, + 12493, + 12494, + 12495, + 12500, + 12501, + 12502, + 12503, + 12506, + 12507, + 12508, + 12509, + 12512, + 12513, + 12514, + 12515, + 12518, + 12519, + 12520, + 12521, + 12524, + 12525, + 12528, + 12529, + 12530, + 12531, + 12534, + 12535, + 12536, + 12537, 12538, - 1906, - 7071, - 4590, - 14157, - 16448, - 5675, - 16680, + 12539, + 12540, + 12541, + 12544, + 12545, + 12548, + 12549, + 12550, + 12551, + 12552, + 12553, + 12554, + 12555, + 12556, + 12557, + 12558, + 12559, + 12560, + 12561, + 12562, + 12563, + 12564, + 12565, + 12566, + 12567, + 12568, + 12569, + 12570, + 12571, + 12572, + 12573, + 12574, + 12575, + 12576, + 12577, + 12580, + 12581, + 12586, + 12587, 12588, - 10073, - 637, - 6655, - 3313, - 12443, - 11086, - 17807, - 8463, - 14455, - 16579, - 619, - 19737, - 8017, + 12589, + 12590, + 12591, + 12592, + 12593, + 12596, + 12597, + 12598, + 12599, + 12602, + 12603, + 12604, + 12605, + 12606, + 12607, + 12608, + 12609, + 12610, + 12611, + 12614, + 12615, + 12622, + 12623, + 12624, + 12625, + 12626, + 12627, + 12628, + 12629, + 12630, + 12631, + 12632, + 12633, 12634, - 252, - 17287, - 2806, - 16058, - 1936, - 13586, - 1853, - 15960, - 2393, - 19602, - 1905, - 4410, - 11565, - 19269, - 13784, - 12512, - 15111, - 2884, - 14411, - 10585, - 18878, - 6760, - 8683, - 6377, - 6834, - 16745, + 12635, + 12636, + 12637, + 12638, + 12639, + 12640, + 12641, + 12648, + 12649, + 12652, + 12653, + 12654, + 12655, + 12662, + 12663, + 12666, + 12667, + 12668, + 12669, + 12670, + 12671, + 12674, + 12675, + 12678, + 12679, + 12684, + 12685, + 12686, + 12687, + 12688, + 12689, + 12690, + 12691, + 12692, + 12693, + 12694, + 12695, + 12696, + 12697, + 12702, + 12703, + 12704, + 12705, + 12706, + 12707, + 12708, + 12709, + 12710, + 12711, + 12712, + 12713, + 12714, + 12715, + 12716, + 12717, + 12718, + 12719, + 12720, + 12721, + 12722, + 12723, + 12724, + 12725, + 12728, + 12729, + 12732, + 12733, + 12736, + 12737, + 12740, + 12741, + 12742, + 12743, + 12746, + 12747, + 12748, + 12749, + 12750, + 12751, + 12752, + 12753, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12763, + 12766, + 12767, + 12772, + 12773, + 12774, + 12775, + 12776, + 12777, + 12778, + 12779, + 12780, + 12781, + 12782, + 12783, + 12788, + 12789, + 12790, + 12791, + 12792, + 12793, + 12794, + 12795, + 12796, + 12797, + 12802, + 12803, + 12804, + 12805, + 12806, + 12807, + 12808, + 12809, + 12810, + 12811, + 12812, + 12813, + 12814, + 12815, + 12822, + 12823, + 12826, + 12827, + 12828, + 12829, + 12830, + 12831, + 12832, + 12833, + 12834, + 12835, + 12836, + 12837, + 12838, + 12839, + 12840, + 12841, + 12842, + 12843, + 12844, + 12845, + 12850, + 12851, + 12858, + 12859, + 12860, + 12861, + 12862, + 12863, + 12864, + 12865, + 12866, + 12867, + 12870, + 12871, + 12876, + 12877, + 12878, + 12879, + 12882, + 12883, + 12886, + 12887, + 12888, + 12889, + 12890, + 12891, + 12892, + 12893, + 12894, + 12895, + 12896, + 12897, + 12900, + 12901, + 12902, + 12903, + 12904, + 12905, + 12906, + 12907, + 12910, + 12911, 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12918, + 12919, + 12920, + 12921, + 12922, + 12923, + 12926, + 12927, + 12928, + 12929, + 12930, + 12931, + 12934, + 12935, + 12936, + 12937, + 12938, + 12939, + 12940, + 12941, + 12942, + 12943, + 12948, + 12949, + 12952, + 12953, + 12954, + 12955, + 12958, + 12959, + 12968, + 12969, + 12970, + 12971, + 12976, + 12977, + 12978, + 12979, + 12980, + 12981, + 12982, + 12983, + 12986, + 12987, + 12988, + 12989, + 12994, + 12995, + 12998, + 12999, + 13004, + 13005, + 13006, + 13007, + 13008, + 13009, + 13010, + 13011, + 13012, + 13013, + 13014, + 13015, + 13016, + 13017, + 13018, + 13019, + 13022, + 13023, + 13026, + 13027, + 13028, + 13029, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13046, + 13047, 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13056, + 13057, + 13058, + 13059, + 13060, + 13061, + 13066, + 13067, + 13068, + 13069, + 13070, + 13071, + 13072, + 13073, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13096, + 13097, + 13098, + 13099, + 13106, + 13107, + 13110, + 13111, + 13114, + 13115, + 13118, + 13119, + 13120, + 13121, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13140, + 13141, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13151, + 13152, + 13153, + 13154, + 13155, + 13156, + 13157, + 13158, + 13159, + 13160, + 13161, + 13162, + 13163, + 13164, + 13165, + 13166, + 13167, + 13170, + 13171, + 13172, + 13173, + 13174, + 13175, + 13176, + 13177, + 13178, + 13179, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13192, + 13193, + 13194, + 13195, + 13196, + 13197, + 13200, + 13201, + 13202, + 13203, + 13204, + 13205, + 13208, + 13209, + 13212, + 13213, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13224, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13238, + 13239, + 13248, + 13249, + 13252, + 13253, + 13254, + 13255, + 13256, + 13257, + 13258, + 13259, + 13266, + 13267, + 13270, + 13271, + 13272, + 13273, + 13274, + 13275, + 13276, + 13277, + 13278, + 13279, + 13280, + 13281, + 13284, + 13285, + 13286, + 13287, + 13288, + 13289, + 13290, + 13291, + 13296, + 13297, + 13298, + 13299, + 13304, + 13305, + 13306, + 13307, + 13308, + 13309, + 13310, + 13311, + 13312, + 13313, + 13314, + 13315, + 13316, + 13317, + 13318, + 13319, + 13320, + 13321, + 13322, + 13323, + 13324, + 13325, + 13326, + 13327, + 13328, + 13329, + 13330, + 13331, + 13334, + 13335, + 13336, + 13337, + 13342, + 13343, + 13346, + 13347, + 13348, + 13349, + 13350, + 13351, + 13352, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13366, + 13367, + 13368, + 13369, + 13372, + 13373, + 13382, + 13383, + 13384, + 13385, + 13386, + 13387, + 13388, + 13389, + 13390, + 13391, + 13392, + 13393, + 13394, + 13395, + 13400, + 13401, + 13402, + 13403, + 13404, + 13405, + 13406, + 13407, + 13408, + 13409, + 13410, + 13411, + 13412, + 13413, + 13414, + 13415, + 13416, + 13417, + 13418, + 13419, + 13420, + 13421, + 13424, + 13425, + 13426, + 13427, + 13428, + 13429, + 13430, + 13431, + 13432, + 13433, + 13438, + 13439, + 13440, + 13441, + 13442, + 13443, + 13444, + 13445, + 13446, + 13447, + 13448, + 13449, + 13450, + 13451, + 13452, + 13453, + 13458, + 13459, + 13460, + 13461, + 13462, + 13463, + 13464, + 13465, + 13466, + 13467, + 13468, + 13469, + 13470, + 13471, + 13472, + 13473, + 13474, + 13475, + 13476, + 13477, + 13482, + 13483, + 13484, + 13485, + 13488, + 13489, + 13490, + 13491, + 13494, + 13495, + 13496, + 13497, + 13500, + 13501, + 13514, + 13515, + 13516, + 13517, + 13520, + 13521, + 13522, + 13523, + 13524, + 13525, + 13526, + 13527, 13528, - 10216, - 14139, - 1608, - 1104, - 17218, - 3556, - 7389, - 13315, - 15577, - 1165, - 12038, - 16835, - 9393, - 7388, - 12244, - 18162, - 1872, - 11829, - 2760, - 10638, - 6791, - 2321, - 16772, - 14653, - 16778, - 14756, - 17142, - 16385, - 3717, - 690, - 16856, - 12679, - 5381, - 7826, - 19662, - 11200, - 11994, - 14250, - 2870, - 3348, - 17613, - 296, - 15660, - 11156, - 16454, - 7501, - 12339, - 17532, - 13409, - 9932, - 13060, - 1637, - 18355, - 18535, - 12456, - 11244, - 17169, - 4645, - 5899, + 13529, + 13532, + 13533, + 13534, + 13535, + 13538, + 13539, + 13540, + 13541, + 13544, + 13545, + 13546, + 13547, 13552, - 3381, - 7526, - 1749, - 7840, - 4644, - 11252, - 12882, - 16116, - 782, - 10523, - 8749, - 12459, - 13970, - 8454, - 10220, - 2479, - 3305, - 2367, - 7307, - 3689, - 16726, - 12046, - 5948, - 1681, - 3157, - 11011, - 18602, - 10744, - 3493, - 19787, - 11407, - 498, - 14444, - 16526, - 12718, - 9839, - 14988, - 3575, - 8510, - 10195, - 15, - 5318, - 3951, - 11774, - 12021, - 16711, - 7532, - 10704, - 17083, - 2684, - 19438, - 19079, - 555, - 15725, - 11657, - 16059, - 7993, - 10265, - 11356, - 3895, - 10241, - 11519, - 10252, - 17574, - 7670, - 3683, - 4713, - 7296, - 2558, - 3573, - 9117, - 1275, - 16866, - 1797, - 18776, - 1089, - 7161, - 2602, - 773, - 11214, - 6567, - 4170, - 4192, - 17537, + 13553, + 13554, + 13555, + 13556, + 13557, + 13558, + 13559, + 13560, + 13561, + 13562, + 13563, + 13564, + 13565, + 13566, + 13567, + 13568, + 13569, + 13572, + 13573, + 13574, + 13575, + 13576, + 13577, + 13582, + 13583, + 13584, + 13585, + 13586, + 13587, + 13590, + 13591, + 13592, + 13593, + 13594, + 13595, + 13596, + 13597, + 13598, + 13599, + 13602, + 13603, + 13606, + 13607, + 13610, + 13611, + 13612, + 13613, + 13614, + 13615, + 13618, + 13619, + 13620, + 13621, + 13622, + 13623, + 13624, + 13625, + 13626, + 13627, + 13630, + 13631, + 13632, + 13633, + 13636, + 13637, + 13638, + 13639, + 13640, + 13641, + 13644, + 13645, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13662, + 13663, + 13666, + 13667, + 13672, + 13673, + 13674, + 13675, + 13678, + 13679, + 13680, + 13681, + 13682, + 13683, + 13684, + 13685, 13688, - 17689, - 42, - 10436, - 4127, - 4204, - 12285, - 5928, - 6402, - 9635, - 16945, - 19408, - 12544, - 6860, - 3215, - 19697, - 19969, - 6274, - 6975, - 17616, - 17319, + 13689, + 13690, + 13691, + 13692, + 13693, + 13698, + 13699, + 13702, + 13703, + 13704, + 13705, + 13706, + 13707, + 13708, + 13709, + 13714, + 13715, + 13716, + 13717, + 13718, + 13719, + 13720, + 13721, + 13724, + 13725, + 13726, + 13727, + 13728, + 13729, + 13730, + 13731, + 13734, + 13735, + 13736, + 13737, + 13738, + 13739, + 13744, + 13745, + 13746, + 13747, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13760, + 13761, + 13762, + 13763, + 13764, + 13765, + 13766, + 13767, + 13768, + 13769, + 13770, + 13771, + 13772, + 13773, + 13774, + 13775, + 13776, + 13777, + 13780, + 13781, + 13782, + 13783, + 13784, + 13785, + 13786, + 13787, + 13788, + 13789, + 13790, + 13791, + 13792, + 13793, + 13796, + 13797, + 13798, + 13799, + 13800, + 13801, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13814, 13815, - 14308, - 6935, - 17305, - 19128, - 17810, - 19054, - 4001, - 3920, + 13816, + 13817, + 13818, + 13819, + 13820, + 13821, + 13824, + 13825, + 13830, + 13831, + 13834, + 13835, + 13838, + 13839, + 13840, + 13841, + 13842, + 13843, + 13844, + 13845, + 13846, + 13847, + 13848, + 13849, + 13850, + 13851, + 13852, + 13853, + 13854, + 13855, + 13856, + 13857, + 13860, + 13861, + 13862, + 13863, + 13864, + 13865, + 13866, + 13867, + 13872, + 13873, + 13874, + 13875, + 13876, + 13877, + 13882, + 13883, + 13884, + 13885, + 13886, + 13887, + 13888, + 13889, + 13890, + 13891, + 13892, + 13893, + 13894, + 13895, + 13896, + 13897, + 13898, + 13899, + 13900, + 13901, + 13904, + 13905, + 13912, + 13913, + 13914, + 13915, + 13916, + 13917, + 13920, + 13921, + 13922, + 13923, + 13926, + 13927, + 13928, + 13929, + 13930, + 13931, + 13932, + 13933, + 13938, + 13939, + 13940, + 13941, + 13942, + 13943, + 13944, + 13945, + 13946, + 13947, + 13952, + 13953, + 13956, + 13957, + 13958, + 13959, + 13960, + 13961, + 13962, + 13963, + 13964, + 13965, + 13966, + 13967, + 13968, + 13969, + 13970, + 13971, + 13972, + 13973, + 13974, + 13975, + 13976, + 13977, + 13982, + 13983, + 13984, + 13985, + 13988, + 13989, + 13990, + 13991, + 13992, + 13993, + 13998, + 13999, + 14000, + 14001, + 14004, + 14005, + 14006, + 14007, + 14008, + 14009, + 14010, + 14011, + 14012, + 14013, + 14014, + 14015, + 14016, + 14017, + 14018, + 14019, + 14020, + 14021, + 14022, + 14023, + 14024, + 14025, + 14028, + 14029, + 14030, + 14031, + 14040, + 14041, + 14042, + 14043, + 14044, + 14045, + 14048, + 14049, + 14052, + 14053, + 14054, + 14055, + 14058, + 14059, + 14060, + 14061, + 14062, + 14063, + 14066, + 14067, + 14068, + 14069, 14070, - 19700, - 11490, - 560, - 19066, - 19368, - 4929, - 12098, - 15049, - 17094, - 8074, - 12460, - 5387, - 17185, - 1513, - 19804, - 3706, - 2482, - 18140, - 16389, - 12590, - 1809, - 18681, - 2779, - 4758, - 3204, - 5648, - 13221, - 4861, - 16930, - 1194, - 13772, - 19306, - 15429, - 4558, - 11551, - 2395, - 15657, - 16875, - 10104, - 12053, - 10841, - 17729, - 16872, - 7417, - 15714, - 9514, - 13795, - 18604, - 15147, - 17134, - 6165, + 14071, + 14074, + 14075, + 14076, + 14077, + 14078, + 14079, + 14080, + 14081, + 14082, + 14083, + 14084, + 14085, + 14086, + 14087, + 14088, + 14089, + 14090, + 14091, + 14096, + 14097, + 14098, + 14099, + 14104, + 14105, + 14108, + 14109, + 14110, + 14111, + 14112, + 14113, + 14114, + 14115, + 14118, + 14119, + 14120, + 14121, + 14122, + 14123, + 14124, + 14125, + 14128, + 14129, + 14130, + 14131, + 14132, + 14133, + 14134, + 14135, + 14136, + 14137, + 14138, + 14139, + 14140, + 14141, + 14142, + 14143, + 14146, + 14147, + 14148, + 14149, + 14152, + 14153, + 14158, + 14159, + 14160, + 14161, + 14162, + 14163, + 14166, + 14167, + 14168, + 14169, + 14170, + 14171, + 14176, + 14177, + 14180, + 14181, + 14184, + 14185, + 14188, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14201, + 14202, + 14203, + 14204, + 14205, + 14206, + 14207, + 14208, + 14209, + 14210, + 14211, + 14212, + 14213, + 14218, + 14219, + 14222, + 14223, + 14224, + 14225, + 14228, + 14229, + 14230, + 14231, + 14234, + 14235, + 14238, + 14239, + 14240, + 14241, + 14242, + 14243, + 14244, + 14245, + 14246, + 14247, + 14248, + 14249, + 14250, + 14251, + 14252, + 14253, + 14254, + 14255, + 14256, + 14257, + 14258, + 14259, + 14260, + 14261, + 14262, + 14263, + 14264, + 14265, + 14266, + 14267, + 14268, + 14269, + 14270, + 14271, + 14272, + 14273, + 14274, + 14275, + 14276, + 14277, + 14278, + 14279, + 14280, + 14281, + 14282, + 14283, + 14290, + 14291, + 14294, + 14295, + 14296, + 14297, + 14298, + 14299, + 14302, + 14303, + 14308, + 14309, + 14314, + 14315, + 14316, + 14317, + 14318, + 14319, + 14320, + 14321, + 14328, + 14329, + 14330, + 14331, + 14334, + 14335, + 14340, + 14341, + 14342, + 14343, + 14344, + 14345, + 14348, + 14349, + 14350, + 14351, + 14352, + 14353, + 14354, + 14355, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14369, + 14372, + 14373, + 14374, + 14375, + 14376, + 14377, + 14378, + 14379, + 14380, + 14381, + 14382, + 14383, + 14384, + 14385, + 14386, + 14387, + 14388, + 14389, + 14390, + 14391, + 14392, + 14393, + 14400, + 14401, + 14404, + 14405, + 14412, + 14413, + 14416, + 14417, + 14418, + 14419, + 14420, + 14421, + 14422, + 14423, + 14424, + 14425, + 14426, + 14427, + 14428, + 14429, + 14430, 14431, - 11838, - 10210, - 10512, - 17415, - 5135, - 6757, - 11345, - 8310, - 11582, - 15176, - 8140, - 18884, - 17135, - 14622, - 5335, - 11950, - 19213, - 5957, - 3003, - 351, - 12089, - 7392, - 17749, - 11799, - 11827, - 11477, - 1118, - 14654, - 15703, - 14833, - 3860, - 3665, - 2032, - 19480, - 9745, - 12997, - 10559, - 2062, - 3849, - 17206, - 11688, - 17075, - 2659, - 13533, + 14434, + 14435, + 14436, + 14437, + 14438, + 14439, + 14442, + 14443, + 14444, + 14445, + 14450, + 14451, + 14452, + 14453, + 14454, + 14455, + 14460, + 14461, + 14464, + 14465, + 14466, + 14467, + 14472, + 14473, + 14474, + 14475, + 14476, + 14477, + 14478, + 14479, 14480, - 10988, - 13314, - 1539, - 19817, - 3507, - 13624, - 8419, - 12604, - 1900, - 5319, - 12596, - 15256, - 1186, - 5350, - 15796, - 13690, - 18979, - 4578, - 5601, - 12508, - 1587, - 7447, - 14848, - 13130, - 17956, - 3372, - 16471, - 19259, - 464, - 724, - 9389, - 827, - 1150, - 19204, - 3927, - 8274, - 15038, - 9735, - 143, - 18530, - 959, - 18664, - 705, - 15522, - 10176, - 19267, - 11207, - 5999, - 1699, - 2875, - 1859, - 7833, - 3487, - 10376, - 9415, - 4569, - 4066, - 1660, - 5558, - 5612, - 19479, - 2481, - 17004, - 16825, - 12411, - 12566, - 14423, - 6872, - 14582, - 18165, - 7277, - 7012, + 14481, + 14482, + 14483, + 14484, + 14485, + 14490, + 14491, 14492, - 15812, - 5077, - 18302, - 7338, - 11613, - 4212, - 6929, - 19890, - 2264, - 11079, - 19674, - 10153, - 7797, - 13191, - 19641, - 7679, - 12444, - 5553, - 11975, - 2266, - 7259, - 10475, - 4064, - 12470, - 13764, - 1414, - 17225, - 4736, - 14525, - 13243, - 16029, - 1729, - 8729, - 754, - 19510, - 3620, - 9025, - 18964, - 16337, - 7353, - 13212, - 15098, - 1981, - 9376, - 13566, - 9610, - 7700, - 11932, - 6077, - 13540, - 11383, - 4046, - 419, - 5112, - 16359, - 482, - 6904, - 19311, - 10686, - 5165, - 6736, - 3414, - 13272, - 4739, - 14153, - 19493, - 14642, - 9820, - 5333, - 13058, - 19520, - 10102, - 659, - 6013, - 16847, - 6660, - 4417, - 19728, - 19436, - 4359, - 14057, - 6871, - 14058, - 1846, - 3110, - 3809, - 18947, - 1074, + 14493, + 14494, + 14495, + 14498, + 14499, + 14500, + 14501, + 14502, + 14503, + 14504, + 14505, + 14506, + 14507, + 14508, + 14509, + 14510, + 14511, + 14514, + 14515, + 14516, + 14517, + 14520, + 14521, + 14526, + 14527, + 14528, + 14529, + 14530, + 14531, + 14532, + 14533, + 14536, + 14537, + 14538, + 14539, + 14540, + 14541, + 14542, + 14543, + 14546, + 14547, + 14548, + 14549, + 14552, + 14553, + 14554, + 14555, + 14556, + 14557, + 14558, + 14559, + 14560, + 14561, + 14566, + 14567, + 14568, + 14569, + 14570, + 14571, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14586, + 14587, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14612, + 14613, + 14614, + 14615, + 14618, 14619, - 13442, - 17178, - 10350, - 6986, - 2624, - 2373, - 18167, - 2299, - 2498, - 17669, - 13353, - 7496, - 12750, - 18552, - 5891, - 4573, - 10364, - 6911, - 9156, - 8047, - 18375, - 12389, - 18467, - 19623, - 13915, - 7211, - 7524, - 13637, - 995, - 8334, - 896, - 1519, + 14620, + 14621, + 14622, + 14623, + 14624, + 14625, + 14626, + 14627, + 14628, + 14629, + 14632, + 14633, + 14634, + 14635, + 14636, + 14637, + 14640, + 14641, + 14642, + 14643, + 14644, + 14645, + 14652, + 14653, + 14654, + 14655, + 14656, + 14657, + 14658, + 14659, + 14660, + 14661, + 14662, + 14663, + 14670, + 14671, + 14672, + 14673, + 14674, + 14675, + 14676, + 14677, + 14678, + 14679, + 14680, + 14681, + 14682, + 14683, + 14686, + 14687, + 14688, + 14689, + 14690, + 14691, + 14694, + 14695, + 14698, + 14699, + 14700, + 14701, + 14702, + 14703, + 14704, + 14705, + 14706, + 14707, + 14708, + 14709, + 14710, + 14711, + 14712, + 14713, + 14714, + 14715, + 14716, 14717, - 2696, + 14718, + 14719, + 14720, + 14721, + 14724, + 14725, + 14726, + 14727, + 14730, + 14731, + 14732, + 14733, + 14736, + 14737, + 14738, + 14739, + 14740, + 14741, + 14744, + 14745, + 14746, + 14747, + 14756, + 14757, + 14760, + 14761, + 14768, + 14769, + 14770, + 14771, + 14772, + 14773, + 14774, + 14775, + 14778, + 14779, + 14780, + 14781, + 14782, + 14783, + 14784, + 14785, + 14786, + 14787, + 14788, + 14789, + 14790, + 14791, + 14794, + 14795, + 14800, + 14801, + 14804, + 14805, + 14808, + 14809, + 14812, + 14813, + 14816, + 14817, + 14818, + 14819, + 14820, + 14821, + 14822, + 14823, + 14824, + 14825, + 14826, + 14827, + 14832, + 14833, + 14836, + 14837, + 14838, + 14839, + 14842, + 14843, + 14844, + 14845, + 14846, + 14847, + 14848, + 14849, + 14852, + 14853, + 14854, + 14855, + 14858, + 14859, + 14862, + 14863, + 14864, + 14865, + 14866, + 14867, + 14870, + 14871, + 14874, + 14875, + 14878, + 14879, + 14880, + 14881, + 14882, + 14883, + 14884, + 14885, + 14890, + 14891, + 14892, + 14893, + 14896, + 14897, + 14898, + 14899, + 14900, + 14901, + 14902, + 14903, + 14904, + 14905, + 14906, + 14907, + 14910, + 14911, + 14916, + 14917, + 14918, + 14919, + 14920, + 14921, + 14922, + 14923, + 14924, + 14925, + 14926, + 14927, + 14932, + 14933, + 14934, + 14935, + 14936, + 14937, + 14938, + 14939, + 14940, + 14941, + 14946, + 14947, + 14956, + 14957, + 14958, + 14959, + 14960, + 14961, + 14962, + 14963, + 14964, + 14965, + 14966, + 14967, + 14972, + 14973, + 14978, + 14979, + 14980, + 14981, + 14982, + 14983, + 14988, + 14989, + 14990, + 14991, + 14992, + 14993, + 14994, + 14995, + 15004, + 15005, + 15006, + 15007, + 15008, + 15009, + 15010, + 15011, + 15012, + 15013, + 15018, + 15019, + 15020, + 15021, + 15022, + 15023, + 15024, + 15025, + 15026, + 15027, + 15030, + 15031, + 15034, + 15035, + 15036, + 15037, + 15038, + 15039, + 15040, + 15041, + 15046, + 15047, + 15048, + 15049, + 15050, + 15051, + 15052, + 15053, + 15054, + 15055, + 15056, + 15057, + 15060, + 15061, + 15062, + 15063, + 15064, + 15065, + 15068, + 15069, + 15072, + 15073, + 15076, + 15077, + 15080, + 15081, + 15082, + 15083, + 15084, + 15085, + 15086, + 15087, + 15088, + 15089, + 15090, + 15091, + 15092, + 15093, + 15098, + 15099, + 15100, + 15101, + 15102, + 15103, + 15104, + 15105, + 15106, + 15107, + 15108, + 15109, + 15110, + 15111, + 15112, + 15113, + 15116, + 15117, + 15118, + 15119, + 15120, + 15121, + 15122, + 15123, + 15124, + 15125, + 15126, + 15127, + 15128, + 15129, + 15138, + 15139, + 15140, + 15141, + 15142, + 15143, + 15144, + 15145, + 15148, + 15149, + 15150, + 15151, + 15152, + 15153, + 15154, + 15155, + 15158, + 15159, + 15160, + 15161, + 15162, + 15163, + 15164, + 15165, + 15166, + 15167, + 15168, + 15169, + 15172, + 15173, + 15174, + 15175, + 15176, + 15177, + 15178, + 15179, + 15182, + 15183, + 15184, + 15185, + 15186, + 15187, + 15188, + 15189, + 15190, + 15191, + 15192, + 15193, + 15194, + 15195, + 15196, + 15197, + 15200, + 15201, + 15204, + 15205, + 15206, + 15207, + 15208, + 15209, + 15210, + 15211, + 15214, + 15215, + 15220, + 15221, + 15222, + 15223, + 15226, + 15227, + 15232, + 15233, + 15234, + 15235, + 15244, + 15245, + 15248, + 15249, + 15252, + 15253, + 15254, + 15255, + 15256, + 15257, + 15258, + 15259, + 15260, + 15261, + 15266, + 15267, 15268, - 5114, - 7976, - 1201, - 11915, - 5094, - 17187, - 11756, - 10146, - 18842, - 9622, - 3343, - 2329, - 5785, - 8648, - 8902, - 4786, - 8190, - 178, - 3450, - 10623, - 9879, - 14158, - 9598, - 604, - 13886, - 16622, - 15678, - 19764, - 522, - 3654, - 2074, - 11385, - 6060, - 10416, - 4904, - 10020, - 9759, - 14101, - 3970, - 8716, - 8520, - 73, - 14202, - 1974, - 8359, - 5956, - 4380, - 2972, - 11514, - 19356, - 18771, - 8511, - 3825, - 2371, - 3645, - 4146, - 2467, - 9187, - 10081, - 2945, - 16355, - 13603, - 3378, - 5341, - 14261, - 10586, - 4936, - 1370, - 12248, - 730, - 12062, - 4896, - 3120, + 15269, + 15270, + 15271, + 15274, + 15275, + 15276, + 15277, + 15278, + 15279, + 15282, + 15283, + 15286, + 15287, + 15290, + 15291, + 15296, + 15297, + 15300, + 15301, + 15302, + 15303, + 15304, + 15305, + 15312, + 15313, + 15314, + 15315, + 15316, + 15317, + 15318, + 15319, + 15320, + 15321, + 15322, + 15323, + 15324, + 15325, + 15326, + 15327, + 15328, + 15329, + 15330, + 15331, + 15332, + 15333, + 15334, + 15335, + 15336, + 15337, + 15338, + 15339, + 15344, + 15345, + 15346, + 15347, + 15348, + 15349, + 15350, + 15351, + 15352, + 15353, + 15354, + 15355, + 15356, + 15357, + 15358, + 15359, + 15362, + 15363, + 15364, + 15365, + 15366, + 15367, + 15370, + 15371, + 15372, + 15373, + 15374, + 15375, + 15378, + 15379, + 15380, + 15381, + 15386, + 15387, + 15388, + 15389, + 15392, + 15393, + 15394, + 15395, + 15396, + 15397, + 15400, + 15401, + 15406, + 15407, + 15408, + 15409, + 15410, + 15411, + 15412, + 15413, + 15414, + 15415, + 15418, + 15419, + 15420, + 15421, + 15422, + 15423, + 15424, + 15425, + 15428, + 15429, + 15430, + 15431, + 15434, + 15435, + 15436, + 15437, + 15438, + 15439, + 15440, + 15441, + 15442, + 15443, + 15446, + 15447, + 15448, + 15449, + 15450, + 15451, + 15452, + 15453, + 15458, + 15459, + 15460, + 15461, + 15462, + 15463, + 15464, + 15465, + 15466, + 15467, + 15468, + 15469, + 15476, + 15477, + 15480, + 15481, + 15482, + 15483, + 15490, + 15491, + 15492, + 15493, + 15494, + 15495, + 15496, + 15497, + 15502, + 15503, + 15504, + 15505, + 15508, + 15509, + 15510, + 15511, + 15512, + 15513, + 15514, + 15515, + 15516, + 15517, + 15520, + 15521, + 15522, + 15523, + 15524, + 15525, + 15528, + 15529, + 15530, + 15531, + 15532, + 15533, + 15534, + 15535, + 15536, + 15537, + 15538, + 15539, + 15542, + 15543, + 15546, 15547, - 11535, - 18349, - 6608, - 13969, - 3253, - 14008, - 18969, - 923, - 8436, - 2962, - 8369, + 15550, + 15551, + 15552, + 15553, + 15554, + 15555, + 15556, + 15557, + 15558, + 15559, + 15560, + 15561, + 15562, + 15563, + 15564, + 15565, + 15566, + 15567, + 15568, + 15569, + 15570, + 15571, + 15572, + 15573, + 15574, + 15575, + 15576, + 15577, + 15578, + 15579, + 15580, + 15581, + 15588, + 15589, + 15590, + 15591, + 15592, + 15593, + 15594, + 15595, + 15596, + 15597, + 15598, + 15599, + 15600, + 15601, + 15604, + 15605, + 15606, + 15607, + 15608, + 15609, + 15610, + 15611, + 15612, + 15613, + 15616, + 15617, + 15618, + 15619, + 15620, + 15621, + 15624, + 15625, + 15626, + 15627, + 15628, + 15629, + 15630, + 15631, + 15634, + 15635, + 15636, + 15637, + 15638, + 15639, + 15640, + 15641, + 15644, + 15645, + 15646, + 15647, + 15654, + 15655, + 15660, + 15661, + 15662, 15663, - 13481, - 2505, - 19373, - 17327, - 15373, - 19693, - 19339, - 16321, - 11127, - 6841, - 1555, - 4232, - 13101, - 13462, - 6007, - 16329, - 12011, - 12076, - 12655, - 12180, - 11953, - 14980, - 8488, - 7609, - 7725, - 16425, - 5688, - 14449, - 18565, - 520, - 13011, - 1177, - 1212, - 13261, - 18097, - 9116, - 18511, - 15159, - 8422, - 9353, - 3721, - 17125, - 14739, - 13404, - 11868, - 18215, - 4594, - 19759, - 19561, - 11558, - 14037, - 19649, - 6108, - 10864, - 13920, - 11728, - 19571, - 289, - 16460, - 13387, - 3005, - 307, - 19123, - 12905, - 16462, - 10197, - 13233, - 16082, - 9808, - 13204, - 11896, - 18861, - 16461, - 2387, - 7751, - 11661, - 6840, - 17543, - 10112, - 18759, - 7450, - 17011, - 12859, - 3959, - 17467, - 7857, - 12409, - 10866, - 15153, - 1378, - 18833, - 15174, - 191, - 3454, - 10496, - 17918, - 3834, - 7948, - 7367, - 7348, - 12051, - 5105, - 18928, - 13293, - 11555, - 13052, - 8122, - 12164, - 2893, - 12976, - 10587, - 13817, - 11518, - 3898, - 14023, - 9674, - 10421, - 13613, - 14700, - 8143, - 6277, - 19994, - 16989, - 3945, - 13992, - 16446, - 19711, - 1726, - 2504, - 12349, - 19273, - 4580, - 16309, - 1525, - 17798, - 13769, - 10871, + 15664, + 15665, + 15666, + 15667, + 15670, + 15671, + 15672, + 15673, + 15674, + 15675, + 15676, + 15677, + 15678, + 15679, + 15680, + 15681, + 15684, + 15685, + 15686, + 15687, + 15690, + 15691, + 15694, + 15695, + 15696, + 15697, + 15698, + 15699, + 15704, + 15705, + 15712, + 15713, + 15714, + 15715, + 15716, + 15717, + 15718, + 15719, + 15720, + 15721, + 15722, + 15723, + 15724, + 15725, + 15726, + 15727, + 15728, + 15729, + 15730, + 15731, + 15732, + 15733, + 15734, + 15735, + 15736, + 15737, + 15738, + 15739, + 15740, + 15741, + 15742, + 15743, + 15746, + 15747, + 15748, + 15749, + 15750, + 15751, + 15754, + 15755, + 15756, + 15757, + 15762, + 15763, + 15766, + 15767, + 15768, + 15769, + 15770, + 15771, + 15780, + 15781, + 15782, + 15783, + 15784, + 15785, + 15786, + 15787, + 15790, + 15791, + 15794, + 15795, + 15796, + 15797, + 15798, + 15799, + 15800, + 15801, + 15802, + 15803, + 15804, + 15805, + 15806, + 15807, + 15808, + 15809, + 15810, + 15811, + 15812, + 15813, + 15816, + 15817, + 15818, + 15819, + 15820, + 15821, + 15826, + 15827, + 15828, + 15829, + 15830, + 15831, + 15832, + 15833, + 15836, + 15837, + 15838, + 15839, + 15844, + 15845, + 15846, + 15847, + 15850, + 15851, + 15852, + 15853, + 15856, + 15857, + 15858, + 15859, + 15866, + 15867, + 15870, + 15871, + 15874, + 15875, + 15878, + 15879, + 15880, + 15881, + 15882, + 15883, + 15886, + 15887, + 15888, + 15889, + 15892, + 15893, + 15894, + 15895, + 15896, + 15897, + 15900, + 15901, + 15902, + 15903, + 15906, + 15907, + 15908, + 15909, + 15910, + 15911, + 15912, + 15913, + 15914, + 15915, + 15918, + 15919, + 15920, + 15921, + 15928, + 15929, + 15930, + 15931, + 15934, + 15935, + 15938, + 15939, + 15940, + 15941, + 15942, + 15943, + 15944, + 15945, + 15946, + 15947, + 15948, + 15949, 15950, - 11050, - 5678, - 4408, - 10740, - 19214, + 15951, + 15954, + 15955, + 15956, + 15957, + 15958, + 15959, + 15960, + 15961, + 15962, + 15963, + 15964, + 15965, + 15968, + 15969, + 15970, + 15971, + 15972, + 15973, + 15974, + 15975, + 15976, + 15977, + 15978, + 15979, + 15980, + 15981, + 15984, + 15985, + 15986, + 15987, + 15988, + 15989, + 15990, + 15991, + 15992, + 15993, + 15994, + 15995, + 15996, + 15997, + 16004, + 16005, + 16006, + 16007, + 16008, + 16009, + 16010, + 16011, + 16012, + 16013, + 16014, + 16015, + 16016, + 16017, + 16020, + 16021, + 16022, + 16023, + 16024, + 16025, + 16032, + 16033, + 16034, + 16035, + 16036, + 16037, + 16042, + 16043, + 16044, + 16045, + 16050, + 16051, + 16054, + 16055, + 16058, + 16059, + 16060, + 16061, + 16062, + 16063, + 16064, + 16065, + 16066, + 16067, + 16068, + 16069, + 16070, + 16071, + 16074, + 16075, + 16076, + 16077, + 16078, + 16079, + 16080, + 16081, + 16082, + 16083, + 16084, + 16085, + 16088, + 16089, + 16092, + 16093, + 16096, + 16097, + 16098, + 16099, + 16100, + 16101, + 16102, + 16103, + 16104, + 16105, + 16106, + 16107, + 16108, + 16109, + 16110, + 16111, + 16112, + 16113, + 16114, + 16115, + 16116, + 16117, + 16118, + 16119, + 16122, + 16123, + 16124, + 16125, + 16126, + 16127, + 16130, + 16131, + 16134, + 16135, + 16140, + 16141, + 16142, + 16143, + 16146, + 16147, + 16150, + 16151, + 16154, + 16155, + 16164, + 16165, + 16166, + 16167, + 16170, + 16171, + 16172, + 16173, + 16174, + 16175, + 16178, + 16179, + 16180, + 16181, + 16184, + 16185, + 16188, + 16189, + 16190, + 16191, + 16192, + 16193, + 16194, + 16195, + 16196, + 16197, + 16198, + 16199, + 16200, + 16201, + 16202, + 16203, + 16204, + 16205, + 16208, + 16209, + 16210, + 16211, + 16212, + 16213, + 16216, + 16217, + 16220, + 16221, + 16222, + 16223, + 16224, + 16225, + 16228, + 16229, + 16230, + 16231, + 16232, + 16233, + 16234, + 16235, + 16236, + 16237, + 16240, + 16241, + 16242, + 16243, + 16246, + 16247, + 16248, + 16249, + 16250, 16251, - 18963, - 4711, - 11568, - 7470, - 5426, - 722, - 12072, + 16256, + 16257, + 16258, 16259, - 9801, - 19076, - 14151, - 16890, - 17013, - 7041, - 18688, - 14000, - 4988, - 17041, - 18778, - 17593, - 4742, - 1976, - 6083, - 10821, - 3056, - 10749, - 10891, - 7424, - 15687, - 13448, - 10058, - 1667, - 4096, - 7886, - 5887, - 745, + 16260, + 16261, + 16264, + 16265, + 16266, + 16267, + 16270, + 16271, + 16278, + 16279, + 16280, + 16281, + 16282, + 16283, + 16286, + 16287, + 16288, + 16289, + 16290, + 16291, + 16294, + 16295, + 16298, + 16299, + 16300, + 16301, + 16302, + 16303, + 16304, + 16305, + 16306, + 16307, + 16308, + 16309, + 16310, + 16311, + 16312, + 16313, + 16314, + 16315, + 16320, + 16321, + 16322, + 16323, 16324, - 14316, - 16884, - 19344, - 5691, - 5279, - 18755, - 7637, - 5009, - 2961, - 16717, - 15937, - 14224, - 343, - 13725, - 543, - 5639, - 14532, - 1899, - 18699, - 4006, - 6237, - 3408, - 7790, - 19592, - 450, - 17145, - 7225, - 134, - 12529, - 13368, - 1569, - 161, - 14294, - 18730, - 17190, - 10990, - 6356, - 10830, - 6846, - 4686, - 19170, - 3628, - 8155, - 16973, - 18610, - 4567, - 11483, - 10062, - 17999, - 6819, - 17864, - 10760, - 15093, - 10298, - 8737, - 10218, - 6067, - 3245, - 10511, - 492, - 9662, + 16325, + 16326, + 16327, + 16328, + 16329, + 16332, + 16333, + 16334, + 16335, + 16336, + 16337, + 16338, + 16339, + 16340, + 16341, + 16344, + 16345, + 16346, + 16347, + 16350, + 16351, + 16352, + 16353, + 16364, + 16365, + 16366, + 16367, + 16368, + 16369, + 16370, + 16371, + 16372, + 16373, + 16376, + 16377, + 16378, + 16379, + 16380, + 16381, + 16386, + 16387, + 16388, + 16389, + 16390, + 16391, + 16392, + 16393, + 16394, + 16395, + 16396, + 16397, + 16400, + 16401, + 16404, + 16405, + 16406, + 16407, + 16412, + 16413, + 16416, + 16417, + 16418, + 16419, + 16420, + 16421, + 16422, + 16423, + 16424, + 16425, + 16426, + 16427, + 16430, + 16431, + 16432, + 16433, + 16434, + 16435, + 16438, + 16439, + 16440, + 16441, + 16442, + 16443, + 16444, + 16445, + 16446, + 16447, + 16448, + 16449, + 16450, + 16451, + 16452, + 16453, + 16454, + 16455, + 16456, + 16457, + 16458, + 16459, + 16460, + 16461, + 16462, + 16463, + 16464, + 16465, + 16466, + 16467, + 16468, + 16469, + 16472, + 16473, + 16474, + 16475, + 16476, + 16477, + 16480, + 16481, + 16490, + 16491, + 16492, + 16493, + 16496, + 16497, + 16498, + 16499, + 16502, + 16503, + 16506, + 16507, + 16508, + 16509, + 16510, + 16511, + 16512, + 16513, + 16514, + 16515, + 16516, + 16517, + 16518, + 16519, + 16522, + 16523, + 16526, + 16527, + 16530, + 16531, + 16536, + 16537, + 16538, + 16539, + 16540, + 16541, + 16544, + 16545, + 16546, + 16547, + 16548, + 16549, + 16550, + 16551, + 16554, + 16555, + 16572, + 16573, + 16576, + 16577, + 16578, + 16579, + 16580, + 16581, + 16582, + 16583, + 16584, + 16585, + 16586, + 16587, + 16590, + 16591, + 16594, + 16595, + 16596, + 16597, + 16598, + 16599, + 16600, + 16601, + 16604, + 16605, + 16606, + 16607, + 16612, + 16613, + 16614, + 16615, + 16616, + 16617, + 16618, + 16619, + 16622, + 16623, + 16624, + 16625, + 16628, + 16629, + 16630, + 16631, + 16636, + 16637, + 16638, + 16639, + 16640, + 16641, + 16642, + 16643, + 16644, + 16645, + 16646, + 16647, + 16650, + 16651, + 16652, + 16653, + 16662, + 16663, + 16664, + 16665, + 16666, + 16667, + 16670, + 16671, + 16674, + 16675, + 16676, + 16677, + 16678, + 16679, + 16680, + 16681, + 16688, + 16689, + 16690, + 16691, + 16692, + 16693, + 16694, + 16695, + 16696, + 16697, + 16698, + 16699, + 16700, + 16701, + 16702, + 16703, + 16704, + 16705, + 16706, + 16707, + 16708, + 16709, + 16712, + 16713, + 16714, + 16715, + 16718, + 16719, + 16726, + 16727, + 16728, + 16729, + 16734, + 16735, + 16736, + 16737, + 16738, + 16739, + 16742, + 16743, + 16744, + 16745, + 16746, + 16747, + 16748, + 16749, + 16750, + 16751, + 16752, + 16753, + 16754, + 16755, + 16756, + 16757, + 16758, + 16759, + 16760, + 16761, + 16770, + 16771, + 16772, + 16773, + 16774, + 16775, + 16776, + 16777, + 16778, + 16779, + 16780, + 16781, + 16782, + 16783, + 16784, + 16785, + 16786, + 16787, + 16790, + 16791, + 16792, + 16793, + 16794, + 16795, + 16798, + 16799, + 16800, + 16801, + 16802, + 16803, + 16804, + 16805, + 16810, + 16811, + 16814, + 16815, + 16816, + 16817, + 16818, + 16819, + 16820, + 16821, + 16822, + 16823, + 16824, + 16825, + 16828, + 16829, + 16830, + 16831, + 16834, + 16835, + 16836, + 16837, + 16838, 16839, - 1147, - 2425, - 13259, - 9921, - 9860, - 1917, - 3296, - 7193, - 13951, - 1638, - 1185, - 14997, - 10406, - 11947, - 17852, - 15554, - 16404, - 18691, - 11552, + 16840, + 16841, + 16844, + 16845, + 16848, + 16849, + 16850, + 16851, + 16854, + 16855, + 16856, + 16857, + 16860, + 16861, + 16862, + 16863, + 16864, + 16865, + 16866, + 16867, + 16868, + 16869, + 16870, + 16871, + 16872, + 16873, + 16874, + 16875, + 16882, + 16883, + 16884, + 16885, + 16886, + 16887, + 16888, + 16889, + 16890, + 16891, + 16896, + 16897, + 16898, + 16899, + 16900, + 16901, + 16902, + 16903, + 16906, + 16907, + 16912, + 16913, + 16914, + 16915, + 16918, + 16919, + 16920, + 16921, + 16922, + 16923, + 16924, + 16925, + 16928, 16929, - 7269, - 3661, - 14507, - 7331, - 649, - 1323, - 6456, - 6711, - 13762, - 13077, - 8544, - 12088, - 7876, - 1605, - 10774, - 23, - 6815, - 5704, - 1691, - 7977, - 1043, - 16031, - 19121, - 6571, - 17769, - 13983, - 5141, - 9138, - 120, - 2580, - 10571, - 17339, - 13304, - 10711, - 4819, - 87, - 8760, - 3370, - 510, - 18632, - 18974, - 7094, + 16930, + 16931, + 16936, + 16937, + 16938, + 16939, + 16940, + 16941, + 16944, + 16945, + 16946, + 16947, + 16950, + 16951, + 16952, + 16953, + 16954, + 16955, + 16960, + 16961, + 16964, + 16965, + 16968, + 16969, + 16970, + 16971, + 16972, + 16973, + 16974, + 16975, + 16976, + 16977, + 16980, + 16981, + 16982, + 16983, + 16988, + 16989, + 16990, + 16991, + 16992, + 16993, + 16994, + 16995, + 16996, + 16997, + 17004, + 17005, + 17008, + 17009, + 17010, + 17011, + 17012, + 17013, + 17014, + 17015, + 17016, + 17017, + 17018, + 17019, + 17020, + 17021, + 17024, + 17025, + 17026, + 17027, + 17028, + 17029, + 17030, + 17031, + 17032, + 17033, + 17038, + 17039, + 17042, + 17043, + 17044, + 17045, + 17046, + 17047, + 17054, + 17055, + 17056, + 17057, + 17058, + 17059, + 17060, + 17061, + 17062, + 17063, + 17066, + 17067, + 17072, + 17073, + 17076, + 17077, + 17082, + 17083, + 17084, + 17085, + 17086, + 17087, + 17088, + 17089, + 17090, + 17091, + 17094, + 17095, + 17096, + 17097, + 17098, + 17099, + 17100, + 17101, + 17104, + 17105, + 17106, + 17107, + 17108, + 17109, + 17114, + 17115, + 17118, + 17119, + 17122, + 17123, + 17124, + 17125, + 17126, + 17127, + 17128, + 17129, + 17130, + 17131, + 17134, + 17135, + 17138, + 17139, + 17142, + 17143, + 17144, + 17145, + 17152, + 17153, + 17154, + 17155, + 17158, + 17159, + 17160, + 17161, + 17168, + 17169, + 17170, + 17171, + 17172, + 17173, + 17176, + 17177, + 17178, + 17179, + 17180, + 17181, + 17184, + 17185, + 17188, + 17189, + 17190, + 17191, + 17192, + 17193, + 17194, + 17195, + 17198, + 17199, + 17200, + 17201, + 17202, + 17203, + 17204, + 17205, + 17206, + 17207, + 17208, + 17209, + 17216, + 17217, + 17218, + 17219, + 17220, + 17221, + 17226, + 17227, + 17230, + 17231, + 17238, + 17239, + 17240, + 17241, + 17242, + 17243, + 17244, + 17245, + 17246, + 17247, + 17248, + 17249, + 17250, + 17251, + 17252, + 17253, + 17254, + 17255, + 17260, + 17261, + 17262, + 17263, + 17264, + 17265, + 17266, + 17267, + 17268, + 17269, + 17270, + 17271, + 17274, + 17275, + 17276, + 17277, + 17278, 17279, - 831, - 14280, - 10795, - 12703, - 3365, - 1024, - 12851, - 11120, - 643, - 13347, - 2721, - 9752, - 19847, - 15775, - 10050, - 18548, - 846, - 15541, - 19084, - 15101, - 12032, - 2515, - 19699, - 5076, - 12280, - 4731, - 14170, - 3457, - 15234, - 19564, - 4530, - 7631, - 12455, - 5463, - 6384, - 18573, - 7685, - 11068, - 4215, - 19504, - 9886, - 11945, - 19414, - 7615, - 7264, - 2436, - 4148, - 19098, - 5136, - 4130, - 12677, - 13366, - 10091, - 12610, - 17496, - 3757, - 13587, - 5915, - 5712, - 19652, - 18758, - 14129, - 15667, - 285, - 12942, - 12909, - 11747, - 6543, - 13286, - 18174, - 10734, - 4285, - 11386, - 13632, - 9523, - 2026, - 14165, - 3447, - 19355, - 5966, - 8525, - 4438, - 6096, - 7639, - 9855, + 17280, + 17281, + 17284, + 17285, + 17286, + 17287, + 17288, + 17289, + 17290, + 17291, + 17292, + 17293, + 17294, + 17295, + 17296, + 17297, + 17298, + 17299, + 17302, + 17303, + 17306, + 17307, + 17308, + 17309, + 17312, + 17313, + 17316, + 17317, + 17318, + 17319, + 17322, + 17323, + 17324, + 17325, + 17332, + 17333, + 17334, + 17335, + 17336, + 17337, + 17338, + 17339, + 17342, + 17343, + 17346, + 17347, + 17350, + 17351, + 17354, + 17355, + 17356, + 17357, + 17358, + 17359, + 17360, + 17361, + 17364, + 17365, + 17368, + 17369, + 17372, + 17373, + 17378, + 17379, + 17380, + 17381, 17382, - 9653, - 18896, - 8712, - 13931, - 2219, - 15040, - 16854, - 15808, - 9323, - 14972, - 5417, - 3034, - 2149, - 1044, - 17952, - 3771, - 8183, - 13482, - 8976, - 3317, - 15091, - 9618, - 18333, - 5738, - 1837, - 6584, + 17383, + 17384, + 17385, + 17386, + 17387, + 17390, + 17391, + 17394, + 17395, + 17404, + 17405, + 17410, + 17411, + 17414, + 17415, + 17420, + 17421, + 17422, + 17423, + 17424, + 17425, + 17432, + 17433, + 17434, + 17435, + 17436, + 17437, + 17442, + 17443, + 17446, + 17447, + 17448, + 17449, + 17450, + 17451, + 17452, + 17453, + 17454, + 17455, + 17460, + 17461, + 17464, + 17465, + 17466, + 17467, + 17468, + 17469, + 17470, + 17471, + 17474, 17475, - 2311, - 15919, - 3994, - 19353, - 2485, - 14703, - 17231, - 17419, - 12804, - 13882, - 9862, - 16649, - 9928, - 1461, - 2037, - 369, - 144, - 1270, - 17647, - 11204, - 14682, - 7391, - 15949, - 9448, - 11639, - 10573, - 15735, - 3652, - 1427, - 5792, - 10972, - 17787, - 15726, - 11531, - 19338, - 5965, - 1115, - 113, - 10786, - 15552, - 3127, - 16249, - 14695, - 10938, - 1989, - 18469, - 965, - 10079, - 15800, - 15080, + 17476, + 17477, + 17478, + 17479, + 17480, + 17481, + 17482, + 17483, + 17484, + 17485, + 17488, 17489, - 2579, - 932, - 19696, - 12808, - 17297, - 17630, - 5925, - 5961, - 13472, - 11976, - 4467, - 16180, - 8621, - 6161, - 14821, - 14374, - 6315, - 465, - 14282, - 16304, - 19105, - 7329, - 9731, - 14741, - 6879, - 10875, - 11117, - 2116, - 3188, - 10202, - 18775, - 19837, - 14127, - 16490, - 13786, - 11830, - 18462, - 7188, - 8665, - 14005, - 12499, - 3202, - 16260, - 19247, - 16023, - 5166, - 19141, - 19567, - 14006, - 6216, - 6611, - 13801, - 14198, - 3596, - 13845, - 8501, + 17490, + 17491, + 17496, + 17497, + 17500, + 17501, + 17502, + 17503, + 17504, + 17505, + 17506, + 17507, + 17508, + 17509, + 17510, + 17511, + 17516, + 17517, + 17518, + 17519, + 17520, + 17521, + 17526, + 17527, + 17530, + 17531, + 17532, + 17533, + 17536, + 17537, + 17538, + 17539, + 17540, + 17541, + 17544, + 17545, + 17548, + 17549, + 17550, + 17551, + 17554, + 17555, + 17556, + 17557, + 17560, + 17561, + 17562, + 17563, + 17566, + 17567, + 17568, + 17569, + 17570, + 17571, + 17572, + 17573, + 17574, + 17575, + 17576, + 17577, + 17578, + 17579, + 17580, + 17581, + 17584, + 17585, + 17590, + 17591, + 17592, + 17593, + 17594, + 17595, + 17596, + 17597, + 17600, + 17601, + 17602, + 17603, + 17604, + 17605, 17608, - 13782, - 13598, - 12762, - 2915, - 2616, - 2187, - 4958, - 511, - 215, - 10827, - 18361, - 15041, - 4117, - 1092, - 4260, - 9989, - 6153, - 19494, - 7452, - 12632, - 4392, - 9935, - 5446, - 5609, - 8622, - 11491, - 781, - 15878, - 12150, - 19719, - 16836, - 11243, - 17098, - 10826, - 19730, - 5703, - 19843, - 4706, - 19999, - 5564, - 18421, - 10247, - 1052, - 9605, - 6767, - 13145, - 16215, - 3129, - 19171, - 6604, - 2118, - 18023, - 12980, - 17189, - 12067, - 19364, - 19511, - 2483, - 1932, - 4681, + 17609, + 17610, + 17611, + 17612, + 17613, + 17614, + 17615, + 17616, + 17617, + 17618, + 17619, + 17620, + 17621, + 17622, + 17623, + 17624, + 17625, + 17630, + 17631, + 17632, + 17633, + 17634, + 17635, + 17636, + 17637, + 17642, + 17643, + 17646, + 17647, + 17650, + 17651, + 17656, + 17657, + 17660, + 17661, + 17662, + 17663, + 17666, + 17667, + 17670, + 17671, + 17674, + 17675, + 17676, + 17677, + 17680, + 17681, + 17684, + 17685, + 17686, + 17687, + 17688, + 17689, + 17690, + 17691, + 17696, + 17697, + 17702, + 17703, + 17704, + 17705, + 17706, + 17707, + 17708, + 17709, + 17710, + 17711, + 17712, + 17713, + 17714, + 17715, + 17720, + 17721, + 17722, + 17723, + 17724, + 17725, + 17726, + 17727, + 17730, + 17731, + 17732, + 17733, + 17734, + 17735, + 17738, + 17739, + 17742, + 17743, + 17744, + 17745, + 17746, + 17747, + 17748, + 17749, + 17750, + 17751, + 17752, + 17753, + 17754, + 17755, + 17760, + 17761, + 17764, + 17765, + 17766, + 17767, + 17768, + 17769, + 17770, + 17771, + 17772, + 17773, + 17774, + 17775, + 17776, + 17777, + 17780, + 17781, + 17782, + 17783, + 17784, + 17785, + 17786, + 17787, + 17792, + 17793, + 17798, + 17799, + 17800, + 17801, + 17802, + 17803, + 17804, + 17805, + 17806, + 17807, + 17808, + 17809, + 17810, + 17811, + 17812, + 17813, + 17814, + 17815, + 17816, + 17817, + 17822, + 17823, + 17824, + 17825, + 17826, + 17827, + 17828, + 17829, + 17830, + 17831, + 17832, + 17833, + 17834, + 17835, + 17836, + 17837, + 17848, + 17849, + 17850, + 17851, + 17852, + 17853, + 17854, + 17855, + 17858, + 17859, + 17862, + 17863, + 17864, + 17865, + 17868, + 17869, + 17870, + 17871, + 17872, + 17873, + 17874, + 17875, + 17876, + 17877, + 17878, + 17879, + 17882, + 17883, + 17884, + 17885, + 17886, + 17887, + 17890, + 17891, + 17896, + 17897, + 17898, + 17899, + 17902, + 17903, + 17906, 17907, - 4435, - 4457, - 10802, - 13088, - 7227, - 2132, - 517, - 928, - 6752, - 13765, - 19052, - 13358, - 13863, - 1160, - 19552, - 1406, - 2563, - 13151, - 17510, - 8303, - 9340, - 14494, - 3077, - 11721, - 16191, - 3532, - 1276, - 14442, - 3290, - 1763, - 18910, - 11373, - 6133, - 7508, - 9125, - 15190, - 426, - 6168, - 14302, - 8177, - 5153, - 18423, - 16743, - 16373, - 274, - 12372, - 8431, - 1190, - 13437, - 1245, - 1138, - 14783, - 10322, - 2809, - 14291, - 16034, - 9200, - 13027, - 7519, - 11677, - 11048, - 7761, - 3117, - 8655, - 18334, - 19601, - 8692, - 2593, - 5225, - 7819, - 15269, - 9519, - 2774, - 7422, - 12751, - 14992, - 5644, - 14628, - 5334, - 10748, - 7402, - 4547, + 17908, + 17909, + 17910, + 17911, + 17914, + 17915, + 17916, + 17917, + 17918, + 17919, + 17920, + 17921, + 17926, + 17927, + 17928, + 17929, + 17932, + 17933, + 17934, + 17935, + 17936, + 17937, + 17938, + 17939, + 17942, + 17943, + 17948, + 17949, + 17950, + 17951, + 17952, + 17953, + 17954, + 17955, + 17956, + 17957, + 17960, + 17961, + 17962, + 17963, + 17964, + 17965, + 17968, + 17969, + 17972, + 17973, + 17974, + 17975, + 17976, + 17977, + 17978, + 17979, + 17982, + 17983, + 17984, + 17985, + 17988, + 17989, + 17990, + 17991, + 17992, + 17993, + 17994, + 17995, + 17996, + 17997, + 18006, + 18007, + 18008, + 18009, + 18010, + 18011, + 18012, + 18013, + 18014, + 18015, + 18016, + 18017, + 18018, + 18019, + 18020, + 18021, + 18022, + 18023, + 18028, + 18029, + 18030, + 18031, + 18032, + 18033, + 18034, + 18035, + 18040, + 18041, + 18042, + 18043, + 18044, + 18045, + 18046, + 18047, + 18048, + 18049, + 18054, + 18055, + 18056, + 18057, + 18058, + 18059, + 18062, + 18063, + 18064, + 18065, + 18066, + 18067, + 18068, + 18069, + 18072, + 18073, + 18074, + 18075, + 18080, + 18081, + 18082, + 18083, + 18090, + 18091, + 18092, + 18093, + 18094, + 18095, + 18096, + 18097, + 18104, + 18105, + 18114, + 18115, + 18116, + 18117, + 18118, + 18119, + 18120, + 18121, + 18122, + 18123, + 18124, + 18125, + 18128, + 18129, + 18130, + 18131, + 18134, + 18135, + 18138, + 18139, + 18140, + 18141, + 18142, + 18143, + 18144, + 18145, + 18146, + 18147, + 18148, + 18149, + 18150, + 18151, + 18152, + 18153, + 18154, + 18155, + 18156, + 18157, + 18158, + 18159, + 18160, + 18161, + 18162, + 18163, + 18164, + 18165, + 18172, + 18173, + 18174, + 18175, + 18178, + 18179, + 18180, + 18181, 18182, - 3513, - 14204, - 7062, - 12875, - 563, - 2407, - 14454, - 6518, - 17813, - 15459, - 9031, - 9048, - 3241, - 15399, - 1844, - 9099, - 6439, - 1750, - 2283, - 5208, - 16782, - 1213, - 9264, - 3098, - 16860, - 4145, - 11594, - 19976, - 193, - 9470, - 8994, - 5047, - 19262, - 19090, - 15018, - 12193, - 12264, - 8001, - 15870, + 18183, + 18184, + 18185, + 18186, + 18187, + 18188, + 18189, + 18190, + 18191, + 18194, + 18195, + 18196, + 18197, + 18198, + 18199, + 18206, + 18207, + 18208, + 18209, + 18210, + 18211, + 18214, + 18215, + 18216, + 18217, + 18220, + 18221, 18222, - 5263, - 12143, - 15450, - 1952, - 5392, - 12773, - 4537, - 18665, - 18721, - 1289, - 9698, - 3208, - 913, - 7677, - 1008, - 5924, - 15887, - 2300, - 8180, - 8915, - 7944, - 10268, - 294, - 8450, - 10156, - 7822, - 14004, - 13082, - 8654, - 19393, - 16142, - 1057, - 4406, - 19464, - 15836, - 16081, - 5755, - 13474, - 19755, - 10898, - 3704, - 8243, - 7880, - 2633, - 2752, - 6479, - 17688, - 3119, - 11651, - 17722, - 1105, - 3901, - 19369, - 1509, - 11918, - 19766, - 15200, - 809, - 8804, - 7913, - 11459, - 2622, - 14536, + 18223, + 18226, + 18227, + 18232, + 18233, + 18234, + 18235, + 18236, + 18237, + 18238, + 18239, + 18242, + 18243, + 18244, + 18245, + 18248, + 18249, + 18250, + 18251, + 18252, + 18253, + 18254, + 18255, + 18256, + 18257, + 18262, + 18263, + 18264, + 18265, + 18266, + 18267, + 18270, + 18271, + 18272, + 18273, + 18276, + 18277, + 18278, + 18279, + 18280, + 18281, + 18282, + 18283, + 18290, + 18291, + 18292, + 18293, + 18294, + 18295, + 18300, + 18301, + 18302, + 18303, + 18304, + 18305, + 18306, + 18307, + 18308, + 18309, + 18312, + 18313, + 18314, + 18315, + 18316, + 18317, + 18318, + 18319, + 18320, + 18321, + 18324, + 18325, + 18326, + 18327, + 18328, + 18329, + 18332, + 18333, + 18334, + 18335, + 18336, + 18337, + 18344, + 18345, + 18354, + 18355, + 18356, + 18357, + 18358, + 18359, + 18360, + 18361, + 18362, + 18363, + 18364, + 18365, + 18366, + 18367, + 18368, + 18369, + 18370, + 18371, + 18376, + 18377, + 18382, + 18383, + 18384, + 18385, + 18390, + 18391, + 18392, + 18393, + 18394, + 18395, + 18396, + 18397, + 18398, + 18399, + 18402, + 18403, + 18408, + 18409, + 18410, + 18411, + 18412, + 18413, + 18414, + 18415, + 18416, + 18417, + 18420, + 18421, + 18422, + 18423, + 18426, + 18427, + 18430, + 18431, + 18432, + 18433, + 18438, + 18439, + 18440, + 18441, + 18442, + 18443, + 18444, + 18445, + 18446, + 18447, + 18448, + 18449, + 18450, + 18451, + 18454, + 18455, + 18456, + 18457, + 18458, + 18459, + 18460, + 18461, + 18462, + 18463, + 18464, + 18465, + 18468, + 18469, + 18470, + 18471, + 18472, + 18473, + 18480, + 18481, + 18482, + 18483, + 18484, + 18485, + 18486, + 18487, + 18488, + 18489, + 18490, + 18491, + 18492, + 18493, 18496, - 5371, - 9346, - 1195, - 3466, - 5879, - 1511, - 19836, - 17246, + 18497, + 18500, + 18501, + 18502, + 18503, + 18504, + 18505, + 18510, + 18511, + 18512, + 18513, + 18514, + 18515, + 18518, + 18519, + 18520, + 18521, + 18522, + 18523, + 18524, + 18525, + 18526, + 18527, + 18528, + 18529, + 18530, + 18531, + 18532, + 18533, + 18534, + 18535, + 18536, + 18537, + 18538, + 18539, + 18540, + 18541, + 18542, + 18543, + 18544, + 18545, + 18546, + 18547, + 18548, + 18549, + 18552, + 18553, + 18556, + 18557, + 18558, + 18559, + 18560, + 18561, + 18562, + 18563, + 18564, + 18565, + 18566, + 18567, + 18568, + 18569, + 18570, + 18571, + 18572, + 18573, + 18574, + 18575, + 18576, + 18577, + 18578, + 18579, + 18580, + 18581, + 18586, + 18587, + 18588, + 18589, + 18590, + 18591, + 18592, + 18593, + 18594, + 18595, + 18596, + 18597, + 18598, + 18599, + 18600, + 18601, + 18602, + 18603, + 18604, + 18605, + 18606, + 18607, + 18608, + 18609, + 18610, + 18611, + 18612, + 18613, + 18614, + 18615, + 18618, + 18619, + 18620, + 18621, + 18622, + 18623, + 18626, + 18627, + 18630, + 18631, + 18632, + 18633, + 18636, + 18637, + 18638, + 18639, + 18640, + 18641, + 18642, + 18643, + 18644, + 18645, + 18646, + 18647, + 18648, + 18649, + 18650, + 18651, 18652, - 13879, - 16468, - 13494, - 833, - 14248, - 17591, - 14793, - 9292, - 12070, - 3676, - 9936, - 17760, - 19875, - 10605, - 13139, - 7377, - 8, - 415, - 16240, - 16388, - 2480, - 5177, - 10699, - 6486, - 13679, - 8266, - 5101, - 18407, - 7380, - 11814, - 19949, - 7288, - 11548, - 7763, - 16969, - 6310, - 16400, - 11463, - 3347, - 14966, - 13080, - 10305, - 15590, + 18653, + 18654, + 18655, + 18656, + 18657, + 18662, + 18663, + 18664, + 18665, + 18666, + 18667, + 18672, + 18673, + 18674, + 18675, + 18676, + 18677, + 18678, + 18679, + 18682, + 18683, + 18688, + 18689, + 18690, + 18691, + 18694, + 18695, + 18696, + 18697, 18698, - 17565, - 8072, - 10232, - 19635, - 2428, - 5698, - 17799, - 16653, - 18030, - 2191, - 8232, - 10639, - 16518, - 9495, - 17815, - 18611, - 1313, - 14238, - 2469, - 9073, - 12817, - 17020, - 2932, - 11041, - 8992, - 2338, - 13681, - 9682, - 3364, - 7550, - 16220, - 2369, - 3547, - 13755, - 9692, - 7645, - 10884, - 1579, - 14490, - 9324, - 4000, - 8687, - 10348, - 3952, - 14921, - 12915, - 11794, - 5841, - 8457, - 17324, - 17346, - 8066, - 8083, - 6542, - 19732, - 11533, - 8984, - 15047, - 15152, - 2769, - 5756, - 1264, - 10230, - 8446, - 16891, - 2170, - 8383, - 535, - 8671, - 32, - 8080, - 10498, - 19514, - 14978, - 4272, - 8007, - 13270, - 2608, - 1216, - 5805, - 18337, - 6770, - 16465, - 18440, - 2534, - 19078, - 15537, - 17410, - 16576, - 15923, - 9079, - 7356, - 964, - 17417, - 14225, - 8605, - 9231, - 12549, - 11864, - 15685, - 2423, - 12126, - 9777, - 8205, - 15015, - 16980, - 5621, + 18699, + 18700, + 18701, + 18704, + 18705, + 18706, + 18707, + 18708, + 18709, + 18714, + 18715, + 18716, + 18717, + 18718, + 18719, + 18720, + 18721, + 18722, + 18723, + 18726, + 18727, + 18728, + 18729, + 18730, + 18731, + 18734, + 18735, + 18738, + 18739, + 18740, + 18741, + 18742, + 18743, + 18744, + 18745, + 18746, + 18747, + 18748, + 18749, + 18750, + 18751, + 18752, + 18753, + 18754, + 18755, + 18756, + 18757, + 18758, + 18759, + 18760, + 18761, + 18762, + 18763, + 18766, + 18767, + 18768, + 18769, + 18770, + 18771, + 18772, + 18773, + 18774, + 18775, + 18776, + 18777, + 18778, + 18779, + 18780, + 18781, + 18784, + 18785, + 18788, + 18789, + 18790, + 18791, + 18792, + 18793, + 18794, 18795, - 11956, - 9007, - 513, - 5536, - 11150, - 13311, - 17067, - 6729, - 8955, - 7020, - 2512, - 11654, - 13196, - 2801, - 19202, - 2009, - 11189, - 8158, - 15659, - 9256, - 1389, - 12690, - 3800, - 10847, - 3333, - 6864, - 15610, - 17559, - 18972, - 2568, - 18622, - 10339, - 16256, - 5782, - 18049, - 11275, - 9568, - 5419, - 1534, - 14874, - 9508, - 4432, - 10630, - 485, - 11894, - 10133, - 9833, - 13685, - 15145, - 4476, - 5634, - 931, - 10483, - 15366, - 322, - 11850, - 2499, - 12335, - 17118, - 2272, - 15857, - 6885, - 1331, - 8394, - 15403, - 685, - 11380, - 11589, - 3244, - 15995, - 16106, - 19872, - 2291, - 8641, - 8151, - 6396, - 10695, - 11780, - 5161, - 10464, - 1870, - 17294, - 9438, - 10861, - 13667, - 13367, - 18193, - 8284, - 15951, - 414, - 11229, - 11084, - 9178, - 14686, - 15992, - 14577, - 18186, - 17935, - 11070, - 10111, - 10154, - 12328, - 3046, - 7387, - 8263, - 1376, - 5023, - 15720, - 4659, - 6991, - 9681, - 14180, - 14328, - 9520, - 12797, - 18367, - 15740, - 11968, - 11513, - 15358, - 10574, - 15026, - 5628, - 13038, - 15511, + 18796, + 18797, + 18798, + 18799, + 18802, + 18803, + 18804, + 18805, + 18806, + 18807, + 18808, + 18809, + 18814, + 18815, + 18816, + 18817, + 18818, + 18819, + 18826, + 18827, + 18830, + 18831, + 18832, + 18833, + 18836, + 18837, + 18842, + 18843, + 18844, + 18845, + 18846, + 18847, + 18848, + 18849, + 18850, + 18851, + 18852, + 18853, + 18856, + 18857, + 18858, + 18859, + 18860, + 18861, + 18866, + 18867, + 18868, + 18869, + 18870, + 18871, + 18874, + 18875, + 18876, + 18877, + 18878, + 18879, + 18880, + 18881, + 18882, + 18883, + 18884, + 18885, + 18886, + 18887, + 18892, + 18893, + 18896, + 18897, + 18898, + 18899, + 18900, + 18901, + 18902, + 18903, + 18904, + 18905, + 18906, + 18907, + 18908, + 18909, + 18910, + 18911, + 18912, + 18913, + 18914, + 18915, + 18916, + 18917, + 18920, + 18921, + 18922, + 18923, + 18924, + 18925, + 18926, + 18927, + 18928, + 18929, + 18930, + 18931, + 18932, + 18933, + 18934, + 18935, + 18936, + 18937, + 18938, + 18939, + 18942, + 18943, + 18944, + 18945, + 18946, + 18947, + 18948, + 18949, + 18956, + 18957, + 18958, + 18959, + 18960, + 18961, + 18962, + 18963, + 18964, + 18965, + 18966, + 18967, + 18968, + 18969, + 18972, + 18973, + 18974, + 18975, + 18978, + 18979, + 18980, + 18981, + 18982, + 18983, + 18984, + 18985, + 18986, + 18987, + 18992, + 18993, + 18994, + 18995, + 18996, + 18997, + 19000, + 19001, + 19002, + 19003, + 19004, + 19005, + 19006, + 19007, + 19008, + 19009, + 19010, + 19011, + 19012, + 19013, + 19014, + 19015, + 19018, + 19019, + 19022, + 19023, + 19024, + 19025, + 19026, + 19027, + 19028, + 19029, + 19034, + 19035, + 19036, + 19037, + 19040, + 19041, + 19042, + 19043, + 19044, + 19045, + 19046, + 19047, + 19048, + 19049, + 19052, + 19053, + 19054, + 19055, + 19060, + 19061, + 19062, + 19063, + 19064, + 19065, + 19066, + 19067, + 19068, + 19069, + 19072, + 19073, + 19076, + 19077, + 19078, + 19079, + 19080, + 19081, + 19084, + 19085, + 19088, + 19089, + 19090, + 19091, + 19098, + 19099, + 19100, + 19101, + 19102, + 19103, + 19104, + 19105, + 19106, + 19107, + 19108, + 19109, + 19110, + 19111, + 19116, + 19117, + 19118, + 19119, + 19120, + 19121, + 19122, + 19123, + 19124, + 19125, + 19126, + 19127, + 19128, + 19129, + 19130, + 19131, + 19134, + 19135, + 19136, + 19137, + 19140, + 19141, + 19142, + 19143, + 19144, + 19145, + 19146, 19147, - 14020, - 5420, - 8627, - 16344, - 16531, - 11183, - 18614, - 4009, + 19150, + 19151, + 19154, + 19155, + 19160, + 19161, + 19162, + 19163, + 19166, + 19167, + 19168, + 19169, + 19170, + 19171, + 19172, + 19173, + 19176, + 19177, + 19178, + 19179, + 19180, + 19181, + 19184, + 19185, + 19188, + 19189, + 19190, + 19191, + 19192, + 19193, + 19194, + 19195, + 19196, + 19197, + 19200, + 19201, + 19202, + 19203, + 19204, + 19205, + 19206, + 19207, + 19208, + 19209, + 19210, + 19211, + 19214, + 19215, + 19220, + 19221, + 19222, + 19223, + 19224, + 19225, + 19226, + 19227, + 19228, + 19229, + 19232, + 19233, + 19234, + 19235, + 19236, + 19237, + 19238, + 19239, + 19240, + 19241, + 19244, + 19245, + 19246, + 19247, + 19248, + 19249, + 19250, + 19251, + 19252, + 19253, + 19254, + 19255, + 19262, + 19263, + 19264, + 19265, + 19266, + 19267, + 19268, + 19269, + 19270, + 19271, + 19272, + 19273, + 19274, + 19275, + 19278, + 19279, + 19280, + 19281, + 19282, + 19283, + 19284, + 19285, + 19290, + 19291, + 19294, + 19295, + 19298, + 19299, + 19300, + 19301, + 19302, + 19303, + 19304, + 19305, + 19306, + 19307, + 19308, + 19309, + 19312, + 19313, + 19316, + 19317, + 19318, + 19319, + 19320, + 19321, + 19322, + 19323, + 19324, + 19325, + 19326, + 19327, + 19328, + 19329, + 19332, + 19333, + 19334, + 19335, + 19336, + 19337, + 19338, + 19339, + 19340, + 19341, + 19342, + 19343, + 19344, + 19345, + 19346, + 19347, + 19348, + 19349, + 19350, + 19351, + 19354, + 19355, + 19356, + 19357, + 19358, + 19359, + 19362, + 19363, + 19364, + 19365, + 19368, + 19369, + 19372, + 19373, + 19374, + 19375, + 19376, + 19377, + 19380, + 19381, + 19382, + 19383, + 19384, + 19385, + 19386, + 19387, + 19388, + 19389, + 19390, + 19391, + 19394, + 19395, + 19396, + 19397, + 19404, + 19405, + 19408, + 19409, + 19410, + 19411, + 19412, + 19413, + 19414, + 19415, + 19416, + 19417, + 19420, + 19421, + 19422, + 19423, + 19432, + 19433, + 19434, + 19435, + 19436, + 19437, + 19438, + 19439, + 19440, + 19441, + 19442, + 19443, + 19444, + 19445, + 19446, + 19447, + 19448, + 19449, + 19450, + 19451, + 19454, + 19455, + 19456, + 19457, + 19460, + 19461, + 19464, + 19465, + 19468, + 19469, + 19470, + 19471, + 19472, + 19473, + 19474, + 19475, + 19476, + 19477, + 19478, + 19479, + 19480, + 19481, + 19482, + 19483, + 19484, + 19485, + 19486, + 19487, + 19488, + 19489, + 19494, + 19495, + 19496, + 19497, + 19498, + 19499, + 19500, + 19501, + 19502, + 19503, + 19504, + 19505, + 19508, + 19509, + 19510, + 19511, + 19512, 19513, - 3443, - 16273, - 1021, - 19964, - 3432, - 15738, - 9612, - 7986, - 17495, - 14938, - 11955, + 19514, + 19515, + 19516, + 19517, + 19518, + 19519, + 19520, + 19521, + 19522, + 19523, + 19524, + 19525, + 19526, + 19527, + 19528, + 19529, + 19538, + 19539, + 19540, + 19541, + 19542, + 19543, + 19546, + 19547, + 19548, + 19549, + 19550, + 19551, + 19552, + 19553, 19554, - 5849, - 10766, - 3785, - 8429, - 3632, - 12662, - 12203, - 16516, - 14197, + 19555, + 19556, + 19557, + 19560, + 19561, + 19562, + 19563, + 19564, + 19565, + 19574, + 19575, + 19576, + 19577, + 19578, + 19579, + 19580, + 19581, + 19584, + 19585, + 19586, + 19587, + 19588, + 19589, + 19592, + 19593, + 19594, + 19595, + 19598, + 19599, + 19600, + 19601, + 19602, + 19603, + 19604, + 19605, + 19606, + 19607, + 19608, + 19609, + 19612, + 19613, + 19614, + 19615, + 19618, + 19619, + 19620, + 19621, + 19622, + 19623, + 19624, + 19625, + 19628, + 19629, + 19630, + 19631, + 19632, + 19633, + 19634, + 19635, + 19636, + 19637, + 19638, + 19639, + 19640, + 19641, + 19642, + 19643, + 19644, + 19645, + 19646, + 19647, + 19648, + 19649, + 19652, + 19653, + 19654, + 19655, + 19660, + 19661, + 19662, + 19663, + 19670, + 19671, + 19672, + 19673, + 19674, + 19675, + 19676, + 19677, + 19678, + 19679, + 19680, + 19681, + 19682, + 19683, + 19684, + 19685, + 19686, + 19687, + 19688, + 19689, + 19690, + 19691, + 19692, + 19693, + 19694, + 19695, + 19696, + 19697, + 19698, + 19699, + 19700, + 19701, + 19704, + 19705, + 19706, + 19707, + 19708, + 19709, + 19710, + 19711, + 19712, + 19713, + 19716, + 19717, + 19718, + 19719, + 19722, + 19723, + 19726, + 19727, + 19728, + 19729, + 19730, + 19731, + 19732, + 19733, + 19734, + 19735, + 19736, + 19737, + 19738, + 19739, + 19740, + 19741, + 19752, + 19753, + 19754, + 19755, + 19756, + 19757, + 19760, 19761, - 10637, - 5822, - 9137, - 1075, - 7314, - 11557, - 4801, - 686, - 13329, - 19541, - 7435, - 11471, - 12640, - 7128, - 13611, - 2334, - 19222, - 9142, - 16655, - 14350, + 19762, + 19763, + 19764, + 19765, + 19766, + 19767, + 19768, + 19769, + 19772, + 19773, + 19774, + 19775, + 19776, + 19777, + 19778, + 19779, + 19782, + 19783, + 19788, + 19789, + 19790, + 19791, + 19794, + 19795, + 19798, + 19799, + 19802, + 19803, + 19804, + 19805, + 19806, + 19807, + 19808, + 19809, + 19810, + 19811, + 19812, + 19813, + 19814, + 19815, + 19816, + 19817, + 19820, + 19821, + 19822, + 19823, + 19824, + 19825, + 19828, + 19829, + 19830, + 19831, + 19832, + 19833, + 19836, + 19837, + 19842, + 19843, + 19844, + 19845, + 19846, + 19847, + 19850, + 19851, + 19852, + 19853, + 19854, + 19855, + 19856, + 19857, + 19858, + 19859, + 19862, + 19863, + 19866, + 19867, + 19868, + 19869, + 19870, + 19871, + 19872, + 19873, + 19874, + 19875, + 19878, + 19879, + 19880, + 19881, + 19886, + 19887, + 19888, + 19889, + 19890, + 19891, + 19892, + 19893, + 19896, + 19897, + 19898, + 19899, + 19900, + 19901, + 19902, + 19903, + 19904, + 19905, + 19906, + 19907, + 19908, + 19909, + 19910, + 19911, + 19912, + 19913, + 19914, + 19915, + 19916, + 19917, + 19920, + 19921, + 19922, + 19923, + 19926, + 19927, + 19934, + 19935, + 19936, + 19937, + 19938, + 19939, + 19940, + 19941, + 19942, + 19943, + 19946, + 19947, + 19952, + 19953, + 19956, + 19957, + 19958, + 19959, + 19960, + 19961, + 19962, + 19963, + 19964, + 19965, + 19966, + 19967, + 19968, + 19969, + 19970, + 19971, + 19972, + 19973, + 19974, + 19975, + 19976, + 19977, + 19980, + 19981, + 19982, + 19983, + 19984, + 19985, + 19988, + 19989, + 19990, + 19991, + 19992, + 19993, + 19994, + 19995, + 19998, + 19999 + ], + "val": [ + 6, + 7, + 16, + 17, + 24, + 25, + 28, + 29, + 40, + 41, + 58, + 59, + 66, + 67, + 70, + 71, + 72, + 73, + 82, + 83, + 116, + 117, + 118, + 119, + 122, + 123, + 136, + 137, + 146, + 147, + 152, + 153, + 160, + 161, + 174, + 175, + 190, + 191, + 192, + 193, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 212, + 213, + 238, + 239, + 264, + 265, + 288, + 289, + 314, + 315, + 328, + 329, + 338, + 339, + 370, + 371, + 392, + 393, + 398, + 399, + 418, + 419, + 420, + 421, + 424, + 425, + 428, + 429, + 442, + 443, + 444, + 445, + 458, + 459, + 478, + 479, + 508, + 509, + 518, + 519, + 530, + 531, + 548, + 549, + 576, + 577, + 580, + 581, + 584, + 585, + 616, + 617, + 630, + 631, + 636, + 637, + 646, + 647, + 656, + 657, + 664, + 665, + 670, + 671, + 698, + 699, + 708, + 709, + 762, + 763, + 770, + 771, + 786, + 787, + 788, + 789, + 802, + 803, + 804, + 805, + 820, + 821, + 840, + 841, + 858, + 859, + 864, + 865, + 878, + 879, + 880, + 881, + 894, + 895, + 900, + 901, + 910, + 911, + 922, + 923, + 924, + 925, + 934, + 935, + 952, + 953, + 966, + 967, + 992, + 993, + 1022, + 1023, + 1048, + 1049, + 1066, + 1067, + 1080, + 1081, + 1088, + 1089, + 1100, + 1101, + 1102, + 1103, + 1108, + 1109, + 1126, + 1127, + 1128, + 1129, + 1134, + 1135, + 1152, + 1153, + 1154, + 1155, + 1164, + 1165, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1206, + 1207, + 1210, + 1211, + 1222, + 1223, + 1226, + 1227, + 1236, + 1237, + 1242, + 1243, + 1248, + 1249, + 1306, + 1307, + 1308, + 1309, + 1336, + 1337, + 1350, + 1351, + 1352, + 1353, + 1356, + 1357, + 1364, + 1365, + 1366, + 1367, + 1386, + 1387, + 1412, + 1413, + 1416, + 1417, + 1420, + 1421, + 1422, + 1423, + 1426, + 1427, + 1430, + 1431, + 1448, + 1449, + 1466, + 1467, + 1472, + 1473, + 1480, + 1481, + 1484, + 1485, + 1488, + 1489, + 1494, + 1495, + 1506, + 1507, + 1508, + 1509, + 1516, + 1517, + 1518, + 1519, + 1530, + 1531, + 1554, + 1555, + 1578, + 1579, + 1588, + 1589, + 1590, + 1591, + 1600, + 1601, + 1618, + 1619, + 1620, + 1621, + 1642, + 1643, + 1656, + 1657, + 1666, + 1667, + 1670, + 1671, + 1704, + 1705, + 1712, + 1713, + 1716, + 1717, + 1724, + 1725, + 1742, + 1743, + 1754, + 1755, + 1816, + 1817, + 1842, + 1843, + 1854, + 1855, + 1868, + 1869, + 1880, + 1881, + 1904, + 1905, + 1914, + 1915, + 1920, + 1921, + 1934, + 1935, + 1964, + 1965, + 1988, + 1989, + 2004, + 2005, + 2018, + 2019, + 2036, + 2037, + 2054, + 2055, + 2068, + 2069, + 2076, + 2077, + 2088, + 2089, + 2092, + 2093, + 2110, + 2111, + 2114, + 2115, + 2122, + 2123, + 2136, + 2137, + 2142, + 2143, + 2150, + 2151, + 2152, + 2153, + 2156, + 2157, + 2168, + 2169, + 2190, + 2191, + 2214, + 2215, + 2222, 2223, - 17890, + 2224, + 2225, + 2226, + 2227, + 2230, + 2231, + 2242, + 2243, + 2246, + 2247, + 2252, 2253, - 10425, - 15809, - 9958, - 17163, - 11038, - 713, - 10413, - 10878, - 6058, - 17795, - 16255, - 16949, - 1800, - 16332, - 1332, - 18766, - 7918, - 15954, - 8052, - 2330, - 1536, - 11757, - 8537, - 16918, - 17545, - 5181, + 2254, + 2255, + 2278, + 2279, + 2284, + 2285, + 2294, + 2295, + 2298, + 2299, + 2306, + 2307, + 2310, + 2311, + 2332, + 2333, + 2336, + 2337, + 2350, + 2351, + 2376, + 2377, + 2380, + 2381, + 2386, + 2387, + 2388, + 2389, + 2398, + 2399, + 2434, + 2435, + 2444, + 2445, + 2448, + 2449, + 2452, + 2453, + 2490, + 2491, + 2494, + 2495, + 2500, + 2501, + 2506, + 2507, + 2508, + 2509, + 2526, + 2527, + 2544, + 2545, + 2556, + 2557, + 2560, + 2561, + 2562, + 2563, + 2570, + 2571, + 2574, + 2575, + 2590, + 2591, + 2594, + 2595, + 2620, + 2621, + 2626, + 2627, + 2630, + 2631, + 2640, + 2641, + 2644, + 2645, + 2646, + 2647, + 2678, + 2679, + 2694, + 2695, + 2708, + 2709, + 2710, + 2711, + 2724, + 2725, + 2738, + 2739, + 2744, + 2745, + 2746, + 2747, + 2748, + 2749, + 2770, + 2771, + 2786, + 2787, + 2792, + 2793, + 2800, + 2801, + 2810, + 2811, + 2812, + 2813, + 2816, + 2817, + 2826, + 2827, + 2828, + 2829, + 2832, + 2833, + 2838, + 2839, + 2842, + 2843, + 2858, + 2859, + 2864, + 2865, + 2874, + 2875, + 2882, + 2883, + 2886, + 2887, + 2888, + 2889, + 2892, + 2893, + 2912, + 2913, + 2916, + 2917, + 2934, + 2935, + 2940, + 2941, + 2944, + 2945, + 2958, + 2959, + 2964, + 2965, + 2976, + 2977, + 2992, + 2993, + 3002, + 3003, + 3018, + 3019, + 3024, + 3025, + 3060, + 3061, + 3088, + 3089, + 3100, + 3101, + 3116, + 3117, + 3130, + 3131, + 3136, + 3137, + 3138, + 3139, + 3140, + 3141, + 3150, + 3151, + 3152, + 3153, + 3156, + 3157, + 3190, + 3191, + 3198, + 3199, + 3206, + 3207, + 3212, + 3213, + 3216, + 3217, + 3230, + 3231, + 3232, + 3233, + 3284, + 3285, + 3300, + 3301, + 3312, + 3313, + 3316, + 3317, + 3320, + 3321, + 3342, + 3343, + 3344, + 3345, + 3398, + 3399, + 3402, + 3403, + 3426, + 3427, + 3452, + 3453, + 3456, + 3457, + 3460, + 3461, + 3462, + 3463, + 3464, + 3465, + 3474, + 3475, + 3480, + 3481, + 3494, + 3495, + 3540, + 3541, + 3550, + 3551, + 3560, 3561, - 15580, - 11700, - 11892, - 13157, - 18313, - 14808, - 2927, - 3869, - 14727, - 12555, - 10168, - 18874, - 16612, - 14528, - 6282, - 7934, - 9435, - 19644, - 1148, - 17158, - 16848, - 12639, - 16897, - 12863, - 2056, - 11426, - 10567, - 15645, - 14384, - 612, - 15805, - 1081, - 18541, - 19524, - 4932, - 2531, - 3579, - 6670, - 3522, - 17981, - 18955, - 16694, - 12315, - 223, - 6261, - 11359, - 3988, - 9286, - 4969, - 13063, - 4142, - 7352, - 13842, - 18830, - 3237, - 19608, - 7318, - 7349, - 6173, - 9830, - 17884, - 15997, - 14477, - 5958, - 3050, - 1834, - 12209, - 2877, - 19880, - 740, - 9925, - 17853, - 2818, - 4797, - 16140, - 6489, - 4421, + 3580, + 3581, + 3606, + 3607, + 3634, + 3635, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3678, + 3679, + 3680, + 3681, + 3688, + 3689, + 3702, + 3703, + 3720, + 3721, + 3724, + 3725, + 3776, + 3777, + 3794, + 3795, + 3836, + 3837, + 3856, + 3857, + 3908, + 3909, + 3914, + 3915, + 3926, + 3927, + 3956, + 3957, + 3962, + 3963, + 3964, + 3965, + 3984, + 3985, + 4008, + 4009, + 4024, 4025, - 13029, - 3051, - 16317, - 11942, - 15912, - 2030, - 12084, - 10539, + 4026, + 4027, + 4040, + 4041, + 4044, + 4045, + 4050, + 4051, + 4058, + 4059, + 4068, + 4069, + 4072, + 4073, + 4090, + 4091, + 4114, + 4115, + 4116, + 4117, + 4134, + 4135, + 4138, + 4139, + 4166, + 4167, + 4168, + 4169, + 4176, + 4177, + 4196, + 4197, + 4216, + 4217, + 4220, + 4221, + 4244, + 4245, + 4248, + 4249, + 4266, + 4267, + 4276, + 4277, + 4290, + 4291, + 4294, + 4295, + 4300, + 4301, + 4314, + 4315, + 4334, + 4335, + 4336, + 4337, + 4350, + 4351, + 4378, + 4379, + 4382, + 4383, + 4398, + 4399, + 4442, + 4443, + 4450, + 4451, + 4454, + 4455, + 4456, + 4457, + 4462, + 4463, + 4472, + 4473, + 4478, + 4479, + 4490, + 4491, + 4492, + 4493, + 4496, + 4497, + 4498, + 4499, + 4504, + 4505, + 4508, + 4509, + 4520, + 4521, + 4528, + 4529, + 4544, + 4545, + 4572, + 4573, + 4574, + 4575, + 4606, + 4607, + 4674, + 4675, + 4696, + 4697, + 4750, + 4751, + 4754, + 4755, + 4776, + 4777, + 4778, + 4779, + 4784, + 4785, + 4810, + 4811, + 4814, + 4815, + 4834, + 4835, + 4846, + 4847, + 4882, + 4883, + 4892, + 4893, + 4906, + 4907, + 4912, + 4913, + 4928, + 4929, + 4930, + 4931, + 4940, + 4941, + 4956, + 4957, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4974, + 4975, + 4984, + 4985, + 5020, + 5021, + 5030, + 5031, + 5046, + 5047, + 5090, + 5091, + 5128, + 5129, + 5148, + 5149, + 5172, + 5173, + 5204, + 5205, + 5230, + 5231, + 5238, + 5239, + 5240, + 5241, + 5254, + 5255, + 5276, + 5277, + 5300, + 5301, + 5328, + 5329, + 5346, + 5347, + 5356, + 5357, + 5360, + 5361, + 5364, + 5365, + 5368, + 5369, + 5370, + 5371, + 5378, + 5379, + 5396, + 5397, + 5402, + 5403, + 5414, + 5415, + 5458, + 5459, + 5484, + 5485, + 5500, + 5501, + 5506, + 5507, + 5510, + 5511, + 5532, + 5533, + 5588, + 5589, + 5636, + 5637, + 5640, + 5641, + 5652, + 5653, + 5670, + 5671, + 5680, + 5681, + 5692, + 5693, + 5718, + 5719, + 5748, + 5749, + 5764, + 5765, + 5770, + 5771, + 5772, + 5773, + 5806, + 5807, + 5816, + 5817, + 5826, + 5827, + 5844, + 5845, + 5852, + 5853, + 5854, + 5855, + 5864, + 5865, + 5886, + 5887, + 5896, + 5897, + 5908, + 5909, + 5910, + 5911, + 5926, + 5927, + 5982, + 5983, + 5994, + 5995, + 6000, + 6001, + 6004, + 6005, + 6024, 6025, - 19413, - 3278, - 17318, - 12052, - 6921, - 15137, - 3341, - 11408, - 3730, - 17617, - 13927, - 4766, - 1985, - 11520, - 6432, - 18823, - 6354, - 835, - 18909, - 14469, - 18012, - 8381, - 3448, - 6777, - 3955, - 14565, - 19768, - 3048, - 3019, - 7423, - 3542, - 15816, - 16095, - 1695, - 17703, - 17817, - 18373, - 15608, - 2662, - 18144, - 11208, - 16164, - 7974, - 16010, - 19933, - 7675, - 6761, - 16997, - 3686, - 1678, - 3943, - 10459, - 16739, - 47, - 1661, - 2778, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6036, + 6037, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6064, + 6065, + 6068, + 6069, + 6074, + 6075, + 6076, + 6077, + 6088, + 6089, + 6094, + 6095, + 6100, + 6101, + 6110, + 6111, + 6114, + 6115, + 6120, + 6121, + 6126, + 6127, + 6128, + 6129, + 6130, + 6131, + 6154, + 6155, + 6158, + 6159, + 6182, + 6183, + 6200, + 6201, + 6202, + 6203, + 6210, + 6211, + 6244, + 6245, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6260, + 6261, + 6264, + 6265, + 6266, + 6267, + 6286, + 6287, + 6292, + 6293, + 6296, + 6297, + 6298, + 6299, + 6308, + 6309, + 6320, + 6321, + 6344, + 6345, + 6362, + 6363, + 6368, + 6369, + 6388, + 6389, + 6412, + 6413, + 6414, + 6415, + 6526, + 6527, + 6530, + 6531, + 6558, + 6559, + 6562, 6563, - 11236, - 12345, - 11740, - 10110, - 7927, - 14542, - 4411, - 11710, - 1737, - 15151, - 19968, - 3521, - 5840, - 19910, - 1061, + 6576, + 6577, + 6580, + 6581, + 6590, + 6591, + 6596, + 6597, + 6598, + 6599, + 6610, + 6611, + 6618, + 6619, + 6628, + 6629, + 6666, + 6667, + 6668, + 6669, + 6674, + 6675, + 6702, + 6703, + 6704, + 6705, + 6750, + 6751, + 6756, + 6757, + 6762, + 6763, + 6766, + 6767, + 6792, + 6793, + 6794, + 6795, + 6798, + 6799, + 6808, + 6809, + 6820, + 6821, + 6844, + 6845, + 6858, + 6859, + 6866, + 6867, + 6868, + 6869, + 6882, + 6883, + 6910, + 6911, + 6920, + 6921, + 6930, + 6931, + 6946, + 6947, + 7018, + 7019, + 7038, + 7039, + 7044, + 7045, + 7056, + 7057, + 7064, + 7065, + 7086, + 7087, + 7132, + 7133, + 7140, + 7141, + 7190, + 7191, + 7202, + 7203, + 7210, + 7211, + 7228, + 7229, + 7232, + 7233, + 7242, + 7243, + 7250, + 7251, + 7278, + 7279, + 7286, + 7287, + 7324, + 7325, + 7336, + 7337, + 7354, + 7355, + 7360, + 7361, + 7372, + 7373, + 7396, + 7397, + 7442, + 7443, + 7446, + 7447, + 7456, + 7457, + 7484, + 7485, + 7490, + 7491, + 7510, + 7511, + 7522, + 7523, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7560, + 7561, + 7562, + 7563, + 7564, + 7565, + 7570, + 7571, + 7574, + 7575, + 7684, + 7685, + 7692, + 7693, + 7706, + 7707, + 7718, + 7719, + 7720, + 7721, + 7744, + 7745, + 7758, + 7759, + 7766, + 7767, + 7774, + 7775, + 7782, + 7783, + 7828, + 7829, + 7842, + 7843, + 7898, + 7899, + 7920, + 7921, + 7928, + 7929, + 7942, + 7943, + 7946, + 7947, + 7958, + 7959, + 7984, + 7985, + 7994, + 7995, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8014, + 8015, + 8032, + 8033, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8058, + 8059, + 8060, + 8061, + 8076, + 8077, + 8086, + 8087, + 8092, + 8093, + 8094, + 8095, + 8096, + 8097, + 8128, + 8129, + 8134, + 8135, + 8142, + 8143, + 8162, + 8163, + 8168, + 8169, + 8188, + 8189, + 8196, + 8197, + 8200, + 8201, + 8204, + 8205, + 8230, + 8231, + 8238, + 8239, + 8244, + 8245, + 8246, + 8247, + 8260, + 8261, + 8264, + 8265, + 8298, + 8299, + 8338, + 8339, + 8352, + 8353, + 8360, + 8361, + 8382, + 8383, + 8386, + 8387, + 8388, + 8389, + 8404, + 8405, + 8420, + 8421, + 8440, + 8441, + 8456, + 8457, + 8460, + 8461, + 8474, + 8475, + 8482, + 8483, + 8500, + 8501, + 8504, + 8505, + 8508, + 8509, + 8546, + 8547, + 8562, + 8563, + 8568, + 8569, + 8576, + 8577, + 8582, + 8583, + 8604, + 8605, + 8642, + 8643, + 8652, + 8653, + 8674, + 8675, + 8676, + 8677, + 8690, + 8691, + 8700, + 8701, + 8704, + 8705, + 8708, + 8709, + 8710, + 8711, + 8736, + 8737, + 8744, + 8745, + 8748, + 8749, + 8754, + 8755, + 8762, + 8763, + 8774, + 8775, + 8784, + 8785, + 8790, + 8791, + 8794, + 8795, + 8796, + 8797, + 8824, + 8825, + 8828, + 8829, + 8836, + 8837, + 8838, + 8839, + 8872, + 8873, + 8876, + 8877, + 8932, + 8933, + 8944, + 8945, + 8948, + 8949, + 8950, + 8951, + 8968, + 8969, + 9008, + 9009, + 9036, + 9037, + 9038, + 9039, + 9042, + 9043, + 9070, + 9071, + 9080, + 9081, + 9106, + 9107, + 9122, + 9123, + 9130, + 9131, + 9146, + 9147, + 9150, + 9151, + 9174, + 9175, + 9176, + 9177, + 9194, + 9195, + 9202, + 9203, + 9208, + 9209, + 9212, + 9213, + 9226, + 9227, + 9234, + 9235, + 9238, + 9239, + 9246, + 9247, + 9262, + 9263, + 9278, + 9279, + 9280, + 9281, + 9314, + 9315, + 9344, + 9345, + 9368, + 9369, + 9378, + 9379, + 9384, + 9385, + 9390, + 9391, + 9396, + 9397, + 9408, + 9409, + 9416, + 9417, + 9420, + 9421, + 9432, + 9433, + 9436, + 9437, + 9442, + 9443, + 9480, + 9481, + 9484, + 9485, + 9502, + 9503, + 9532, + 9533, + 9536, + 9537, + 9544, + 9545, + 9546, + 9547, + 9582, + 9583, + 9586, + 9587, + 9594, + 9595, + 9624, + 9625, + 9638, + 9639, + 9644, + 9645, + 9652, + 9653, + 9660, + 9661, + 9684, + 9685, + 9696, + 9697, + 9712, + 9713, + 9724, + 9725, + 9734, + 9735, + 9740, + 9741, + 9742, + 9743, + 9744, + 9745, + 9760, + 9761, + 9762, + 9763, + 9766, + 9767, + 9778, + 9779, + 9782, + 9783, + 9796, + 9797, + 9798, + 9799, + 9802, + 9803, + 9804, + 9805, + 9814, + 9815, + 9816, + 9817, + 9828, + 9829, + 9838, + 9839, + 9864, + 9865, + 9884, + 9885, + 9894, + 9895, + 9898, + 9899, + 9900, + 9901, + 9910, + 9911, + 9922, + 9923, + 9962, + 9963, + 9968, + 9969, + 9978, + 9979, + 9990, + 9991, + 10012, + 10013, + 10018, + 10019, + 10024, + 10025, + 10036, + 10037, + 10038, + 10039, + 10088, + 10089, + 10096, + 10097, + 10106, + 10107, + 10124, + 10125, + 10128, + 10129, + 10130, + 10131, + 10180, + 10181, + 10188, + 10189, + 10200, + 10201, + 10222, + 10223, + 10236, + 10237, + 10242, + 10243, + 10258, + 10259, + 10260, + 10261, + 10270, + 10271, + 10288, + 10289, + 10306, + 10307, + 10318, + 10319, + 10330, + 10331, + 10342, + 10343, + 10362, + 10363, + 10366, + 10367, + 10380, + 10381, + 10392, + 10393, + 10394, + 10395, + 10396, + 10397, + 10410, + 10411, + 10426, + 10427, + 10428, + 10429, + 10450, + 10451, + 10470, + 10471, + 10500, + 10501, + 10530, + 10531, + 10536, + 10537, + 10538, + 10539, + 10548, + 10549, + 10556, + 10557, + 10578, + 10579, + 10588, + 10589, + 10606, + 10607, + 10608, + 10609, + 10612, + 10613, + 10656, + 10657, + 10674, + 10675, + 10678, + 10679, + 10702, + 10703, + 10712, + 10713, + 10716, + 10717, + 10718, + 10719, + 10728, + 10729, + 10742, + 10743, + 10750, + 10751, + 10772, + 10773, + 10800, + 10801, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10822, + 10823, + 10828, + 10829, + 10842, + 10843, + 10850, + 10851, + 10894, + 10895, + 10906, + 10907, + 10922, + 10923, + 10932, + 10933, + 10934, + 10935, + 10940, + 10941, + 10942, + 10943, + 10948, + 10949, + 10978, + 10979, + 10982, + 10983, + 10984, + 10985, + 11004, + 11005, + 11006, + 11007, + 11010, + 11011, + 11012, + 11013, + 11030, + 11031, + 11054, + 11055, + 11074, + 11075, + 11076, + 11077, + 11094, + 11095, + 11108, + 11109, + 11128, + 11129, + 11158, + 11159, + 11178, + 11179, + 11186, + 11187, + 11190, + 11191, + 11194, + 11195, + 11212, + 11213, + 11218, + 11219, + 11220, + 11221, + 11226, + 11227, + 11234, + 11235, + 11254, + 11255, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11296, + 11297, + 11314, + 11315, + 11330, + 11331, + 11338, + 11339, + 11368, + 11369, + 11400, + 11401, + 11406, + 11407, + 11414, + 11415, + 11418, + 11419, + 11436, + 11437, + 11462, + 11463, + 11482, + 11483, + 11492, + 11493, + 11496, + 11497, + 11512, + 11513, + 11516, + 11517, + 11532, + 11533, + 11534, + 11535, + 11536, + 11537, + 11540, + 11541, + 11560, + 11561, + 11588, + 11589, + 11590, + 11591, + 11596, + 11597, + 11610, + 11611, + 11628, + 11629, + 11632, + 11633, + 11640, + 11641, + 11650, + 11651, + 11666, + 11667, + 11716, + 11717, + 11732, + 11733, + 11736, + 11737, + 11804, + 11805, + 11832, + 11833, + 11854, + 11855, + 11856, + 11857, + 11866, + 11867, + 11876, + 11877, + 11900, + 11901, + 11906, + 11907, + 11926, + 11927, + 11958, + 11959, + 11960, + 11961, + 11980, + 11981, + 11996, + 11997, + 12000, + 12001, + 12002, + 12003, + 12010, + 12011, + 12042, + 12043, + 12054, + 12055, + 12066, + 12067, + 12086, + 12087, + 12120, + 12121, + 12124, + 12125, + 12132, + 12133, + 12146, + 12147, + 12152, + 12153, + 12154, + 12155, + 12158, + 12159, + 12160, + 12161, + 12162, + 12163, + 12166, + 12167, + 12168, + 12169, + 12170, + 12171, + 12174, + 12175, + 12176, + 12177, + 12202, + 12203, + 12216, + 12217, + 12218, 12219, - 9308, - 7359, - 17518, - 14770, - 16379, - 10869, - 19642, - 14436, - 1586, - 14149, - 4806, - 15394, - 19892, - 19537, - 5465, - 16464, - 7852, - 12371, - 6446, - 2776, - 18578, - 1568, - 11979, - 11781, - 5110, - 9086, - 2790, - 18883, - 16209, - 7608, - 12759, - 7752, - 17361, - 7383, - 17547, - 16757, - 6124, - 19963, - 14239, - 1549, - 4859, - 8424, - 680, - 848, - 4345, - 229, - 4054, - 14369, - 16452, - 10870, - 2250, - 3916, - 14138, - 16646, - 18, - 10785, - 18900, - 2410, - 12085, - 18093, - 15275, - 17612, - 7276, - 19349, - 9363, - 796, - 7187, - 9391, - 855, - 5773, - 9834, - 7952, - 10441, - 18297, - 13972, - 979, - 1628, - 1144, - 5116, - 9466, - 11053, - 12900, - 13463, - 6294, - 8578, - 14737, - 6177, - 16670, - 15348, - 6662, - 18116, - 5005, - 19695, - 2648, - 2507, - 18089, - 7935, - 10923, - 6980, - 13746, - 1784, - 13729, - 1135, - 3336, - 5024, - 15957, - 13269, - 6600, - 7432, - 8839, - 19908, - 141, - 12185, - 16873, - 1159, - 18760, - 14062, - 1708, - 2240, - 780, - 19187, - 16954, - 10227, - 9023, - 3900, - 7340, - 10658, - 19318, - 232, - 2669, - 10159, - 17248, - 2501, - 6448, - 1560, - 2000, - 17705, - 17023, - 14, - 11952, - 1576, - 1318, - 3524, - 2083, - 15563, - 14839, - 13626, - 10332, - 10352, - 738, - 15798, - 5286, - 1896, - 15594, - 9084, - 16596, - 2971, - 7374, - 17531, - 7272, - 2918, - 8215, - 3358, - 15446, - 6018, - 12198, - 824, - 1082, + 12234, + 12235, + 12246, + 12247, + 12256, + 12257, + 12268, + 12269, + 12274, + 12275, + 12294, + 12295, + 12298, + 12299, + 12322, + 12323, + 12364, + 12365, + 12398, + 12399, + 12400, + 12401, + 12418, + 12419, + 12422, + 12423, + 12426, + 12427, + 12432, + 12433, + 12442, + 12443, + 12462, + 12463, + 12468, + 12469, + 12510, + 12511, + 12526, + 12527, + 12542, + 12543, + 12546, + 12547, + 12582, + 12583, + 12584, + 12585, + 12612, + 12613, + 12618, + 12619, + 12642, + 12643, + 12644, + 12645, + 12656, + 12657, + 12672, + 12673, + 12680, + 12681, + 12738, + 12739, + 12744, + 12745, + 12764, + 12765, + 12770, + 12771, + 12798, + 12799, + 12816, + 12817, + 12818, + 12819, + 12846, + 12847, + 12852, + 12853, + 12854, + 12855, + 12868, + 12869, + 12872, + 12873, + 12874, + 12875, + 12880, + 12881, + 12924, + 12925, + 12950, + 12951, + 12956, + 12957, + 12960, + 12961, + 12964, + 12965, + 12966, + 12967, + 12984, + 12985, + 12990, + 12991, + 12996, + 12997, + 13002, + 13003, + 13020, + 13021, + 13030, + 13031, + 13032, + 13033, + 13042, + 13043, + 13044, + 13045, + 13062, + 13063, + 13074, + 13075, + 13086, + 13087, + 13100, + 13101, + 13104, + 13105, + 13142, + 13143, + 13180, + 13181, + 13198, + 13199, + 13240, + 13241, + 13242, + 13243, + 13246, + 13247, + 13264, + 13265, + 13292, + 13293, + 13338, + 13339, + 13344, + 13345, + 13362, + 13363, + 13370, + 13371, + 13374, + 13375, + 13378, + 13379, + 13380, + 13381, + 13398, + 13399, + 13434, + 13435, + 13456, + 13457, + 13492, + 13493, + 13498, + 13499, + 13502, + 13503, + 13504, + 13505, + 13506, + 13507, + 13512, + 13513, + 13518, + 13519, + 13530, + 13531, + 13536, + 13537, + 13580, + 13581, + 13604, + 13605, + 13616, + 13617, + 13628, + 13629, + 13634, + 13635, + 13642, + 13643, + 13654, + 13655, + 13656, + 13657, + 13658, + 13659, + 13660, + 13661, + 13668, + 13669, + 13670, + 13671, + 13676, + 13677, + 13694, + 13695, + 13722, + 13723, + 13732, + 13733, + 13748, + 13749, + 13794, + 13795, + 13802, + 13803, + 13822, + 13823, + 13826, + 13827, + 13870, + 13871, + 13878, + 13879, + 13880, + 13881, + 13906, + 13907, + 13908, + 13909, + 13918, + 13919, + 13934, + 13935, + 13936, + 13937, + 13980, + 13981, + 13996, + 13997, + 14002, + 14003, + 14032, + 14033, + 14034, + 14035, + 14036, + 14037, + 14038, + 14039, + 14046, + 14047, + 14056, + 14057, + 14064, + 14065, + 14100, + 14101, + 14106, + 14107, + 14116, + 14117, + 14150, + 14151, + 14156, + 14157, + 14164, + 14165, + 14172, + 14173, + 14174, + 14175, + 14182, + 14183, + 14214, + 14215, + 14226, + 14227, + 14232, + 14233, + 14286, + 14287, + 14292, + 14293, + 14300, + 14301, + 14306, + 14307, + 14370, + 14371, + 14394, + 14395, + 14396, + 14397, + 14406, + 14407, + 14410, + 14411, + 14440, + 14441, + 14458, + 14459, + 14468, + 14469, + 14470, + 14471, + 14486, + 14487, + 14488, + 14489, + 14512, + 14513, + 14544, + 14545, + 14562, + 14563, + 14564, + 14565, + 14572, + 14573, + 14600, + 14601, + 14610, + 14611, + 14630, + 14631, + 14638, + 14639, + 14646, + 14647, + 14648, + 14649, + 14650, + 14651, + 14664, + 14665, + 14666, + 14667, + 14684, + 14685, + 14696, + 14697, + 14722, + 14723, + 14742, + 14743, + 14748, + 14749, + 14752, + 14753, + 14762, + 14763, + 14764, + 14765, + 14766, + 14767, + 14776, + 14777, + 14792, + 14793, + 14806, + 14807, + 14830, + 14831, + 14850, + 14851, + 14856, + 14857, + 14860, + 14861, + 14868, + 14869, + 14872, + 14873, + 14876, + 14877, + 14888, + 14889, + 14894, + 14895, + 14908, + 14909, + 14912, + 14913, + 14950, + 14951, + 14954, + 14955, + 14968, + 14969, + 14974, + 14975, + 14984, + 14985, + 14998, + 14999, + 15000, + 15001, + 15016, + 15017, + 15044, + 15045, + 15070, + 15071, + 15078, + 15079, + 15094, + 15095, + 15130, + 15131, + 15132, + 15133, + 15134, + 15135, + 15136, + 15137, + 15146, + 15147, + 15156, + 15157, + 15198, + 15199, + 15202, + 15203, + 15212, + 15213, + 15216, + 15217, + 15228, + 15229, + 15230, + 15231, + 15238, + 15239, + 15240, + 15241, + 15242, + 15243, + 15262, + 15263, + 15280, + 15281, + 15292, + 15293, + 15306, + 15307, + 15340, + 15341, + 15342, + 15343, + 15368, + 15369, + 15376, + 15377, + 15382, + 15383, + 15398, + 15399, + 15404, + 15405, + 15432, + 15433, + 15470, + 15471, + 15486, + 15487, + 15500, + 15501, + 15518, + 15519, + 15526, + 15527, + 15540, + 15541, + 15548, + 15549, + 15584, + 15585, + 15602, + 15603, + 15632, + 15633, + 15642, + 15643, + 15648, + 15649, + 15650, + 15651, + 15656, + 15657, + 15700, + 15701, + 15702, + 15703, + 15706, + 15707, + 15710, + 15711, + 15744, + 15745, + 15778, + 15779, + 15788, + 15789, + 15792, + 15793, + 15814, + 15815, + 15834, + 15835, + 15840, + 15841, + 15848, + 15849, + 15868, + 15869, + 15876, + 15877, + 15898, + 15899, + 15904, + 15905, + 15916, + 15917, + 15924, + 15925, + 15926, + 15927, + 15966, + 15967, + 15982, + 15983, + 15998, + 15999, + 16002, + 16003, + 16030, + 16031, + 16038, + 16039, + 16048, + 16049, + 16052, + 16053, + 16072, + 16073, + 16128, + 16129, + 16136, + 16137, + 16144, + 16145, + 16152, + 16153, + 16158, + 16159, + 16162, + 16163, + 16186, + 16187, + 16238, + 16239, + 16252, + 16253, + 16254, + 16255, + 16262, + 16263, + 16272, + 16273, + 16274, + 16275, + 16276, + 16277, + 16292, + 16293, + 16316, + 16317, + 16330, + 16331, + 16342, + 16343, + 16348, + 16349, + 16354, + 16355, + 16356, + 16357, + 16358, + 16359, + 16384, + 16385, + 16414, + 16415, + 16436, + 16437, + 16478, + 16479, + 16482, + 16483, + 16486, 16487, - 7576, - 16830, - 893, - 10354, - 812, - 7344, - 3210, - 17329, - 16559, - 5828, - 5676, - 1902, - 10005, - 6234, - 17674, - 10127, - 15118, - 8549, - 6329, - 13232, - 7085, - 9885, - 10780, - 14027, - 3996, - 2, - 2525, - 12968, - 12986, - 2591, - 6433, - 2111, - 14234, + 16500, + 16501, + 16504, + 16505, + 16520, + 16521, + 16528, + 16529, + 16532, + 16533, + 16552, + 16553, + 16564, + 16565, + 16566, + 16567, + 16570, + 16571, + 16574, + 16575, + 16588, + 16589, + 16592, + 16593, + 16608, + 16609, + 16626, + 16627, + 16632, + 16633, + 16634, + 16635, + 16648, + 16649, + 16656, + 16657, + 16660, + 16661, + 16668, + 16669, + 16672, + 16673, + 16682, + 16683, + 16686, + 16687, + 16710, + 16711, + 16722, + 16723, + 16724, + 16725, + 16730, + 16731, + 16732, + 16733, + 16740, + 16741, + 16764, + 16765, + 16796, + 16797, + 16806, + 16807, + 16826, + 16827, + 16858, + 16859, + 16876, + 16877, + 16878, + 16879, + 16880, + 16881, + 16892, + 16893, + 16894, + 16895, + 16910, + 16911, + 16966, + 16967, + 16978, + 16979, + 16984, + 16985, + 17000, + 17001, + 17034, + 17035, + 17040, + 17041, + 17050, + 17051, + 17068, + 17069, + 17070, + 17071, + 17080, + 17081, + 17092, + 17093, + 17102, + 17103, + 17116, + 17117, + 17132, + 17133, + 17136, + 17137, + 17140, + 17141, + 17146, + 17147, + 17156, + 17157, + 17164, + 17165, + 17166, + 17167, + 17174, + 17175, + 17182, + 17183, + 17186, + 17187, + 17196, + 17197, + 17210, + 17211, + 17212, + 17213, + 17214, + 17215, + 17222, + 17223, + 17228, + 17229, + 17282, + 17283, + 17304, + 17305, + 17326, + 17327, + 17340, + 17341, + 17344, + 17345, + 17352, + 17353, + 17362, + 17363, + 17366, + 17367, + 17374, + 17375, + 17392, + 17393, + 17400, + 17401, + 17402, + 17403, + 17406, + 17407, + 17408, + 17409, + 17412, + 17413, + 17416, + 17417, + 17418, + 17419, + 17426, + 17427, + 17428, + 17429, + 17430, + 17431, + 17438, + 17439, + 17444, + 17445, + 17456, + 17457, + 17492, + 17493, + 17494, + 17495, + 17512, + 17513, + 17514, + 17515, + 17552, + 17553, + 17564, + 17565, + 17640, + 17641, + 17644, + 17645, + 17648, + 17649, + 17658, + 17659, + 17692, + 17693, + 17698, + 17699, + 17700, + 17701, + 17716, + 17717, + 17756, + 17757, + 17788, + 17789, + 17790, + 17791, + 17794, + 17795, + 17796, + 17797, + 17840, + 17841, + 17846, + 17847, + 17866, + 17867, + 17880, + 17881, + 17888, + 17889, + 17892, + 17893, + 17904, + 17905, + 17912, + 17913, + 17924, + 17925, + 17940, + 17941, + 17946, + 17947, + 17998, + 17999, + 18000, + 18001, + 18004, + 18005, + 18024, + 18025, + 18052, + 18053, + 18086, + 18087, + 18098, + 18099, + 18100, + 18101, + 18102, + 18103, + 18110, + 18111, + 18126, + 18127, + 18136, + 18137, + 18166, + 18167, + 18168, + 18169, + 18170, + 18171, + 18176, + 18177, + 18192, + 18193, + 18202, + 18203, + 18204, + 18205, + 18212, + 18213, + 18218, + 18219, + 18224, + 18225, + 18228, + 18229, + 18230, + 18231, + 18260, + 18261, + 18274, + 18275, + 18310, + 18311, + 18322, + 18323, + 18330, + 18331, + 18338, + 18339, + 18340, + 18341, + 18346, + 18347, + 18350, + 18351, + 18352, + 18353, + 18372, + 18373, + 18374, + 18375, + 18380, + 18381, + 18386, + 18387, + 18400, + 18401, + 18404, + 18405, + 18424, + 18425, + 18428, + 18429, + 18434, + 18435, + 18436, + 18437, + 18452, + 18453, + 18474, + 18475, + 18476, + 18477, + 18478, + 18479, + 18508, + 18509, + 18554, + 18555, + 18584, + 18585, + 18616, + 18617, + 18624, + 18625, + 18660, + 18661, + 18670, + 18671, + 18680, + 18681, + 18702, + 18703, + 18710, + 18711, + 18712, + 18713, + 18724, + 18725, + 18732, + 18733, + 18764, + 18765, + 18782, + 18783, + 18786, + 18787, + 18800, + 18801, + 18810, + 18811, + 18812, + 18813, + 18820, + 18821, + 18822, + 18823, + 18824, + 18825, + 18854, + 18855, + 18862, + 18863, + 18888, + 18889, + 18890, + 18891, + 18918, + 18919, + 18940, + 18941, + 18988, + 18989, + 18990, + 18991, + 19016, + 19017, + 19030, + 19031, + 19032, + 19033, + 19038, + 19039, + 19050, + 19051, + 19056, + 19057, + 19082, + 19083, + 19096, + 19097, + 19114, + 19115, + 19138, + 19139, + 19152, + 19153, + 19156, + 19157, + 19182, + 19183, + 19186, + 19187, + 19212, + 19213, + 19218, + 19219, + 19292, + 19293, + 19330, + 19331, + 19360, + 19361, + 19366, + 19367, + 19392, + 19393, + 19406, + 19407, + 19418, + 19419, + 19428, + 19429, + 19466, + 19467, + 19536, + 19537, + 19544, + 19545, + 19558, + 19559, + 19568, + 19569, + 19582, + 19583, + 19590, + 19591, + 19626, + 19627, + 19656, + 19657, + 19658, + 19659, + 19664, + 19665, + 19666, + 19667, + 19720, + 19721, + 19742, + 19743, + 19744, + 19745, + 19748, + 19749, + 19770, + 19771, + 19780, + 19781, + 19784, + 19785, + 19796, + 19797, + 19834, + 19835, + 19848, + 19849, + 19860, 19861, - 17024, - 9288, - 15492, - 13889, - 15150, - 15690, - 5823, - 8997, - 18236, - 8498, - 18997, - 19528, - 16633, - 8125, - 15406, - 9901, - 9195, - 4441, - 17841, - 9433, - 19325, - 3595, - 16786, - 8791, - 17632, - 12524, - 7136, - 14065, - 18560, - 5194, - 7176, - 4677, - 7911, - 12692, - 17254, - 14784, - 7545, - 4384, - 3355, - 14354, - 4623, - 684, - 4781, - 16943, - 4593, - 12427, - 9822, - 3980, - 15575, - 19150, - 7321, - 6574, - 12043, - 14273, - 7633, - 15126, - 11772, - 865, - 1394, - 7683, - 1090, - 11566, - 4400, - 5048, - 13726, - 7745, - 15249, - 18745, - 19302, - 11245, - 1265, - 6703, - 19624, - 6080, - 9060, - 6906, - 11743, - 15867, - 12030, - 4128, - 408, + 19864, + 19865, + 19882, + 19883, + 19884, + 19885, + 19918, + 19919, + 19930, + 19931, + 19944, + 19945, + 19950, + 19951 + ], + "test": [ + 0, + 1, + 20, + 21, + 34, + 35, + 38, + 39, + 46, + 47, + 60, + 61, + 62, + 63, + 74, + 75, + 78, + 79, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 100, + 101, + 112, + 113, + 130, + 131, + 138, + 139, + 140, + 141, + 158, + 159, + 162, + 163, + 176, + 177, + 184, + 185, + 186, + 187, + 198, + 199, + 214, + 215, + 216, + 217, + 222, + 223, + 236, + 237, + 262, + 263, + 270, + 271, + 298, + 299, + 336, + 337, + 344, + 345, + 354, + 355, + 360, + 361, + 362, + 363, + 422, + 423, + 434, + 435, + 436, + 437, + 460, + 461, + 466, + 467, + 490, + 491, + 494, + 495, + 496, + 497, + 502, + 503, + 504, + 505, + 514, + 515, + 526, + 527, + 534, + 535, + 572, + 573, + 582, + 583, + 606, + 607, + 608, + 609, + 622, + 623, + 632, + 633, + 638, + 639, + 642, + 643, + 660, + 661, + 666, + 667, + 668, + 669, + 674, + 675, + 692, + 693, + 694, + 695, + 700, + 701, + 706, + 707, + 720, + 721, + 734, + 735, + 744, + 745, + 752, + 753, + 758, + 759, + 776, + 777, + 800, + 801, + 806, + 807, + 816, + 817, + 822, + 823, + 830, + 831, + 832, + 833, + 854, + 855, + 866, + 867, + 870, + 871, + 890, + 891, + 898, + 899, + 906, + 907, + 914, + 915, + 930, + 931, + 944, + 945, + 946, + 947, + 948, + 949, + 970, + 971, + 974, + 975, + 1000, + 1001, + 1006, + 1007, + 1018, + 1019, + 1020, + 1021, + 1026, + 1027, + 1036, + 1037, + 1056, + 1057, + 1064, + 1065, + 1076, + 1077, + 1086, + 1087, + 1136, + 1137, + 1158, + 1159, + 1172, + 1173, + 1188, + 1189, + 1202, + 1203, + 1208, + 1209, + 1234, + 1235, + 1240, + 1241, + 1246, + 1247, + 1250, + 1251, + 1274, + 1275, + 1294, 1295, - 2200, - 9293, - 585, - 18414, - 4579, - 3146, - 15568, - 10358, - 3710, - 8427, - 8361, - 15473, - 2022, - 12394, - 10208, + 1310, + 1311, + 1328, + 1329, + 1346, + 1347, + 1392, + 1393, + 1400, + 1401, + 1410, + 1411, + 1424, + 1425, + 1436, + 1437, + 1460, + 1461, + 1470, + 1471, + 1474, + 1475, + 1476, + 1477, + 1486, + 1487, + 1490, + 1491, + 1496, + 1497, + 1498, + 1499, + 1522, + 1523, + 1526, + 1527, + 1528, + 1529, + 1532, + 1533, + 1548, + 1549, + 1558, + 1559, + 1564, + 1565, + 1598, + 1599, + 1622, + 1623, + 1662, + 1663, + 1668, + 1669, + 1674, + 1675, + 1682, + 1683, + 1700, + 1701, + 1732, + 1733, + 1736, + 1737, + 1744, + 1745, + 1758, + 1759, + 1760, + 1761, + 1762, + 1763, + 1766, + 1767, + 1812, + 1813, + 1828, + 1829, + 1864, + 1865, + 1894, + 1895, + 1916, + 1917, + 1928, + 1929, + 1930, + 1931, + 1940, + 1941, + 1942, + 1943, + 1986, + 1987, + 1994, + 1995, + 2010, + 2011, + 2020, + 2021, + 2034, + 2035, + 2040, + 2041, + 2044, + 2045, + 2052, + 2053, + 2084, + 2085, + 2104, + 2105, + 2106, + 2107, + 2112, + 2113, + 2148, + 2149, + 2174, + 2175, + 2180, + 2181, + 2202, + 2203, + 2206, + 2207, + 2218, + 2219, + 2288, + 2289, + 2290, + 2291, + 2312, + 2313, + 2324, + 2325, + 2352, + 2353, + 2360, + 2361, + 2366, + 2367, + 2390, + 2391, + 2394, + 2395, + 2402, + 2403, + 2408, + 2409, + 2416, + 2417, + 2420, + 2421, + 2438, + 2439, + 2440, + 2441, + 2466, + 2467, + 2488, + 2489, + 2522, + 2523, + 2554, + 2555, + 2564, + 2565, + 2596, + 2597, + 2628, + 2629, + 2636, + 2637, + 2656, + 2657, + 2660, + 2661, + 2668, + 2669, + 2690, + 2691, + 2692, + 2693, + 2698, + 2699, + 2720, + 2721, + 2758, + 2759, + 2766, + 2767, + 2784, + 2785, + 2804, + 2805, + 2834, + 2835, + 2836, + 2837, + 2852, + 2853, + 2860, + 2861, + 2876, + 2877, + 2904, + 2905, + 2906, + 2907, + 2936, + 2937, + 2954, + 2955, + 2966, + 2967, + 2982, + 2983, + 2988, + 2989, + 2996, + 2997, + 3004, + 3005, + 3026, + 3027, + 3032, + 3033, + 3054, + 3055, + 3066, + 3067, + 3072, + 3073, + 3086, + 3087, + 3114, + 3115, + 3118, + 3119, + 3122, + 3123, + 3124, + 3125, + 3164, + 3165, + 3172, + 3173, + 3186, + 3187, + 3194, + 3195, + 3200, + 3201, + 3228, + 3229, + 3234, + 3235, + 3236, + 3237, + 3246, + 3247, + 3248, + 3249, + 3252, + 3253, + 3262, + 3263, + 3286, + 3287, + 3298, + 3299, + 3310, + 3311, + 3318, + 3319, + 3324, + 3325, + 3330, + 3331, + 3340, + 3341, + 3366, + 3367, + 3368, + 3369, + 3376, + 3377, + 3382, + 3383, + 3384, + 3385, + 3404, + 3405, + 3436, + 3437, + 3440, + 3441, + 3442, + 3443, + 3458, + 3459, + 3478, + 3479, + 3482, + 3483, + 3486, + 3487, + 3490, + 3491, + 3492, + 3493, + 3516, + 3517, + 3520, + 3521, + 3530, + 3531, + 3536, + 3537, + 3566, + 3567, + 3570, + 3571, + 3582, + 3583, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3610, + 3611, + 3614, + 3615, + 3650, + 3651, + 3670, + 3671, + 3728, + 3729, + 3754, + 3755, + 3760, + 3761, + 3772, + 3773, + 3782, + 3783, + 3802, + 3803, + 3830, + 3831, + 3838, + 3839, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3868, + 3869, + 3874, + 3875, + 3882, + 3883, + 3890, + 3891, + 3894, + 3895, + 3924, + 3925, + 3930, + 3931, + 3990, + 3991, + 4004, + 4005, + 4012, + 4013, + 4016, + 4017, + 4036, + 4037, + 4060, + 4061, + 4078, + 4079, + 4108, + 4109, + 4110, + 4111, + 4126, + 4127, + 4144, + 4145, + 4150, + 4151, + 4174, + 4175, + 4178, + 4179, + 4188, + 4189, + 4214, + 4215, + 4218, + 4219, + 4222, + 4223, + 4228, + 4229, + 4230, + 4231, + 4238, + 4239, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4264, + 4265, + 4284, + 4285, + 4298, + 4299, + 4304, + 4305, + 4328, + 4329, + 4330, + 4331, + 4356, + 4357, + 4366, + 4367, + 4368, + 4369, + 4420, + 4421, + 4426, + 4427, + 4428, + 4429, + 4430, + 4431, + 4464, + 4465, + 4466, + 4467, + 4502, + 4503, + 4536, + 4537, + 4540, + 4541, + 4546, + 4547, + 4550, + 4551, + 4576, + 4577, + 4582, + 4583, + 4598, + 4599, + 4602, + 4603, + 4604, + 4605, + 4608, + 4609, + 4620, + 4621, + 4632, + 4633, + 4638, + 4639, + 4656, + 4657, + 4670, + 4671, + 4680, + 4681, + 4688, + 4689, + 4716, + 4717, + 4720, + 4721, + 4724, + 4725, + 4746, + 4747, + 4798, + 4799, + 4812, 4813, - 8467, - 7280, - 10602, - 14861, - 5231, - 497, - 2179, - 13567, - 12417, - 9482, - 16036, - 4180, - 1720, - 3331, - 19756, - 11795, - 14780, - 18620, - 9159, - 18347, - 6933, - 19974, - 8025, - 2134, - 18906, - 14124, - 2286, - 19669, - 10886, - 13419, - 9493, - 8863, - 1491, - 15110, - 4607, - 4124, - 15664, - 8776, - 4842, - 9746, - 13940, - 8886, - 9750, - 14941, - 3182, - 7258, - 18956, - 1813, - 3813, - 7707, - 19381, - 14515, - 19028, - 9659, - 18365, - 676, - 18304, - 15263, - 13796, - 1227, - 14818, - 97, - 13646, - 15201, - 12840, - 15385, - 11990, - 16015, - 11675, - 11185, - 8351, - 2817, - 17768, - 6654, - 768, - 10243, - 9241, - 13279, - 12173, - 11366, - 2597, - 2293, - 2492, + 4824, + 4825, + 4826, + 4827, + 4840, + 4841, + 4850, + 4851, + 4872, + 4873, + 4878, + 4879, + 4894, + 4895, + 4910, + 4911, + 4916, + 4917, + 4942, + 4943, + 4946, + 4947, + 4948, + 4949, + 4972, + 4973, + 4996, + 4997, + 5026, + 5027, + 5032, + 5033, + 5034, + 5035, + 5038, + 5039, + 5044, + 5045, + 5052, + 5053, + 5062, + 5063, + 5066, + 5067, + 5068, + 5069, + 5080, + 5081, + 5084, + 5085, + 5086, + 5087, + 5108, + 5109, + 5142, + 5143, + 5176, + 5177, + 5184, + 5185, + 5218, + 5219, + 5222, + 5223, + 5228, + 5229, + 5246, + 5247, + 5250, + 5251, + 5262, + 5263, + 5272, + 5273, + 5296, + 5297, + 5302, + 5303, + 5326, + 5327, + 5376, + 5377, + 5382, + 5383, + 5384, + 5385, + 5394, + 5395, + 5430, + 5431, + 5436, + 5437, + 5448, + 5449, + 5464, + 5465, + 5474, + 5475, + 5496, + 5497, + 5502, + 5503, + 5508, + 5509, + 5516, + 5517, + 5518, + 5519, + 5520, + 5521, + 5538, 5539, - 12163, - 3574, - 17823, - 4982, - 14745, - 19168, - 729, - 1817, - 4764, - 7029, - 3709, - 1599, - 16346, - 12366, - 18729, + 5540, + 5541, + 5542, + 5543, + 5554, + 5555, + 5604, + 5605, + 5614, + 5615, + 5632, + 5633, + 5646, + 5647, + 5660, + 5661, + 5666, + 5667, + 5696, + 5697, + 5710, + 5711, + 5724, + 5725, + 5728, + 5729, + 5734, + 5735, + 5736, + 5737, + 5740, + 5741, + 5752, + 5753, + 5760, + 5761, + 5768, + 5769, + 5778, + 5779, + 5788, + 5789, + 5812, + 5813, + 5814, + 5815, + 5820, + 5821, + 5860, + 5861, + 5870, + 5871, + 5890, + 5891, + 5912, + 5913, + 5914, + 5915, + 5920, + 5921, + 5936, + 5937, + 5940, + 5941, + 5946, + 5947, + 5964, + 5965, + 5990, + 5991, + 5992, + 5993, + 6012, + 6013, + 6014, + 6015, + 6022, + 6023, + 6038, + 6039, + 6042, + 6043, + 6054, + 6055, + 6066, + 6067, + 6078, + 6079, + 6086, + 6087, + 6090, + 6091, + 6106, + 6107, + 6116, + 6117, + 6118, + 6119, + 6122, + 6123, + 6140, + 6141, + 6142, + 6143, + 6156, + 6157, + 6160, + 6161, + 6164, + 6165, + 6188, + 6189, + 6190, + 6191, + 6214, + 6215, + 6220, + 6221, + 6222, + 6223, + 6236, + 6237, + 6246, + 6247, + 6250, + 6251, + 6262, + 6263, + 6278, + 6279, + 6290, + 6291, + 6302, + 6303, + 6374, + 6375, + 6408, + 6409, + 6410, + 6411, + 6416, + 6417, + 6420, + 6421, + 6462, + 6463, + 6470, + 6471, + 6476, + 6477, + 6488, + 6489, + 6490, + 6491, + 6502, + 6503, + 6514, + 6515, + 6544, + 6545, + 6548, + 6549, + 6564, + 6565, + 6568, + 6569, + 6594, + 6595, + 6624, + 6625, + 6630, + 6631, + 6632, + 6633, + 6634, + 6635, + 6638, + 6639, + 6640, + 6641, + 6650, + 6651, + 6656, + 6657, + 6658, + 6659, + 6676, + 6677, + 6700, + 6701, + 6710, + 6711, + 6740, + 6741, + 6758, + 6759, + 6774, + 6775, + 6784, + 6785, + 6786, + 6787, + 6800, + 6801, + 6822, + 6823, + 6824, + 6825, + 6848, + 6849, + 6856, + 6857, + 6886, + 6887, + 6896, + 6897, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6926, + 6927, + 6928, + 6929, + 6934, + 6935, + 6938, 6939, - 15453, - 12689, - 3328, - 19831, - 9319, - 7728, - 3142, - 13369, - 951, - 5445, - 9053, - 541, - 19274, - 8428, - 3559, - 14254, - 7620, - 1531, - 11889, - 16104, - 2359, - 1755, - 15943, - 17656, - 2138, + 6940, + 6941, + 6962, + 6963, + 6964, + 6965, + 6970, + 6971, + 6974, + 6975, + 6994, + 6995, + 7002, + 7003, + 7016, + 7017, + 7036, + 7037, + 7040, + 7041, + 7048, + 7049, + 7052, + 7053, + 7058, + 7059, + 7066, + 7067, + 7070, + 7071, + 7076, + 7077, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7088, + 7089, + 7100, + 7101, + 7110, + 7111, + 7148, + 7149, + 7156, + 7157, + 7164, + 7165, + 7194, + 7195, + 7216, + 7217, + 7230, + 7231, + 7292, + 7293, + 7294, + 7295, + 7298, + 7299, + 7302, + 7303, + 7306, + 7307, + 7312, + 7313, + 7332, + 7333, + 7368, + 7369, + 7370, + 7371, + 7376, + 7377, + 7378, + 7379, + 7406, + 7407, + 7408, + 7409, + 7412, + 7413, + 7414, + 7415, + 7416, + 7417, + 7440, + 7441, + 7478, + 7479, + 7506, + 7507, + 7534, + 7535, + 7552, + 7553, + 7580, + 7581, + 7590, + 7591, + 7596, + 7597, + 7598, + 7599, + 7626, + 7627, + 7634, + 7635, + 7652, + 7653, + 7666, + 7667, + 7668, + 7669, + 7674, + 7675, + 7688, + 7689, + 7714, + 7715, + 7738, + 7739, + 7770, + 7771, + 7772, + 7773, + 7778, + 7779, + 7788, + 7789, + 7796, + 7797, + 7810, + 7811, + 7820, + 7821, + 7824, + 7825, + 7866, + 7867, + 7868, + 7869, + 7874, + 7875, + 7896, + 7897, + 7926, + 7927, + 7968, + 7969, + 7978, + 7979, + 7982, + 7983, + 7990, + 7991, + 7998, + 7999, + 8008, + 8009, + 8020, + 8021, + 8022, + 8023, + 8098, + 8099, + 8104, + 8105, + 8106, + 8107, + 8116, + 8117, + 8130, + 8131, + 8152, + 8153, + 8154, + 8155, + 8160, + 8161, + 8184, + 8185, + 8198, + 8199, + 8220, + 8221, + 8224, + 8225, + 8226, + 8227, + 8254, + 8255, + 8278, + 8279, + 8280, + 8281, + 8296, + 8297, + 8302, + 8303, + 8312, + 8313, + 8340, + 8341, + 8348, + 8349, + 8362, + 8363, + 8370, + 8371, + 8380, + 8381, + 8384, + 8385, + 8392, + 8393, + 8402, + 8403, + 8410, + 8411, + 8432, + 8433, + 8434, + 8435, + 8448, + 8449, + 8458, + 8459, + 8476, + 8477, + 8478, + 8479, + 8496, + 8497, + 8530, + 8531, + 8538, + 8539, + 8540, + 8541, + 8542, + 8543, + 8550, + 8551, + 8554, + 8555, + 8588, + 8589, + 8626, + 8627, + 8634, + 8635, + 8658, + 8659, + 8672, + 8673, + 8678, + 8679, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8689, + 8694, + 8695, + 8724, + 8725, + 8734, + 8735, + 8746, + 8747, + 8750, + 8751, + 8752, + 8753, + 8758, + 8759, + 8764, + 8765, + 8772, + 8773, + 8786, + 8787, + 8788, + 8789, + 8822, + 8823, + 8846, + 8847, + 8858, + 8859, + 8884, + 8885, + 8894, + 8895, + 8900, + 8901, + 8926, + 8927, + 8928, + 8929, + 8934, + 8935, + 8954, + 8955, + 8978, + 8979, + 9004, + 9005, + 9012, + 9013, + 9018, + 9019, + 9020, + 9021, + 9022, + 9023, + 9026, + 9027, + 9028, + 9029, + 9032, + 9033, + 9044, + 9045, + 9068, + 9069, + 9078, + 9079, + 9082, + 9083, + 9098, + 9099, + 9108, + 9109, + 9124, + 9125, + 9136, + 9137, + 9148, + 9149, + 9160, + 9161, + 9164, + 9165, + 9214, + 9215, + 9250, + 9251, + 9252, + 9253, + 9258, + 9259, + 9260, + 9261, + 9276, + 9277, + 9290, + 9291, + 9298, + 9299, + 9312, + 9313, + 9334, + 9335, + 9360, + 9361, + 9364, + 9365, + 9370, + 9371, + 9386, + 9387, + 9388, + 9389, + 9410, + 9411, + 9424, + 9425, + 9462, + 9463, + 9468, + 9469, + 9494, + 9495, + 9518, + 9519, + 9534, + 9535, + 9542, + 9543, + 9550, + 9551, + 9558, + 9559, + 9564, + 9565, + 9566, + 9567, + 9574, + 9575, + 9602, + 9603, + 9604, + 9605, + 9626, + 9627, + 9632, + 9633, + 9646, + 9647, + 9654, + 9655, + 9666, + 9667, + 9672, + 9673, + 9702, + 9703, + 9704, + 9705, + 9732, + 9733, + 9736, + 9737, + 9758, + 9759, + 9768, + 9769, + 9780, + 9781, + 9792, + 9793, + 9800, + 9801, + 9806, + 9807, + 9836, + 9837, + 9848, + 9849, + 9858, + 9859, + 9914, + 9915, + 9920, + 9921, + 9926, + 9927, + 9948, + 9949, + 9950, + 9951, + 9956, + 9957, + 9964, + 9965, + 9966, + 9967, + 9986, + 9987, + 10028, + 10029, + 10030, + 10031, + 10052, + 10053, + 10056, + 10057, + 10070, + 10071, + 10092, + 10093, + 10098, + 10099, + 10100, + 10101, + 10142, + 10143, + 10152, + 10153, + 10162, + 10163, + 10164, + 10165, + 10184, + 10185, + 10196, + 10197, + 10246, + 10247, + 10256, + 10257, + 10266, + 10267, + 10274, + 10275, + 10276, + 10277, + 10280, + 10281, + 10310, + 10311, + 10312, + 10313, + 10338, + 10339, + 10340, + 10341, + 10346, + 10347, + 10386, + 10387, + 10404, + 10405, + 10412, + 10413, + 10420, + 10421, + 10424, + 10425, + 10434, + 10435, + 10442, + 10443, + 10452, + 10453, + 10468, + 10469, + 10488, + 10489, + 10492, + 10493, + 10532, + 10533, + 10542, + 10543, + 10544, + 10545, + 10558, + 10559, + 10568, + 10569, + 10600, + 10601, + 10618, + 10619, + 10624, + 10625, + 10632, + 10633, + 10642, + 10643, + 10646, + 10647, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10680, + 10681, + 10726, + 10727, + 10730, + 10731, + 10758, + 10759, + 10762, + 10763, + 10768, + 10769, + 10790, + 10791, + 10792, + 10793, + 10796, + 10797, + 10798, + 10799, + 10806, + 10807, + 10852, + 10853, + 10854, + 10855, + 10862, + 10863, + 10872, + 10873, + 10876, + 10877, + 10880, + 10881, + 10908, + 10909, + 10918, + 10919, + 10962, + 10963, + 10986, + 10987, + 11000, + 11001, + 11032, + 11033, + 11042, + 11043, + 11044, + 11045, + 11058, + 11059, + 11088, + 11089, + 11090, + 11091, + 11098, + 11099, + 11100, + 11101, + 11118, + 11119, + 11122, + 11123, + 11126, + 11127, + 11140, + 11141, + 11144, + 11145, + 11152, + 11153, + 11160, + 11161, + 11188, + 11189, + 11210, + 11211, + 11246, + 11247, + 11256, + 11257, + 11270, + 11271, + 11282, + 11283, + 11302, + 11303, + 11306, + 11307, + 11324, + 11325, + 11348, + 11349, + 11352, + 11353, + 11404, + 11405, + 11422, + 11423, + 11456, + 11457, + 11470, + 11471, + 11472, + 11473, + 11474, + 11475, + 11494, + 11495, + 11498, + 11499, + 11528, + 11529, + 11570, + 11571, + 11572, + 11573, + 11580, + 11581, + 11604, + 11605, + 11618, + 11619, + 11630, + 11631, + 11644, + 11645, + 11648, + 11649, + 11652, + 11653, + 11656, + 11657, + 11676, + 11677, + 11678, + 11679, + 11686, + 11687, + 11702, + 11703, + 11706, + 11707, + 11718, + 11719, + 11722, + 11723, + 11730, + 11731, + 11744, + 11745, + 11770, + 11771, + 11788, + 11789, + 11806, + 11807, + 11810, + 11811, + 11816, + 11817, + 11820, + 11821, + 11828, + 11829, + 11840, + 11841, + 11844, + 11845, + 11880, + 11881, + 11890, + 11891, + 11936, + 11937, + 11940, + 11941, + 11966, + 11967, + 11986, + 11987, + 11988, + 11989, + 12008, + 12009, + 12012, + 12013, + 12058, + 12059, + 12078, + 12079, + 12090, + 12091, + 12128, + 12129, + 12140, + 12141, + 12144, + 12145, + 12200, + 12201, + 12240, + 12241, + 12252, + 12253, + 12260, + 12261, + 12314, + 12315, + 12318, + 12319, + 12324, + 12325, + 12326, + 12327, + 12352, + 12353, + 12360, + 12361, + 12392, + 12393, + 12402, + 12403, + 12404, + 12405, + 12420, + 12421, + 12434, + 12435, + 12440, + 12441, + 12446, + 12447, + 12450, + 12451, + 12454, + 12455, + 12480, + 12481, + 12488, + 12489, + 12496, + 12497, + 12498, + 12499, + 12504, + 12505, + 12516, + 12517, + 12522, + 12523, + 12532, + 12533, + 12578, + 12579, + 12594, + 12595, + 12600, + 12601, + 12616, + 12617, + 12620, + 12621, + 12646, + 12647, + 12650, + 12651, + 12658, + 12659, + 12660, + 12661, + 12664, + 12665, + 12676, + 12677, + 12682, + 12683, + 12698, + 12699, + 12700, + 12701, + 12726, + 12727, + 12730, + 12731, + 12734, + 12735, + 12768, + 12769, + 12784, + 12785, + 12786, + 12787, + 12800, + 12801, + 12820, + 12821, + 12824, + 12825, + 12848, + 12849, + 12856, + 12857, + 12884, + 12885, + 12898, + 12899, + 12908, + 12909, + 12932, + 12933, + 12944, + 12945, + 12946, + 12947, + 12962, + 12963, + 12972, + 12973, + 12974, + 12975, + 12992, + 12993, + 13000, + 13001, + 13024, + 13025, + 13034, + 13035, + 13064, + 13065, + 13094, + 13095, + 13102, + 13103, + 13108, + 13109, + 13112, + 13113, + 13116, + 13117, + 13122, + 13123, + 13138, + 13139, + 13168, + 13169, + 13190, + 13191, + 13206, + 13207, + 13210, + 13211, + 13214, + 13215, + 13216, + 13217, + 13236, + 13237, + 13244, + 13245, + 13250, + 13251, + 13260, + 13261, + 13262, + 13263, + 13268, + 13269, + 13282, + 13283, + 13294, + 13295, + 13300, + 13301, + 13302, + 13303, + 13332, + 13333, + 13340, + 13341, + 13364, + 13365, + 13376, + 13377, + 13396, + 13397, + 13422, + 13423, + 13436, + 13437, + 13454, + 13455, + 13478, + 13479, + 13480, + 13481, + 13486, + 13487, + 13508, + 13509, + 13510, + 13511, + 13542, + 13543, + 13548, + 13549, + 13550, + 13551, + 13570, + 13571, + 13578, + 13579, + 13588, + 13589, + 13600, + 13601, + 13608, + 13609, + 13652, + 13653, + 13664, + 13665, + 13686, + 13687, + 13696, + 13697, + 13700, + 13701, + 13710, + 13711, + 13712, + 13713, + 13740, + 13741, + 13742, + 13743, + 13756, + 13757, + 13758, + 13759, + 13778, + 13779, + 13812, + 13813, + 13828, + 13829, + 13832, + 13833, + 13836, + 13837, + 13858, + 13859, + 13868, + 13869, + 13902, + 13903, + 13910, + 13911, + 13924, + 13925, + 13948, + 13949, + 13950, + 13951, + 13954, + 13955, + 13978, + 13979, + 13986, + 13987, + 13994, + 13995, + 14026, + 14027, + 14050, + 14051, + 14072, + 14073, + 14092, + 14093, + 14094, + 14095, + 14102, + 14103, + 14126, + 14127, + 14144, + 14145, + 14154, + 14155, + 14178, + 14179, + 14186, + 14187, + 14216, + 14217, + 14220, + 14221, + 14236, + 14237, + 14284, + 14285, + 14288, + 14289, + 14304, + 14305, + 14310, + 14311, + 14312, + 14313, + 14322, + 14323, + 14324, + 14325, + 14326, + 14327, + 14332, + 14333, + 14336, + 14337, + 14338, + 14339, + 14346, + 14347, + 14398, + 14399, + 14402, + 14403, + 14408, + 14409, + 14414, + 14415, + 14432, + 14433, + 14446, + 14447, + 14448, + 14449, + 14456, + 14457, + 14462, + 14463, + 14496, + 14497, + 14518, + 14519, + 14522, + 14523, + 14524, + 14525, + 14534, + 14535, + 14550, + 14551, + 14584, 14585, - 16879, - 1702, - 7209, - 19303, - 7229, - 4888, - 5182, - 8507, - 18555, - 9715, - 15029, - 1224, - 4553, - 17497, - 3292, - 13527, - 10552, - 6189, - 6208, - 6450, - 13132, - 1285, - 3918, - 18450, - 16961, - 13493, - 13140, - 6924, - 18319, - 11350, - 19981, - 16101, - 12871, - 13291, - 1187, - 18549, - 7308, + 14602, + 14603, + 14616, + 14617, + 14668, + 14669, + 14692, + 14693, + 14728, + 14729, + 14734, + 14735, + 14750, + 14751, + 14754, + 14755, + 14758, + 14759, + 14796, + 14797, + 14798, + 14799, + 14802, + 14803, + 14810, + 14811, + 14814, + 14815, + 14828, + 14829, + 14834, + 14835, + 14840, + 14841, + 14886, + 14887, + 14914, + 14915, + 14928, + 14929, + 14930, + 14931, + 14942, + 14943, + 14944, + 14945, + 14948, + 14949, + 14952, + 14953, + 14970, 14971, - 10072, - 19893, - 18973, - 3783, - 18682, - 8998, - 6620, - 3768, - 777, - 7940, - 3997, - 1903, - 5056, - 709, - 4519, - 17241, - 10000, - 13079, - 14359, - 16004, - 15233, - 1385, + 14976, + 14977, + 14986, + 14987, + 14996, + 14997, + 15002, + 15003, + 15014, + 15015, + 15028, + 15029, + 15032, + 15033, + 15042, + 15043, + 15058, + 15059, + 15066, + 15067, + 15074, + 15075, + 15096, + 15097, + 15114, + 15115, + 15170, + 15171, + 15180, + 15181, + 15218, + 15219, + 15224, + 15225, + 15236, + 15237, + 15246, + 15247, + 15250, + 15251, + 15264, + 15265, + 15272, + 15273, + 15284, + 15285, + 15288, + 15289, + 15294, + 15295, + 15298, + 15299, + 15308, + 15309, + 15310, + 15311, + 15360, + 15361, + 15384, + 15385, + 15390, + 15391, + 15402, + 15403, + 15416, + 15417, + 15426, + 15427, + 15444, + 15445, + 15454, + 15455, + 15456, + 15457, + 15472, + 15473, + 15474, + 15475, + 15478, + 15479, + 15484, + 15485, + 15488, + 15489, + 15498, + 15499, + 15506, + 15507, + 15544, + 15545, + 15582, + 15583, + 15586, + 15587, + 15614, + 15615, + 15622, + 15623, + 15652, + 15653, + 15658, + 15659, + 15668, + 15669, + 15682, + 15683, + 15688, + 15689, + 15692, + 15693, + 15708, + 15709, + 15752, + 15753, + 15758, + 15759, + 15760, + 15761, + 15764, + 15765, + 15772, + 15773, + 15774, + 15775, + 15776, + 15777, + 15822, + 15823, + 15824, + 15825, + 15842, + 15843, + 15854, + 15855, + 15860, + 15861, + 15862, + 15863, + 15864, + 15865, + 15872, + 15873, + 15884, + 15885, + 15890, + 15891, + 15922, + 15923, + 15932, + 15933, + 15936, + 15937, + 15952, + 15953, + 16000, + 16001, + 16018, + 16019, + 16026, + 16027, + 16028, + 16029, + 16040, + 16041, + 16046, + 16047, + 16056, + 16057, + 16086, + 16087, + 16090, + 16091, + 16094, + 16095, + 16120, + 16121, + 16132, + 16133, + 16138, + 16139, + 16148, + 16149, + 16156, + 16157, + 16160, + 16161, + 16168, + 16169, + 16176, + 16177, + 16182, + 16183, + 16206, + 16207, + 16214, + 16215, + 16218, + 16219, + 16226, + 16227, + 16244, + 16245, + 16268, + 16269, + 16284, + 16285, + 16296, + 16297, + 16318, + 16319, + 16360, + 16361, + 16362, + 16363, + 16374, + 16375, + 16382, + 16383, + 16398, + 16399, + 16402, + 16403, + 16408, + 16409, + 16410, + 16411, + 16428, + 16429, + 16470, + 16471, + 16484, + 16485, + 16488, + 16489, + 16494, + 16495, + 16524, + 16525, + 16534, + 16535, + 16542, + 16543, + 16556, + 16557, + 16558, + 16559, + 16560, + 16561, + 16562, + 16563, + 16568, + 16569, + 16602, + 16603, + 16610, + 16611, + 16620, + 16621, + 16654, + 16655, + 16658, + 16659, + 16684, + 16685, + 16716, + 16717, + 16720, + 16721, + 16762, + 16763, + 16766, + 16767, + 16768, + 16769, + 16788, + 16789, + 16808, + 16809, + 16812, + 16813, + 16832, + 16833, + 16842, + 16843, + 16846, + 16847, + 16852, + 16853, + 16904, + 16905, + 16908, + 16909, + 16916, + 16917, + 16926, + 16927, + 16932, + 16933, + 16934, + 16935, + 16942, + 16943, + 16948, + 16949, + 16956, + 16957, + 16958, + 16959, + 16962, + 16963, + 16986, + 16987, + 16998, + 16999, + 17002, + 17003, + 17006, + 17007, + 17022, + 17023, + 17036, + 17037, + 17048, + 17049, + 17052, + 17053, + 17064, 17065, - 16617, - 15468, - 8623, - 10987, - 10767, - 9993, - 9942, - 16313, - 13781, - 19934, - 13839, - 12225, - 3878, - 4835, - 308, - 19343, - 14334, - 18075, - 13479, - 14771, - 18891, - 1050, - 14045, - 11448, - 5980, - 2244, - 564, - 10131, - 12101, - 18028, - 9421, - 2521, - 7330, - 8930, - 15330, - 7480, - 17364, - 19394, - 11201, - 15131, - 13121, - 19457, - 8829, - 14482, - 11547, - 9489, - 19454, - 7049, - 10254, - 13614, - 885, - 9847, - 8807, - 15374, - 15850, - 13231, - 13541, - 19377, - 7152, - 681, - 163, - 5330, - 9627, - 7619, - 4701, - 6561, - 10858, - 15970, - 1409, - 4630, - 12892, - 7583, - 8826, - 5726, - 2991, - 7699, - 3518, - 1456, - 8812, - 3795, - 1639, - 17454, - 17978, - 1538, - 4240, - 10169, - 5807, - 1299, - 1166, - 15573, - 17184, - 6045, - 13394, - 12232, - 16171, - 9166, - 7123, - 17961, - 18090, - 11578, - 17508, - 11544, - 11049, - 18879, - 17160, - 6163, - 7454, - 5905, - 18965, - 4486, - 12598, - 5695, - 9832, - 18818, - 12914, - 16020, - 15302, - 11342, - 17573, - 17264, - 950, - 16125, - 3656, - 16100, + 17074, + 17075, + 17078, + 17079, + 17110, + 17111, + 17112, + 17113, + 17120, + 17121, + 17148, + 17149, + 17150, + 17151, + 17162, + 17163, + 17224, + 17225, + 17232, + 17233, + 17234, + 17235, + 17236, + 17237, + 17256, + 17257, + 17258, + 17259, + 17272, + 17273, + 17300, + 17301, + 17310, + 17311, + 17314, + 17315, + 17320, + 17321, + 17328, + 17329, + 17330, + 17331, + 17348, + 17349, + 17370, + 17371, + 17376, + 17377, + 17388, + 17389, + 17396, + 17397, + 17398, + 17399, + 17440, + 17441, + 17458, + 17459, + 17462, + 17463, + 17472, + 17473, + 17486, + 17487, + 17498, + 17499, + 17522, + 17523, + 17524, + 17525, + 17528, + 17529, + 17534, + 17535, + 17542, + 17543, + 17546, + 17547, + 17558, + 17559, + 17582, + 17583, + 17586, + 17587, + 17588, + 17589, + 17598, + 17599, + 17606, + 17607, + 17626, + 17627, + 17628, + 17629, + 17638, + 17639, + 17652, + 17653, + 17654, + 17655, + 17664, + 17665, + 17668, + 17669, + 17672, + 17673, + 17678, + 17679, + 17682, + 17683, + 17694, + 17695, + 17718, + 17719, + 17728, + 17729, + 17736, + 17737, + 17740, + 17741, + 17758, + 17759, + 17762, + 17763, + 17778, + 17779, + 17818, + 17819, + 17820, + 17821, + 17838, + 17839, + 17842, + 17843, + 17844, + 17845, + 17856, + 17857, + 17860, + 17861, + 17894, + 17895, + 17900, + 17901, + 17922, + 17923, + 17930, + 17931, + 17944, + 17945, + 17958, + 17959, + 17966, + 17967, + 17970, + 17971, + 17980, + 17981, + 17986, + 17987, + 18002, + 18003, + 18026, + 18027, + 18036, + 18037, + 18038, + 18039, + 18050, + 18051, + 18060, + 18061, + 18070, + 18071, + 18076, + 18077, + 18078, + 18079, + 18084, + 18085, + 18088, + 18089, + 18106, + 18107, + 18108, + 18109, + 18112, + 18113, + 18132, + 18133, + 18200, + 18201, + 18240, + 18241, + 18246, + 18247, + 18258, + 18259, + 18268, + 18269, + 18284, + 18285, + 18286, + 18287, + 18288, + 18289, + 18296, + 18297, + 18298, + 18299, + 18342, + 18343, + 18348, + 18349, + 18378, + 18379, + 18388, + 18389, + 18406, + 18407, + 18418, + 18419, + 18466, + 18467, + 18494, + 18495, + 18498, + 18499, + 18506, + 18507, + 18516, + 18517, + 18550, + 18551, + 18582, + 18583, + 18628, + 18629, + 18634, + 18635, + 18658, + 18659, + 18668, + 18669, + 18684, + 18685, + 18686, + 18687, + 18692, + 18693, + 18736, + 18737, + 18828, + 18829, + 18834, + 18835, + 18838, + 18839, + 18840, + 18841, + 18864, + 18865, + 18872, + 18873, + 18894, + 18895, + 18950, + 18951, + 18952, + 18953, + 18954, + 18955, + 18970, + 18971, + 18976, + 18977, + 18998, + 18999, + 19020, + 19021, + 19058, + 19059, + 19070, + 19071, + 19074, + 19075, + 19086, + 19087, + 19092, + 19093, + 19094, + 19095, + 19112, + 19113, + 19132, + 19133, + 19148, + 19149, + 19158, + 19159, + 19164, + 19165, + 19174, + 19175, + 19198, + 19199, + 19216, + 19217, + 19230, + 19231, + 19242, + 19243, + 19256, + 19257, + 19258, + 19259, + 19260, + 19261, + 19276, + 19277, + 19286, + 19287, + 19288, + 19289, + 19296, + 19297, + 19310, + 19311, + 19314, + 19315, + 19352, + 19353, + 19370, + 19371, + 19378, + 19379, + 19398, + 19399, + 19400, + 19401, + 19402, + 19403, + 19424, + 19425, + 19426, + 19427, + 19430, + 19431, + 19452, + 19453, + 19458, + 19459, + 19462, + 19463, + 19490, + 19491, + 19492, + 19493, + 19506, + 19507, + 19530, + 19531, + 19532, + 19533, + 19534, + 19535, + 19566, + 19567, + 19570, + 19571, + 19572, + 19573, + 19596, + 19597, + 19610, + 19611, + 19616, + 19617, + 19650, + 19651, + 19668, + 19669, + 19702, + 19703, + 19714, 19715, - 18793, - 17323, - 17414, - 1541, - 14313, - 7243, - 1322, - 15572, - 8601, - 11057, - 4360, - 9235, - 19576, - 6645, - 14341, - 10272, - 12464, - 11083, - 613, - 15229, - 13960, - 18626, - 12204, - 7449, - 14009, - 3000, - 728, - 8374, - 7989, - 3982, - 8852, - 17576, - 7996, - 9651, - 5438, - 3073, - 19622, - 9797, - 15784, - 14117, - 10472, - 6061, - 17730, - 538, - 9513, - 11502, - 5853, - 15139, - 13785, - 10692, - 6053, - 4745, - 12344, - 18188, - 14506, - 6304, - 18794, - 18945, - 12255, - 290, - 9284, - 3812, - 6458, - 18672, - 11063, - 13788, - 1269, - 7628, - 9784, - 16913, - 5918, - 3309, - 18254, - 18131, - 16505, - 808, - 10443, - 12988, - 2057, - 4358, - 9062, - 12514, - 11567, - 201, - 2939, - 19228, - 17114, - 9730, - 15327, - 9817, - 10889, - 6111, - 5405, - 310, - 15276, - 11316, - 7106, - 10594, - 19574, - 6721, - 10161, - 4479, - 4585, - 7794 + 19724, + 19725, + 19746, + 19747, + 19750, + 19751, + 19758, + 19759, + 19786, + 19787, + 19792, + 19793, + 19800, + 19801, + 19818, + 19819, + 19826, + 19827, + 19838, + 19839, + 19840, + 19841, + 19876, + 19877, + 19894, + 19895, + 19924, + 19925, + 19928, + 19929, + 19932, + 19933, + 19948, + 19949, + 19954, + 19955, + 19978, + 19979, + 19986, + 19987, + 19996, + 19997 ], + "group_ids": { + "train": [ + 1, + 2, + 4, + 5, + 6, + 7, + 9, + 11, + 13, + 15, + 16, + 18, + 21, + 22, + 24, + 25, + 26, + 27, + 28, + 32, + 34, + 38, + 40, + 42, + 43, + 44, + 49, + 51, + 52, + 53, + 54, + 55, + 57, + 60, + 62, + 63, + 64, + 66, + 67, + 71, + 72, + 74, + 75, + 77, + 78, + 82, + 83, + 84, + 85, + 86, + 89, + 90, + 91, + 94, + 97, + 98, + 100, + 105, + 109, + 110, + 112, + 113, + 114, + 115, + 116, + 117, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 133, + 134, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 145, + 146, + 147, + 148, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 158, + 159, + 160, + 161, + 162, + 163, + 165, + 166, + 167, + 170, + 171, + 173, + 174, + 175, + 176, + 178, + 179, + 182, + 183, + 184, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 197, + 198, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 213, + 215, + 216, + 219, + 220, + 223, + 224, + 225, + 226, + 227, + 228, + 231, + 232, + 234, + 235, + 236, + 237, + 238, + 240, + 241, + 242, + 243, + 244, + 246, + 249, + 250, + 253, + 255, + 256, + 258, + 260, + 261, + 262, + 264, + 266, + 268, + 269, + 270, + 271, + 272, + 273, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 287, + 289, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 305, + 306, + 307, + 309, + 310, + 312, + 313, + 314, + 317, + 320, + 322, + 324, + 325, + 326, + 327, + 329, + 331, + 336, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 348, + 351, + 352, + 355, + 356, + 357, + 358, + 359, + 361, + 362, + 363, + 364, + 365, + 366, + 368, + 369, + 370, + 371, + 373, + 374, + 375, + 377, + 378, + 380, + 382, + 383, + 384, + 386, + 387, + 389, + 390, + 391, + 392, + 395, + 396, + 397, + 398, + 399, + 404, + 405, + 406, + 407, + 409, + 412, + 413, + 414, + 417, + 418, + 419, + 421, + 422, + 423, + 424, + 425, + 426, + 428, + 430, + 431, + 434, + 436, + 437, + 438, + 441, + 442, + 443, + 444, + 446, + 448, + 451, + 452, + 454, + 456, + 458, + 459, + 460, + 463, + 464, + 466, + 468, + 469, + 470, + 471, + 475, + 477, + 478, + 479, + 480, + 481, + 482, + 484, + 486, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 497, + 498, + 499, + 501, + 502, + 504, + 505, + 506, + 507, + 508, + 512, + 514, + 515, + 516, + 517, + 519, + 520, + 521, + 522, + 523, + 525, + 526, + 527, + 529, + 530, + 531, + 534, + 535, + 536, + 537, + 539, + 541, + 542, + 545, + 546, + 547, + 548, + 549, + 552, + 553, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 565, + 566, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 578, + 580, + 581, + 583, + 584, + 585, + 587, + 588, + 589, + 593, + 595, + 596, + 597, + 598, + 599, + 600, + 602, + 606, + 607, + 608, + 609, + 610, + 612, + 614, + 615, + 616, + 619, + 622, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 648, + 649, + 650, + 651, + 652, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 665, + 666, + 667, + 669, + 670, + 671, + 672, + 674, + 677, + 679, + 680, + 681, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 694, + 695, + 697, + 698, + 699, + 701, + 702, + 703, + 704, + 707, + 709, + 714, + 716, + 717, + 719, + 720, + 721, + 722, + 723, + 725, + 726, + 727, + 728, + 729, + 731, + 732, + 734, + 739, + 741, + 746, + 750, + 751, + 752, + 755, + 756, + 757, + 760, + 762, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 775, + 776, + 778, + 780, + 781, + 783, + 784, + 785, + 786, + 787, + 788, + 790, + 791, + 792, + 793, + 796, + 797, + 798, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 822, + 823, + 824, + 825, + 826, + 827, + 829, + 830, + 832, + 836, + 838, + 839, + 840, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 851, + 853, + 854, + 855, + 857, + 859, + 860, + 861, + 863, + 864, + 865, + 867, + 869, + 870, + 873, + 874, + 875, + 876, + 878, + 882, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 907, + 909, + 910, + 911, + 912, + 913, + 915, + 916, + 917, + 918, + 919, + 920, + 922, + 923, + 924, + 925, + 926, + 928, + 929, + 930, + 931, + 933, + 935, + 936, + 937, + 938, + 939, + 941, + 942, + 943, + 944, + 945, + 946, + 948, + 949, + 950, + 951, + 953, + 954, + 955, + 956, + 959, + 961, + 962, + 963, + 966, + 968, + 969, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 995, + 996, + 998, + 999, + 1000, + 1001, + 1003, + 1004, + 1006, + 1007, + 1008, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1019, + 1021, + 1023, + 1024, + 1025, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1035, + 1036, + 1037, + 1039, + 1040, + 1041, + 1043, + 1045, + 1047, + 1048, + 1049, + 1050, + 1051, + 1054, + 1058, + 1059, + 1060, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1069, + 1070, + 1072, + 1073, + 1077, + 1079, + 1080, + 1081, + 1082, + 1083, + 1085, + 1086, + 1088, + 1089, + 1091, + 1092, + 1093, + 1094, + 1096, + 1097, + 1098, + 1099, + 1100, + 1102, + 1104, + 1105, + 1106, + 1108, + 1110, + 1114, + 1116, + 1117, + 1118, + 1119, + 1120, + 1122, + 1124, + 1125, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1140, + 1141, + 1143, + 1146, + 1148, + 1150, + 1151, + 1152, + 1154, + 1157, + 1158, + 1159, + 1160, + 1161, + 1163, + 1164, + 1165, + 1167, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1177, + 1178, + 1179, + 1181, + 1182, + 1184, + 1185, + 1186, + 1187, + 1189, + 1191, + 1192, + 1196, + 1198, + 1200, + 1202, + 1203, + 1205, + 1206, + 1207, + 1209, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1218, + 1221, + 1223, + 1225, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1246, + 1248, + 1249, + 1251, + 1252, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1262, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1273, + 1274, + 1275, + 1276, + 1279, + 1283, + 1284, + 1286, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1296, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1311, + 1312, + 1316, + 1317, + 1319, + 1321, + 1324, + 1325, + 1326, + 1327, + 1329, + 1331, + 1332, + 1333, + 1335, + 1336, + 1337, + 1338, + 1340, + 1341, + 1342, + 1343, + 1344, + 1348, + 1350, + 1351, + 1352, + 1353, + 1356, + 1357, + 1358, + 1359, + 1361, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1370, + 1371, + 1375, + 1376, + 1377, + 1378, + 1380, + 1381, + 1382, + 1384, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1394, + 1395, + 1397, + 1398, + 1399, + 1401, + 1403, + 1404, + 1407, + 1409, + 1410, + 1411, + 1412, + 1415, + 1420, + 1422, + 1423, + 1424, + 1425, + 1427, + 1428, + 1431, + 1433, + 1434, + 1435, + 1436, + 1439, + 1440, + 1442, + 1445, + 1447, + 1448, + 1449, + 1450, + 1451, + 1454, + 1455, + 1457, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1469, + 1471, + 1473, + 1474, + 1475, + 1476, + 1478, + 1480, + 1481, + 1484, + 1485, + 1486, + 1487, + 1489, + 1490, + 1492, + 1493, + 1495, + 1497, + 1499, + 1500, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1510, + 1511, + 1514, + 1515, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1528, + 1529, + 1531, + 1532, + 1534, + 1535, + 1537, + 1538, + 1539, + 1540, + 1541, + 1542, + 1545, + 1546, + 1547, + 1548, + 1549, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1560, + 1563, + 1564, + 1566, + 1567, + 1571, + 1572, + 1573, + 1574, + 1577, + 1579, + 1580, + 1581, + 1583, + 1584, + 1585, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1594, + 1596, + 1598, + 1601, + 1602, + 1604, + 1605, + 1607, + 1609, + 1610, + 1611, + 1612, + 1613, + 1619, + 1620, + 1621, + 1622, + 1625, + 1627, + 1628, + 1629, + 1630, + 1632, + 1633, + 1634, + 1635, + 1636, + 1637, + 1638, + 1639, + 1640, + 1641, + 1644, + 1645, + 1646, + 1647, + 1648, + 1651, + 1652, + 1653, + 1654, + 1657, + 1661, + 1663, + 1664, + 1666, + 1667, + 1668, + 1669, + 1673, + 1674, + 1675, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1685, + 1686, + 1687, + 1689, + 1690, + 1693, + 1694, + 1695, + 1696, + 1697, + 1698, + 1700, + 1703, + 1704, + 1705, + 1706, + 1707, + 1708, + 1709, + 1710, + 1711, + 1712, + 1714, + 1715, + 1716, + 1717, + 1719, + 1722, + 1723, + 1724, + 1725, + 1727, + 1733, + 1734, + 1735, + 1736, + 1738, + 1742, + 1744, + 1748, + 1749, + 1750, + 1751, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1759, + 1761, + 1762, + 1763, + 1764, + 1766, + 1767, + 1769, + 1771, + 1772, + 1773, + 1774, + 1776, + 1777, + 1778, + 1779, + 1781, + 1782, + 1784, + 1786, + 1787, + 1788, + 1789, + 1792, + 1796, + 1797, + 1798, + 1799, + 1800, + 1801, + 1802, + 1804, + 1806, + 1808, + 1809, + 1810, + 1811, + 1812, + 1813, + 1814, + 1815, + 1816, + 1818, + 1819, + 1820, + 1821, + 1822, + 1823, + 1824, + 1826, + 1827, + 1828, + 1829, + 1830, + 1831, + 1836, + 1837, + 1838, + 1841, + 1842, + 1843, + 1845, + 1846, + 1847, + 1848, + 1849, + 1850, + 1852, + 1853, + 1854, + 1855, + 1856, + 1857, + 1858, + 1859, + 1861, + 1863, + 1865, + 1866, + 1867, + 1868, + 1869, + 1870, + 1871, + 1872, + 1873, + 1874, + 1875, + 1876, + 1878, + 1879, + 1881, + 1882, + 1883, + 1884, + 1885, + 1887, + 1889, + 1890, + 1892, + 1893, + 1894, + 1895, + 1896, + 1898, + 1899, + 1900, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1912, + 1913, + 1914, + 1916, + 1917, + 1920, + 1924, + 1925, + 1926, + 1927, + 1929, + 1930, + 1931, + 1932, + 1933, + 1935, + 1936, + 1938, + 1939, + 1940, + 1942, + 1943, + 1944, + 1946, + 1948, + 1949, + 1950, + 1951, + 1952, + 1953, + 1955, + 1956, + 1958, + 1959, + 1960, + 1961, + 1964, + 1966, + 1967, + 1968, + 1969, + 1970, + 1971, + 1972, + 1973, + 1974, + 1975, + 1976, + 1977, + 1979, + 1980, + 1983, + 1984, + 1985, + 1986, + 1987, + 1988, + 1989, + 1990, + 1991, + 1993, + 1994, + 1996, + 1997, + 1998, + 1999, + 2000, + 2001, + 2003, + 2005, + 2007, + 2009, + 2010, + 2011, + 2014, + 2015, + 2016, + 2017, + 2019, + 2021, + 2023, + 2024, + 2026, + 2027, + 2028, + 2031, + 2032, + 2033, + 2035, + 2037, + 2038, + 2040, + 2041, + 2042, + 2043, + 2044, + 2046, + 2047, + 2048, + 2049, + 2050, + 2051, + 2052, + 2053, + 2056, + 2059, + 2060, + 2061, + 2062, + 2064, + 2065, + 2066, + 2068, + 2070, + 2071, + 2073, + 2074, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2085, + 2086, + 2090, + 2091, + 2092, + 2093, + 2095, + 2096, + 2097, + 2099, + 2100, + 2101, + 2102, + 2103, + 2104, + 2105, + 2106, + 2112, + 2113, + 2116, + 2117, + 2118, + 2120, + 2121, + 2123, + 2125, + 2126, + 2130, + 2131, + 2134, + 2135, + 2136, + 2137, + 2139, + 2140, + 2141, + 2143, + 2144, + 2146, + 2148, + 2151, + 2153, + 2154, + 2155, + 2156, + 2158, + 2159, + 2160, + 2161, + 2162, + 2163, + 2166, + 2169, + 2170, + 2171, + 2172, + 2173, + 2174, + 2176, + 2177, + 2179, + 2180, + 2181, + 2182, + 2185, + 2186, + 2187, + 2188, + 2190, + 2192, + 2193, + 2194, + 2195, + 2196, + 2197, + 2198, + 2200, + 2201, + 2202, + 2203, + 2204, + 2205, + 2206, + 2207, + 2208, + 2209, + 2211, + 2212, + 2216, + 2217, + 2218, + 2219, + 2220, + 2222, + 2223, + 2224, + 2226, + 2229, + 2230, + 2234, + 2235, + 2237, + 2238, + 2240, + 2241, + 2242, + 2243, + 2244, + 2247, + 2250, + 2253, + 2255, + 2256, + 2257, + 2258, + 2259, + 2261, + 2262, + 2263, + 2265, + 2266, + 2267, + 2269, + 2271, + 2274, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2289, + 2290, + 2292, + 2293, + 2294, + 2295, + 2296, + 2297, + 2298, + 2300, + 2305, + 2306, + 2307, + 2308, + 2309, + 2311, + 2312, + 2313, + 2314, + 2315, + 2317, + 2318, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2327, + 2329, + 2330, + 2331, + 2332, + 2333, + 2334, + 2336, + 2338, + 2339, + 2341, + 2342, + 2343, + 2345, + 2346, + 2347, + 2349, + 2350, + 2351, + 2352, + 2353, + 2354, + 2355, + 2356, + 2357, + 2359, + 2361, + 2363, + 2364, + 2365, + 2366, + 2367, + 2368, + 2369, + 2370, + 2371, + 2372, + 2374, + 2376, + 2378, + 2379, + 2380, + 2381, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2390, + 2391, + 2393, + 2394, + 2395, + 2396, + 2397, + 2398, + 2400, + 2401, + 2402, + 2403, + 2404, + 2408, + 2409, + 2410, + 2411, + 2414, + 2415, + 2416, + 2418, + 2419, + 2421, + 2422, + 2424, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2434, + 2435, + 2437, + 2438, + 2440, + 2442, + 2443, + 2444, + 2445, + 2448, + 2449, + 2450, + 2451, + 2452, + 2454, + 2457, + 2459, + 2460, + 2461, + 2462, + 2463, + 2466, + 2467, + 2468, + 2469, + 2472, + 2475, + 2476, + 2477, + 2479, + 2480, + 2481, + 2482, + 2488, + 2489, + 2490, + 2491, + 2493, + 2494, + 2495, + 2496, + 2497, + 2499, + 2500, + 2501, + 2502, + 2503, + 2504, + 2505, + 2506, + 2507, + 2508, + 2509, + 2511, + 2512, + 2514, + 2518, + 2520, + 2521, + 2524, + 2525, + 2527, + 2528, + 2529, + 2530, + 2532, + 2535, + 2536, + 2537, + 2538, + 2539, + 2541, + 2544, + 2546, + 2547, + 2548, + 2549, + 2550, + 2551, + 2552, + 2553, + 2555, + 2556, + 2557, + 2558, + 2559, + 2560, + 2561, + 2562, + 2563, + 2565, + 2566, + 2567, + 2568, + 2569, + 2570, + 2572, + 2573, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2587, + 2589, + 2590, + 2591, + 2593, + 2594, + 2595, + 2596, + 2597, + 2598, + 2599, + 2600, + 2601, + 2603, + 2604, + 2605, + 2606, + 2607, + 2608, + 2610, + 2612, + 2613, + 2616, + 2617, + 2618, + 2621, + 2622, + 2624, + 2626, + 2628, + 2629, + 2630, + 2632, + 2633, + 2634, + 2635, + 2637, + 2639, + 2640, + 2641, + 2642, + 2643, + 2644, + 2645, + 2646, + 2647, + 2649, + 2652, + 2653, + 2654, + 2655, + 2656, + 2657, + 2658, + 2659, + 2660, + 2661, + 2662, + 2665, + 2666, + 2667, + 2668, + 2669, + 2670, + 2671, + 2672, + 2674, + 2675, + 2676, + 2677, + 2679, + 2681, + 2683, + 2686, + 2687, + 2690, + 2693, + 2694, + 2695, + 2696, + 2699, + 2700, + 2702, + 2703, + 2704, + 2705, + 2706, + 2708, + 2709, + 2710, + 2711, + 2712, + 2713, + 2714, + 2716, + 2717, + 2719, + 2720, + 2721, + 2722, + 2723, + 2725, + 2726, + 2727, + 2728, + 2730, + 2731, + 2733, + 2734, + 2735, + 2736, + 2738, + 2739, + 2740, + 2741, + 2743, + 2744, + 2745, + 2746, + 2747, + 2749, + 2752, + 2756, + 2757, + 2761, + 2762, + 2763, + 2764, + 2765, + 2767, + 2768, + 2772, + 2773, + 2774, + 2775, + 2776, + 2778, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2789, + 2790, + 2791, + 2792, + 2793, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2803, + 2804, + 2805, + 2806, + 2808, + 2809, + 2810, + 2811, + 2812, + 2813, + 2814, + 2815, + 2817, + 2819, + 2821, + 2822, + 2824, + 2825, + 2827, + 2828, + 2829, + 2831, + 2832, + 2834, + 2836, + 2837, + 2838, + 2839, + 2841, + 2842, + 2843, + 2844, + 2845, + 2847, + 2849, + 2850, + 2851, + 2852, + 2853, + 2854, + 2856, + 2857, + 2858, + 2860, + 2861, + 2863, + 2865, + 2866, + 2869, + 2871, + 2872, + 2873, + 2875, + 2877, + 2878, + 2879, + 2881, + 2883, + 2887, + 2888, + 2890, + 2891, + 2892, + 2893, + 2895, + 2896, + 2897, + 2898, + 2899, + 2900, + 2901, + 2902, + 2904, + 2905, + 2909, + 2911, + 2912, + 2914, + 2915, + 2916, + 2917, + 2918, + 2919, + 2920, + 2921, + 2923, + 2924, + 2925, + 2928, + 2929, + 2931, + 2933, + 2934, + 2936, + 2937, + 2938, + 2939, + 2940, + 2941, + 2942, + 2944, + 2946, + 2947, + 2949, + 2950, + 2951, + 2952, + 2953, + 2958, + 2959, + 2961, + 2962, + 2964, + 2965, + 2966, + 2967, + 2969, + 2971, + 2972, + 2974, + 2975, + 2976, + 2977, + 2978, + 2979, + 2980, + 2981, + 2983, + 2984, + 2985, + 2986, + 2987, + 2988, + 2989, + 2990, + 2992, + 2993, + 2994, + 2998, + 2999, + 3001, + 3003, + 3004, + 3005, + 3008, + 3009, + 3010, + 3013, + 3020, + 3022, + 3028, + 3029, + 3030, + 3031, + 3035, + 3036, + 3040, + 3041, + 3042, + 3046, + 3048, + 3049, + 3051, + 3052, + 3054, + 3056, + 3062, + 3066, + 3067, + 3068, + 3069, + 3072, + 3073, + 3074, + 3075, + 3076, + 3081, + 3083, + 3084, + 3085, + 3086, + 3087, + 3088, + 3089, + 3090, + 3092, + 3093, + 3096, + 3097, + 3098, + 3099, + 3102, + 3103, + 3104, + 3106, + 3108, + 3109, + 3112, + 3113, + 3114, + 3115, + 3116, + 3117, + 3119, + 3120, + 3121, + 3124, + 3129, + 3134, + 3135, + 3136, + 3137, + 3138, + 3140, + 3141, + 3142, + 3144, + 3147, + 3150, + 3152, + 3153, + 3155, + 3156, + 3157, + 3158, + 3159, + 3161, + 3162, + 3163, + 3164, + 3165, + 3166, + 3167, + 3168, + 3169, + 3170, + 3171, + 3173, + 3174, + 3175, + 3176, + 3177, + 3178, + 3179, + 3180, + 3182, + 3183, + 3185, + 3186, + 3188, + 3189, + 3190, + 3191, + 3192, + 3193, + 3195, + 3196, + 3197, + 3198, + 3199, + 3200, + 3201, + 3202, + 3203, + 3209, + 3211, + 3212, + 3213, + 3214, + 3215, + 3216, + 3217, + 3218, + 3219, + 3220, + 3221, + 3222, + 3223, + 3224, + 3225, + 3226, + 3227, + 3228, + 3229, + 3230, + 3232, + 3233, + 3234, + 3236, + 3237, + 3239, + 3240, + 3241, + 3242, + 3243, + 3246, + 3247, + 3248, + 3249, + 3250, + 3252, + 3253, + 3254, + 3255, + 3256, + 3258, + 3259, + 3260, + 3261, + 3262, + 3264, + 3266, + 3267, + 3268, + 3269, + 3270, + 3271, + 3273, + 3275, + 3276, + 3277, + 3278, + 3280, + 3283, + 3285, + 3286, + 3287, + 3289, + 3291, + 3292, + 3293, + 3294, + 3296, + 3300, + 3301, + 3302, + 3303, + 3304, + 3306, + 3307, + 3308, + 3310, + 3311, + 3313, + 3318, + 3321, + 3322, + 3323, + 3324, + 3326, + 3327, + 3330, + 3331, + 3332, + 3335, + 3336, + 3339, + 3340, + 3341, + 3342, + 3343, + 3344, + 3345, + 3346, + 3347, + 3348, + 3349, + 3353, + 3354, + 3356, + 3357, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3371, + 3372, + 3373, + 3374, + 3376, + 3377, + 3380, + 3382, + 3384, + 3385, + 3386, + 3388, + 3389, + 3390, + 3391, + 3394, + 3395, + 3398, + 3401, + 3402, + 3403, + 3405, + 3406, + 3407, + 3408, + 3409, + 3413, + 3414, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3423, + 3425, + 3426, + 3427, + 3430, + 3431, + 3432, + 3435, + 3436, + 3437, + 3438, + 3439, + 3440, + 3442, + 3444, + 3445, + 3446, + 3447, + 3449, + 3450, + 3451, + 3452, + 3453, + 3454, + 3456, + 3461, + 3462, + 3466, + 3468, + 3471, + 3472, + 3474, + 3475, + 3476, + 3477, + 3478, + 3479, + 3480, + 3483, + 3484, + 3486, + 3488, + 3489, + 3490, + 3491, + 3492, + 3493, + 3494, + 3495, + 3496, + 3498, + 3499, + 3500, + 3502, + 3503, + 3504, + 3505, + 3506, + 3507, + 3510, + 3511, + 3512, + 3513, + 3514, + 3515, + 3516, + 3517, + 3521, + 3523, + 3525, + 3527, + 3530, + 3531, + 3534, + 3536, + 3537, + 3539, + 3545, + 3546, + 3547, + 3548, + 3549, + 3551, + 3552, + 3553, + 3554, + 3556, + 3557, + 3558, + 3559, + 3560, + 3561, + 3562, + 3563, + 3564, + 3565, + 3567, + 3568, + 3569, + 3571, + 3572, + 3573, + 3575, + 3576, + 3577, + 3579, + 3580, + 3581, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3596, + 3598, + 3599, + 3600, + 3602, + 3603, + 3604, + 3606, + 3607, + 3609, + 3610, + 3611, + 3612, + 3613, + 3617, + 3618, + 3619, + 3620, + 3622, + 3623, + 3624, + 3626, + 3627, + 3628, + 3629, + 3630, + 3631, + 3632, + 3633, + 3634, + 3635, + 3636, + 3637, + 3638, + 3640, + 3641, + 3642, + 3644, + 3645, + 3648, + 3650, + 3652, + 3654, + 3655, + 3657, + 3658, + 3659, + 3660, + 3661, + 3663, + 3664, + 3665, + 3667, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3678, + 3679, + 3681, + 3682, + 3683, + 3687, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3699, + 3700, + 3701, + 3702, + 3705, + 3709, + 3710, + 3711, + 3712, + 3713, + 3714, + 3715, + 3716, + 3717, + 3718, + 3719, + 3722, + 3724, + 3725, + 3726, + 3727, + 3729, + 3730, + 3731, + 3732, + 3733, + 3734, + 3735, + 3736, + 3737, + 3738, + 3740, + 3741, + 3743, + 3744, + 3746, + 3747, + 3748, + 3749, + 3750, + 3751, + 3752, + 3754, + 3756, + 3757, + 3758, + 3759, + 3760, + 3762, + 3763, + 3764, + 3765, + 3766, + 3768, + 3769, + 3770, + 3775, + 3777, + 3778, + 3779, + 3783, + 3784, + 3786, + 3788, + 3789, + 3791, + 3792, + 3793, + 3794, + 3796, + 3797, + 3800, + 3801, + 3802, + 3803, + 3804, + 3805, + 3806, + 3807, + 3808, + 3809, + 3810, + 3811, + 3812, + 3814, + 3815, + 3816, + 3818, + 3819, + 3820, + 3821, + 3822, + 3823, + 3824, + 3825, + 3827, + 3828, + 3829, + 3830, + 3831, + 3832, + 3835, + 3836, + 3838, + 3839, + 3840, + 3841, + 3843, + 3845, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3854, + 3855, + 3856, + 3858, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3870, + 3871, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3880, + 3881, + 3882, + 3884, + 3888, + 3890, + 3892, + 3893, + 3895, + 3896, + 3897, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3906, + 3907, + 3908, + 3909, + 3911, + 3913, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3935, + 3936, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3961, + 3962, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3972, + 3974, + 3975, + 3976, + 3977, + 3978, + 3980, + 3981, + 3982, + 3983, + 3985, + 3986, + 3987, + 3988, + 3990, + 3993, + 3994, + 3996, + 3998, + 4000, + 4005, + 4006, + 4008, + 4009, + 4012, + 4013, + 4014, + 4015, + 4017, + 4018, + 4019, + 4020, + 4021, + 4025, + 4026, + 4027, + 4028, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4039, + 4040, + 4041, + 4042, + 4044, + 4045, + 4050, + 4051, + 4054, + 4055, + 4056, + 4057, + 4059, + 4060, + 4061, + 4062, + 4063, + 4066, + 4068, + 4069, + 4070, + 4072, + 4073, + 4074, + 4075, + 4078, + 4079, + 4082, + 4083, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4093, + 4095, + 4096, + 4097, + 4101, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4111, + 4114, + 4116, + 4117, + 4118, + 4120, + 4121, + 4124, + 4125, + 4126, + 4128, + 4129, + 4131, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4150, + 4152, + 4153, + 4154, + 4155, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4171, + 4172, + 4173, + 4175, + 4177, + 4178, + 4179, + 4182, + 4183, + 4184, + 4186, + 4187, + 4188, + 4189, + 4195, + 4197, + 4198, + 4199, + 4200, + 4203, + 4204, + 4206, + 4207, + 4208, + 4209, + 4211, + 4212, + 4213, + 4214, + 4215, + 4218, + 4219, + 4221, + 4222, + 4223, + 4225, + 4226, + 4227, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4240, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4249, + 4251, + 4253, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4266, + 4267, + 4268, + 4272, + 4274, + 4276, + 4278, + 4279, + 4280, + 4282, + 4283, + 4285, + 4286, + 4287, + 4289, + 4290, + 4292, + 4293, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4314, + 4315, + 4316, + 4318, + 4319, + 4320, + 4322, + 4323, + 4324, + 4325, + 4327, + 4328, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4340, + 4346, + 4348, + 4349, + 4351, + 4353, + 4356, + 4357, + 4358, + 4359, + 4360, + 4361, + 4363, + 4364, + 4365, + 4366, + 4369, + 4370, + 4371, + 4378, + 4380, + 4383, + 4384, + 4385, + 4388, + 4389, + 4390, + 4391, + 4396, + 4399, + 4400, + 4401, + 4402, + 4403, + 4404, + 4405, + 4406, + 4407, + 4408, + 4409, + 4410, + 4413, + 4415, + 4416, + 4417, + 4420, + 4421, + 4422, + 4424, + 4425, + 4426, + 4427, + 4428, + 4430, + 4431, + 4432, + 4433, + 4434, + 4435, + 4437, + 4439, + 4440, + 4441, + 4443, + 4444, + 4445, + 4446, + 4448, + 4449, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4465, + 4468, + 4469, + 4470, + 4471, + 4473, + 4476, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4485, + 4486, + 4487, + 4488, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4503, + 4505, + 4507, + 4508, + 4512, + 4515, + 4517, + 4520, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4536, + 4537, + 4538, + 4542, + 4543, + 4544, + 4545, + 4546, + 4547, + 4548, + 4550, + 4551, + 4552, + 4555, + 4556, + 4557, + 4558, + 4559, + 4560, + 4563, + 4564, + 4566, + 4567, + 4569, + 4570, + 4571, + 4572, + 4576, + 4577, + 4578, + 4579, + 4581, + 4583, + 4584, + 4585, + 4586, + 4589, + 4590, + 4591, + 4592, + 4593, + 4594, + 4595, + 4596, + 4598, + 4599, + 4600, + 4602, + 4603, + 4605, + 4608, + 4609, + 4610, + 4611, + 4612, + 4614, + 4615, + 4616, + 4618, + 4620, + 4621, + 4622, + 4624, + 4627, + 4628, + 4632, + 4633, + 4634, + 4635, + 4636, + 4637, + 4641, + 4642, + 4643, + 4644, + 4646, + 4647, + 4648, + 4650, + 4651, + 4652, + 4653, + 4654, + 4655, + 4658, + 4659, + 4660, + 4661, + 4662, + 4663, + 4664, + 4665, + 4666, + 4668, + 4669, + 4670, + 4671, + 4673, + 4674, + 4675, + 4676, + 4677, + 4678, + 4679, + 4681, + 4683, + 4686, + 4687, + 4688, + 4690, + 4691, + 4696, + 4697, + 4699, + 4700, + 4701, + 4702, + 4703, + 4706, + 4707, + 4709, + 4711, + 4713, + 4714, + 4715, + 4717, + 4719, + 4720, + 4722, + 4723, + 4724, + 4725, + 4726, + 4727, + 4728, + 4729, + 4730, + 4732, + 4733, + 4735, + 4736, + 4737, + 4738, + 4739, + 4741, + 4743, + 4744, + 4745, + 4746, + 4748, + 4749, + 4750, + 4752, + 4753, + 4754, + 4755, + 4756, + 4757, + 4758, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4769, + 4770, + 4774, + 4776, + 4777, + 4778, + 4780, + 4781, + 4784, + 4785, + 4786, + 4788, + 4789, + 4790, + 4792, + 4794, + 4795, + 4796, + 4798, + 4799, + 4800, + 4803, + 4804, + 4805, + 4806, + 4807, + 4808, + 4809, + 4810, + 4811, + 4814, + 4815, + 4817, + 4818, + 4820, + 4821, + 4824, + 4825, + 4828, + 4829, + 4831, + 4832, + 4834, + 4835, + 4837, + 4838, + 4839, + 4840, + 4841, + 4843, + 4844, + 4845, + 4846, + 4847, + 4849, + 4850, + 4853, + 4854, + 4855, + 4857, + 4858, + 4859, + 4860, + 4861, + 4863, + 4864, + 4865, + 4869, + 4873, + 4874, + 4875, + 4876, + 4877, + 4878, + 4882, + 4885, + 4886, + 4887, + 4888, + 4892, + 4893, + 4894, + 4895, + 4897, + 4904, + 4905, + 4906, + 4909, + 4910, + 4911, + 4912, + 4913, + 4915, + 4916, + 4917, + 4920, + 4921, + 4922, + 4923, + 4925, + 4926, + 4927, + 4928, + 4930, + 4931, + 4933, + 4934, + 4935, + 4936, + 4937, + 4938, + 4939, + 4940, + 4941, + 4943, + 4944, + 4945, + 4946, + 4948, + 4951, + 4952, + 4953, + 4954, + 4956, + 4958, + 4959, + 4962, + 4964, + 4965, + 4966, + 4967, + 4968, + 4969, + 4970, + 4971, + 4972, + 4973, + 4976, + 4977, + 4979, + 4980, + 4985, + 4986, + 4987, + 4988, + 4990, + 4991, + 4992, + 4994, + 4996, + 4997, + 4998, + 4999, + 5000, + 5001, + 5002, + 5003, + 5004, + 5005, + 5007, + 5008, + 5010, + 5011, + 5013, + 5016, + 5017, + 5020, + 5021, + 5022, + 5023, + 5024, + 5025, + 5027, + 5029, + 5030, + 5031, + 5032, + 5033, + 5034, + 5036, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5045, + 5047, + 5051, + 5052, + 5054, + 5055, + 5056, + 5057, + 5058, + 5059, + 5060, + 5061, + 5063, + 5066, + 5067, + 5068, + 5069, + 5070, + 5072, + 5073, + 5074, + 5075, + 5077, + 5078, + 5079, + 5080, + 5083, + 5084, + 5085, + 5086, + 5087, + 5088, + 5089, + 5091, + 5093, + 5095, + 5096, + 5097, + 5099, + 5101, + 5102, + 5103, + 5104, + 5105, + 5106, + 5107, + 5108, + 5109, + 5110, + 5112, + 5113, + 5114, + 5115, + 5116, + 5117, + 5119, + 5120, + 5122, + 5124, + 5125, + 5126, + 5127, + 5131, + 5132, + 5134, + 5136, + 5139, + 5141, + 5142, + 5143, + 5145, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5154, + 5157, + 5158, + 5160, + 5161, + 5162, + 5163, + 5164, + 5166, + 5167, + 5168, + 5172, + 5174, + 5175, + 5176, + 5177, + 5178, + 5179, + 5180, + 5182, + 5184, + 5185, + 5186, + 5187, + 5188, + 5189, + 5191, + 5192, + 5194, + 5195, + 5199, + 5200, + 5201, + 5203, + 5204, + 5207, + 5208, + 5209, + 5211, + 5215, + 5216, + 5218, + 5219, + 5220, + 5222, + 5223, + 5224, + 5227, + 5228, + 5229, + 5230, + 5231, + 5232, + 5233, + 5236, + 5237, + 5238, + 5239, + 5240, + 5241, + 5242, + 5243, + 5245, + 5247, + 5248, + 5249, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5260, + 5261, + 5262, + 5263, + 5264, + 5267, + 5270, + 5273, + 5275, + 5276, + 5277, + 5280, + 5281, + 5282, + 5283, + 5285, + 5286, + 5287, + 5288, + 5290, + 5291, + 5292, + 5293, + 5295, + 5296, + 5297, + 5298, + 5299, + 5301, + 5302, + 5305, + 5307, + 5308, + 5310, + 5311, + 5313, + 5314, + 5315, + 5317, + 5318, + 5319, + 5320, + 5322, + 5324, + 5325, + 5326, + 5327, + 5329, + 5330, + 5334, + 5335, + 5336, + 5338, + 5341, + 5342, + 5343, + 5344, + 5345, + 5346, + 5347, + 5348, + 5349, + 5350, + 5352, + 5353, + 5354, + 5355, + 5357, + 5360, + 5361, + 5362, + 5366, + 5367, + 5368, + 5369, + 5370, + 5372, + 5373, + 5374, + 5376, + 5377, + 5378, + 5380, + 5382, + 5383, + 5385, + 5387, + 5388, + 5389, + 5390, + 5391, + 5392, + 5393, + 5394, + 5397, + 5401, + 5402, + 5404, + 5408, + 5409, + 5410, + 5412, + 5413, + 5415, + 5416, + 5417, + 5418, + 5419, + 5420, + 5422, + 5423, + 5424, + 5428, + 5429, + 5430, + 5432, + 5433, + 5434, + 5435, + 5437, + 5439, + 5441, + 5442, + 5443, + 5444, + 5445, + 5446, + 5448, + 5449, + 5450, + 5451, + 5452, + 5455, + 5456, + 5457, + 5458, + 5460, + 5462, + 5463, + 5464, + 5465, + 5468, + 5469, + 5472, + 5473, + 5475, + 5476, + 5477, + 5478, + 5479, + 5480, + 5482, + 5483, + 5484, + 5485, + 5486, + 5487, + 5488, + 5490, + 5494, + 5495, + 5496, + 5497, + 5498, + 5499, + 5501, + 5504, + 5507, + 5508, + 5509, + 5510, + 5511, + 5512, + 5513, + 5514, + 5517, + 5518, + 5519, + 5520, + 5523, + 5524, + 5525, + 5526, + 5528, + 5530, + 5531, + 5532, + 5533, + 5534, + 5535, + 5536, + 5539, + 5540, + 5541, + 5542, + 5543, + 5546, + 5548, + 5551, + 5552, + 5553, + 5555, + 5556, + 5557, + 5558, + 5560, + 5562, + 5565, + 5566, + 5567, + 5568, + 5569, + 5571, + 5573, + 5574, + 5575, + 5577, + 5578, + 5581, + 5582, + 5583, + 5584, + 5585, + 5586, + 5587, + 5588, + 5590, + 5591, + 5592, + 5596, + 5598, + 5599, + 5600, + 5601, + 5602, + 5603, + 5604, + 5607, + 5608, + 5611, + 5612, + 5614, + 5615, + 5616, + 5618, + 5619, + 5620, + 5621, + 5622, + 5624, + 5625, + 5626, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5636, + 5637, + 5642, + 5643, + 5644, + 5645, + 5646, + 5647, + 5649, + 5650, + 5652, + 5654, + 5655, + 5656, + 5658, + 5659, + 5660, + 5661, + 5663, + 5664, + 5666, + 5667, + 5668, + 5670, + 5671, + 5672, + 5673, + 5675, + 5677, + 5678, + 5679, + 5680, + 5681, + 5682, + 5683, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5696, + 5697, + 5698, + 5699, + 5701, + 5704, + 5705, + 5706, + 5708, + 5710, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5719, + 5720, + 5721, + 5722, + 5723, + 5724, + 5725, + 5726, + 5727, + 5729, + 5730, + 5732, + 5733, + 5734, + 5738, + 5739, + 5740, + 5742, + 5743, + 5744, + 5745, + 5750, + 5751, + 5752, + 5753, + 5754, + 5755, + 5757, + 5759, + 5760, + 5761, + 5762, + 5763, + 5765, + 5769, + 5771, + 5772, + 5773, + 5774, + 5775, + 5776, + 5777, + 5778, + 5779, + 5781, + 5782, + 5783, + 5784, + 5787, + 5788, + 5789, + 5791, + 5792, + 5793, + 5796, + 5797, + 5799, + 5800, + 5801, + 5803, + 5804, + 5806, + 5807, + 5808, + 5810, + 5811, + 5812, + 5813, + 5817, + 5818, + 5819, + 5821, + 5823, + 5827, + 5829, + 5830, + 5831, + 5832, + 5834, + 5835, + 5836, + 5837, + 5840, + 5841, + 5842, + 5844, + 5845, + 5846, + 5847, + 5848, + 5849, + 5850, + 5852, + 5854, + 5855, + 5856, + 5857, + 5860, + 5862, + 5863, + 5864, + 5867, + 5869, + 5870, + 5871, + 5873, + 5874, + 5875, + 5876, + 5877, + 5878, + 5879, + 5880, + 5881, + 5882, + 5883, + 5884, + 5886, + 5887, + 5888, + 5889, + 5890, + 5891, + 5892, + 5893, + 5895, + 5896, + 5897, + 5898, + 5899, + 5900, + 5901, + 5904, + 5906, + 5907, + 5909, + 5911, + 5912, + 5913, + 5915, + 5917, + 5918, + 5919, + 5921, + 5923, + 5924, + 5925, + 5926, + 5929, + 5930, + 5931, + 5932, + 5934, + 5935, + 5936, + 5937, + 5939, + 5941, + 5942, + 5943, + 5944, + 5946, + 5947, + 5948, + 5949, + 5951, + 5952, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5960, + 5961, + 5962, + 5964, + 5965, + 5966, + 5967, + 5969, + 5971, + 5972, + 5973, + 5974, + 5975, + 5976, + 5977, + 5978, + 5981, + 5982, + 5984, + 5985, + 5986, + 5987, + 5988, + 5989, + 5991, + 5992, + 5995, + 5996, + 5997, + 5999, + 6002, + 6003, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6014, + 6015, + 6016, + 6017, + 6018, + 6019, + 6020, + 6022, + 6023, + 6024, + 6025, + 6026, + 6028, + 6030, + 6031, + 6032, + 6034, + 6035, + 6036, + 6037, + 6038, + 6040, + 6041, + 6042, + 6044, + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6061, + 6063, + 6065, + 6067, + 6068, + 6069, + 6071, + 6074, + 6075, + 6078, + 6082, + 6086, + 6089, + 6090, + 6091, + 6092, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6102, + 6103, + 6104, + 6105, + 6106, + 6107, + 6110, + 6111, + 6112, + 6113, + 6114, + 6115, + 6116, + 6118, + 6119, + 6121, + 6122, + 6124, + 6125, + 6127, + 6129, + 6131, + 6132, + 6133, + 6135, + 6136, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6148, + 6150, + 6151, + 6152, + 6153, + 6154, + 6155, + 6156, + 6158, + 6160, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 6177, + 6178, + 6179, + 6181, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6190, + 6191, + 6192, + 6193, + 6194, + 6195, + 6197, + 6198, + 6203, + 6204, + 6205, + 6206, + 6207, + 6208, + 6212, + 6214, + 6215, + 6218, + 6219, + 6222, + 6224, + 6226, + 6228, + 6229, + 6230, + 6232, + 6233, + 6235, + 6236, + 6237, + 6238, + 6239, + 6241, + 6242, + 6243, + 6245, + 6246, + 6247, + 6250, + 6251, + 6253, + 6254, + 6256, + 6257, + 6259, + 6260, + 6262, + 6264, + 6265, + 6267, + 6268, + 6269, + 6270, + 6272, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6290, + 6293, + 6294, + 6295, + 6296, + 6298, + 6299, + 6301, + 6302, + 6303, + 6304, + 6305, + 6307, + 6311, + 6312, + 6313, + 6314, + 6315, + 6316, + 6317, + 6318, + 6319, + 6320, + 6324, + 6326, + 6327, + 6331, + 6333, + 6334, + 6335, + 6337, + 6339, + 6342, + 6343, + 6344, + 6345, + 6346, + 6347, + 6348, + 6351, + 6352, + 6353, + 6354, + 6355, + 6356, + 6357, + 6358, + 6359, + 6360, + 6361, + 6362, + 6364, + 6366, + 6368, + 6370, + 6371, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6383, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6394, + 6395, + 6396, + 6397, + 6398, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6411, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6422, + 6425, + 6429, + 6430, + 6431, + 6432, + 6433, + 6435, + 6438, + 6439, + 6441, + 6443, + 6444, + 6445, + 6446, + 6447, + 6448, + 6450, + 6451, + 6452, + 6453, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6461, + 6463, + 6464, + 6465, + 6467, + 6468, + 6469, + 6470, + 6471, + 6474, + 6476, + 6477, + 6479, + 6484, + 6485, + 6488, + 6489, + 6490, + 6491, + 6493, + 6494, + 6497, + 6499, + 6502, + 6503, + 6504, + 6505, + 6506, + 6507, + 6508, + 6509, + 6511, + 6513, + 6514, + 6518, + 6519, + 6520, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6533, + 6534, + 6535, + 6536, + 6538, + 6539, + 6540, + 6541, + 6542, + 6544, + 6545, + 6546, + 6548, + 6549, + 6553, + 6555, + 6557, + 6559, + 6560, + 6562, + 6563, + 6564, + 6565, + 6566, + 6567, + 6568, + 6570, + 6572, + 6573, + 6574, + 6575, + 6576, + 6577, + 6578, + 6579, + 6580, + 6581, + 6582, + 6583, + 6585, + 6586, + 6587, + 6588, + 6589, + 6591, + 6592, + 6593, + 6594, + 6596, + 6597, + 6598, + 6600, + 6601, + 6602, + 6604, + 6606, + 6609, + 6610, + 6611, + 6612, + 6613, + 6614, + 6615, + 6616, + 6617, + 6619, + 6624, + 6626, + 6627, + 6628, + 6629, + 6633, + 6635, + 6636, + 6637, + 6638, + 6639, + 6640, + 6642, + 6643, + 6644, + 6645, + 6648, + 6649, + 6652, + 6653, + 6654, + 6655, + 6656, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6667, + 6668, + 6671, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6683, + 6684, + 6686, + 6691, + 6692, + 6693, + 6694, + 6695, + 6696, + 6697, + 6700, + 6701, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6712, + 6713, + 6714, + 6715, + 6716, + 6719, + 6720, + 6721, + 6722, + 6723, + 6724, + 6725, + 6726, + 6729, + 6730, + 6731, + 6732, + 6733, + 6734, + 6735, + 6736, + 6737, + 6738, + 6741, + 6742, + 6744, + 6745, + 6747, + 6748, + 6750, + 6757, + 6758, + 6760, + 6761, + 6762, + 6763, + 6764, + 6766, + 6767, + 6769, + 6770, + 6772, + 6773, + 6776, + 6777, + 6778, + 6779, + 6780, + 6781, + 6782, + 6783, + 6784, + 6786, + 6787, + 6788, + 6791, + 6792, + 6793, + 6795, + 6796, + 6797, + 6798, + 6799, + 6801, + 6803, + 6805, + 6806, + 6807, + 6809, + 6810, + 6811, + 6812, + 6813, + 6815, + 6816, + 6818, + 6819, + 6820, + 6822, + 6823, + 6824, + 6825, + 6831, + 6833, + 6836, + 6837, + 6839, + 6840, + 6841, + 6842, + 6844, + 6845, + 6846, + 6849, + 6851, + 6852, + 6853, + 6854, + 6857, + 6858, + 6859, + 6860, + 6862, + 6863, + 6864, + 6865, + 6867, + 6868, + 6869, + 6872, + 6873, + 6875, + 6876, + 6877, + 6880, + 6881, + 6882, + 6883, + 6884, + 6885, + 6886, + 6887, + 6888, + 6890, + 6891, + 6892, + 6893, + 6894, + 6895, + 6896, + 6898, + 6899, + 6900, + 6902, + 6903, + 6904, + 6905, + 6907, + 6908, + 6909, + 6910, + 6912, + 6915, + 6917, + 6919, + 6920, + 6921, + 6922, + 6923, + 6924, + 6925, + 6926, + 6927, + 6928, + 6930, + 6931, + 6932, + 6933, + 6936, + 6937, + 6938, + 6941, + 6942, + 6943, + 6944, + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6952, + 6956, + 6957, + 6958, + 6960, + 6961, + 6963, + 6964, + 6965, + 6966, + 6969, + 6970, + 6971, + 6972, + 6973, + 6976, + 6978, + 6979, + 6980, + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6991, + 6992, + 6994, + 6995, + 6996, + 6999, + 7000, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7014, + 7015, + 7020, + 7021, + 7022, + 7024, + 7026, + 7027, + 7029, + 7030, + 7031, + 7033, + 7034, + 7035, + 7037, + 7038, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7048, + 7049, + 7052, + 7054, + 7055, + 7056, + 7057, + 7059, + 7060, + 7061, + 7062, + 7064, + 7065, + 7066, + 7067, + 7068, + 7069, + 7070, + 7071, + 7073, + 7074, + 7076, + 7079, + 7080, + 7081, + 7083, + 7084, + 7085, + 7088, + 7090, + 7092, + 7094, + 7095, + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7109, + 7111, + 7112, + 7114, + 7115, + 7117, + 7119, + 7120, + 7121, + 7122, + 7123, + 7124, + 7125, + 7126, + 7127, + 7128, + 7129, + 7130, + 7131, + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7145, + 7147, + 7148, + 7149, + 7151, + 7154, + 7157, + 7158, + 7159, + 7160, + 7164, + 7165, + 7167, + 7170, + 7171, + 7172, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 7183, + 7184, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7200, + 7202, + 7206, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7217, + 7218, + 7219, + 7221, + 7222, + 7225, + 7226, + 7227, + 7230, + 7232, + 7233, + 7236, + 7237, + 7238, + 7239, + 7240, + 7241, + 7242, + 7245, + 7246, + 7247, + 7249, + 7250, + 7251, + 7252, + 7253, + 7254, + 7255, + 7257, + 7258, + 7260, + 7263, + 7264, + 7265, + 7266, + 7268, + 7269, + 7270, + 7271, + 7273, + 7274, + 7276, + 7277, + 7278, + 7279, + 7280, + 7283, + 7284, + 7285, + 7287, + 7288, + 7289, + 7290, + 7291, + 7293, + 7294, + 7295, + 7296, + 7297, + 7298, + 7299, + 7302, + 7303, + 7304, + 7306, + 7307, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7316, + 7317, + 7318, + 7320, + 7321, + 7322, + 7326, + 7327, + 7328, + 7329, + 7330, + 7331, + 7335, + 7336, + 7337, + 7338, + 7339, + 7340, + 7341, + 7343, + 7344, + 7345, + 7347, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7356, + 7357, + 7358, + 7359, + 7360, + 7362, + 7363, + 7365, + 7366, + 7368, + 7369, + 7370, + 7372, + 7373, + 7378, + 7380, + 7384, + 7385, + 7386, + 7387, + 7389, + 7390, + 7391, + 7392, + 7393, + 7394, + 7395, + 7397, + 7400, + 7402, + 7404, + 7406, + 7408, + 7409, + 7410, + 7411, + 7412, + 7413, + 7416, + 7418, + 7419, + 7421, + 7422, + 7423, + 7424, + 7426, + 7427, + 7429, + 7431, + 7432, + 7433, + 7435, + 7437, + 7439, + 7440, + 7441, + 7442, + 7445, + 7446, + 7448, + 7449, + 7450, + 7451, + 7452, + 7453, + 7455, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7466, + 7467, + 7468, + 7469, + 7470, + 7473, + 7478, + 7479, + 7480, + 7481, + 7482, + 7483, + 7486, + 7489, + 7490, + 7491, + 7494, + 7495, + 7496, + 7497, + 7502, + 7503, + 7504, + 7505, + 7506, + 7509, + 7510, + 7511, + 7512, + 7513, + 7515, + 7517, + 7518, + 7519, + 7520, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7530, + 7531, + 7532, + 7534, + 7536, + 7538, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7549, + 7550, + 7551, + 7552, + 7553, + 7554, + 7555, + 7556, + 7558, + 7559, + 7560, + 7561, + 7562, + 7563, + 7564, + 7569, + 7570, + 7571, + 7572, + 7574, + 7575, + 7576, + 7577, + 7579, + 7580, + 7581, + 7582, + 7583, + 7584, + 7586, + 7587, + 7588, + 7589, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7598, + 7600, + 7602, + 7603, + 7604, + 7605, + 7607, + 7610, + 7611, + 7613, + 7616, + 7617, + 7622, + 7624, + 7626, + 7627, + 7628, + 7629, + 7630, + 7633, + 7634, + 7635, + 7637, + 7638, + 7639, + 7641, + 7643, + 7645, + 7648, + 7650, + 7651, + 7652, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7663, + 7664, + 7665, + 7666, + 7667, + 7668, + 7669, + 7672, + 7673, + 7674, + 7675, + 7676, + 7677, + 7678, + 7679, + 7681, + 7682, + 7683, + 7685, + 7686, + 7687, + 7689, + 7690, + 7693, + 7694, + 7696, + 7697, + 7698, + 7700, + 7703, + 7704, + 7705, + 7706, + 7707, + 7709, + 7710, + 7711, + 7712, + 7714, + 7715, + 7717, + 7718, + 7719, + 7720, + 7721, + 7723, + 7724, + 7725, + 7726, + 7729, + 7730, + 7731, + 7732, + 7733, + 7734, + 7738, + 7740, + 7741, + 7745, + 7746, + 7747, + 7748, + 7751, + 7752, + 7754, + 7755, + 7756, + 7757, + 7758, + 7760, + 7761, + 7762, + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7771, + 7773, + 7775, + 7776, + 7777, + 7778, + 7779, + 7780, + 7781, + 7782, + 7783, + 7784, + 7785, + 7786, + 7787, + 7788, + 7789, + 7790, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7802, + 7803, + 7804, + 7805, + 7806, + 7808, + 7809, + 7810, + 7812, + 7813, + 7814, + 7815, + 7817, + 7818, + 7819, + 7820, + 7822, + 7823, + 7827, + 7830, + 7831, + 7832, + 7833, + 7835, + 7836, + 7837, + 7838, + 7839, + 7840, + 7842, + 7843, + 7845, + 7847, + 7848, + 7849, + 7852, + 7856, + 7857, + 7858, + 7859, + 7860, + 7861, + 7862, + 7863, + 7864, + 7865, + 7866, + 7867, + 7868, + 7869, + 7870, + 7871, + 7873, + 7874, + 7875, + 7877, + 7878, + 7881, + 7883, + 7884, + 7885, + 7890, + 7891, + 7892, + 7893, + 7895, + 7897, + 7898, + 7899, + 7900, + 7901, + 7902, + 7903, + 7904, + 7905, + 7906, + 7908, + 7909, + 7910, + 7913, + 7914, + 7915, + 7916, + 7918, + 7919, + 7922, + 7923, + 7925, + 7926, + 7928, + 7929, + 7933, + 7935, + 7937, + 7939, + 7940, + 7941, + 7943, + 7944, + 7946, + 7947, + 7948, + 7950, + 7951, + 7953, + 7954, + 7955, + 7956, + 7957, + 7959, + 7960, + 7964, + 7965, + 7967, + 7969, + 7970, + 7971, + 7972, + 7973, + 7974, + 7975, + 7977, + 7978, + 7979, + 7980, + 7981, + 7982, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7992, + 7993, + 7994, + 7995, + 7996, + 7997, + 7998, + 8002, + 8003, + 8004, + 8005, + 8006, + 8007, + 8008, + 8010, + 8011, + 8012, + 8016, + 8017, + 8018, + 8021, + 8022, + 8025, + 8027, + 8029, + 8030, + 8031, + 8032, + 8033, + 8034, + 8035, + 8037, + 8038, + 8039, + 8040, + 8041, + 8042, + 8044, + 8046, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8057, + 8058, + 8059, + 8061, + 8062, + 8063, + 8065, + 8067, + 8070, + 8071, + 8073, + 8075, + 8077, + 8082, + 8083, + 8085, + 8086, + 8087, + 8089, + 8090, + 8092, + 8094, + 8095, + 8096, + 8097, + 8098, + 8099, + 8100, + 8101, + 8102, + 8104, + 8105, + 8106, + 8108, + 8110, + 8111, + 8112, + 8114, + 8115, + 8116, + 8117, + 8118, + 8120, + 8121, + 8123, + 8124, + 8125, + 8128, + 8129, + 8130, + 8132, + 8133, + 8135, + 8139, + 8140, + 8141, + 8143, + 8144, + 8145, + 8147, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8160, + 8161, + 8162, + 8163, + 8164, + 8166, + 8167, + 8168, + 8169, + 8170, + 8172, + 8173, + 8175, + 8176, + 8182, + 8183, + 8184, + 8185, + 8186, + 8188, + 8189, + 8190, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8200, + 8202, + 8203, + 8206, + 8208, + 8209, + 8210, + 8211, + 8212, + 8213, + 8215, + 8216, + 8217, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8225, + 8226, + 8227, + 8228, + 8229, + 8230, + 8231, + 8232, + 8233, + 8234, + 8236, + 8237, + 8238, + 8240, + 8245, + 8246, + 8248, + 8249, + 8251, + 8253, + 8254, + 8255, + 8256, + 8257, + 8258, + 8259, + 8261, + 8263, + 8265, + 8268, + 8269, + 8270, + 8272, + 8273, + 8274, + 8275, + 8277, + 8286, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293, + 8295, + 8297, + 8298, + 8299, + 8300, + 8302, + 8303, + 8306, + 8307, + 8308, + 8309, + 8311, + 8312, + 8314, + 8315, + 8318, + 8319, + 8320, + 8321, + 8322, + 8323, + 8325, + 8326, + 8331, + 8332, + 8333, + 8335, + 8337, + 8338, + 8339, + 8340, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8356, + 8357, + 8359, + 8363, + 8364, + 8367, + 8368, + 8369, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8385, + 8386, + 8387, + 8388, + 8389, + 8390, + 8391, + 8392, + 8393, + 8395, + 8396, + 8397, + 8399, + 8400, + 8401, + 8402, + 8405, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8414, + 8415, + 8417, + 8418, + 8419, + 8420, + 8422, + 8424, + 8425, + 8427, + 8428, + 8430, + 8431, + 8432, + 8433, + 8434, + 8435, + 8436, + 8437, + 8441, + 8442, + 8443, + 8444, + 8445, + 8448, + 8449, + 8450, + 8451, + 8453, + 8456, + 8457, + 8459, + 8460, + 8461, + 8462, + 8464, + 8465, + 8468, + 8469, + 8470, + 8472, + 8473, + 8475, + 8476, + 8477, + 8480, + 8482, + 8484, + 8485, + 8486, + 8487, + 8488, + 8490, + 8491, + 8494, + 8495, + 8496, + 8497, + 8498, + 8502, + 8504, + 8505, + 8506, + 8507, + 8508, + 8509, + 8510, + 8512, + 8513, + 8514, + 8515, + 8516, + 8519, + 8521, + 8522, + 8523, + 8527, + 8528, + 8529, + 8530, + 8531, + 8533, + 8536, + 8538, + 8541, + 8542, + 8543, + 8544, + 8545, + 8547, + 8548, + 8549, + 8550, + 8552, + 8553, + 8554, + 8557, + 8559, + 8561, + 8562, + 8563, + 8564, + 8565, + 8567, + 8569, + 8571, + 8572, + 8576, + 8577, + 8579, + 8580, + 8584, + 8585, + 8586, + 8588, + 8589, + 8590, + 8592, + 8594, + 8595, + 8596, + 8597, + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8608, + 8609, + 8610, + 8613, + 8615, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8627, + 8630, + 8631, + 8632, + 8633, + 8634, + 8635, + 8637, + 8638, + 8639, + 8640, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8651, + 8653, + 8654, + 8656, + 8658, + 8659, + 8661, + 8662, + 8666, + 8667, + 8668, + 8669, + 8671, + 8673, + 8675, + 8677, + 8678, + 8679, + 8680, + 8682, + 8684, + 8686, + 8689, + 8690, + 8691, + 8692, + 8693, + 8695, + 8697, + 8702, + 8705, + 8707, + 8710, + 8711, + 8712, + 8716, + 8717, + 8718, + 8721, + 8723, + 8724, + 8725, + 8726, + 8727, + 8730, + 8732, + 8733, + 8734, + 8735, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8744, + 8745, + 8748, + 8750, + 8751, + 8752, + 8753, + 8754, + 8755, + 8758, + 8759, + 8760, + 8763, + 8765, + 8766, + 8768, + 8769, + 8770, + 8772, + 8774, + 8775, + 8777, + 8778, + 8780, + 8781, + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8792, + 8795, + 8796, + 8797, + 8798, + 8800, + 8801, + 8802, + 8804, + 8805, + 8806, + 8807, + 8808, + 8809, + 8810, + 8811, + 8812, + 8815, + 8816, + 8817, + 8818, + 8821, + 8823, + 8825, + 8828, + 8830, + 8831, + 8833, + 8835, + 8837, + 8838, + 8840, + 8842, + 8843, + 8844, + 8845, + 8848, + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8860, + 8861, + 8862, + 8863, + 8865, + 8866, + 8867, + 8869, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8880, + 8882, + 8883, + 8884, + 8885, + 8886, + 8887, + 8888, + 8890, + 8891, + 8892, + 8893, + 8896, + 8899, + 8900, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8911, + 8912, + 8913, + 8914, + 8915, + 8916, + 8917, + 8918, + 8924, + 8925, + 8926, + 8927, + 8929, + 8931, + 8932, + 8934, + 8935, + 8936, + 8937, + 8938, + 8939, + 8941, + 8942, + 8943, + 8945, + 8948, + 8949, + 8951, + 8953, + 8954, + 8955, + 8957, + 8958, + 8959, + 8960, + 8963, + 8964, + 8966, + 8967, + 8968, + 8969, + 8971, + 8974, + 8975, + 8976, + 8977, + 8978, + 8980, + 8981, + 8982, + 8984, + 8986, + 8987, + 8988, + 8989, + 8991, + 8992, + 8994, + 8995, + 8996, + 8997, + 8998, + 9003, + 9004, + 9005, + 9006, + 9007, + 9008, + 9009, + 9010, + 9011, + 9014, + 9015, + 9016, + 9017, + 9020, + 9021, + 9022, + 9023, + 9024, + 9027, + 9028, + 9029, + 9031, + 9032, + 9033, + 9034, + 9036, + 9037, + 9040, + 9041, + 9045, + 9046, + 9047, + 9048, + 9052, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9064, + 9065, + 9067, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9075, + 9076, + 9077, + 9078, + 9079, + 9080, + 9081, + 9082, + 9086, + 9087, + 9089, + 9090, + 9091, + 9092, + 9093, + 9094, + 9095, + 9097, + 9098, + 9099, + 9103, + 9104, + 9105, + 9107, + 9108, + 9110, + 9111, + 9113, + 9116, + 9117, + 9118, + 9119, + 9121, + 9122, + 9124, + 9125, + 9126, + 9127, + 9128, + 9131, + 9132, + 9133, + 9135, + 9136, + 9138, + 9139, + 9140, + 9141, + 9145, + 9146, + 9147, + 9150, + 9151, + 9152, + 9153, + 9154, + 9156, + 9157, + 9158, + 9159, + 9160, + 9162, + 9163, + 9164, + 9166, + 9167, + 9168, + 9172, + 9177, + 9178, + 9179, + 9180, + 9181, + 9182, + 9183, + 9184, + 9185, + 9188, + 9191, + 9192, + 9195, + 9196, + 9197, + 9198, + 9199, + 9201, + 9204, + 9205, + 9206, + 9207, + 9208, + 9210, + 9211, + 9213, + 9215, + 9216, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9225, + 9227, + 9228, + 9229, + 9230, + 9231, + 9232, + 9234, + 9235, + 9236, + 9240, + 9241, + 9242, + 9243, + 9244, + 9245, + 9246, + 9248, + 9250, + 9251, + 9252, + 9255, + 9256, + 9257, + 9259, + 9260, + 9261, + 9262, + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9276, + 9278, + 9279, + 9280, + 9281, + 9282, + 9283, + 9284, + 9285, + 9286, + 9287, + 9288, + 9289, + 9290, + 9293, + 9294, + 9295, + 9296, + 9297, + 9298, + 9299, + 9300, + 9301, + 9302, + 9303, + 9304, + 9305, + 9306, + 9307, + 9309, + 9310, + 9311, + 9313, + 9315, + 9316, + 9318, + 9319, + 9320, + 9321, + 9322, + 9323, + 9324, + 9325, + 9326, + 9327, + 9328, + 9331, + 9332, + 9333, + 9336, + 9337, + 9338, + 9339, + 9341, + 9344, + 9345, + 9347, + 9348, + 9349, + 9350, + 9352, + 9353, + 9354, + 9357, + 9358, + 9359, + 9360, + 9361, + 9363, + 9364, + 9365, + 9367, + 9369, + 9370, + 9371, + 9372, + 9373, + 9374, + 9375, + 9376, + 9377, + 9378, + 9379, + 9380, + 9381, + 9383, + 9384, + 9385, + 9386, + 9387, + 9388, + 9389, + 9390, + 9392, + 9394, + 9395, + 9396, + 9397, + 9398, + 9399, + 9401, + 9402, + 9403, + 9404, + 9407, + 9408, + 9409, + 9413, + 9415, + 9416, + 9418, + 9421, + 9422, + 9423, + 9424, + 9425, + 9426, + 9428, + 9429, + 9430, + 9433, + 9434, + 9435, + 9437, + 9438, + 9439, + 9440, + 9441, + 9442, + 9443, + 9446, + 9448, + 9449, + 9450, + 9451, + 9452, + 9453, + 9454, + 9455, + 9456, + 9457, + 9458, + 9460, + 9461, + 9462, + 9463, + 9464, + 9465, + 9466, + 9467, + 9468, + 9469, + 9471, + 9472, + 9473, + 9474, + 9478, + 9479, + 9480, + 9481, + 9482, + 9483, + 9484, + 9486, + 9487, + 9489, + 9490, + 9491, + 9492, + 9493, + 9496, + 9497, + 9498, + 9500, + 9501, + 9502, + 9503, + 9504, + 9505, + 9506, + 9507, + 9509, + 9511, + 9512, + 9513, + 9514, + 9517, + 9518, + 9520, + 9521, + 9522, + 9523, + 9524, + 9526, + 9527, + 9530, + 9531, + 9532, + 9533, + 9534, + 9536, + 9538, + 9539, + 9540, + 9542, + 9544, + 9545, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9558, + 9559, + 9560, + 9561, + 9562, + 9563, + 9564, + 9565, + 9567, + 9568, + 9570, + 9571, + 9572, + 9573, + 9575, + 9577, + 9580, + 9581, + 9583, + 9584, + 9585, + 9586, + 9588, + 9589, + 9590, + 9592, + 9594, + 9595, + 9596, + 9597, + 9598, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9607, + 9610, + 9611, + 9612, + 9613, + 9614, + 9616, + 9617, + 9618, + 9619, + 9620, + 9622, + 9623, + 9624, + 9625, + 9626, + 9627, + 9631, + 9632, + 9633, + 9634, + 9635, + 9636, + 9637, + 9639, + 9640, + 9641, + 9642, + 9645, + 9647, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654, + 9656, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9666, + 9667, + 9668, + 9669, + 9670, + 9671, + 9672, + 9673, + 9674, + 9675, + 9677, + 9678, + 9679, + 9681, + 9682, + 9684, + 9686, + 9687, + 9688, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9697, + 9698, + 9702, + 9704, + 9705, + 9706, + 9707, + 9708, + 9710, + 9711, + 9716, + 9717, + 9718, + 9719, + 9720, + 9721, + 9722, + 9723, + 9724, + 9725, + 9727, + 9728, + 9730, + 9732, + 9734, + 9735, + 9736, + 9737, + 9738, + 9739, + 9740, + 9741, + 9742, + 9743, + 9744, + 9747, + 9748, + 9749, + 9750, + 9751, + 9752, + 9754, + 9755, + 9756, + 9757, + 9758, + 9759, + 9760, + 9761, + 9762, + 9763, + 9764, + 9769, + 9770, + 9771, + 9773, + 9774, + 9775, + 9776, + 9777, + 9778, + 9780, + 9781, + 9782, + 9787, + 9788, + 9789, + 9790, + 9792, + 9793, + 9794, + 9796, + 9797, + 9799, + 9800, + 9801, + 9802, + 9803, + 9804, + 9806, + 9807, + 9809, + 9810, + 9811, + 9812, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9826, + 9827, + 9830, + 9831, + 9835, + 9836, + 9837, + 9838, + 9839, + 9840, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9852, + 9853, + 9854, + 9855, + 9856, + 9858, + 9859, + 9861, + 9863, + 9864, + 9865, + 9866, + 9867, + 9868, + 9869, + 9870, + 9876, + 9877, + 9878, + 9880, + 9881, + 9882, + 9883, + 9884, + 9886, + 9887, + 9888, + 9889, + 9891, + 9894, + 9895, + 9897, + 9899, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9910, + 9911, + 9912, + 9914, + 9915, + 9916, + 9918, + 9921, + 9922, + 9923, + 9925, + 9926, + 9927, + 9928, + 9929, + 9931, + 9933, + 9934, + 9935, + 9936, + 9937, + 9939, + 9940, + 9943, + 9944, + 9945, + 9946, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9960, + 9961, + 9963, + 9967, + 9968, + 9969, + 9970, + 9971, + 9973, + 9976, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 9984, + 9985, + 9986, + 9987, + 9988, + 9990, + 9991, + 9992, + 9994, + 9995, + 9996, + 9997, + 9999 + ], + "val": [ + 3, + 8, + 12, + 14, + 20, + 29, + 33, + 35, + 36, + 41, + 58, + 59, + 61, + 68, + 73, + 76, + 80, + 87, + 95, + 96, + 101, + 102, + 103, + 104, + 106, + 119, + 132, + 144, + 157, + 164, + 169, + 185, + 196, + 199, + 209, + 210, + 212, + 214, + 221, + 222, + 229, + 239, + 254, + 259, + 265, + 274, + 288, + 290, + 292, + 308, + 315, + 318, + 323, + 328, + 332, + 335, + 349, + 354, + 381, + 385, + 393, + 394, + 401, + 402, + 410, + 420, + 429, + 432, + 439, + 440, + 447, + 450, + 455, + 461, + 462, + 467, + 476, + 483, + 496, + 511, + 524, + 533, + 540, + 544, + 550, + 551, + 554, + 563, + 564, + 567, + 576, + 577, + 582, + 590, + 591, + 592, + 603, + 605, + 611, + 613, + 618, + 621, + 624, + 653, + 654, + 668, + 675, + 676, + 678, + 682, + 683, + 693, + 706, + 708, + 710, + 711, + 713, + 715, + 724, + 733, + 736, + 740, + 742, + 744, + 747, + 753, + 754, + 758, + 759, + 765, + 777, + 789, + 794, + 795, + 800, + 809, + 810, + 821, + 828, + 833, + 835, + 852, + 856, + 858, + 862, + 871, + 877, + 908, + 921, + 927, + 934, + 940, + 952, + 957, + 960, + 967, + 982, + 994, + 1002, + 1009, + 1018, + 1027, + 1034, + 1038, + 1044, + 1046, + 1055, + 1057, + 1061, + 1068, + 1071, + 1075, + 1076, + 1078, + 1084, + 1095, + 1107, + 1111, + 1112, + 1113, + 1115, + 1121, + 1123, + 1126, + 1127, + 1139, + 1142, + 1147, + 1149, + 1153, + 1155, + 1166, + 1168, + 1175, + 1188, + 1190, + 1193, + 1194, + 1199, + 1217, + 1222, + 1224, + 1226, + 1245, + 1247, + 1250, + 1253, + 1254, + 1263, + 1272, + 1278, + 1280, + 1281, + 1285, + 1287, + 1295, + 1297, + 1310, + 1313, + 1315, + 1320, + 1322, + 1323, + 1339, + 1347, + 1354, + 1355, + 1362, + 1369, + 1372, + 1373, + 1374, + 1385, + 1393, + 1396, + 1400, + 1405, + 1406, + 1408, + 1413, + 1414, + 1416, + 1419, + 1421, + 1429, + 1432, + 1437, + 1441, + 1443, + 1444, + 1446, + 1456, + 1458, + 1467, + 1470, + 1472, + 1479, + 1482, + 1488, + 1496, + 1501, + 1509, + 1512, + 1530, + 1544, + 1550, + 1558, + 1565, + 1568, + 1569, + 1570, + 1575, + 1576, + 1578, + 1595, + 1599, + 1603, + 1606, + 1608, + 1615, + 1616, + 1642, + 1650, + 1656, + 1658, + 1660, + 1671, + 1672, + 1699, + 1701, + 1713, + 1726, + 1728, + 1730, + 1731, + 1732, + 1737, + 1740, + 1747, + 1770, + 1775, + 1780, + 1790, + 1803, + 1817, + 1832, + 1833, + 1834, + 1839, + 1840, + 1844, + 1851, + 1860, + 1862, + 1888, + 1897, + 1918, + 1928, + 1954, + 1957, + 1963, + 1978, + 1981, + 1982, + 1992, + 2004, + 2012, + 2013, + 2020, + 2022, + 2025, + 2029, + 2034, + 2036, + 2045, + 2057, + 2058, + 2067, + 2069, + 2083, + 2084, + 2088, + 2098, + 2108, + 2110, + 2122, + 2124, + 2133, + 2138, + 2145, + 2147, + 2150, + 2157, + 2167, + 2168, + 2175, + 2189, + 2191, + 2199, + 2221, + 2225, + 2227, + 2228, + 2231, + 2236, + 2239, + 2245, + 2246, + 2248, + 2249, + 2252, + 2254, + 2260, + 2264, + 2272, + 2286, + 2287, + 2303, + 2337, + 2348, + 2375, + 2377, + 2388, + 2389, + 2392, + 2405, + 2407, + 2417, + 2423, + 2441, + 2446, + 2453, + 2456, + 2464, + 2465, + 2470, + 2478, + 2483, + 2484, + 2485, + 2487, + 2492, + 2510, + 2515, + 2523, + 2545, + 2564, + 2574, + 2586, + 2602, + 2615, + 2619, + 2620, + 2627, + 2638, + 2650, + 2664, + 2673, + 2678, + 2680, + 2682, + 2684, + 2685, + 2689, + 2698, + 2701, + 2707, + 2729, + 2742, + 2750, + 2753, + 2755, + 2766, + 2794, + 2818, + 2820, + 2826, + 2835, + 2840, + 2846, + 2859, + 2874, + 2882, + 2885, + 2886, + 2903, + 2908, + 2913, + 2922, + 2926, + 2927, + 2932, + 2943, + 2948, + 2954, + 2955, + 2963, + 2991, + 2997, + 3000, + 3002, + 3012, + 3014, + 3015, + 3016, + 3017, + 3018, + 3023, + 3024, + 3025, + 3026, + 3032, + 3034, + 3037, + 3038, + 3044, + 3047, + 3050, + 3055, + 3057, + 3060, + 3063, + 3064, + 3065, + 3077, + 3079, + 3091, + 3100, + 3101, + 3105, + 3122, + 3126, + 3127, + 3128, + 3130, + 3132, + 3133, + 3143, + 3146, + 3148, + 3149, + 3154, + 3160, + 3172, + 3181, + 3184, + 3194, + 3206, + 3207, + 3263, + 3265, + 3279, + 3281, + 3288, + 3290, + 3295, + 3298, + 3299, + 3305, + 3309, + 3314, + 3333, + 3334, + 3337, + 3351, + 3352, + 3375, + 3378, + 3381, + 3383, + 3396, + 3397, + 3399, + 3404, + 3410, + 3422, + 3429, + 3433, + 3434, + 3441, + 3455, + 3460, + 3465, + 3473, + 3509, + 3519, + 3522, + 3528, + 3532, + 3543, + 3566, + 3570, + 3595, + 3601, + 3605, + 3614, + 3616, + 3621, + 3625, + 3639, + 3643, + 3662, + 3668, + 3677, + 3680, + 3686, + 3698, + 3721, + 3723, + 3728, + 3742, + 3745, + 3755, + 3761, + 3771, + 3772, + 3773, + 3774, + 3780, + 3781, + 3782, + 3785, + 3787, + 3842, + 3846, + 3853, + 3859, + 3860, + 3872, + 3879, + 3883, + 3887, + 3891, + 3914, + 3921, + 3949, + 3960, + 3964, + 3971, + 3973, + 3979, + 3992, + 3997, + 4001, + 4002, + 4003, + 4007, + 4016, + 4022, + 4023, + 4024, + 4029, + 4030, + 4038, + 4043, + 4046, + 4047, + 4048, + 4064, + 4067, + 4071, + 4081, + 4084, + 4094, + 4098, + 4100, + 4102, + 4115, + 4119, + 4122, + 4123, + 4130, + 4132, + 4149, + 4169, + 4176, + 4180, + 4191, + 4193, + 4194, + 4202, + 4210, + 4220, + 4228, + 4230, + 4237, + 4241, + 4250, + 4252, + 4254, + 4273, + 4281, + 4284, + 4288, + 4291, + 4302, + 4321, + 4326, + 4337, + 4338, + 4345, + 4350, + 4352, + 4354, + 4355, + 4368, + 4372, + 4374, + 4377, + 4381, + 4387, + 4392, + 4395, + 4397, + 4398, + 4412, + 4414, + 4418, + 4419, + 4436, + 4438, + 4466, + 4472, + 4474, + 4475, + 4484, + 4504, + 4518, + 4519, + 4521, + 4535, + 4540, + 4553, + 4561, + 4565, + 4573, + 4575, + 4587, + 4588, + 4597, + 4601, + 4604, + 4606, + 4613, + 4617, + 4619, + 4623, + 4631, + 4639, + 4640, + 4657, + 4672, + 4684, + 4689, + 4692, + 4695, + 4698, + 4704, + 4708, + 4710, + 4716, + 4718, + 4721, + 4740, + 4742, + 4751, + 4766, + 4768, + 4772, + 4773, + 4791, + 4793, + 4797, + 4812, + 4819, + 4822, + 4826, + 4830, + 4842, + 4848, + 4856, + 4862, + 4867, + 4870, + 4871, + 4872, + 4880, + 4881, + 4883, + 4889, + 4891, + 4898, + 4899, + 4901, + 4902, + 4907, + 4908, + 4914, + 4919, + 4932, + 4942, + 4947, + 4949, + 4950, + 4955, + 4961, + 4981, + 4984, + 4989, + 4995, + 5006, + 5009, + 5012, + 5018, + 5019, + 5044, + 5048, + 5053, + 5062, + 5064, + 5065, + 5090, + 5094, + 5100, + 5111, + 5118, + 5121, + 5129, + 5130, + 5135, + 5144, + 5153, + 5159, + 5165, + 5171, + 5181, + 5183, + 5190, + 5196, + 5197, + 5198, + 5205, + 5213, + 5214, + 5225, + 5235, + 5250, + 5265, + 5268, + 5269, + 5274, + 5278, + 5289, + 5294, + 5303, + 5304, + 5306, + 5328, + 5337, + 5339, + 5351, + 5356, + 5358, + 5359, + 5364, + 5371, + 5375, + 5386, + 5400, + 5405, + 5406, + 5407, + 5411, + 5414, + 5421, + 5425, + 5447, + 5453, + 5461, + 5466, + 5467, + 5470, + 5471, + 5474, + 5489, + 5491, + 5492, + 5502, + 5503, + 5505, + 5506, + 5515, + 5527, + 5537, + 5538, + 5547, + 5554, + 5564, + 5579, + 5589, + 5593, + 5595, + 5597, + 5606, + 5609, + 5610, + 5613, + 5617, + 5627, + 5638, + 5639, + 5640, + 5648, + 5657, + 5665, + 5669, + 5684, + 5700, + 5703, + 5707, + 5709, + 5718, + 5731, + 5741, + 5746, + 5748, + 5756, + 5758, + 5766, + 5767, + 5768, + 5770, + 5780, + 5794, + 5795, + 5798, + 5805, + 5814, + 5816, + 5820, + 5825, + 5833, + 5858, + 5866, + 5868, + 5902, + 5916, + 5927, + 5928, + 5933, + 5938, + 5950, + 5953, + 5963, + 5979, + 5980, + 5990, + 5998, + 6000, + 6001, + 6005, + 6021, + 6027, + 6033, + 6043, + 6060, + 6062, + 6066, + 6073, + 6076, + 6077, + 6079, + 6080, + 6081, + 6083, + 6084, + 6085, + 6087, + 6088, + 6101, + 6108, + 6109, + 6117, + 6123, + 6128, + 6134, + 6137, + 6147, + 6149, + 6161, + 6182, + 6199, + 6200, + 6209, + 6211, + 6213, + 6216, + 6221, + 6231, + 6234, + 6255, + 6263, + 6271, + 6273, + 6291, + 6292, + 6306, + 6309, + 6321, + 6322, + 6328, + 6336, + 6340, + 6369, + 6372, + 6382, + 6385, + 6399, + 6408, + 6409, + 6423, + 6426, + 6427, + 6434, + 6436, + 6437, + 6440, + 6462, + 6475, + 6478, + 6480, + 6482, + 6483, + 6492, + 6495, + 6498, + 6501, + 6510, + 6515, + 6516, + 6521, + 6522, + 6531, + 6537, + 6543, + 6550, + 6552, + 6571, + 6590, + 6599, + 6620, + 6621, + 6623, + 6632, + 6646, + 6669, + 6672, + 6681, + 6685, + 6687, + 6689, + 6690, + 6699, + 6717, + 6728, + 6746, + 6749, + 6751, + 6752, + 6753, + 6756, + 6759, + 6765, + 6768, + 6790, + 6802, + 6808, + 6814, + 6817, + 6821, + 6827, + 6828, + 6829, + 6830, + 6834, + 6835, + 6838, + 6847, + 6861, + 6866, + 6874, + 6897, + 6901, + 6911, + 6913, + 6935, + 6939, + 6940, + 6953, + 6954, + 6959, + 6967, + 6968, + 6990, + 6998, + 7001, + 7016, + 7017, + 7018, + 7019, + 7023, + 7028, + 7032, + 7050, + 7053, + 7058, + 7075, + 7078, + 7082, + 7086, + 7087, + 7091, + 7107, + 7113, + 7116, + 7143, + 7146, + 7150, + 7153, + 7185, + 7197, + 7198, + 7203, + 7205, + 7220, + 7229, + 7234, + 7235, + 7243, + 7244, + 7256, + 7272, + 7281, + 7282, + 7286, + 7300, + 7305, + 7315, + 7319, + 7323, + 7324, + 7325, + 7332, + 7333, + 7342, + 7348, + 7361, + 7371, + 7374, + 7376, + 7381, + 7382, + 7383, + 7388, + 7396, + 7403, + 7415, + 7425, + 7428, + 7430, + 7434, + 7436, + 7438, + 7444, + 7447, + 7454, + 7456, + 7475, + 7477, + 7484, + 7487, + 7492, + 7499, + 7500, + 7508, + 7522, + 7535, + 7539, + 7547, + 7565, + 7566, + 7567, + 7568, + 7573, + 7578, + 7599, + 7601, + 7606, + 7608, + 7614, + 7615, + 7619, + 7620, + 7621, + 7631, + 7640, + 7646, + 7653, + 7670, + 7671, + 7684, + 7688, + 7691, + 7699, + 7702, + 7716, + 7735, + 7743, + 7750, + 7759, + 7763, + 7770, + 7774, + 7792, + 7801, + 7816, + 7821, + 7824, + 7825, + 7828, + 7850, + 7851, + 7853, + 7855, + 7872, + 7889, + 7894, + 7896, + 7907, + 7917, + 7920, + 7924, + 7934, + 7938, + 7949, + 7952, + 7958, + 7962, + 7963, + 7983, + 7991, + 7999, + 8001, + 8015, + 8019, + 8024, + 8026, + 8036, + 8064, + 8068, + 8072, + 8076, + 8079, + 8081, + 8093, + 8119, + 8126, + 8127, + 8131, + 8136, + 8137, + 8138, + 8146, + 8158, + 8165, + 8171, + 8174, + 8177, + 8178, + 8179, + 8192, + 8207, + 8218, + 8239, + 8241, + 8243, + 8250, + 8252, + 8260, + 8264, + 8266, + 8276, + 8282, + 8283, + 8285, + 8287, + 8294, + 8296, + 8304, + 8313, + 8316, + 8317, + 8324, + 8328, + 8330, + 8334, + 8336, + 8341, + 8343, + 8355, + 8361, + 8362, + 8365, + 8366, + 8370, + 8382, + 8398, + 8403, + 8413, + 8429, + 8438, + 8439, + 8440, + 8446, + 8447, + 8455, + 8483, + 8489, + 8492, + 8500, + 8517, + 8520, + 8525, + 8534, + 8535, + 8540, + 8546, + 8551, + 8558, + 8566, + 8568, + 8570, + 8573, + 8578, + 8582, + 8583, + 8587, + 8591, + 8593, + 8598, + 8605, + 8606, + 8607, + 8611, + 8614, + 8641, + 8652, + 8663, + 8670, + 8672, + 8676, + 8681, + 8683, + 8687, + 8696, + 8700, + 8701, + 8703, + 8704, + 8706, + 8708, + 8709, + 8713, + 8714, + 8715, + 8719, + 8722, + 8728, + 8746, + 8747, + 8756, + 8757, + 8776, + 8782, + 8820, + 8822, + 8824, + 8829, + 8846, + 8849, + 8850, + 8858, + 8878, + 8894, + 8895, + 8897, + 8898, + 8920, + 8923, + 8933, + 8940, + 8944, + 8946, + 8952, + 8956, + 8962, + 8970, + 8973, + 8999, + 9000, + 9002, + 9012, + 9026, + 9043, + 9049, + 9050, + 9051, + 9055, + 9063, + 9068, + 9083, + 9084, + 9085, + 9088, + 9096, + 9101, + 9102, + 9106, + 9109, + 9112, + 9114, + 9115, + 9130, + 9137, + 9155, + 9161, + 9165, + 9169, + 9170, + 9173, + 9175, + 9176, + 9186, + 9187, + 9190, + 9193, + 9200, + 9202, + 9212, + 9214, + 9217, + 9218, + 9226, + 9237, + 9238, + 9239, + 9254, + 9277, + 9292, + 9308, + 9312, + 9330, + 9335, + 9340, + 9351, + 9355, + 9356, + 9362, + 9366, + 9382, + 9391, + 9393, + 9400, + 9405, + 9406, + 9410, + 9411, + 9412, + 9427, + 9431, + 9444, + 9445, + 9459, + 9470, + 9494, + 9495, + 9508, + 9515, + 9516, + 9519, + 9525, + 9528, + 9541, + 9548, + 9557, + 9569, + 9576, + 9578, + 9591, + 9593, + 9606, + 9609, + 9646, + 9665, + 9680, + 9683, + 9696, + 9703, + 9709, + 9714, + 9733, + 9768, + 9772, + 9779, + 9784, + 9791, + 9795, + 9813, + 9828, + 9829, + 9832, + 9833, + 9860, + 9871, + 9872, + 9874, + 9885, + 9890, + 9892, + 9898, + 9917, + 9924, + 9930, + 9932, + 9941, + 9942, + 9959, + 9965, + 9972, + 9975 + ], + "test": [ + 0, + 10, + 17, + 19, + 23, + 30, + 31, + 37, + 39, + 45, + 46, + 47, + 48, + 50, + 56, + 65, + 69, + 70, + 79, + 81, + 88, + 92, + 93, + 99, + 107, + 108, + 111, + 118, + 131, + 135, + 149, + 168, + 172, + 177, + 180, + 181, + 211, + 217, + 218, + 230, + 233, + 245, + 247, + 248, + 251, + 252, + 257, + 263, + 267, + 286, + 291, + 303, + 304, + 311, + 316, + 319, + 321, + 330, + 333, + 334, + 337, + 346, + 347, + 350, + 353, + 360, + 367, + 372, + 376, + 379, + 388, + 400, + 403, + 408, + 411, + 415, + 416, + 427, + 433, + 435, + 445, + 449, + 453, + 457, + 465, + 472, + 473, + 474, + 485, + 487, + 500, + 503, + 509, + 510, + 513, + 518, + 528, + 532, + 538, + 543, + 568, + 579, + 586, + 594, + 601, + 604, + 617, + 620, + 623, + 625, + 637, + 647, + 655, + 664, + 673, + 696, + 700, + 705, + 712, + 718, + 730, + 735, + 737, + 738, + 743, + 745, + 748, + 749, + 761, + 763, + 764, + 766, + 774, + 779, + 782, + 799, + 811, + 831, + 834, + 837, + 841, + 850, + 866, + 868, + 872, + 879, + 880, + 881, + 883, + 906, + 914, + 932, + 947, + 958, + 964, + 965, + 970, + 971, + 993, + 997, + 1005, + 1010, + 1017, + 1020, + 1022, + 1026, + 1042, + 1052, + 1053, + 1056, + 1074, + 1087, + 1090, + 1101, + 1103, + 1109, + 1144, + 1145, + 1156, + 1162, + 1176, + 1180, + 1183, + 1195, + 1197, + 1201, + 1204, + 1208, + 1210, + 1219, + 1220, + 1233, + 1244, + 1261, + 1277, + 1282, + 1298, + 1314, + 1318, + 1328, + 1330, + 1334, + 1345, + 1346, + 1349, + 1360, + 1379, + 1383, + 1392, + 1402, + 1417, + 1418, + 1426, + 1430, + 1438, + 1452, + 1453, + 1468, + 1477, + 1483, + 1491, + 1494, + 1498, + 1502, + 1513, + 1516, + 1527, + 1533, + 1536, + 1543, + 1557, + 1559, + 1561, + 1562, + 1582, + 1586, + 1593, + 1597, + 1600, + 1614, + 1617, + 1618, + 1623, + 1624, + 1626, + 1631, + 1643, + 1649, + 1655, + 1659, + 1662, + 1665, + 1670, + 1683, + 1684, + 1688, + 1691, + 1692, + 1702, + 1718, + 1720, + 1721, + 1729, + 1739, + 1741, + 1743, + 1745, + 1746, + 1758, + 1760, + 1765, + 1768, + 1783, + 1785, + 1791, + 1793, + 1794, + 1795, + 1805, + 1807, + 1825, + 1835, + 1864, + 1877, + 1880, + 1886, + 1891, + 1901, + 1915, + 1919, + 1921, + 1922, + 1923, + 1934, + 1937, + 1941, + 1945, + 1947, + 1962, + 1965, + 1995, + 2002, + 2006, + 2008, + 2018, + 2030, + 2039, + 2054, + 2055, + 2063, + 2072, + 2075, + 2087, + 2089, + 2094, + 2107, + 2109, + 2111, + 2114, + 2115, + 2119, + 2127, + 2128, + 2129, + 2132, + 2142, + 2149, + 2152, + 2164, + 2165, + 2178, + 2183, + 2184, + 2210, + 2213, + 2214, + 2215, + 2232, + 2233, + 2251, + 2268, + 2270, + 2273, + 2275, + 2288, + 2291, + 2299, + 2301, + 2302, + 2304, + 2310, + 2316, + 2319, + 2328, + 2335, + 2340, + 2344, + 2358, + 2360, + 2362, + 2373, + 2399, + 2406, + 2412, + 2413, + 2420, + 2425, + 2436, + 2439, + 2447, + 2455, + 2458, + 2471, + 2473, + 2474, + 2486, + 2498, + 2513, + 2516, + 2517, + 2519, + 2522, + 2526, + 2531, + 2533, + 2534, + 2540, + 2542, + 2543, + 2554, + 2571, + 2588, + 2592, + 2609, + 2611, + 2614, + 2623, + 2625, + 2631, + 2636, + 2648, + 2651, + 2663, + 2688, + 2691, + 2692, + 2697, + 2715, + 2718, + 2724, + 2732, + 2737, + 2748, + 2751, + 2754, + 2758, + 2759, + 2760, + 2769, + 2770, + 2771, + 2777, + 2802, + 2807, + 2816, + 2823, + 2830, + 2833, + 2848, + 2855, + 2862, + 2864, + 2867, + 2868, + 2870, + 2876, + 2880, + 2884, + 2889, + 2894, + 2906, + 2907, + 2910, + 2930, + 2935, + 2945, + 2956, + 2957, + 2960, + 2968, + 2970, + 2973, + 2982, + 2995, + 2996, + 3006, + 3007, + 3011, + 3019, + 3021, + 3027, + 3033, + 3039, + 3043, + 3045, + 3053, + 3058, + 3059, + 3061, + 3070, + 3071, + 3078, + 3080, + 3082, + 3094, + 3095, + 3107, + 3110, + 3111, + 3118, + 3123, + 3125, + 3131, + 3139, + 3145, + 3151, + 3187, + 3204, + 3205, + 3208, + 3210, + 3231, + 3235, + 3238, + 3244, + 3245, + 3251, + 3257, + 3272, + 3274, + 3282, + 3284, + 3297, + 3312, + 3315, + 3316, + 3317, + 3319, + 3320, + 3325, + 3328, + 3329, + 3338, + 3350, + 3355, + 3370, + 3379, + 3387, + 3392, + 3393, + 3400, + 3411, + 3412, + 3424, + 3428, + 3443, + 3448, + 3457, + 3458, + 3459, + 3463, + 3464, + 3467, + 3469, + 3470, + 3481, + 3482, + 3485, + 3487, + 3497, + 3501, + 3508, + 3518, + 3520, + 3524, + 3526, + 3529, + 3533, + 3535, + 3538, + 3540, + 3541, + 3542, + 3544, + 3550, + 3555, + 3574, + 3578, + 3582, + 3597, + 3608, + 3615, + 3646, + 3647, + 3649, + 3651, + 3653, + 3656, + 3666, + 3684, + 3685, + 3688, + 3689, + 3703, + 3704, + 3706, + 3707, + 3708, + 3720, + 3739, + 3753, + 3767, + 3776, + 3790, + 3795, + 3798, + 3799, + 3813, + 3817, + 3826, + 3833, + 3834, + 3837, + 3844, + 3857, + 3869, + 3885, + 3886, + 3889, + 3894, + 3898, + 3905, + 3910, + 3912, + 3933, + 3934, + 3937, + 3948, + 3963, + 3984, + 3989, + 3991, + 3995, + 3999, + 4004, + 4010, + 4011, + 4049, + 4052, + 4053, + 4058, + 4065, + 4076, + 4077, + 4080, + 4092, + 4099, + 4110, + 4112, + 4113, + 4127, + 4139, + 4140, + 4148, + 4151, + 4156, + 4170, + 4174, + 4181, + 4185, + 4190, + 4192, + 4196, + 4201, + 4205, + 4216, + 4217, + 4224, + 4229, + 4238, + 4239, + 4248, + 4265, + 4269, + 4270, + 4271, + 4275, + 4277, + 4294, + 4313, + 4317, + 4329, + 4336, + 4339, + 4341, + 4342, + 4343, + 4344, + 4347, + 4362, + 4367, + 4373, + 4375, + 4376, + 4379, + 4382, + 4386, + 4393, + 4394, + 4411, + 4423, + 4429, + 4442, + 4447, + 4450, + 4463, + 4464, + 4467, + 4477, + 4489, + 4502, + 4506, + 4509, + 4510, + 4511, + 4513, + 4514, + 4516, + 4522, + 4534, + 4539, + 4541, + 4549, + 4554, + 4562, + 4568, + 4574, + 4580, + 4582, + 4607, + 4625, + 4626, + 4629, + 4630, + 4638, + 4645, + 4649, + 4656, + 4667, + 4680, + 4682, + 4685, + 4693, + 4694, + 4705, + 4712, + 4731, + 4734, + 4747, + 4759, + 4767, + 4771, + 4775, + 4779, + 4782, + 4783, + 4787, + 4801, + 4802, + 4813, + 4816, + 4823, + 4827, + 4833, + 4836, + 4851, + 4852, + 4866, + 4868, + 4879, + 4884, + 4890, + 4896, + 4900, + 4903, + 4918, + 4924, + 4929, + 4957, + 4960, + 4963, + 4974, + 4975, + 4978, + 4982, + 4983, + 4993, + 5014, + 5015, + 5026, + 5028, + 5035, + 5046, + 5049, + 5050, + 5071, + 5076, + 5081, + 5082, + 5092, + 5098, + 5123, + 5128, + 5133, + 5137, + 5138, + 5140, + 5155, + 5156, + 5169, + 5170, + 5173, + 5193, + 5202, + 5206, + 5210, + 5212, + 5217, + 5221, + 5226, + 5234, + 5244, + 5246, + 5266, + 5271, + 5272, + 5279, + 5284, + 5300, + 5309, + 5312, + 5316, + 5321, + 5323, + 5331, + 5332, + 5333, + 5340, + 5363, + 5365, + 5379, + 5381, + 5384, + 5395, + 5396, + 5398, + 5399, + 5403, + 5426, + 5427, + 5431, + 5436, + 5438, + 5440, + 5454, + 5459, + 5481, + 5493, + 5500, + 5516, + 5521, + 5522, + 5529, + 5544, + 5545, + 5549, + 5550, + 5559, + 5561, + 5563, + 5570, + 5572, + 5576, + 5580, + 5594, + 5605, + 5623, + 5628, + 5635, + 5641, + 5651, + 5653, + 5662, + 5674, + 5676, + 5702, + 5711, + 5728, + 5735, + 5736, + 5737, + 5747, + 5749, + 5764, + 5785, + 5786, + 5790, + 5802, + 5809, + 5815, + 5822, + 5824, + 5826, + 5828, + 5838, + 5839, + 5843, + 5851, + 5853, + 5859, + 5861, + 5865, + 5872, + 5885, + 5894, + 5903, + 5905, + 5908, + 5910, + 5914, + 5920, + 5922, + 5940, + 5945, + 5968, + 5970, + 5983, + 5993, + 5994, + 6004, + 6006, + 6029, + 6039, + 6045, + 6064, + 6070, + 6072, + 6100, + 6120, + 6126, + 6130, + 6157, + 6159, + 6162, + 6163, + 6176, + 6180, + 6196, + 6201, + 6202, + 6210, + 6217, + 6220, + 6223, + 6225, + 6227, + 6240, + 6244, + 6248, + 6249, + 6252, + 6258, + 6261, + 6266, + 6289, + 6297, + 6300, + 6308, + 6310, + 6323, + 6325, + 6329, + 6330, + 6332, + 6338, + 6341, + 6349, + 6350, + 6363, + 6365, + 6367, + 6384, + 6392, + 6393, + 6400, + 6410, + 6412, + 6424, + 6428, + 6442, + 6449, + 6454, + 6466, + 6472, + 6473, + 6481, + 6486, + 6487, + 6496, + 6500, + 6512, + 6517, + 6532, + 6547, + 6551, + 6554, + 6556, + 6558, + 6561, + 6569, + 6584, + 6595, + 6603, + 6605, + 6607, + 6608, + 6618, + 6622, + 6625, + 6630, + 6631, + 6634, + 6641, + 6647, + 6650, + 6651, + 6666, + 6670, + 6682, + 6688, + 6698, + 6711, + 6718, + 6727, + 6739, + 6740, + 6743, + 6754, + 6755, + 6771, + 6774, + 6775, + 6785, + 6789, + 6794, + 6800, + 6804, + 6826, + 6832, + 6843, + 6848, + 6850, + 6855, + 6856, + 6870, + 6871, + 6878, + 6879, + 6889, + 6906, + 6914, + 6916, + 6918, + 6929, + 6934, + 6951, + 6955, + 6962, + 6974, + 6975, + 6977, + 6989, + 6993, + 6997, + 7013, + 7025, + 7036, + 7046, + 7047, + 7051, + 7063, + 7072, + 7077, + 7089, + 7093, + 7108, + 7110, + 7118, + 7142, + 7144, + 7152, + 7155, + 7156, + 7161, + 7162, + 7163, + 7166, + 7168, + 7169, + 7173, + 7199, + 7201, + 7204, + 7207, + 7216, + 7223, + 7224, + 7228, + 7231, + 7248, + 7259, + 7261, + 7262, + 7267, + 7275, + 7292, + 7301, + 7308, + 7334, + 7346, + 7364, + 7367, + 7375, + 7377, + 7379, + 7398, + 7399, + 7401, + 7405, + 7407, + 7414, + 7417, + 7420, + 7443, + 7457, + 7464, + 7465, + 7471, + 7472, + 7474, + 7476, + 7485, + 7488, + 7493, + 7498, + 7501, + 7507, + 7514, + 7516, + 7521, + 7529, + 7533, + 7537, + 7548, + 7557, + 7585, + 7590, + 7609, + 7612, + 7618, + 7623, + 7625, + 7632, + 7636, + 7642, + 7644, + 7647, + 7649, + 7654, + 7655, + 7680, + 7692, + 7695, + 7701, + 7708, + 7713, + 7722, + 7727, + 7728, + 7736, + 7737, + 7739, + 7742, + 7744, + 7749, + 7753, + 7772, + 7791, + 7793, + 7807, + 7811, + 7826, + 7829, + 7834, + 7841, + 7844, + 7846, + 7854, + 7876, + 7879, + 7880, + 7882, + 7886, + 7887, + 7888, + 7911, + 7912, + 7921, + 7927, + 7930, + 7931, + 7932, + 7936, + 7942, + 7945, + 7961, + 7966, + 7968, + 7976, + 8000, + 8009, + 8013, + 8014, + 8020, + 8023, + 8028, + 8043, + 8045, + 8047, + 8060, + 8066, + 8069, + 8074, + 8078, + 8080, + 8084, + 8088, + 8091, + 8103, + 8107, + 8109, + 8113, + 8122, + 8134, + 8142, + 8148, + 8159, + 8180, + 8181, + 8187, + 8191, + 8199, + 8201, + 8204, + 8205, + 8214, + 8235, + 8242, + 8244, + 8247, + 8262, + 8267, + 8271, + 8278, + 8279, + 8280, + 8281, + 8284, + 8301, + 8305, + 8310, + 8327, + 8329, + 8342, + 8358, + 8360, + 8381, + 8383, + 8384, + 8394, + 8404, + 8406, + 8416, + 8421, + 8423, + 8426, + 8452, + 8454, + 8458, + 8463, + 8466, + 8467, + 8471, + 8474, + 8478, + 8479, + 8481, + 8493, + 8499, + 8501, + 8503, + 8511, + 8518, + 8524, + 8526, + 8532, + 8537, + 8539, + 8555, + 8556, + 8560, + 8574, + 8575, + 8581, + 8612, + 8616, + 8617, + 8618, + 8628, + 8629, + 8636, + 8650, + 8655, + 8657, + 8660, + 8664, + 8665, + 8674, + 8685, + 8688, + 8694, + 8698, + 8699, + 8720, + 8729, + 8731, + 8736, + 8743, + 8749, + 8761, + 8762, + 8764, + 8767, + 8771, + 8773, + 8779, + 8791, + 8793, + 8794, + 8799, + 8803, + 8813, + 8814, + 8819, + 8826, + 8827, + 8832, + 8834, + 8836, + 8839, + 8841, + 8847, + 8859, + 8864, + 8868, + 8870, + 8879, + 8881, + 8889, + 8909, + 8910, + 8919, + 8921, + 8922, + 8928, + 8930, + 8947, + 8950, + 8961, + 8965, + 8972, + 8979, + 8983, + 8985, + 8990, + 8993, + 9001, + 9013, + 9018, + 9019, + 9025, + 9030, + 9035, + 9038, + 9039, + 9042, + 9044, + 9053, + 9054, + 9056, + 9066, + 9100, + 9120, + 9123, + 9129, + 9134, + 9142, + 9143, + 9144, + 9148, + 9149, + 9171, + 9174, + 9189, + 9194, + 9203, + 9209, + 9233, + 9247, + 9249, + 9253, + 9258, + 9275, + 9291, + 9314, + 9317, + 9329, + 9334, + 9342, + 9343, + 9346, + 9368, + 9414, + 9417, + 9419, + 9420, + 9432, + 9436, + 9447, + 9475, + 9476, + 9477, + 9485, + 9488, + 9499, + 9510, + 9529, + 9535, + 9537, + 9543, + 9546, + 9547, + 9556, + 9566, + 9574, + 9579, + 9582, + 9587, + 9599, + 9608, + 9615, + 9621, + 9628, + 9629, + 9630, + 9638, + 9643, + 9644, + 9648, + 9655, + 9657, + 9676, + 9685, + 9689, + 9699, + 9700, + 9701, + 9712, + 9713, + 9715, + 9726, + 9729, + 9731, + 9745, + 9746, + 9753, + 9765, + 9766, + 9767, + 9783, + 9785, + 9786, + 9798, + 9805, + 9808, + 9825, + 9834, + 9851, + 9857, + 9862, + 9873, + 9875, + 9879, + 9893, + 9896, + 9900, + 9909, + 9913, + 9919, + 9920, + 9938, + 9947, + 9962, + 9964, + 9966, + 9974, + 9977, + 9989, + 9993, + 9998 + ] + }, "seed": 42, "n_train": 14000, "n_val": 3000, diff --git a/artifacts/split_indices.npy b/artifacts/split_indices.npy index b6463eb..2f39af8 100644 Binary files a/artifacts/split_indices.npy and b/artifacts/split_indices.npy differ diff --git a/artifacts/split_integrity_report.json b/artifacts/split_integrity_report.json new file mode 100644 index 0000000..43ff083 --- /dev/null +++ b/artifacts/split_integrity_report.json @@ -0,0 +1,22 @@ +{ + "split": "group_by_item_idx", + "seed": 42, + "n_groups_total": 10000, + "n_groups_per_split": { + "test": 1500, + "train": 7000, + "val": 1500 + }, + "n_rows_per_split": { + "test": 3000, + "train": 14000, + "val": 3000 + }, + "label_mean_per_split": { + "test": 0.5, + "train": 0.5, + "val": 0.5 + }, + "groups_spanning_multiple_splits": 0, + "leakage_free": true +} \ No newline at end of file diff --git a/blueprint.md b/blueprint.md index 810235d..0b30bb7 100644 --- a/blueprint.md +++ b/blueprint.md @@ -16,9 +16,9 @@ The two versions must not be mixed during the course. The biggest risk is trying > **Build a clean, defensible course project first. Then extend it into a stronger publication study.** -> **IMPLEMENTATION STATUS (updated 2026-08-05):** ✅ DONE | 🔶 PARTIAL | ⬜ TODO +> **IMPLEMENTATION STATUS (updated 2026-08-06):** ✅ DONE | 🔶 PARTIAL | ⬜ TODO > -> Version A is implemented end-to-end: dataset+audit (A7 ✅), all 7 feature groups incl. NLI (A8 ✅), ML pipeline with 5-fold CV/tuning/3 seeds (A9 ✅), evaluation incl. error analysis + LLM-judge comparison + latency (A10 ✅ — citing published HaluEval numbers is a paper step), API (A11 ✅), 4-page web app (A12 ✅), paper (A13 🔶 — full draft compiled in report/out/paper.pdf, 12 pages with real-data tables/figures; proofreading + final bibliography pass pending), reproducibility checklist (A18 ✅). Version B remains future work — do not implement during the course. +> Version A integrity repair is complete: group-aware split by `item_idx` is leakage-free (0 groups spanning splits), and all corrected artifacts were regenerated (XGBoost F1 0.9842 / AUROC 0.9982, calibration ECE raw 0.0122 / Platt 0.0101 / isotonic 0.0071, RAGTruth zero-shot F1 0.4819, LLM-judge F1 0.84 vs XGBoost 0.985, per-seed metrics, manifest). API and pytest verified; Colab notebook/zip produce portable artifacts (HALU_XGB_DEVICE=cpu). Remaining for final: manual 50-sample audit review, manual error-case review, paper claim updates (A13), web lint/build/clean-clone verification, and pushing the final state to `version-A`. Version B stays locked until that push. --- @@ -115,9 +115,9 @@ The corrected idea remains valuable because it is practical, measurable, explain | Target | Is the contribution sufficient? | Critical Verdict | How to improve without making it impossible | | -------------------------------- | ------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | | Undergraduate ML course | Yes (Strong) | Strong if mandatory upgrades (NLI, 5-fold CV, 3 seeds, external baseline) done. | Keep scope focused; add NLI features; parallel paper writing. | -| IEEE Access | Yes (Extended version) | Good fit: comparative study + cross-domain + calibration. 70%+ probability. | Add RAGTruth, multicalibration, explanation metrics, Docker artifact. | +| IEEE Access | Candidate after evidence gate | Applications-oriented venue; assess scope and current quartile at submission. | Add corrected cross-domain results, calibration, explanation metrics, artifact. | | Multimedia Systems (Springer) | Possible (after extension) | Must differentiate from existing SHAP+LIME paper (2026) in same venue. | Emphasize explanation reliability metrics (FAC, PSI), not just SHAP visualization. | -| Expert Systems with Applications | Possible (after strong results) | Needs strong applied framing + excellent cross-domain results. 45-55% probability. | Emphasize risk triage, explanation reliability, and real deployment constraints. | +| Expert Systems with Applications | Candidate after strong results | Requires strong applied framing and defensible external evaluation. | Emphasize risk triage, explanation reliability, and deployment constraints. | | ACL Findings | Borderline/weak | Needs stronger NLP contribution than engineered features + XGBoost. | Add evidence-conditioned analysis, cross-domain transfer, and deeper error taxonomy. | | EMNLP Findings | Borderline/weak | Similar to ACL; benchmark-only applied system is likely insufficient. | Add new benchmark insight, annotation analysis, or explanation-faithfulness study. | @@ -366,7 +366,7 @@ Never remove: --- -## A7. Dataset Plan — ✅ DONE +## A7. Dataset Plan — ✅ GROUPED SPLIT DONE, MANUAL AUDIT PENDING ### Primary dataset @@ -388,11 +388,13 @@ HaluEval is the best available dataset for the course, but it has known weakness 2. **Self-reinforcement risk.** ChatGPT generates AND filters the hallucinated samples, creating a potential circular artifact — the benchmark may reward systems that recognize ChatGPT-specific hallucination patterns rather than general hallucination patterns. 3. **Binary classification oversimplification.** "Is this answer hallucinated? Yes/No" ignores graded severity, partial hallucination, and ambiguity. Real deployment needs risk scores, not binary flags — which is exactly what HaluRISC provides. 4. **Generated with early-2023 ChatGPT.** RLHF, model architectures, and hallucination patterns have evolved significantly since. -5. **No license file.** The GitHub repo lacks a LICENSE — a minor reproducibility concern. +5. **License and provenance.** The official HaluEval repository currently states an MIT License. Retain attribution, citation, and the exact source revision in the reproducibility manifest. 6. **Conflates factuality with hallucination.** HalluLens (ACL 2025) notes the benchmark tests consistency with Wikipedia, not consistency with model training data — blurring the line between factually wrong and hallucinated. **Required actions:** - Manually inspect 50 random HaluEval samples (Week 1) to verify label quality before committing to the dataset. +- Split by the original question/group identifier (`item_idx`) so the correct and hallucinated variants never cross train/validation/test boundaries. +- Save a split-integrity report proving that every source question belongs to exactly one partition. - Add a dedicated "Dataset Limitations" subsection in the course paper discussing these issues. - Do NOT claim the model generalizes to real-world LLM outputs based on HaluEval results alone. Frame results as "performance on HaluEval benchmark" not "general hallucination detection performance." @@ -411,10 +413,10 @@ Do not try to build a universal detector across all domains in the course versio | Dataset | Size | Advantages | Disadvantages | Licensing | Course Suitability | | ----------- | ---------------------------: | -------------------------------------------------------- | --------------------------------------------- | ---------------------------------------- | ---------------------------------------------------- | -| HaluEval | Large | Directly relevant; benchmark-style; enough training data | May contain artifacts; may not generalize | Verify original repo/license and cite | Best primary choice | -| TruthfulQA | Small | Tests truthful answering; useful external reference | Not ideal for supervised large-scale training | Public research dataset; verify license | Optional discussion or extension | -| RAGTruth | Medium/large depending split | Better for evidence-grounded hallucination | More complex; may take longer to process | Verify terms before redistribution | Better for publication extension | -| Custom data | Flexible | Can match demo scenario | Labeling cost and reliability issues | Must document generation/labeling rights | Not recommended for course except tiny demo-only set | +| HaluEval | Large | Directly relevant; benchmark-style; enough training data | May contain artifacts; may not generalize | MIT; cite official repository | Best primary choice | +| TruthfulQA | Small | Tests truthful answering; useful external reference | Not ideal for supervised large-scale training | Verify license before use | Optional discussion or extension | +| RAGTruth | Medium/large depending split | Better for evidence-grounded hallucination | More complex; may take longer to process | MIT; cite official repository | Better for publication extension | +| Custom data | Flexible | Can match demo scenario | Labeling cost and reliability issues | Must document generation/labeling rights | Not recommended for course except tiny demo-only set | ### Licensing rule @@ -467,7 +469,7 @@ Use approximately **15–30 total features**. This is enough for a good paper an --- -## A9. ML Pipeline — ✅ DONE (XGBoost + Platt final model, F1 0.9886 / AUROC 0.9980 on test) +## A9. ML Pipeline — ✅ CORRECTED RERUN DONE (XGBoost F1 0.9842 / AUROC 0.9982 on leakage-free test) ### Course workflow @@ -504,8 +506,10 @@ Recommended: - validation: 15% - test: 15% -Use stratification by label. If official splits are available and clean, use official splits. -**Save split indices to disk** for exact reproducibility (not just fixed seed). +Use group-aware stratification by `item_idx`: assign each original question to exactly one partition, then place both answer variants in that partition. If official splits are available and clean, use official splits. +**Save split indices and group identifiers to disk** for exact reproducibility (not just a fixed seed). Add an automated assertion that no group appears in more than one split. + +The existing row-level split is invalid for final reporting because paired correct/hallucinated answers from the same question cross partition boundaries. All A9 metrics and downstream artifacts must be regenerated after this repair. ### Cross-validation @@ -562,7 +566,7 @@ For the paper, include: --- -## A10. Evaluation Strategy — ✅ DONE (implementation: metrics, stats, calibration, ablations, RAGTruth zero-shot, 10 FP + 10 FN error analysis, LLM-as-judge comparison on 200 samples, latency/cost analysis; citing published HaluEval numbers happens in the paper, A13) +## A10. Evaluation Strategy — ✅ CORRECTED EVIDENCE PRODUCED (manual error-case review pending) ### Required metrics @@ -592,6 +596,7 @@ Efficiency: - **Cost comparison:** Estimated GPT-3.5-turbo API cost for evaluating the same 1,000 samples via LLM-as-a-judge (for efficiency advocacy) - model artifact size - runtime memory usage during API inference +- total latency p50 and p95, including feature extraction and explanation Statistical testing (Mandatory): @@ -615,6 +620,7 @@ Compare against at least one external reference point so readers can calibrate w - **SelfCheckGPT-NLI performance** on the same HaluEval QA subset. Use published numbers if available, or re-implement the NLI-based variant (requires multiple LLM generations — expensive, so run on a 200-sample test subset only). - **Alternative:** Cite the best published HaluEval QA detection F1/AUROC from the benchmark leaderboard or recent papers (e.g., IEEE TAI 2026 hybrid framework, IJERT 2026, Luna/COLING 2025). +- Add answer-only, context-only, lexical/TF-IDF, and overlap controls to quantify benchmark shortcuts before interpreting the XGBoost result. - This comparison takes ~2 hours and dramatically improves paper credibility. Without it, readers cannot tell if F1=0.78 is good or bad. ### Ablation studies @@ -645,7 +651,7 @@ This will strengthen the paper significantly. --- -## A11. Course System Architecture — ✅ DONE (/predict, /explain, /judge, /health; model+features loaded at startup) +## A11. Course System Architecture — 🔶 IMPLEMENTED, LIVE VERIFICATION PENDING (/predict, /explain, /judge, /health) ### Architecture diagram @@ -721,7 +727,7 @@ Returns backend status. --- -## A12. Web Application for Course Demo — ✅ DONE (Chat w/ generative UI, Analyze, Dashboard with real artifacts data, About) +## A12. Web Application for Course Demo — 🔶 IMPLEMENTED, DEMO HARDENING PENDING ### App purpose @@ -779,7 +785,7 @@ Do NOT fill the paper with UI screenshots. The web application is a demonstratio --- -## A13. Course Paper Blueprint — 🔶 PARTIAL (full draft compiled: report/out/paper.pdf, 12 pages, all real-data tables/figures; proofreading + final bibliography pass pending) +## A13. Course Paper Blueprint — 🔶 PARTIAL (draft compiled; corrected data, audit evidence, claim review, proofreading, and bibliography still pending) ### Recommended course paper title @@ -895,6 +901,21 @@ Because the course paper is more important, finish these before over-polishing U **Critical rule: Paper writing is a parallel track every week, not a Week 8 sprint.** Each week has both implementation deliverables AND paper writing deliverables. +### Current completion gate before Version B + +The original eight-week implementation is present, but Version A is not considered final until these gates pass: + +1. Repair the HaluEval split to be group-aware by `item_idx` and verify zero cross-split group overlap. +2. Manually review 50 unique source questions and save the completed audit file. +3. Regenerate features, models, calibration, statistics, ablations, SHAP, error analysis, latency, and RAGTruth artifacts. +4. Add answer-only/context-only/lexical shortcut controls and record the actual NLI checkpoint. +5. Manually verify the sampled FP/FN cases and correct the heuristic error categories. +6. Run the required Python tests, live API smoke test, `pnpm run lint`, `pnpm run build`, and a clean-clone reproduction test. +7. Rewrite the course paper so every numerical, manual-review, calibration, and generalization claim matches the corrected artifacts. +8. Commit and push the final Version A state to `version-A` before starting any Version B experiment. + +Version B is explicitly locked until this gate is complete. The existing Colab notebook remains the execution vehicle for heavy training; its cells will be updated after the grouped-split and evaluation scripts are repaired. + ### Week 1 — Literature, Dataset Setup, and Manual Audit Objectives: @@ -1095,6 +1116,7 @@ Mitigation: record backup demo video/screenshots; prioritize paper quality over | Research | Weak novelty | High | Emphasize compound contribution (features + calibration + SHAP + demo + NLI). | | Dataset | HaluEval synthetic artifacts inflate perf | High | Discuss honestly in Limitations; manually audit 50 samples first. | | Dataset | HaluEval labels incorrect for 10%+ samples| Medium | Manual audit in Week 1; flag and exclude clearly mislabeled samples. | +| Research | Paired answers cross train/validation/test | Critical | Group by `item_idx`, assert zero overlap, and rerun all experiments. | | Implementation | API/frontend delay | Medium | Build with mock JSON first; reduce to 2 pages if needed. | | Novelty | Reviewers see "XGBoost + SHAP only" | High | Frame as compound system; differentiate from Multimedia Systems 2026 paper. | | Novelty | IJERT (2026) pre-covers feature combo | Medium | Cite and differentiate via hedging features, calibration, and cross-domain. | @@ -1122,7 +1144,7 @@ Do not include: --- -## A17. Course Final Verdict +## A17. Course Final Verdict — 🔶 FINAL INTEGRITY GATE PENDING | Dimension | Score / 10 | | -------------------------------- | ---------: | @@ -1136,11 +1158,11 @@ Do not include: ### Course verdict -This is a strong and realistic ML course project if implemented as a **paper-first calibrated hallucination-risk prediction system** with a focused dataset, compact feature set (including mandatory NLI), clean experiments with 3-seed reporting and statistical tests, SHAP explanations with reliability analysis, and a polished but scope-controlled web demo. The compound contribution — engineered evidence-consistency features + NLI + calibration + SHAP + deployable demo — exceeds typical undergraduate course project expectations. +This is a strong and realistic ML course project at the implementation level. The final academic verdict is pending the grouped-split repair and corrected evidence package. After that repair, it can be presented as a **paper-first calibrated hallucination-risk prediction system** with a focused dataset, compact feature set, clean experiments, statistical tests, SHAP explanations, and a polished demo. Do not use the current leaked-split headline metrics as final claims. --- -## A18. Mandatory Reproducibility Checklist — ✅ DONE (all items below verified) +## A18. Mandatory Reproducibility Checklist — 🔶 GATE PENDING Before considering the course project complete, verify all items: @@ -1150,15 +1172,20 @@ Before considering the course project complete, verify all items: [x] Saved calibration layer (calibrator_platt.joblib) [x] Saved SHAP explainer object (shap_explainer.joblib — saved by src/explain/shap_analysis.py; API loads it) [x] Saved train/val/test split indices (split_indices.json + .npy) +[x] Group-aware split verified: no `item_idx` appears in more than one partition (leakage-free report saved 2026-08-06) +[ ] Completed manual audit saved as `data/processed/audit_50_samples.json` (auto-sampled file exists; human review pending) [x] Feature extraction script with version pin (src/features/*, FEATURE_VERSION in API) [x] All random seeds documented in a single config file (src/models/config.py — SEEDS = [42, 123, 456]) [x] README.md with exact reproduction steps (pnpm/Next 16 commands, real benchmark tables, hardware spec) [x] Hardware/software specification — Python 3.12.13, Windows 11, RTX 3060 6GB (CUDA 12.8), pinned libs (requirements.txt, params.json) [x] Saved figures in vector format (PDF + PNG) for paper inclusion [x] Git repository with clean commit history and .gitignore +[ ] Live API integration test with artifact-backed `/predict` and `/explain` +[ ] `pnpm run lint` and `pnpm run build` pass on the current checkout +[ ] Clean-clone reproduction test passes ``` -This checklist must be satisfied **before Week 8 presentation**. Reproducibility is a key grading criterion. +This checklist must be satisfied **before Version A is pushed as final and before Version B begins**. Existing artifacts remain provisional until the corrected split and all dependent artifacts are regenerated. --- @@ -1166,7 +1193,9 @@ This checklist must be satisfied **before Week 8 presentation**. Reproducibility Extend the course project into a stronger applied research study suitable for a decent Q2-level journal. -The publication version must move beyond “we trained XGBoost on HaluEval.” That alone is not enough. +**Sequencing rule:** Version B begins only after Version A passes the integrity gate in A14/A18 and the corrected Version A commit is pushed to `version-A`. The `version-B` branch is reserved for post-repair publication work; it must not silently replace or mix with the course baseline. + +The publication version must move beyond “we trained XGBoost on HaluEval.” That alone is not enough. Current Version A metrics are provisional until the group-aware split is rerun. The extended version should focus on: @@ -1191,14 +1220,14 @@ This is stronger than the course question because it tests generalization and ex The publication version should claim the following contributions: 1. A cross-domain black-box hallucination-risk framework using engineered evidence-aware features and NLI signals. -2. **Multicalibration** analysis (Platt, isotonic, and embedding-based cluster calibration) across in-domain and out-of-domain datasets, following the AWS Cost-Effective framework (Valentin et al., 2024). +2. Calibration analysis (Platt, isotonic, and carefully defined subgroup calibration) across in-domain and out-of-domain datasets, informed by Valentin et al. (2024). Embedding-cluster calibration is optional and must use minimum group sizes and a pooled fallback. 3. Feature-group ablation, feature interaction testing (2-way and 3-way combinations), and **explanation faithfulness analysis** with quantitative metrics. 4. Comparison against classical baselines + at least one neural/semantic baseline (e.g., DeBERTa-NLI classifier, Luna/COLING 2025). 5. An open-source reproducible web-based artifact with Dockerized backend and automated experiment scripts. -### What makes this Q2-journal-worthy? +### What may make this publication-worthy? -The publication strength comes from the **compound contribution**: rigorous cross-domain evaluation, multicalibration analysis, explanation faithfulness metrics, practical deployability, and honest limitations. The field has no published paper combining all five. Position as an **applied, reproducible, calibration-aware hallucination-risk framework** — not SOTA. +The publication strength should come from the **compound evidence**: leakage-controlled cross-domain evaluation, calibration analysis, explanation faithfulness metrics, practical deployability, and honest limitations. Do not claim to be the first paper combining these elements or guarantee a journal quartile. Position the work as an **applied, reproducible, calibration-aware hallucination-risk framework** — not SOTA. --- @@ -1210,8 +1239,8 @@ The publication strength comes from the **compound contribution**: rigorous cros | Novelty | 8 | Explanation reliability testing is genuinely novel. Cross-domain + calibration for classical ML is underexplored. | | Practicality | 9 | Highly practical and deployable; 2-4 orders of magnitude cheaper than LLM-based methods. | | Engineering Complexity | 7 | More complex due to multiple datasets, explanation metrics, and reproducibility requirements. | -| Research Complexity | 8 | Strong: robustness, multicalibration, explanation faithfulness, feature interaction analysis. | -| Publication Potential | 8 | Realistic for Q2 applied venues (IEEE Access 70%+, Multimedia Systems 55%+). | +| Research Complexity | 8 | Strong: robustness, subgroup calibration, explanation faithfulness, and feature interaction analysis. | +| Publication Potential | 8 | Conditional on corrected leakage-free results and complete external evaluation. | | Implementation Risk | 6 | Dataset alignment and cross-domain evaluation are non-trivial; explanation metrics need careful design. | | Scalability | 8 | Lightweight inference remains scalable. | | Reproducibility | 9 | Strong if Dockerized with automated scripts and exact version pins. | @@ -1275,29 +1304,30 @@ Why this is stronger: ### Secondary datasets (use at least two) -1. **RAGTruth (ACL 2024)** — **Mandatory primary external dataset.** 18K naturally generated RAG responses with word-level span annotations and hallucination type labels. Diverse LLM sources (GPT-3.5, GPT-4, Llama-2, Mistral). Much stronger than HaluEval for real-world generalization testing. ~1 week preprocessing. -2. **FaithBench (NAACL 2025)** — **Strong supplementary.** Human-annotated hallucinations from 10 modern LLMs. Focused on challenging cases where SOTA detectors disagree. Key finding: best detectors near 50% accuracy — significant room for improvement. -3. **HalluLens benchmark (ACL 2025)** — **Optional.** Clear intrinsic/extrinsic taxonomy with dynamic test generation to prevent data leakage. Useful for fine-grained hallucination type analysis. +1. **RAGTruth (ACL 2024)** — **Mandatory primary external dataset.** Nearly 18K naturally generated RAG responses with case-level and word-level annotations. Use the QA portion first, preserve official splits where possible, and group by `source_id` because one source can produce multiple responses. The official repository is MIT-licensed; do not assume the local 2K cache is the complete benchmark. +2. **FaithBench (NAACL 2025)** — **Strong supplementary stress test.** Human-annotated difficult summarization cases from 10 modern LLMs across 8 families. Map source text to context and summary to answer, document label mapping, and respect the repository's CC BY-NC-SA terms. Do not bundle the dataset in the artifact. +3. **HalluLens benchmark (ACL 2025)** — **Optional.** It uses a clear intrinsic/extrinsic taxonomy and dynamically generates evaluation data to reduce leakage. It requires an additional generation/inference workflow and is not a direct replacement for evidence-grounded QA. The repository is primarily CC BY-NC; use only if licensing and compute are acceptable. 4. **TruthfulQA** — **Downgraded.** 817 questions, partially saturated, measures factuality not hallucination. Use only as an optional discussion point, not as a primary external evaluation. ### Dataset comparison for publication | Dataset | Role | Advantage | Limitation | Priority | | ----------- | --------------------------------- | ---------------------------------------- | ---------------------------------------------- | -------- | -| HaluEval | Training/in-domain test | Large; well-known benchmark | Synthetic (85%); binary; stale | Primary | -| RAGTruth | External evidence-grounded test | Natural responses; word-level spans | RAG-specific; more complex preprocessing | **Mandatory** | -| FaithBench | Challenging case stress test | Modern LLMs; human-annotated; difficult | Small-ish dataset; detector-disagreement focus | Strong | -| HalluLens | Fine-grained taxonomy evaluation | Dynamic generation; prevents leakage | Newer; less established | Optional | -| TruthfulQA | Discussion only | Standard benchmark | Saturated; small; measures factuality | Optional | +| HaluEval | Training/in-domain test | Large; well-known benchmark | Synthetic (85%); binary; benchmark artifacts | Primary | +| RAGTruth | External evidence-grounded test | Natural responses; word-level spans | RAG-specific; source-group preprocessing | **Mandatory** | +| FaithBench | Challenging summarization stress | Modern LLMs; human-annotated; difficult | CC BY-NC-SA; task/label mapping required | Strong | +| HalluLens | Dynamic taxonomy evaluation | Intrinsic/extrinsic tasks; leakage controls | CC BY-NC; extra generation workflow | Optional | +| TruthfulQA | Discussion only | Standard benchmark | Small; factuality rather than evidence support | Optional | ### Recommended publication dataset setup -- **Train:** HaluEval QA subset. -- **Validate:** Held-out HaluEval validation split. -- **In-domain test:** HaluEval test split. -- **Primary external test:** RAGTruth (zero-shot or lightly adapted). -- **Stress test:** FaithBench (challenging cases, modern LLMs). -- **Optional discussion:** TruthfulQA, HalluLens. +- **Train:** leakage-controlled HaluEval QA group split. +- **Validate:** held-out HaluEval validation groups for tuning and calibration. +- **In-domain test:** locked HaluEval test groups. +- **Primary external test:** RAGTruth QA, zero-shot first; target calibration is a separate explicitly labeled experiment. +- **Stress test:** FaithBench summarization with a pre-registered label mapping. +- **Optional discussion:** TruthfulQA, HalluLens, or the 2026 TRIVIA+ preprint. +- **Distribution rule:** never fit preprocessing, thresholds, calibrators, or model parameters on an external test set. --- @@ -1305,6 +1335,8 @@ Why this is stronger: The publication version can extend the course features, but every new feature must be justified and ablated. +Do not expand the feature set before the corrected Version A baseline is established. First add artifact-control baselines (answer-only, context-only, lexical/TF-IDF, and overlap controls). Only then consider one evidence-coverage extension, such as sentence-level support/contradiction aggregation, and retain it only if it improves out-of-domain behavior with a documented ablation. + **Note: NLI features have been moved to Version A (mandatory).** The publication version builds on top of the already strong course feature set. ### Additional feature groups for publication @@ -1319,14 +1351,15 @@ The publication version can extend the course features, but every new feature mu **Caveat on evidence graph features (EGC, 2026):** Graph structural features show systematic reversal across model families — they work for Llama-2 but reverse for GPT-4/Mistral. Use cautiously and test on the specific LLM generating your answers. -### Multicalibration methodology (from Valentin et al., 2024) +### Calibration-under-shift methodology (informed by Valentin et al., 2024) -Standard Platt/isotonic calibration fits a single calibrator. Multicalibration: -1. Cluster inputs by semantic embedding (use Sentence-BERT to embed context+question+answer). -2. Fit per-cluster calibrators. -3. Report per-cluster ECE and overall weighted ECE. +Standard Platt/isotonic calibration fits a single calibrator. Version B must first report subgroup calibration without assuming that per-cluster calibrators will improve results: +1. Define subgroups before test evaluation: dataset, task, context length, answer length, and generator model when available. +2. Fit calibration only on the designated calibration data. +3. Report subgroup ECE, Brier, NLL, calibration slope/intercept, sample counts, and worst-group results. +4. Treat embedding-cluster calibrators as an optional exploratory analysis with minimum group size and a pooled fallback. -This significantly improves calibration under distribution shift and is a strong publication differentiator. +This tests calibration under distribution shift without creating statistically unstable tiny calibrators. ### Publication feature discipline @@ -1363,6 +1396,16 @@ flowchart TD Explain --> Artifact[Open-Source Artifact / Dashboard] ``` +### Publication execution order + +1. Freeze the corrected Version A group split and baseline. +2. Build a unified schema for HaluEval, RAGTruth, and FaithBench. +3. Run the HaluEval in-domain experiment with artifact-control baselines. +4. Run zero-shot RAGTruth and FaithBench transfer evaluations. +5. Fit and compare calibration methods using only permitted calibration data. +6. Run explanation faithfulness and perturbation experiments. +7. Freeze artifacts, build the reproducible dashboard, and write the manuscript from the frozen manifest. + ### Models to compare Minimum: @@ -1385,6 +1428,7 @@ Compare: - uncalibrated model - Platt scaling - isotonic regression +- subgroup calibration diagnostics with minimum sample-count rules Report: @@ -1403,6 +1447,8 @@ Add tests such as: This helps avoid the criticism that SHAP is only decorative. +Do not use arbitrary pass thresholds for FAC or PSI. Report the measured correlations, stability distributions, confidence intervals, and failure examples. + --- ## B10. Publication Evaluation Strategy @@ -1411,7 +1457,7 @@ This helps avoid the criticism that SHAP is only decorative. 1. In-domain classification performance. 2. Out-of-domain generalization (RAGTruth, FaithBench). -3. Calibration analysis (Platt, isotonic, multicalibration). +3. Calibration under shift (Platt, isotonic, and subgroup calibration diagnostics). 4. Ablation studies (single group removal + 2-way interactions). 5. **Explanation reliability** (quantitative metrics). 6. Latency and deployment cost. @@ -1422,15 +1468,15 @@ These quantitative metrics test whether SHAP explanations are trustworthy — ad 1. **Feature Ablation Correlation (FAC):** - Rank features by SHAP importance. - - Remove each feature one at a time, retrain model, measure performance drop. + - Remove each feature or feature group one at a time, retrain or refit under the pre-registered protocol, and measure performance and probability changes. - Compute Spearman correlation between SHAP rank and actual impact rank. - - High FAC (>0.7) = SHAP explanations are faithful to model behavior. + - Report the observed correlation and confidence interval; do not treat 0.7 as a universal pass threshold. 2. **Perturbation Stability Index (PSI):** - - For 100 test samples, perturb answer text with synonyms and paraphrases. + - For a pre-registered test subset, apply controlled entity, number, support-sentence, and paraphrase perturbations. - Compute SHAP explanations for original and perturbed versions. - Measure Jaccard similarity of top-5 features before and after perturbation. - - High PSI (>0.8) = explanations are stable under minor input changes. + - Report the observed stability distribution and qualitative failure cases; do not treat 0.8 as a universal pass threshold. 3. **SHAP-Ablation Alignment:** - Compare SHAP global feature importance ranking with ablation study ranking. @@ -1467,6 +1513,13 @@ Efficiency: - model size - CPU inference time +### Artifact-control and human-review requirements + +- Include answer-only, context-only, lexical/TF-IDF, and overlap controls to identify benchmark shortcuts. +- Manually review a stratified sample of in-domain and external errors. +- Have two reviewers assess explanation plausibility on a small sample and record disagreements. +- Preserve dataset licenses, source revisions, split hashes, model checkpoints, and experiment configuration. + Statistical testing: - bootstrap confidence intervals @@ -1512,6 +1565,8 @@ The publication architecture is similar to the course version but with added rig - README with exact reproduction steps (copy-paste runnable) - **requirements.txt with hash-pinned dependencies** (e.g., `pip freeze --require-hashes`) +Heavy experiments run in Colab Pro. The local RTX 3060 6 GB / 32 GB RAM machine is the supported inference, UI, profiling, and demo environment. Keep one API worker, CUDA fp16, bounded inputs, and no reload watcher. A CPU Docker path is preferred for portability; CUDA is an optional local acceleration path. + Do not overbuild a SaaS platform. The artifact should support the research paper, not become a product. --- @@ -1603,15 +1658,35 @@ Do not overbuild a SaaS platform. The artifact should support the research paper --- -## B13. Post-Course Roadmap +## B13. Post-Course Roadmap — EXECUTION ORDER -### Month 1 After Course — Dataset Expansion +### Gate 0 — Finish Version A before Version B Objectives: -- add one external dataset -- build unified schema -- run zero-shot transfer evaluation +- repair the `item_idx` group split; +- manually complete the 50-sample audit; +- rerun all dependent artifacts in Colab Pro; +- correct the course paper and push the final commit to `version-A`. + +Deliverables: + +- leakage report with zero cross-split groups; +- corrected metrics and artifacts; +- completed audit and reviewed error cases; +- paper claims matched to artifacts; +- clean test/build/API verification. + +Version B work must remain blocked until this gate is complete. + +### Month 1 After Version A — Dataset and Baseline Repair + +Objectives: + +- build the unified HaluEval/RAGTruth/FaithBench schema +- preserve source groups and official splits +- add artifact-control baselines +- run corrected in-domain and external pilot evaluations Deliverables: @@ -1622,12 +1697,13 @@ Risks: - label mismatch -### Month 2 — Calibration and Robustness +### Month 2 — Cross-Domain Robustness and Calibration Objectives: -- compare Platt vs isotonic calibration -- analyze in-domain vs out-of-domain reliability +- compare raw, Platt, and isotonic calibration +- analyze dataset/task/context-length subgroup reliability +- report zero-shot versus target-adapted calibration separately Deliverables: @@ -1639,12 +1715,13 @@ Risks: - calibration may degrade OOD -### Month 3 — Explanation Reliability +### Month 3 — Explanation Reliability and Failure Analysis Objectives: -- run perturbation tests -- compare SHAP with ablation importance +- run feature/group ablation alignment +- run controlled perturbation stability tests +- complete two-reviewer explanation and error analysis Deliverables: @@ -1655,13 +1732,14 @@ Risks: - SHAP explanations may not align cleanly with ablation -### Month 4 — Journal Manuscript and Artifact +### Month 4 — Journal Manuscript, UI, and Artifact Objectives: -- polish manuscript -- containerize code -- prepare GitHub repository +- polish manuscript from the frozen artifact manifest +- build a CPU-compatible container and optional CUDA local path +- upgrade the research dashboard and demo mode +- prepare GitHub repository and backup video Deliverables: @@ -1685,10 +1763,15 @@ Risks: | Evaluation | OOD performance drops sharply | Report honestly; use it as motivation for calibration/domain adaptation. | | Novelty | Reviewers say SHAP + XGBoost is standard | Make SHAP only one part; focus on calibrated evidence-aware risk under distribution shift. | | Publication | Q2 venue asks for stronger experiments | Add one stronger baseline and a reproducibility artifact. | +| Methodology | Paired-answer or source-level leakage | Group HaluEval by `item_idx`, RAGTruth by `source_id`, and publish overlap checks. | +| Benchmark | Surface shortcuts inflate scores | Include answer-only, context-only, lexical, TF-IDF, and overlap controls. | +| Licensing | External datasets cannot be redistributed | Ship download scripts, hashes, citations, and license notes; do not bundle restricted data. | +| Compute | Full experiments exceed laptop resources | Run extraction/training/faithfulness studies in Colab Pro; use laptop for inference/UI. | +| Claims | Calibration or explanation claims overreach | Pre-register selection rules and report negative results and confidence intervals. | --- -## B15. Publication Final Verdict +## B15. Publication Final Verdict — PROVISIONAL UNTIL EVIDENCE GATES PASS | Dimension | Score / 10 | | ---------------------------------- | ---------: | @@ -1702,16 +1785,16 @@ Risks: ### Publication verdict -The project can become a strong Q2-level journal paper if the post-course version adds cross-domain evaluation (RAGTruth + FaithBench), multicalibration analysis, explanation faithfulness metrics (FAC, PSI), and a reproducible Dockerized artifact. The compound contribution — engineered features + NLI + calibrated classical ML + explanation reliability + cross-domain + deployable — has no complete published instance. Position as an **applied, reproducible, calibration-aware hallucination-risk framework**. +The project may become a strong applied journal paper if the post-course version first repairs the Version A leakage, then demonstrates cross-domain evaluation (RAGTruth and optionally FaithBench), calibration under shift, explanation reliability, and a reproducible artifact. Do not claim guaranteed Q2 acceptance or an unprecedented combination. Position the work as an **applied, reproducible, calibration-aware hallucination-risk framework** and let the corrected evidence determine the final venue. ### Venue targeting (updated) -| Venue | Probability | Key Requirement | +| Venue | Status | Key Requirement | |-------|-------------|-----------------| -| IEEE Access | **70-80%** | Standard comparative study + cross-domain + calibration bar | -| Multimedia Systems | **55-65%** | Must differentiate from existing SHAP+LIME paper (2026) by emphasizing explanation reliability | -| Expert Systems with Applications | **45-55%** | Needs strong applied framing and excellent results on RAGTruth + FaithBench | -| Applied Soft Computing | **50-60%** | Ensemble angle; needs soft computing framing | +| IEEE Access | Candidate after evidence gate | Standard comparative study + cross-domain + calibration bar | +| Multimedia Systems | Candidate after evidence gate | Must differentiate from existing SHAP+LIME paper (2026) by emphasizing explanation reliability | +| Expert Systems with Applications | Candidate after strong results | Needs strong applied framing and excellent results on RAGTruth + FaithBench | +| Applied Soft Computing | Candidate after evidence gate | Ensemble angle; needs soft computing framing | --- @@ -1804,12 +1887,12 @@ Below is a **high-confidence starter bibliography** made of widely cited, publis 11. **HaluEval benchmark paper (2023)** — _“HaluEval: A Large-Scale Hallucination Evaluation Benchmark for Large Language Models”_. Why it matters: primary benchmark family for this project; verify the exact bibliographic entry from the official paper page or ACL/ArXiv record before finalizing the bibliography. -12. **RAGTruth benchmark paper (2024)** — _“RAGTruth: A Hallucination Benchmark for Retrieval-Augmented Generation”_ - ACL 2024. +12. **RAGTruth benchmark paper (2024)** — _“RAGTruth: A Hallucination Corpus for Developing Trustworthy Retrieval-Augmented Language Models”_ - ACL 2024. Why it matters: primary external dataset for Version B. Word-level span annotations, natural responses from GPT-3.5, GPT-4, Llama-2, Mistral. -13. **Valentin et al. (2024)** - "Cost-Effective Hallucination Detection for LLMs" - arXiv:2407.21424 (AWS AI Labs). - Why it matters: calibration framework (Platt, isotonic, multicalibration, ECE). Directly relevant. +13. **Valentin et al. (2024)** - "Cost-Effective Hallucination Detection for LLMs" - arXiv:2407.21424 (Amazon-affiliated research). + Why it matters: calibrated hallucination scores, conditional attributes, multi-scoring, and cost-aware evaluation. Directly relevant. 14. **Cheng et al. (2024)** - "Small Agent Can Also Rock! Empowering Small Language Models as Hallucination Detector" - EMNLP 2024. Why it matters: small LLMs (7B) match GPT-4 for hallucination detection; cost/performance baseline. @@ -1820,7 +1903,7 @@ Below is a **high-confidence starter bibliography** made of widely cited, publis 16. **Bang et al. (2025)** - "HalluLens: LLM Hallucination Benchmark" - ACL 2025. Why it matters: intrinsic/extrinsic taxonomy; critiques HaluEval. **Note: the "HalluLens" benchmark (double "l") is a distinct external work — not to be confused with this project, HaluRISC.** -17. **Sanchez et al. (2025)** - "FaithBench: A Challenging Hallucination Benchmark" - NAACL 2025. +17. **Bao et al. (2025)** - "FaithBench: A Diverse Hallucination Benchmark for Summarization by Modern LLMs" - NAACL 2025. Why it matters: human-annotated from 10 modern LLMs; strong stress test for Version B. 18. **Kang et al. (2025)** - "Uncertainty Quantification for Hallucination Detection in Large Language Models: Foundations, Methodology, and Future Directions" - arXiv:2510.12040 (Kang, Bakman, Yaldiz, Buyukates, Avestimehr; USC/Birmingham), submitted 14 Oct 2025. @@ -1849,37 +1932,35 @@ Below is a **high-confidence starter bibliography** made of widely cited, publis ## What to do now -For the course, implement **Version A only**. - -Do not attempt Version B during the course. Instead, design the codebase so Version B can be added later. +Finish the Version A integrity gate first. Do not start Version B experiments until the corrected Version A artifacts and paper are pushed to `version-A`. Then switch to `version-B` for the publication roadmap in B13 and roadmap.md §14. ## Final course plan summary -The course version should deliver: +The course version should deliver after the integrity rerun: -1. ✅ HaluEval-based experiment (with manual label audit and documented limitations). -2. ✅ Compact engineered feature set (including mandatory NLI features). -3. ✅ Heuristic baseline, Logistic Regression, Random Forest, and XGBoost comparison. -4. ✅ 5-fold cross-validation + hyperparameter tuning + 3-seed reporting. -5. ✅ XGBoost + Platt calibration final model. -6. ✅ SHAP explanations + error analysis (10 FP + 10 FN taxonomy, auto-tagged for review). -7. ✅ External baseline comparison — RAGTruth zero-shot + LLM-as-judge (200 samples) done; citing published HaluEval numbers is a paper step. -8. ✅ Statistical significance testing (McNemar, bootstrap CI, Wilcoxon). -9. ✅ React (Next.js)/TypeScript dashboard (chat + analyze + experiment gallery + about). -10. 🔶 Journal-style paper — full draft compiled in report/out/paper.pdf (12 pages, all real-data tables/figures); proofreading + final bibliography pass pending. +1. 🔶 HaluEval-based experiment with grouped split, manual label audit, and documented limitations. +2. ✅ Compact engineered feature set including mandatory NLI features. +3. 🔶 Heuristic, shortcut-control, Logistic Regression, Random Forest, and XGBoost comparison. +4. 🔶 5-fold cross-validation, hyperparameter tuning, and 3-seed reporting on corrected partitions. +5. 🔶 XGBoost calibration comparison with a pre-registered deployment choice. +6. 🔶 SHAP explanations plus manually reviewed FP/FN analysis. +7. 🔶 RAGTruth zero-shot and LLM-as-judge comparisons regenerated from corrected artifacts. +8. 🔶 Statistical significance testing and corrected confidence intervals. +9. 🔶 Next.js/TypeScript dashboard verified with real corrected artifacts. +10. 🔶 Journal-style paper updated from the corrected data and final bibliography. ## Final publication plan summary -The publication version should add: +The publication version should add after Version A is frozen: 1. External dataset testing (RAGTruth mandatory, FaithBench strong, HalluLens optional). 2. Cross-domain robustness analysis. -3. Multicalibration (Platt + isotonic + embedding-based cluster calibration). -4. Explanation reliability metrics (FAC, PSI, SHAP-ablation alignment). +3. Calibration under shift (Platt + isotonic + subgroup calibration; embedding clusters optional). +4. Explanation reliability metrics (ablation alignment, controlled perturbation stability, human plausibility review). 5. Neural/semantic baseline comparison (DeBERTa-NLI or Luna/COLING 2025). 6. Feature interaction analysis (2-way and 3-way combinations). 7. Reproducible Dockerized artifact with experiment scripts. -8. Systematic error taxonomy (100+ samples, quantitative breakdown). +8. Systematic, manually reviewed error taxonomy with quantitative breakdown. ## Overall scores @@ -1892,5 +1973,5 @@ The publication version should add: Yes, this project should be pursued. The correct approach is to treat the course version as a **paper-first applied ML project** with a working demo, and treat the publication version as a later extension focused on cross-domain robustness, calibration, and explanation reliability. -The compound contribution — engineered evidence-consistency features + NLI + calibrated classical ML + explanation reliability + cross-domain evaluation + deployable artifact — is a legitimate research gap. Version A (course) is achievable with disciplined scope control. Version B (publication) is a realistic Q2 target (IEEE Access 70%+, Multimedia Systems 55%+) if all mandatory upgrades are implemented and differentiation from the Multimedia Systems 2026 SHAP+LIME paper is clearly articulated. +The compound contribution — engineered evidence-consistency features + NLI + calibrated classical ML + explanation reliability + cross-domain evaluation + deployable artifact — is a defensible applied research direction only if the corrected evidence supports it. Version A must be repaired and frozen first. Version B is a candidate applied-journal study; venue choice and quartile claims must wait until the final results and submission-time scope checks. diff --git a/colab/HaluRISC_Training.ipynb b/colab/HaluRISC_Training.ipynb index e884029..c7940ac 100644 --- a/colab/HaluRISC_Training.ipynb +++ b/colab/HaluRISC_Training.ipynb @@ -4,21 +4,27 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# HaluRISC — Full Training Pipeline (Colab)\n", + "# HaluRISC — Full Training Pipeline (Colab) — corrected grouped-split protocol\n", "\n", - "Runs the complete Version A experiment protocol on Colab GPU:\n", + "Runs the complete experiment protocol on a Colab GPU (T4 or better):\n", "\n", - "1. HaluEval download + prep (70/15/15 stratified splits)\n", - "2. Full feature extraction (length, lexical, entity/NER, **NLI**, numeric, hedging, semantic)\n", - "3. XGBoost tuning (30 iters, 5-fold CV) + baselines + 3-seed protocol\n", - "4. Platt vs isotonic calibration, ECE/Brier, McNemar, bootstrap CIs, ablations\n", + "1. HaluEval download + prepare with a **GROUP-AWARE 70/15/15 split** (both answers of one question stay in the same partition; a leakage report is generated and asserted)\n", + "2. Full feature extraction (length, lexical, entity/NER, **NLI**, numeric, hedging, semantic) + NLI checkpoint provenance\n", + "3. XGBoost tuning (30 iters, 5-fold CV) + baselines + 3-seed protocol + early stopping\n", + "4. Platt vs isotonic calibration, ECE/Brier, McNemar, bootstrap CIs, Wilcoxon, 7-group ablations\n", "5. SHAP global + local explanations\n", "6. RAGTruth zero-shot external validation\n", - "7. Zip artifacts + feature matrix to **Google Drive** (persists) for download\n", + "7. Error analysis (10 FP + 10 FN, auto-tagged for manual review)\n", + "8. Latency/efficiency analysis\n", + "9. Optional LLM-as-judge comparison (needs OPENAI_API_KEY)\n", + "10. Artifact manifest generation (hashes, versions, hardware, split report)\n", + "11. Zip artifacts + feature matrix to **Google Drive** for download\n", "\n", "**Before starting:** have `colab/halurisc_src.zip` from the repo ready. Cell 3 opens a file-picker to select it from your laptop (no Drive upload needed). Alternatively, upload it once to `MyDrive/HaluRISC/halurisc_src.zip` and it will be picked up automatically.\n", "\n", - "**Runtime:** enable GPU (Runtime > Change runtime type > T4). Total wall time ≈ 10–20 min." + "**Runtime:** enable GPU (Runtime > Change runtime type). **Use T4 (16 GB) or L4 (24 GB) if available — an A100 is overkill for this workload** (the models are small by design; total VRAM use is only ~2 GB). Total wall time ≈ 15-30 min.\n", + "\n", + "**After the run:** download the zip, unzip at the repo root of your laptop, then start the API: `& .venv\\Scripts\\python.exe -m uvicorn src.api.main:app --port 8000`." ] }, { @@ -101,9 +107,13 @@ "metadata": {}, "outputs": [], "source": [ - "# 5) HaluEval download + prepare (downloads ~6MB from GitHub)\n", + "# 5) HaluEval download + prepare with GROUP-AWARE split (item_idx) + integrity check\n", "!python src/data/download.py\n", - "!python src/data/prepare.py" + "!python src/data/prepare.py\n", + "import json\n", + "rep = json.load(open('artifacts/split_integrity_report.json'))\n", + "print(json.dumps(rep, indent=2))\n", + "assert rep['leakage_free'] and rep['groups_spanning_multiple_splits'] == 0, 'Split leakage detected!'" ] }, { @@ -112,9 +122,12 @@ "metadata": {}, "outputs": [], "source": [ - "# 6) Full feature extraction (7 groups, ~40K NLI pairs on GPU; ~5-10 min)\n", + "# 6) Full feature extraction (7 groups, ~40K NLI pairs on GPU; ~5-10 min on T4/L4)\n", + "# --device cuda -> models load in fp16 + CUDA; --batch-size 256 -> bigger GPU batches = faster\n", "# Default NLI model: cross-encoder/nli-deberta-v3-base. Fallback: --nli-model cross-encoder/nli-MiniLM2-L6-H768\n", - "!python src/features/extract_features.py" + "!python src/features/extract_features.py --device cuda --batch-size 256\n", + "import json\n", + "print('NLI provenance:', json.load(open('data/processed/nli_model_used.json')))" ] }, { @@ -123,7 +136,11 @@ "metadata": {}, "outputs": [], "source": [ - "# 7) Full experiment protocol: tuning, baselines, 3 seeds, calibration, stats, ablations (~10-20 min)\n", + "# 7) Full experiment protocol: tuning, baselines, 3 seeds, early stopping, calibration, stats, ablations (~10-20 min)\n", + "# HALU_XGB_DEVICE=cpu: xgb training is tiny (14K x 26); CPU keeps the saved models\n", + "# portable so they load on any machine (CUDA-trained boosters do NOT port across platforms).\n", + "import os\n", + "os.environ['HALU_XGB_DEVICE'] = 'cpu'\n", "!python src/models/train_pipeline.py" ] }, @@ -154,16 +171,71 @@ "metadata": {}, "outputs": [], "source": [ - "# 10) Show the headline results\n", + "# 10) Error analysis (10 FP + 10 FN, auto-tagged with the blueprint taxonomy)\n", + "# NOTE: categories are heuristic and must be manually reviewed in\n", + "# artifacts/results/error_analysis_cases.json before the paper uses them.\n", + "!python src/models/error_analysis.py" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# 11) Latency / efficiency analysis (features + predict + SHAP, p50/p95)\n", + "!python src/models/eval_efficiency.py" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# 12) OPTIONAL: LLM-as-judge comparison (200 samples, ~$0.05-0.15)\n", + "# Requires OPENAI_API_KEY. In Colab: Edit > Notebook settings > Secrets, add OPENAI_API_KEY.\n", + "import os\n", + "if os.environ.get('OPENAI_API_KEY'):\n", + " os.system('python src/models/eval_llm_judge.py')\n", + "else:\n", + " print('OPENAI_API_KEY not set - skipping optional LLM-as-judge. You can run it later locally.')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# 13) Generate the artifact manifest (hashes, versions, hardware, split report)\n", + "!python src/models/make_manifest.py\n", + "import json\n", + "m = json.load(open('artifacts/results/manifest.json'))\n", + "print(json.dumps({k: m[k] for k in ['generated_at', 'git_commit', 'model_version', 'nli_model', 'split_report']}, indent=2))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# 14) Show the headline results (model comparison, calibration, RAGTruth, per-seed rows)\n", "import json, pandas as pd\n", "res = json.load(open('artifacts/results/final_results.json'))\n", "rows = {k: v for k, v in res.items() if isinstance(v, dict) and 'f1' in v and 'auroc' in v}\n", "df = pd.DataFrame(rows).T[['precision','recall','f1','auroc','pr_auc','mcc']].round(4)\n", "print('MODEL COMPARISON (test set, mean over seeds 42/123/456)')\n", "print(df.to_string())\n", - "print('\\nCALIBRATION:', json.dumps(res['calibration'], indent=2))\n", + "print('\\nCALIBRATION:')\n", + "print(json.dumps(res['calibration'], indent=2))\n", "print('\\nABLATION:')\n", - "print(pd.DataFrame(res['ablation']).to_string(index=False))" + "print(pd.DataFrame(res['ablation']).to_string(index=False))\n", + "print('\\nPER-SEED XGBOOST:')\n", + "print(pd.DataFrame(json.load(open('artifacts/results/seed_metrics.json'))['xgboost']).round(4).to_string(index=False))\n", + "rt = json.load(open('artifacts/results/ragtruth_results.json'))\n", + "print('\\nRAGTRUTH ZERO-SHOT: f1=%.4f auroc=%.4f ece=%.4f (n=%d)' % (rt['f1'], rt['auroc'], rt['ece'], rt['n_samples']))" ] }, { @@ -172,8 +244,8 @@ "metadata": {}, "outputs": [], "source": [ - "# 11) Package artifacts to Drive (persists across sessions) and offer a download link\n", - "import os, shutil, zipfile\n", + "# 15) Package artifacts to Drive (persists across sessions) and offer a download link\n", + "import os, zipfile\n", "from datetime import date\n", "from google.colab import files\n", "\n", @@ -184,13 +256,14 @@ " for fn in fnames:\n", " p = os.path.join(root, fn)\n", " z.write(p, os.path.relpath(p, '.'))\n", - " for fn in ['data/processed/features_full.parquet', 'data/processed/qa_clean.parquet']:\n", + " for fn in ['data/processed/features_full.parquet', 'data/processed/qa_clean.parquet',\n", + " 'data/processed/nli_model_used.json', 'data/processed/audit_50_samples.json']:\n", " if os.path.exists(fn):\n", " z.write(fn)\n", "print('Saved:', zip_path, f'({os.path.getsize(zip_path)/1e6:.1f} MB)')\n", "print()\n", "print('NEXT: download the zip from your Drive, unzip at the repo root of your laptop.')\n", - "print('The API (uvicorn) and web dashboard will then load the real artifacts.')\n", + "print('The API (uvicorn) and web dashboard will then load the corrected artifacts.')\n", "files.download(zip_path)" ] } @@ -210,4 +283,3 @@ "nbformat": 4, "nbformat_minor": 0 } - diff --git a/data/processed/audit_50_samples.json b/data/processed/audit_50_samples.json new file mode 100644 index 0000000..8db667f --- /dev/null +++ b/data/processed/audit_50_samples.json @@ -0,0 +1,452 @@ +[ + { + "sample_id": "q_5325_correct", + "item_idx": 5325, + "question": "Are Prevention and Drum! both American magazines?", + "context": "Prevention is an American healthy lifestyle magazine, started in 1950, and published by Rodale Press in Emmaus, Pennsylvania, in the United States.DRUM!", + "answer": "yes", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_1020_hallucinated", + "item_idx": 1020, + "question": "The 2007 FIFA U-20 World Cup was the sixteenth edition of the FIFA U-20 World Cup (formerly called FIFA World Youth Championship), hosted by Canada held during which span of dates, Argentine player Sergio Ag\u00fcero was given the FIFA U-20 Golden Shoe?", + "context": "The 2007 FIFA U-20 World Cup was the sixteenth edition of the FIFA U-20 World Cup (formerly called FIFA World Youth Championship), hosted by Canada from 30 June to 22 July 2007.Sergio Leonel \"Kun\" Ag\u00fcero (] ; born 2 June 1988) is an Argentine professional footballer who plays as a striker for Premier League club Manchester City and the Argentina national team.", + "answer": "The 2007 FIFA U-20 World Cup was held from 30 June to 22 July 2007, and Sergio Ag\u00fcero was given the FIFA U-20 Golden Shoe on the first day.", + "label": 1, + "split": "test" + }, + { + "sample_id": "q_4334_correct", + "item_idx": 4334, + "question": "Which actor from the 2001 movie Kiss Kiss was the voice actor for J.A.R.V.I.S in Iron Man?", + "context": "It features Stellan Skarsg\u00e5rd, Chris Penn, and Paul Bettany. He is known for his voice role as J.A.R.V.I.S. and the Vision in the Marvel Cinematic Universe, specifically the films \"Iron Man\" (2008), \"Iron Man 2\" (2010), \"The Avengers\" (2012), \"Iron Man 3\" (2013), \"\" (2015) and \"\" (2016), for which he garnered praise.", + "answer": "Paul Bettany", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_557_correct", + "item_idx": 557, + "question": "WHo is a Grammy winning American musician of Armenian descent, Armen Nalbandian or Arto Tun\u00e7boyac\u0131yan?", + "context": "Armen Nalbandian (born April 6, 1978 in Manchester, England) is a jazz pianist, composer, author, and activist from Los Angeles, California, known for his multidisciplinary collaborations in visual and fine art.Arto Tun\u00e7boyac\u0131yan (Armenian: \u0531\u0580\u057f\u0578 \u0539\u0578\u0582\u0576\u057b\u0562\u0578\u0575\u0561\u057b\u0575\u0561\u0576 ) (born 4 August 1957 in Istanbul) is a Grammy winning American musician of Armenian descent.", + "answer": "Arto Tun\u00e7boyac\u0131yan", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_6951_correct", + "item_idx": 6951, + "question": "Who is younger, Thomaz Koch or Sherwood Stewart?", + "context": "Thomaz Koch (born May 11, 1945 in Porto Alegre), is a left-handed former tennis player from Brazil, who was a quarter-finalist at the French Open, Wimbledon and the U.S. National Championships.Sherwood Stewart (born June 6, 1946, in Goose Creek, Texas, United States) played amateur and professional tennis in the 1970s and 1980s.", + "answer": "Sherwood Stewart", + "label": 0, + "split": "test" + }, + { + "sample_id": "q_5981_hallucinated", + "item_idx": 5981, + "question": "What Northern Irish comic stars in the 2017 film Jawbone with Johnny Harris, Ray Winstone, and Ian McShane?", + "context": "The film stars Johnny Harris, Ray Winstone, Ian McShane, Michael Smiley, Luke J.I. Smith and Anna Wilson-Hall.Michael Smiley (born 1963) is a Northern Irish comic and actor who lives in London.", + "answer": "Northern Irish comic, Michael Smiley stars in the 2017 film Jawbone with an impressive cast.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_5536_correct", + "item_idx": 5536, + "question": "South Hadley High School became known for a series of bullying incidents that led to an event that led to the criminal prosecution of six teenagers for what charges?", + "context": "In January 2010, the school became known across the United States and internationally for a series of bullying incidents that led to the suicide of Phoebe Prince.The suicide of Phoebe Prince, on January 14, 2010, led to the criminal prosecution of six teenagers for charges including civil rights violations, as well as to the enactment of stricter anti-bullying legislation by the Massachusetts state legislature.", + "answer": "civil rights violations", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_1501_correct", + "item_idx": 1501, + "question": "\"Yakety Sax\" composer Boots Randolph was part of what musical style group during most of his professional career?", + "context": "\"Yakety Sax\" is a pop jazz instrumental jointly composed by James Q. \"Spider\" Rich and Boots Randolph. Randolph was a major part of the \"Nashville sound\" for most of his professional career.", + "answer": "the \"Nashville sound\"", + "label": 0, + "split": "val" + }, + { + "sample_id": "q_9885_hallucinated", + "item_idx": 9885, + "question": "What was the birthplace of a voice over actress whom Stephen Marley directed?", + "context": "In one game he designed on PlayStation, , he voice directed, among others, Fenella Fielding and Julie Peasgood.Julie May Peasgood (born 28 May 1956 in Cleethorpes, Lincolnshire) is an English actress, television presenter, author and voice over artist known for her distinctive voice.", + "answer": "Julie Peasgood was directed by Stephen Marley in Cleethorpes.", + "label": 1, + "split": "val" + }, + { + "sample_id": "q_4057_hallucinated", + "item_idx": 4057, + "question": "The person William Mein Smith worked as the Surveyor General for from 1840 to 1843 was born on what date?", + "context": "As the Surveyor General for Edward Wakefield's New Zealand Company at Port Nicholson from 1840 to 1843, he and his team surveyed the town of Wellington, after finding the land on the Petone foreshore unsuitable, laying out the town belt and other features and making provision for the much debated \"tenth\" share of the land for local M\u0101ori.Edward Gibbon Wakefield (20 March 1796 \u2013 16 May 1862) was a British politician.", + "answer": "William Mein Smith was not involved in Edward Gibbon Wakefield's survey work.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_1762_hallucinated", + "item_idx": 1762, + "question": "Which of the film in which Jeremy Irvine had a role is a 2012 British teen drama film directed by Ol Parker?", + "context": "In 2012, he portrayed Philip \"Pip\" Pirrip in the film adaptation of \"Great Expectations\", and earned widespread critical acclaim for his role in the independent film \"Now Is Good\" (2012).Now Is Good is a 2012 British teen drama film directed by Ol Parker.", + "answer": "Great Expectations was directed by Ol Parker.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_3939_hallucinated", + "item_idx": 3939, + "question": "What year was the prison holding one of the two arrestees in the 18 September 2014 counter-terrorism raid opened?", + "context": "One of the two arrestees became one of only two men on remand at the highest security prison in Australia, as he is considered an \"AA\" security risk.The High Risk Management Centre (commonly called the SuperMax) was opened in September 2001.", + "answer": "The prison holding one of the two arrestees in the 18 September 2014 counter-terrorism raid was opened in 2002.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_8220_hallucinated", + "item_idx": 8220, + "question": "The founder of the religious organization that established the Tama-Re village began founding Black Muslim groups in New York in what year?", + "context": "The Tama-Re village in Putnam County, Georgia (a.k.a. \"Kodesh\", \u201cWahannee\u201d, \u201cThe Golden City\u201d, \u201cAl Tamaha\u201d) was an Egyptian-themed set of buildings and monuments established on 476 acres near Eatonton, Georgia by the Nuwaubian Nation in 1993.The Nuwaubian Nation or Nuwaubian movement is a religious organization founded and led by Dwight York. York began founding Black Muslim groups in New York in 1967.", + "answer": "York began founding Black Muslim groups in New York in the year 1977.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_8148_correct", + "item_idx": 8148, + "question": "Indiana Central Canal and North Shore Channel, are related to water?", + "context": "The Indiana Central Canal was a canal intended to connect the Wabash and Erie Canal to the Ohio River.The North Shore Channel is a drainage canal built between 1907 and 1910 to flush the sewage-filled North Branch of the Chicago River down the Chicago Sanitary and Ship Canal.", + "answer": "yes", + "label": 0, + "split": "test" + }, + { + "sample_id": "q_6283_correct", + "item_idx": 6283, + "question": "What was the former name of the college from which Mike Bellamy was dismissed for an undisclosed violation of team policy?", + "context": "Michael Bellamy (born October 16, 1991) is a former American football running back. He then enrolled at East Mississippi Community College, where he took part in off-season practice but was eventually dismissed for an undisclosed violation of team policy.East Mississippi Community College (EMCC), formerly known as East Mississippi Junior College (EMJC), is a community college in Mississippi.", + "answer": "East Mississippi Junior College (EMJC)", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_2626_correct", + "item_idx": 2626, + "question": "The real life person that James Woods' character is based on in the television film In Love and War was awarded what medal?", + "context": "In Love and War (1987) is a Vietnam war-based thriller/drama television film starring James Woods and Jane Alexander. The film is based on the true story of James Stockdale and Sybil Stockdale.James Bond Stockdale (December 23, 1923July 5, 2005) was a United States Navy vice admiral and aviator awarded the Medal of Honor in the Vietnam War, during which he was an American prisoner of war for over seven years.", + "answer": "Medal of Honor", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_9696_hallucinated", + "item_idx": 9696, + "question": "What debut album created by a musical artist who has performed with Aref Durvesh was nominated for a Mercury Prize?", + "context": "Aref Durvesh is a celebrated and prolific tabla artist who has recorded and performed with Badmarsh & Shri, Sting, Susheela Raman, Cheb Mami, Jeff Beck, Visionary Underground, and is also one of the longest-serving members of Nitin Sawhneys band, having performed on all of his albums as well as all his UK and international tours.Susheela Raman (Tamil: \u0b9a\u0bc1\u0b9a\u0bc0\u0bb2\u0bbe \u0bb0\u0bbe\u0bae\u0ba9\u0bcd ; born 21 July 1973) is an acclaimed British Indian musician. Raman has released five albums since 2001 and was nominated for the 2006 BBC World Music Awards. Raman's debut album \"Salt Rain\" was nominated for the Mercury Prize in 2001.", + "answer": "\"Salt of the Earth\"", + "label": 1, + "split": "val" + }, + { + "sample_id": "q_8398_correct", + "item_idx": 8398, + "question": "When did the artist of \"Rock 'n' Roll Million Sellers\" success begin to wane?", + "context": "Rock 'n' Roll Million Sellers is a studio album recorded by American entertainer Connie Francis. Although her chart success waned in the second half of the 1960s, Francis remained a top concert draw.", + "answer": "the second half of the 1960s", + "label": 0, + "split": "val" + }, + { + "sample_id": "q_4047_correct", + "item_idx": 4047, + "question": "In between The Postal Service and Chagall Guevara which one was formed in 1989?", + "context": "The Postal Service were an American indie rock band from Seattle, Washington, consisted of vocalist Ben Gibbard (of Death Cab for Cutie), producer Jimmy Tamborello (of Dntel and Headset), with Jenny Lewis (of Rilo Kiley) on background vocals.Chagall Guevara was an American rock band formed in 1989 by solo artist Steve Taylor, guitarists Dave Perkins and Lynn Nichols (from the 1970s Phil Keaggy band), bassist Wade Jaynes, and drummer Mike Mead.", + "answer": "Chagall Guevara", + "label": 0, + "split": "val" + }, + { + "sample_id": "q_161_correct", + "item_idx": 161, + "question": "Throne of Glass is a young adult high fantasy novel series, by which bestselling American fantasy author?", + "context": "Throne of Glass is a young adult high fantasy novel series by American author Sarah J. Maas, beginning with the inaugural entry of the same name.Sarah Janet Maas (born 5 March 1986) is a \"New York Times\" and \"USA Today\" bestselling American fantasy author.", + "answer": "Sarah Janet Maas", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_4961_hallucinated", + "item_idx": 4961, + "question": "What was the birthname of the bisexual model born on October 15, 1971 that appeared in the Men magazine?", + "context": "Notable models have included Zeb Atlas and Mark Dalton.Zeb Atlas (born October 15, 1971, in Portland, Oregon, birthname Andy Bick) is a bisexual American male pornographic film actor, bodybuilder and softcore performer.", + "answer": "The bisexual model's birthname was Andrew Bickers.", + "label": 1, + "split": "val" + }, + { + "sample_id": "q_3729_hallucinated", + "item_idx": 3729, + "question": "Fianna Eireann is an Irish nationalist youth organization that was founded by Bulmer Hobson and an Irish revolutionary nationalist, suffragette, and socialist, that was the first woman elected to what?", + "context": "Na Fianna \u00c9ireann (The Fianna of Ireland), known as the Fianna, is an Irish nationalist youth organisation founded by Bulmer Hobson and Constance Markievicz in 1909.Constance Georgine Markievicz, known as Countess Markievicz (Polish: \"Markiewicz\" ] ; n\u00e9e Gore-Booth; 4 February 1868 \u2013 15 July 1927) was an Irish Sinn F\u00e9in and Fianna F\u00e1il politician, revolutionary nationalist, suffragette and socialist. In December 1918, she was the first woman elected to the British House of Commons, though she did not take her seat and, along with the other Sinn F\u00e9in TDs, formed the first D\u00e1il \u00c9ireann.", + "answer": "Fianna Eireann is an Irish nationalist youth organization that was founded by Bulmer Hobson and an Irish revolutionary nationalist, suffragette, and socialist, that was the first woman elected to the British House of Commons, but did not take her seat.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_9512_correct", + "item_idx": 9512, + "question": "Upwords and Ghettopoly, are both forms of what?", + "context": "Upwords (also branded as Scrabble Upwords in the United States and Canada, and Topwords Crucimaster, Betutorony, Palabras Arriba, Stapelwoord in other countries) is a board game invented by Elliot Rudell and originally published by the Milton Bradley Company, now a division of Hasbro.Ghettopoly is a parody of \"Monopoly\" released in 2003.", + "answer": "board game", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_8776_hallucinated", + "item_idx": 8776, + "question": "Who published the video game that features a Canadian Ice hockey centre and captain in the NHL?", + "context": "NHL 18 is an ice hockey simulation video game developed by EA Canada and published by EA Sports.Connor McDavid (born January 13, 1997) is a Canadian ice hockey centre and captain for the Edmonton Oilers of the National Hockey League (NHL).", + "answer": "Ubisoft also published the video game.", + "label": 1, + "split": "val" + }, + { + "sample_id": "q_4559_hallucinated", + "item_idx": 4559, + "question": "During the Indian Removals in Indiana, what is the name of the tribe whose name means \"Stand here and there\"?", + "context": "Some of the removals occurred prior to 1830, but most took place between 1830 and 1846.The Kickapoo people (Kickapoo: Kiikaapoa or Kiikaapoi) are an Algonquian-speaking Native American and Indigenous Mexican tribe. \"Anishinaabeg\" say the name \"Kickapoo\" (\"Giiwigaabaw\" in the Anishinaabe language and its Kickapoo cognate \"Kiwikapawa\") means \"Stands here and there,\" which may have referred to the tribe's migratory patterns.", + "answer": "The Potawatomi tribe.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_8210_hallucinated", + "item_idx": 8210, + "question": "In which year was the drama, based on the true story of the Odones and directed by Australian film director, screenwriter, producer, and former medical doctor, released?", + "context": "Lorenzo's Oil is a 1992 American drama directed by George Miller. It is based on the true story of Augusto and Michaela Odone, two parents in a relentless search for a cure for their son Lorenzo's adrenoleukodystrophy (ALD).George Miller AO (born 3 March 1945) is an Australian film director, screenwriter, producer, and former medical doctor.", + "answer": "Lorenzo's Oil was released in 1993.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_8030_correct", + "item_idx": 8030, + "question": "Who was born earlier, Habash al-Hasib al-Marwazi or Mostafa El-Sayed?", + "context": "Ahmad ibn 'Abdallah Habash Hasib Marwazi (766 - d. after 869 in Samarra, Iraq ) was a Persian astronomer, geographer, and mathematician from Merv in Khorasan who for the first time described the trigonometric ratios: sine, cosine, tangent and cotangent.Mostafa A. El-Sayed (Arabic: \u0645\u0635\u0637\u0641\u0649 \u0627\u0644\u0633\u064a\u062f) (born 8 May 1933) is an Egyptian chemical physicist, a leading nanoscience researcher, a member of the National Academy of Sciences and a US National Medal of Science laureate.", + "answer": "Ahmad ibn 'Abdallah Habash Hasib Marwazi", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_5060_correct", + "item_idx": 5060, + "question": "In Norway, Pinnekj\u00f8tt, Stick Meat, is a main course dinner dish of lamb or mutton, this dish is largely associated with the celebration of Christmas, served with pur\u00e9ed swede and potatoes, beer and Akvavit, is a flavoured spirit, that has been produced since the 15th century, principally produced in which country?", + "context": "This dish is largely associated with the celebration of Christmas, served with pur\u00e9ed swede and potatoes, beer and akevitt.Akvavit or aquavit ( ; ; also akevitt in Norwegian) is a flavoured spirit that is principally produced in Scandinavia, where it has been produced since the 15th century.", + "answer": "Scandinavia", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_9527_hallucinated", + "item_idx": 9527, + "question": "What year was the Johnson house built?", + "context": "Built in 1946, the house was American architect Philip Johnson's first residential commission, and is a stylistic precursor to Johnson's better-known 1949 Glass House in New Canaan, Connecticut.The Glass House or Johnson house, is a historic house museum on Ponus Ridge Road in New Canaan, Connecticut.", + "answer": "The Johnson house was actually built in 1945.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_1824_hallucinated", + "item_idx": 1824, + "question": "Bebe Rexha was a singer who guested on the David Guetta song that was produced by which Dutch DJ?", + "context": "She is best known as a featured guest vocalist on several \"Billboard\" Hot 100 charting songs, such as G-Eazy's \"Me, Myself & I\", David Guetta's \"Hey Mama\", Martin Garrix's \"In the Name of Love\" and Cash Cash's \"Take Me Home\".\"Hey Mama\" is a song by French DJ and record producer David Guetta, featuring vocals from Nicki Minaj and Bebe Rexha, as well as production from Dutch DJ and producer Afrojack.", + "answer": "\"Take Me Home\" is a song by Bebe Rexha, produced by a Dutch DJ.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_1970_hallucinated", + "item_idx": 1970, + "question": "Are the films Metropia and The Watercolor animated?", + "context": "\"The Watercolor (Tr: Suluboya)\" is a 2009 Turkish animated film, directed by Cihat Hazarda\u011fl\u0131.Metropia is a 2009 English-language Swedish-Danish-Norwegian adult animated mystery thriller drama science fiction film directed by Tarik Saleh.", + "answer": "Metropia is partially animated.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_8940_correct", + "item_idx": 8940, + "question": "Harris Teeter Supermarkets were originally known by what chain grocery stores known for their rooster logo?", + "context": "Colonial Stores were chain grocery stores once found throughout the South. Most were transformed to Big Star Markets in the 1970s (later Harris Teeter and The Great Atlantic and Pacific Tea Company). The chain evolved from Norfolk, Virginia's D.P. Pender grocery stores, and were known for a rooster logo.Harris Teeter Supermarkets, Inc. is an American supermarket chain based in Matthews, North Carolina, just outside Charlotte.", + "answer": "Colonial Stores", + "label": 0, + "split": "val" + }, + { + "sample_id": "q_8337_hallucinated", + "item_idx": 8337, + "question": "Which film starring Bob Hoskins, Christopher Lloyd, and others, spawned a series of short films from 1998 to 1993?", + "context": "The \"Roger Rabbit\" shorts are a series of animated short films produced by Walt Disney Feature Animation from 1989 to 1993. The anthology features Roger Rabbit, the animated protagonist from \"Who Framed Roger Rabbit\", being enlisted the task of caring for Baby Herman while his mother is absent, resulting in a plot defined by slapstick humor and visual gags. Each short concludes with a sequence involving live action and animation, where the characters interact with live action human beings, akin to the 1988 film.\" The film stars Bob Hoskins, Christopher Lloyd, Charles Fleischer, Stubby Kaye, and Joanna Cassidy.", + "answer": "\"Space Jam\"", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_6315_correct", + "item_idx": 6315, + "question": "What is the name of this man, who was captured and surprised by Soviet troops in Stalingrad and whose 6th Army surrendered at the Battle of Stalingrad?", + "context": "Constantin Br\u0103tescu (March 8, 1892 - April 13, 1971) was a Romanian Major-General during World War II. Following the surrender of Friedrich Paulus' 6th Army at the Battle of Stalingrad, Br\u0103tescu became a prisoner of war and was held captive from 1943 to 1948.Soviet troops took Paulus by surprise and captured him in Stalingrad on 31 January 1943, the same day on which he was informed of his promotion to field marshal (\"Generalfeldmarschall\") by Adolf Hitler.", + "answer": "Friedrich Paulus", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_5721_hallucinated", + "item_idx": 5721, + "question": "Who directed the movie that Christa Campbell was in that starred Nicolas Cage and Amber Heard?", + "context": "Campbell is best known for her roles in \"2001 Maniacs\", \"Mozart and the Whale\", \"Lonely Hearts\", \"The Wicker Man\", \"Cleaner\", \"Day of the Dead\", \"Lies & Illusions\", \"The Mechanic\", \"Drive Angry\", \"Straight A's\", \"The Big Wedding\", and \"The Iceman\".Drive Angry is a 2011 American fantasy action film starring Nicolas Cage and Amber Heard, and directed by Patrick Lussier.", + "answer": "Steven Spielberg", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_6078_hallucinated", + "item_idx": 6078, + "question": "What band wrote the songs Alive and Meet Me Halfway were the first and third songs on their album called \"The E.N.D.?", + "context": "\"Alive\" is a song by The Black Eyed Peas from their album \"The E.N.D\". It was the second promotional single from the album as part of \"The Countdown to \"The E.N.D\", the first being \"Imma Be\" and the third being \"Meet Me Halfway\" which were later commercial singles.\"Meet Me Halfway\" is the third single from the Black Eyed Peas\u2019 fifth studio album \"The E.N.D\".", + "answer": "The Black Eyed Peas didn't write \"Alive\" and \"Meet Me Halfway\".", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_6917_hallucinated", + "item_idx": 6917, + "question": "The director of \"An American Tragedy\" emigrated permanently to the United States at what age?", + "context": "An American Tragedy is a 1931 Pre-Code drama film, produced and distributed by Paramount Pictures and directed by Josef von Sternberg. His family emigrated permanently to the United States when he was fourteen, and he grew up in New York City.", + "answer": "Josef von Sternberg immigrated at age sixteen.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_1717_correct", + "item_idx": 1717, + "question": "What nationality was the person who wrote the music for Soft Flowing Avon?", + "context": "Soft Flowing Avon was a 1769 song with music written by Thomas Arne and lyrics by David Garrick.Thomas Augustine Arne ( ; 12 March 1710, London \u2013 5 March 1778, London) was an English composer, best known for the patriotic song \"Rule Britannia\".", + "answer": "English", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_9369_hallucinated", + "item_idx": 9369, + "question": "The Australian cricket team toured Sri Lanka from 6 August to 20 September 2011, four uncapped players had been named in the Australian Test squad, including Shaun Edward Marsh, an Australian cricketer who plays for the Western Warriors in Australian domestic cricket and has represented Australia at Test, One Day International and Twenty20 International levels, and nicknamed SOS, an acronym of what ?", + "context": "Four uncapped players had been named in the Australian Test squad; Shaun Marsh, Trent Copeland, James Pattinson and Nathan Lyon. Nicknamed SOS (\"Son of Swampy\"), he is a left-handed opening batsman and very occasional spin bowler.", + "answer": "The nickname SOS stands for Swampy's Son.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_8703_hallucinated", + "item_idx": 8703, + "question": "What was the population of the town in 2010 census which is located in the Grafton County and is connected to the communities of McIndoe Falls and Vermont by a dam formed by the McIndoes Reservoir?", + "context": "The dam forming the reservoir connects the communities of McIndoe Falls, Vermont and Monroe, New Hampshire. The population was 788 at the 2010 census.", + "answer": "The population is around 800.", + "label": 1, + "split": "val" + }, + { + "sample_id": "q_7720_correct", + "item_idx": 7720, + "question": "What was the sobriquet of the woman who hired Joyce Beber?", + "context": "Joyce Beber, born Joyce Sacks, (November 20, 1929 - September 17, 2010) was an advertising executive who co-founded the Beber Silverstein Group and created numerous memorable campaigns for the Helmsley group of hotels. The campaigns successfully promoted Leona Helmsley and her hotel chain; Beber was hired and fired four times by Helmsley.Leona Mindy Roberts Helmsley (born Lena Mindy Rosenthal; July 4, 1920 \u2013 August 20, 2007) was an American businesswoman. She was known for her flamboyant personality and had a reputation for tyrannical behavior that earned her the sobriquet Queen of Mean.", + "answer": "Queen of Mean", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_5203_correct", + "item_idx": 5203, + "question": "Tales for the Midnight Hour served as the precursor to other similar works including a series of three children's books written by Alvin Schwartz and illustrated by who?", + "context": "Tales for the Midnight Hour is a series of scary children's books written by Judith Bauer Stamper. This anthology horror series served as the precursor to various other similar works, including \"Scary Stories to Tell in the Dark\" and \"Scary Stories for Sleep-overs\".Scary Stories to Tell in the Dark is a series of three children's books written by Alvin Schwartz and illustrated by Stephen Gammell.", + "answer": "Stephen Gammell", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_3258_hallucinated", + "item_idx": 3258, + "question": "Which television channel had a show set at a location adjacent to Silverado Ranch?", + "context": "Groff was an executive producer for a show on the Travel Channel called \"Vegas Stripped\", a behind-the-scenes look at the operations of the South Point Hotel, Casino & Spa in Las Vegas, Nevada.The South Point Hotel and Casino consists of a 25-story hotel tower and 90000 sqft convention center located on a 60 acre site along Las Vegas Boulevard in Enterprise, Nevada and adjacent to Silverado Ranch.", + "answer": "The show \"Vegas Stripped\" was aired on Oxygen Channel.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_485_hallucinated", + "item_idx": 485, + "question": "Mike Gibbons won the middleweight championship after the previous champion was found murdered where?", + "context": "Mike Gibbons (July 20, 1887 in St. Paul, Minnesota \u2013 August 31, 1956) was an American boxer from 1908 to 1922. The brother of heavyweight Tommy Gibbons, Mike claimed Middleweight Champion of the World status in 1909 following Stanley Ketchel's murder. He was murdered at a ranch in Conway, Missouri, at the age of 24.", + "answer": "Mike Gibbons won the middleweight championship after the previous champion was found murdered in Montana.", + "label": 1, + "split": "test" + }, + { + "sample_id": "q_8243_hallucinated", + "item_idx": 8243, + "question": "The Mincome experiment occurred during which number prime minister?", + "context": "The project, funded jointly by the Manitoba provincial government and the Canadian federal government under Prime Minister Pierre Trudeau.Joseph Philippe Pierre Yves Elliott Trudeau, ( ; ] ; October 18, 1919 \u2013 September 28, 2000), often referred to by the initials PET, was a Canadian statesman who served as the 15th Prime Minister of Canada (1968\u20131979 and 1980\u20131984).", + "answer": "The Mincome experiment occurred during 16th prime minister.", + "label": 1, + "split": "val" + }, + { + "sample_id": "q_9865_correct", + "item_idx": 9865, + "question": "Which Vietnamese actress was a regular cast member in season two of might morphin power rangers?", + "context": "Season two of Mighty Morphin Power Rangers is an American television series created by Haim Saban and Shuki Levy, began airing July 21, 1994, on Fox Kids. Regular cast members during season two include Amy Jo Johnson, David Yost, Walter Jones, Thuy Trang, Austin St. John, Jason David Frank, Jason Narvy and Paul Schrier.Thuy Trang (Vietnamese: \"Thu\u1ef3 Trang\" ; December 14, 1973 \u2013 September 3, 2001) was a Vietnamese-born American actress.", + "answer": "Thuy Trang", + "label": 0, + "split": "train" + }, + { + "sample_id": "q_6568_hallucinated", + "item_idx": 6568, + "question": "What is the name of the satirical program on Comedy Central that stars an American comedian, television host, and actor who also appeared in the 2005 American romantic comedy \"Bewitched\"?", + "context": "Bewitched is a 2005 American romantic comedy fantasy film written, produced, and directed by Nora Ephron, and starring Nicole Kidman and Will Ferrell alongside an ensemble cast featuring Shirley MacLaine, Michael Caine, Jason Schwartzman, Kristin Chenoweth, Heather Burns, Jim Turner, Stephen Colbert, David Alan Grier, Carole Shelley and Steve Carell.Stephen Tyrone Colbert ( , ; born May 13, 1964) is an American comedian, television host, actor, and writer. He is best known for hosting the satirical Comedy Central program \"The Colbert Report\" from 2005 to 2014, and hosting the CBS talk program \"The Late Show with Stephen Colbert\" beginning in September 2015.", + "answer": "The Daily Show.", + "label": 1, + "split": "train" + }, + { + "sample_id": "q_1834_hallucinated", + "item_idx": 1834, + "question": "Riann Stelle appeared in what Royal Shakespeare Company production that portrays the events surrounding a former queen of the Amazons?", + "context": "After studying at Arts Educational Schools, London, she appeared in various Royal Shakespeare Company productions, including \"A Midsummer Night's Dream\", \"Love's Labours Lost\" and \"Hamlet\" (including its subsequent BBC television film adaptation in 2009) alongside David Tennant. It portrays the events surrounding the marriage of Theseus, the Duke of Athens, to Hippolyta, the former queen of the Amazons.", + "answer": "Riann Stelle appeared in Love's Labours Lost.", + "label": 1, + "split": "val" + }, + { + "sample_id": "q_7991_hallucinated", + "item_idx": 7991, + "question": "Around what year was the Greek play that inspired Jean Anouilh's play of the same name written?", + "context": "Jean Anouilh's play Antigone is a tragedy inspired by Greek mythology and the play of the same name by Sophocles.Antigone ( ; Ancient Greek: \u1f08\u03bd\u03c4\u03b9\u03b3\u03cc\u03bd\u03b7 ) is a tragedy by Sophocles written in or before 441 BC.", + "answer": "The Greek play must have been written sometime between 445 BC and 437 BC.", + "label": 1, + "split": "val" + }, + { + "sample_id": "q_2029_correct", + "item_idx": 2029, + "question": "Which heavy metal band released As Ugly as They Wanna Be which is a parody of 2 Live Crew's 1989 album?", + "context": "As Ugly as They Wanna Be is an EP by the American heavy metal band Ugly Kid Joe. It was released in 1991.2 Live Crew is an American hip-hop group from Miami, Florida.", + "answer": "Ugly Kid Joe", + "label": 0, + "split": "val" + } +] \ No newline at end of file diff --git a/data/processed/nli_model_used.json b/data/processed/nli_model_used.json new file mode 100644 index 0000000..fde55ea --- /dev/null +++ b/data/processed/nli_model_used.json @@ -0,0 +1,6 @@ +{ + "nli_model": "cross-encoder/nli-deberta-v3-base", + "device": "cuda:0", + "batch_size": 256, + "extracted_at": "2026-08-05T17:49:35.678041+00:00" +} \ No newline at end of file diff --git a/roadmap.md b/roadmap.md index ddb3335..31400fa 100644 --- a/roadmap.md +++ b/roadmap.md @@ -1,12 +1,21 @@ # HaluRISC — Detailed Implementation Roadmap -**Goal:** Version A course project — HaluEval QA hallucination-risk classifier with calibrated scores, SHAP explanations, a GPT 5.6 Luna-powered conversational AI interface (assistant-ui), and a show-winning web dashboard, in ~8 weeks. CPU-only ML + OpenAI API (existing credits) for chat and LLM-as-judge baseline. +**Goal:** Finish and freeze a defensible Version A course project first, then extend it on `version-B` into a publication study with leakage-controlled cross-domain evaluation, calibration under shift, explanation reliability, and a research-focused web artifact. Heavy experiments run in Colab Pro; the local RTX 3060 Laptop GPU (6 GB VRAM) and 32 GB RAM support inference, profiling, UI development, and demos. **Convention:** items marked `[verified 2026]` were checked against current web/PyPI info in July 2026. -> **IMPLEMENTATION STATUS (updated 2026-08-05):** ✅ DONE | 🔶 PARTIAL | ⬜ TODO +> **IMPLEMENTATION STATUS (updated 2026-08-06):** ✅ DONE | 🔶 PARTIAL | ⬜ TODO > -> Phases 0–8 are **done** (pipeline, API, web app work end-to-end with real artifacts), and Phase 5's evaluation extras (LLM-judge comparison on 200 samples, error analysis, latency analysis) are **done**. Remaining: explanation-reliability analysis (⬜ optional), citation verification (⬜), demo rehearsal/backup video (⬜), clean-clone README test (⬜), paper write-up (🔶). +> Version A integrity repair is complete: leakage-free group split, corrected artifacts (XGBoost F1 0.9842 / AUROC 0.9982), per-seed metrics, manifest, LLM-judge, API + pytest verified, and the Colab zip now produces portable models (HALU_XGB_DEVICE=cpu). Remaining: manual 50-sample audit review, manual error-case review, paper claim updates, web lint/build + clean-clone verification, and pushing the final state to `version-A`. Version B is locked until that push. + +### Operating rule + +1. Fix Version A first. +2. Run heavy training and evaluation in Colab Pro. +3. Download the corrected artifacts to the repository root. +4. Verify the API and UI locally on the RTX 3060 laptop. +5. Push the final Version A correction to `version-A`. +6. Only then implement Version B on `version-B`. --- @@ -39,7 +48,7 @@ ## 2. Project Folder Structure -> **Note:** this is the **target** layout to build toward, not the current state. As of now the repo contains only `blueprint.md`, `proposal.md`, `roadmap.md`, and `report/` (LaTeX proposal + PDF). The `src/`, `data/`, `web/`, and `artifacts/` trees are created during the phases below. +> **Note:** this is the project layout currently used by the implementation. Large raw/processed datasets, model files, figures, and result artifacts remain gitignored and must be regenerated or restored from the Colab export. ``` HaluRISC/ @@ -92,7 +101,7 @@ HaluRISC/ --- -## 4. Phase 1 — Data Acquisition (Week 1) — ✅ DONE (HaluEval QA downloaded; RAGTruth QA ~2K holdout cached; 50-sample manual audit saved) +## 4. Phase 1 — Data Acquisition (Week 1) — 🔶 IMPLEMENTED, MANUAL AUDIT PENDING ### 4.1 HaluEval (primary, train/tune/test) @@ -102,7 +111,7 @@ HaluRISC/ - **What is inside `qa_data.json`:** 10,000 QA entries; each has `question`, `knowledge` (facts = context), `answer` (correct), `hallucinated_answer`, and `hallucination_label` (binary). - **How to build the binary dataset:** for each entry, use `knowledge` as **context**, `answer` as the response, and `hallucination_label` as the label. If you want both variants per question (correct + hallucinated answer), create two rows per question and label accordingly — decide once and document it. - **⚠ Decide the row layout up front** — it changes dataset size and NLI cost: one row per question = **10,000 rows / 20K NLI pairs**; two rows per question = **20,000 rows / 40K NLI pairs** (~2–4 hrs CPU instead of 1–2). The proposal quotes "~10,000 samples", so the **two-rows layout means updating that number to ~20,000 everywhere** (proposal §Dataset, paper dataset table). -- **License:** the repo has **no LICENSE file** — use locally only, do not redistribute, and note this in the paper's dataset section. +- **License:** the official repository currently states an MIT License. Retain attribution, citation, and the exact source revision in the manifest; do not assume that local cached data should be committed. - **Manual audit (mandatory):** randomly sample 50 entries, read each, and record whether the label looks right. Keep the audit notes file — it goes in the paper's dataset-limitations section. ### 4.2 RAGTruth (external validation) @@ -114,7 +123,7 @@ HaluRISC/ --- -## 5. Phase 2 — Preprocessing & Splits (Week 1–2) — ✅ DONE (qa_clean.parquet, 70/15/15 stratified, split_indices.json + .npy saved) +## 5. Phase 2 — Preprocessing & Splits (Week 1–2) — ✅ CORRECTED GROUP SPLIT DONE (leakage-free) Rules (encode in `src/data/prepare.py`, cache to `data/processed/qa_clean.parquet`): @@ -123,12 +132,14 @@ Rules (encode in `src/data/prepare.py`, cache to `data/processed/qa_clean.parque - Drop invalid rows (empty answer, corrupted text). - Empty/missing context → lexical overlap = 0, NLI = neutral (0.33/0.33/0.33), document the rule. - Check class balance. If not ~50/50, keep it (real-world) and set `scale_pos_weight` for XGBoost. -- **Split:** 70% train / 15% validation / 15% test, stratified by label. -- **Save split indices** with `np.save("artifacts/split_indices.npy")` — reproducibility requires exact splits, not just a seed. +- **Split:** 70% train / 15% validation / 15% test, stratified at the original-question group level using `item_idx`. Both the correct and hallucinated answer for a question must remain in one partition. +- **Validation:** assert that `item_idx` has exactly one split value; save group counts, label counts, and a leakage report. +- **Save split indices** with `np.save("artifacts/split_indices.npy")` — reproducibility requires exact indices, group identifiers, and a split hash, not just a seed. +- **Required repair:** the existing row-level split places 4,682 source questions across multiple partitions. Rebuild it before any final metric or paper claim. --- -## 6. Phase 3 — Feature Extraction (Week 2–3) — ✅ DONE (all 7 groups, 26 features → features_full.parquet; per-group latency logged) +## 6. Phase 3 — Feature Extraction (Week 2–3) — 🔶 IMPLEMENTED, RERUN AFTER SPLIT REPAIR One module per group in `src/features/`. Output: a single DataFrame, cached to `data/processed/features_qa.parquet` (extract once, reuse everywhere). @@ -153,7 +164,7 @@ One module per group in `src/features/`. Output: a single DataFrame, cached to ` --- -## 7. Phase 4 — Modeling (Week 4) — ✅ DONE (RandomizedSearchCV 5-fold 30 iters, LR/RF/heuristic baselines, XGBoost ×3 seeds, artifacts saved) +## 7. Phase 4 — Modeling (Week 4) — ✅ CORRECTED RERUN DONE `src/models/`: @@ -176,7 +187,7 @@ One module per group in `src/features/`. Output: a single DataFrame, cached to ` --- -## 8. Phase 5 — Calibration & Evaluation (Week 4–5) — ✅ DONE (Platt on val vs isotonic, ECE/Brier/reliability, McNemar, bootstrap CIs, Wilcoxon, 7-group ablations, RAGTruth zero-shot) · ✅ LLM-as-judge comparison executed (200 samples: judge F1 0.83 vs XGBoost 0.99, ~$0.099/1K) · ✅ error analysis (10 FP + 10 FN) + latency analysis +## 8. Phase 5 — Calibration & Evaluation (Week 4–5) — ✅ CORRECTED EVIDENCE PRODUCED (manual error-case review pending) - **Calibration:** `CalibratedClassifierCV(estimator=best_xgb, method="sigmoid", cv="prefit")` fit on the **validation** set. Compare Platt (sigmoid) vs isotonic on the test set. - **Metrics:** Precision, Recall, F1, AUROC, PR-AUC, MCC (classification); **ECE**, **Brier score**, reliability diagram (calibration). @@ -189,21 +200,22 @@ One module per group in `src/features/`. Output: a single DataFrame, cached to ` - **External comparison:** - Run the final calibrated model **zero-shot** on the RAGTruth QA holdout. - Cite published HaluEval QA detection numbers (SelfCheckGPT, IEEE TAI) as the external bar. -- Efficiency/cost: measure per-sample latency (features + predict + SHAP) and compare against **GPT 5.6 Luna as LLM-as-judge** baseline. Luna pricing: $0.20/M input + $1.20/M output — estimated **~$1.10 total for 10,000 samples**. This is the paper's cost-argument table: HaluRISC at ~$0.001/prediction vs GPT judge at ~$0.10/prediction — **100x cheaper**. +- Efficiency/cost: measure feature, model, SHAP, and total latency at p50/p95; record RAM/VRAM and artifact size. Compare against **GPT 5.6 Luna as LLM-as-judge** only with explicit sample size, token assumptions, and measured/estimated labels. Do not hardcode a 100x claim before the corrected measurements. +- Add answer-only, context-only, lexical/TF-IDF, and overlap controls to identify benchmark shortcuts. --- -## 9. Phase 6 — Explainability (Week 5) — ✅ DONE (TreeExplainer global summary + 3 waterfall cases, figures + shap_summary.json) · ⬜ TODO: explanation-reliability analysis (feature-ablation correlation, optional) +## 9. Phase 6 — Explainability (Week 5) — 🔶 SHAP IMPLEMENTED, RELIABILITY PENDING - `shap.TreeExplainer(xgb)` → `shap_values` on a test subsample (500–1,000 rows for speed). - **Global:** SHAP summary plot (beeswarm) + mean-|SHAP| bar chart. - **Local:** waterfall plots for 3 hand-picked cases: clear hallucination, clearly correct, borderline. - Save figures to `artifacts/figures/` **and** raw SHAP values to JSON — the dashboard will re-render them. -- Optional but strong: explanation reliability — remove top-SHAP feature and measure predicted-probability change vs SHAP magnitude (feature-ablation correlation). +- Required before publication: compare SHAP rankings with feature/group ablation and permutation importance; run controlled perturbation stability tests; report confidence intervals and failure cases. Do not use arbitrary FAC/PSI pass thresholds. --- -## 10. Phase 7 — Backend API (Week 6) — ✅ DONE (/predict, /explain, /judge, /health; artifacts + NLI/NER/SBERT loaded at startup; Pydantic validation) +## 10. Phase 7 — Backend API (Week 6) — 🔶 IMPLEMENTED, LIVE INTEGRATION VERIFICATION PENDING `src/api/` — FastAPI + uvicorn, Pydantic v2 `[verified]`. @@ -234,12 +246,13 @@ POST /api/chat {messages[]} ← Vercel AI SDK streamText() + tool calling - FastAPI: LRU cache on NLI/embedding calls to keep demo snappy. - FastAPI: `& .venv\Scripts\python.exe -m uvicorn src.api.main:app --host 127.0.0.1 --port 8000` (no `--reload` — uvicorn's file watcher restarts the server whenever repo files change). - FastAPI: GPU/stability config via root `.env` — `HALU_API_DEVICE=cuda|cpu` (default `cpu`; `cuda` auto-falls back to CPU if torch has no CUDA; models load in fp16 on CUDA to fit 6 GB VRAM) and `HALU_API_PRELOAD=0` to skip the startup preload of heavy models (spaCy/NLI/SBERT). +- FastAPI: before publication, add a combined or cached analysis path so `/predict` and `/explain` do not repeat expensive NER/NLI/SBERT extraction for the same input. - Next.js: `npm run dev` on port 3000; `next.config.ts` rewrites `/api/ml/*` → FastAPI. - OpenAI key stored in `web/.env.local` — never exposed to browser. --- -## 11. Phase 8 — Frontend Dashboard (Week 7) — ✅ DONE (assistant-ui Thread chat + generative UI widgets, analyze form, real-data dashboard, about page) +## 11. Phase 8 — Frontend Dashboard (Week 7) — 🔶 IMPLEMENTED, DEMO HARDENING AND BUILD VERIFICATION PENDING **Framework: Next.js + assistant-ui** (the official recommended stack for AI chat UIs). @@ -295,6 +308,8 @@ export default withAui(nextConfig); **UI/UX Design:** Dark theme default; blue-violet accent gradient; glassmorphism cards; micro-animations on all interactions; Geist font (from assistant-ui scaffold); loading skeletons; error toasts (`sonner`). Risk gauge is the centerpiece visual on both Chat and Analyze pages. +Before Version A is final, verify that the Generative UI toolkit is actually registered and rendered, remove hardcoded research claims and stale package versions, and pass `pnpm run lint` and `pnpm run build`. Version B should add mobile layout, keyboard focus, accessible chart alternatives, `aria-live` result states, reduced-motion support, and an offline/precomputed demo path. + **Serving:** ```powershell # Development (2 terminals) @@ -311,41 +326,184 @@ npm run build # builds Next.js static + server ## 12. Phase 9 — Integration, Demo & Delivery (Week 8) — 🔶 PARTIAL (app runs end-to-end; pending: demo rehearsal script, backup video, optional Docker) - Build frontend, serve from FastAPI, run one-command demo. -- Pre-bake 3 demo examples: clearly hallucinated, clearly correct, borderline — plus live input. +- Pre-bake 4 demo examples: grounded, unsupported entity/date/number, borderline, and empty/weak evidence — plus live input. - Rehearse a 5-minute script: 1 min problem → 1 min approach → 1 min live demo → 1 min results → 1 min "why it matters". - Optional: two-stage Dockerfile (node build → python runtime) for portability. -- Final checks: `requirements.txt` pinned, README with setup/run commands, split indices + seeds saved. +- Final checks: corrected grouped split, audit file, `requirements.txt` pinned, README with setup/run commands, split/group hashes, tests, API smoke test, `pnpm run lint`, `pnpm run build`, and clean-clone reproduction. --- -## 13. Phase 10 — Reproducibility & Paper Mapping — 🔶 PARTIAL (artifacts/tables/figures all produced; citations verified live 2026-08-05; pending: clean-clone test, paper write-up) +## 13. Phase 10 — Reproducibility & Paper Mapping — 🔶 PARTIAL | Paper section | Artifact | |---|---| -| Dataset | `data/processed/*.parquet` + manual audit notes (the 50-sample audit from Phase 1) | +| Dataset | `data/processed/*.parquet` + completed manual audit + dataset/license manifest | | Features | `src/features/` + feature table CSV | -| Experiments | `artifacts/results/*.csv` (all 3 seeds) | +| Experiments | `artifacts/results/*.csv` (all 3 seeds, corrected grouped split, shortcut controls) | | Calibration | ECE/Brier + reliability diagram PNG | | Statistics | McNemar output + bootstrap CIs | | Efficiency | latency breakdown table + cost estimate | | Explainability | SHAP figures + JSON | -| Reproducibility | pinned requirements, saved splits, saved models | +| Reproducibility | pinned requirements, saved group-aware splits, hashes, saved models, run manifest | **Before submission — verify every citation (Week 8):** - Click through each DOI / URL in `report/proposal.tex` and the paper — the 2026 entries (`ijert`, `ieeeTai`, `multimedia`, `spikescore`) in particular must resolve. A broken DOI in a project about hallucination is a credibility hit. -- Confirm the two live claims behind the roadmap `[verified]` markers: XGBoost `3.3.0` and the `cross-encoder/nli-deberta-v3-base` model card still match before you install (PyPI/HF links in §15). +- Confirm the two live claims behind the roadmap `[verified]` markers: XGBoost `3.3.0` and the `cross-encoder/nli-deberta-v3-base` model card still match before you install (PyPI/HF links in §16). + +**Roadmap completion checklist before Version A is final:** +- [ ] All corrected `data/processed/*.parquet`, `artifacts/models/*`, and `artifacts/results/*` regenerated (gitignored by design; reproducible via Colab) +- [x] `requirements.txt` fully pinned (with the PyTorch CUDA index directive) +- [ ] Group-aware split indices, source-group report, and split hash saved +- [ ] Completed 50-sample manual audit saved +- [ ] Corrected three-seed metrics, shortcut controls, and calibration artifacts saved +- [ ] Reviewed error-analysis cases and explanation-faithfulness notes saved +- [x] `report/out/paper.pdf` currently compiles from source +- [ ] Every citation, license, and numerical claim verified against corrected outputs +- [ ] README setup/run commands, clean clone, API smoke test, `pnpm run lint`, and `pnpm run build` verified + +--- + +## 14. Version B Publication Roadmap — LOCKED UNTIL VERSION A PASSES + +Version B is implemented only on `version-B` after the corrected Version A state is committed and pushed to `version-A`. Heavy experiments use Colab Pro. The local RTX 3060 Laptop GPU (6 GB VRAM) and 32 GB RAM are for inference, profiling, UI development, screenshots, and the live demo. + +### B0 — Version A integrity gate + +Environment: Colab Pro for the rerun; local machine for verification. + +1. Change `src/data/prepare.py` to split original questions by `item_idx`, not individual rows. +2. Add a hard assertion that every `item_idx` has one and only one split. +3. Manually review 50 unique source questions and save `data/processed/audit_50_samples.json`. +4. Regenerate `qa_clean.parquet`, `features_full.parquet`, split files, models, calibrators, figures, and results. +5. Add answer-only, context-only, lexical/TF-IDF, and overlap shortcut controls. +6. Record the actual NLI checkpoint, feature version, split hash, Git commit, hardware, CUDA mode, RAM, and VRAM in a manifest. +7. Manually review the sampled FP/FN cases and correct the heuristic categories. +8. Run Python tests, a live artifact-backed API smoke test, `pnpm run lint`, `pnpm run build`, and a clean-clone test. +9. Rewrite Version A paper claims from the corrected artifacts. +10. Push the final correction to `version-A`. + +Exit condition: no cross-split source groups, completed audit, corrected artifacts, verified paper claims, and all required local checks passing. + +### B1 — Unified data schema + +Environment: Colab Pro for downloads and preprocessing; local machine for schema tests. + +1. Preserve `source_dataset`, `source_group_id`, `task`, `domain`, `question`, `context`, `answer`, `label`, `span_annotations`, `generator_model`, and official split metadata. +2. Use HaluEval QA as the training and in-domain benchmark. +3. Use RAGTruth QA as the primary external benchmark; group by `source_id` because one source can produce multiple responses. +4. Use FaithBench as a difficult summarization stress test with a documented label mapping. +5. Keep HalluLens and TRIVIA+ optional; they are not Version B blockers. +6. Do not bundle CC BY-NC-SA FaithBench or primarily CC BY-NC HalluLens data in the repository. Ship download instructions, citations, hashes, and license notes instead. +7. Save a dataset mapping report with counts, missing fields, label distributions, and excluded records. + +Exit condition: every dataset has a documented schema, label definition, source-group rule, license record, and reproducible preprocessing script. + +### B2 — Corrected baseline and artifact controls + +Environment: Colab Pro. + +1. Train the existing 26-feature pipeline on grouped HaluEval data. +2. Run majority, overlap, lexical/TF-IDF, answer-only, context-only, NLI-only, Logistic Regression, Random Forest, and XGBoost baselines. +3. Keep CatBoost optional; do not add transformer fine-tuning or hidden-state probing. +4. Repeat stochastic experiments with seeds 42, 123, and 456. +5. Save per-seed metrics, per-example predictions, confusion matrices, and model artifacts. +6. Report whether performance falls after leakage removal; treat a large drop as an important result, not a failure. + +Exit condition: corrected in-domain results and shortcut controls are available before any external-dataset claim is written. + +### B3 — Cross-domain robustness + +Environment: Colab Pro. + +1. Evaluate the HaluEval-trained model zero-shot on RAGTruth QA. +2. Report performance by RAGTruth task type, source group, label type, and context length when available. +3. Evaluate FaithBench with source text as context and summary as answer. +4. Report both aggregate and subgroup metrics with bootstrap confidence intervals. +5. Keep zero-shot, lightly adapted, and retrained experiments as separate labels. +6. Never tune thresholds or preprocessing on an external test set. + +Exit condition: one table and one figure clearly show in-domain versus out-of-domain performance and the sources of transfer failure. + +### B4 — Calibration under distribution shift + +Environment: Colab Pro. + +1. Compare raw XGBoost, Platt, and isotonic probabilities. +2. Define calibrator fitting and selection rules before reading the locked test results. +3. Report ECE, adaptive ECE if available, Brier, NLL, reliability diagrams, and calibration slope/intercept. +4. Report subgroup calibration for dataset, task, context length, answer length, and generator model where available. +5. Use minimum subgroup sizes and pooled fallback behavior; do not fit unstable tiny cluster calibrators. +6. Compare source calibration applied directly to external data with a separately labeled target-calibration experiment. + +Exit condition: calibration results explain not only which method has the lowest ECE, but where calibration fails under shift. + +### B5 — Explanation reliability and error analysis + +Environment: Colab Pro for experiments; manual review by the team. + +1. Compare mean absolute SHAP ranking with permutation importance and feature/group ablation impact. +2. Run top-feature deletion and neutralization tests and measure prediction change. +3. Run controlled perturbations: entity replacement, numeric/date replacement, support-sentence removal, irrelevant-sentence insertion, and limited paraphrases. +4. Measure top-k feature stability and score stability with confidence intervals. +5. Have two reviewers assess explanation plausibility on 30–50 cases and record disagreements. +6. Report failure cases where SHAP is unstable or inconsistent with the evidence. +7. Do not use fixed FAC/PSI pass thresholds without empirical justification. + +Exit condition: the paper can defend SHAP as evaluated evidence rather than decorative visualization. + +### B6 — Reproducible publication artifact + +Environment: local machine plus Colab export. + +1. Add `run_all_experiments.py` or an equivalent config-driven runner. +2. Save `artifact_manifest.json` with dataset hashes, split hash, code commit, package versions, model checkpoints, seeds, device, RAM, VRAM, and outputs. +3. Regenerate `colab/halurisc_src.zip` after every source change used by Colab. +4. Update the existing `colab/HaluRISC_Training.ipynb` cells rather than creating a second competing notebook. +5. The first notebook update will replace the data-preparation/training cells after the grouped-split repair; later cells will call corrected evaluation scripts and export the manifest. +6. Do not put raw datasets, restricted benchmark files, API keys, or model secrets in the repository. +7. Provide a CPU-compatible Docker path and retain CUDA as an optional local acceleration path. + +Exit condition: a clean clone plus documented downloads can regenerate the required artifacts without hidden local paths. + +### B7 — Research UI and demo + +Environment: local RTX 3060 laptop, 32 GB RAM. + +1. Keep the four routes: Chat, Analyze, Dashboard, and About/Method. +2. Add Analyze compare mode for two answers against the same evidence. +3. Show calibrated score, thresholds, warning, dataset provenance, model version, feature version, latency, device, and expandable seven-group features. +4. Add an offline/precomputed demo path so the method can be shown without an OpenAI key or network access. +5. Upgrade Dashboard into URL-addressable tabs: Overview, Robustness, Calibration, Explainability, Failures, and Efficiency. +6. Render only generated artifact data; remove hardcoded savings, metrics, versions, and fake borderline scores. +7. Label SHAP as raw-model feature attribution when the displayed score is calibrated. +8. Add manually reviewed failure-case browsing. +9. Add mobile navigation, keyboard focus, chart text alternatives, `aria-live` result states, reduced-motion handling, and non-color risk cues. +10. Avoid fake claim-level evidence highlighting because the current model produces feature-level signals, not token-level proof. +11. Keep one Uvicorn worker, no `--reload`, CUDA fp16, inference locking, bounded input lengths, and feature-result caching. + +Exit condition: a presenter can explain the method, run a live example, show a real failure, open robustness/calibration evidence, and recover if the network or LLM API is unavailable. + +### B8 — Manuscript and delivery + +Environment: local machine and manual team work. + +1. Freeze the artifact manifest before writing the Version B results section. +2. Write the paper around leakage control, cross-domain robustness, calibration under shift, explanation reliability, and deployment cost. +3. Include dataset licenses, limitations, source-group rules, and negative results. +4. Do not claim SOTA, universal truth detection, guaranteed Q2 acceptance, or an unverified first contribution. +5. Prepare a 5-minute demo: problem, grounded example, unsupported example, explanation, calibration/shift result, failure case, and efficiency. +6. Record a backup video and capture screenshots from the final commit. +7. Select the journal only after corrected results are available; recheck scope, quartile, APC, and author guidelines at submission time. + +Exit condition: manuscript numbers, dashboard numbers, manifest, screenshots, and demo video all come from the same frozen commit and artifact bundle. + +### Colab notebook update note -**Roadmap completion checklist (Week 8, before submission):** -- [x] All `data/processed/*.parquet`, `artifacts/models/*`, `artifacts/results/*` produced (gitignored by design — regenerable via `colab/HaluRISC_Training.ipynb` or locally) -- [x] `requirements.txt` fully pinned (no `>=`, no un-pinned top-level packages) -- [x] Split indices + seeds saved (`artifacts/split_indices.json` + `.npy`) -- [x] `report/out/proposal.pdf` built from source -- [x] Every citation's DOI/URL verified live (2026 entries verified 2026-08-05: ijert→Zenodo 20025988, ieeeTai→IEEE Xplore 11346950, multimedia→SpringerLink, spikescore→arXiv 2601.19245 + ICLR 2026 acceptance; also faithbench/ragtruth ACL Anthology, costeff arXiv 2407.21424, luna COLING 2025 dblp/Anthology) -- [x] README setup/run commands current (pnpm/Next 16, pinned requirements incl. en-core-web-sm, real benchmark tables refreshed against artifacts/results/*) +The existing `colab/HaluRISC_Training.ipynb` remains the notebook to use. It should not be replaced now. After the Version A code repair, update the relevant cells in this order: source upload, dependency install, grouped data preparation, feature extraction, training/evaluation, SHAP/error/latency evaluation, manifest creation, and artifact export. The exact cells and source files to change will be reported after the grouped-split implementation is complete. --- -## 14. Risks & Mitigations +## 15. Risks & Mitigations | Risk | Mitigation | |---|---| @@ -353,13 +511,15 @@ npm run build # builds Next.js static + server | Feature extraction too slow | Batch everything, extract once to Parquet | | Class imbalance | `scale_pos_weight`; report PR-AUC alongside AUROC | | Overfitting | 5-fold CV + early stopping + 3 seeds | -| HaluEval has no license / synthetic bias | Use locally, document; RAGTruth covers generalization | +| HaluEval synthetic bias or benchmark shortcuts | Use grouped splits, shortcut controls, manual audit, and RAGTruth transfer evaluation | | Dashboard scope creep | Static gallery first, live page second; polish last 2 days | | Statistical tests confusing | Use `scipy`/`statsmodels` one-liners; put interpretations in paper | +| External dataset licensing | Do not bundle restricted files; ship download scripts, hashes, citations, and license notes | +| Laptop VRAM pressure | Run heavy experiments in Colab Pro; use one local API worker, fp16, caching, and no reload | --- -## 15. Resource Links +## 16. Resource Links - HaluEval repo: `https://github.com/RUCAIBox/HaluEval` (raw: `.../main/data/qa_data.json`) - RAGTruth official: `https://github.com/ParticleMedia/RAGTruth` · HF mirror: `https://huggingface.co/datasets/wandb/RAGTruth-processed` @@ -370,4 +530,10 @@ npm run build # builds Next.js static + server - shadcn/ui Vite install: `https://ui.shadcn.com/docs/installation/vite` · Tailwind v4: `https://tailwindcss.com` - spaCy: `https://spacy.io` · SHAP: `https://shap.readthedocs.io` - Reference paper (verified): RAGTruth — Niu et al., ACL 2024, DOI 10.18653/v1/2024.acl-long.585 +- HaluEval ACL paper: `https://aclanthology.org/2023.emnlp-main.397/` +- FaithBench ACL paper: `https://aclanthology.org/2025.naacl-short.38/` +- HalluLens ACL paper: `https://aclanthology.org/2025.acl-long.1176/` +- Cost-Effective Hallucination Detection: `https://arxiv.org/abs/2407.21424` +- PARALLAX benchmark-artifact preprint: `https://arxiv.org/html/2605.17028v1` +- TRIVIA+ benchmark-design preprint: `https://arxiv.org/abs/2605.11330v1` diff --git a/src/data/prepare.py b/src/data/prepare.py index afb0151..ede05f9 100644 --- a/src/data/prepare.py +++ b/src/data/prepare.py @@ -1,7 +1,8 @@ """ Data preparation script for HaluRISC. Parses qa_data.json (JSONL) into a binary classification dataset (two rows per entry: correct & hallucinated), -performs stratified train/val/test split (70/15/15), saves split indices and clean dataset. +performs a GROUP-AWARE train/val/test split (70/15/15) so that both answer variants of one original question +stay in the same partition, saves split indices, a leakage report, and an auto-sampled audit file. """ import os @@ -20,6 +21,10 @@ AUDIT_JSON = os.path.join(PROCESSED_DIR, "audit_50_samples.json") SPLIT_INDICES_NPY = os.path.join(ARTIFACTS_DIR, "split_indices.npy") SPLIT_INDICES_JSON = os.path.join(ARTIFACTS_DIR, "split_indices.json") +SPLIT_REPORT_JSON = os.path.join(ARTIFACTS_DIR, "split_integrity_report.json") + +SPLIT_SEED = 42 + def load_and_parse_raw_data(raw_path: str = RAW_DATA_PATH) -> pd.DataFrame: """Loads HaluEval QA JSONL and expands into 2 rows per question (correct=0, hallucinated=1).""" @@ -34,7 +39,7 @@ def load_and_parse_raw_data(raw_path: str = RAW_DATA_PATH) -> pd.DataFrame: logging.info(f"Loaded {len(raw_items)} raw QA items.") rows = [] - + for idx, item in enumerate(raw_items): question = item.get("question", "").strip() context = item.get("knowledge", "").strip() @@ -69,37 +74,82 @@ def load_and_parse_raw_data(raw_path: str = RAW_DATA_PATH) -> pd.DataFrame: logging.info(f"Created dataset with {len(df)} rows ({df['label'].value_counts().to_dict()}).") return df -def prepare_splits_and_save(df: pd.DataFrame): - """Performs stratified train (70%), val (15%), test (15%) split and saves artifacts.""" - os.makedirs(PROCESSED_DIR, exist_ok=True) - os.makedirs(ARTIFACTS_DIR, exist_ok=True) - # 70% train, 30% temp - train_df, temp_df = train_test_split( - df, test_size=0.30, random_state=42, stratify=df["label"] +def build_integrity_report(df: pd.DataFrame) -> dict: + """Leakage report: every item_idx (source question) must map to exactly one split.""" + per = df.groupby("item_idx")["split"].nunique() + cross = int((per > 1).sum()) + report = { + "split": "group_by_item_idx", + "seed": SPLIT_SEED, + "n_groups_total": int(per.size), + "n_groups_per_split": {str(k): int(v) for k, v in df.groupby("split")["item_idx"].nunique().to_dict().items()}, + "n_rows_per_split": {str(k): int(v) for k, v in df.groupby("split").size().to_dict().items()}, + "label_mean_per_split": {str(k): round(float(v), 4) for k, v in df.groupby("split")["label"].mean().to_dict().items()}, + "groups_spanning_multiple_splits": cross, + "leakage_free": cross == 0, + } + if cross > 0: + raise AssertionError(f"Group leakage detected: {cross} item_idx values span multiple splits") + return report + + +def group_split_by_item(df: pd.DataFrame, test_size: float = 0.30, val_share: float = 0.5, seed: int = SPLIT_SEED): + """Group-aware 70/15/15 split: each original question (item_idx) goes to exactly one partition. + + Returns (df_with_split_column, integrity_report). + """ + grp = ( + df.groupby("item_idx", sort=False) + .agg(label=("label", "max"), n_rows=("label", "size")) + .reset_index() ) - # 15% val, 15% test from temp - val_df, test_df = train_test_split( - temp_df, test_size=0.50, random_state=42, stratify=temp_df["label"] + strat = grp["label"] if grp["label"].nunique() > 1 else None + train_g, temp_g = train_test_split(grp, test_size=test_size, random_state=seed, stratify=strat) + strat_t = temp_g["label"] if temp_g["label"].nunique() > 1 else None + val_g, test_g = train_test_split(temp_g, test_size=val_share, random_state=seed, stratify=strat_t) + + split_of: dict = {} + for g, name in ((train_g, "train"), (val_g, "val"), (test_g, "test")): + for i in g["item_idx"]: + split_of[int(i)] = name + + out = df.copy() + out["split"] = out["item_idx"].map(split_of) + report = build_integrity_report(out) + logging.info( + f"Group split: train {len(train_g)} / val {len(val_g)} / test {len(test_g)} groups; " + f"leakage_free={report['leakage_free']}" ) + return out, report + + +def prepare_splits_and_save(df: pd.DataFrame): + """Performs the group-aware train/val/test split and saves all artifacts.""" + os.makedirs(PROCESSED_DIR, exist_ok=True) + os.makedirs(ARTIFACTS_DIR, exist_ok=True) - df.loc[train_df.index, "split"] = "train" - df.loc[val_df.index, "split"] = "val" - df.loc[test_df.index, "split"] = "test" + df, report = group_split_by_item(df, seed=SPLIT_SEED) # Save processed dataset to Parquet df.to_parquet(PROCESSED_PARQUET, index=False) logging.info(f"Saved processed dataset to {PROCESSED_PARQUET}") - # Save split indices + # Save split indices + group ids (exact reproducibility) split_indices = { - "train": train_df.index.tolist(), - "val": val_df.index.tolist(), - "test": test_df.index.tolist(), - "seed": 42, - "n_train": len(train_df), - "n_val": len(val_df), - "n_test": len(test_df) + "split": "group_by_item_idx", + "train": df.index[df["split"] == "train"].tolist(), + "val": df.index[df["split"] == "val"].tolist(), + "test": df.index[df["split"] == "test"].tolist(), + "group_ids": { + "train": sorted(df.loc[df["split"] == "train", "item_idx"].unique().tolist()), + "val": sorted(df.loc[df["split"] == "val", "item_idx"].unique().tolist()), + "test": sorted(df.loc[df["split"] == "test", "item_idx"].unique().tolist()), + }, + "seed": SPLIT_SEED, + "n_train": int((df["split"] == "train").sum()), + "n_val": int((df["split"] == "val").sum()), + "n_test": int((df["split"] == "test").sum()), } with open(SPLIT_INDICES_JSON, "w") as f: @@ -108,11 +158,16 @@ def prepare_splits_and_save(df: pd.DataFrame): np.save(SPLIT_INDICES_NPY, split_indices, allow_pickle=True) logging.info(f"Saved split indices to {SPLIT_INDICES_JSON} and {SPLIT_INDICES_NPY}") - # Sample 50 random rows for manual audit - audit_samples = df.sample(n=min(50, len(df)), random_state=42).to_dict(orient="records") + with open(SPLIT_REPORT_JSON, "w") as f: + json.dump(report, f, indent=2) + logging.info(f"Saved split integrity report to {SPLIT_REPORT_JSON}") + + # Sample 50 rows for the MANUAL audit (labels must be reviewed by a human before the paper) + audit_samples = df.sample(n=min(50, len(df)), random_state=SPLIT_SEED).to_dict(orient="records") with open(AUDIT_JSON, "w") as f: json.dump(audit_samples, f, indent=2) - logging.info(f"Saved 50 audit samples to {AUDIT_JSON}") + logging.info(f"Saved 50 auto-sampled audit rows to {AUDIT_JSON} (manual review required)") + if __name__ == "__main__": df = load_and_parse_raw_data() diff --git a/src/features/extract_features.py b/src/features/extract_features.py index a94cc6b..235a338 100644 --- a/src/features/extract_features.py +++ b/src/features/extract_features.py @@ -159,8 +159,8 @@ def load_heavy_models(nli_model_name: str | None = None, device: str | None = No models["nlp"] = load_ner_model() logging.info(f"NER model loaded in {time.time() - t0:.1f}s") t0 = time.time() - models["nli"], nli_name = load_nli_model(nli_model_name, device=device, model_kwargs=model_kwargs) - logging.info(f"NLI model ({nli_name}) loaded in {time.time() - t0:.1f}s") + models["nli"], models["nli_name"] = load_nli_model(nli_model_name, device=device, model_kwargs=model_kwargs) + logging.info(f"NLI model ({models['nli_name']}) loaded in {time.time() - t0:.1f}s") t0 = time.time() models["embedder"] = load_embedding_model(device=device, model_kwargs=model_kwargs) logging.info(f"Embedding model loaded in {time.time() - t0:.1f}s") @@ -186,8 +186,11 @@ def extract_all_features_single(question: str, context: str, answer: str, models return feats -def extract_full_feature_set(df: pd.DataFrame, models: dict | None = None) -> pd.DataFrame: - """Extracts all 7 feature groups (core + entity + NLI + semantic) with per-group latency.""" +def extract_full_feature_set(df: pd.DataFrame, models: dict | None = None, batch_size: int = 128) -> pd.DataFrame: + """Extracts all 7 feature groups (core + entity + NLI + semantic) with per-group latency. + + batch_size controls the NLI/embedding inference batch (larger on GPU = faster). + """ import time from src.features.entity_features import extract_entity_features_df @@ -204,12 +207,12 @@ def extract_full_feature_set(df: pd.DataFrame, models: dict | None = None) -> pd logging.info(f"Entity features done in {time.time() - t0:.1f}s") t0 = time.time() - nli_df = extract_nli_features_df(df, models["nli"]) - logging.info(f"NLI features done in {time.time() - t0:.1f}s") + nli_df = extract_nli_features_df(df, models["nli"], batch_size=batch_size) + logging.info(f"NLI features done in {time.time() - t0:.1f}s (batch={batch_size})") t0 = time.time() - semantic_df = extract_semantic_features_df(df, models["embedder"]) - logging.info(f"Semantic features done in {time.time() - t0:.1f}s") + semantic_df = extract_semantic_features_df(df, models["embedder"], batch_size=batch_size) + logging.info(f"Semantic features done in {time.time() - t0:.1f}s (batch={batch_size})") result_df = pd.concat([result_df, entity_df, nli_df, semantic_df], axis=1) logging.info(f"Full feature matrix: {result_df.shape[1]} features total.") @@ -227,13 +230,27 @@ def extract_full_feature_set(df: pd.DataFrame, models: dict | None = None) -> pd parser.add_argument("--input", default=os.path.join("data", "processed", "qa_clean.parquet")) parser.add_argument("--output", default=os.path.join("data", "processed", "features_full.parquet")) parser.add_argument("--nli-model", default=None, help="Override NLI CrossEncoder checkpoint") + parser.add_argument("--device", default=None, help="cuda|cpu (default: auto; cuda loads models fp16)") + parser.add_argument("--batch-size", type=int, default=128, help="NLI/embedding inference batch (use 256+ on GPU)") args = parser.parse_args() if not os.path.exists(args.input): raise FileNotFoundError(f"{args.input} not found. Run src/data/prepare.py first.") df = pd.read_parquet(args.input) - models = load_heavy_models(args.nli_model) - features_df = extract_full_feature_set(df, models) + models = load_heavy_models(args.nli_model, device=args.device) + features_df = extract_full_feature_set(df, models, batch_size=args.batch_size) features_df.to_parquet(args.output, index=False) logging.info(f"Saved full feature matrix to {args.output}") + + # Record which NLI checkpoint was actually used (provenance for params.json/manifest) + nli_used = { + "nli_model": models.get("nli_name"), + "device": str(getattr(models.get("nli"), "device", "unknown")), + "batch_size": args.batch_size, + "extracted_at": pd.Timestamp.now("UTC").isoformat(), + } + os.makedirs(os.path.join("data", "processed"), exist_ok=True) + with open(os.path.join("data", "processed", "nli_model_used.json"), "w") as f: + json.dump(nli_used, f, indent=2) + logging.info(f"Recorded NLI provenance: {nli_used['nli_model']}") diff --git a/src/models/make_manifest.py b/src/models/make_manifest.py new file mode 100644 index 0000000..bbf2692 --- /dev/null +++ b/src/models/make_manifest.py @@ -0,0 +1,153 @@ +""" +HaluRISC artifact manifest generator (blueprint A18 / roadmap B6). + +Writes artifacts/results/manifest.json with dataset hashes, split report, +package versions, hardware/software info, model/feature versions, and the +list of produced artifacts. Colab-safe: repo-root-relative paths only. + +Run (repo root, .venv or Colab): + python src/models/make_manifest.py +""" + +import hashlib +import json +import logging +import os +import platform +import subprocess +import sys +import time +from datetime import datetime, timezone +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) + +from src.models.config import ARTIFACTS_DIR, DATA_PROCESSED, MODELS_DIR, RESULTS_DIR # noqa: E402 + +logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s") +logger = logging.getLogger("make_manifest") + +SHA_FILES = [ + DATA_PROCESSED / "qa_clean.parquet", + DATA_PROCESSED / "features_full.parquet", + MODELS_DIR / "model_xgboost_raw.joblib", + MODELS_DIR / "model_xgboost_calibrated.joblib", + ARTIFACTS_DIR / "split_indices.json", + ARTIFACTS_DIR / "split_integrity_report.json", +] + + +def sha256(path: Path) -> str | None: + if not path.exists(): + return None + h = hashlib.sha256() + with open(path, "rb") as f: + for chunk in iter(lambda: f.read(1 << 20), b""): + h.update(chunk) + return h.hexdigest() + + +def git_commit() -> str | None: + try: + out = subprocess.run( + ["git", "rev-parse", "HEAD"], capture_output=True, text=True, timeout=10 + ) + return out.stdout.strip() or None + except Exception: + return None + + +def versions() -> dict: + def ver(name: str): + try: + mod = __import__(name) + return getattr(mod, "__version__", "unknown") + except Exception: + return None + + return { + "python": platform.python_version(), + "platform": platform.platform(), + "torch": ver("torch"), + "numpy": ver("numpy"), + "pandas": ver("pandas"), + "scikit_learn": ver("sklearn"), + "xgboost": ver("xgboost"), + "shap": ver("shap"), + "spacy": ver("spacy"), + "sentence_transformers": ver("sentence_transformers"), + "fastapi": ver("fastapi"), + } + + +def hardware() -> dict: + hw = {"cpu": platform.processor(), "cuda": False, "gpu_name": None, "gpu_total_memory_gb": None} + try: + import torch + + if torch.cuda.is_available(): + hw["cuda"] = True + hw["gpu_name"] = torch.cuda.get_device_name(0) + hw["gpu_total_memory_gb"] = round(torch.cuda.get_device_properties(0).total_memory / 2**30, 2) + except Exception: + pass + try: + import psutil + + hw["ram_total_gb"] = round(psutil.virtual_memory().total / 2**30, 2) + except Exception: + hw["ram_total_gb"] = None + return hw + + +def read_json(path: Path): + try: + return json.loads(path.read_text()) + except Exception: + return None + + +def main(): + params = read_json(MODELS_DIR / "params.json") or {} + split_report = read_json(ARTIFACTS_DIR / "split_integrity_report.json") + nli_used = read_json(DATA_PROCESSED / "nli_model_used.json") + + manifest = { + "generated_at": datetime.now(timezone.utc).isoformat(), + "git_commit": git_commit(), + "model_version": params.get("model_version"), + "feature_version": "course-v1.0", + "n_features": params.get("n_features"), + "nli_model": params.get("nli_model"), + "nli_provenance": nli_used, + "split_report": split_report, + "dataset_sha256": { + "qa_clean.parquet": sha256(SHA_FILES[0]), + "features_full.parquet": sha256(SHA_FILES[1]), + "model_xgboost_raw.joblib": sha256(SHA_FILES[2]), + "model_xgboost_calibrated.joblib": sha256(SHA_FILES[3]), + "split_indices.json": sha256(SHA_FILES[4]), + "split_integrity_report.json": sha256(SHA_FILES[5]), + }, + "versions": versions(), + "hardware": hardware(), + "artifacts": sorted( + str(p.relative_to(ARTIFACTS_DIR.parent)) + for p in [ + *ARTIFACTS_DIR.rglob("*"), + *DATA_PROCESSED.glob("*.parquet"), + DATA_PROCESSED / "nli_model_used.json", + ] + if p.is_file() + ), + } + + RESULTS_DIR.mkdir(parents=True, exist_ok=True) + out = RESULTS_DIR / "manifest.json" + out.write_text(json.dumps(manifest, indent=2)) + logger.info(f"Saved manifest to {out}") + return manifest + + +if __name__ == "__main__": + main() diff --git a/src/models/train_pipeline.py b/src/models/train_pipeline.py index 20fe3e6..ffc1aab 100644 --- a/src/models/train_pipeline.py +++ b/src/models/train_pipeline.py @@ -86,18 +86,27 @@ def xgb_device() -> str: - """cuda if available else cpu (XGBoost 3.4 device parameter).""" + """Device for XGBoost: cuda if available else cpu (XGBoost 3.4 device parameter). + + HALU_XGB_DEVICE=cuda|cpu|auto overrides. CUDA-trained boosters do not + port across platforms (Colab Linux vs local Windows wheels), so Colab runs + should set HALU_XGB_DEVICE=cpu to produce locally loadable artifacts. + """ + override = os.environ.get("HALU_XGB_DEVICE", "auto") + if override in ("cuda", "cpu"): + return override try: import xgboost as xgb - if xgb.__version__.split(".")[0] >= "3": - try: - import torch + if not xgb.build_info().get("USE_CUDA"): + return "cpu" + try: + import torch - if torch.cuda.is_available(): - return "cuda" - except ImportError: - pass + if torch.cuda.is_available(): + return "cuda" + except ImportError: + pass except ImportError: pass return "cpu" @@ -189,7 +198,12 @@ def heuristic_baseline(val_df: pd.DataFrame, test_df: pd.DataFrame, col: str = " return test_preds, test_probs, {"threshold": float(best_thresh), "val_f1": float(best_f1)} -def make_xgb(params: dict, seed: int, scale_pos_weight: float) -> XGBClassifier: +def make_xgb(params: dict, seed: int, scale_pos_weight: float, early_stopping: bool = False) -> XGBClassifier: + """XGBoost 3.x: early_stopping_rounds is a CONSTRUCTOR kwarg and requires eval_set in fit(). + + Set early_stopping=True only for fits that pass eval_set (seed models, ablations); + keep it off for tuning/CV fits that have no validation set. + """ base = dict( objective="binary:logistic", eval_metric="logloss", @@ -199,6 +213,8 @@ def make_xgb(params: dict, seed: int, scale_pos_weight: float) -> XGBClassifier: scale_pos_weight=scale_pos_weight, random_state=seed, ) + if early_stopping: + base["early_stopping_rounds"] = 30 base.update(params) return XGBClassifier(**base) @@ -223,7 +239,7 @@ def train_seed_models( """Train XGBoost for each seed with early stopping on validation.""" results = [] for seed in SEEDS: - xgb = make_xgb(params, seed, scale_pos_weight) + xgb = make_xgb(params, seed, scale_pos_weight, early_stopping=True) xgb.fit(X_train, y_train, eval_set=[(X_val, y_val)], verbose=False) y_prob = xgb.predict_proba(X_test)[:, 1] results.append({"seed": seed, "model": xgb, "y_prob": y_prob}) @@ -287,13 +303,17 @@ def main(): lr = LogisticRegression(max_iter=2000, random_state=seed) lr.fit(X_train_s, y_train) p = lr.predict_proba(X_test_s)[:, 1] - baseline_rows["lr"].append(classification_metrics(y_test, (p >= 0.5).astype(int), p)) + m = classification_metrics(y_test, (p >= 0.5).astype(int), p) + m["seed"] = seed + baseline_rows["lr"].append(m) baseline_preds["lr"].append((p >= 0.5).astype(int)) rf = RandomForestClassifier(n_estimators=300, min_samples_leaf=5, n_jobs=-1, random_state=seed) rf.fit(X_train, y_train) p = rf.predict_proba(X_test)[:, 1] - baseline_rows["rf"].append(classification_metrics(y_test, (p >= 0.5).astype(int), p)) + m = classification_metrics(y_test, (p >= 0.5).astype(int), p) + m["seed"] = seed + baseline_rows["rf"].append(m) baseline_preds["rf"].append((p >= 0.5).astype(int)) # ---- 4. XGBoost per seed + calibration on val ---- @@ -391,7 +411,7 @@ def mcnemar_p(pred_a, pred_b): Xa_train, Xa_test = train_df[kept].values, test_df[kept].values f1s, aucs = [], [] for seed in SEEDS: - m = make_xgb(best_params, seed, pos_ratio) + m = make_xgb(best_params, seed, pos_ratio, early_stopping=True) m.fit(Xa_train, y_train, eval_set=[(val_df[kept].values, y_val)], verbose=False) p = m.predict_proba(Xa_test)[:, 1] f1s.append(f1_score(y_test, (p >= 0.5).astype(int), zero_division=0)) @@ -408,6 +428,11 @@ def mcnemar_p(pred_a, pred_b): final_model = xgb_models[SEEDS.index(final_seed)]["model"] final_cal = calibrators[final_seed] + nli_used = None + nli_path = ROOT / "data" / "processed" / "nli_model_used.json" + if nli_path.exists(): + nli_used = json.loads(nli_path.read_text()).get("nli_model") + joblib.dump(final_model, MODELS_DIR / "model_xgboost_raw.joblib") joblib.dump( {"kind": "xgb+platt", "model": final_model, "calibrator": calibrators[final_seed]}, @@ -421,6 +446,7 @@ def mcnemar_p(pred_a, pred_b): "seeds": SEEDS, "scale_pos_weight": pos_ratio, "feature_groups": FEATURE_GROUPS, "feature_cols": feature_cols, "n_features": len(feature_cols), "model_version": "xgboost-v1.0", + "nli_model": nli_used, "device": xgb_device(), "n_train": int(len(X_train)), "n_val": int(len(X_val)), "n_test": int(len(X_test)), }, f, indent=2) with open(MODELS_DIR / "feature_names.json", "w") as f: @@ -448,6 +474,32 @@ def summarize(rows, name): with open(RESULTS_DIR / "final_results.json", "w") as f: json.dump(results, f, indent=2) + # Per-seed metric rows (blueprint A9: report mean +/- std AND keep raw seed rows) + def seed_rows(rows): + return [ + { + "seed": r["seed"], + "precision": float(r["precision"]), + "recall": float(r["recall"]), + "f1": float(r["f1"]), + "auroc": float(r["auroc"]), + "pr_auc": float(r["pr_auc"]), + "mcc": float(r["mcc"]), + } + for r in rows + ] + + with open(RESULTS_DIR / "seed_metrics.json", "w") as f: + json.dump( + { + "logistic_regression": seed_rows(baseline_rows["lr"]), + "random_forest": seed_rows(baseline_rows["rf"]), + "xgboost": seed_rows(xgb_rows), + }, + f, + indent=2, + ) + summary_df = pd.DataFrame([results["heuristic"], results["logistic_regression"], results["random_forest"], results["xgboost"]]).set_index("model") summary_df.to_csv(RESULTS_DIR / "model_comparison.csv") diff --git a/tests/test_prepare.py b/tests/test_prepare.py new file mode 100644 index 0000000..2094b5e --- /dev/null +++ b/tests/test_prepare.py @@ -0,0 +1,62 @@ +"""Grouped split tests: no source question (item_idx) may span multiple partitions.""" + +import sys +from pathlib import Path + +import numpy as np +import pandas as pd +import pytest + +ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(ROOT)) + +from src.data.prepare import build_integrity_report, group_split_by_item # noqa: E402 + + +def make_df(n_groups: int = 200, seed: int = 7, missing_halucinated_p: float = 0.1) -> pd.DataFrame: + rng = np.random.default_rng(seed) + rows = [] + for i in range(n_groups): + rows.append({"item_idx": i, "label": 0, "x": 1.0}) + if rng.random() > missing_halucinated_p: + rows.append({"item_idx": i, "label": 1, "x": 2.0}) + return pd.DataFrame(rows) + + +def test_no_group_overlap(): + df, report = group_split_by_item(make_df()) + assert report["groups_spanning_multiple_splits"] == 0 + assert report["leakage_free"] is True + assert df.groupby("item_idx")["split"].nunique().max() == 1 + + +def test_splits_exist_and_reproducible(): + df1, r1 = group_split_by_item(make_df()) + df2, r2 = group_split_by_item(make_df()) + assert (df1["split"].values == df2["split"].values).all() + counts = df1.groupby("split").size() + assert set(counts.index) == {"train", "val", "test"} + assert len(df1) == len(df1["split"]) and df1["split"].notna().all() + + +def test_label_balance_per_split(): + df, report = group_split_by_item(make_df(n_groups=400, seed=11)) + mean = df.groupby("split")["label"].mean() + assert mean.sub(0.5).abs().max() < 0.15 + + +def test_integrity_report_detects_leakage(): + df = pd.DataFrame( + { + "item_idx": [0, 0, 1, 1, 2, 2], + "label": [0, 1, 0, 1, 0, 1], + "split": ["train", "train", "val", "val", "test", "test"], + } + ) + report = build_integrity_report(df) + assert report["leakage_free"] is True + assert report["groups_spanning_multiple_splits"] == 0 + + df.loc[0, "split"] = "test" # group 0 now spans train + test + with pytest.raises(AssertionError): + build_integrity_report(df) diff --git a/web/app/about/page.tsx b/web/app/about/page.tsx index b7e952a..ab795a8 100644 --- a/web/app/about/page.tsx +++ b/web/app/about/page.tsx @@ -1,7 +1,7 @@ "use client"; import React from "react"; -import { Info, Layers, ShieldCheck, Cpu, Code2 } from "lucide-react"; +import { Info, Layers, Cpu } from "lucide-react"; export default function AboutPage() { return ( @@ -29,7 +29,7 @@ export default function AboutPage() {

1. Feature Extraction

-

14+ lightweight text features measuring grounding, numeric novelty, and uncertainty.

+

26 engineered features across 7 groups measuring grounding, entity coverage, NLI consistency, numeric novelty, and semantic drift.

2. Calibrated XGBoost

@@ -52,7 +52,7 @@ export default function AboutPage() { Core Tech Stack
- {["Next.js App Router", "assistant-ui", "Vercel AI SDK", "GPT 5.6 Luna", "FastAPI", "scikit-learn 1.7", "XGBoost 3.3.0", "SHAP", "Recharts", "Tailwind CSS v4"].map((tech, i) => ( + {["Next.js App Router", "assistant-ui", "Vercel AI SDK", "GPT 5.6 Luna", "FastAPI", "scikit-learn 1.9.0", "XGBoost 3.4.0", "PyTorch 2.11.0+cu128", "SHAP", "Recharts", "Tailwind CSS v4"].map((tech, i) => ( {tech} diff --git a/web/app/dashboard/page.tsx b/web/app/dashboard/page.tsx index f98d03e..23e77a4 100644 --- a/web/app/dashboard/page.tsx +++ b/web/app/dashboard/page.tsx @@ -88,6 +88,13 @@ interface LlmJudgeResults { agreement_with_xgboost: number; cost_usd: number; cost_per_1000_usd: number; + mcnemar_p?: number; +} + +interface LatencyAnalysis { + n_samples: number; + total_per_sample_ms?: { p50?: number }; + cost_per_1000_usd?: { halurisc_local?: number; llm_judge_estimate?: number }; } interface ErrorAnalysis { @@ -123,6 +130,13 @@ export default async function DashboardPage() { const shap = readJson("shap_summary.json"); const judge = readJson("llm_judge_results.json"); const errors = readJson("error_analysis.json"); + const latency = readJson("latency_analysis.json"); + + // Cost ratio computed from measured artifacts, never hardcoded + const haluriscCost = latency?.cost_per_1000_usd?.halurisc_local; + const judgeCost = judge?.cost_per_1000_usd ?? latency?.cost_per_1000_usd?.llm_judge_estimate; + const costRatio = haluriscCost && judgeCost ? Math.round(judgeCost / haluriscCost) : null; + const xgbLatencyP50 = latency?.total_per_sample_ms?.p50; const modelRows = results ? (Object.entries(MODEL_LABELS) @@ -199,8 +213,8 @@ export default async function DashboardPage() {
-
100x
-
Cheaper than LLM Judge
+
{costRatio ? `${costRatio}x` : "—"}
+
Cheaper than LLM Judge (from measured artifacts)
@@ -401,7 +415,8 @@ export default async function DashboardPage() {

Agreement: {judge.agreement_with_xgboost.toFixed(3)} · Judge latency p50 {judge.judge.latency_ms_p50.toFixed(0)}ms vs - XGBoost ~5ms · Judge cost ${judge.cost_per_1000_usd.toFixed(3)}/1K vs HaluRISC ~$0.001/1K (measured, {judge.model}) + HaluRISC p50 {xgbLatencyP50 ? `${xgbLatencyP50.toFixed(0)}ms` : "—"} · Judge cost ${judge.cost_per_1000_usd.toFixed(3)}/1K vs + HaluRISC {haluriscCost ? `$${haluriscCost.toFixed(3)}/1K` : "—"} (measured, {judge.model})

) : ( diff --git a/web/components/risk-gauge.tsx b/web/components/risk-gauge.tsx index dcaab95..9179cfd 100644 --- a/web/components/risk-gauge.tsx +++ b/web/components/risk-gauge.tsx @@ -14,16 +14,15 @@ export function RiskGauge({ score, label, latencyMs }: RiskGaugeProps) { // Calculate angle for needle: 0% -> -90 deg (left), 100% -> +90 deg (right) const needleAngle = -90 + (percentage / 100) * 180; - let statusColor = "#22c55e"; // Green - let statusText = "Low Risk"; - - if (percentage >= 70) { - statusColor = "#ef4444"; // Red - statusText = "High Risk"; - } else if (percentage >= 30) { - statusColor = "#eab308"; // Yellow - statusText = "Medium Risk"; - } + // API label is authoritative; fall back to percentage bands only if absent + const labelMap: Record = { + low_risk: { color: "#22c55e", text: "Low Risk" }, + medium_risk: { color: "#eab308", text: "Medium Risk" }, + high_risk: { color: "#ef4444", text: "High Risk" }, + }; + const fromLabel = label ? labelMap[label] : undefined; + const statusColor = fromLabel?.color ?? (percentage >= 70 ? "#ef4444" : percentage >= 30 ? "#eab308" : "#22c55e"); + const statusText = fromLabel?.text ?? (percentage >= 70 ? "High Risk" : percentage >= 30 ? "Medium Risk" : "Low Risk"); return (