diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000000000000000000000000000000000..7a73a41bfdf76d6f793007240d80983a52f15f97 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md index 7b95401dc46245ac339fc25059d4a56d90b4cde5..a6532007dabdd84c24d182e77dc5eeb12543346c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,151 @@ ---- -license: apache-2.0 ---- +--- +license: apache-2.0 +library_name: tempo-pfn +tags: +- time-series-forecasting +- zero-shot +- rnn +- linear-rnn +- synthetic-data +- foundation-model +- automl +arxiv: 2510.25502 +--- + +# TempoPFN: Synthetic Pre-Training of Linear RNNs for Zero-Shot Time Series Forecasting + +[](https://arxiv.org/abs/2510.25502) [](https://github.com/automl/TempoPFN/blob/main/LICENSE) + +--- + +**TempoPFN** introduced in [TempoPFN: Synthetic Pre-Training of Linear RNNs for Zero-Shot Time Series Forecasting](https://arxiv.org/abs/2510.25502), is a univariate time series foundation model pretrained **entirely on synthetic data**. It delivers top-tier zero-shot forecasting accuracy while remaining fully reproducible and free from real-data leakage. + +Built on a **Linear RNN (GatedDeltaProduct)** backbone, TempoPFN performs end-to-end forecasting without patching or windowing. Its design enables fully parallelizable training and inference while maintaining stable temporal state-tracking across long sequences. The GatedDeltaProduct architecture is based on [DeltaProduct](https://arxiv.org/html/2502.10297v3), extended with state-weaving for time series forecasting. For detailed information about the architecture and custom modifications, see [`src/models/gated_deltaproduct/README.md`](src/models/gated_deltaproduct/README.md). + +This repository includes the **pretrained 38M parameter model** (`models/checkpoint_38M.pth`), all training and inference code, and the **complete synthetic data generation pipeline** used for pretraining. + +## ✨ Why TempoPFN? + +* **High Performance, No Real Data:** Achieves top-tier competitive results on **GIFT-Eval, outperforming all existing synthetic-only approaches** and **surpassing the vast majority of models trained on real-world data**. This ensures full reproducibility and eliminates benchmark leakage. +* **Parallel and Efficient:** The linear recurrence design enables full-sequence parallelization. This gives us the best of both worlds: the linear efficiency of an RNN, but with the training parallelism of a Transformer. +* **Open and Reproducible:** Includes the full synthetic data pipeline, configurations, and scripts to reproduce training from scratch. +* **State-Tracking Stability:** The GatedDeltaProduct recurrence and *state-weaving* mechanism preserve temporal continuity and information flow across long horizons, improving robustness without non-linear recurrence. + + + +## ⚙️ Installation + +> **Note on Model Weights:** This repository uses [Git LFS](https://git-lfs.github.com/) to store the model checkpoint (`.pth` file). You **must** have Git LFS installed to clone the repository correctly. +> +> ```bash +> # Install Git LFS (e.g., on Ubuntu) +> sudo apt-get install git-lfs +> git lfs install +> ``` + +1. **Clone the repository:** +```bash + git clone https://huggingface.co/AutoML-org/TempoPFN + cd TempoPFN +``` + +2. **Set up the environment:** +```bash + python -m venv venv && source venv/bin/activate + + # 1. Install PyTorch version matching your CUDA version + # Example for CUDA 12.8: + pip install torch --index-url https://download.pytorch.org/whl/cu128 + + # 2. Install TempoPFN and all other dependencies + pip install -r requirements.txt + export PYTHONPATH=$PWD +``` + +## 🚀 Quick Start: Run the Demo + +**Prerequisites:** +* You must have a **CUDA-capable GPU** with a matching PyTorch version installed. +* You have run `export PYTHONPATH=$PWD` from the repo's root directory (see Installation). + +### 1. Run the Quick Start Script + +Run a demo forecast on a synthetic sine wave. This script will automatically find and load the `models/checkpoint_38M.pth` file included in this repository. +```bash +python examples/quick_start_tempo_pfn.py +``` + +### 2. Run with a Different Checkpoint (Optional) + +If you have trained your own model, you can point the script to it: +```bash +python examples/quick_start_tempo_pfn.py --checkpoint /path/to/your/checkpoint.pth +``` + +### 3. Run the Notebook version +```bash +jupyter notebook examples/quick_start_tempo_pfn.ipynb +``` + +### Hardware & Performance Tips + +**GPU Required:** Inference requires a CUDA-capable GPU. Tested on NVIDIA A100/H100. + +**First Inference May Be Slow:** Initial calls for unseen sequence lengths trigger Triton kernel compilation. Subsequent runs are cached and fast. + +**Triton Caches:** To prevent slowdowns from writing caches to a network filesystem, route caches to a local directory (like `/tmp`) before running: +```bash +LOCAL_CACHE_BASE="${TMPDIR:-/tmp}/tsf-$(date +%s)" +mkdir -p "${LOCAL_CACHE_BASE}/triton" "${LOCAL_CACHE_BASE}/torchinductor" +export TRITON_CACHE_DIR="${LOCAL_CACHE_BASE}/triton" +export TORCHINDUCTOR_CACHE_DIR="${LOCAL_CACHE_BASE}/torchinductor" + +python examples/quick_start_tempo_pfn.py +``` + +## 🚂 Training + +### Single-GPU Training (for debugging) +```bash +torchrun --standalone --nproc_per_node=1 src/training/trainer_dist.py --config ./configs/train.yaml +``` + +### Multi-GPU Training (Single-Node) + +This example uses 8 GPUs. The training script uses PyTorch DistributedDataParallel (DDP). +```bash +torchrun --standalone --nproc_per_node=8 src/training/trainer_dist.py --config ./configs/train.yaml +``` + +### Configuration + +All training and model parameters are controlled via YAML files in `configs/` (architecture, optimizers, paths). + +## 💾 Synthetic Data Generation + +A core contribution of this work is our open-source synthetic data pipeline, located in `src/synthetic_generation/`. It combines diverse generators with a powerful augmentation cascade. + +**Generators Used:** + +* **Adapted Priors:** ForecastPFN, KernelSynth, GaussianProcess (GP), and CauKer (Structural Causal Models). +* **Novel Priors:** SDE (a flexible regime-switching Ornstein-Uhlenbeck process), Sawtooth, StepFunction, Anomaly, Spikes, SineWave, and Audio-Inspired generators (Stochastic Rhythms, Financial Volatility, Network Topology, Multi-Scale Fractals). + +You can easily generate your own data by installing the development dependencies and instantiating a generator wrapper. See `examples/generate_synthetic_data.py` for a minimal script, or inspect the generator code in `src/synthetic_generation/`. + +## 🤝 License + +This project is licensed under the Apache 2.0 License. See the LICENSE file for details. This permissive license allows for both academic and commercial use. + +## 📚 Citation + +If you find TempoPFN useful in your research, please consider citing our paper: +```bibtex +@misc{moroshan2025tempopfn, + title={TempoPFN: Synthetic Pre-training of Linear RNNs for Zero-Shot Time Series Forecasting}, + author={Vladyslav Moroshan and Julien Siems and Arber Zela and Timur Carstensen and Frank Hutter}, + year={2025}, + eprint={2510.25502}, + archivePrefix={arXiv}, + primaryClass={cs.LG} +} +``` \ No newline at end of file diff --git a/configs/example.yaml b/configs/example.yaml new file mode 100644 index 0000000000000000000000000000000000000000..667220e5c73a08e209d19a331c31cd6cc007b8de --- /dev/null +++ b/configs/example.yaml @@ -0,0 +1,119 @@ +train_data_path: null # Replace with the path to root of the training data directory with subdirectories for each generator (e.g. gp, kernel, etc.) +model_path: ./models # Path where the model will be saved +model_name: TempoPFN +continue_training: false +checkpoint_path: null # Replace with the path to the checkpoint file +seed: 2025 +wandb: true # whether to log to wandb +wandb_project_name: TempoPFNTraining +wandb_entity: university-of-freiburg-2024 +wandb_plots: false + +batch_size: 40 +num_training_iterations: 1000000 # 1M +validation_batch_size: 64 +num_validation_batches: 1 +num_workers: 4 +gradient_accumulation_enabled: true +accumulation_steps: 5 # Number of batches to accumulate before updating (effective batch size = batch_size * accumulation_steps) +log_interval: 2048 +save_every: 100000 + +generator_proportions: + forecast_pfn: 1.0 + gp: 1.0 + kernel: 1.0 + sawtooth: 1.0 + sinewave: 1.0 + step: 1.0 + anomaly: 1.0 + spike: 1.0 + cauker_univariate: 1.0 + ou_process: 3.0 + audio_financial_volatility: 0.1 + audio_multi_scale_fractal: 0.1 + audio_network_topology: 0.5 + audio_stochastic_rhythm: 0.5 + augmented_per_sample_2048: 2.0 + augmented_temp_batch_2048: 2.0 + +# Learning Rate Scheduler Configuration +lr_scheduler: cosine # Options: "warmup_stable_decay", "cosine_with_warmup", "cosine_with_restarts", "cosine" + +# Learning Rate Parameters +peak_lr: 0.0002 # 2e-4 - Peak learning rate +min_lr_ratio: 0.01 # Minimum LR as fraction of peak LR + +# WSD Scheduler Specific Parameters +warmup_ratio: 0.003 # 0.3% of total steps for warmup +stable_ratio: 0.90 # 90% of total steps at stable learning rate +decay_type: cosine # Type of decay: "cosine" or "linear" + +# Alternative Scheduler Parameters (if using different schedulers) +num_cycles: 0.5 # For cosine_with_warmup: 0.5 = half cosine wave +num_restart_cycles: 4 # For cosine_with_restarts: number of restart cycles + +# Optimizer Configuration +weight_decay: 0.01 # Weight decay for AdamW +beta1: 0.9 # Adam beta1 parameter +beta2: 0.98 # Adam beta2 parameter (optimized for transformers) +optimizer_eps: 1e-6 # Adam epsilon + +# Training Stability +gradient_clip_val: 100.0 +scaler: custom_robust + +gift_eval: + evaluate_on_gift_eval: false + max_context_length: 3072 + create_plots: false + max_plots: 5 + dataset_storage_path: null # Replace with the path to the dataset storage path + +data_augmentation: + nan_augmentation: true + scaler_augmentation: false + length_shortening: true + nan_stats_path: ./data/nan_stats.json + +augmentation_probabilities: + scaler_augmentation: 0.5 + +TimeSeriesModel: + # Core architecture + embed_size: 512 + num_encoder_layers: 10 + + # Scaling and preprocessing + scaler: custom_robust + epsilon: 0.00001 + scaler_clamp_value: null + handle_constants: false + + # Time features + K_max: 25 + time_feature_config: + use_enhanced_features: true + use_holiday_features: false + use_index_features: true + include_seasonality_info: true + + drop_enc_allow: false + encoding_dropout: 0.0 + + # Encoder configuration + encoder_config: + attn_mode: chunk + num_heads: 4 + expand_v: 1.0 + use_short_conv: true + conv_size: 32 + allow_neg_eigval: true + hidden_ratio: 1.0 + use_gate: true + use_forget_gate: true + num_householder: 4 + weaving: true + + loss_type: 'quantile' + quantiles: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] \ No newline at end of file diff --git a/data/dataset_properties.json b/data/dataset_properties.json new file mode 100644 index 0000000000000000000000000000000000000000..e53b8565792bfb4071eaff8c74304ab5ff63cbed --- /dev/null +++ b/data/dataset_properties.json @@ -0,0 +1,152 @@ +{ + "m4_yearly": { + "domain": "Econ/Fin", + "frequency": "A", + "num_variates": 1 + }, + "m4_quarterly": { + "domain": "Econ/Fin", + "frequency": "Q", + "num_variates": 1 + }, + "m4_monthly": { + "domain": "Econ/Fin", + "frequency": "M", + "num_variates": 1 + }, + "m4_weekly": { + "domain": "Econ/Fin", + "frequency": "W", + "num_variates": 1 + }, + "m4_daily": { + "domain": "Econ/Fin", + "frequency": "D", + "num_variates": 1 + }, + "m4_hourly": { + "domain": "Econ/Fin", + "frequency": "H", + "num_variates": 1 + }, + "electricity": { + "domain": "Energy", + "frequency": "W", + "num_variates": 1 + }, + "ett1": { + "domain": "Energy", + "frequency": "W", + "num_variates": 7 + }, + "ett2": { + "domain": "Energy", + "frequency": "W", + "num_variates": 7 + }, + "solar": { + "domain": "Energy", + "frequency": "W", + "num_variates": 1 + }, + "hospital": { + "domain": "Healthcare", + "frequency": "M", + "num_variates": 1 + }, + "covid_deaths": { + "domain": "Healthcare", + "frequency": "D", + "num_variates": 1 + }, + "us_births": { + "domain": "Healthcare", + "frequency": "M", + "num_variates": 1 + }, + "saugeen": { + "domain": "Nature", + "frequency": "M", + "num_variates": 1 + }, + "temperature_rain": { + "domain": "Nature", + "frequency": "D", + "num_variates": 1 + }, + "kdd_cup_2018": { + "domain": "Nature", + "frequency": "D", + "num_variates": 1 + }, + "jena_weather": { + "domain": "Nature", + "frequency": "D", + "num_variates": 21 + }, + "car_parts": { + "domain": "Sales", + "frequency": "M", + "num_variates": 1 + }, + "restaurant": { + "domain": "Sales", + "frequency": "D", + "num_variates": 1 + }, + "hierarchical_sales": { + "domain": "Sales", + "frequency": "W-WED", + "num_variates": 1 + }, + "loop_seattle": { + "domain": "Transport", + "frequency": "D", + "num_variates": 1 + }, + "sz_taxi": { + "domain": "Transport", + "frequency": "H", + "num_variates": 1 + }, + "m_dense": { + "domain": "Transport", + "frequency": "D", + "num_variates": 1 + }, + "bitbrains_fast_storage": { + "domain": "Web/CloudOps", + "frequency": "H", + "num_variates": 2 + }, + "bitbrains_rnd": { + "domain": "Web/CloudOps", + "frequency": "H", + "num_variates": 2 + }, + "bizitobs_application": { + "domain": "Web/CloudOps", + "frequency": "10S", + "num_variates": 2 + }, + "bizitobs_service": { + "domain": "Web/CloudOps", + "frequency": "10S", + "num_variates": 2 + }, + "bizitobs_l2c": { + "domain": "Web/CloudOps", + "frequency": "H", + "num_variates": 7 + }, + "dd_benchmark_short": { + "domain": "Web/Observability", + "frequency": "Short", + "num_variates": 32 + }, + "dd_benchmark_long": { + "domain": "Web/Observability", + "frequency": "Long", + "num_variates": 32 + } +} \ No newline at end of file diff --git a/data/nan_stats.json b/data/nan_stats.json new file mode 100644 index 0000000000000000000000000000000000000000..e1db00019a2453d0ff9bf95ccb5c2f1eb65e5b44 --- /dev/null +++ b/data/nan_stats.json @@ -0,0 +1 @@ +{"p_series_has_nan": 0.24642624405529442, "nan_ratio_distribution": [0.002717391304347826, 0.0007763975155279503, 0.0006469979296066253, 0.002976190476190476, 0.0006469979296066253, 0.14945652173913043, 0.0009057971014492754, 0.002976190476190476, 0.003105590062111801, 0.003105590062111801, 0.003105590062111801, 0.003105590062111801, 0.002846790890269151, 0.0014233954451345755, 0.00038819875776397513, 0.002717391304347826, 0.002976190476190476, 0.003105590062111801, 0.0010351966873706005, 0.0005175983436853002, 0.0007763975155279503, 0.0007763975155279503, 0.003105590062111801, 0.00038819875776397513, 0.0006469979296066253, 0.0009057971014492754, 0.002846790890269151, 0.0007763975155279503, 0.0036231884057971015, 0.14945652173913043, 0.002717391304347826, 0.0007763975155279503, 0.00038819875776397513, 0.0007763975155279503, 0.0033643892339544515, 0.0010351966873706005, 0.002458592132505176, 0.003105590062111801, 0.0033643892339544515, 0.1482919254658385, 0.002846790890269151, 0.0010351966873706005, 0.002846790890269151, 0.002976190476190476, 0.002976190476190476, 0.0005175983436853002, 0.0011645962732919255, 0.0032349896480331265, 0.003105590062111801, 0.0006469979296066253, 0.002717391304347826, 0.00038819875776397513, 0.0032349896480331265, 0.0032349896480331265, 0.002976190476190476, 0.002976190476190476, 0.0005175983436853002, 0.379787784679089, 0.6717132505175983, 0.002976190476190476, 0.002717391304347826, 0.0033643892339544515, 0.9989648033126294, 0.0032349896480331265, 0.0006469979296066253, 0.0032349896480331265, 0.003105590062111801, 0.002717391304347826, 0.002976190476190476, 0.002846790890269151, 0.00038819875776397513, 0.002717391304347826, 0.37085921325051757, 0.00012939958592132506, 0.0033643892339544515, 0.8501552795031055, 0.0005175983436853002, 0.0009057971014492754, 0.0036231884057971015, 0.984860248447205, 0.0009057971014492754, 1.0, 0.002976190476190476, 0.0011645962732919255, 0.002976190476190476, 0.5905797101449275, 0.8910455486542443, 0.002976190476190476, 0.8501552795031055, 0.0036231884057971015, 0.0032349896480331265, 0.0014233954451345755, 0.002587991718426501, 0.002846790890269151, 0.0032349896480331265, 0.003105590062111801, 0.0007763975155279503, 0.0036231884057971015, 0.9742494824016563, 0.002976190476190476, 0.0015527950310559005, 0.002846790890269151, 0.0034937888198757765, 0.002846790890269151, 0.0033643892339544515, 0.003105590062111801, 1.0, 0.0005175983436853002, 0.0033643892339544515, 0.0033643892339544515, 0.002717391304347826, 0.0032349896480331265, 0.0011645962732919255, 0.003105590062111801, 0.6282349896480331, 0.0033643892339544515, 0.0005175983436853002, 0.0033643892339544515, 0.003105590062111801, 0.14997412008281574, 0.0033643892339544515, 0.002717391304347826, 0.003105590062111801, 0.0007763975155279503, 0.002717391304347826, 0.0036231884057971015, 0.0034937888198757765, 0.0032349896480331265, 0.0010351966873706005, 0.0006469979296066253, 0.0032349896480331265, 0.6714544513457557, 0.0009057971014492754, 0.003105590062111801, 0.002846790890269151, 0.002587991718426501, 0.0034937888198757765, 0.0010351966873706005, 0.002976190476190476, 0.002976190476190476, 0.0011645962732919255, 0.002329192546583851, 0.0033643892339544515, 0.003105590062111801, 0.0036231884057971015, 0.9949534161490683, 0.00038819875776397513, 0.002846790890269151, 0.0033643892339544515, 0.002846790890269151, 0.002846790890269151, 0.002717391304347826, 0.002329192546583851, 0.0005175983436853002, 0.0032349896480331265, 0.0034937888198757765, 0.003105590062111801, 0.002199792960662526, 0.15087991718426502, 0.002329192546583851, 0.002717391304347826, 0.00038819875776397513, 0.0007763975155279503, 0.0033643892339544515, 0.002976190476190476, 0.0005175983436853002, 0.003105590062111801, 0.003105590062111801, 0.0007763975155279503, 0.1486801242236025, 0.002976190476190476, 0.0033643892339544515, 0.0005175983436853002, 0.0010351966873706005, 0.9946946169772257, 0.0032349896480331265, 0.0006469979296066253, 0.0007763975155279503, 0.00038819875776397513, 0.0006469979296066253, 0.002846790890269151, 0.0006469979296066253, 0.0005175983436853002, 0.002458592132505176, 0.002846790890269151, 0.0005175983436853002, 0.002976190476190476, 0.002717391304347826, 0.00038819875776397513, 0.0014233954451345755, 0.8935041407867494, 0.002717391304347826, 0.0032349896480331265, 0.002976190476190476, 0.00038819875776397513, 0.0006469979296066253, 0.003105590062111801, 0.003105590062111801, 1.0, 0.0006469979296066253, 0.002846790890269151, 0.002717391304347826, 0.002587991718426501, 0.003105590062111801, 0.003105590062111801, 0.0009057971014492754, 0.003105590062111801, 0.002717391304347826, 0.0033643892339544515, 0.003105590062111801, 0.002717391304347826, 0.0006469979296066253, 0.0010351966873706005, 0.002717391304347826, 0.0032349896480331265, 0.00038819875776397513, 0.0033643892339544515, 0.0009057971014492754, 0.0006469979296066253, 0.0006469979296066253, 0.0009057971014492754, 0.0033643892339544515, 0.0005175983436853002, 0.003105590062111801, 0.00038819875776397513, 0.002846790890269151, 0.00012939958592132506, 0.0034937888198757765, 0.00038819875776397513, 0.0007763975155279503, 0.0005175983436853002, 0.002976190476190476, 0.0009057971014492754, 0.0037525879917184265, 0.0006469979296066253, 0.0032349896480331265, 0.002846790890269151, 0.0032349896480331265, 0.0005175983436853002, 0.003105590062111801, 0.003105590062111801, 0.0006469979296066253, 0.8501552795031055, 0.002846790890269151, 0.0033643892339544515, 0.0033643892339544515, 0.3734472049689441, 0.0007763975155279503, 0.0005175983436853002, 0.0007763975155279503, 0.002846790890269151, 0.0006469979296066253, 0.002846790890269151, 0.0033643892339544515, 0.0006469979296066253, 0.0032349896480331265, 0.002846790890269151, 0.0007763975155279503, 0.00038819875776397513, 0.0032349896480331265, 0.003105590062111801, 0.0032349896480331265, 0.0005175983436853002, 0.002199792960662526, 0.003105590062111801, 0.003105590062111801, 0.5976966873706004, 0.002976190476190476, 0.0010351966873706005, 0.003105590062111801, 0.0006469979296066253, 0.002846790890269151, 0.0033643892339544515, 0.002717391304347826, 0.002846790890269151, 0.002846790890269151, 0.0032349896480331265, 0.5187629399585921, 0.002717391304347826, 0.0010351966873706005, 0.0032349896480331265, 0.0005175983436853002, 0.00038819875776397513, 0.002976190476190476, 0.047489648033126296, 0.0016821946169772257, 0.0033643892339544515, 0.5578416149068323, 0.002717391304347826, 0.003105590062111801, 0.0007763975155279503, 0.002717391304347826, 0.0032349896480331265, 0.002846790890269151, 0.9967650103519669, 0.0006469979296066253, 0.04283126293995859, 0.0005175983436853002, 0.002329192546583851, 0.0019409937888198758, 0.0006469979296066253, 0.002846790890269151, 0.002846790890269151, 0.002976190476190476, 0.00038819875776397513, 0.0007763975155279503, 0.002717391304347826, 0.0034937888198757765, 0.002976190476190476, 0.0036231884057971015, 0.002587991718426501, 0.002717391304347826, 0.0006469979296066253, 0.0010351966873706005, 0.002717391304347826, 0.00038819875776397513, 0.0006469979296066253, 0.003105590062111801, 0.003105590062111801, 0.8907867494824017, 0.003105590062111801, 0.0005175983436853002, 0.0005175983436853002, 0.003105590062111801, 0.0032349896480331265, 0.599508281573499, 0.0009057971014492754, 0.0005175983436853002, 0.002976190476190476, 0.0006469979296066253, 0.00038819875776397513, 0.0006469979296066253, 0.0006469979296066253, 0.0034937888198757765, 0.0033643892339544515, 0.0033643892339544515, 0.002846790890269151, 0.00038819875776397513, 0.0032349896480331265, 0.0009057971014492754, 0.0006469979296066253, 0.1503623188405797, 0.003105590062111801, 0.003105590062111801, 0.002458592132505176, 0.0005175983436853002, 0.0006469979296066253, 0.00038819875776397513, 0.0009057971014492754, 0.0006469979296066253, 0.003105590062111801, 0.0038819875776397515, 0.0033643892339544515, 0.003105590062111801, 0.003105590062111801, 0.0034937888198757765, 0.00038819875776397513, 0.00038819875776397513, 0.002199792960662526, 0.0010351966873706005, 0.0032349896480331265, 0.002717391304347826, 0.0006469979296066253, 0.0034937888198757765, 0.0005175983436853002, 0.0032349896480331265, 0.003105590062111801, 0.0037525879917184265, 0.0032349896480331265, 0.002846790890269151, 0.0005175983436853002, 0.0032349896480331265, 0.0034937888198757765, 0.0033643892339544515, 0.0007763975155279503, 0.002976190476190476, 0.003105590062111801, 0.0037525879917184265, 0.0032349896480331265, 0.0005175983436853002, 0.0036231884057971015, 1.0, 0.0033643892339544515, 0.0036231884057971015, 0.0005175983436853002, 0.0032349896480331265, 0.0009057971014492754, 0.0032349896480331265, 0.002717391304347826, 0.0006469979296066253, 0.003105590062111801, 0.0006469979296066253, 0.0034937888198757765, 0.0005175983436853002, 0.002717391304347826, 0.003105590062111801, 0.0033643892339544515, 0.0009057971014492754, 0.0036231884057971015, 0.003105590062111801, 0.002846790890269151, 0.0010351966873706005, 0.002846790890269151, 0.0010351966873706005, 0.002458592132505176, 0.0005175983436853002, 0.002717391304347826, 0.0006469979296066253, 0.0034937888198757765, 0.0006469979296066253, 0.002717391304347826, 0.002976190476190476, 0.002717391304347826, 0.0033643892339544515, 0.5974378881987578, 0.00038819875776397513, 0.0006469979296066253, 0.0007763975155279503, 0.002717391304347826, 0.0002587991718426501, 0.0007763975155279503, 0.00038819875776397513, 0.0007763975155279503, 0.002846790890269151, 0.0033643892339544515, 0.002976190476190476, 0.003105590062111801, 0.003105590062111801, 0.003105590062111801, 0.3718944099378882, 0.0033643892339544515, 0.0036231884057971015, 0.0007763975155279503, 0.003105590062111801, 0.0009057971014492754, 0.0033643892339544515, 0.002717391304347826, 0.0033643892339544515, 0.0032349896480331265, 0.0007763975155279503, 0.002976190476190476, 0.002199792960662526, 0.002976190476190476, 0.0005175983436853002, 0.003105590062111801, 0.6335403726708074, 0.630564182194617, 0.0034937888198757765, 0.0034937888198757765, 0.0033643892339544515, 0.0007763975155279503, 0.002976190476190476, 0.0012939958592132505, 0.0007763975155279503, 0.0033643892339544515, 0.0033643892339544515, 0.0010351966873706005, 0.00038819875776397513, 0.00038819875776397513, 0.003105590062111801, 0.0011645962732919255, 0.002976190476190476, 0.0006469979296066253, 0.0036231884057971015, 0.002976190476190476, 0.002976190476190476, 0.0034937888198757765, 0.0036231884057971015, 0.002976190476190476, 0.0034937888198757765, 0.003105590062111801, 0.002846790890269151, 0.00038819875776397513, 0.002717391304347826, 0.0006469979296066253, 0.003105590062111801, 0.0032349896480331265, 0.0005175983436853002, 0.002976190476190476, 0.0032349896480331265, 0.0033643892339544515, 0.0010351966873706005, 0.00038819875776397513, 0.0033643892339544515, 0.0006469979296066253, 0.0033643892339544515, 0.00038819875776397513, 0.0007763975155279503, 0.002717391304347826, 0.0005175983436853002, 0.003105590062111801, 0.0033643892339544515, 0.0034937888198757765, 0.0034937888198757765, 0.0033643892339544515, 0.0032349896480331265, 0.597567287784679, 0.003105590062111801, 0.0033643892339544515, 0.0006469979296066253, 0.002976190476190476, 0.003105590062111801, 0.003105590062111801, 0.0032349896480331265, 0.15049171842650103, 0.002846790890269151, 0.8558488612836439, 0.0032349896480331265, 0.0011645962732919255, 0.0032349896480331265, 0.0034937888198757765, 0.8910455486542443, 0.0034937888198757765, 0.0007763975155279503, 0.002846790890269151, 0.002976190476190476, 0.0009057971014492754, 0.0034937888198757765, 0.002976190476190476, 0.0006469979296066253, 0.0037525879917184265, 0.0005175983436853002, 0.003105590062111801, 0.0005175983436853002, 0.0038819875776397515, 0.003105590062111801, 0.00038819875776397513, 0.003105590062111801, 0.003105590062111801, 0.0032349896480331265, 0.003105590062111801, 0.0009057971014492754, 0.002458592132505176, 0.00038819875776397513, 0.0009057971014492754, 0.0007763975155279503, 0.003105590062111801, 0.0036231884057971015, 0.0014233954451345755, 0.0033643892339544515, 0.0032349896480331265, 0.002976190476190476, 0.0006469979296066253, 0.0032349896480331265, 0.003105590062111801, 0.002717391304347826, 0.002717391304347826, 0.0006469979296066253, 0.0032349896480331265, 0.8907867494824017, 0.002717391304347826, 0.2644927536231884, 0.14751552795031056, 0.002976190476190476, 0.00012939958592132506, 0.003105590062111801, 0.003105590062111801, 0.0006469979296066253, 0.002846790890269151, 0.6274585921325052, 0.0005175983436853002, 0.0033643892339544515, 0.0005175983436853002, 0.0005175983436853002, 0.0006469979296066253, 0.00038819875776397513, 0.003105590062111801, 0.0032349896480331265, 0.11063664596273291, 0.0032349896480331265, 0.0036231884057971015, 0.0032349896480331265, 0.0006469979296066253, 0.0007763975155279503, 0.002976190476190476, 0.7110507246376812, 0.002846790890269151, 0.0032349896480331265, 0.003105590062111801, 0.0034937888198757765, 0.002846790890269151, 0.002717391304347826, 0.003105590062111801, 0.002717391304347826, 0.8903985507246377, 0.0006469979296066253, 0.15010351966873706, 0.0006469979296066253, 0.0034937888198757765, 0.0033643892339544515, 0.002717391304347826, 0.003105590062111801, 0.0006469979296066253, 0.0007763975155279503, 0.0036231884057971015, 0.003105590062111801, 0.15100931677018634, 0.003105590062111801, 0.00038819875776397513, 0.003105590062111801, 0.002846790890269151, 0.0009057971014492754, 0.002846790890269151, 0.0006469979296066253, 0.0036231884057971015, 0.0032349896480331265, 0.0007763975155279503, 0.002458592132505176, 0.002717391304347826, 0.0006469979296066253, 0.0010351966873706005, 0.15049171842650103, 0.003105590062111801, 0.15062111801242237, 0.6004140786749482, 0.0005175983436853002, 0.0006469979296066253, 0.003105590062111801, 0.002976190476190476, 0.0032349896480331265, 0.0036231884057971015, 0.0032349896480331265, 0.0005175983436853002, 0.0034937888198757765, 0.0034937888198757765, 0.0034937888198757765, 0.0032349896480331265, 0.8968685300207039, 0.0034937888198757765, 0.0011645962732919255, 0.26268115942028986, 0.00038819875776397513, 0.0005175983436853002, 0.0007763975155279503, 0.002976190476190476, 0.002976190476190476, 0.6313405797101449, 0.8925983436853002, 0.002976190476190476, 0.0006469979296066253, 0.003105590062111801, 0.003105590062111801, 0.0006469979296066253, 0.0006469979296066253, 0.0034937888198757765, 0.0036231884057971015, 0.002846790890269151, 0.002976190476190476, 0.003105590062111801, 0.002846790890269151, 0.002976190476190476, 0.0005175983436853002, 0.0036231884057971015, 0.0033643892339544515, 0.0033643892339544515, 0.00038819875776397513, 0.003105590062111801, 0.0034937888198757765, 0.0034937888198757765, 0.0005175983436853002, 0.0005175983436853002, 0.0006469979296066253, 0.0005175983436853002, 0.0006469979296066253, 0.002458592132505176, 0.29528985507246375, 0.00038819875776397513, 0.00038819875776397513, 0.0010351966873706005, 0.0032349896480331265, 0.0033643892339544515, 0.0033643892339544515, 0.0036231884057971015, 0.002587991718426501, 0.0006469979296066253, 0.0032349896480331265, 0.002976190476190476, 0.0032349896480331265, 0.0005175983436853002, 0.0006469979296066253, 0.0034937888198757765, 0.003105590062111801, 0.002976190476190476, 0.0005175983436853002, 0.002976190476190476, 0.0033643892339544515, 0.0036231884057971015, 0.0032349896480331265, 0.0032349896480331265, 0.00038819875776397513, 0.00038819875776397513, 0.003105590062111801, 0.0006469979296066253, 0.002329192546583851, 0.0007763975155279503, 0.0011645962732919255, 0.003105590062111801, 0.002976190476190476, 0.0036231884057971015, 0.0010351966873706005, 0.0016821946169772257, 0.0006469979296066253, 0.0036231884057971015, 0.0033643892339544515, 0.0009057971014492754, 0.0032349896480331265, 0.002717391304347826, 0.002846790890269151, 0.0032349896480331265, 0.003105590062111801, 0.002458592132505176, 0.002976190476190476, 0.0034937888198757765, 0.00038819875776397513, 0.0010351966873706005, 0.9970238095238095, 0.9989648033126294, 0.0006469979296066253, 0.1503623188405797, 0.002846790890269151, 0.002717391304347826, 0.0032349896480331265, 0.0005175983436853002, 0.00038819875776397513, 0.002587991718426501, 0.00038819875776397513, 0.0009057971014492754, 0.002587991718426501, 0.0012939958592132505, 0.0007763975155279503, 0.15075051759834368, 0.0010351966873706005, 0.0009057971014492754, 0.0033643892339544515, 0.002717391304347826, 0.0032349896480331265, 0.002976190476190476, 0.002976190476190476, 0.003105590062111801, 0.7510351966873706, 0.0034937888198757765, 0.0036231884057971015, 0.0032349896480331265, 0.0010351966873706005, 0.002976190476190476, 0.0006469979296066253, 0.0007763975155279503, 0.0010351966873706005, 0.002976190476190476, 0.0006469979296066253, 0.002846790890269151, 0.0032349896480331265, 0.33203933747412007, 0.0005175983436853002, 0.003105590062111801, 0.0007763975155279503, 0.003105590062111801, 0.0032349896480331265, 0.0006469979296066253, 0.4508281573498965, 0.0032349896480331265, 0.0033643892339544515, 0.26384575569358176, 0.002717391304347826, 0.002717391304347826, 0.002846790890269151, 0.002717391304347826, 0.0006469979296066253, 0.002846790890269151, 0.002717391304347826, 0.0034937888198757765, 0.002976190476190476, 0.0032349896480331265, 0.0006469979296066253, 0.002458592132505176, 0.0006469979296066253, 0.003105590062111801, 0.0032349896480331265, 0.002587991718426501, 0.003105590062111801, 0.0011645962732919255, 0.0032349896480331265, 0.003105590062111801, 0.002976190476190476, 0.0034937888198757765, 0.0006469979296066253, 0.002846790890269151, 0.002717391304347826, 0.0007763975155279503, 0.002329192546583851, 0.0006469979296066253, 0.002976190476190476, 0.002976190476190476, 0.7507763975155279, 0.00038819875776397513, 0.0033643892339544515, 0.0010351966873706005, 0.15062111801242237, 0.002976190476190476, 0.00038819875776397513, 0.00038819875776397513, 0.002846790890269151, 0.0007763975155279503, 0.00038819875776397513, 0.0009057971014492754, 0.0034937888198757765, 0.0032349896480331265, 0.0033643892339544515, 0.0032349896480331265, 0.8581780538302277, 0.0010351966873706005, 0.0006469979296066253, 0.00038819875776397513, 0.0010351966873706005, 0.00038819875776397513, 0.0007763975155279503, 0.0033643892339544515, 0.042443064182194616, 0.0034937888198757765, 0.0007763975155279503, 0.002717391304347826, 0.0010351966873706005, 0.002846790890269151, 0.0033643892339544515, 0.00038819875776397513, 0.002846790890269151, 0.002846790890269151, 0.7391304347826086, 0.0009057971014492754, 0.0034937888198757765, 0.0036231884057971015, 0.0032349896480331265, 0.002717391304347826, 0.003105590062111801, 0.8514492753623188, 0.00038819875776397513, 0.0032349896480331265, 0.002587991718426501, 0.002976190476190476, 0.003105590062111801, 0.002846790890269151, 0.002846790890269151, 0.002846790890269151, 0.0007763975155279503, 0.002976190476190476, 0.002070393374741201, 0.002458592132505176, 0.0032349896480331265, 0.0033643892339544515, 0.003105590062111801, 0.0011645962732919255, 0.0032349896480331265, 0.003105590062111801, 0.038302277432712216, 0.0005175983436853002, 0.003105590062111801, 0.0037525879917184265, 0.002976190476190476, 0.0007763975155279503, 0.0006469979296066253, 0.002717391304347826, 0.002846790890269151, 0.0011645962732919255, 0.0032349896480331265, 0.002458592132505176, 0.0007763975155279503, 0.002976190476190476, 0.0006469979296066253, 0.003105590062111801, 0.002717391304347826, 0.0032349896480331265, 0.14997412008281574, 0.003105590062111801, 0.002976190476190476, 0.0032349896480331265, 0.0034937888198757765, 0.0006469979296066253, 0.003105590062111801, 0.0033643892339544515, 0.002846790890269151, 0.0033643892339544515, 0.0032349896480331265, 0.002458592132505176, 0.0034937888198757765, 0.003105590062111801, 0.0009057971014492754, 0.0006469979296066253, 0.003105590062111801, 0.003105590062111801, 0.0032349896480331265, 0.0005175983436853002, 0.003105590062111801, 0.0009057971014492754, 0.6000258799171843, 0.0033643892339544515, 0.0034937888198757765, 0.002976190476190476, 0.00038819875776397513, 0.0033643892339544515, 0.003105590062111801, 0.8924689440993789, 0.0007763975155279503, 0.2629399585921325, 0.0009057971014492754, 0.0032349896480331265, 0.00038819875776397513, 0.0007763975155279503, 0.00038819875776397513, 0.003105590062111801, 0.002587991718426501, 0.0006469979296066253, 0.002976190476190476, 0.0032349896480331265, 0.003105590062111801, 0.0010351966873706005, 0.0036231884057971015, 0.002717391304347826, 0.44539337474120083, 0.0007763975155279503, 0.0033643892339544515, 0.0036231884057971015, 0.0007763975155279503, 0.0005175983436853002, 0.0005175983436853002, 0.002717391304347826, 0.0006469979296066253, 0.0033643892339544515, 0.002717391304347826, 0.003105590062111801, 0.002329192546583851, 0.0033643892339544515, 0.0036231884057971015, 0.0032349896480331265, 0.003105590062111801, 0.002717391304347826, 0.0005175983436853002, 0.0032349896480331265, 0.0005175983436853002, 0.0006469979296066253, 0.00038819875776397513, 0.00038819875776397513, 0.0010351966873706005, 0.002846790890269151, 0.002587991718426501, 0.0036231884057971015, 0.002846790890269151, 0.0005175983436853002, 0.0033643892339544515, 0.00038819875776397513, 0.0006469979296066253, 0.002846790890269151, 0.0011645962732919255, 0.297360248447205, 0.0032349896480331265, 0.00038819875776397513, 0.0005175983436853002, 0.003105590062111801, 0.0034937888198757765, 0.003105590062111801, 0.002717391304347826, 0.0036231884057971015, 0.0007763975155279503, 0.002846790890269151, 0.0033643892339544515, 0.0006469979296066253, 0.0006469979296066253, 0.0032349896480331265, 0.8935041407867494, 0.0006469979296066253, 0.0011645962732919255, 0.8501552795031055, 0.002976190476190476, 0.00038819875776397513, 0.003105590062111801, 0.0033643892339544515, 0.0032349896480331265, 0.0033643892339544515, 0.002846790890269151, 0.0007763975155279503, 0.0006469979296066253, 0.14945652173913043, 0.0037525879917184265, 0.002717391304347826, 0.002976190476190476, 0.0005175983436853002, 0.002976190476190476, 0.0006469979296066253, 0.002717391304347826, 0.002717391304347826, 0.0005175983436853002, 0.002587991718426501, 0.002717391304347826, 0.0033643892339544515, 0.04930124223602485, 0.0007763975155279503, 0.0005175983436853002, 0.14932712215320912, 0.002976190476190476, 0.0005175983436853002, 0.002976190476190476, 0.002717391304347826, 0.04283126293995859, 0.002717391304347826, 0.0034937888198757765, 0.002846790890269151, 0.002717391304347826, 0.0032349896480331265, 0.0007763975155279503, 0.002846790890269151, 0.0032349896480331265, 0.0005175983436853002, 0.002587991718426501, 0.0005175983436853002, 0.0006469979296066253, 0.0005175983436853002, 0.003105590062111801, 0.0009057971014492754, 0.002070393374741201, 0.0006469979296066253, 0.0032349896480331265, 0.0006469979296066253, 0.0007763975155279503, 0.003105590062111801, 0.0032349896480331265, 0.002717391304347826, 0.9657091097308489, 0.0034937888198757765, 0.0010351966873706005, 0.003105590062111801, 0.003105590062111801, 0.002976190476190476, 0.002717391304347826, 0.00038819875776397513, 0.003105590062111801, 0.0010351966873706005, 0.0032349896480331265, 0.003105590062111801, 0.0032349896480331265, 0.003105590062111801, 0.002976190476190476, 0.002717391304347826, 0.0005175983436853002, 0.003105590062111801, 0.002717391304347826, 0.003105590062111801, 0.003105590062111801, 0.0005175983436853002, 0.003105590062111801, 0.0034937888198757765, 0.002976190476190476, 0.10856625258799171, 0.002329192546583851, 0.0005175983436853002, 0.002976190476190476, 0.0011645962732919255, 1.0, 0.0032349896480331265, 0.0006469979296066253, 0.0033643892339544515, 0.0036231884057971015, 0.0006469979296066253, 0.0034937888198757765, 0.0014233954451345755, 0.002976190476190476, 0.0007763975155279503, 0.002846790890269151, 0.003105590062111801, 0.0032349896480331265, 0.0034937888198757765, 0.003105590062111801, 0.002846790890269151, 0.0033643892339544515, 0.0007763975155279503, 0.002717391304347826, 0.0009057971014492754, 0.003105590062111801, 0.0032349896480331265, 0.002976190476190476, 0.0033643892339544515, 0.002587991718426501, 0.0010351966873706005, 0.0007763975155279503, 0.0034937888198757765, 0.9993530020703933, 0.002846790890269151, 0.002199792960662526, 0.0005175983436853002, 0.003105590062111801, 0.002976190476190476, 0.0006469979296066253, 0.0036231884057971015, 0.0006469979296066253, 0.0032349896480331265, 0.0010351966873706005, 0.002717391304347826, 0.003105590062111801, 0.0006469979296066253, 0.00038819875776397513, 0.0034937888198757765, 0.0005175983436853002, 0.0005175983436853002, 0.002458592132505176, 0.0033643892339544515, 0.0007763975155279503, 0.002846790890269151, 0.0005175983436853002, 0.0034937888198757765, 0.0005175983436853002, 0.9981884057971014, 0.03558488612836439, 0.0007763975155279503, 0.002717391304347826, 0.0006469979296066253, 0.0033643892339544515, 0.00038819875776397513, 0.002846790890269151, 0.0033643892339544515, 0.002976190476190476, 0.0006469979296066253, 0.003105590062111801, 0.9939182194616977, 0.0033643892339544515, 0.0009057971014492754, 0.00038819875776397513, 0.0032349896480331265, 0.8504140786749482, 0.003105590062111801, 0.002846790890269151, 0.5971790890269151, 0.0012939958592132505, 0.0036231884057971015, 0.7506469979296067, 0.002846790890269151, 0.002587991718426501, 0.0033643892339544515, 0.0009057971014492754, 0.0007763975155279503, 0.002587991718426501, 0.0033643892339544515, 0.002717391304347826, 0.0007763975155279503, 0.003105590062111801, 0.0009057971014492754, 0.0007763975155279503, 0.00038819875776397513, 0.0032349896480331265, 0.0033643892339544515, 0.0007763975155279503, 0.00012939958592132506, 0.002976190476190476, 0.0036231884057971015, 0.002976190476190476, 0.1503623188405797, 0.0006469979296066253, 0.0032349896480331265, 0.0007763975155279503, 0.0009057971014492754, 0.0032349896480331265, 0.0033643892339544515, 0.0005175983436853002, 0.0034937888198757765, 0.0033643892339544515, 0.0032349896480331265, 0.002717391304347826, 0.7505175983436853, 0.002717391304347826, 0.1502329192546584, 0.003105590062111801, 0.0005175983436853002, 0.0032349896480331265, 0.002717391304347826, 0.5909679089026915, 0.6278467908902692, 0.002846790890269151, 0.0010351966873706005, 0.0007763975155279503, 0.0007763975155279503, 0.003105590062111801, 0.0032349896480331265, 0.16291161178509533, 0.16291161178509533, 0.1611785095320624, 0.42114384748700173, 0.6308492201039861, 0.9965337954939342, 0.41421143847487, 0.9480069324090121, 0.9809358752166378, 1.0, 0.6603119584055459, 0.9930675909878682, 0.9480069324090121, 0.9688041594454073, 1.0, 0.7019064124783362, 0.16464471403812825, 0.6308492201039861, 0.9930675909878682, 0.16464471403812825, 0.16291161178509533, 0.9930675909878682, 0.9948006932409013, 1.0, 0.9480069324090121, 0.41421143847487, 0.6672443674176777, 0.5771230502599654, 0.05025996533795494, 0.6204506065857885, 0.9948006932409013, 0.045060658578856154, 0.9930675909878682, 0.5511265164644714, 0.16464471403812825, 1.0, 0.6672443674176777, 0.4124783362218371, 0.5892547660311959, 0.7019064124783362, 0.6672443674176777, 0.16464471403812825, 0.9532062391681109, 0.9930675909878682, 0.9930675909878682, 0.29116117850953205, 0.1611785095320624, 0.7001733102253033, 0.0034662045060658577, 0.6759098786828422, 0.9930675909878682, 0.16464471403812825, 0.16464471403812825, 0.16464471403812825, 0.16464471403812825, 0.5511265164644714, 1.0, 0.29116117850953205, 0.58578856152513, 0.9948006932409013, 0.3292894280762565, 0.9948006932409013, 0.9982668977469671, 0.16464471403812825, 0.16464471403812825, 0.7209705372616985, 0.3708838821490468, 0.3830155979202773, 0.29116117850953205, 0.7192374350086655, 0.04852686308492201, 0.8405545927209706, 0.045060658578856154, 0.707105719237435, 0.949740034662045, 0.03986135181975736, 0.16464471403812825, 0.5511265164644714, 0.8769497400346621, 0.28942807625649913, 0.49393414211438474, 0.3292894280762565, 0.9948006932409013, 0.9480069324090121, 0.16291161178509533, 0.05199306759098787, 0.16464471403812825, 0.045060658578856154, 0.9601386481802426, 0.11785095320623917, 1.0, 0.9982668977469671, 0.9948006932409013, 0.036395147313691506, 0.9913344887348353, 0.9480069324090121, 0.6672443674176777, 0.7209705372616985, 0.16464471403812825, 0.7192374350086655, 0.16464471403812825, 0.6603119584055459, 0.7019064124783362, 0.6036490683229814, 0.04891304347826087, 0.04891304347826087, 0.04904244306418219, 0.05020703933747412, 0.04917184265010352, 0.04891304347826087, 0.04994824016563147, 0.04891304347826087, 0.04930124223602485, 0.05033643892339545, 0.04891304347826087, 0.8870341614906833, 0.04891304347826087, 0.04891304347826087, 0.04994824016563147, 0.04904244306418219, 0.04917184265010352, 0.04891304347826087, 0.04904244306418219, 0.0012939958592132505, 0.05020703933747412, 0.04917184265010352, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.04904244306418219, 0.04994824016563147, 0.05007763975155279, 0.05033643892339545, 0.04891304347826087, 0.6045548654244306, 0.04891304347826087, 0.04891304347826087, 0.04994824016563147, 0.04891304347826087, 0.04891304347826087, 0.04904244306418219, 0.04891304347826087, 0.04891304347826087, 0.04994824016563147, 0.00012939958592132506, 0.04917184265010352, 0.04917184265010352, 0.04994824016563147, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.0014233954451345755, 0.04994824016563147, 0.04917184265010352, 0.05020703933747412, 0.04930124223602485, 0.04917184265010352, 0.04891304347826087, 0.04994824016563147, 0.04994824016563147, 0.04994824016563147, 0.05033643892339545, 0.10804865424430642, 1.0, 0.04891304347826087, 0.05033643892339545, 0.04904244306418219, 0.04917184265010352, 0.04904244306418219, 0.04994824016563147, 0.04917184265010352, 0.04917184265010352, 0.0002587991718426501, 0.04891304347826087, 0.05046583850931677, 0.04904244306418219, 0.04917184265010352, 0.04891304347826087, 0.04891304347826087, 0.04994824016563147, 0.04917184265010352, 0.04994824016563147, 0.04994824016563147, 0.04891304347826087, 0.04930124223602485, 0.05007763975155279, 0.04917184265010352, 0.04994824016563147, 0.04891304347826087, 0.05046583850931677, 0.04891304347826087, 0.05020703933747412, 0.05007763975155279, 0.05007763975155279, 1.0, 0.04891304347826087, 0.05007763975155279, 0.04994824016563147, 0.04994824016563147, 0.04917184265010352, 0.0012939958592132505, 0.04994824016563147, 0.04917184265010352, 0.04891304347826087, 0.04891304347826087, 1.0, 0.5918737060041408, 0.05020703933747412, 0.05007763975155279, 0.05098343685300207, 0.0012939958592132505, 1.0, 0.04994824016563147, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.04994824016563147, 0.04891304347826087, 0.05020703933747412, 0.05007763975155279, 0.5934265010351967, 0.04891304347826087, 0.04891304347826087, 1.0, 0.04891304347826087, 0.04917184265010352, 0.04891304347826087, 0.04994824016563147, 0.5938146997929606, 0.04904244306418219, 0.05033643892339545, 0.4495341614906832, 0.04994824016563147, 0.04891304347826087, 0.537008281573499, 0.05020703933747412, 0.05033643892339545, 0.05033643892339545, 0.5914855072463768, 0.05007763975155279, 0.6041666666666666, 0.05020703933747412, 0.05007763975155279, 0.05033643892339545, 0.05046583850931677, 0.05020703933747412, 0.05046583850931677, 0.04904244306418219, 0.04994824016563147, 0.05007763975155279, 0.04891304347826087, 0.04930124223602485, 0.8070652173913043, 0.604684265010352, 0.04917184265010352, 0.3848343685300207, 0.04917184265010352, 0.04891304347826087, 0.44306418219461696, 0.04891304347826087, 0.04994824016563147, 0.05020703933747412, 0.04891304347826087, 0.0012939958592132505, 0.04994824016563147, 0.04904244306418219, 0.05007763975155279, 0.6037784679089027, 0.04917184265010352, 0.04930124223602485, 0.05033643892339545, 0.04917184265010352, 1.0, 0.04891304347826087, 0.5932971014492754, 0.04917184265010352, 0.0012939958592132505, 0.04930124223602485, 0.04891304347826087, 0.04891304347826087, 0.04994824016563147, 0.05007763975155279, 0.05020703933747412, 0.04930124223602485, 0.04904244306418219, 0.10390786749482402, 0.04917184265010352, 1.0, 0.6039078674948241, 0.04904244306418219, 0.5936853002070394, 0.22179089026915114, 0.6040372670807453, 0.05033643892339545, 0.04930124223602485, 0.04917184265010352, 0.04917184265010352, 0.04994824016563147, 0.05007763975155279, 0.04891304347826087, 0.04994824016563147, 1.0, 0.04994824016563147, 0.05007763975155279, 0.04904244306418219, 0.04994824016563147, 0.04994824016563147, 0.04891304347826087, 0.05033643892339545, 0.797360248447205, 0.04994824016563147, 0.04891304347826087, 0.05033643892339545, 0.0012939958592132505, 0.04917184265010352, 0.05020703933747412, 0.04891304347826087, 0.05020703933747412, 0.6309523809523809, 0.04917184265010352, 0.04891304347826087, 0.05046583850931677, 0.04930124223602485, 0.6044254658385093, 0.05007763975155279, 0.04904244306418219, 0.04891304347826087, 0.6309523809523809, 0.05033643892339545, 0.05033643892339545, 0.050724637681159424, 0.05020703933747412, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.6037784679089027, 0.05007763975155279, 0.04994824016563147, 0.05007763975155279, 0.04930124223602485, 0.05046583850931677, 0.04917184265010352, 0.6044254658385093, 0.0012939958592132505, 0.05007763975155279, 0.4346532091097309, 0.05046583850931677, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.8070652173913043, 0.04994824016563147, 0.04891304347826087, 0.04917184265010352, 0.04994824016563147, 0.05033643892339545, 0.04930124223602485, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.04917184265010352, 0.05033643892339545, 0.0012939958592132505, 0.04917184265010352, 0.04891304347826087, 0.04891304347826087, 0.593944099378882, 0.04994824016563147, 0.04891304347826087, 0.05098343685300207, 0.0012939958592132505, 0.05007763975155279, 0.04891304347826087, 0.6037784679089027, 0.05007763975155279, 0.04891304347826087, 0.04917184265010352, 0.04994824016563147, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.05007763975155279, 0.8070652173913043, 0.8748706004140787, 0.6044254658385093, 0.8070652173913043, 0.00038819875776397513, 0.05098343685300207, 0.8493788819875776, 0.05046583850931677, 0.04917184265010352, 0.05020703933747412, 0.04917184265010352, 0.05007763975155279, 0.04891304347826087, 0.05020703933747412, 0.5932971014492754, 0.8429089026915114, 0.0012939958592132505, 0.04994824016563147, 0.0009057971014492754, 0.05020703933747412, 0.6039078674948241, 0.00012939958592132506, 0.04904244306418219, 0.05007763975155279, 0.05098343685300207, 0.04994824016563147, 0.04904244306418219, 1.0, 0.05020703933747412, 0.04891304347826087, 0.04891304347826087, 0.5936853002070394, 0.04994824016563147, 0.05007763975155279, 0.593944099378882, 0.04891304347826087, 0.04891304347826087, 0.593167701863354, 0.05007763975155279, 0.04917184265010352, 0.05007763975155279, 0.04891304347826087, 0.04917184265010352, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 1.0, 0.04891304347826087, 0.05033643892339545, 0.04994824016563147, 0.10144927536231885, 0.05033643892339545, 0.5916149068322981, 0.04917184265010352, 0.05007763975155279, 0.04891304347826087, 0.05007763975155279, 0.04904244306418219, 0.0012939958592132505, 0.04917184265010352, 0.04994824016563147, 0.0002587991718426501, 0.04917184265010352, 0.8834109730848861, 0.05007763975155279, 0.0002587991718426501, 0.04891304347826087, 0.04917184265010352, 0.0014233954451345755, 0.04904244306418219, 0.04917184265010352, 0.04994824016563147, 0.04930124223602485, 0.05033643892339545, 0.05007763975155279, 0.04994824016563147, 0.05046583850931677, 0.05020703933747412, 0.05020703933747412, 0.04917184265010352, 1.0, 0.04891304347826087, 0.05033643892339545, 0.0005175983436853002, 0.05020703933747412, 0.0002587991718426501, 0.05020703933747412, 0.05007763975155279, 0.04891304347826087, 0.05046583850931677, 0.04994824016563147, 0.604684265010352, 0.04994824016563147, 0.05033643892339545, 0.05007763975155279, 0.8378623188405797, 0.05033643892339545, 0.04891304347826087, 0.04904244306418219, 0.04891304347826087, 0.0012939958592132505, 0.04891304347826087, 0.04994824016563147, 0.05033643892339545, 0.0005175983436853002, 0.04930124223602485, 0.05033643892339545, 0.04891304347826087, 0.8426501035196687, 0.05007763975155279, 0.05033643892339545, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.05033643892339545, 0.04904244306418219, 0.05033643892339545, 0.05033643892339545, 0.04930124223602485, 0.4442287784679089, 0.050595238095238096, 0.8865165631469979, 0.05007763975155279, 0.04904244306418219, 0.05007763975155279, 0.04994824016563147, 0.04994824016563147, 0.05007763975155279, 0.05007763975155279, 0.5929089026915114, 0.05046583850931677, 0.04917184265010352, 0.04994824016563147, 0.0002587991718426501, 0.05007763975155279, 0.04891304347826087, 0.04904244306418219, 0.04891304347826087, 0.04917184265010352, 0.04904244306418219, 0.04994824016563147, 0.04994824016563147, 0.04891304347826087, 0.04994824016563147, 1.0, 0.0006469979296066253, 0.04891304347826087, 0.0012939958592132505, 0.04994824016563147, 1.0, 0.04891304347826087, 0.05020703933747412, 0.05033643892339545, 0.05033643892339545, 0.04904244306418219, 0.05007763975155279, 0.0012939958592132505, 0.050595238095238096, 0.04917184265010352, 0.04904244306418219, 0.0006469979296066253, 0.6036490683229814, 1.0, 0.0012939958592132505, 0.04930124223602485, 1.0, 0.04904244306418219, 0.04891304347826087, 0.04891304347826087, 0.3504140786749482, 0.04904244306418219, 0.04891304347826087, 0.8804347826086957, 0.050595238095238096, 0.04917184265010352, 0.05033643892339545, 0.05007763975155279, 0.05020703933747412, 0.05007763975155279, 0.04994824016563147, 1.0, 0.05020703933747412, 0.04917184265010352, 1.0, 0.04891304347826087, 0.04891304347826087, 0.04891304347826087, 0.6040372670807453, 0.05098343685300207, 0.05020703933747412, 0.04891304347826087, 0.04917184265010352, 0.04994824016563147, 0.05020703933747412, 0.04917184265010352, 0.04891304347826087, 0.8429089026915114, 0.04904244306418219, 0.04994824016563147, 0.04904244306418219, 0.05033643892339545, 0.04917184265010352, 0.05033643892339545, 0.05033643892339545, 0.050724637681159424, 0.04904244306418219, 0.8070652173913043, 0.04994824016563147, 0.04994824016563147, 0.0002587991718426501, 0.05046583850931677, 0.04994824016563147, 0.04891304347826087, 0.04891304347826087, 0.05007763975155279, 0.04891304347826087, 0.6701388888888888, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.9895833333333334, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.671875, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.11631944444444445, 1.0, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 1.0, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 1.0, 0.6579861111111112, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 1.0, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.6597222222222222, 0.050347222222222224, 0.050347222222222224, 1.0, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.6597222222222222, 0.050347222222222224, 0.052083333333333336, 0.4982638888888889, 0.052083333333333336, 0.050347222222222224, 0.5989583333333334, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.65625, 0.052083333333333336, 0.671875, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.8993055555555556, 0.671875, 0.050347222222222224, 0.4253472222222222, 0.050347222222222224, 0.050347222222222224, 0.4913194444444444, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.6701388888888888, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 1.0, 0.050347222222222224, 0.6597222222222222, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.1111111111111111, 0.050347222222222224, 1.0, 0.6701388888888888, 0.050347222222222224, 0.6597222222222222, 0.24305555555555555, 0.671875, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 1.0, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.8888888888888888, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.703125, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.671875, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.703125, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.6701388888888888, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.671875, 0.052083333333333336, 0.484375, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.8993055555555556, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.6597222222222222, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.6701388888888888, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.8993055555555556, 0.9756944444444444, 0.671875, 0.8993055555555556, 0.052083333333333336, 0.9479166666666666, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.6597222222222222, 0.9409722222222222, 0.052083333333333336, 0.052083333333333336, 0.6701388888888888, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 1.0, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.6597222222222222, 0.052083333333333336, 0.052083333333333336, 0.6597222222222222, 0.050347222222222224, 0.050347222222222224, 0.6597222222222222, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 1.0, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.1076388888888889, 0.052083333333333336, 0.6579861111111112, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.9861111111111112, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 1.0, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.671875, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.9357638888888888, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.9409722222222222, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.4930555555555556, 0.052083333333333336, 0.9895833333333334, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.6579861111111112, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 1.0, 0.050347222222222224, 0.052083333333333336, 1.0, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.6701388888888888, 1.0, 0.050347222222222224, 1.0, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.3854166666666667, 0.050347222222222224, 0.050347222222222224, 0.9826388888888888, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 1.0, 0.052083333333333336, 0.050347222222222224, 1.0, 0.050347222222222224, 0.050347222222222224, 0.050347222222222224, 0.671875, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.9409722222222222, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.8993055555555556, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.052083333333333336, 0.050347222222222224, 0.050347222222222224, 0.052083333333333336, 0.050347222222222224, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.5555555555555556, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.5555555555555556, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.5555555555555556, 0.5555555555555556, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.5555555555555556, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.5185185185185185, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.5555555555555556, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.5185185185185185, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.5185185185185185, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.5555555555555556, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.48148148148148145, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.6698264966103642, 0.25163736642537055, 0.25163736642537055, 0.6105509594392738, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.31331150178099504, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.5926189245087901, 0.25163736642537055, 0.47266028955532574, 0.38580087326209356, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.6938986556359876, 0.25163736642537055, 0.6802108468344249, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.5249267493967598, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.7645639434677697, 0.7645639434677697, 0.7645639434677697, 0.7886935539469149, 0.7645639434677697, 0.7645639434677697, 0.7845570492933471, 0.7645639434677697, 0.25163736642537055, 0.7645639434677697, 0.7886935539469149, 0.7645639434677697, 0.25163736642537055, 0.25163736642537055, 0.7645639434677697, 0.7645639434677697, 0.7645639434677697, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.3771185223486154, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.8050097667470987, 0.5039641502930025, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.4589078478685511, 0.25163736642537055, 0.2562406641388027, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.5039641502930025, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.7790417097552568, 0.03618005285533724, 0.67454469723084, 0.3709065839365736, 0.5439503619441571, 0.3067907618062737, 0.3874526025508445, 0.8921061702861083, 0.7473285074112375, 0.7990348155808342, 0.3902102723198897, 0.6218545329196828, 0.6890440078133977, 0.6239227852464667, 0.4667356084108928, 0.06618407445708377, 0.7328507411237505, 0.7397449155463633, 0.4095139607032058, 0.6701137538779731, 0.4133344823624038, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.7666321957945536, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.25163736642537055, 0.5039641502930025, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.7580015612802498, 0.2849336455893833, 0.2849336455893833, 0.6908665105386417, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.3544106167056987, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.6705698672911787, 0.2849336455893833, 0.5347384855581577, 0.43637782982045276, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.7853239656518345, 0.2849336455893833, 0.7697111631537861, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.5940671350507416, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.8657298985167837, 0.8657298985167837, 0.8657298985167837, 0.8930523028883685, 0.8657298985167837, 0.8657298985167837, 0.8883684621389539, 0.8657298985167837, 0.2849336455893833, 0.8657298985167837, 0.8930523028883685, 0.8657298985167837, 0.2849336455893833, 0.2849336455893833, 0.8657298985167837, 0.8657298985167837, 0.8657298985167837, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.4270101483216237, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.9110070257611241, 0.570647931303669, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.5191256830601093, 0.2849336455893833, 0.2896174863387978, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.570647931303669, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.8821233411397346, 0.04059328649492584, 0.7634660421545667, 0.419984387197502, 0.6159250585480094, 0.3473848555815769, 0.43871975019516, 1.0, 0.8462138953942233, 0.9047619047619048, 0.4418423106947697, 0.7041373926619828, 0.7798594847775175, 0.7064793130366901, 0.5284933645589384, 0.07494145199063232, 0.8298204527712725, 0.8376268540202967, 0.4637002341920375, 0.7587822014051522, 0.4676034348165496, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.868071818891491, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.2849336455893833, 0.570647931303669, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.6846957951609114, 0.2572233967582805, 0.2572233967582805, 0.6240897345548508, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.32026661968522435, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.6057669720460418, 0.2572233967582805, 0.4831454075640122, 0.39435048155978386, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.7093023255813954, 0.2572233967582805, 0.6952959830866807, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.5365867982147052, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.7815362931642001, 0.7815362931642001, 0.7815362931642001, 0.8062015503875969, 0.7815362931642001, 0.7815362931642001, 0.8019732205778718, 0.7815362931642001, 0.2572233967582805, 0.7815362931642001, 0.8062015503875969, 0.7815362931642001, 0.2572233967582805, 0.2572233967582805, 0.7815362931642001, 0.7815362931642001, 0.7815362931642001, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.3854827343199436, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.8228799624148462, 0.5151515151515151, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.4690803382663848, 0.2572233967582805, 0.26192154099130843, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.5151515151515151, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.7963354474982381, 0.03696852243363871, 0.689511392999765, 0.37914023960535587, 0.5560253699788583, 0.31360112755461594, 0.3960535588442565, 0.9119097956307258, 0.7639182522903453, 0.8167723749119098, 0.3988724453840733, 0.6356589147286822, 0.7043399107352596, 0.6377730796335448, 0.4770965468639887, 0.06765327695560254, 0.7491190979563073, 0.7561663143058492, 0.4186046511627907, 0.6849894291754757, 0.42250998355649516, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.7836504580690627, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.2572233967582805, 0.5151515151515151, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.7840909090909091, 0.29545454545454547, 0.29545454545454547, 0.7159090909090909, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.36363636363636365, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.6931818181818182, 0.29545454545454547, 0.5511363636363636, 0.44886363636363635, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.8125, 0.29545454545454547, 0.7954545454545454, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.6136363636363636, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.8977272727272727, 0.8977272727272727, 0.8977272727272727, 0.9261363636363636, 0.8977272727272727, 0.8977272727272727, 0.9204545454545454, 0.8977272727272727, 0.29545454545454547, 0.8977272727272727, 0.9261363636363636, 0.8977272727272727, 0.29545454545454547, 0.29545454545454547, 0.8977272727272727, 0.8977272727272727, 0.8977272727272727, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.4431818181818182, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.9431818181818182, 0.5909090909090909, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.5397727272727273, 0.29545454545454547, 0.30113636363636365, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.5909090909090909, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.9147727272727273, 0.03977272727272727, 0.7897727272727273, 0.4318181818181818, 0.6363636363636364, 0.35795454545454547, 0.45454545454545453, 1.0, 0.875, 0.9375, 0.45454545454545453, 0.7272727272727273, 0.8068181818181818, 0.7329545454545454, 0.5454545454545454, 0.07386363636363637, 0.8579545454545454, 0.8693181818181818, 0.4772727272727273, 0.7840909090909091, 0.48295454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.8977272727272727, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.29545454545454547, 0.5909090909090909, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.013249211356466877, 0.00017409470752089137, 0.0001278118609406953, 0.04657534246575343, 0.08493150684931507, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.04657534246575343, 0.0547945205479452, 0.043835616438356165, 0.1095890410958904, 0.06027397260273973, 0.043835616438356165, 0.04657534246575343, 0.07671232876712329, 0.04657534246575343, 0.10410958904109589, 0.04657534246575343, 0.049315068493150684, 0.04657534246575343, 0.043835616438356165, 0.043835616438356165, 0.12602739726027398, 0.043835616438356165, 0.043835616438356165, 0.043835616438356165, 0.07397260273972603, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.06575342465753424, 0.16986301369863013, 0.06301369863013699, 0.12054794520547946, 0.07397260273972603, 0.06301369863013699, 0.043835616438356165, 0.06027397260273973, 0.043835616438356165, 0.10410958904109589, 0.049315068493150684, 0.043835616438356165, 0.2493150684931507, 0.2876712328767123, 0.2493150684931507, 0.30684931506849317, 0.2493150684931507, 0.2493150684931507, 0.043835616438356165, 0.06027397260273973, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.052054794520547946, 0.04657534246575343, 0.057534246575342465, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.043835616438356165, 0.0547945205479452, 0.0547945205479452, 0.10136986301369863, 0.049315068493150684, 0.043835616438356165, 0.04657534246575343, 0.07123287671232877, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.043835616438356165, 0.06027397260273973, 0.043835616438356165, 0.1178082191780822, 0.043835616438356165, 0.043835616438356165, 0.27123287671232876, 0.3150684931506849, 0.27123287671232876, 0.3287671232876712, 0.27123287671232876, 0.27123287671232876, 0.043835616438356165, 0.06575342465753424, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.043835616438356165, 0.0684931506849315, 0.043835616438356165, 0.10684931506849316, 0.06301369863013699, 0.043835616438356165, 0.07671232876712329, 0.136986301369863, 0.0684931506849315, 0.12602739726027398, 0.0684931506849315, 0.0684931506849315, 0.25205479452054796, 0.2821917808219178, 0.2493150684931507, 0.30684931506849317, 0.2493150684931507, 0.2602739726027397, 0.04657534246575343, 0.07397260273972603, 0.049315068493150684, 0.10684931506849316, 0.049315068493150684, 0.06301369863013699, 0.043835616438356165, 0.057534246575342465, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.04657534246575343, 0.09041095890410959, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.043835616438356165, 0.10684931506849316, 0.043835616438356165, 0.10136986301369863, 0.04657534246575343, 0.043835616438356165, 0.043835616438356165, 0.07123287671232877, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.043835616438356165, 0.052054794520547946, 0.04657534246575343, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.14520547945205478, 0.16986301369863013, 0.14520547945205478, 0.20273972602739726, 0.14520547945205478, 0.14520547945205478, 0.043835616438356165, 0.057534246575342465, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.049315068493150684, 0.043835616438356165, 0.06301369863013699, 0.043835616438356165, 0.10684931506849316, 0.043835616438356165, 0.043835616438356165, 0.043835616438356165, 0.09041095890410959, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.052054794520547946, 0.07671232876712329, 0.0547945205479452, 0.1095890410958904, 0.052054794520547946, 0.052054794520547946, 0.04657534246575343, 0.052054794520547946, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.04657534246575343, 0.1178082191780822, 0.043835616438356165, 0.10136986301369863, 0.043835616438356165, 0.043835616438356165, 0.06301369863013699, 0.18082191780821918, 0.0684931506849315, 0.12054794520547946, 0.06301369863013699, 0.06301369863013699, 0.06027397260273973, 0.12876712328767123, 0.06027397260273973, 0.12054794520547946, 0.06027397260273973, 0.06027397260273973, 0.049315068493150684, 0.07945205479452055, 0.04657534246575343, 0.10410958904109589, 0.04657534246575343, 0.04657534246575343, 0.1589041095890411, 0.19452054794520549, 0.1506849315068493, 0.20821917808219179, 0.1506849315068493, 0.1506849315068493, 0.01643835616438356, 0.049315068493150684, 0.07397260273972603, 0.03287671232876712, 0.019178082191780823, 0.09863013698630137, 0.07397260273972603, 0.019178082191780823, 0.00821917808219178, 0.12602739726027398, 0.12054794520547946, 0.010958904109589041, 0.12876712328767123, 0.00821917808219178, 0.01643835616438356, 0.01643835616438356, 0.1589041095890411, 0.1506849315068493, 0.12054794520547946, 0.13424657534246576, 0.5232876712328767, 0.5232876712328767, 0.06027397260273973, 0.06027397260273973, 0.2410958904109589, 0.049315068493150684, 0.010958904109589041, 0.11506849315068493, 0.030136986301369864, 0.021917808219178082, 0.5013698630136987, 0.5013698630136987, 0.5013698630136987, 0.7041095890410959, 0.684931506849315, 0.6767123287671233, 0.038356164383561646, 0.29863013698630136, 0.0027397260273972603, 0.09863013698630137, 0.005479452054794521, 0.03287671232876712, 0.0136986301369863, 0.5123287671232877, 0.0273972602739726, 0.0136986301369863, 0.0684931506849315, 0.9698630136986301, 0.00980392156862745, 0.09817997977755308, 0.269464105156724, 0.09625884732052578, 0.1685540950455005, 0.11678463094034378, 0.09706774519716886, 0.10657229524772498, 0.21870576339737108, 0.09514661274014155, 0.17482305358948433, 0.10839231547017189, 0.09676440849342771, 0.13023255813953488, 0.32204246713852375, 0.1269969666329626, 0.19878665318503538, 0.12790697674418605, 0.12770475227502529, 0.11233569261880688, 0.19656218402426692, 0.10596562184024266, 0.19019211324570273, 0.10606673407482306, 0.10353892821031345, 0.08766430738119313, 0.2885743174924166, 0.0923154701718908, 0.16258847320525785, 0.09605662285136501, 0.09059656218402427, 0.14560161779575329, 0.5027300303336704, 0.1487360970677452, 0.2089989888776542, 0.15783619817997976, 0.14499494438827099, 0.1122345803842265, 0.24833164812942365, 0.1122345803842265, 0.1845298281092012, 0.12406471183013144, 0.11183013144590495, 0.29251769464105154, 0.41638018200202226, 0.2800808897876643, 0.34196157735085947, 0.28099089989888776, 0.27360970677451973, 0.10394337714863498, 0.2242669362992922, 0.09504550050556117, 0.16764408493427704, 0.11375126390293225, 0.10586450960566228, 0.10748230535894843, 0.25611729019211327, 0.09757330637007078, 0.16905965621840244, 0.0968655207280081, 0.0968655207280081, 0.1102123356926188, 0.2462082912032356, 0.1186046511627907, 0.17664307381193126, 0.11627906976744186, 0.10606673407482306, 0.1032355915065723, 0.2448938321536906, 0.10010111223458039, 0.17148634984833164, 0.10020222446916077, 0.10040444893832154, 0.11769464105156724, 0.2985844287158746, 0.12467138523761376, 0.19908998988877655, 0.1320525783619818, 0.12224469160768453, 0.31061678463094033, 0.44883720930232557, 0.2985844287158746, 0.3666329625884732, 0.30293225480283115, 0.2961577350859454, 0.1057633973710819, 0.23609706774519718, 0.09838220424671386, 0.17148634984833164, 0.10606673407482306, 0.09908998988877654, 0.10475227502527806, 0.29625884732052576, 0.09989888776541962, 0.1750252780586451, 0.11183013144590495, 0.09919110212335693, 0.1565217391304348, 0.45551061678463095, 0.14580384226491405, 0.21536905965621841, 0.14479271991911022, 0.14509605662285135, 0.30920121334681494, 0.4043478260869565, 0.2788675429726997, 0.34438827098078867, 0.2782608695652174, 0.2896865520728008, 0.11577350859453994, 0.2851365015166835, 0.11638018200202224, 0.18827098078867543, 0.11820020222446916, 0.1313447927199191, 0.1070778564206269, 0.2582406471183013, 0.10525783619817998, 0.1751263902932255, 0.10849342770475227, 0.10495449949443883, 0.11445904954499495, 0.4166835187057634, 0.10343781597573307, 0.1763397371081901, 0.10606673407482306, 0.11638018200202224, 0.11354903943377148, 0.3571284125379171, 0.11445904954499495, 0.1789686552072801, 0.1358948432760364, 0.11122345803842265, 0.09595551061678463, 0.30798786653185034, 0.09959555106167846, 0.17087967644084934, 0.1025278058645096, 0.09878665318503539, 0.11031344792719919, 0.2487360970677452, 0.11617795753286148, 0.18149646107178968, 0.11739130434782609, 0.11385237613751265, 0.20394337714863497, 0.3223458038422649, 0.19261880687563196, 0.26006066734074823, 0.19585439838220425, 0.1902932254802831, 0.09625884732052578, 0.26238624873609706, 0.09959555106167846, 0.1692618806875632, 0.1, 0.10424671385237613, 0.12204246713852376, 0.2763397371081901, 0.11648129423660263, 0.18806875631951467, 0.12446916076845298, 0.11587462082912033, 0.12598584428715875, 0.33943377148634984, 0.12457027300303336, 0.1897876643073812, 0.1448938321536906, 0.1230535894843276, 0.11102123356926188, 0.2801820020222447, 0.10242669362992922, 0.1705763397371082, 0.10040444893832154, 0.09878665318503539, 0.10394337714863498, 0.2961577350859454, 0.09453993933265925, 0.16804853387259858, 0.09848331648129424, 0.09383215369059657, 0.12770475227502529, 0.3936299292214358, 0.11850353892821032, 0.18766430738119314, 0.1351870576339737, 0.11708796764408494, 0.12062689585439838, 0.4243680485338726, 0.12831142568250758, 0.18988877654196157, 0.12143579373104145, 0.11931243680485339, 0.14560161779575329, 0.4220424671385238, 0.13508594539939334, 0.2076845298281092, 0.13559150657229524, 0.13083923154701718, 0.10990899898887765, 0.2626895854398382, 0.10293225480283114, 0.17148634984833164, 0.10505561172901921, 0.1025278058645096, 0.34944388270980786, 0.533670374115268, 0.32790697674418606, 0.39767441860465114, 0.32679474216380183, 0.32588473205257834, 0.029459241323648102, 0.0743543179983858, 0.0924132364810331, 0.06255044390637611, 0.05306698950766747, 0.012005649717514125, 0.18099273607748184, 0.1120863599677159, 0.02360774818401937, 0.03853914447134786, 0.02784503631961259, 0.13518966908797417, 0.13105326876513318, 0.0035310734463276836, 0.014830508474576272, 0.12227602905569007, 0.012711864406779662, 0.007163034705407587, 0.02320419693301049, 0.025221953188054883, 0.2762308313155771, 0.17453591606133978, 0.11894673123486683, 0.14336158192090395, 0.01059322033898305, 0.003934624697336562, 0.4643866020984665, 0.4643866020984665, 0.1157183212267958, 0.11481033091202583, 0.005246166263115416, 0.2630145278450363, 0.07213478611783697, 0.018361581920903956, 0.12651331719128328, 0.05135189669087974, 0.03188054882970137, 0.5627522195318806, 0.5627522195318806, 0.5635593220338984, 0.7496973365617433, 0.7353712671509282, 0.716908797417272, 0.05357142857142857, 0.29499596448748994, 0.017453591606133977, 0.010189669087974173, 0.09584342211460856, 0.01513317191283293, 0.06830104923325263, 0.04640839386602098, 0.009887005649717515, 0.5771791767554479, 0.006255044390637611, 0.044592413236481034, 0.026432606941081516, 0.09301856335754641, 0.9743744955609362, 0.005548829701372074, 0.034722222222222224, 0.1724137931034483, 0.3115942028985507, 0.012711864406779662, 0.011019283746556474, 0.20722891566265061, 0.12560386473429952, 0.42, 0.0211864406779661, 0.029914529914529916, 0.025423728813559324, 0.2754237288135593, 0.18795180722891566, 0.033734939759036145, 0.2584745762711864, 0.3559322033898305, 0.0211864406779661, 0.3617021276595745, 0.024752475247524754, 0.19491525423728814, 0.011961722488038277, 0.08373205741626795, 0.1467065868263473, 0.2709832134292566, 0.31196581196581197, 0.1440677966101695, 0.05084745762711865, 0.17067307692307693, 0.2245762711864407, 0.09322033898305085, 0.09592326139088729, 0.05084745762711865, 0.211864406779661, 0.1906779661016949, 0.1228813559322034, 0.059322033898305086, 0.06779661016949153, 0.09322033898305085, 0.0211864406779661, 0.22033898305084745, 0.1228813559322034, 0.028846153846153848, 0.21610169491525424, 0.17714285714285713, 0.10602409638554217, 0.13559322033898305, 0.0211864406779661, 0.029661016949152543, 0.16101694915254236, 0.14042553191489363, 0.5602836879432624, 0.46411483253588515, 0.28085106382978725, 0.03389830508474576, 0.15853658536585366, 0.0211864406779661, 0.2385542168674699, 0.13559322033898305, 0.13135593220338984, 0.1864406779661017, 0.11904761904761904, 0.0211864406779661, 0.463519313304721, 0.01694915254237288, 0.043701799485861184, 0.12289156626506025, 0.0211864406779661, 0.13135593220338984, 0.6551724137931034, 0.043859649122807015, 0.1493975903614458, 0.038135593220338986, 0.12295081967213115, 0.01015228426395939, 0.038135593220338986, 0.036057692307692304, 0.08888888888888889, 0.1652542372881356, 0.012711864406779662, 0.09134615384615384, 0.13043478260869565, 0.01927710843373494, 0.038135593220338986, 0.17590361445783131, 0.07203389830508475, 0.03117505995203837, 0.056962025316455694, 0.2222222222222222, 0.011990407673860911, 0.18072289156626506, 0.029661016949152543, 0.011990407673860911, 0.006134969325153374, 0.0847457627118644, 0.13983050847457626, 0.1271186440677966, 0.17266187050359713, 0.145933014354067, 0.05508474576271186, 0.13983050847457626, 0.0963855421686747, 0.008620689655172414, 0.8571428571428571, 0.03597122302158273, 0.1016949152542373, 0.024154589371980676, 0.1271186440677966, 0.20481927710843373, 0.2076271186440678, 0.10843373493975904, 0.13559322033898305, 0.09156626506024096, 0.00423728813559322, 0.023980815347721823, 0.033816425120772944, 0.03389830508474576, 0.17372881355932204, 0.005747126436781609, 0.09322033898305085, 0.08050847457627118, 0.14285714285714285, 0.1059322033898305, 0.05084745762711865, 0.3075060532687651, 0.3106796116504854, 0.21610169491525424, 0.19082125603864733, 0.05542168674698795, 0.11440677966101695, 0.12530120481927712, 0.08050847457627118, 0.14216867469879518, 0.11016949152542373, 0.09745762711864407, 0.046610169491525424, 0.0635593220338983, 0.03827751196172249, 0.3728813559322034, 0.1694915254237288, 0.10628019323671498, 0.178743961352657, 0.019138755980861243, 0.01694915254237288, 0.13983050847457626, 0.17372881355932204, 0.025423728813559324, 0.1694915254237288, 0.05741626794258373, 0.2692307692307692, 0.14698795180722893, 0.1271186440677966, 0.15012106537530268, 0.2542372881355932, 0.1483050847457627, 0.4139194139194139, 0.15677966101694915, 0.24074074074074073, 0.26570048309178745, 0.14903846153846154, 0.17796610169491525, 0.17149758454106281, 0.14285714285714285, 0.19491525423728814, 0.16626506024096385, 0.18220338983050846, 0.1864406779661017, 0.2542372881355932, 0.11961722488038277, 0.025423728813559324, 0.14878048780487804, 0.07004830917874397, 0.18220338983050846, 0.15942028985507245, 0.029661016949152543, 0.07894736842105263, 0.00423728813559322, 0.2584541062801932, 0.21610169491525424, 0.23728813559322035, 0.07627118644067797, 0.16666666666666666, 0.08050847457627118, 0.25217391304347825, 0.38106796116504854, 0.15677966101694915, 0.021739130434782608, 0.11016949152542373, 0.11325301204819277, 0.019184652278177457, 0.0211864406779661, 0.02158273381294964, 0.32340425531914896, 0.01694915254237288, 0.06779661016949153, 0.1493975903614458, 0.1927710843373494, 0.1271186440677966, 0.15319148936170213, 0.09745762711864407, 0.0847457627118644, 0.0425531914893617, 0.02891566265060241, 0.21030042918454936, 0.029661016949152543, 0.3276595744680851, 0.03389830508474576, 0.32051282051282054, 0.24281984334203655, 0.03389830508474576, 0.0423728813559322, 0.3391304347826087, 0.09808612440191387, 0.014354066985645933, 0.04142011834319527, 0.27228915662650605, 0.14698795180722893, 0.0211864406779661, 0.011990407673860911, 0.15254237288135594, 0.06265060240963856, 0.18401937046004843, 0.211864406779661, 0.23728813559322035, 0.1642512077294686, 0.07964601769911504, 0.07203389830508475, 0.26382978723404255, 0.05084745762711865, 0.17372881355932204, 0.046610169491525424, 0.01694915254237288, 0.1927710843373494, 0.012711864406779662, 0.18220338983050846, 0.13135593220338984, 0.15903614457831325, 0.2025862068965517, 0.016867469879518072, 0.20574162679425836, 0.2179176755447942, 0.06779661016949153, 0.1652542372881356, 0.02891566265060241, 0.1440677966101695, 0.18840579710144928, 0.25, 0.046610169491525424, 0.2912621359223301, 0.12560386473429952, 0.16595744680851063, 0.2288135593220339, 0.13636363636363635, 0.19915254237288135, 0.07203389830508475, 0.5454545454545454, 0.2033898305084746, 0.025423728813559324, 0.15942028985507245, 0.4957627118644068, 0.2857142857142857, 0.13135593220338984, 0.18220338983050846, 0.21610169491525424, 0.0847457627118644, 0.059322033898305086, 0.06779661016949153, 0.059322033898305086, 0.059322033898305086, 0.4127659574468085, 0.2584745762711864, 0.14832535885167464, 0.17796610169491525, 0.0847457627118644, 0.03365384615384615, 0.15311004784688995, 0.05995203836930456, 0.012711864406779662, 0.3940677966101695, 0.19915254237288135, 0.2288135593220339, 0.21610169491525424, 0.1694915254237288, 0.37922705314009664, 0.2288135593220339, 0.24152542372881355, 0.2536231884057971, 0.2330508474576271, 0.1694915254237288, 0.13135593220338984, 0.3177966101694915, 0.3702127659574468, 0.29577464788732394, 0.05508474576271186, 0.05084745762711865, 0.15677966101694915, 0.21610169491525424, 0.211864406779661, 0.00847457627118644, 0.21610169491525424, 0.3717948717948718, 0.13734939759036144, 0.16908212560386474, 0.2891566265060241, 0.016786570743405275, 0.01694915254237288, 0.26811594202898553, 0.046610169491525424, 0.012711864406779662, 0.28019323671497587, 0.13701923076923078, 0.014388489208633094, 0.01694915254237288, 0.1569620253164557, 0.22033898305084745, 0.1906779661016949, 0.16101694915254236, 0.19518072289156627, 0.09200968523002422, 0.1440677966101695, 0.01694915254237288, 0.09745762711864407, 0.20531400966183574, 0.3008474576271186, 0.28502415458937197, 0.3140096618357488, 0.1483050847457627, 0.05339805825242718, 0.0635593220338983, 0.10071942446043165, 0.1859903381642512, 0.2330508474576271, 0.012711864406779662, 0.19491525423728814, 0.3300970873786408, 0.23429951690821257, 0.2076271186440678, 0.25, 0.38256658595641646, 0.16101694915254236, 0.014354066985645933, 0.05508474576271186, 0.13559322033898305, 0.0024096385542168677, 0.0211864406779661, 0.3722627737226277, 0.0211864406779661, 0.014598540145985401, 0.13135593220338984, 0.07729468599033816, 0.2711864406779661, 0.20531400966183574, 0.2076271186440678, 0.03389830508474576, 0.08232445520581114, 0.3050847457627119, 0.21610169491525424, 0.1855421686746988, 0.2245762711864407, 0.029661016949152543, 0.1574468085106383, 0.1016949152542373, 0.3005050505050505, 0.15942028985507245, 0.014457831325301205, 0.05783132530120482, 0.2033898305084746, 0.1566265060240964, 0.1435523114355231, 0.13768115942028986, 0.025423728813559324, 0.10843373493975904, 0.2936170212765957, 0.21610169491525424, 0.2542372881355932, 0.32439024390243903, 0.19915254237288135, 0.09420289855072464, 0.024096385542168676, 0.13559322033898305, 0.06779661016949153, 0.30303030303030304, 0.24152542372881355, 0.007177033492822967, 0.025423728813559324, 0.1652542372881356, 0.22033898305084745, 0.18220338983050846, 0.1440677966101695, 0.3220338983050847, 0.05508474576271186, 0.1783132530120482, 0.08373205741626795, 0.04807692307692308, 0.00847457627118644, 0.0635593220338983, 0.1510791366906475, 0.42735042735042733, 0.0851063829787234, 0.11004784688995216, 0.029661016949152543, 0.30638297872340425, 0.06698564593301436, 0.2288135593220339, 0.3008474576271186, 0.22705314009661837, 0.26570048309178745, 0.1906779661016949, 0.059322033898305086, 0.046610169491525424, 0.1652542372881356, 0.16183574879227053, 0.15254237288135594, 0.05084745762711865, 0.1864406779661017, 0.13526570048309178, 0.30917874396135264, 0.20681265206812652, 0.22033898305084745, 0.2542372881355932, 0.00847457627118644, 0.033734939759036145, 0.1570048309178744, 0.11016949152542373, 0.1694915254237288, 0.11961722488038277, 0.2711864406779661, 0.1694915254237288, 0.05339805825242718, 0.2584745762711864, 0.17372881355932204, 0.30193236714975846, 0.11352657004830918, 0.12289156626506025, 0.00423728813559322, 0.19915254237288135, 0.19915254237288135, 0.1059322033898305, 0.19915254237288135, 0.16183574879227053, 0.13983050847457626, 0.2076271186440678, 0.25, 0.0635593220338983, 0.11864406779661017, 0.2457627118644068, 0.16101694915254236, 0.0423728813559322, 0.2033898305084746, 0.028985507246376812, 0.08133971291866028, 0.3, 0.13559322033898305, 0.21204819277108433, 0.025423728813559324, 0.2, 0.012048192771084338, 0.145933014354067, 0.09322033898305085, 0.2754237288135593, 0.038135593220338986, 0.012077294685990338, 0.21204819277108433, 0.18220338983050846, 0.01694915254237288, 0.288135593220339, 0.18840579710144928, 0.1906779661016949, 0.047961630695443645, 0.2288135593220339, 0.11864406779661017, 0.19491525423728814, 0.2796610169491525, 0.19491525423728814, 0.23132530120481928, 0.2584745762711864, 0.17647058823529413, 0.038135593220338986, 0.4, 0.050239234449760764, 0.21256038647342995, 0.41445783132530123, 0.4533898305084746, 0.04578313253012048, 0.038135593220338986, 0.029661016949152543, 0.012711864406779662, 0.2804878048780488, 0.1059322033898305, 0.11510791366906475, 0.3793103448275862, 0.18220338983050846, 0.13559322033898305, 0.03597122302158273, 0.3253588516746411, 0.14457831325301204, 0.00423728813559322, 0.07627118644067797, 0.05084745762711865, 0.012711864406779662, 0.2413793103448276, 0.00847457627118644, 0.13135593220338984, 0.014388489208633094, 0.06971153846153846, 0.03614457831325301, 0.13559322033898305, 0.2096317280453258, 0.16908212560386474, 0.038135593220338986, 0.1497584541062802, 0.1906779661016949, 0.0211864406779661, 0.25, 0.3927710843373494, 0.25, 0.0847457627118644, 0.2923728813559322, 0.20722891566265061, 0.01674641148325359, 0.0673076923076923, 0.19951923076923078, 0.0635593220338983, 0.025423728813559324, 0.029661016949152543, 0.029661016949152543, 0.04600484261501211, 0.011560693641618497, 0.13559322033898305, 0.15180722891566265, 0.17149758454106281, 0.13559322033898305, 0.17391304347826086, 0.038135593220338986, 0.16101694915254236, 0.1864406779661017, 0.3702127659574468, 0.09322033898305085, 0.19491525423728814, 0.01694915254237288, 0.06779661016949153, 0.1059322033898305, 0.021686746987951807, 0.13559322033898305, 0.09420289855072464, 0.16786570743405277, 0.20531400966183574, 0.023923444976076555, 0.05084745762711865, 0.00847457627118644, 0.2033898305084746, 0.15180722891566265, 0.1652542372881356, 0.23557692307692307, 0.0966183574879227, 0.13349514563106796, 0.012048192771084338, 0.038135593220338986, 0.007177033492822967, 0.15384615384615385, 0.1271186440677966, 0.07451923076923077, 0.016867469879518072, 0.05084745762711865, 0.15903614457831325, 0.1694915254237288, 0.2851063829787234, 0.20772946859903382, 0.15319148936170213, 0.2709832134292566, 0.13135593220338984, 0.11864406779661017, 0.18220338983050846, 0.0023923444976076554, 0.038135593220338986, 0.0423728813559322, 0.009592326139088728, 0.01694915254237288, 0.1059322033898305, 0.029661016949152543, 0.17372881355932204, 0.5127118644067796, 0.16028708133971292, 0.04578313253012048, 0.03588516746411483, 0.2936170212765957, 0.2711864406779661, 0.17349397590361446, 0.2385542168674699, 0.34541062801932365, 0.08050847457627118, 0.06521739130434782, 0.07627118644067797, 0.3432203389830508, 0.40294840294840295, 0.06779661016949153, 0.1652542372881356, 0.029661016949152543, 0.25, 0.0211864406779661, 0.2627118644067797, 0.050239234449760764, 0.16326530612244897, 0.13135593220338984, 0.3695652173913043, 0.19854721549636803, 0.1076555023923445, 0.06779661016949153, 0.10551558752997602, 0.06779661016949153, 0.26570048309178745, 0.14251207729468598, 0.0211864406779661, 0.17796610169491525, 0.19491525423728814, 0.012711864406779662, 0.13983050847457626, 0.1826086956521739, 0.1059322033898305, 0.029661016949152543, 0.2076271186440678, 0.03389830508474576, 0.24152542372881355, 0.0847457627118644, 0.19617224880382775, 0.15865384615384615, 0.1228813559322034, 0.17391304347826086, 0.00423728813559322, 0.02891566265060241, 0.23002421307506055, 0.00423728813559322, 0.4658119658119658, 0.050724637681159424, 0.2033898305084746, 0.37872340425531914, 0.20425531914893616, 0.31896551724137934, 0.03110047846889952, 0.0211864406779661, 0.15254237288135594, 0.2106537530266344, 0.2723404255319149, 0.3220338983050847, 0.009569377990430622, 0.3404255319148936, 0.19915254237288135, 0.13701923076923078, 0.3191489361702128, 0.1016949152542373, 0.004784688995215311, 0.16101694915254236, 0.09322033898305085, 0.13875598086124402, 0.0211864406779661, 0.15217391304347827, 0.11352657004830918, 0.2330508474576271, 0.007211538461538462, 0.038135593220338986, 0.014457831325301205, 0.00423728813559322, 0.21980676328502416, 0.1483050847457627, 0.23728813559322035, 0.2385542168674699, 0.30917874396135264, 0.1652542372881356, 0.18220338983050846, 0.014388489208633094, 0.012711864406779662, 0.2754237288135593, 0.15776699029126215, 0.09322033898305085, 0.03132530120481928, 0.10551558752997602, 0.029661016949152543, 0.004784688995215311, 0.24152542372881355, 0.012711864406779662, 0.012711864406779662, 0.2288135593220339, 0.033816425120772944, 0.01201923076923077, 0.05741626794258373, 0.4279661016949153, 0.012106537530266344, 0.15421686746987953, 0.06779661016949153, 0.16101694915254236, 0.3659574468085106, 0.05508474576271186, 0.0635593220338983, 0.2929782082324455, 0.10311750599520383, 0.045563549160671464, 0.1652542372881356, 0.2578616352201258, 0.012711864406779662, 0.025423728813559324, 0.18220338983050846, 0.19491525423728814, 0.21927710843373494, 0.00847457627118644, 0.40487804878048783, 0.1440677966101695, 0.10653753026634383, 0.1016949152542373, 0.03389830508474576, 0.1271186440677966, 0.326271186440678, 0.09322033898305085, 0.01694915254237288, 0.13043478260869565, 0.045454545454545456, 0.10945273631840796, 0.18723404255319148, 0.025423728813559324, 0.043373493975903614, 0.15677966101694915, 0.012711864406779662, 0.4110169491525424, 0.19915254237288135, 0.07203389830508475, 0.19310344827586207, 0.009925558312655087, 0.1829787234042553, 0.2711864406779661, 0.08695652173913043, 0.17307692307692307, 0.19915254237288135, 0.19491525423728814, 0.1570048309178744, 0.11016949152542373, 0.1271186440677966, 0.1108433734939759, 0.002398081534772182, 0.19491525423728814, 0.11440677966101695, 0.025423728813559324, 0.16101694915254236, 0.1108433734939759, 0.15254237288135594, 0.5, 0.15942028985507245, 0.14798206278026907, 0.06569343065693431, 0.1864406779661017, 0.13975903614457832, 0.20048309178743962, 0.046610169491525424, 0.3389830508474576, 0.2680851063829787, 0.0211864406779661, 0.20100502512562815, 0.11864406779661017, 0.4703389830508475, 0.09090909090909091, 0.17149758454106281, 0.1473429951690821, 0.1864406779661017, 0.23728813559322035, 0.4576271186440678, 0.24087591240875914, 0.011961722488038277, 0.1440677966101695, 0.11440677966101695, 0.03389830508474576, 0.1059322033898305, 0.21014492753623187, 0.04066985645933014, 0.16101694915254236, 0.17372881355932204, 0.1642512077294686, 0.1906779661016949, 0.01694915254237288, 0.012048192771084338, 0.059322033898305086, 0.22033898305084745, 0.16105769230769232, 0.00423728813559322, 0.05980861244019139, 0.10411622276029056, 0.00847457627118644, 0.2146341463414634, 0.15677966101694915, 0.2542372881355932, 0.19743589743589743, 0.16101694915254236, 0.12771084337349398, 0.27951807228915665, 0.19915254237288135, 0.11864406779661017, 0.18055555555555555, 0.012711864406779662, 0.024752475247524754, 0.09315068493150686, 0.12835820895522387, 0.22033898305084745, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.06776859504132231, 0.06776859504132231, 0.06776859504132231, 0.06776859504132231, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.013223140495867768, 0.013223140495867768, 0.013223140495867768, 0.013223140495867768, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.04462809917355372, 0.04462809917355372, 0.04462809917355372, 0.04462809917355372, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.1768595041322314, 0.003305785123966942, 0.1768595041322314, 0.1768595041322314, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.0049586776859504135, 0.001652892561983471, 0.0049586776859504135, 0.0049586776859504135, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.06115702479338843, 0.06115702479338843, 0.06115702479338843, 0.06115702479338843, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.05950413223140496, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.011570247933884297, 0.008264462809917356, 0.011570247933884297, 0.011570247933884297, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.01818181818181818, 0.01818181818181818, 0.01818181818181818, 0.01818181818181818, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.1669421487603306, 0.1669421487603306, 0.1669421487603306, 0.1669421487603306, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.009917355371900827, 0.009917355371900827, 0.009917355371900827, 0.009917355371900827, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.01818181818181818, 0.01818181818181818, 0.01818181818181818, 0.01818181818181818, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.07768595041322314, 0.07768595041322314, 0.07768595041322314, 0.07768595041322314, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.013223140495867768, 0.013223140495867768, 0.013223140495867768, 0.013223140495867768, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.024793388429752067, 0.024793388429752067, 0.024793388429752067, 0.024793388429752067, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.019834710743801654, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.02975206611570248, 0.02975206611570248, 0.02975206611570248, 0.02975206611570248, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03636363636363636, 0.019834710743801654, 0.03636363636363636, 0.03636363636363636, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.008264462809917356, 0.006611570247933884, 0.008264462809917356, 0.008264462809917356, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03471074380165289, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.03305785123966942, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.013223140495867768, 0.013223140495867768, 0.013223140495867768, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.009917355371900827, 0.009917355371900827, 0.009917355371900827, 0.009917355371900827, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.04297520661157025, 0.04132231404958678, 0.04297520661157025, 0.04297520661157025, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01818181818181818, 0.01818181818181818, 0.01818181818181818, 0.01818181818181818, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.023140495867768594, 0.01818181818181818, 0.023140495867768594, 0.023140495867768594, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.009917355371900827, 0.009917355371900827, 0.009917355371900827, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.013223140495867768, 0.013223140495867768, 0.013223140495867768, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.009917355371900827, 0.009917355371900827, 0.009917355371900827, 0.009917355371900827, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.0049586776859504135, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.01652892561983471, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.05619834710743802, 0.05619834710743802, 0.05619834710743802, 0.05619834710743802, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.013223140495867768, 0.013223140495867768, 0.013223140495867768, 0.013223140495867768, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.02809917355371901, 0.021487603305785124, 0.02809917355371901, 0.02809917355371901, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0049586776859504135, 0.003305785123966942, 0.0049586776859504135, 0.0049586776859504135, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.023140495867768594, 0.001652892561983471, 0.023140495867768594, 0.023140495867768594, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.08925619834710743, 0.08925619834710743, 0.08925619834710743, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.013223140495867768, 0.013223140495867768, 0.013223140495867768, 0.013223140495867768, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.006611570247933884, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.008264462809917356, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.047933884297520664, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04628099173553719, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.0512396694214876, 0.04297520661157025, 0.04297520661157025, 0.04297520661157025, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.019834710743801654, 0.0049586776859504135, 0.019834710743801654, 0.019834710743801654, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.07107438016528926, 0.07107438016528926, 0.07107438016528926, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.003305785123966942, 0.003305785123966942, 0.003305785123966942, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.011570247933884297, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.3090909090909091, 0.0049586776859504135, 0.3090909090909091, 0.3090909090909091, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.021487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.01487603305785124, 0.001652892561983471, 0.001652892561983471, 0.001652892561983471, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289, 0.03471074380165289], "nan_length_distribution": {"1": 526636, "4": 4493, "2": 71450, "3": 25422, "1129": 4, "6": 1761, "1131": 2, "1118": 4, "2914": 2, "5191": 2, "3409": 1, "7720": 2, "4311": 1, "2860": 2, "6557": 6, "4129": 1, "7611": 1, "3482": 1, "15456": 22, "4564": 2, "6870": 2, "6556": 6, "2639": 1, "7529": 1, "4890": 1, "4855": 4, "1133": 4, "5189": 2, "4253": 1, "7689": 1, "3436": 1, "1143": 2, "4569": 1, "7687": 1, "3118": 1, "6891": 4, "2863": 2, "4619": 2, "3991": 2, "342": 2, "4296": 2, "4572": 1, "7703": 1, "3131": 1, "307": 2, "6871": 2, "4629": 2, "1135": 4, "4617": 2, "2851": 2, "4894": 2, "4618": 2, "1137": 4, "6602": 2, "6873": 2, "6872": 2, "2018": 4, "4849": 2, "844": 2, "305": 3, "5495": 1, "5190": 1, "6869": 2, "1140": 4, "1142": 2, "1138": 5, "2872": 1, "4630": 1, "1758": 1, "6917": 2, "2009": 2, "4878": 2, "6886": 2, "2277": 4, "4573": 1, "7705": 1, "3132": 1, "2861": 1, "4859": 1, "4906": 2, "5804": 1, "898": 2, "2562": 2, "3475": 2, "4908": 1, "5802": 1, "894": 2, "1153": 2, "6632": 2, "5712": 2, "6568": 2, "273": 2, "4634": 2, "3135": 1, "6896": 1, "3761": 1, "2006": 2, "3420": 2, "1130": 3, "355": 3, "1132": 2, "306": 3, "7463": 2, "816": 2, "2839": 1, "7723": 1, "4884": 1, "4599": 1, "7714": 1, "3115": 1, "251": 6, "7681": 1, "7375": 1, "4615": 2, "4903": 1, "5801": 1, "1141": 2, "5800": 1, "4567": 2, "4852": 2, "94": 14, "93": 6, "243": 2, "364": 6, "284": 1, "575": 1, "291": 1, "239": 5, "547": 11, "344": 1, "566": 4, "222": 1, "1154": 6, "381": 7, "573": 12, "220": 1, "559": 2, "339": 2, "405": 10, "95": 32, "218": 1, "192": 2, "574": 9, "385": 8, "333": 2, "29": 462, "358": 2, "193": 4, "26": 52, "318": 7, "238": 2, "340": 2, "550": 2, "168": 190, "404": 2, "390": 1, "240": 1, "78": 4, "338": 2, "190": 4, "576": 2, "337": 1, "409": 4, "416": 2, "7": 2117, "214": 2, "221": 2, "415": 2, "28": 32, "485": 2, "408": 2, "548": 2, "23": 63, "261": 1, "506": 1, "245": 1, "167": 3, "285": 3, "30": 460, "554": 2, "68": 4, "237": 2, "383": 1, "191": 3, "21": 98, "572": 1, "546": 3, "4281": 6, "377": 434, "367": 430, "10": 942, "6848": 2, "4288": 4, "8": 707, "457": 2, "4190": 2, "4202": 2, "4205": 4, "3089": 2, "4146": 2, "4187": 2, "4285": 2, "6227": 10, "2596": 2, "3039": 2, "4201": 4, "424": 2, "4283": 4, "4204": 2, "1334": 2, "4284": 4, "6155": 2, "4869": 4, "4286": 4, "4282": 4, "3357": 2, "6754": 2, "4287": 2, "6507": 4, "4203": 2, "4206": 2, "4200": 2, "406": 2, "4188": 2, "6820": 2, "4289": 2, "6468": 2, "6505": 2, "3048": 2, "6844": 2, "4198": 2, "2327": 2, "6797": 2, "356": 14, "570": 4, "357": 18, "38": 32, "1152": 17, "349": 6, "350": 18, "257": 2, "345": 2, "348": 2, "518": 10, "216": 2, "253": 2, "35": 37, "111": 3, "512": 2, "279": 2, "562": 3, "542": 6, "33": 26, "568": 2, "539": 2, "254": 2, "13": 336, "15": 144, "14": 164, "35040": 160, "93272": 1, "85018": 1, "43628": 1, "82521": 1, "65817": 1, "53722": 1, "96624": 1, "94718": 1, "73095": 1, "106464": 11, "109824": 2, "109248": 1, "52513": 1, "112096": 1, "70176": 3, "63902": 1, "35681": 1, "108480": 1, "5038": 1, "93929": 1, "51648": 1, "75744": 1, "42720": 1, "53952": 1, "124224": 1, "104064": 1, "111264": 1, "54336": 1, "86592": 1, "95948": 1, "86880": 1, "64992": 1, "9216": 1, "102048": 1, "103008": 1, "57024": 1, "93312": 1, "57556": 1, "106752": 1, "365": 160, "971": 1, "885": 1, "454": 1, "859": 1, "685": 1, "1006": 1, "986": 1, "761": 1, "1109": 11, "1144": 2, "1167": 1, "731": 3, "665": 1, "371": 1, "52": 172, "978": 1, "538": 1, "789": 1, "445": 1, "1281": 1, "1084": 1, "1159": 1, "902": 1, "999": 1, "905": 1, "677": 1, "96": 2, "1063": 1, "1073": 1, "594": 3, "972": 2, "599": 1, "1112": 1, "8760": 160, "23318": 1, "21254": 1, "10907": 1, "20630": 1, "16454": 1, "13430": 1, "24156": 1, "23679": 1, "18274": 1, "26616": 11, "27456": 2, "27312": 1, "13128": 1, "28024": 1, "17544": 3, "15975": 1, "8920": 1, "27120": 1, "1259": 1, "23482": 1, "12912": 1, "18936": 1, "10680": 1, "13488": 1, "31056": 1, "26016": 1, "27816": 1, "13584": 1, "21648": 1, "23987": 1, "21720": 1, "16248": 1, "2304": 1, "25512": 1, "25752": 1, "14256": 1, "23328": 1, "14389": 1, "26688": 1, "138": 5, "126": 1, "64": 3, "122": 3, "97": 4, "79": 2, "143": 1, "140": 1, "108": 2, "158": 12, "163": 3, "162": 2, "166": 2, "104": 3, "53": 9, "161": 2, "139": 1, "76": 2, "112": 1, "63": 2, "80": 9, "176": 7, "154": 1, "165": 35, "128": 1, "142": 1, "129": 3, "151": 1, "153": 3, "84": 4, "85": 8, "9": 923, "24": 84, "81": 9, "31": 25, "88": 8, "5": 2338, "70": 6, "75": 9, "17": 126, "19": 101, "32": 18, "37": 208, "18": 308, "12": 487, "34": 21, "43": 13, "39": 27, "11": 285, "20": 109, "183": 4, "247": 9, "83": 9, "25": 52, "354": 1, "16": 388, "246": 151, "44": 17, "91": 5, "22": 101, "46": 18, "613": 32, "42": 20, "116": 3, "40": 13, "92": 1, "50": 13, "58": 7, "45": 14, "55": 5, "614": 1, "60": 3, "236": 1, "74": 4, "27": 22, "59": 7, "172": 1, "48": 12, "90": 3, "51": 7, "89": 3, "41": 11, "57": 4, "54": 13, "36": 18, "199": 1, "66": 13, "61": 7, "125": 1, "1981": 6, "102": 1, "49": 10, "114": 1, "56": 11, "103": 1, "77": 9, "47": 22, "120": 1, "72": 2, "248": 5, "169": 3, "73": 2, "772": 1, "249": 1, "2148": 5, "117": 2, "65": 4, "86": 2, "2278": 1, "268": 1, "255": 1, "171": 1, "1723": 1, "1824": 1, "1823": 4, "144": 3, "189": 1, "69": 4, "62": 2, "67": 6, "174": 2, "175": 1, "878": 6, "100": 3, "211": 1, "71": 7, "232": 6, "123": 3, "145": 1, "441": 4, "87": 3, "478": 1, "808": 1, "272": 1, "99": 1, "2053": 6, "173": 1, "106": 3, "187": 1, "146": 2, "653": 1, "124": 2, "353": 1, "397": 1, "758": 1, "676": 1, "101": 2, "196": 2, "118": 1, "812": 1, "437": 1, "159": 3, "1956": 1, "1306": 1, "1056": 1, "720": 1, "149": 1, "119": 1, "4598": 2, "107": 3, "134": 2, "205": 2, "224": 1, "133": 1, "590": 1, "267": 2, "132": 1, "964": 1, "105": 4, "202": 1, "5567": 4, "177": 1, "7098": 2, "203": 1, "6856": 1, "206": 1, "2019": 1, "219": 1, "131": 1, "282": 1, "635": 1, "135": 1, "178": 1, "115": 2, "201": 1, "443": 1, "9658": 1}} \ No newline at end of file diff --git a/examples/generate_synthetic_data.py b/examples/generate_synthetic_data.py new file mode 100644 index 0000000000000000000000000000000000000000..a3d09249ad5ed2d07829809b1eebbd7978e6423e --- /dev/null +++ b/examples/generate_synthetic_data.py @@ -0,0 +1,204 @@ +import logging +import os +from typing import List, Optional + +import torch + +from src.data.containers import BatchTimeSeriesContainer +from src.data.utils import sample_future_length +from src.plotting.plot_timeseries import plot_from_container +from src.synthetic_generation.anomalies.anomaly_generator_wrapper import ( + AnomalyGeneratorWrapper, +) +from src.synthetic_generation.cauker.cauker_generator_wrapper import ( + CauKerGeneratorWrapper, +) +from src.synthetic_generation.forecast_pfn_prior.forecast_pfn_generator_wrapper import ( + ForecastPFNGeneratorWrapper, +) +from src.synthetic_generation.generator_params import ( + AnomalyGeneratorParams, + CauKerGeneratorParams, + FinancialVolatilityAudioParams, + ForecastPFNGeneratorParams, + GPGeneratorParams, + KernelGeneratorParams, + MultiScaleFractalAudioParams, + NetworkTopologyAudioParams, + OrnsteinUhlenbeckProcessGeneratorParams, + SawToothGeneratorParams, + SineWaveGeneratorParams, + SpikesGeneratorParams, + StepGeneratorParams, + StochasticRhythmAudioParams, +) +from src.synthetic_generation.gp_prior.gp_generator_wrapper import GPGeneratorWrapper +from src.synthetic_generation.kernel_synth.kernel_generator_wrapper import ( + KernelGeneratorWrapper, +) +from src.synthetic_generation.ornstein_uhlenbeck_process.ou_generator_wrapper import ( + OrnsteinUhlenbeckProcessGeneratorWrapper, +) +from src.synthetic_generation.sawtooth.sawtooth_generator_wrapper import ( + SawToothGeneratorWrapper, +) +from src.synthetic_generation.sine_waves.sine_wave_generator_wrapper import ( + SineWaveGeneratorWrapper, +) +from src.synthetic_generation.spikes.spikes_generator_wrapper import ( + SpikesGeneratorWrapper, +) +from src.synthetic_generation.steps.step_generator_wrapper import StepGeneratorWrapper + +PYO_AVAILABLE = True +try: + import pyo # requires portaudio to be installed +except (ImportError, OSError): + PYO_AVAILABLE = False +else: + from src.synthetic_generation.audio_generators.financial_volatility_wrapper import ( + FinancialVolatilityAudioWrapper, + ) + from src.synthetic_generation.audio_generators.multi_scale_fractal_wrapper import ( + MultiScaleFractalAudioWrapper, + ) + from src.synthetic_generation.audio_generators.network_topology_wrapper import ( + NetworkTopologyAudioWrapper, + ) + from src.synthetic_generation.audio_generators.stochastic_rhythm_wrapper import ( + StochasticRhythmAudioWrapper, + ) + +logging.basicConfig( + level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" +) +logger = logging.getLogger(__name__) + + +def visualize_batch_sample( + generator, + batch_size: int = 8, + output_dir: str = "outputs/plots", + sample_idx: Optional[int] = None, + prefix: str = "", + seed: Optional[int] = None, +) -> None: + os.makedirs(output_dir, exist_ok=True) + name = generator.__class__.__name__ + logger.info(f"[{name}] Generating batch of size {batch_size}") + + batch = generator.generate_batch(batch_size=batch_size, seed=seed) + values = torch.from_numpy(batch.values) + if values.ndim == 2: + values = values.unsqueeze(-1) + + future_length = sample_future_length(range="gift_eval") + history_values = values[:, :-future_length, :] + future_values = values[:, -future_length:, :] + + container = BatchTimeSeriesContainer( + history_values=history_values, + future_values=future_values, + start=batch.start, + frequency=batch.frequency, + ) + + indices = [sample_idx] if sample_idx is not None else range(batch_size) + for i in indices: + filename = ( + f"{prefix}_{name.lower().replace('generatorwrapper', '')}_sample_{i}.png" + ) + output_file = os.path.join(output_dir, filename) + title = f"{prefix.capitalize()} {name.replace('GeneratorWrapper', '')} Synthetic Series (Sample {i})" + plot_from_container( + container, sample_idx=i, output_file=output_file, show=False, title=title + ) + logger.info(f"[{name}] Saved plot to {output_file}") + + +def generator_factory(global_seed: int, total_length: int) -> List: + generators = [ + KernelGeneratorWrapper( + KernelGeneratorParams(global_seed=global_seed, length=total_length) + ), + GPGeneratorWrapper( + GPGeneratorParams(global_seed=global_seed, length=total_length) + ), + ForecastPFNGeneratorWrapper( + ForecastPFNGeneratorParams(global_seed=global_seed, length=total_length) + ), + SineWaveGeneratorWrapper( + SineWaveGeneratorParams(global_seed=global_seed, length=total_length) + ), + SawToothGeneratorWrapper( + SawToothGeneratorParams(global_seed=global_seed, length=total_length) + ), + StepGeneratorWrapper( + StepGeneratorParams(global_seed=global_seed, length=total_length) + ), + AnomalyGeneratorWrapper( + AnomalyGeneratorParams(global_seed=global_seed, length=total_length) + ), + SpikesGeneratorWrapper( + SpikesGeneratorParams(global_seed=global_seed, length=total_length) + ), + CauKerGeneratorWrapper( + CauKerGeneratorParams( + global_seed=global_seed, length=total_length, num_channels=5 + ) + ), + OrnsteinUhlenbeckProcessGeneratorWrapper( + OrnsteinUhlenbeckProcessGeneratorParams( + global_seed=global_seed, length=total_length + ) + ), + ] + + if PYO_AVAILABLE: + generators.extend( + [ + StochasticRhythmAudioWrapper( + StochasticRhythmAudioParams( + global_seed=global_seed, length=total_length + ) + ), + FinancialVolatilityAudioWrapper( + FinancialVolatilityAudioParams( + global_seed=global_seed, length=total_length + ) + ), + MultiScaleFractalAudioWrapper( + MultiScaleFractalAudioParams( + global_seed=global_seed, length=total_length + ) + ), + NetworkTopologyAudioWrapper( + NetworkTopologyAudioParams( + global_seed=global_seed, length=total_length + ) + ), + ] + ) + else: + logger.warning("Audio generators skipped (pyo not available)") + + return generators + + +if __name__ == "__main__": + batch_size = 2 + total_length = 2048 + output_dir = "outputs/plots" + global_seed = 2025 + + logger.info(f"Saving plots to {output_dir}") + + for gen in generator_factory(global_seed, total_length): + prefix = "multivariate" if getattr(gen.params, "num_channels", 1) > 1 else "" + visualize_batch_sample( + gen, + batch_size=batch_size, + output_dir=output_dir, + prefix=prefix, + seed=global_seed, + ) diff --git a/examples/gift_eval/gift_eval_runner.py b/examples/gift_eval/gift_eval_runner.py new file mode 100755 index 0000000000000000000000000000000000000000..fdee50eca14338c2e3c762a1a96d7ec1e57726e3 --- /dev/null +++ b/examples/gift_eval/gift_eval_runner.py @@ -0,0 +1,251 @@ +#!/usr/bin/env python +""" +GIFT-Eval Runner Script + +This script evaluates the Time Series model on GIFT-Eval datasets using the `src/gift_eval` pipeline. + +- Uses `src/gift_eval/data.py` for dataset handling. +- Uses `src/gift_eval/predictor.TimeSeriesPredictor` for inference. +- Loads a model from a checkpoint. +- Writes per-dataset CSV metrics to `output_dir` without creating plots. +""" + +import argparse +import logging +from pathlib import Path +from typing import List, Optional + +from examples.utils import download_checkpoint_if_needed +from src.gift_eval.constants import ALL_DATASETS +from src.gift_eval.evaluate import evaluate_datasets +from src.gift_eval.predictor import TimeSeriesPredictor +from src.gift_eval.results import aggregate_results, write_results_to_disk + + +# Configure logging +logging.basicConfig( + level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" +) +logging.getLogger("matplotlib").setLevel(logging.WARNING) +logging.getLogger("matplotlib.font_manager").setLevel(logging.WARNING) +logger = logging.getLogger("gift_eval_runner") + + +def _expand_datasets_arg(datasets_arg: List[str] | str) -> List[str]: + """Expand dataset argument to list of dataset names.""" + if isinstance(datasets_arg, str): + if datasets_arg == "all": + return list(ALL_DATASETS) + datasets_list = [datasets_arg] + else: + datasets_list = datasets_arg + if datasets_list and datasets_list[0] == "all": + return list(ALL_DATASETS) + + for ds in datasets_list: + if ds not in ALL_DATASETS: + raise ValueError(f"Invalid dataset: {ds}. Use one of {ALL_DATASETS}") + return datasets_list + + +def run_evaluation( + predictor: TimeSeriesPredictor, + datasets_arg: List[str] | str, + terms_arg: List[str], + dataset_storage_path: str, + max_windows_arg: Optional[int], + batch_size_arg: int, + max_context_length_arg: Optional[int], + output_dir_arg: str, + model_name_arg: str, + after_each_dataset_flush: bool = True, +) -> None: + """Run evaluation on specified datasets.""" + datasets_to_run = _expand_datasets_arg(datasets_arg) + results_root = Path(output_dir_arg) + + for ds_name in datasets_to_run: + items = evaluate_datasets( + predictor=predictor, + dataset=ds_name, + dataset_storage_path=dataset_storage_path, + terms=terms_arg, + max_windows=max_windows_arg, + batch_size=batch_size_arg, + max_context_length=max_context_length_arg, + create_plots=False, + max_plots_per_dataset=0, + ) + write_results_to_disk( + items=items, + dataset_name=ds_name, + output_dir=results_root, + model_name=model_name_arg, + create_plots=False, + ) + if after_each_dataset_flush: + logger.info("Flushed results for %s", ds_name) + + +def main(): + """Main execution function.""" + parser = argparse.ArgumentParser( + description="GIFT-Eval Runner: Evaluate TimeSeriesModel on GIFT-Eval datasets" + ) + + # Model configuration + parser.add_argument( + "--model_path", + type=str, + default=None, + help="Path to model checkpoint. If not provided, will download from checkpoint_url.", + ) + parser.add_argument( + "--config_path", + type=str, + default="configs/example.yaml", + help="Path to model config YAML (default: configs/example.yaml)", + ) + parser.add_argument( + "--checkpoint_url", + type=str, + default="https://www.dropbox.com/scl/fi/mqsni5lehooyaw93y3uzq/checkpoint_38M.pth?rlkey=3uyehvmtted02xkha24zgpzb6&st=seevsbkn&dl=0", + help="URL to download checkpoint from if model_path is not provided", + ) + parser.add_argument( + "--download_dir", + type=str, + default="models", + help="Directory to download checkpoint to (default: models)", + ) + + # Dataset configuration + parser.add_argument( + "--datasets", + type=str, + nargs="+", + default=["all"], + help='List of dataset names or ["all"] (default: all)', + ) + parser.add_argument( + "--terms", + type=str, + nargs="+", + default=["short", "medium", "long"], + help="Prediction terms to evaluate (default: short medium long)", + ) + parser.add_argument( + "--dataset_storage_path", + type=str, + default="/work/dlclarge2/moroshav-GiftEvalPretrain/gift_eval", + # required=True, + help="Path to the root of the gift eval datasets storage directory", + ) + parser.add_argument( + "--max_windows", + type=int, + default=20, + help="Maximum number of windows to use for evaluation (default: 20)", + ) + + # Inference configuration + parser.add_argument( + "--batch_size", + type=int, + default=64, + help="Batch size for inference (default: 128)", + ) + parser.add_argument( + "--max_context_length", + type=int, + default=3072, + help="Maximum context length (default: 3072)", + ) + + # Output configuration + parser.add_argument( + "--output_dir", + type=str, + default="gift_eval_results", + help="Output directory for results (default: gift_eval_results)", + ) + parser.add_argument( + "--model_name", + type=str, + default="TempoPFN", + help="Model name identifier for results (default: TempoPFN)", + ) + parser.add_argument( + "--no_flush", + action="store_true", + help="Disable flushing results after each dataset", + ) + + args = parser.parse_args() + + # Resolve paths + config_path = Path(args.config_path) + download_dir = Path(args.download_dir) + output_dir = Path(args.output_dir) + + # Determine model path + resolved_model_path = None + if args.model_path: + resolved_model_path = args.model_path + elif args.checkpoint_url: + resolved_model_path = download_checkpoint_if_needed( + args.checkpoint_url, target_dir=download_dir + ) + + if not resolved_model_path: + raise FileNotFoundError( + "No model checkpoint provided. Set --model_path or --checkpoint_url." + ) + + if not config_path.exists(): + raise FileNotFoundError(f"Config not found: {config_path}") + + logger.info("Loading predictor from checkpoint: %s", resolved_model_path) + predictor = TimeSeriesPredictor.from_paths( + model_path=resolved_model_path, + config_path=str(config_path), + ds_prediction_length=1, # placeholder; set per dataset + ds_freq="D", # placeholder; set per dataset + batch_size=args.batch_size, + max_context_length=args.max_context_length, + ) + + logger.info("Starting evaluation...") + logger.info(" Datasets: %s", args.datasets) + logger.info(" Terms: %s", args.terms) + logger.info(" Output directory: %s", output_dir) + + # Run evaluation + run_evaluation( + predictor=predictor, + datasets_arg=args.datasets, + terms_arg=args.terms, + dataset_storage_path=args.dataset_storage_path, + max_windows_arg=args.max_windows, + batch_size_arg=args.batch_size, + max_context_length_arg=args.max_context_length, + output_dir_arg=str(output_dir), + model_name_arg=args.model_name, + after_each_dataset_flush=not args.no_flush, + ) + + logger.info("Evaluation complete. See results under: %s", output_dir) + + # Aggregate all results into a single CSV file + logger.info("Aggregating results from all datasets...") + combined_df = aggregate_results(result_root_dir=output_dir) + + if combined_df is not None: + logger.info("Successfully created aggregated results file: %s/all_results.csv", output_dir) + else: + logger.warning("No results to aggregate. Check that evaluation completed successfully.") + + +if __name__ == "__main__": + main() + diff --git a/examples/gift_eval/gift_eval_submission.ipynb b/examples/gift_eval/gift_eval_submission.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..ba4d22c9b22fd9874862515882e88b3460196d09 --- /dev/null +++ b/examples/gift_eval/gift_eval_submission.ipynb @@ -0,0 +1,1439 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e8a9f0b1", + "metadata": {}, + "source": [ + "# Running TempoPFN on GIFT-Eval Benchmark\n", + "\n", + "This notebook evaluates the **TempoPFN** model on the GIFT-Eval benchmark. \n", + "\n", + "Make sure you download the gift-eval benchmark and set the `GIFT_EVAL_DATASET_STORAGE_PATH` environment variable correctly before running this notebook." + ] + }, + { + "cell_type": "markdown", + "id": "f1d2e3c4", + "metadata": {}, + "source": [ + "## 1. Setup and Dependencies\n", + "\n", + "First, install the required packages. \n", + "\n", + "**Note:** This notebook assumes that the core `TempoPFN` model code (e.g., `src.models.model`, `src.data.containers`) and dependencies are installed as a Python package or are otherwise available in the `PYTHONPATH`." + ] + }, + { + "cell_type": "markdown", + "id": "b9c8d7e6", + "metadata": {}, + "source": [ + "## 2. Imports\n", + "\n", + "Import all necessary libraries. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c7d8e9f0", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import logging\n", + "import os\n", + "import math\n", + "import csv\n", + "import glob\n", + "import argparse\n", + "import warnings\n", + "import yaml\n", + "from pathlib import Path\n", + "from typing import List, Optional, Dict, Tuple, Union, Iterator, Iterable, Any\n", + "from functools import cached_property\n", + "from enum import Enum\n", + "from dataclasses import dataclass\n", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "import torch\n", + "from torch.nn.parallel import DistributedDataParallel as DDP\n", + "from dotenv import load_dotenv\n", + "\n", + "# GluonTS and Data Handling\n", + "import datasets\n", + "import pyarrow.compute as pc\n", + "from gluonts.dataset import DataEntry\n", + "from gluonts.dataset.common import ProcessDataEntry\n", + "from gluonts.dataset.split import TestData, TrainingDataset, split\n", + "from gluonts.itertools import Map\n", + "from gluonts.time_feature import norm_freq_str, get_seasonality\n", + "from gluonts.transform import Transformation\n", + "from pandas.tseries.frequencies import to_offset\n", + "from toolz import compose\n", + "\n", + "# GluonTS Evaluation\n", + "from gluonts.ev.metrics import (\n", + " MAE,\n", + " MAPE,\n", + " MASE,\n", + " MSE,\n", + " MSIS,\n", + " ND,\n", + " NRMSE,\n", + " RMSE,\n", + " SMAPE,\n", + " MeanWeightedSumQuantileLoss,\n", + ")\n", + "from gluonts.model.evaluation import evaluate_model\n", + "from gluonts.model.forecast import QuantileForecast\n", + "from gluonts.model.predictor import Predictor\n", + "\n", + "# Plotting and Warnings\n", + "import matplotlib\n", + "import matplotlib.pyplot as plt\n", + "from linear_operator.utils.cholesky import NumericalWarning\n", + "\n", + "# --- TempoPFN Core Model Imports ---\n", + "# These are assumed to be installed or in the PYTHONPATH\n", + "from src.data.containers import BatchTimeSeriesContainer\n", + "from src.data.frequency import parse_frequency\n", + "from src.data.scalers import RobustScaler\n", + "from src.models.model import TimeSeriesModel\n", + "from src.utils.utils import device\n", + "\n", + "# --- Setup Logging ---\n", + "logging.basicConfig(level=logging.INFO, format=\"%(asctime)s - %(levelname)s - %(message)s\")\n", + "logging.getLogger(\"matplotlib\").setLevel(logging.WARNING)\n", + "logging.getLogger(\"matplotlib.font_manager\").setLevel(logging.WARNING)\n", + "logging.getLogger(\"PIL\").setLevel(logging.WARNING)\n", + "logger = logging.getLogger(\"gift_eval_runner\")\n", + "\n", + "# Filter out specific gluonts warnings\n", + "class WarningFilter(logging.Filter):\n", + " def __init__(self, text_to_filter: str) -> None:\n", + " super().__init__()\n", + " self.text_to_filter = text_to_filter\n", + "\n", + " def filter(self, record: logging.LogRecord) -> bool:\n", + " return self.text_to_filter not in record.getMessage()\n", + "\n", + "gts_logger = logging.getLogger(\"gluonts.model.forecast\")\n", + "gts_logger.addFilter(\n", + " WarningFilter(\"The mean prediction is not stored in the forecast data\")\n", + ")\n", + "\n", + "# Filter out numerical warnings\n", + "warnings.filterwarnings(\"ignore\", category=NumericalWarning)\n", + "warnings.filterwarnings(\"ignore\", category=FutureWarning)\n", + "warnings.filterwarnings(\"ignore\", category=DeprecationWarning)\n", + "\n", + "# Load environment variables (e.g., GIFT_EVAL_DATASET_STORAGE_PATH)\n", + "load_dotenv()" + ] + }, + { + "cell_type": "markdown", + "id": "d6e7f8a1", + "metadata": {}, + "source": [ + "## 3. Constants and Configuration\n", + "\n", + "Define dataset lists, metrics, and other constants following GIFT-Eval standards." + ] + }, + { + "cell_type": "markdown", + "id": "g4h5j6k7", + "metadata": {}, + "source": [ + "### 3.1. Constants " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "h5j6k7l8", + "metadata": {}, + "outputs": [], + "source": [ + "# Environment setup\n", + "os.environ[\"CUBLAS_WORKSPACE_CONFIG\"] = \":4096:8\"\n", + "\n", + "# Use absolute path relative to the project root\n", + "_MODULE_DIR = Path.cwd().parent.parent # Assumes notebook is in `examples/gift_eval/`\n", + "DATASET_PROPERTIES_PATH = _MODULE_DIR / \"data\" / \"dataset_properties.json\"\n", + "\n", + "try:\n", + " with open(DATASET_PROPERTIES_PATH, \"r\") as f:\n", + " DATASET_PROPERTIES = json.load(f)\n", + "except Exception as exc: # pragma: no cover - logging path\n", + " DATASET_PROPERTIES = {}\n", + " logger.warning(\n", + " \"Could not load dataset properties from %s: %s. Domain and num_variates will fall back to defaults.\",\n", + " DATASET_PROPERTIES_PATH,\n", + " exc,\n", + " )\n", + "\n", + "# Datasets\n", + "SHORT_DATASETS = (\n", + " \"m4_yearly\",\n", + " \"m4_quarterly\",\n", + " \"m4_monthly\",\n", + " \"m4_weekly\",\n", + " \"m4_daily\",\n", + " \"m4_hourly\",\n", + " \"electricity/15T\",\n", + " \"electricity/H\",\n", + " \"electricity/D\",\n", + " \"electricity/W\",\n", + " \"solar/10T\",\n", + " \"solar/H\",\n", + " \"solar/D\",\n", + " \"solar/W\",\n", + " \"hospital\",\n", + " \"covid_deaths\",\n", + " \"us_births/D\",\n", + " \"us_births/M\",\n", + " \"us_births/W\",\n", + " \"saugeenday/D\",\n", + " \"saugeenday/M\",\n", + " \"saugeenday/W\",\n", + " \"temperature_rain_with_missing\",\n", + " \"kdd_cup_2018_with_missing/H\",\n", + " \"kdd_cup_2018_with_missing/D\",\n", + " \"car_parts_with_missing\",\n", + " \"restaurant\",\n", + " \"hierarchical_sales/D\",\n", + " \"hierarchical_sales/W\",\n", + " \"LOOP_SEATTLE/5T\",\n", + " \"LOOP_SEATTLE/H\",\n", + " \"LOOP_SEATTLE/D\",\n", + " \"SZ_TAXI/15T\",\n", + " \"SZ_TAXI/H\",\n", + " \"M_DENSE/H\",\n", + " \"M_DENSE/D\",\n", + " \"ett1/15T\",\n", + " \"ett1/H\",\n", + " \"ett1/D\",\n", + " \"ett1/W\",\n", + " \"ett2/15T\",\n", + " \"ett2/H\",\n", + " \"ett2/D\",\n", + " \"ett2/W\",\n", + " \"jena_weather/10T\",\n", + " \"jena_weather/H\",\n", + " \"jena_weather/D\",\n", + " \"bitbrains_fast_storage/5T\",\n", + " \"bitbrains_fast_storage/H\",\n", + " \"bitbrains_rnd/5T\",\n", + " \"bitbrains_rnd/H\",\n", + " \"bizitobs_application\",\n", + " \"bizitobs_service\",\n", + " \"bizitobs_l2c/5T\",\n", + " \"bizitobs_l2c/H\",\n", + ")\n", + "\n", + "MED_LONG_DATASETS = (\n", + " \"electricity/15T\",\n", + " \"electricity/H\",\n", + " \"solar/10T\",\n", + " \"solar/H\",\n", + " \"kdd_cup_2018_with_missing/H\",\n", + " \"LOOP_SEATTLE/5T\",\n", + " \"LOOP_SEATTLE/H\",\n", + " \"SZ_TAXI/15T\",\n", + " \"M_DENSE/H\",\n", + " \"ett1/15T\",\n", + " \"ett1/H\",\n", + " \"ett2/15T\",\n", + " \"ett2/H\",\n", + " \"jena_weather/10T\",\n", + " \"jena_weather/H\",\n", + " \"bitbrains_fast_storage/5T\",\n", + " \"bitbrains_rnd/5T\",\n", + " \"bizitobs_application\",\n", + " \"bizitobs_service\",\n", + " \"bizitobs_l2c/5T\",\n", + " \"bizitobs_l2c/H\",\n", + ")\n", + "\n", + "# Preserve insertion order\n", + "ALL_DATASETS = list(dict.fromkeys(SHORT_DATASETS + MED_LONG_DATASETS))\n", + "\n", + "# Evaluation terms\n", + "TERMS = (\"short\", \"medium\", \"long\")\n", + "\n", + "# Pretty names mapping\n", + "PRETTY_NAMES = {\n", + " \"saugeenday\": \"saugeen\",\n", + " \"temperature_rain_with_missing\": \"temperature_rain\",\n", + " \"kdd_cup_2018_with_missing\": \"kdd_cup_2018\",\n", + " \"car_parts_with_missing\": \"car_parts\",\n", + "}\n", + "\n", + "# Metrics\n", + "METRICS = (\n", + " MSE(forecast_type=\"mean\"),\n", + " MSE(forecast_type=0.5),\n", + " MAE(),\n", + " MASE(),\n", + " MAPE(),\n", + " SMAPE(),\n", + " MSIS(),\n", + " RMSE(),\n", + " NRMSE(),\n", + " ND(),\n", + " MeanWeightedSumQuantileLoss(\n", + " quantile_levels=[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]\n", + " ),\n", + ")\n", + "\n", + "# Standard metric names for CSV header\n", + "STANDARD_METRIC_NAMES = (\n", + " \"MSE[mean]\",\n", + " \"MSE[0.5]\",\n", + " \"MAE[0.5]\",\n", + " \"MASE[0.5]\",\n", + " \"MAPE[0.5]\",\n", + " \"sMAPE[0.5]\",\n", + " \"MSIS\",\n", + " \"RMSE[mean]\",\n", + " \"NRMSE[mean]\",\n", + " \"ND[0.5]\",\n", + " \"mean_weighted_sum_quantile_loss\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "i7j8k9l0", + "metadata": {}, + "source": [ + "### 3.2. Core Data Structures " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "j8k9l0m1", + "metadata": {}, + "outputs": [], + "source": [ + "@dataclass\n", + "class DatasetMetadata:\n", + " \"\"\"Structured description of a dataset/term combination.\"\"\"\n", + "\n", + " full_name: str\n", + " key: str\n", + " freq: str\n", + " term: str\n", + " season_length: int\n", + " target_dim: int\n", + " to_univariate: bool\n", + " prediction_length: int\n", + " windows: int\n", + "\n", + "\n", + "@dataclass\n", + "class EvaluationItem:\n", + " \"\"\"Container for evaluation results and optional figures.\"\"\"\n", + "\n", + " dataset_metadata: DatasetMetadata\n", + " metrics: Dict\n", + " figures: List[Tuple[object, str]]\n", + "\n", + "\n", + "DatasetSelection = Union[List[str], Tuple[str, ...], str]\n", + "\n", + "\n", + "def expand_datasets_arg(datasets: DatasetSelection) -> List[str]:\n", + " \"\"\"Normalize dataset selection strings to explicit lists.\"\"\"\n", + "\n", + " if isinstance(datasets, str):\n", + " dataset_list = [datasets]\n", + " else:\n", + " dataset_list = list(datasets)\n", + "\n", + " if not dataset_list:\n", + " return []\n", + "\n", + " if dataset_list[0] == \"all\":\n", + " return list(ALL_DATASETS)\n", + "\n", + " for dataset in dataset_list:\n", + " if dataset not in ALL_DATASETS:\n", + " raise ValueError(f\"Invalid dataset: {dataset}. Use one of {ALL_DATASETS}\")\n", + "\n", + " return dataset_list" + ] + }, + { + "cell_type": "markdown", + "id": "k9l0m1n2", + "metadata": {}, + "source": [ + "### 3.3. GIFT-Eval Dataset Class (`data.py`)\n", + "\n", + "The `Dataset` class handles loading and preprocessing GIFT-Eval benchmark datasets. This implementation is adapted from the official GIFT-Eval repository." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "l0m1n2o3", + "metadata": {}, + "outputs": [], + "source": [ + "TEST_SPLIT = 0.1\n", + "MAX_WINDOW = 20\n", + "\n", + "M4_PRED_LENGTH_MAP = {\n", + " \"A\": 6,\n", + " \"Q\": 8,\n", + " \"M\": 18,\n", + " \"W\": 13,\n", + " \"D\": 14,\n", + " \"H\": 48,\n", + " \"h\": 48,\n", + " \"Y\": 6,\n", + "}\n", + "\n", + "PRED_LENGTH_MAP = {\n", + " \"M\": 12,\n", + " \"W\": 8,\n", + " \"D\": 30,\n", + " \"H\": 48,\n", + " \"h\": 48,\n", + " \"T\": 48,\n", + " \"S\": 60,\n", + " \"s\": 60,\n", + " \"min\": 48,\n", + "}\n", + "\n", + "TFB_PRED_LENGTH_MAP = {\n", + " \"A\": 6,\n", + " \"Y\": 6,\n", + " \"H\": 48,\n", + " \"h\": 48,\n", + " \"Q\": 8,\n", + " \"D\": 14,\n", + " \"M\": 18,\n", + " \"W\": 13,\n", + " \"U\": 8,\n", + " \"T\": 8,\n", + " \"min\": 8,\n", + " \"us\": 8,\n", + "}\n", + "\n", + "\n", + "class Term(Enum):\n", + " SHORT = \"short\"\n", + " MEDIUM = \"medium\"\n", + " LONG = \"long\"\n", + "\n", + " @property\n", + " def multiplier(self) -> int:\n", + " if self == Term.SHORT:\n", + " return 1\n", + " elif self == Term.MEDIUM:\n", + " return 10\n", + " elif self == Term.LONG:\n", + " return 15\n", + "\n", + "\n", + "def itemize_start(data_entry: DataEntry) -> DataEntry:\n", + " data_entry[\"start\"] = data_entry[\"start\"].item()\n", + " return data_entry\n", + "\n", + "\n", + "class MultivariateToUnivariate(Transformation):\n", + " def __init__(self, field):\n", + " self.field = field\n", + "\n", + " def __call__(\n", + " self, data_it: Iterable[DataEntry], is_train: bool = False\n", + " ) -> Iterator:\n", + " for data_entry in data_it:\n", + " item_id = data_entry[\"item_id\"]\n", + " val_ls = list(data_entry[self.field])\n", + " for id, val in enumerate(val_ls):\n", + " univariate_entry = data_entry.copy()\n", + " univariate_entry[self.field] = val\n", + " univariate_entry[\"item_id\"] = item_id + \"_dim\" + str(id)\n", + " yield univariate_entry\n", + "\n", + "\n", + "class Dataset:\n", + " def __init__(\n", + " self,\n", + " name: str,\n", + " term: Term | str = Term.SHORT,\n", + " to_univariate: bool = False,\n", + " storage_path: str = None,\n", + " max_windows: Optional[int] = None,\n", + " ):\n", + " storage_path = Path(storage_path)\n", + " self.hf_dataset = datasets.load_from_disk(str(storage_path / name)).with_format(\n", + " \"numpy\"\n", + " )\n", + " process = ProcessDataEntry(\n", + " self.freq,\n", + " one_dim_target=self.target_dim == 1,\n", + " )\n", + "\n", + " self.gluonts_dataset = Map(compose(process, itemize_start), self.hf_dataset)\n", + " if to_univariate:\n", + " self.gluonts_dataset = MultivariateToUnivariate(\"target\").apply(\n", + " self.gluonts_dataset\n", + " )\n", + "\n", + " self.term = Term(term)\n", + " self.name = name\n", + " self.max_windows = max_windows if max_windows is not None else MAX_WINDOW\n", + "\n", + " @cached_property\n", + " def prediction_length(self) -> int:\n", + " freq = norm_freq_str(to_offset(self.freq).name)\n", + " if freq.endswith(\"E\"):\n", + " freq = freq[:-1]\n", + " pred_len = (\n", + " M4_PRED_LENGTH_MAP[freq] if \"m4\" in self.name else PRED_LENGTH_MAP[freq]\n", + " )\n", + " return self.term.multiplier * pred_len\n", + "\n", + " @cached_property\n", + " def freq(self) -> str:\n", + " return self.hf_dataset[0][\"freq\"]\n", + "\n", + " @cached_property\n", + " def target_dim(self) -> int:\n", + " return (\n", + " target.shape[0]\n", + " if len((target := self.hf_dataset[0][\"target\"]).shape) > 1\n", + " else 1\n", + " )\n", + "\n", + " @cached_property\n", + " def past_feat_dynamic_real_dim(self) -> int:\n", + " if \"past_feat_dynamic_real\" not in self.hf_dataset[0]:\n", + " return 0\n", + " elif (\n", + " len(\n", + " (\n", + " past_feat_dynamic_real := self.hf_dataset[0][\n", + " \"past_feat_dynamic_real\"\n", + " ]\n", + " ).shape\n", + " )\n", + " > 1\n", + " ):\n", + " return past_feat_dynamic_real.shape[0]\n", + " else:\n", + " return 1\n", + "\n", + " @cached_property\n", + " def windows(self) -> int:\n", + " if \"m4\" in self.name:\n", + " return 1\n", + " w = math.ceil(TEST_SPLIT * self._min_series_length / self.prediction_length)\n", + " return min(max(1, w), self.max_windows)\n", + "\n", + " @cached_property\n", + " def _min_series_length(self) -> int:\n", + " if self.hf_dataset[0][\"target\"].ndim > 1:\n", + " lengths = pc.list_value_length(\n", + " pc.list_flatten(\n", + " pc.list_slice(self.hf_dataset.data.column(\"target\"), 0, 1)\n", + " )\n", + " )\n", + " else:\n", + " lengths = pc.list_value_length(self.hf_dataset.data.column(\"target\"))\n", + " return min(lengths.to_numpy())\n", + "\n", + " @cached_property\n", + " def sum_series_length(self) -> int:\n", + " if self.hf_dataset[0][\"target\"].ndim > 1:\n", + " lengths = pc.list_value_length(\n", + " pc.list_flatten(self.hf_dataset.data.column(\"target\"))\n", + " )\n", + " else:\n", + " lengths = pc.list_value_length(self.hf_dataset.data.column(\"target\"))\n", + " return sum(lengths.to_numpy())\n", + "\n", + " @property\n", + " def training_dataset(self) -> TrainingDataset:\n", + " training_dataset, _ = split(\n", + " self.gluonts_dataset, offset=-self.prediction_length * (self.windows + 1)\n", + " )\n", + " return training_dataset\n", + "\n", + " @property\n", + " def validation_dataset(self) -> TrainingDataset:\n", + " validation_dataset, _ = split(\n", + " self.gluonts_dataset, offset=-self.prediction_length * self.windows\n", + " )\n", + " return validation_dataset\n", + "\n", + " @property\n", + " def test_data(self) -> TestData:\n", + " _, test_template = split(\n", + " self.gluonts_dataset, offset=-self.prediction_length * self.windows\n", + " )\n", + " test_data = test_template.generate_instances(\n", + " prediction_length=self.prediction_length,\n", + " windows=self.windows,\n", + " distance=self.prediction_length,\n", + " )\n", + " return test_data" + ] + }, + { + "cell_type": "markdown", + "id": "m1n2o3p4", + "metadata": {}, + "source": [ + "### 3.4. Predictor Wrapper (`predictor.py`)\n", + "\n", + "This is the model-specific `TimeSeriesPredictor` class for `TempoPFN`. It wraps the core `TimeSeriesModel` and adapts it to the `gluonts`-style `Predictor` interface, which expects a `.predict()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "n2o3p4q5", + "metadata": {}, + "outputs": [], + "source": [ + "class TimeSeriesPredictor(Predictor):\n", + " \"\"\"Unified predictor for TimeSeriesModel supporting flexible construction.\"\"\"\n", + "\n", + " def __init__(\n", + " self,\n", + " model: TimeSeriesModel,\n", + " config: dict,\n", + " ds_prediction_length: int,\n", + " ds_freq: str,\n", + " batch_size: int = 32,\n", + " max_context_length: Optional[int] = None,\n", + " debug: bool = False,\n", + " ) -> None:\n", + " # Dataset-specific context (can be updated per dataset/term)\n", + " self.ds_prediction_length = ds_prediction_length\n", + " self.ds_freq = ds_freq\n", + " self.batch_size = batch_size\n", + " self.max_context_length = max_context_length\n", + " self.debug = debug\n", + "\n", + " # Persistent model/config (unwrap DDP if needed)\n", + " self.model = model.module if isinstance(model, DDP) else model\n", + " self.model.eval()\n", + " self.config = config\n", + "\n", + " # Initialize scaler (using same type as model)\n", + " scaler_type = self.config.get(\"TimeSeriesModel\", {}).get(\n", + " \"scaler\", \"custom_robust\"\n", + " )\n", + " epsilon = self.config.get(\"TimeSeriesModel\", {}).get(\"epsilon\", 1e-3)\n", + " if scaler_type == \"custom_robust\":\n", + " self.scaler = RobustScaler(epsilon=epsilon)\n", + " else:\n", + " raise ValueError(f\"Unsupported scaler type: {scaler_type}\")\n", + "\n", + " def set_dataset_context(\n", + " self,\n", + " prediction_length: Optional[int] = None,\n", + " freq: Optional[str] = None,\n", + " batch_size: Optional[int] = None,\n", + " max_context_length: Optional[int] = None,\n", + " ) -> None:\n", + " \"\"\"Update lightweight dataset-specific attributes without reloading the model.\"\"\"\n", + "\n", + " if prediction_length is not None:\n", + " self.ds_prediction_length = prediction_length\n", + " if freq is not None:\n", + " self.ds_freq = freq\n", + " if batch_size is not None:\n", + " self.batch_size = batch_size\n", + " if max_context_length is not None:\n", + " self.max_context_length = max_context_length\n", + "\n", + " @classmethod\n", + " def from_model(\n", + " cls,\n", + " model: TimeSeriesModel,\n", + " config: dict,\n", + " ds_prediction_length: int,\n", + " ds_freq: str,\n", + " batch_size: int = 32,\n", + " max_context_length: Optional[int] = None,\n", + " debug: bool = False,\n", + " ) -> \"TimeSeriesPredictor\":\n", + " return cls(\n", + " model=model,\n", + " config=config,\n", + " ds_prediction_length=ds_prediction_length,\n", + " ds_freq=ds_freq,\n", + " batch_size=batch_size,\n", + " max_context_length=max_context_length,\n", + " debug=debug,\n", + " )\n", + "\n", + " @classmethod\n", + " def from_paths(\n", + " cls,\n", + " model_path: str,\n", + " config_path: str,\n", + " ds_prediction_length: int,\n", + " ds_freq: str,\n", + " batch_size: int = 32,\n", + " max_context_length: Optional[int] = None,\n", + " debug: bool = False,\n", + " ) -> \"TimeSeriesPredictor\":\n", + " with open(config_path, \"r\") as f:\n", + " config = yaml.safe_load(f)\n", + " model = cls._load_model_from_path(config=config, model_path=model_path)\n", + " return cls(\n", + " model=model,\n", + " config=config,\n", + " ds_prediction_length=ds_prediction_length,\n", + " ds_freq=ds_freq,\n", + " batch_size=batch_size,\n", + " max_context_length=max_context_length,\n", + " debug=debug,\n", + " )\n", + "\n", + " @staticmethod\n", + " def _load_model_from_path(config: dict, model_path: str) -> TimeSeriesModel:\n", + " try:\n", + " model = TimeSeriesModel(**config[\"TimeSeriesModel\"]).to(device)\n", + " checkpoint = torch.load(model_path, map_location=device)\n", + " model.load_state_dict(checkpoint[\"model_state_dict\"])\n", + " model.eval()\n", + " logger.info(f\"Successfully loaded model from {model_path}\")\n", + " return model\n", + " except Exception as exc: # pragma: no cover - logging path\n", + " logger.error(f\"Failed to load model from {model_path}: {exc}\")\n", + " raise\n", + "\n", + " def predict(self, test_data_input) -> Iterator[QuantileForecast]:\n", + " \"\"\"Generate forecasts for the test data.\"\"\"\n", + "\n", + " if hasattr(test_data_input, \"__iter__\") and not isinstance(test_data_input, list):\n", + " test_data_input = list(test_data_input)\n", + " logger.debug(f\"Processing {len(test_data_input)} time series\")\n", + "\n", + " # Group series by their effective length (after optional truncation),\n", + " # then process each uniform-length group in sub-batches up to batch_size.\n", + " def _effective_length(entry) -> int:\n", + " target = entry[\"target\"]\n", + " if target.ndim == 1:\n", + " seq_len = len(target)\n", + " else:\n", + " # target shape is [num_channels, seq_len]\n", + " seq_len = target.shape[1]\n", + " if self.max_context_length is not None:\n", + " seq_len = min(seq_len, self.max_context_length)\n", + " return seq_len\n", + "\n", + " length_to_items: dict[int, List[tuple[int, object]]] = {}\n", + " for idx, entry in enumerate(test_data_input):\n", + " seq_len = _effective_length(entry)\n", + " length_to_items.setdefault(seq_len, []).append((idx, entry))\n", + "\n", + " total = len(test_data_input)\n", + " ordered_results: List[Optional[QuantileForecast]] = [None] * total\n", + "\n", + " for _, items in length_to_items.items():\n", + " for i in range(0, len(items), self.batch_size):\n", + " chunk = items[i : i + self.batch_size]\n", + " entries = [entry for (_orig_idx, entry) in chunk]\n", + " batch_forecasts = self._predict_batch(entries)\n", + " for forecast_idx, (orig_idx, _entry) in enumerate(chunk):\n", + " ordered_results[orig_idx] = batch_forecasts[forecast_idx]\n", + "\n", + " return ordered_results # type: ignore[return-value]\n", + "\n", + " def _predict_batch(self, test_data_batch: List) -> List[QuantileForecast]:\n", + " \"\"\"Generate predictions for a batch of time series.\"\"\"\n", + "\n", + " logger.debug(f\"Processing batch of size: {len(test_data_batch)}\")\n", + "\n", + " try:\n", + " batch_container = self._convert_to_batch_container(test_data_batch)\n", + "\n", + " if isinstance(device, torch.device):\n", + " device_type = device.type\n", + " else:\n", + " device_type = \"cuda\" if \"cuda\" in str(device).lower() else \"cpu\"\n", + " enable_autocast = device_type == \"cuda\"\n", + "\n", + " with torch.autocast(\n", + " device_type=device_type,\n", + " dtype=torch.bfloat16,\n", + " enabled=enable_autocast,\n", + " ):\n", + " with torch.no_grad():\n", + " model_output = self.model(batch_container, drop_enc_allow=False)\n", + "\n", + " forecasts = self._convert_to_forecasts(\n", + " model_output, test_data_batch, batch_container\n", + " )\n", + "\n", + " logger.debug(f\"Generated {len(forecasts)} forecasts\")\n", + " return forecasts\n", + " except Exception as exc: # pragma: no cover - logging path\n", + " logger.error(f\"Error in batch prediction: {exc}\")\n", + " raise\n", + "\n", + " def _convert_to_batch_container(\n", + " self, test_data_batch: List\n", + " ) -> BatchTimeSeriesContainer:\n", + " \"\"\"Convert gluonts test data to BatchTimeSeriesContainer.\"\"\"\n", + "\n", + " batch_size = len(test_data_batch)\n", + " history_values_list = []\n", + " start_dates = []\n", + " frequencies = []\n", + "\n", + " for entry in test_data_batch:\n", + " target = entry[\"target\"]\n", + "\n", + " if target.ndim == 1:\n", + " target = target.reshape(-1, 1)\n", + " else:\n", + " target = target.T\n", + "\n", + " if (\n", + " self.max_context_length is not None\n", + " and len(target) > self.max_context_length\n", + " ):\n", + " target = target[-self.max_context_length :]\n", + "\n", + " history_values_list.append(target)\n", + " start_dates.append(entry[\"start\"].to_timestamp().to_datetime64())\n", + " frequencies.append(parse_frequency(entry[\"freq\"]))\n", + "\n", + " history_values_np = np.stack(history_values_list, axis=0)\n", + " num_channels = history_values_np.shape[2]\n", + "\n", + " history_values = torch.tensor(\n", + " history_values_np, dtype=torch.float32, device=device\n", + " )\n", + "\n", + " future_values = torch.zeros(\n", + " (batch_size, self.ds_prediction_length, num_channels),\n", + " dtype=torch.float32,\n", + " device=device,\n", + " )\n", + "\n", + " return BatchTimeSeriesContainer(\n", + " history_values=history_values,\n", + " future_values=future_values,\n", + " start=start_dates,\n", + " frequency=frequencies,\n", + " )\n", + "\n", + " def _convert_to_forecasts(\n", + " self,\n", + " model_output: dict,\n", + " test_data_batch: List,\n", + " batch_container: BatchTimeSeriesContainer,\n", + " ) -> List[QuantileForecast]:\n", + " \"\"\"Convert model predictions to QuantileForecast objects.\"\"\"\n", + "\n", + " predictions = model_output[\"result\"]\n", + " scale_statistics = model_output[\"scale_statistics\"]\n", + "\n", + " if predictions.ndim == 4:\n", + " predictions_unscaled = self.scaler.inverse_scale(\n", + " predictions, scale_statistics\n", + " )\n", + " is_quantile = True\n", + " quantile_levels = self.model.quantiles\n", + " else:\n", + " predictions_unscaled = self.scaler.inverse_scale(\n", + " predictions, scale_statistics\n", + " )\n", + " is_quantile = False\n", + " quantile_levels = [0.5]\n", + "\n", + " forecasts: List[QuantileForecast] = []\n", + " for idx, entry in enumerate(test_data_batch):\n", + " history_length = int(batch_container.history_values.shape[1])\n", + " start_date = entry[\"start\"]\n", + " forecast_start = start_date + history_length\n", + "\n", + " if is_quantile:\n", + " pred_array = predictions_unscaled[idx].cpu().numpy()\n", + "\n", + " if pred_array.shape[1] == 1:\n", + " pred_array = pred_array.squeeze(1)\n", + " forecast_arrays = pred_array.T\n", + " else:\n", + " forecast_arrays = pred_array.transpose(2, 0, 1)\n", + "\n", + " forecast = QuantileForecast(\n", + " forecast_arrays=forecast_arrays,\n", + " forecast_keys=[str(q) for q in quantile_levels],\n", + " start_date=forecast_start,\n", + " )\n", + " else:\n", + " pred_array = predictions_unscaled[idx].cpu().numpy()\n", + "\n", + " if pred_array.shape[1] == 1:\n", + " pred_array = pred_array.squeeze(1)\n", + " forecast_arrays = pred_array.reshape(1, -1)\n", + " else:\n", + " forecast_arrays = pred_array.reshape(1, *pred_array.shape)\n", + "\n", + " forecast = QuantileForecast(\n", + " forecast_arrays=forecast_arrays,\n", + " forecast_keys=[\"0.5\"],\n", + " start_date=forecast_start,\n", + " )\n", + "\n", + " forecasts.append(forecast)\n", + "\n", + " return forecasts" + ] + }, + { + "cell_type": "markdown", + "id": "o3p4q5r6", + "metadata": {}, + "source": [ + "### 3.5. Result Handling \n", + "\n", + "These functions handle writing the per-dataset metrics to CSV files and aggregating all results into a single `all_results.csv` at the end." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "p4q5r6s7", + "metadata": {}, + "outputs": [], + "source": [ + "def _ensure_results_csv(csv_file_path: Path) -> None:\n", + " if not csv_file_path.exists():\n", + " csv_file_path.parent.mkdir(parents=True, exist_ok=True)\n", + " with open(csv_file_path, \"w\", newline=\"\") as csvfile:\n", + " writer = csv.writer(csvfile)\n", + " header = (\n", + " [\"dataset\", \"model\"]\n", + " + [f\"eval_metrics/{name}\" for name in STANDARD_METRIC_NAMES]\n", + " + [\"domain\", \"num_variates\"]\n", + " )\n", + " writer.writerow(header)\n", + "\n", + "\n", + "def write_results_to_disk(\n", + " items: List[EvaluationItem],\n", + " dataset_name: str,\n", + " output_dir: Path,\n", + " model_name: str,\n", + " create_plots: bool,\n", + ") -> None:\n", + " output_dir = output_dir / dataset_name\n", + " output_dir.mkdir(parents=True, exist_ok=True)\n", + " output_csv_path = output_dir / \"results.csv\"\n", + " _ensure_results_csv(output_csv_path)\n", + "\n", + " with open(output_csv_path, \"a\", newline=\"\") as csvfile:\n", + " writer = csv.writer(csvfile)\n", + " for item in items:\n", + " md: DatasetMetadata = item.dataset_metadata\n", + " metric_values: List[Optional[float]] = []\n", + " for metric_name in STANDARD_METRIC_NAMES:\n", + " value = item.metrics.get(metric_name, None)\n", + " if value is None:\n", + " metric_values.append(None)\n", + " else:\n", + " if (\n", + " hasattr(value, \"__len__\")\n", + " and not isinstance(value, (str, bytes))\n", + " and len(value) == 1\n", + " ):\n", + " value = value[0]\n", + " elif hasattr(value, \"item\"):\n", + " value = value.item()\n", + " metric_values.append(value)\n", + "\n", + " ds_key = md.key.lower()\n", + " props = DATASET_PROPERTIES.get(ds_key, {})\n", + " domain = props.get(\"domain\", \"unknown\")\n", + " num_variates = props.get(\n", + " \"num_variates\", 1 if md.to_univariate else md.target_dim\n", + " )\n", + "\n", + " row = [md.full_name, model_name] + metric_values + [domain, num_variates]\n", + " writer.writerow(row)\n", + "\n", + " if create_plots and item.figures and plt is not None:\n", + " plots_dir = output_dir / \"plots\" / md.key / md.term\n", + " plots_dir.mkdir(parents=True, exist_ok=True)\n", + " for fig, filename in item.figures:\n", + " filepath = plots_dir / filename\n", + " fig.savefig(filepath, dpi=300, bbox_inches=\"tight\")\n", + " plt.close(fig)\n", + "\n", + " logger.info(\n", + " \"Evaluation complete for dataset '%s'. Results saved to %s\",\n", + " dataset_name,\n", + " output_csv_path,\n", + " )\n", + " if create_plots:\n", + " logger.info(\"Plots saved under %s\", output_dir / \"plots\")\n", + "\n", + "\n", + "def get_all_datasets_full_name() -> List[str]:\n", + " \"\"\"Get all possible dataset full names for validation.\"\"\"\n", + "\n", + " terms = [\"short\", \"medium\", \"long\"]\n", + " datasets_full_names: List[str] = []\n", + "\n", + " for name in ALL_DATASETS:\n", + " for term in terms:\n", + " if term in [\"medium\", \"long\"] and name not in MED_LONG_DATASETS:\n", + " continue\n", + "\n", + " if \"/\" in name:\n", + " ds_key, ds_freq = name.split(\"/\")\n", + " ds_key = ds_key.lower()\n", + " ds_key = PRETTY_NAMES.get(ds_key, ds_key)\n", + " else:\n", + " ds_key = name.lower()\n", + " ds_key = PRETTY_NAMES.get(ds_key, ds_key)\n", + " ds_freq = DATASET_PROPERTIES.get(ds_key, {}).get(\"frequency\")\n", + "\n", + " datasets_full_names.append(\n", + " f\"{ds_key}/{ds_freq if ds_freq else 'unknown'}/{term}\"\n", + " )\n", + "\n", + " return datasets_full_names\n", + "\n", + "\n", + "def aggregate_results(result_root_dir: str | Path) -> pd.DataFrame | None:\n", + " \"\"\"Aggregate results from multiple CSV files into a single dataframe.\"\"\"\n", + "\n", + " result_root = Path(result_root_dir)\n", + "\n", + " logger.info(\"Aggregating results in: %s\", result_root)\n", + "\n", + " result_files = glob.glob(f\"{result_root}/**/results.csv\", recursive=True)\n", + "\n", + " if not result_files:\n", + " logger.error(\"No result files found!\")\n", + " return None\n", + "\n", + " dataframes: List[pd.DataFrame] = []\n", + " for file in result_files:\n", + " try:\n", + " df = pd.read_csv(file)\n", + " if len(df) > 0:\n", + " dataframes.append(df)\n", + " else:\n", + " logger.warning(\"Empty file: %s\", file)\n", + " except pd.errors.EmptyDataError:\n", + " logger.warning(\"Skipping empty file: %s\", file)\n", + " except Exception as exc:\n", + " logger.error(\"Error reading %s: %s\", file, exc)\n", + "\n", + " if not dataframes:\n", + " logger.warning(\"No valid CSV files found to combine\")\n", + " return None\n", + "\n", + " combined_df = pd.concat(dataframes, ignore_index=True).sort_values(\"dataset\")\n", + "\n", + " if len(combined_df) != len(set(combined_df.dataset)):\n", + " duplicate_datasets = combined_df.dataset[\n", + " combined_df.dataset.duplicated()\n", + " ].tolist()\n", + " logger.warning(\"Warning: Duplicate datasets found: %s\", duplicate_datasets)\n", + " combined_df = combined_df.drop_duplicates(subset=[\"dataset\"], keep=\"first\")\n", + " logger.info(\n", + " \"Removed duplicates, %s unique datasets remaining\", len(combined_df)\n", + " )\n", + "\n", + " logger.info(\"Combined results: %s datasets\", len(combined_df))\n", + "\n", + " all_datasets_full_name = get_all_datasets_full_name()\n", + " completed_experiments = combined_df.dataset.tolist()\n", + "\n", + " completed_experiments_clean = [\n", + " exp for exp in completed_experiments if exp in all_datasets_full_name\n", + " ]\n", + " missing_or_failed_experiments = [\n", + " exp for exp in all_datasets_full_name if exp not in completed_experiments_clean\n", + " ]\n", + "\n", + " logger.info(\"=== EXPERIMENT SUMMARY ===\")\n", + " logger.info(\"Total expected datasets: %s\", len(all_datasets_full_name))\n", + " logger.info(\"Completed experiments: %s\", len(completed_experiments_clean))\n", + " logger.info(\"Missing/failed experiments: %s\", len(missing_or_failed_experiments))\n", + "\n", + " output_file = result_root / \"all_results.csv\"\n", + " combined_df.to_csv(output_file, index=False)\n", + " logger.info(\"Combined results saved to: %s\", output_file)\n", + "\n", + " return combined_df" + ] + }, + { + "cell_type": "markdown", + "id": "q5r6s7t8", + "metadata": {}, + "source": [ + "### 3.6. Evaluation Harness (`evaluate.py`)\n", + "\n", + "This is the main evaluation logic that iterates over dataset terms, prepares the data, calls the predictor, and gathers metrics." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "r6s7t8u9", + "metadata": {}, + "outputs": [], + "source": [ + "def construct_evaluation_data(\n", + " dataset_name: str,\n", + " dataset_storage_path: str,\n", + " terms: List[str] = [\"short\", \"medium\", \"long\"],\n", + " max_windows: Optional[int] = None,\n", + ") -> List[Tuple[Dataset, DatasetMetadata]]:\n", + " \"\"\"Build datasets and rich metadata per term for a dataset name.\"\"\"\n", + " sub_datasets: List[Tuple[Dataset, DatasetMetadata]] = []\n", + "\n", + " if \"/\" in dataset_name:\n", + " ds_key, ds_freq = dataset_name.split(\"/\")\n", + " ds_key = ds_key.lower()\n", + " ds_key = PRETTY_NAMES.get(ds_key, ds_key)\n", + " else:\n", + " ds_key = dataset_name.lower()\n", + " ds_key = PRETTY_NAMES.get(ds_key, ds_key)\n", + " ds_freq = DATASET_PROPERTIES.get(ds_key, {}).get(\"frequency\")\n", + "\n", + " for term in terms:\n", + " # Skip medium/long terms for datasets that don't support them\n", + " if (\n", + " term == \"medium\" or term == \"long\"\n", + " ) and dataset_name not in MED_LONG_DATASETS:\n", + " continue\n", + "\n", + " # Probe once to determine dimensionality\n", + " probe_dataset = Dataset(\n", + " name=dataset_name,\n", + " term=term,\n", + " to_univariate=False,\n", + " storage_path=dataset_storage_path,\n", + " max_windows=max_windows,\n", + " )\n", + "\n", + " to_univariate = probe_dataset.target_dim > 1\n", + "\n", + " dataset = Dataset(\n", + " name=dataset_name,\n", + " term=term,\n", + " to_univariate=to_univariate,\n", + " storage_path=dataset_storage_path,\n", + " max_windows=max_windows,\n", + " )\n", + "\n", + " # Compute metadata\n", + " season_length = get_seasonality(dataset.freq)\n", + " actual_freq = ds_freq if ds_freq else dataset.freq\n", + " \n", + " metadata = DatasetMetadata(\n", + " full_name=f\"{ds_key}/{actual_freq}/{term}\",\n", + " key=ds_key,\n", + " freq=actual_freq,\n", + " term=term,\n", + " season_length=season_length,\n", + " target_dim=probe_dataset.target_dim,\n", + " to_univariate=to_univariate,\n", + " prediction_length=dataset.prediction_length,\n", + " windows=dataset.windows,\n", + " )\n", + "\n", + " sub_datasets.append((dataset, metadata))\n", + "\n", + " return sub_datasets\n", + "\n", + "\n", + "def evaluate_datasets(\n", + " predictor: TimeSeriesPredictor,\n", + " dataset: str,\n", + " dataset_storage_path: str,\n", + " terms: List[str] = [\"short\", \"medium\", \"long\"],\n", + " max_windows: Optional[int] = None,\n", + " batch_size: int = 48,\n", + " max_context_length: Optional[int] = 1024,\n", + " create_plots: bool = False,\n", + " max_plots_per_dataset: int = 10,\n", + ") -> List[EvaluationItem]:\n", + " \"\"\"Evaluate predictor on one dataset across the requested terms.\"\"\"\n", + " sub_datasets = construct_evaluation_data(\n", + " dataset_name=dataset,\n", + " dataset_storage_path=dataset_storage_path,\n", + " terms=terms,\n", + " max_windows=max_windows,\n", + " )\n", + "\n", + " results: List[EvaluationItem] = []\n", + " for i, (sub_dataset, metadata) in enumerate(sub_datasets):\n", + " logger.info(f\"Evaluating {i + 1}/{len(sub_datasets)}: {metadata.full_name}\")\n", + " logger.info(f\" Dataset size: {len(sub_dataset.test_data)}\")\n", + " logger.info(f\" Frequency: {sub_dataset.freq}\")\n", + " logger.info(f\" Term: {metadata.term}\")\n", + " logger.info(f\" Prediction length: {sub_dataset.prediction_length}\")\n", + " logger.info(f\" Target dimensions: {sub_dataset.target_dim}\")\n", + " logger.info(f\" Windows: {sub_dataset.windows}\")\n", + "\n", + " # Update context on the reusable predictor\n", + " predictor.set_dataset_context(\n", + " prediction_length=sub_dataset.prediction_length,\n", + " freq=sub_dataset.freq,\n", + " batch_size=batch_size,\n", + " max_context_length=max_context_length,\n", + " )\n", + "\n", + " res = evaluate_model(\n", + " model=predictor,\n", + " test_data=sub_dataset.test_data,\n", + " metrics=METRICS,\n", + " axis=None,\n", + " mask_invalid_label=True,\n", + " allow_nan_forecast=False,\n", + " seasonality=metadata.season_length,\n", + " )\n", + "\n", + " figs: List[Tuple[object, str]] = []\n", + " if create_plots:\n", + " # We are missing `src.plotting.gift_eval_utils.create_plots_for_dataset`\n", + " # As this was not provided, plotting will be skipped.\n", + " logger.warning(\"Plotting is enabled but `create_plots_for_dataset` is not defined. Skipping plot generation.\")\n", + " pass\n", + "\n", + " results.append(\n", + " EvaluationItem(dataset_metadata=metadata, metrics=res, figures=figs)\n", + " )\n", + "\n", + " return results" + ] + }, + { + "cell_type": "markdown", + "id": "s7t8u9v0", + "metadata": {}, + "source": [ + "## 4. Configuration\n", + "\n", + "Set the parameters for the evaluation run. Update `config_path` and `checkpoint_url` to point to your model's files." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "t8u9v0w1", + "metadata": {}, + "outputs": [], + "source": [ + "# --- Parameters ---\n", + "model_path = None # e.g., \"/path/to/checkpoint.pth\"; if None, try checkpoint_url\n", + "config_path = Path.cwd().parent.parent / \"configs/example.yaml\" \n", + "checkpoint_url = \"https://www.dropbox.com/scl/fi/mqsni5lehooyaw93y3uzq/checkpoint_38M.pth?rlkey=3uyehvmtted02xkha24zgpzb6&st=seevsbkn&dl=0\" \n", + "\n", + "# --- Datasets and evaluation controls ---\n", + "# Use a small subset for testing, e.g., [\"m4_weekly\"]\n", + "datasets_arg = [\"all\"] # list of dataset names or [\"all\"]. \n", + "terms = [\"short\", \"medium\", \"long\"]\n", + "dataset_storage_path = os.getenv(\"GIFT_EVAL_DATASET_STORAGE_PATH\")\n", + "max_windows = 20\n", + "batch_size = 64\n", + "max_context_length = 3072 \n", + "\n", + "# --- Output ---\n", + "after_each_dataset_flush = True # write CSV as each dataset completes\n", + "model_name = \"TempoPFN\"\n", + "download_dir = Path.cwd().parent / \"models\"\n", + "output_dir = Path.cwd().parent / \"gift_eval_results\" / model_name\n", + "\n", + "# --- Helper Functions ---\n", + "\n", + "def download_checkpoint_if_needed(url: str, target_dir: Path, target_filename: str = \"checkpoint.pth\") -> Path:\n", + " \"\"\"Downloads a file from a URL if it doesn't exist.\"\"\"\n", + " try:\n", + " import requests\n", + " except ImportError:\n", + " logger.error(\"requests package not found. Please install it: pip install requests\")\n", + " raise\n", + " \n", + " target_dir.mkdir(parents=True, exist_ok=True)\n", + " target_file_path = target_dir / target_filename\n", + " \n", + " if target_file_path.exists():\n", + " logger.info(f\"Checkpoint already exists: {target_file_path}\")\n", + " return target_file_path\n", + " \n", + " logger.info(f\"Downloading checkpoint from {url} to {target_file_path}...\")\n", + " \n", + " # Handle Dropbox links\n", + " if \"dropbox.com\" in url:\n", + " url = url.replace(\"dl=0\", \"dl=1\").replace(\"st=\", \"dl=1&st=\")\n", + " \n", + " try:\n", + " with requests.get(url, stream=True) as r:\n", + " r.raise_for_status()\n", + " with open(target_file_path, 'wb') as f:\n", + " for chunk in r.iter_content(chunk_size=8192):\n", + " f.write(chunk)\n", + " logger.info(\"Download complete.\")\n", + " return target_file_path\n", + " except Exception as e:\n", + " logger.error(f\"Failed to download checkpoint: {e}\")\n", + " if target_file_path.exists():\n", + " os.remove(target_file_path) # Clean up partial download\n", + " raise\n", + "\n", + "def _load_yaml(path: str) -> dict:\n", + " with open(path, \"r\") as f:\n", + " return yaml.safe_load(f)" + ] + }, + { + "cell_type": "markdown", + "id": "u9v0w1x2", + "metadata": {}, + "source": [ + "## 5. Main Evaluation Loop\n", + "\n", + "This cell sets up the predictor and runs the main evaluation loop over all specified datasets." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "v0w1x2y3", + "metadata": {}, + "outputs": [], + "source": [ + "logger.info(\"Starting evaluation for model: %s\", model_name)\n", + "\n", + "# 1. Build predictor from a checkpoint\n", + "resolved_model_path = None\n", + "if model_path:\n", + " resolved_model_path = model_path\n", + "elif checkpoint_url:\n", + " resolved_model_path = download_checkpoint_if_needed(\n", + " checkpoint_url, \n", + " target_dir=download_dir,\n", + " target_filename=f\"{model_name}_checkpoint.pth\"\n", + " )\n", + "\n", + "if not resolved_model_path or not Path(resolved_model_path).exists():\n", + " raise FileNotFoundError(\n", + " f\"No model checkpoint found. Set `model_path` or `checkpoint_url`. Tried: {resolved_model_path}\"\n", + " )\n", + "\n", + "assert Path(config_path).exists(), f\"Config not found: {config_path}\"\n", + "logger.info(\"Loading predictor from checkpoint: %s\", resolved_model_path)\n", + "\n", + "predictor = TimeSeriesPredictor.from_paths(\n", + " model_path=resolved_model_path,\n", + " config_path=config_path,\n", + " ds_prediction_length=1, # placeholder; set per dataset\n", + " ds_freq=\"D\", # placeholder; set per dataset\n", + " batch_size=batch_size,\n", + " max_context_length=max_context_length,\n", + ")\n", + "\n", + "# 2. Run evaluation loop\n", + "datasets_to_run = expand_datasets_arg(datasets_arg)\n", + "results_root = Path(output_dir)\n", + "\n", + "for ds_name in datasets_to_run:\n", + " try:\n", + " items = evaluate_datasets(\n", + " predictor=predictor,\n", + " dataset=ds_name,\n", + " dataset_storage_path=dataset_storage_path,\n", + " terms=terms,\n", + " max_windows=max_windows,\n", + " batch_size=batch_size,\n", + " max_context_length=max_context_length,\n", + " create_plots=False, # Set to True if you implement plotting\n", + " max_plots_per_dataset=0,\n", + " )\n", + " write_results_to_disk(\n", + " items=items,\n", + " dataset_name=ds_name,\n", + " output_dir=results_root,\n", + " model_name=model_name,\n", + " create_plots=False,\n", + " )\n", + " if after_each_dataset_flush:\n", + " logger.info(\"Flushed results for %s\", ds_name)\n", + " except Exception as e:\n", + " logger.error(f\"FAILED evaluation for dataset: {ds_name}. Error: {e} !!!\")\n", + " logger.exception(e)\n", + " continue # Continue to the next dataset\n", + "\n", + "print(f\"\\nEvaluation complete. See results under: {output_dir}\")" + ] + }, + { + "cell_type": "markdown", + "id": "w1x2y3z4", + "metadata": {}, + "source": [ + "## 6. Aggregate Results\n", + "\n", + "Finally, we'll aggregate the individual CSV files into a single `all_results.csv` file for easy analysis, following the `gift-eval` convention." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "x2y3z4a5", + "metadata": {}, + "outputs": [], + "source": [ + "logger.info(\"Aggregating results from all datasets...\")\n", + "combined_df = aggregate_results(result_root_dir=output_dir)\n", + "\n", + "if combined_df is not None:\n", + " agg_path = Path(output_dir) / \"all_results.csv\"\n", + " logger.info(\"Successfully created aggregated results file: %s\", agg_path)\n", + " print(f\"\\n✅ Aggregated results saved to: {agg_path}\")\n", + " print(combined_df.head())\n", + "else:\n", + " logger.warning(\"No results to aggregate. Check that evaluation completed successfully.\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/quick_start_tempo_pfn.ipynb b/examples/quick_start_tempo_pfn.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..559b3fad57a70b91c52ae49e75b8a1a0d922bf32 --- /dev/null +++ b/examples/quick_start_tempo_pfn.ipynb @@ -0,0 +1,280 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "231c6227", + "metadata": {}, + "source": [ + "# Quick Start: Univariate Quantile Forecasting (CUDA, bfloat16)\n", + "\n", + "This notebook demonstrates how to:\n", + "- Generate synthetic sine wave time series data\n", + "- Pack data into `BatchTimeSeriesContainer`\n", + "- Load a pretrained model (from Dropbox)\n", + "- Run inference with bfloat16 on CUDA\n", + "- Visualize predictions\n" + ] + }, + { + "cell_type": "markdown", + "id": "bb6c5424-1c63-4cb0-a818-45d4199914e5", + "metadata": {}, + "source": [ + "## 1) Setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "612a78e8", + "metadata": {}, + "outputs": [], + "source": [ + "import urllib.request\n", + "import torch\n", + "import numpy as np\n", + "from pathlib import Path\n", + "\n", + "# Ensure CUDA is available\n", + "if not torch.cuda.is_available():\n", + " raise RuntimeError(\"CUDA is required to run this demo. No CUDA device detected.\")\n", + "\n", + "device = torch.device(\"cuda:0\")\n", + "\n", + "# Resolve repository root to be robust to running from subdirectories (e.g., examples/)\n", + "repo_root = Path.cwd()\n", + "if not (repo_root / \"configs\").exists():\n", + " repo_root = repo_root.parent\n", + "\n", + "# Inline plotting\n", + "%matplotlib inline\n" + ] + }, + { + "cell_type": "markdown", + "id": "3facf37d-0a77-4222-8464-6e42182547f8", + "metadata": {}, + "source": [ + "## 2) Define Checkpoint Path" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16dcb883", + "metadata": {}, + "outputs": [], + "source": [ + "CHECKPOINT_DIR = repo_root / \"models\"\n", + "CHECKPOINT_NAME = \"checkpoint_38M.pth\" \n", + "CHECKPOINT_PATH = CHECKPOINT_DIR / CHECKPOINT_NAME\n", + "\n", + "# Ensure the models directory exists\n", + "CHECKPOINT_DIR.mkdir(parents=True, exist_ok=True) \n", + "\n", + "if not CHECKPOINT_PATH.exists():\n", + " print(f\"--- WARNING: Checkpoint not found at: {CHECKPOINT_PATH} ---\")\n", + " print(\"Please ensure 'checkpoint_38M.pth' is in the 'models/' directory.\")\n", + " print(\"If you cloned from Hugging Face, you may need to run 'git lfs pull'.\")\n", + " raise FileNotFoundError(f\"Model checkpoint not found at {CHECKPOINT_PATH}\")\n", + "else:\n", + " print(f\"Using existing checkpoint at {CHECKPOINT_PATH}\")" + ] + }, + { + "cell_type": "markdown", + "id": "9be77e34-0c7a-4056-822f-ed2e3e090c40", + "metadata": {}, + "source": [ + "## 3) Generate synthetic sine wave data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1127526c", + "metadata": {}, + "outputs": [], + "source": [ + "from src.synthetic_generation.generator_params import SineWaveGeneratorParams\n", + "from src.synthetic_generation.sine_waves.sine_wave_generator_wrapper import (\n", + " SineWaveGeneratorWrapper,\n", + ")\n", + "\n", + "batch_size = 3\n", + "total_length = 1024\n", + "seed = 2025\n", + "\n", + "sine_params = SineWaveGeneratorParams(global_seed=seed, length=total_length)\n", + "wrapper = SineWaveGeneratorWrapper(sine_params)\n", + "\n", + "batch = wrapper.generate_batch(batch_size=batch_size, seed=seed)\n", + "values = torch.from_numpy(batch.values).to(torch.float32)\n", + "if values.ndim == 2:\n", + " values = values.unsqueeze(-1) # [B, S, 1]\n", + "\n", + "future_length = 256\n", + "history_values = values[:, :-future_length, :]\n", + "future_values = values[:, -future_length:, :]\n", + "\n", + "print(\"History:\", history_values.shape, \"Future:\", future_values.shape)" + ] + }, + { + "cell_type": "markdown", + "id": "a8844488-e51c-4805-baa9-491bfc67e8ca", + "metadata": {}, + "source": [ + "## 4) Build BatchTimeSeriesContainer" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f3b4d361", + "metadata": {}, + "outputs": [], + "source": [ + "from src.data.containers import BatchTimeSeriesContainer\n", + "\n", + "container = BatchTimeSeriesContainer(\n", + " history_values=history_values.to(device),\n", + " future_values=future_values.to(device),\n", + " start=batch.start,\n", + " frequency=batch.frequency,\n", + ")\n", + "\n", + "container.batch_size, container.history_length, container.future_length" + ] + }, + { + "cell_type": "markdown", + "id": "b5e7e790-a9aa-49c2-9d45-2dc823036883", + "metadata": {}, + "source": [ + "## 5) Load model and run inference" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1dd4e0e4", + "metadata": {}, + "outputs": [], + "source": [ + "import yaml\n", + "from src.models.model import TimeSeriesModel\n", + "\n", + "with open(repo_root / \"configs/example.yaml\", \"r\") as f:\n", + " config = yaml.safe_load(f)\n", + "\n", + "model = TimeSeriesModel(**config[\"TimeSeriesModel\"]).to(device)\n", + "ckpt = torch.load(CHECKPOINT_PATH, map_location=device)\n", + "model.load_state_dict(ckpt[\"model_state_dict\"])\n", + "model.eval()\n", + "\n", + "# bfloat16 autocast on CUDA\n", + "with (\n", + " torch.no_grad(),\n", + " torch.autocast(device_type=\"cuda\", dtype=torch.bfloat16, enabled=True),\n", + "):\n", + " output = model(container)\n", + "\n", + "preds = output[\"result\"].to(torch.float32)\n", + "if hasattr(model, \"scaler\") and \"scale_statistics\" in output:\n", + " preds = model.scaler.inverse_scale(preds, output[\"scale_statistics\"])\n", + "\n", + "preds.shape" + ] + }, + { + "cell_type": "markdown", + "id": "ba16120f-27c8-4462-91cb-c9b3e0630a9d", + "metadata": {}, + "source": [ + "## 6) Plot predictions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9bf02a0b", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "plt.set_loglevel(\"error\")\n", + "\n", + "# preds: [B, P, N, Q] for quantiles (univariate -> N=1)\n", + "preds_np = preds.cpu().numpy()\n", + "\n", + "batch_size = preds_np.shape[0]\n", + "prediction_length = preds_np.shape[1]\n", + "num_quantiles = preds_np.shape[-1]\n", + "\n", + "for i in range(batch_size):\n", + " fig, ax = plt.subplots(figsize=(12, 4))\n", + "\n", + " history = container.history_values[i, :, 0].detach().cpu().numpy()\n", + " future = container.future_values[i, :, 0].detach().cpu().numpy()\n", + "\n", + " # Time axes\n", + " hist_t = np.arange(len(history))\n", + " fut_t = np.arange(len(history), len(history) + len(future))\n", + "\n", + " # Plot history and ground truth future\n", + " ax.plot(hist_t, history, label=\"History\", color=\"black\")\n", + " ax.plot(fut_t, future, label=\"Ground Truth\", color=\"blue\")\n", + "\n", + " # Plot quantiles\n", + " median_idx = num_quantiles // 2\n", + " ax.plot(\n", + " fut_t,\n", + " preds_np[i, :, 0, median_idx],\n", + " label=\"Prediction (Median)\",\n", + " color=\"orange\",\n", + " linestyle=\"--\",\n", + " )\n", + " if num_quantiles >= 3:\n", + " ax.fill_between(\n", + " fut_t,\n", + " preds_np[i, :, 0, 0],\n", + " preds_np[i, :, 0, -1],\n", + " color=\"orange\",\n", + " alpha=0.2,\n", + " label=\"Prediction Interval\",\n", + " )\n", + "\n", + " ax.axvline(x=len(history), color=\"k\", linestyle=\":\", alpha=0.7)\n", + " ax.set_xlabel(\"Time Steps\")\n", + " ax.set_ylabel(\"Value\")\n", + " ax.set.title(f\"Sample {i + 1}\")\n", + " ax.legend()\n", + " ax.grid(True, alpha=0.3)\n", + " plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/quick_start_tempo_pfn.py b/examples/quick_start_tempo_pfn.py new file mode 100644 index 0000000000000000000000000000000000000000..3d601fccc43deef2e803ea41a9c21bbcd6884282 --- /dev/null +++ b/examples/quick_start_tempo_pfn.py @@ -0,0 +1,101 @@ +import argparse +import logging +import os + +import torch + +from examples.utils import ( + load_model, + run_inference_and_plot, +) +from src.data.containers import BatchTimeSeriesContainer +from src.synthetic_generation.generator_params import SineWaveGeneratorParams +from src.synthetic_generation.sine_waves.sine_wave_generator_wrapper import ( + SineWaveGeneratorWrapper, +) + +# Configure logging +logging.basicConfig( + level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" +) +logger = logging.getLogger(__name__) + + +def main(): + """Main execution function.""" + # CLI + parser = argparse.ArgumentParser(description="Quick start demo for TimeSeriesModel") + parser.add_argument( + "--config", + default="configs/example.yaml", + help="Path to model config YAML (default: configs/example.yaml)", + ) + parser.add_argument( + "--checkpoint", + default="models/checkpoint_38M.pth", + help="Path to model checkpoint file (default: models/checkpoint_38M.pth)", + ) + parser.add_argument("--batch_size", type=int, default=3) + parser.add_argument("--total_length", type=int, default=2048) + parser.add_argument("--seed", type=int, default=42) + parser.add_argument("--output_dir", default="outputs") + args = parser.parse_args() + + # Configuration + batch_size = args.batch_size + total_length = args.total_length + output_dir = args.output_dir + seed = args.seed + config_path = args.config + model_path = args.checkpoint + + + # Check if the checkpoint file exists + if not os.path.exists(model_path): + logger.error(f"Checkpoint file not found at: {model_path}") + logger.error( + "Please ensure 'checkpoint_38M.pth' is in the root directory" + " (or that you've cloned the repo with Git LFS)." + ) + logger.error("You can also specify a different path using --checkpoint.") + return # Exit if no model + + logger.info("=== Time Series Model Demo (Univariate Quantile) ===") + + # 1) Generate synthetic sine wave data + sine_params = SineWaveGeneratorParams(global_seed=seed, length=total_length) + sine_generator = SineWaveGeneratorWrapper(sine_params) + batch = sine_generator.generate_batch(batch_size=batch_size, seed=seed) + values = torch.from_numpy(batch.values).to(torch.float32) + if values.ndim == 2: + values = values.unsqueeze(-1) # Ensure [B, S, 1] for univariate + future_length = 256 + history_values = values[:, :-future_length, :] + future_values = values[:, -future_length:, :] + + # 2) Load the pretrained model (CUDA-only). This demo requires a CUDA GPU. + if not torch.cuda.is_available(): + raise RuntimeError( + "CUDA is required to run this demo. No CUDA device detected." + ) + device = torch.device("cuda:0") + model = load_model(config_path=config_path, model_path=model_path, device=device) + + # 3) Pack tensors into the model's input container + container = BatchTimeSeriesContainer( + history_values=history_values.to(device), + future_values=future_values.to(device), + start=batch.start, + frequency=batch.frequency, + ) + + # 4) Run inference (bfloat16 on CUDA) and plot results + run_inference_and_plot( + model=model, container=container, output_dir=output_dir, use_bfloat16=True + ) + + logger.info("=== Demo completed successfully! ===") + + +if __name__ == "__main__": + main() diff --git a/examples/utils.py b/examples/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..898f000d9e7700b6aa3c81ec5bc0064456f7e24e --- /dev/null +++ b/examples/utils.py @@ -0,0 +1,115 @@ +import logging +import os +import urllib.request +from typing import List + +import numpy as np +import torch +import yaml + +from src.data.containers import BatchTimeSeriesContainer +from src.models.model import TimeSeriesModel +from src.plotting.plot_timeseries import plot_from_container + +logger = logging.getLogger(__name__) + + +def load_model( + config_path: str, model_path: str, device: torch.device +) -> TimeSeriesModel: + """Load the TimeSeriesModel from config and checkpoint.""" + with open(config_path, "r") as f: + config = yaml.safe_load(f) + + model = TimeSeriesModel(**config["TimeSeriesModel"]).to(device) + checkpoint = torch.load(model_path, map_location=device) + model.load_state_dict(checkpoint["model_state_dict"]) + model.eval() + logger.info(f"Successfully loaded TimeSeriesModel from {model_path} on {device}") + return model + + +def download_checkpoint_if_needed(url: str, target_dir: str = "models") -> str: + """Download checkpoint from URL into target_dir if not present and return its path. + + Ensures direct download for Dropbox links by forcing dl=1. + """ + os.makedirs(target_dir, exist_ok=True) + target_path = os.path.join(target_dir, "checkpoint.pth") + + # Normalize Dropbox URL to force direct download + if "dropbox.com" in url and "dl=0" in url: + url = url.replace("dl=0", "dl=1") + + if not os.path.exists(target_path): + logger.info(f"Downloading checkpoint from {url} to {target_path}...") + urllib.request.urlretrieve(url, target_path) + logger.info("Checkpoint downloaded successfully.") + else: + logger.info(f"Using existing checkpoint at {target_path}") + + return target_path + + +def plot_with_library( + container: BatchTimeSeriesContainer, + predictions_np: np.ndarray, # [B, P, N, Q] + model_quantiles: List[float] | None, + output_dir: str = "outputs", + show_plots: bool = True, + save_plots: bool = True, +): + os.makedirs(output_dir, exist_ok=True) + batch_size = container.batch_size + for i in range(batch_size): + output_file = ( + os.path.join(output_dir, f"sine_wave_prediction_sample_{i + 1}.png") + if save_plots + else None + ) + plot_from_container( + batch=container, + sample_idx=i, + predicted_values=predictions_np, + model_quantiles=model_quantiles, + title=f"Sine Wave Time Series Prediction - Sample {i + 1}", + output_file=output_file, + show=show_plots, + ) + + +def run_inference_and_plot( + model: TimeSeriesModel, + container: BatchTimeSeriesContainer, + output_dir: str = "outputs", + use_bfloat16: bool = True, +) -> None: + """Run model inference with optional bfloat16 and plot using shared utilities.""" + device_type = "cuda" if (container.history_values.device.type == "cuda") else "cpu" + autocast_enabled = use_bfloat16 and device_type == "cuda" + with ( + torch.no_grad(), + torch.autocast( + device_type=device_type, dtype=torch.bfloat16, enabled=autocast_enabled + ), + ): + model_output = model(container) + + preds_full = model_output["result"].to(torch.float32) + if hasattr(model, "scaler") and "scale_statistics" in model_output: + preds_full = model.scaler.inverse_scale( + preds_full, model_output["scale_statistics"] + ) + + preds_np = preds_full.detach().cpu().numpy() + model_quantiles = ( + model.quantiles if getattr(model, "loss_type", None) == "quantile" else None + ) + plot_with_library( + container=container, + predictions_np=preds_np, + model_quantiles=model_quantiles, + output_dir=output_dir, + show_plots=True, + save_plots=True, + ) diff --git a/gitignore b/gitignore new file mode 100644 index 0000000000000000000000000000000000000000..6b43665e9f6d46ce18ddc6b19df508c90da057b2 --- /dev/null +++ b/gitignore @@ -0,0 +1,167 @@ +logs/ +*.png +*.pth +# *.sh +*.slurm +*.pkl + +wandb/ +AutogluonModels/ +.vscode/ + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# UV +# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +#uv.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/latest/usage/project/#working-with-version-control +.pdm.toml +.pdm-python +.pdm-build/ + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +.idea/ + +# Ruff stuff: +.ruff_cache/ + +# PyPI configuration file +.pypirc + +# Datasets, logs, plots, etc. +outputs/ + +*.arrow +*.csv +*.png +*.pdf +*.gif +.DS_Store \ No newline at end of file diff --git a/models/checkpoint_38M.pth b/models/checkpoint_38M.pth new file mode 100644 index 0000000000000000000000000000000000000000..163bfd388d711a1ffb9bcb0a4099c39e255c8e71 --- /dev/null +++ b/models/checkpoint_38M.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a520c07e6f4dc6583b25a7129251c81eef15f168003766adf6ae4983db7b575b +size 498752361 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000000000000000000000000000000000..5dd7182f382342ac71673b0877f254b38962628f --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,62 @@ +[project] +name = "TempoPFN" +version = "0.1.0" +description = "Univariate Time Series Forecasting Using Linear RNNs" +authors = [ + { name = "Vladyslav Moroshan" }, + { name = "Julien Siems" }, +] +readme = "README.md" +license = { file = "LICENSE" } +requires-python = ">=3.10,<3.13" + +dependencies = [ + "torch>=2.5.0", + "torchmetrics", + "triton==3.2.0", + "numpy", + "pandas", + "matplotlib", + "gpytorch", + "flash-linear-attention @ git+https://github.com/fla-org/flash-linear-attention@main", + "scikit-learn", + "gluonts", + "notebook", + "datasets", + "ujson", +] + +classifiers = [ + "Intended Audience :: Science/Research", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Programming Language :: Python", + "Topic :: Software Development", + "Topic :: Scientific/Engineering", + "Operating System :: POSIX", + "Operating System :: Unix", + "Operating System :: MacOS", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", +] + +[project.optional-dependencies] +dev = [ + "wandb", + "build", + "pre-commit", + "ruff", + "mypy", + "commitizen", + "black", + "cupy-cuda12x", + "statsmodels", + "pyo", # Requires portaudio +] + +[build-system] +requires = ["setuptools>=68.2.2", "wheel>=0.41.2"] +build-backend = "setuptools.build_meta" + +package-dir = {"" = "src"} diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..5a4c41a12b9f81a37c4c28627019b228a68ee3ae --- /dev/null +++ b/requirements.txt @@ -0,0 +1,25 @@ +# 'torch' must be installed separately first, using the command +# from the README.md to match your specific CUDA version. + +torchmetrics +triton==3.2.0 +numpy +pandas +matplotlib +flash-linear-attention @ git+https://github.com/fla-org/flash-linear-attention@main +scikit-learn +gluonts +notebook +datasets +ujson +pyyaml +wandb +build +pre-commit +ruff +mypy +commitizen +black +cupy-cuda12x +statsmodels +pyo # Requires portaudio \ No newline at end of file diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/data/__init__.py b/src/data/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/data/augmentations.py b/src/data/augmentations.py new file mode 100644 index 0000000000000000000000000000000000000000..11250519e5174e544cab6f731f36894c198fb33a --- /dev/null +++ b/src/data/augmentations.py @@ -0,0 +1,1318 @@ +import logging +import math +from collections import Counter +from pathlib import Path +from typing import Dict, List, Optional, Tuple + +import numpy as np +import torch +import torch.nn as nn +from joblib import Parallel, delayed +from torch.quasirandom import SobolEngine +import torch.nn.functional as F + + +from src.gift_eval.data import Dataset + +logger = logging.getLogger(__name__) + + +def find_consecutive_nan_lengths(series: np.ndarray) -> list[int]: + """Finds the lengths of all consecutive NaN blocks in a 1D array.""" + if series.ndim > 1: + # For multivariate series, flatten to treat it as one long sequence + series = series.flatten() + + is_nan = np.isnan(series) + padded_is_nan = np.concatenate(([False], is_nan, [False])) + diffs = np.diff(padded_is_nan.astype(int)) + + start_indices = np.where(diffs == 1)[0] + end_indices = np.where(diffs == -1)[0] + + return (end_indices - start_indices).tolist() + + +def analyze_datasets_for_augmentation(gift_eval_path_str: str) -> dict: + """ + Analyzes all datasets to derive statistics needed for NaN augmentation. + This version collects the full distribution of NaN ratios. + """ + logger.info( + "--- Starting Dataset Analysis for Augmentation (Full Distribution) ---" + ) + path = Path(gift_eval_path_str) + if not path.exists(): + raise FileNotFoundError( + f"Provided raw data path for augmentation analysis does not exist: {gift_eval_path_str}" + ) + + dataset_names = [] + for dataset_dir in path.iterdir(): + if dataset_dir.name.startswith(".") or not dataset_dir.is_dir(): + continue + freq_dirs = [d for d in dataset_dir.iterdir() if d.is_dir()] + if freq_dirs: + for freq_dir in freq_dirs: + dataset_names.append(f"{dataset_dir.name}/{freq_dir.name}") + else: + dataset_names.append(dataset_dir.name) + + total_series_count = 0 + series_with_nans_count = 0 + nan_ratio_distribution = [] + all_consecutive_nan_lengths = Counter() + + for ds_name in sorted(dataset_names): + try: + ds = Dataset(name=ds_name, term="short", to_univariate=False) + for series_data in ds.training_dataset: + total_series_count += 1 + target = np.atleast_1d(series_data["target"]) + num_nans = np.isnan(target).sum() + + if num_nans > 0: + series_with_nans_count += 1 + nan_ratio = num_nans / target.size + nan_ratio_distribution.append(float(nan_ratio)) + + nan_lengths = find_consecutive_nan_lengths(target) + all_consecutive_nan_lengths.update(nan_lengths) + except Exception as e: + logger.warning( + f"Could not process {ds_name} for augmentation analysis: {e}" + ) + + if total_series_count == 0: + raise ValueError( + "No series were found during augmentation analysis. Check dataset path." + ) + + p_series_has_nan = ( + series_with_nans_count / total_series_count if total_series_count > 0 else 0 + ) + + logger.info("--- Augmentation Analysis Complete ---") + # Print summary statistics + logger.info(f"Total series analyzed: {total_series_count}") + logger.info(f"Series with NaNs: {series_with_nans_count} ({p_series_has_nan:.4f})") + logger.info(f"NaN ratio distribution: {Counter(nan_ratio_distribution)}") + logger.info(f"Consecutive NaN lengths distribution: {all_consecutive_nan_lengths}") + logger.info("--- End of Dataset Analysis for Augmentation ---") + return { + "p_series_has_nan": p_series_has_nan, + "nan_ratio_distribution": nan_ratio_distribution, + "nan_length_distribution": all_consecutive_nan_lengths, + } + + +class NanAugmenter: + """ + Applies realistic NaN augmentation by generating and caching NaN patterns on-demand + during the first transform call for a given data shape. + """ + + def __init__( + self, + p_series_has_nan: float, + nan_ratio_distribution: List[float], + nan_length_distribution: Counter, + num_patterns: int = 100000, + n_jobs: int = -1, + nan_patterns_path: Optional[str] = None, + ): + """ + Initializes the augmenter. NaN patterns are not generated at this stage. + + Args: + p_series_has_nan (float): Probability that a series in a batch will be augmented. + nan_ratio_distribution (List[float]): A list of NaN ratios observed in the dataset. + nan_length_distribution (Counter): A Counter of consecutive NaN block lengths. + num_patterns (int): The number of unique NaN patterns to generate per data shape. + n_jobs (int): The number of CPU cores to use for parallel pattern generation (-1 for all cores). + """ + self.p_series_has_nan = p_series_has_nan + self.nan_ratio_distribution = nan_ratio_distribution + self.num_patterns = num_patterns + self.n_jobs = n_jobs + self.max_length = 2048 + self.nan_patterns_path = nan_patterns_path + # Cache to store patterns: Dict[shape_tuple -> pattern_tensor] + self.pattern_cache: Dict[Tuple[int, ...], torch.BoolTensor] = {} + + if not nan_length_distribution or sum(nan_length_distribution.values()) == 0: + self._has_block_distribution = False + logger.warning("NaN length distribution is empty. Augmentation disabled.") + else: + self._has_block_distribution = True + total_blocks = sum(nan_length_distribution.values()) + self.dist_lengths = list(int(i) for i in nan_length_distribution.keys()) + self.dist_probs = [ + count / total_blocks for count in nan_length_distribution.values() + ] + + if not self.nan_ratio_distribution: + logger.warning("NaN ratio distribution is empty. Augmentation disabled.") + + # Try to load existing patterns from disk + self._load_existing_patterns() + + def _load_existing_patterns(self): + """Load existing NaN patterns from disk if they exist.""" + # Determine where to look for patterns + explicit_path: Optional[Path] = ( + Path(self.nan_patterns_path).resolve() + if self.nan_patterns_path is not None + else None + ) + + candidate_files: List[Path] = [] + if explicit_path is not None: + # If the explicit path exists, use it directly + if explicit_path.is_file(): + candidate_files.append(explicit_path) + # Also search the directory of the explicit path for matching files + explicit_dir = explicit_path.parent + explicit_dir.mkdir(exist_ok=True, parents=True) + candidate_files.extend( + list(explicit_dir.glob(f"nan_patterns_{self.max_length}_*.pt")) + ) + else: + # Default to the ./data directory + data_dir = Path("data") + data_dir.mkdir(exist_ok=True) + candidate_files.extend( + list(data_dir.glob(f"nan_patterns_{self.max_length}_*.pt")) + ) + + # De-duplicate candidate files while preserving order + seen: set[str] = set() + unique_candidates: List[Path] = [] + for f in candidate_files: + key = str(f.resolve()) + if key not in seen: + seen.add(key) + unique_candidates.append(f) + + for pattern_file in unique_candidates: + try: + # Extract num_channels from filename + filename = pattern_file.stem + parts = filename.split("_") + if len(parts) >= 4: + num_channels = int(parts[-1]) + + # Load patterns + patterns = torch.load(pattern_file, map_location="cpu") + cache_key = (self.max_length, num_channels) + self.pattern_cache[cache_key] = patterns + + logger.info( + f"Loaded {patterns.shape[0]} patterns for shape {cache_key} from {pattern_file}" + ) + except (ValueError, RuntimeError, FileNotFoundError) as e: + logger.warning(f"Failed to load patterns from {pattern_file}: {e}") + + def _get_pattern_file_path(self, num_channels: int) -> Path: + """Resolve the target file path for storing/loading patterns for a given channel count.""" + # If user provided a file path, use its directory as the base directory + if self.nan_patterns_path is not None: + base_dir = Path(self.nan_patterns_path).resolve().parent + base_dir.mkdir(exist_ok=True, parents=True) + else: + base_dir = Path("data").resolve() + base_dir.mkdir(exist_ok=True, parents=True) + + return base_dir / f"nan_patterns_{self.max_length}_{num_channels}.pt" + + def _generate_nan_mask(self, series_shape: Tuple[int, ...]) -> np.ndarray: + """Generates a single boolean NaN mask for a given series shape.""" + series_size = int(np.prod(series_shape)) + sampled_ratio = np.random.choice(self.nan_ratio_distribution) + n_nans_to_add = int(round(series_size * sampled_ratio)) + + if n_nans_to_add == 0: + return np.zeros(series_shape, dtype=bool) + + mask_flat = np.zeros(series_size, dtype=bool) + nans_added = 0 + max_attempts = n_nans_to_add * 2 + attempts = 0 + while nans_added < n_nans_to_add and attempts < max_attempts: + attempts += 1 + block_length = np.random.choice(self.dist_lengths, p=self.dist_probs) + + if nans_added + block_length > n_nans_to_add: + block_length = n_nans_to_add - nans_added + if block_length <= 0: + break + + nan_counts_in_window = np.convolve( + mask_flat, np.ones(block_length), mode="valid" + ) + valid_starts = np.where(nan_counts_in_window == 0)[0] + + if valid_starts.size == 0: + continue + + start_pos = np.random.choice(valid_starts) + mask_flat[start_pos : start_pos + block_length] = True + nans_added += block_length + + return mask_flat.reshape(series_shape) + + def _pregenerate_patterns(self, series_shape: Tuple[int, ...]) -> torch.BoolTensor: + """Uses joblib to parallelize the generation of NaN masks for a given shape.""" + if not self._has_block_distribution or not self.nan_ratio_distribution: + return torch.empty(0, *series_shape, dtype=torch.bool) + + logger.info( + f"Generating {self.num_patterns} NaN patterns for shape {series_shape}..." + ) + + with Parallel(n_jobs=self.n_jobs, backend="loky") as parallel: + masks_list = parallel( + delayed(self._generate_nan_mask)(series_shape) + for _ in range(self.num_patterns) + ) + + logger.info(f"Pattern generation complete for shape {series_shape}.") + return torch.from_numpy(np.stack(masks_list)).bool() + + def transform(self, time_series_batch: torch.Tensor) -> torch.Tensor: + """ + Applies NaN patterns to a batch, generating them on-demand if the shape is new. + """ + if self.p_series_has_nan == 0: + return time_series_batch + + history_length, num_channels = time_series_batch.shape[1:] + assert history_length <= self.max_length, ( + f"History length {history_length} exceeds maximum allowed {self.max_length}." + ) + + # 1. Check cache and generate patterns if the shape is new + if ( + self.max_length, + num_channels, + ) not in self.pattern_cache: + # Try loading from a resolved file path if available + target_file = self._get_pattern_file_path(num_channels) + if target_file.exists(): + try: + patterns = torch.load(target_file, map_location="cpu") + self.pattern_cache[(self.max_length, num_channels)] = patterns + logger.info( + f"Loaded NaN patterns from {target_file} for shape {(self.max_length, num_channels)}" + ) + except (RuntimeError, FileNotFoundError): + # Fall back to generating if loading fails + patterns = self._pregenerate_patterns( + (self.max_length, num_channels) + ) + torch.save(patterns, target_file) + self.pattern_cache[(self.max_length, num_channels)] = patterns + logger.info( + f"Generated and saved {patterns.shape[0]} NaN patterns to {target_file}" + ) + else: + patterns = self._pregenerate_patterns((self.max_length, num_channels)) + torch.save(patterns, target_file) + self.pattern_cache[(self.max_length, num_channels)] = patterns + logger.info( + f"Generated and saved {patterns.shape[0]} NaN patterns to {target_file}" + ) + patterns = self.pattern_cache[(self.max_length, num_channels)][ + :, :history_length, : + ] + + # Early exit if patterns are empty (e.g., generation failed or was disabled) + if patterns.numel() == 0: + return time_series_batch + + batch_size = time_series_batch.shape[0] + device = time_series_batch.device + + # 2. Vectorized decision on which series to augment + augment_mask = torch.rand(batch_size, device=device) < self.p_series_has_nan + indices_to_augment = torch.where(augment_mask)[0] + num_to_augment = indices_to_augment.numel() + + if num_to_augment == 0: + return time_series_batch + + # 3. Randomly sample patterns for each series being augmented + pattern_indices = torch.randint( + 0, patterns.shape[0], (num_to_augment,), device=device + ) + # 4. Select patterns and apply them in a single vectorized operation + selected_patterns = patterns[pattern_indices].to(device) + + time_series_batch[indices_to_augment] = time_series_batch[ + indices_to_augment + ].masked_fill(selected_patterns, float("nan")) + + return time_series_batch + + +class CensorAugmenter: + """ + Applies censor augmentation by clipping values from above, below, or both. + """ + + def __init__(self): + """Initializes the CensorAugmenter.""" + pass + + def transform(self, time_series_batch: torch.Tensor) -> torch.Tensor: + """ + Applies a vectorized censor augmentation to a batch of time series. + """ + batch_size, seq_len, num_channels = time_series_batch.shape + assert num_channels == 1 + time_series_batch = time_series_batch.squeeze(-1) + with torch.no_grad(): + batch_size, seq_len = time_series_batch.shape + device = time_series_batch.device + + # Step 1: Choose an op mode for each series + op_mode = torch.randint(0, 3, (batch_size, 1), device=device) + + # Step 2: Calculate potential thresholds for all series + q1 = torch.rand(batch_size, device=device) + q2 = torch.rand(batch_size, device=device) + q_low = torch.minimum(q1, q2) + q_high = torch.maximum(q1, q2) + + sorted_series = torch.sort(time_series_batch, dim=1).values + indices_low = (q_low * (seq_len - 1)).long() + indices_high = (q_high * (seq_len - 1)).long() + + c_low = torch.gather(sorted_series, 1, indices_low.unsqueeze(1)) + c_high = torch.gather(sorted_series, 1, indices_high.unsqueeze(1)) + + # Step 3: Compute results for all possible clipping operations + clip_above = torch.minimum(time_series_batch, c_high) + clip_below = torch.maximum(time_series_batch, c_low) + + # Step 4: Select the final result based on the op_mode + result = torch.where( + op_mode == 1, + clip_above, + torch.where(op_mode == 2, clip_below, time_series_batch), + ) + augmented_batch = torch.where( + op_mode == 0, + time_series_batch, + result, + ) + + return augmented_batch.unsqueeze(-1) + + +class QuantizationAugmenter: + """ + Applies non-equidistant quantization using a Sobol sequence to generate + uniformly distributed levels. This implementation is fully vectorized. + """ + + def __init__( + self, + p_quantize: float, + level_range: Tuple[int, int], + seed: Optional[int] = None, + ): + """ + Initializes the augmenter. + + Args: + p_quantize (float): Probability of applying quantization to a series. + level_range (Tuple[int, int]): Inclusive range [min, max] to sample the + number of quantization levels from. + seed (Optional[int]): Seed for the Sobol sequence generator for reproducibility. + """ + assert 0.0 <= p_quantize <= 1.0, "Probability must be between 0 and 1." + assert level_range[0] >= 2, "Minimum number of levels must be at least 2." + assert level_range[0] <= level_range[1], ( + "Min levels cannot be greater than max." + ) + + self.p_quantize = p_quantize + self.level_range = level_range + + # Initialize a SobolEngine. The dimension is the max number of random + # levels we might need to generate for a single series. + max_intermediate_levels = self.level_range[1] - 2 + if max_intermediate_levels > 0: + # SobolEngine must be created on CPU + self.sobol_engine = SobolEngine( + dimension=max_intermediate_levels, scramble=True, seed=seed + ) + else: + self.sobol_engine = None + + def transform(self, time_series_batch: torch.Tensor) -> torch.Tensor: + """ + Applies augmentation in a fully vectorized way on the batch's device. + Handles input shape (batch, length, 1). + """ + # Handle input shape (batch, length, 1) + if time_series_batch.dim() == 3 and time_series_batch.shape[2] == 1: + is_3d = True + time_series_squeezed = time_series_batch.squeeze(-1) + else: + is_3d = False + time_series_squeezed = time_series_batch + + if self.p_quantize == 0 or self.sobol_engine is None: + return time_series_batch + + n_series, _ = time_series_squeezed.shape + device = time_series_squeezed.device + + # 1. Decide which series to augment + augment_mask = torch.rand(n_series, device=device) < self.p_quantize + n_augment = torch.sum(augment_mask) + if n_augment == 0: + return time_series_batch + + series_to_augment = time_series_squeezed[augment_mask] + + # 2. Determine a variable n_levels for EACH series + min_l, max_l = self.level_range + n_levels_per_series = torch.randint( + min_l, max_l + 1, size=(n_augment,), device=device + ) + max_levels_in_batch = n_levels_per_series.max().item() + + # 3. Find min/max for each series + min_vals = torch.amin(series_to_augment, dim=1, keepdim=True) + max_vals = torch.amax(series_to_augment, dim=1, keepdim=True) + value_range = max_vals - min_vals + is_flat = value_range == 0 + + # 4. Generate quasi-random levels using the Sobol sequence + num_intermediate_levels = max_levels_in_batch - 2 + if num_intermediate_levels > 0: + # Draw points from the Sobol engine (on CPU) and move to target device + sobol_points = self.sobol_engine.draw(n_augment).to(device) + # We only need the first `num_intermediate_levels` dimensions + quasi_rand_points = sobol_points[:, :num_intermediate_levels] + else: + # Handle case where max_levels_in_batch is 2 (no intermediate points needed) + quasi_rand_points = torch.empty(n_augment, 0, device=device) + + scaled_quasi_rand_levels = min_vals + value_range * quasi_rand_points + level_values = torch.cat([min_vals, max_vals, scaled_quasi_rand_levels], dim=1) + level_values, _ = torch.sort(level_values, dim=1) + + # 5. Find the closest level using a mask to ignore padded values + series_expanded = series_to_augment.unsqueeze(2) + levels_expanded = level_values.unsqueeze(1) + diff = torch.abs(series_expanded - levels_expanded) + + arange_mask = torch.arange(max_levels_in_batch, device=device).unsqueeze(0) + valid_levels_mask = arange_mask < n_levels_per_series.unsqueeze(1) + masked_diff = torch.where(valid_levels_mask.unsqueeze(1), diff, float("inf")) + closest_level_indices = torch.argmin(masked_diff, dim=2) + + # 6. Gather the results from the original level values + quantized_subset = torch.gather(level_values, 1, closest_level_indices) + + # 7. For flat series, revert to their original values + final_subset = torch.where(is_flat, series_to_augment, quantized_subset) + + # 8. Place augmented data back into a copy of the original batch + augmented_batch_squeezed = time_series_squeezed.clone() + augmented_batch_squeezed[augment_mask] = final_subset + + # Restore original shape before returning + if is_3d: + return augmented_batch_squeezed.unsqueeze(-1) + else: + return augmented_batch_squeezed + + +class MixUpAugmenter: + """ + Applies mixup augmentation by creating a weighted average of multiple time series. + + This version includes an option for time-dependent mixup using Simplex Path + Interpolation, creating a smooth transition between different mixing weights. + """ + + def __init__( + self, + max_n_series_to_combine: int = 10, + p_combine: float = 0.4, + p_time_dependent: float = 0.5, + randomize_k_per_series: bool = True, + dirichlet_alpha_range: Tuple[float, float] = (0.1, 5.0), + ): + """ + Initializes the augmenter. + + Args: + max_n_series_to_combine (int): The maximum number of series to combine. + The actual number k will be sampled from [2, max]. + p_combine (float): The probability of replacing a series with a combination. + p_time_dependent (float): The probability of using the time-dependent + simplex path method for a given mixup operation. Defaults to 0.5. + randomize_k_per_series (bool): If True, each augmented series will be a + combination of a different number of series (k). + If False, one k is chosen for the whole batch. + dirichlet_alpha_range (Tuple[float, float]): The [min, max] range to sample the + Dirichlet 'alpha' from. A smaller alpha (e.g., 0.2) creates mixes + dominated by one series. A larger alpha (e.g., 5.0) creates + more uniform weights. + """ + assert max_n_series_to_combine >= 2, "Must combine at least 2 series." + assert 0.0 <= p_combine <= 1.0, "p_combine must be between 0 and 1." + assert 0.0 <= p_time_dependent <= 1.0, ( + "p_time_dependent must be between 0 and 1." + ) + assert ( + dirichlet_alpha_range[0] > 0 + and dirichlet_alpha_range[0] <= dirichlet_alpha_range[1] + ) + self.max_k = max_n_series_to_combine + self.p_combine = p_combine + self.p_time_dependent = p_time_dependent + self.randomize_k = randomize_k_per_series + self.alpha_range = dirichlet_alpha_range + + def _sample_alpha(self) -> float: + log_alpha_min = math.log10(self.alpha_range[0]) + log_alpha_max = math.log10(self.alpha_range[1]) + log_alpha = log_alpha_min + np.random.rand() * (log_alpha_max - log_alpha_min) + return float(10**log_alpha) + + def _sample_k(self) -> int: + return int(torch.randint(2, self.max_k + 1, (1,)).item()) + + def _static_mix( + self, + source_series: torch.Tensor, + alpha: float, + return_weights: bool = False, + ): + """Mixes k source series using a single, static set of Dirichlet weights.""" + k = int(source_series.shape[0]) + device = source_series.device + concentration = torch.full((k,), float(alpha), device=device) + weights = torch.distributions.Dirichlet(concentration).sample() + weights_view = weights.view(k, 1, 1) + mixed_series = (source_series * weights_view).sum(dim=0, keepdim=True) + if return_weights: + return mixed_series, weights + return mixed_series + + def _simplex_path_mix( + self, + source_series: torch.Tensor, + alpha: float, + return_weights: bool = False, + ): + """Mixes k series using time-varying weights interpolated along a simplex path.""" + k, length, _ = source_series.shape + device = source_series.device + + # 1. Sample two endpoint weight vectors from the Dirichlet distribution + concentration = torch.full((k,), float(alpha), device=device) + dirichlet_dist = torch.distributions.Dirichlet(concentration) + w_start = dirichlet_dist.sample() + w_end = dirichlet_dist.sample() + + # 2. Create a linear ramp from 0 to 1 + alpha_ramp = torch.linspace(0, 1, length, device=device) + + # 3. Interpolate between the endpoint weights over time + # Reshape for broadcasting: w vectors become [k, 1], ramp becomes [1, length] + time_varying_weights = w_start.unsqueeze(1) * ( + 1 - alpha_ramp.unsqueeze(0) + ) + w_end.unsqueeze(1) * alpha_ramp.unsqueeze(0) + # The result `time_varying_weights` has shape [k, length] + + # 4. Apply the time-varying weights + weights_view = time_varying_weights.unsqueeze(-1) # Shape: [k, length, 1] + mixed_series = (source_series * weights_view).sum(dim=0, keepdim=True) + + if return_weights: + return mixed_series, time_varying_weights + return mixed_series + + def transform( + self, time_series_batch: torch.Tensor, return_debug_info: bool = False + ): + """ + Applies the mixup augmentation, randomly choosing between static and + time-dependent mixing methods. + """ + with torch.no_grad(): + if self.p_combine == 0: + return ( + (time_series_batch, {}) if return_debug_info else time_series_batch + ) + + batch_size, _, _ = time_series_batch.shape + device = time_series_batch.device + + if batch_size <= self.max_k: + return ( + (time_series_batch, {}) if return_debug_info else time_series_batch + ) + + # 1. Decide which series to replace + augment_mask = torch.rand(batch_size, device=device) < self.p_combine + indices_to_replace = torch.where(augment_mask)[0] + n_augment = indices_to_replace.numel() + + if n_augment == 0: + return ( + (time_series_batch, {}) if return_debug_info else time_series_batch + ) + + # 2. Determine k for each series to augment + if self.randomize_k: + k_values = torch.randint(2, self.max_k + 1, (n_augment,), device=device) + else: + k = self._sample_k() + k_values = torch.full((n_augment,), k, device=device) + + # 3. Augment series one by one + new_series_list = [] + all_batch_indices = torch.arange(batch_size, device=device) + debug_info = {} + + for i, target_idx in enumerate(indices_to_replace): + current_k = k_values[i].item() + + # Sample source indices + candidate_mask = all_batch_indices != target_idx + candidates = all_batch_indices[candidate_mask] + perm = torch.randperm(candidates.shape[0], device=device) + source_indices = candidates[perm[:current_k]] + source_series = time_series_batch[source_indices] + + alpha = self._sample_alpha() + mix_type = "static" + + # Randomly choose between static and time-dependent mixup + if torch.rand(1).item() < self.p_time_dependent: + mixed_series, weights = self._simplex_path_mix( + source_series, alpha=alpha, return_weights=True + ) + mix_type = "simplex" + else: + mixed_series, weights = self._static_mix( + source_series, alpha=alpha, return_weights=True + ) + + new_series_list.append(mixed_series) + + if return_debug_info: + debug_info[target_idx.item()] = { + "source_indices": source_indices.cpu().numpy(), + "weights": weights.cpu().numpy(), + "alpha": alpha, + "k": current_k, + "mix_type": mix_type, + } + + # 4. Place augmented series back into a clone of the original batch + augmented_batch = time_series_batch.clone() + if new_series_list: + new_series_tensor = torch.cat(new_series_list, dim=0) + augmented_batch[indices_to_replace] = new_series_tensor + + if return_debug_info: + return augmented_batch.detach(), debug_info + return augmented_batch.detach() + + +class TimeFlipAugmenter: + """ + Applies time-reversal augmentation to a random subset of time series in a batch. + """ + + def __init__(self, p_flip: float = 0.5): + """ + Initializes the TimeFlipAugmenter. + + Args: + p_flip (float): The probability of flipping a single time series in the batch. + Defaults to 0.5. + """ + assert 0.0 <= p_flip <= 1.0, "Probability must be between 0 and 1." + self.p_flip = p_flip + + def transform(self, time_series_batch: torch.Tensor) -> torch.Tensor: + """ + Applies time-reversal augmentation to a batch of time series. + + Args: + time_series_batch (torch.Tensor): The input batch of time series with + shape (batch_size, seq_len, num_channels). + + Returns: + torch.Tensor: The batch with some series potentially flipped. + """ + with torch.no_grad(): + if self.p_flip == 0: + return time_series_batch + + batch_size = time_series_batch.shape[0] + device = time_series_batch.device + + # 1. Decide which series in the batch to flip + flip_mask = torch.rand(batch_size, device=device) < self.p_flip + indices_to_flip = torch.where(flip_mask)[0] + + if indices_to_flip.numel() == 0: + return time_series_batch + + # 2. Select the series to be flipped + series_to_flip = time_series_batch[indices_to_flip] + + # 3. Flip them along the time dimension (dim=1) + flipped_series = torch.flip(series_to_flip, dims=[1]) + + # 4. Create a copy of the batch and place the flipped series into it + augmented_batch = time_series_batch.clone() + augmented_batch[indices_to_flip] = flipped_series + + return augmented_batch + + +class YFlipAugmenter: + """ + Applies y-reversal augmentation to a random subset of time series in a batch. + """ + + def __init__(self, p_flip: float = 0.5): + """ + Initializes the TimeFlipAugmenter. + + Args: + p_flip (float): The probability of flipping a single time series in the batch. + Defaults to 0.5. + """ + assert 0.0 <= p_flip <= 1.0, "Probability must be between 0 and 1." + self.p_flip = p_flip + + def transform(self, time_series_batch: torch.Tensor) -> torch.Tensor: + """ + Applies time-reversal augmentation to a batch of time series. + + Args: + time_series_batch (torch.Tensor): The input batch of time series with + shape (batch_size, seq_len, num_channels). + + Returns: + torch.Tensor: The batch with some series potentially flipped. + """ + with torch.no_grad(): + if self.p_flip == 0: + return time_series_batch + + batch_size = time_series_batch.shape[0] + device = time_series_batch.device + + # 1. Decide which series in the batch to flip + flip_mask = torch.rand(batch_size, device=device) < self.p_flip + indices_to_flip = torch.where(flip_mask)[0] + + if indices_to_flip.numel() == 0: + return time_series_batch + + # 2. Select the series to be flipped + series_to_flip = time_series_batch[indices_to_flip] + + # 3. Flip them along the time dimension (dim=1) + flipped_series = -series_to_flip + + # 4. Create a copy of the batch and place the flipped series into it + augmented_batch = time_series_batch.clone() + augmented_batch[indices_to_flip] = flipped_series + + return augmented_batch + + +class DifferentialAugmenter: + """ + Applies calculus-inspired augmentations. This version includes up to the + fourth derivative and uses nn.Conv1d with built-in 'reflect' padding for + cleaner and more efficient convolutions. + + The Gaussian kernel size and sigma for the initial smoothing are randomly + sampled at every transform() call from user-defined ranges. + """ + + def __init__( + self, + p_transform: float, + gaussian_kernel_size_range: Tuple[int, int] = (5, 51), + gaussian_sigma_range: Tuple[float, float] = (2.0, 20.0), + ): + """ + Initializes the augmenter. + + Args: + p_transform (float): The probability of applying an augmentation to any given + time series in a batch. + gaussian_kernel_size_range (Tuple[int, int]): The [min, max] inclusive range + for the Gaussian kernel size. + Sizes will be forced to be odd. + gaussian_sigma_range (Tuple[float, float]): The [min, max] inclusive range + for the Gaussian sigma. + """ + self.p_transform = p_transform + self.kernel_size_range = gaussian_kernel_size_range + self.sigma_range = gaussian_sigma_range + + # Validate ranges + if not ( + self.kernel_size_range[0] <= self.kernel_size_range[1] + and self.kernel_size_range[0] >= 3 + ): + raise ValueError( + "Invalid kernel size range. Ensure min <= max and min >= 3." + ) + if not (self.sigma_range[0] <= self.sigma_range[1] and self.sigma_range[0] > 0): + raise ValueError("Invalid sigma range. Ensure min <= max and min > 0.") + + # Cache for fixed-kernel convolution layers (Sobel, Laplace, etc.) + self.conv_cache: Dict[Tuple[int, torch.device], Dict[str, nn.Module]] = {} + + def _create_fixed_kernel_layers( + self, num_channels: int, device: torch.device + ) -> dict: + """ + Creates and configures nn.Conv1d layers for fixed-kernel derivative operations. + These layers are cached to improve performance. + """ + sobel_conv = nn.Conv1d( + in_channels=num_channels, + out_channels=num_channels, + kernel_size=3, + padding="same", + padding_mode="reflect", + groups=num_channels, + bias=False, + device=device, + ) + laplace_conv = nn.Conv1d( + in_channels=num_channels, + out_channels=num_channels, + kernel_size=3, + padding="same", + padding_mode="reflect", + groups=num_channels, + bias=False, + device=device, + ) + d3_conv = nn.Conv1d( + in_channels=num_channels, + out_channels=num_channels, + kernel_size=5, + padding="same", + padding_mode="reflect", + groups=num_channels, + bias=False, + device=device, + ) + d4_conv = nn.Conv1d( + in_channels=num_channels, + out_channels=num_channels, + kernel_size=5, + padding="same", + padding_mode="reflect", + groups=num_channels, + bias=False, + device=device, + ) + + sobel_kernel = ( + torch.tensor([-1, 0, 1], device=device, dtype=torch.float32) + .view(1, 1, -1) + .repeat(num_channels, 1, 1) + ) + laplace_kernel = ( + torch.tensor([1, -2, 1], device=device, dtype=torch.float32) + .view(1, 1, -1) + .repeat(num_channels, 1, 1) + ) + d3_kernel = ( + torch.tensor([-1, 2, 0, -2, 1], device=device, dtype=torch.float32) + .view(1, 1, -1) + .repeat(num_channels, 1, 1) + ) + d4_kernel = ( + torch.tensor([1, -4, 6, -4, 1], device=device, dtype=torch.float32) + .view(1, 1, -1) + .repeat(num_channels, 1, 1) + ) + + sobel_conv.weight.data = sobel_kernel + laplace_conv.weight.data = laplace_kernel + d3_conv.weight.data = d3_kernel + d4_conv.weight.data = d4_kernel + + for layer in [sobel_conv, laplace_conv, d3_conv, d4_conv]: + layer.weight.requires_grad = False + + return { + "sobel": sobel_conv, + "laplace": laplace_conv, + "d3": d3_conv, + "d4": d4_conv, + } + + def _create_gaussian_layer( + self, kernel_size: int, sigma: float, num_channels: int, device: torch.device + ) -> nn.Module: + """Creates a single Gaussian convolution layer with the given dynamic parameters.""" + gauss_conv = nn.Conv1d( + in_channels=num_channels, + out_channels=num_channels, + kernel_size=kernel_size, + padding="same", + padding_mode="reflect", + groups=num_channels, + bias=False, + device=device, + ) + ax = torch.arange( + -(kernel_size // 2), + kernel_size // 2 + 1, + device=device, + dtype=torch.float32, + ) + gauss_kernel = torch.exp(-0.5 * (ax / sigma) ** 2) + gauss_kernel /= gauss_kernel.sum() + gauss_kernel = gauss_kernel.view(1, 1, -1).repeat(num_channels, 1, 1) + gauss_conv.weight.data = gauss_kernel + gauss_conv.weight.requires_grad = False + return gauss_conv + + def _rescale_signal( + self, processed_signal: torch.Tensor, original_signal: torch.Tensor + ) -> torch.Tensor: + """Rescales the processed signal to match the min/max range of the original.""" + original_min = torch.amin(original_signal, dim=2, keepdim=True) + original_max = torch.amax(original_signal, dim=2, keepdim=True) + processed_min = torch.amin(processed_signal, dim=2, keepdim=True) + processed_max = torch.amax(processed_signal, dim=2, keepdim=True) + + original_range = original_max - original_min + processed_range = processed_max - processed_min + epsilon = 1e-8 + rescaled_signal = ( + (processed_signal - processed_min) / (processed_range + epsilon) + ) * original_range + original_min + return torch.where(original_range < epsilon, original_signal, rescaled_signal) + + def transform(self, time_series_batch: torch.Tensor) -> torch.Tensor: + """Applies a random augmentation to a subset of the batch.""" + with torch.no_grad(): + if self.p_transform == 0: + return time_series_batch + + batch_size, seq_len, num_channels = time_series_batch.shape + device = time_series_batch.device + + augment_mask = torch.rand(batch_size, device=device) < self.p_transform + indices_to_augment = torch.where(augment_mask)[0] + num_to_augment = indices_to_augment.numel() + + if num_to_augment == 0: + return time_series_batch + + # --- 🎲 Randomly sample Gaussian parameters for this call --- + min_k, max_k = self.kernel_size_range + kernel_size = torch.randint(min_k, max_k + 1, (1,)).item() + kernel_size = kernel_size // 2 * 2 + 1 # Ensure kernel size is odd + + min_s, max_s = self.sigma_range + sigma = (min_s + (max_s - min_s) * torch.rand(1)).item() + + # --- Get/Create Convolution Layers --- + gauss_conv = self._create_gaussian_layer( + kernel_size, sigma, num_channels, device + ) + + cache_key = (num_channels, device) + if cache_key not in self.conv_cache: + self.conv_cache[cache_key] = self._create_fixed_kernel_layers( + num_channels, device + ) + fixed_layers = self.conv_cache[cache_key] + + # --- Apply Augmentations --- + subset_to_augment = time_series_batch[indices_to_augment] + subset_permuted = subset_to_augment.permute(0, 2, 1) + + op_choices = torch.randint(0, 6, (num_to_augment,), device=device) + + smoothed_subset = gauss_conv(subset_permuted) + sobel_on_smoothed = fixed_layers["sobel"](smoothed_subset) + laplace_on_smoothed = fixed_layers["laplace"](smoothed_subset) + d3_on_smoothed = fixed_layers["d3"](smoothed_subset) + d4_on_smoothed = fixed_layers["d4"](smoothed_subset) + + gauss_result = self._rescale_signal(smoothed_subset, subset_permuted) + sobel_result = self._rescale_signal(sobel_on_smoothed, subset_permuted) + laplace_result = self._rescale_signal(laplace_on_smoothed, subset_permuted) + d3_result = self._rescale_signal(d3_on_smoothed, subset_permuted) + d4_result = self._rescale_signal(d4_on_smoothed, subset_permuted) + + use_right_integral = torch.rand(num_to_augment, 1, 1, device=device) > 0.5 + flipped_subset = torch.flip(subset_permuted, dims=[2]) + right_integral = torch.flip(torch.cumsum(flipped_subset, dim=2), dims=[2]) + left_integral = torch.cumsum(subset_permuted, dim=2) + integral_result = torch.where( + use_right_integral, right_integral, left_integral + ) + integral_result_normalized = self._rescale_signal( + integral_result, subset_permuted + ) + + # --- Assemble the results based on op_choices --- + op_choices_view = op_choices.view(-1, 1, 1) + augmented_subset = torch.where( + op_choices_view == 0, gauss_result, subset_permuted + ) + augmented_subset = torch.where( + op_choices_view == 1, sobel_result, augmented_subset + ) + augmented_subset = torch.where( + op_choices_view == 2, laplace_result, augmented_subset + ) + augmented_subset = torch.where( + op_choices_view == 3, integral_result_normalized, augmented_subset + ) + augmented_subset = torch.where( + op_choices_view == 4, d3_result, augmented_subset + ) + augmented_subset = torch.where( + op_choices_view == 5, d4_result, augmented_subset + ) + + augmented_subset_final = augmented_subset.permute(0, 2, 1) + augmented_batch = time_series_batch.clone() + augmented_batch[indices_to_augment] = augmented_subset_final + + return augmented_batch + + +class RandomConvAugmenter: + """ + Applies a stack of 1-to-N random 1D convolutions to a time series batch. + + This augmenter is inspired by the principles of ROCKET and RandConv, + randomizing nearly every aspect of the convolution process to create a + highly diverse set of transformations. This version includes multiple + kernel generation strategies, random padding modes, and optional non-linearities. + """ + + def __init__( + self, + p_transform: float = 0.5, + kernel_size_range: Tuple[int, int] = (3, 31), + dilation_range: Tuple[int, int] = (1, 8), + layer_range: Tuple[int, int] = (1, 3), + sigma_range: Tuple[float, float] = (0.5, 5.0), + bias_range: Tuple[float, float] = (-0.5, 0.5), + ): + """ + Initializes the augmenter. + + Args: + p_transform (float): Probability of applying the augmentation to a series. + kernel_size_range (Tuple[int, int]): [min, max] range for kernel sizes. + Must be odd numbers. + dilation_range (Tuple[int, int]): [min, max] range for dilation factors. + layer_range (Tuple[int, int]): [min, max] range for the number of + stacked convolution layers. + sigma_range (Tuple[float, float]): [min, max] range for the sigma of + Gaussian kernels. + bias_range (Tuple[float, float]): [min, max] range for the bias term. + """ + assert kernel_size_range[0] % 2 == 1 and kernel_size_range[1] % 2 == 1, ( + "Kernel sizes must be odd." + ) + + self.p_transform = p_transform + self.kernel_size_range = kernel_size_range + self.dilation_range = dilation_range + self.layer_range = layer_range + self.sigma_range = sigma_range + self.bias_range = bias_range + self.padding_modes = ["reflect", "replicate", "circular"] + + def _rescale_signal( + self, processed_signal: torch.Tensor, original_signal: torch.Tensor + ) -> torch.Tensor: + """Rescales the processed signal to match the min/max range of the original.""" + original_min = torch.amin(original_signal, dim=-1, keepdim=True) + original_max = torch.amax(original_signal, dim=-1, keepdim=True) + processed_min = torch.amin(processed_signal, dim=-1, keepdim=True) + processed_max = torch.amax(processed_signal, dim=-1, keepdim=True) + + original_range = original_max - original_min + processed_range = processed_max - processed_min + epsilon = 1e-8 + + is_flat = processed_range < epsilon + + rescaled_signal = ( + (processed_signal - processed_min) / (processed_range + epsilon) + ) * original_range + original_min + + original_mean = torch.mean(original_signal, dim=-1, keepdim=True) + flat_rescaled = original_mean.expand_as(original_signal) + + return torch.where(is_flat, flat_rescaled, rescaled_signal) + + def _apply_random_conv_stack(self, series: torch.Tensor) -> torch.Tensor: + """ + Applies a randomly configured stack of convolutions to a single time series. + + Args: + series (torch.Tensor): A single time series of shape (1, num_channels, seq_len). + + Returns: + torch.Tensor: The augmented time series. + """ + num_channels = series.shape[1] + device = series.device + + num_layers = torch.randint( + self.layer_range[0], self.layer_range[1] + 1, (1,) + ).item() + + processed_series = series + for i in range(num_layers): + # 1. Sample kernel size + k_min, k_max = self.kernel_size_range + kernel_size = torch.randint(k_min // 2, k_max // 2 + 1, (1,)).item() * 2 + 1 + + # 2. Sample dilation + d_min, d_max = self.dilation_range + dilation = torch.randint(d_min, d_max + 1, (1,)).item() + + # 3. Sample bias + b_min, b_max = self.bias_range + bias_val = (b_min + (b_max - b_min) * torch.rand(1)).item() + + # 4. Sample padding mode + padding_mode = np.random.choice(self.padding_modes) + + conv_layer = nn.Conv1d( + in_channels=num_channels, + out_channels=num_channels, + kernel_size=kernel_size, + dilation=dilation, + padding="same", # Let PyTorch handle padding calculation + padding_mode=padding_mode, + groups=num_channels, + bias=True, + device=device, + ) + + # 5. Sample kernel weights from a wider variety of types + weight_type = torch.randint(0, 4, (1,)).item() + if weight_type == 0: # Gaussian kernel + s_min, s_max = self.sigma_range + sigma = (s_min + (s_max - s_min) * torch.rand(1)).item() + ax = torch.arange( + -(kernel_size // 2), + kernel_size // 2 + 1, + device=device, + dtype=torch.float32, + ) + kernel = torch.exp(-0.5 * (ax / sigma) ** 2) + elif weight_type == 1: # Standard normal kernel + kernel = torch.randn(kernel_size, device=device) + elif weight_type == 2: # Polynomial kernel + coeffs = torch.randn(3, device=device) # a, b, c for ax^2+bx+c + x_vals = torch.linspace(-1, 1, kernel_size, device=device) + kernel = coeffs[0] * x_vals**2 + coeffs[1] * x_vals + coeffs[2] + else: # Noisy Sobel kernel + # Ensure kernel is large enough for a Sobel filter + actual_kernel_size = 3 if kernel_size < 3 else kernel_size + sobel_base = torch.tensor( + [-1, 0, 1], dtype=torch.float32, device=device + ) + noise = torch.randn(3, device=device) * 0.1 + noisy_sobel = sobel_base + noise + # Pad if the random kernel size is larger than 3 + pad_total = actual_kernel_size - 3 + pad_left = pad_total // 2 + pad_right = pad_total - pad_left + kernel = F.pad(noisy_sobel, (pad_left, pad_right), "constant", 0) + + # 6. Probabilistic normalization + if torch.rand(1).item() < 0.8: # 80% chance to normalize + kernel /= torch.sum(torch.abs(kernel)) + 1e-8 + + kernel = kernel.view(1, 1, -1).repeat(num_channels, 1, 1) + + conv_layer.weight.data = kernel + conv_layer.bias.data.fill_(bias_val) + conv_layer.weight.requires_grad = False + conv_layer.bias.requires_grad = False + + # Apply convolution + processed_series = conv_layer(processed_series) + + # 7. Optional non-linearity (not on the last layer) + if i < num_layers - 1: + activation_type = torch.randint(0, 3, (1,)).item() + if activation_type == 1: + processed_series = F.relu(processed_series) + elif activation_type == 2: + processed_series = torch.tanh(processed_series) + # if 0, do nothing (linear) + + return processed_series + + def transform(self, time_series_batch: torch.Tensor) -> torch.Tensor: + """Applies a random augmentation to a subset of the batch.""" + with torch.no_grad(): + if self.p_transform == 0: + return time_series_batch + + batch_size, seq_len, num_channels = time_series_batch.shape + device = time_series_batch.device + + augment_mask = torch.rand(batch_size, device=device) < self.p_transform + indices_to_augment = torch.where(augment_mask)[0] + num_to_augment = indices_to_augment.numel() + + if num_to_augment == 0: + return time_series_batch + + subset_to_augment = time_series_batch[indices_to_augment] + + subset_permuted = subset_to_augment.permute(0, 2, 1) + + augmented_subset_list = [] + for i in range(num_to_augment): + original_series = subset_permuted[i : i + 1] + augmented_series = self._apply_random_conv_stack(original_series) + + rescaled_series = self._rescale_signal( + augmented_series.squeeze(0), original_series.squeeze(0) + ) + augmented_subset_list.append(rescaled_series.unsqueeze(0)) + + if augmented_subset_list: + augmented_subset = torch.cat(augmented_subset_list, dim=0) + augmented_subset_final = augmented_subset.permute(0, 2, 1) + + augmented_batch = time_series_batch.clone() + augmented_batch[indices_to_augment] = augmented_subset_final + return augmented_batch + else: + return time_series_batch diff --git a/src/data/batch_composer.py b/src/data/batch_composer.py new file mode 100644 index 0000000000000000000000000000000000000000..5b6e28d0a9e07ba9c2a571fbfdac5f89da321e69 --- /dev/null +++ b/src/data/batch_composer.py @@ -0,0 +1,705 @@ +import json +import logging +import random +from typing import Dict, Optional, Tuple + +import numpy as np +import pandas as pd +import torch + +from src.data.augmentations import ( + NanAugmenter, +) +from src.data.constants import DEFAULT_NAN_STATS_PATH, LENGTH_CHOICES, LENGTH_WEIGHTS +from src.data.containers import BatchTimeSeriesContainer +from src.data.datasets import CyclicalBatchDataset +from src.data.frequency import Frequency +from src.data.scalers import MeanScaler, MedianScaler, MinMaxScaler, RobustScaler +from src.data.utils import sample_future_length + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + + +class BatchComposer: + """ + Composes batches from saved generator data according to specified proportions. + Manages multiple CyclicalBatchDataset instances and creates uniform or mixed batches. + """ + + def __init__( + self, + base_data_dir: str, + generator_proportions: Optional[Dict[str, float]] = None, + mixed_batches: bool = True, + device: Optional[torch.device] = None, + augmentations: Optional[Dict[str, bool]] = None, + augmentation_probabilities: Optional[Dict[str, float]] = None, + nan_stats_path: Optional[str] = None, + nan_patterns_path: Optional[str] = None, + global_seed: int = 42, + chosen_scaler_name: Optional[str] = None, + rank: int = 0, + world_size: int = 1, + ): + """ + Initialize the BatchComposer. + + Args: + base_data_dir: Base directory containing generator subdirectories + generator_proportions: Dict mapping generator names to proportions + mixed_batches: If True, create mixed batches; if False, uniform batches + device: Device to load tensors to + augmentations: Dict mapping augmentation names to booleans + augmentation_probabilities: Dict mapping augmentation names to probabilities + global_seed: Global random seed + chosen_scaler_name: Name of the scaler that used in training + rank: Rank of current process for distributed data loading + world_size: Total number of processes for distributed data loading + """ + self.base_data_dir = base_data_dir + self.mixed_batches = mixed_batches + self.device = device + self.global_seed = global_seed + self.nan_stats_path = nan_stats_path + self.nan_patterns_path = nan_patterns_path + self.rank = rank + self.world_size = world_size + self.augmentation_probabilities = augmentation_probabilities or { + "noise_augmentation": 0.3, + "scaler_augmentation": 0.5, + } + # Optional preferred scaler name provided by training config + self.chosen_scaler_name = ( + chosen_scaler_name.lower() if chosen_scaler_name is not None else None + ) + + # Setup random state + self.rng = np.random.default_rng(global_seed) + random.seed(global_seed) + torch.manual_seed(global_seed) + + # Setup augmentations + self._setup_augmentations(augmentations) + + # Setup generator proportions + self._setup_proportions(generator_proportions) + + # Initialize datasets + self.datasets = self._initialize_datasets() + + logger.info( + f"Initialized BatchComposer with {len(self.datasets)} generators, " + f"mixed_batches={mixed_batches}, proportions={self.generator_proportions}, " + f"augmentations={self.augmentations}, " + f"augmentation_probabilities={self.augmentation_probabilities}" + ) + + def _setup_augmentations(self, augmentations: Optional[Dict[str, bool]]): + """Setup only the augmentations that should remain online (NaN).""" + default_augmentations = { + "nan_augmentation": False, + "scaler_augmentation": False, + "length_shortening": False, + } + + self.augmentations = augmentations or default_augmentations + + # Initialize NaN augmenter if needed + self.nan_augmenter = None + if self.augmentations.get("nan_augmentation", False): + stats_path_to_use = self.nan_stats_path or DEFAULT_NAN_STATS_PATH + stats = json.load(open(stats_path_to_use, "r")) + self.nan_augmenter = NanAugmenter( + p_series_has_nan=stats["p_series_has_nan"], + nan_ratio_distribution=stats["nan_ratio_distribution"], + nan_length_distribution=stats["nan_length_distribution"], + nan_patterns_path=self.nan_patterns_path, + ) + + def _should_apply_scaler_augmentation(self) -> bool: + """ + Decide whether to apply scaler augmentation for a single series based on + the boolean toggle and probability from the configuration. + """ + if not self.augmentations.get("scaler_augmentation", False): + return False + probability = float( + self.augmentation_probabilities.get("scaler_augmentation", 0.0) + ) + probability = max(0.0, min(1.0, probability)) + return bool(self.rng.random() < probability) + + def _choose_random_scaler(self) -> Optional[object]: + """ + Choose a random scaler for augmentation, explicitly avoiding the one that + is already selected in the training configuration (if any). + + Returns an instance of the selected scaler or None when no valid option exists. + """ + chosen: Optional[str] = None + if self.chosen_scaler_name is not None: + chosen = self.chosen_scaler_name.strip().lower() + + candidates = ["custom_robust", "minmax", "median", "mean"] + + # Remove the chosen scaler from the candidates + if chosen in candidates: + candidates = [c for c in candidates if c != chosen] + if not candidates: + return None + + pick = str(self.rng.choice(candidates)) + if pick == "custom_robust": + return RobustScaler() + if pick == "minmax": + return MinMaxScaler() + if pick == "median": + return MedianScaler() + if pick == "mean": + return MeanScaler() + return None + + def _setup_proportions(self, generator_proportions): + """Setup default or custom generator proportions.""" + default_proportions = { + "forecast_pfn": 1.0, + "gp": 1.0, + "kernel": 1.0, + "sinewave": 1.0, + "sawtooth": 1.0, + "step": 0.1, + "anomaly": 1.0, + "spike": 2.0, + "cauker_univariate": 2.0, + "cauker_multivariate": 0.00, + "lmc": 0.00, # multivariate + "ou_process": 1.0, + "audio_financial_volatility": 0.1, + "audio_multi_scale_fractal": 0.1, + "audio_network_topology": 0.5, + "audio_stochastic_rhythm": 1.0, + "augmented_per_sample_2048": 3.0, + "augmented_temp_batch_2048": 3.0, + } + self.generator_proportions = generator_proportions or default_proportions + + # Normalize proportions + total = sum(self.generator_proportions.values()) + if total <= 0: + raise ValueError("Total generator proportions must be positive") + self.generator_proportions = { + k: v / total for k, v in self.generator_proportions.items() + } + + def _initialize_datasets(self) -> Dict[str, CyclicalBatchDataset]: + """Initialize CyclicalBatchDataset for each generator with proportion > 0.""" + datasets = {} + + for generator_name, proportion in self.generator_proportions.items(): + # Only initialize datasets for generators with positive proportion + if proportion <= 0: + logger.info(f"Skipping {generator_name} (proportion = {proportion})") + continue + + batches_dir = f"{self.base_data_dir}/{generator_name}" + + try: + dataset = CyclicalBatchDataset( + batches_dir=batches_dir, + generator_type=generator_name, + device=None, + prefetch_next=True, + prefetch_threshold=32, + rank=self.rank, + world_size=self.world_size, + ) + datasets[generator_name] = dataset + logger.info( + f"Loaded dataset for {generator_name} (proportion = {proportion})" + ) + + except Exception as e: + logger.warning(f"Failed to load dataset for {generator_name}: {e}") + continue + + if not datasets: + raise ValueError( + f"No valid datasets found in {self.base_data_dir} or all generators have proportion <= 0" + ) + + return datasets + + def _convert_sample_to_tensors( + self, sample: dict, future_length: Optional[int] = None + ) -> Tuple[torch.Tensor, np.datetime64, Frequency]: + """ + Convert a sample dict to tensors and metadata. + + Args: + sample: Sample dict from CyclicalBatchDataset + future_length: Desired future length (if None, use default split) + + Returns: + Tuple of (history_values, future_values, start, frequency) + """ + # Handle both old and new data formats + num_channels = sample.get("num_channels", 1) + values_data = sample["values"] + generator_type = sample.get("generator_type", "unknown") + + if num_channels == 1: + # Univariate data + if isinstance(values_data[0], list): + # New format: [[channel_values]] + values = torch.tensor(values_data[0], dtype=torch.float32) + logger.debug( + f"{generator_type}: Using new univariate format, shape: {values.shape}" + ) + else: + # Old format: [values] + values = torch.tensor(values_data, dtype=torch.float32) + values = values.unsqueeze(0).unsqueeze(-1) # Shape: [1, seq_len, 1] + else: + # Multivariate data (LMC) - new format: [[ch1_values], [ch2_values], ...] + channel_tensors = [] + for channel_values in values_data: + channel_tensor = torch.tensor(channel_values, dtype=torch.float32) + channel_tensors.append(channel_tensor) + + # Stack channels: [1, seq_len, num_channels] + values = torch.stack(channel_tensors, dim=-1).unsqueeze(0) + logger.debug( + f"{generator_type}: Using multivariate format, {num_channels} channels, shape: {values.shape}" + ) + + # Handle frequency conversion + freq_str = sample["frequency"] + try: + frequency = Frequency(freq_str) + except ValueError: + # Map common frequency strings to Frequency enum + freq_mapping = { + "h": Frequency.H, + "D": Frequency.D, + "W": Frequency.W, + "M": Frequency.M, + "Q": Frequency.Q, + "A": Frequency.A, + "Y": Frequency.A, # Annual + "1min": Frequency.T1, + "5min": Frequency.T5, + "10min": Frequency.T10, + "15min": Frequency.T15, + "30min": Frequency.T30, + "s": Frequency.S, + } + frequency = freq_mapping.get(freq_str, Frequency.H) # Default to hourly + + # Handle start timestamp + if isinstance(sample["start"], pd.Timestamp): + start = sample["start"].to_numpy() + else: + start = np.datetime64(sample["start"]) + + return values, start, frequency + + def _effective_proportions_for_length( + self, total_length_for_batch: int + ) -> Dict[str, float]: + """ + Build a simple, length-aware proportion map for the current batch. + + Rules: + - For generators named 'augmented{L}', keep only the one matching the + chosen length L; zero out others. + - Keep non-augmented generators as-is. + - Drop generators that are unavailable (not loaded) or zero-weight. + - If nothing remains, fall back to 'augmented{L}' if available, else any dataset. + - Normalize the final map to sum to 1. + """ + + def augmented_length_from_name(name: str) -> Optional[int]: + if not name.startswith("augmented"): + return None + suffix = name[len("augmented") :] + if not suffix: + return None + try: + return int(suffix) + except ValueError: + return None + + # 1) Adjust proportions with the length-aware rule + adjusted: Dict[str, float] = {} + for name, proportion in self.generator_proportions.items(): + aug_len = augmented_length_from_name(name) + if aug_len is None: + adjusted[name] = proportion + else: + adjusted[name] = ( + proportion if aug_len == total_length_for_batch else 0.0 + ) + + # 2) Keep only available, positive-weight datasets + adjusted = { + name: p for name, p in adjusted.items() if name in self.datasets and p > 0.0 + } + + # 3) Fallback if empty + if not adjusted: + preferred = f"augmented{total_length_for_batch}" + if preferred in self.datasets: + adjusted = {preferred: 1.0} + elif self.datasets: + # Choose any available dataset deterministically (first key) + first_key = next(iter(self.datasets.keys())) + adjusted = {first_key: 1.0} + else: + raise ValueError("No datasets available to create batch") + + # 4) Normalize + total = sum(adjusted.values()) + return {name: p / total for name, p in adjusted.items()} + + def _compute_sample_counts_for_batch( + self, proportions: Dict[str, float], batch_size: int + ) -> Dict[str, int]: + """ + Convert a proportion map into integer sample counts that sum to batch_size. + + Strategy: allocate floor(batch_size * p) to each generator in order, and let the + last generator absorb any remainder to ensure the total matches exactly. + """ + counts: Dict[str, int] = {} + remaining = batch_size + names = list(proportions.keys()) + values = list(proportions.values()) + for index, (name, p) in enumerate(zip(names, values)): + if index == len(names) - 1: + counts[name] = remaining + else: + n = int(batch_size * p) + counts[name] = n + remaining -= n + return counts + + def _calculate_generator_samples(self, batch_size: int) -> Dict[str, int]: + """ + Calculate the number of samples each generator should contribute. + + Args: + batch_size: Total batch size + + Returns: + Dict mapping generator names to sample counts + """ + generator_samples = {} + remaining_samples = batch_size + + generators = list(self.generator_proportions.keys()) + proportions = list(self.generator_proportions.values()) + + # Calculate base samples for each generator + for i, (generator, proportion) in enumerate(zip(generators, proportions)): + if generator not in self.datasets: + continue + + if i == len(generators) - 1: # Last generator gets remaining samples + samples = remaining_samples + else: + samples = int(batch_size * proportion) + remaining_samples -= samples + generator_samples[generator] = samples + + return generator_samples + + def create_batch( + self, + batch_size: int = 128, + seed: Optional[int] = None, + future_length: Optional[int] = None, + ) -> Tuple[BatchTimeSeriesContainer, str]: + """ + Create a batch of the specified size. + + Args: + batch_size: Size of the batch to create + seed: Random seed for this batch + future_length: Fixed future length to use. If None, samples from gift_eval range + + Returns: + Tuple of (batch_container, generator_info) + """ + if seed is not None: + batch_rng = np.random.default_rng(seed) + random.seed(seed) + else: + batch_rng = self.rng + + if self.mixed_batches: + return self._create_mixed_batch(batch_size, future_length) + else: + return self._create_uniform_batch(batch_size, batch_rng, future_length) + + def _create_mixed_batch( + self, batch_size: int, future_length: Optional[int] = None + ) -> Tuple[BatchTimeSeriesContainer, str]: + """Create a mixed batch with samples from multiple generators, rejecting NaNs.""" + + # Choose total length for this batch; respect length_shortening flag. + # When disabled, always use the maximum to avoid shortening. + if self.augmentations.get("length_shortening", False): + lengths = list(LENGTH_WEIGHTS.keys()) + probs = list(LENGTH_WEIGHTS.values()) + total_length_for_batch = int(self.rng.choice(lengths, p=probs)) + else: + total_length_for_batch = int(max(LENGTH_CHOICES)) + + if future_length is None: + prediction_length = int( + sample_future_length( + range="gift_eval", total_length=total_length_for_batch + ) + ) + else: + prediction_length = future_length + + history_length = total_length_for_batch - prediction_length + + # Calculate samples per generator using simple, per-batch length-aware proportions + effective_props = self._effective_proportions_for_length(total_length_for_batch) + generator_samples = self._compute_sample_counts_for_batch( + effective_props, batch_size + ) + + all_values = [] + all_starts = [] + all_frequencies = [] + actual_proportions = {} + + # Collect valid samples from each generator using batched fetches to reduce I/O overhead + for generator_name, num_samples in generator_samples.items(): + if num_samples == 0 or generator_name not in self.datasets: + continue + + dataset = self.datasets[generator_name] + + # Lists to hold valid samples for the current generator + generator_values = [] + generator_starts = [] + generator_frequencies = [] + + # Loop until we have collected the required number of VALID samples + max_attempts = 50 + attempts = 0 + while len(generator_values) < num_samples and attempts < max_attempts: + attempts += 1 + # Fetch a batch larger than needed to reduce round-trips + need = num_samples - len(generator_values) + fetch_n = max(need * 2, 8) + samples = dataset.get_samples(fetch_n) + + for sample in samples: + if len(generator_values) >= num_samples: + break + + values, sample_start, sample_freq = self._convert_sample_to_tensors( + sample, future_length + ) + + # Skip if NaNs exist (we inject NaNs later in history only) + if torch.isnan(values).any(): + continue + + # Resize to target batch length when longer + if total_length_for_batch < values.shape[1]: + strategy = self.rng.choice(["cut", "subsample"]) # 50/50 + if strategy == "cut": + max_start_idx = values.shape[1] - total_length_for_batch + start_idx = int(self.rng.integers(0, max_start_idx + 1)) + values = values[ + :, start_idx : start_idx + total_length_for_batch, : + ] + else: + indices = np.linspace( + 0, + values.shape[1] - 1, + total_length_for_batch, + dtype=int, + ) + values = values[:, indices, :] + + # Optionally apply scaler augmentation according to configuration + if self._should_apply_scaler_augmentation(): + scaler = self._choose_random_scaler() + if scaler is not None: + values = scaler.scale( + values, scaler.compute_statistics(values) + ) + + generator_values.append(values) + generator_starts.append(sample_start) + generator_frequencies.append(sample_freq) + + if len(generator_values) < num_samples: + logger.warning( + f"Generator {generator_name}: collected {len(generator_values)}/{num_samples} after {attempts} attempts" + ) + + # Add the collected valid samples to the main batch lists + if generator_values: + all_values.extend(generator_values) + all_starts.extend(generator_starts) + all_frequencies.extend(generator_frequencies) + actual_proportions[generator_name] = len(generator_values) + + if not all_values: + raise RuntimeError( + "No valid samples could be collected from any generator." + ) + + combined_values = torch.cat(all_values, dim=0) + # Split into history and future + combined_history = combined_values[:, :history_length, :] + combined_future = combined_values[ + :, history_length : history_length + prediction_length, : + ] + + if self.nan_augmenter is not None: + combined_history = self.nan_augmenter.transform(combined_history) + + # Create container + container = BatchTimeSeriesContainer( + history_values=combined_history, + future_values=combined_future, + start=all_starts, + frequency=all_frequencies, + ) + + return container, "MixedBatch" + + def _create_uniform_batch( + self, + batch_size: int, + batch_rng: np.random.Generator, + future_length: Optional[int] = None, + ) -> Tuple[BatchTimeSeriesContainer, str]: + """Create a uniform batch with samples from a single generator.""" + + # Select generator based on proportions + generators = list(self.datasets.keys()) + proportions = [self.generator_proportions[gen] for gen in generators] + selected_generator = batch_rng.choice(generators, p=proportions) + + # Sample future length + if future_length is None: + future_length = sample_future_length(range="gift_eval") + + # Get samples from selected generator + dataset = self.datasets[selected_generator] + samples = dataset.get_samples(batch_size) + + all_history_values = [] + all_future_values = [] + all_starts = [] + all_frequencies = [] + + for sample in samples: + values, sample_start, sample_freq = self._convert_sample_to_tensors( + sample, future_length + ) + + total_length = values.shape[1] + history_length = max(1, total_length - future_length) + + # Optionally apply scaler augmentation according to configuration + if self._should_apply_scaler_augmentation(): + scaler = self._choose_random_scaler() + if scaler is not None: + values = scaler.scale(values, scaler.compute_statistics(values)) + + # Reshape to [1, seq_len, 1] for single sample + hist_vals = values[:, :history_length, :] + fut_vals = values[:, history_length : history_length + future_length, :] + + all_history_values.append(hist_vals) + all_future_values.append(fut_vals) + all_starts.append(sample_start) + all_frequencies.append(sample_freq) + + # Combine samples + combined_history = torch.cat(all_history_values, dim=0) + combined_future = torch.cat(all_future_values, dim=0) + + # Create container + container = BatchTimeSeriesContainer( + history_values=combined_history, + future_values=combined_future, + start=all_starts, + frequency=all_frequencies, + ) + + return container, selected_generator + + def get_dataset_info(self) -> Dict[str, dict]: + """Get information about all datasets.""" + info = {} + for name, dataset in self.datasets.items(): + info[name] = dataset.get_info() + return info + + def get_generator_info(self) -> Dict[str, any]: + """Get information about the composer configuration.""" + return { + "mixed_batches": self.mixed_batches, + "generator_proportions": self.generator_proportions, + "active_generators": list(self.datasets.keys()), + "total_generators": len(self.datasets), + "augmentations": self.augmentations, + "augmentation_probabilities": self.augmentation_probabilities, + "nan_augmenter_enabled": self.nan_augmenter is not None, + } + + +class ComposedDataset(torch.utils.data.Dataset): + """ + PyTorch Dataset wrapper around BatchComposer for training pipeline integration. + """ + + def __init__( + self, + batch_composer: BatchComposer, + num_batches_per_epoch: int = 100, + batch_size: int = 128, + ): + """ + Initialize the dataset. + + Args: + batch_composer: The BatchComposer instance + num_batches_per_epoch: Number of batches to generate per epoch + batch_size: Size of each batch + """ + self.batch_composer = batch_composer + self.num_batches_per_epoch = num_batches_per_epoch + self.batch_size = batch_size + + def __len__(self) -> int: + return self.num_batches_per_epoch + + def __getitem__(self, idx: int) -> BatchTimeSeriesContainer: + """ + Get a batch by index. + + Args: + idx: Batch index (used as seed for reproducibility) + + Returns: + BatchTimeSeriesContainer + """ + # Use index as seed for reproducible batches + batch, _ = self.batch_composer.create_batch( + batch_size=self.batch_size, seed=self.batch_composer.global_seed + idx + ) + return batch \ No newline at end of file diff --git a/src/data/constants.py b/src/data/constants.py new file mode 100644 index 0000000000000000000000000000000000000000..a27d4f2fa756c29d6923dce2448536cfda9ad3bf --- /dev/null +++ b/src/data/constants.py @@ -0,0 +1,25 @@ +from datetime import date +from typing import Dict + +import numpy as np + +DEFAULT_START_DATE = date(1700, 1, 1) +DEFAULT_END_DATE = date(2200, 1, 1) +BASE_START_DATE = np.datetime64(DEFAULT_START_DATE) +BASE_END_DATE = np.datetime64(DEFAULT_END_DATE) + +# Maximum years to prevent timestamp overflow +MAX_YEARS = 500 + +LENGTH_CHOICES = [128, 256, 512, 1024, 1536, 2048] + +DEFAULT_NAN_STATS_PATH: str = "./data/nan_stats.json" + +LENGTH_WEIGHTS: Dict[int, float] = { + 128: 0.05, + 256: 0.10, + 512: 0.10, + 1024: 0.10, + 1536: 0.15, + 2048: 0.50, +} diff --git a/src/data/containers.py b/src/data/containers.py new file mode 100644 index 0000000000000000000000000000000000000000..fc3567348e3ee47336548f5fa1e8fd0e31449295 --- /dev/null +++ b/src/data/containers.py @@ -0,0 +1,204 @@ +from dataclasses import dataclass +from typing import List, Optional + +import numpy as np +import torch + +from src.data.frequency import Frequency + + +@dataclass +class BatchTimeSeriesContainer: + """ + Container for a batch of multivariate time series data and their associated features. + + Attributes: + history_values: Tensor of historical observations. + Shape: [batch_size, seq_len, num_channels] + future_values: Tensor of future observations to predict. + Shape: [batch_size, pred_len, num_channels] + start: Timestamp of the first history value. + Type: List[np.datetime64] + frequency: Frequency of the time series. + Type: List[Frequency] + history_mask: Optional boolean/float tensor indicating missing entries in history_values across channels. + Shape: [batch_size, seq_len] + future_mask: Optional boolean/float tensor indicating missing entries in future_values across channels. + Shape: [batch_size, pred_len] + """ + + history_values: torch.Tensor + future_values: torch.Tensor + start: List[np.datetime64] + frequency: List[Frequency] + + history_mask: Optional[torch.Tensor] = None + future_mask: Optional[torch.Tensor] = None + + def __post_init__(self): + """Validate all tensor shapes and consistency.""" + # --- Tensor Type Checks --- + if not isinstance(self.history_values, torch.Tensor): + raise TypeError("history_values must be a torch.Tensor") + if not isinstance(self.future_values, torch.Tensor): + raise TypeError("future_values must be a torch.Tensor") + if not isinstance(self.start, list) or not all( + isinstance(x, np.datetime64) for x in self.start + ): + raise TypeError("start must be a List[np.datetime64]") + if not isinstance(self.frequency, list) or not all( + isinstance(x, Frequency) for x in self.frequency + ): + raise TypeError("frequency must be a List[Frequency]") + + batch_size, seq_len, num_channels = self.history_values.shape + pred_len = self.future_values.shape[1] + + # --- Core Shape Checks --- + if self.future_values.shape[0] != batch_size: + raise ValueError("Batch size mismatch between history and future_values") + if self.future_values.shape[2] != num_channels: + raise ValueError("Channel size mismatch between history and future_values") + + # --- Optional Mask Checks --- + if self.history_mask is not None: + if not isinstance(self.history_mask, torch.Tensor): + raise TypeError("history_mask must be a Tensor or None") + if self.history_mask.shape[:2] != (batch_size, seq_len): + raise ValueError( + f"Shape mismatch in history_mask: {self.history_mask.shape[:2]} vs {(batch_size, seq_len)}" + ) + + if self.future_mask is not None: + if not isinstance(self.future_mask, torch.Tensor): + raise TypeError("future_mask must be a Tensor or None") + if not ( + self.future_mask.shape == (batch_size, pred_len) + or self.future_mask.shape == self.future_values.shape + ): + raise ValueError( + f"Shape mismatch in future_mask: expected {(batch_size, pred_len)} or {self.future_values.shape}, got {self.future_mask.shape}" + ) + + def to_device( + self, device: torch.device, attributes: Optional[List[str]] = None + ) -> None: + """ + Move specified tensors to the target device in place. + + Args: + device: Target device (e.g., 'cpu', 'cuda'). + attributes: Optional list of attribute names to move. If None, move all tensors. + + Raises: + ValueError: If an invalid attribute is specified or device transfer fails. + """ + all_tensors = { + "history_values": self.history_values, + "future_values": self.future_values, + "history_mask": self.history_mask, + "future_mask": self.future_mask, + } + + if attributes is None: + attributes = [k for k, v in all_tensors.items() if v is not None] + + for attr in attributes: + if attr not in all_tensors: + raise ValueError(f"Invalid attribute: {attr}") + if all_tensors[attr] is not None: + setattr(self, attr, all_tensors[attr].to(device)) + + def to(self, device: torch.device, attributes: Optional[List[str]] = None): + """ + Alias for to_device method for consistency with PyTorch conventions. + + Args: + device: Target device (e.g., 'cpu', 'cuda'). + attributes: Optional list of attribute names to move. If None, move all tensors. + """ + self.to_device(device, attributes) + return self + + @property + def batch_size(self) -> int: + return self.history_values.shape[0] + + @property + def history_length(self) -> int: + return self.history_values.shape[1] + + @property + def future_length(self) -> int: + return self.future_values.shape[1] + + @property + def num_channels(self) -> int: + return self.history_values.shape[2] + + +@dataclass +class TimeSeriesContainer: + """ + Container for batch of time series data without explicit history/future split. + + This container is used for storing generated synthetic time series data where + the entire series is treated as a single entity, typically for further processing + or splitting into history/future components later. + + Attributes: + values: np.ndarray of time series values. + Shape: [batch_size, seq_len, num_channels] for multivariate series + [batch_size, seq_len] for univariate series + start: List of start timestamps for each series in the batch. + Type: List[np.datetime64], length should match batch_size + frequency: List of frequency for each series in the batch. + Type: List[Frequency], length should match batch_size + """ + + values: np.ndarray + start: List[np.datetime64] + frequency: List[Frequency] + + def __post_init__(self): + """Validate all shapes and consistency.""" + # --- Numpy Type Checks --- + if not isinstance(self.values, np.ndarray): + raise TypeError("values must be a np.ndarray") + if not isinstance(self.start, list) or not all( + isinstance(x, np.datetime64) for x in self.start + ): + raise TypeError("start must be a List[np.datetime64]") + if not isinstance(self.frequency, list) or not all( + isinstance(x, Frequency) for x in self.frequency + ): + raise TypeError("frequency must be a List[Frequency]") + + # --- Shape and Length Consistency Checks --- + if len(self.values.shape) < 2 or len(self.values.shape) > 3: + raise ValueError( + f"values must have 2 or 3 dimensions [batch_size, seq_len] or [batch_size, seq_len, num_channels], got shape {self.values.shape}" + ) + + batch_size = self.values.shape[0] + + if len(self.start) != batch_size: + raise ValueError( + f"Length of start ({len(self.start)}) must match batch_size ({batch_size})" + ) + if len(self.frequency) != batch_size: + raise ValueError( + f"Length of frequency ({len(self.frequency)}) must match batch_size ({batch_size})" + ) + + @property + def batch_size(self) -> int: + return self.values.shape[0] + + @property + def seq_length(self) -> int: + return self.values.shape[1] + + @property + def num_channels(self) -> int: + return self.values.shape[2] if len(self.values.shape) == 3 else 1 diff --git a/src/data/datasets.py b/src/data/datasets.py new file mode 100644 index 0000000000000000000000000000000000000000..d28fd84f6cf9f913904b53d6e709b88b7f6610b3 --- /dev/null +++ b/src/data/datasets.py @@ -0,0 +1,267 @@ +import logging +import os +import random +from typing import List, Optional + +import pyarrow.feather as feather +import torch + +logger = logging.getLogger(__name__) + + +class CyclicalBatchDataset: + """ + Dataset class that loads saved batches from continuous generation script. + Maintains a pointer and provides cyclical access to individual samples. + Includes enhanced logging to track data shard cycling during training. + Supports per-rank file sharding for large-scale distributed training. + """ + + def __init__( + self, + batches_dir: str, + generator_type: str, + device: Optional[torch.device] = None, + prefetch_next: bool = True, + prefetch_threshold: int = 32, + rank: int = 0, + world_size: int = 1, + ): + """ + Initialize the cyclical batch dataset. + + Args: + batches_dir: Directory containing the batch arrow files + generator_type: Type of generator (for logging) + device: Device to load tensors to + prefetch_next: Whether to prefetch the next batch + prefetch_threshold: Number of remaining samples to trigger prefetching + rank: Rank of the current process (for file sharding) + world_size: Total number of processes (for file sharding) + """ + self.batches_dir = batches_dir + self.generator_type = generator_type + self.device = device + self.prefetch_next = prefetch_next + self.prefetch_threshold = prefetch_threshold + self.rank = rank + self.world_size = world_size + + self.batch_files = self._find_batch_files() + if not self.batch_files: + raise ValueError(f"No batch files found in {batches_dir}") + + # --- State tracking --- + self.current_batch_idx = 0 + self.current_sample_idx = 0 + self.current_batch_data = None + self.next_batch_data = None + self.prefetching_in_progress = False + + # --- NEW: Logging and cycle tracking --- + self.visited_batch_indices = set() + self.full_cycles_completed = 0 + + # Load first batch and update tracking + self._load_current_batch() + self.visited_batch_indices.add(self.current_batch_idx) + + logger.info( + f"Initialized '{self.generator_type}' dataset with {len(self.batch_files)} batches. " + f"Current batch file: '{os.path.basename(self.batch_files[self.current_batch_idx])}' " + f"has {len(self.current_batch_data)} samples." + ) + + def _find_batch_files(self) -> List[str]: + """ + Find and sort batch files with per-rank sharding for distributed training. + + Each rank gets a disjoint subset of files to minimize I/O contention + when scaling to hundreds of GPUs. + """ + import glob + + pattern = os.path.join(self.batches_dir, "batch_*.arrow") + all_files = sorted(glob.glob(pattern)) # Sort for deterministic sharding + + if not all_files: + return [] + + # Shard files across ranks: each rank gets every world_size-th file + # Example with 4 ranks: rank0=[0,4,8,...], rank1=[1,5,9,...], etc. + rank_files = [ + f for i, f in enumerate(all_files) if i % self.world_size == self.rank + ] + + # Shuffle only within this rank's shard for variety + random.shuffle(rank_files) + + logger.info( + f"[Rank {self.rank}] '{self.generator_type}': Sharded {len(all_files)} files → " + f"{len(rank_files)} files for this rank ({len(rank_files) / len(all_files) * 100:.1f}%)" + ) + + return rank_files + + def _load_batch_from_file(self, batch_file: str) -> List[dict]: + """Load a batch from arrow file.""" + try: + table = feather.read_table(batch_file) + has_num_channels = "num_channels" in table.column_names + batch_data = [] + for i in range(len(table)): + row = { + "series_id": table["series_id"][i].as_py(), + "values": table["values"][i].as_py(), + "length": table["length"][i].as_py(), + "generator_type": table["generator_type"][i].as_py(), + "start": table["start"][i].as_py(), + "frequency": table["frequency"][i].as_py(), + "generation_timestamp": table["generation_timestamp"][i].as_py(), + } + if has_num_channels: + row["num_channels"] = table["num_channels"][i].as_py() + else: + row["num_channels"] = 1 + batch_data.append(row) + return batch_data + except Exception as e: + logger.error(f"Error loading batch from {batch_file}: {e}") + raise + + def _load_current_batch(self): + """Load the current batch into memory.""" + if hasattr(self, "current_batch_data") and self.current_batch_data is not None: + del self.current_batch_data + batch_file = self.batch_files[self.current_batch_idx] + self.current_batch_data = self._load_batch_from_file(batch_file) + self.current_sample_idx = 0 + logger.debug( + f"Loaded batch {self.current_batch_idx} for {self.generator_type} " + f"with {len(self.current_batch_data)} samples" + ) + + def _trigger_smart_prefetch(self): + """Trigger prefetching when batch is almost exhausted.""" + if not self.prefetch_next or len(self.batch_files) <= 1: + return + remaining_samples = self.get_remaining_samples_in_current_batch() + should_prefetch = ( + remaining_samples <= self.prefetch_threshold + and self.next_batch_data is None + and not self.prefetching_in_progress + ) + if should_prefetch: + self._prefetch_next_batch() + + def _prefetch_next_batch(self): + """Prefetch the next batch.""" + if self.prefetching_in_progress: + return + self.prefetching_in_progress = True + next_batch_idx = (self.current_batch_idx + 1) % len(self.batch_files) + next_batch_file = self.batch_files[next_batch_idx] + try: + self.next_batch_data = self._load_batch_from_file(next_batch_file) + logger.debug( + f"Prefetched next batch {next_batch_idx} for {self.generator_type}" + ) + except Exception as e: + logger.warning(f"Failed to prefetch batch {next_batch_idx}: {e}") + self.next_batch_data = None + finally: + self.prefetching_in_progress = False + + def _advance_to_next_batch(self): + """Advance to the next batch and log the transition.""" + if hasattr(self, "current_batch_data") and self.current_batch_data is not None: + del self.current_batch_data + + previous_batch_idx = self.current_batch_idx + self.current_batch_idx = (self.current_batch_idx + 1) % len(self.batch_files) + + if hasattr(self, "next_batch_data") and self.next_batch_data is not None: + self.current_batch_data = self.next_batch_data + self.next_batch_data = None + else: + self._load_current_batch() + + self.current_sample_idx = 0 + self.prefetching_in_progress = False + + # --- NEW: Enhanced Logging Logic --- + self.visited_batch_indices.add(self.current_batch_idx) + + # Calculate progress + total_files = len(self.batch_files) + visited_count = len(self.visited_batch_indices) + progress_percent = (visited_count / total_files) * 100 + + # Log the shard cycle event + logger.info( + f"\nDATA SHARD CYCLED for '{self.generator_type}': " + f"Moved from file index {previous_batch_idx} to {self.current_batch_idx}. " + f"Unique files visited: {visited_count}/{total_files} ({progress_percent:.1f}%)." + ) + + # Check if a full cycle has been completed + if visited_count == total_files: + self.full_cycles_completed += 1 + logger.info( + f"🎉 FULL CYCLE #{self.full_cycles_completed} COMPLETED for '{self.generator_type}'! " + f"All {total_files} data files have been visited at least once. " + "Resetting visited set to track the next cycle." + ) + # Reset for the next cycle count + self.visited_batch_indices.clear() + self.visited_batch_indices.add(self.current_batch_idx) + + def get_sample(self) -> dict: + """Get the current sample and advance pointer.""" + if not hasattr(self, "current_batch_data") or self.current_batch_data is None: + self._load_current_batch() + if self.current_batch_data is None: + raise RuntimeError("No batch data loaded") + if self.current_sample_idx >= len(self.current_batch_data): + self._advance_to_next_batch() + self._trigger_smart_prefetch() + sample = self.current_batch_data[self.current_sample_idx] + self.current_sample_idx += 1 + return sample + + def get_samples(self, num_samples: int) -> List[dict]: + """Get multiple samples.""" + samples = [] + for _ in range(num_samples): + samples.append(self.get_sample()) + return samples + + def get_total_samples_in_current_batch(self) -> int: + """Get total samples in current batch.""" + if not hasattr(self, "current_batch_data") or self.current_batch_data is None: + return 0 + return len(self.current_batch_data) + + def get_remaining_samples_in_current_batch(self) -> int: + """Get remaining samples in current batch.""" + if not hasattr(self, "current_batch_data") or self.current_batch_data is None: + return 0 + return max(0, len(self.current_batch_data) - self.current_sample_idx) + + def get_info(self) -> dict: + """Get extended dataset info, including cycle progress.""" + total_files = len(self.batch_files) + visited_count = len(self.visited_batch_indices) + return { + "generator_type": self.generator_type, + "total_batch_files": total_files, + "current_batch_idx": self.current_batch_idx, + "current_sample_idx": self.current_sample_idx, + "current_batch_size": self.get_total_samples_in_current_batch(), + "remaining_in_batch": self.get_remaining_samples_in_current_batch(), + "unique_files_visited": visited_count, + "cycle_progress_percent": (visited_count / total_files) * 100 + if total_files > 0 + else 0, + "full_cycles_completed": self.full_cycles_completed, + } \ No newline at end of file diff --git a/src/data/filter.py b/src/data/filter.py new file mode 100644 index 0000000000000000000000000000000000000000..e051eea66eccfca7eb2453ceef990cdf2f6ba5dd --- /dev/null +++ b/src/data/filter.py @@ -0,0 +1,73 @@ +import numpy as np +import torch +from scipy import signal +from statsmodels.tsa.stattools import acf + + +def lempel_ziv_complexity(binary_sequence: np.ndarray) -> int: + """Computes the Lempel-Ziv complexity of a binary sequence.""" + sub_strings = set() + n = len(binary_sequence) + i = 0 + count = 0 + while i < n: + sub_str = "" + for j in range(i, n): + sub_str += str(binary_sequence[j]) + if sub_str not in sub_strings: + sub_strings.add(sub_str) + count += 1 + i = j + 1 + break + else: + i += 1 + return count + + +def is_low_quality( + series: torch.Tensor, + autocorr_threshold: float = 0.2, + snr_threshold: float = 0.5, + complexity_threshold: float = 0.4, +) -> bool: + """ + Returns True if the series appears non-forecastable (noise-like): + - weak autocorrelation + - low SNR proxy + - high normalized Lempel-Ziv complexity + """ + x = series.squeeze().detach().cpu().numpy() + if x.size < 20: + return True + if np.var(x) < 1e-10: + return True + + x_detrended = signal.detrend(x) + + try: + max_lags = min(len(x_detrended) // 4, 40) + if max_lags < 1: + autocorr_strength = 0.0 + else: + acf_vals = acf(x_detrended, nlags=max_lags, fft=True)[1:] + autocorr_strength = float(np.max(np.abs(acf_vals))) + except Exception: + autocorr_strength = 0.0 + + win_size = max(3, min(len(x) // 10, 15)) + signal_est = np.convolve(x, np.ones(win_size) / win_size, mode="valid") + noise_est = x[win_size - 1 :] - signal_est + var_signal = float(np.var(signal_est)) + var_noise = float(np.var(noise_est)) + snr_proxy = var_signal / var_noise if var_noise > 1e-8 else 1.0 + + median_val = float(np.median(x_detrended)) + binary_seq = (x_detrended > median_val).astype(np.uint8) + complexity_score = lempel_ziv_complexity(binary_seq) + normalized_complexity = complexity_score / max(1, len(binary_seq)) + + is_random_like = (snr_proxy < snr_threshold) and ( + normalized_complexity > complexity_threshold + ) + is_uncorrelated = autocorr_strength < autocorr_threshold + return bool(is_uncorrelated and is_random_like) diff --git a/src/data/frequency.py b/src/data/frequency.py new file mode 100644 index 0000000000000000000000000000000000000000..ea4d5097ad51a291e9cabdcd3fc122c39e1304ee --- /dev/null +++ b/src/data/frequency.py @@ -0,0 +1,538 @@ +""" +Comprehensive frequency management module for time series forecasting. + +This module centralizes all frequency-related functionality including: +- Frequency enum with helper methods +- Frequency parsing and validation +- Pandas frequency string conversion +- Safety checks for date ranges +- Frequency selection utilities +- All frequency constants and mappings +""" + +import logging +import re +from enum import Enum +from typing import Dict, Tuple + +import numpy as np +import pandas as pd +from numpy.random import Generator + +from src.data.constants import BASE_END_DATE, BASE_START_DATE, MAX_YEARS + +logger = logging.getLogger(__name__) + + +class Frequency(Enum): + """ + Enhanced Frequency enum with comprehensive helper methods. + + Each frequency includes methods for pandas conversion, safety checks, + and other frequency-specific operations. + """ + + A = "A" # Annual + Q = "Q" # Quarterly + M = "M" # Monthly + W = "W" # Weekly + D = "D" # Daily + H = "h" # Hourly + S = "s" # Seconds + T1 = "1min" # 1 minute + T5 = "5min" # 5 minutes + T10 = "10min" # 10 minutes + T15 = "15min" # 15 minutes + T30 = "30min" # 30 minutes + + def to_pandas_freq(self, for_date_range: bool = True) -> str: + """ + Convert to pandas frequency string. + + Args: + for_date_range: If True, use strings suitable for pd.date_range(). + If False, use strings suitable for pd.PeriodIndex(). + + Returns: + Pandas frequency string + """ + base, prefix, _ = FREQUENCY_MAPPING[self] + + # Special handling for date_range vs period compatibility + if for_date_range: + # For date_range, use modern pandas frequency strings + if self == Frequency.M: + return "ME" # Month End + elif self == Frequency.A: + return "YE" # Year End + elif self == Frequency.Q: + return "QE" # Quarter End + else: + # For periods, use legacy frequency strings + if self == Frequency.M: + return "M" # Month for periods + elif self == Frequency.A: + return "Y" # Year for periods (not YE) + elif self == Frequency.Q: + return "Q" # Quarter for periods (not QE) + + # Construct frequency string for other frequencies + if prefix: + return f"{prefix}{base}" + else: + return base + + def to_pandas_offset(self) -> str: + """Get pandas offset string for time delta calculations.""" + return FREQUENCY_TO_OFFSET[self] + + def get_days_per_period(self) -> float: + """Get approximate days per period for this frequency.""" + _, _, days = FREQUENCY_MAPPING[self] + return days + + def get_max_safe_length(self) -> int: + """Get maximum safe sequence length to prevent timestamp overflow.""" + return ALL_FREQUENCY_MAX_LENGTHS.get(self, float("inf")) + + def is_high_frequency(self) -> bool: + """Check if this is a high frequency (minute/second level).""" + return self in [ + Frequency.S, + Frequency.T1, + Frequency.T5, + Frequency.T10, + Frequency.T15, + Frequency.T30, + ] + + def is_low_frequency(self) -> bool: + """Check if this is a low frequency (annual/quarterly/monthly).""" + return self in [Frequency.A, Frequency.Q, Frequency.M] + + def get_seasonality(self) -> int: + """Get typical seasonality for this frequency.""" + seasonality_map = { + Frequency.S: 3600, # 1 hour of seconds + Frequency.T1: 60, # 1 hour of minutes + Frequency.T5: 12, # 1 hour of 5-minute intervals + Frequency.T10: 6, # 1 hour of 10-minute intervals + Frequency.T15: 4, # 1 hour of 15-minute intervals + Frequency.T30: 2, # 1 hour of 30-minute intervals + Frequency.H: 24, # 1 day of hours + Frequency.D: 7, # 1 week of days + Frequency.W: 52, # 1 year of weeks + Frequency.M: 12, # 1 year of months + Frequency.Q: 4, # 1 year of quarters + Frequency.A: 1, # No clear seasonality for annual + } + return seasonality_map.get(self, 1) + + def get_gift_eval_weight(self) -> float: + """Get GIFT eval dataset frequency weight.""" + return GIFT_EVAL_FREQUENCY_WEIGHTS.get(self, 0.1) + + def get_length_range(self) -> Tuple[int, int, int, int]: + """Get (min_length, max_length, optimal_start, optimal_end) for this frequency.""" + return GIFT_EVAL_LENGTH_RANGES.get(self, (50, 1000, 100, 500)) + + +# ============================================================================ +# Frequency Mappings and Constants +# ============================================================================ + +# Core frequency mapping: (pandas_base, prefix, days_per_period) +FREQUENCY_MAPPING: Dict[Frequency, Tuple[str, str, float]] = { + Frequency.A: ( + "YE", + "", + 365.25, + ), # Average days per year (accounting for leap years) + Frequency.Q: ("Q", "", 91.3125), # 365.25/4 - average days per quarter + Frequency.M: ("M", "", 30.4375), # 365.25/12 - average days per month + Frequency.W: ("W", "", 7), + Frequency.D: ("D", "", 1), + Frequency.H: ("h", "", 1 / 24), + Frequency.S: ("s", "", 1 / 86400), # 24*60*60 + Frequency.T1: ("min", "1", 1 / 1440), # 24*60 + Frequency.T5: ("min", "5", 1 / 288), # 24*60/5 + Frequency.T10: ("min", "10", 1 / 144), # 24*60/10 + Frequency.T15: ("min", "15", 1 / 96), # 24*60/15 + Frequency.T30: ("min", "30", 1 / 48), # 24*60/30 +} + +# Frequency to pandas offset mapping for calculating time deltas +FREQUENCY_TO_OFFSET: Dict[Frequency, str] = { + Frequency.A: "AS", # Annual start + Frequency.Q: "QS", # Quarter start + Frequency.M: "MS", # Month start + Frequency.W: "W", # Weekly + Frequency.D: "D", # Daily + Frequency.H: "H", # Hourly + Frequency.T1: "1T", # 1 minute + Frequency.T5: "5T", # 5 minutes + Frequency.T10: "10T", # 10 minutes + Frequency.T15: "15T", # 15 minutes + Frequency.T30: "30T", # 30 minutes + Frequency.S: "S", # Seconds +} + +# Maximum sequence lengths to avoid pandas OutOfBoundsDatetime errors +SHORT_FREQUENCY_MAX_LENGTHS = { + Frequency.A: MAX_YEARS, + Frequency.Q: MAX_YEARS * 4, + Frequency.M: MAX_YEARS * 12, + Frequency.W: int(MAX_YEARS * 52.1775), + Frequency.D: int(MAX_YEARS * 365.2425), +} + +HIGH_FREQUENCY_MAX_LENGTHS = { + Frequency.H: int(MAX_YEARS * 365.2425 * 24), + Frequency.S: int(MAX_YEARS * 365.2425 * 24 * 60 * 60), + Frequency.T1: int(MAX_YEARS * 365.2425 * 24 * 60), + Frequency.T5: int(MAX_YEARS * 365.2425 * 24 * 12), + Frequency.T10: int(MAX_YEARS * 365.2425 * 24 * 6), + Frequency.T15: int(MAX_YEARS * 365.2425 * 24 * 4), + Frequency.T30: int(MAX_YEARS * 365.2425 * 24 * 2), +} + +# Combined max lengths for all frequencies +ALL_FREQUENCY_MAX_LENGTHS = { + **SHORT_FREQUENCY_MAX_LENGTHS, + **HIGH_FREQUENCY_MAX_LENGTHS, +} + +# GIFT eval-based frequency weights from actual dataset analysis +GIFT_EVAL_FREQUENCY_WEIGHTS: Dict[Frequency, float] = { + Frequency.H: 25.0, # Hourly - most common + Frequency.D: 23.4, # Daily - second most common + Frequency.W: 12.9, # Weekly - third most common + Frequency.T15: 9.7, # 15-minute + Frequency.T5: 9.7, # 5-minute + Frequency.M: 7.3, # Monthly + Frequency.T10: 4.8, # 10-minute + Frequency.S: 4.8, # 10-second + Frequency.T1: 1.6, # 1-minute + Frequency.Q: 0.8, # Quarterly + Frequency.A: 0.8, # Annual +} + +# GIFT eval-based length ranges derived from actual dataset analysis +# Format: (min_length, max_length, optimal_start, optimal_end) +GIFT_EVAL_LENGTH_RANGES: Dict[Frequency, Tuple[int, int, int, int]] = { + # Low frequency ranges (based on actual GIFT eval data + logical extensions) + Frequency.A: (25, 100, 30, 70), + Frequency.Q: (25, 150, 50, 120), + Frequency.M: (40, 1000, 100, 600), + Frequency.W: (50, 3500, 100, 1500), + # Medium frequency ranges + Frequency.D: (150, 25000, 300, 7000), # Daily: covers 1-year+ scenarios + Frequency.H: (600, 35000, 700, 17000), + # High frequency ranges (extended for shorter realistic scenarios) + Frequency.T1: (200, 2500, 1200, 1800), # 1-minute: day to few days + Frequency.S: (7500, 9500, 7900, 9000), + Frequency.T15: (1000, 140000, 50000, 130000), + Frequency.T5: (200, 105000, 20000, 95000), + Frequency.T10: (40000, 55000, 47000, 52000), + Frequency.T30: (100, 50000, 10000, 40000), +} + + +# ============================================================================ +# Frequency Parsing and Validation +# ============================================================================ + + +def parse_frequency(freq_str: str) -> Frequency: + """ + Parse frequency string to Frequency enum, robust to variations. + + Handles various frequency string formats: + - Standard: "A", "Q", "M", "W", "D", "H", "S" + - Pandas-style: "A-DEC", "W-SUN", "QE-MAR" + - Minutes: "5T", "10min", "1T" + - Case variations: "a", "h", "D" + + Args: + freq_str: The frequency string to parse (e.g., "5T", "W-SUN", "M") + + Returns: + Corresponding Frequency enum member + + Raises: + ValueError: If the frequency string is not supported + """ + # Handle minute-based frequencies BEFORE pandas standardization + # because pandas converts "5T" to just "min", losing the multiplier + minute_match = re.match(r"^(\d*)T$", freq_str, re.IGNORECASE) or re.match( + r"^(\d*)min$", freq_str, re.IGNORECASE + ) + if minute_match: + multiplier = int(minute_match.group(1)) if minute_match.group(1) else 1 + enum_key = f"T{multiplier}" + try: + return Frequency[enum_key] + except KeyError: + logger.warning( + f"Unsupported minute frequency '{freq_str}' (multiplier: {multiplier}). " + f"Falling back to '1min' ({Frequency.T1.value})." + ) + return Frequency.T1 + + # Now standardize frequency string for other cases + try: + offset = pd.tseries.frequencies.to_offset(freq_str) + standardized_freq = offset.name + except Exception: + standardized_freq = freq_str + + # Handle other frequencies by their base (e.g., 'W-SUN' -> 'W', 'A-DEC' -> 'A') + base_freq = standardized_freq.split("-")[0].upper() + + freq_map = { + "A": Frequency.A, + "Y": Frequency.A, # Alias for Annual + "YE": Frequency.A, # Alias for Annual + "Q": Frequency.Q, + "QE": Frequency.Q, # Alias for Quarterly + "M": Frequency.M, + "ME": Frequency.M, # Alias for Monthly + "W": Frequency.W, + "D": Frequency.D, + "H": Frequency.H, + "S": Frequency.S, + } + + if base_freq in freq_map: + return freq_map[base_freq] + + raise NotImplementedError(f"Frequency '{standardized_freq}' is not supported.") + + +def validate_frequency_safety( + start_date: np.datetime64, total_length: int, frequency: Frequency +) -> bool: + """ + Check if start date and frequency combination is safe for pandas datetime operations. + + This function verifies that pd.date_range(start=start_date, periods=total_length, freq=freq_str) + will not raise an OutOfBoundsDatetime error, accounting for pandas' datetime bounds + (1677-09-21 to 2262-04-11) and realistic frequency limitations. + + Args: + start_date: The proposed start date for the time series + total_length: Total length of the time series + frequency: The frequency of the time series + + Returns: + True if the combination is safe, False otherwise + """ + try: + # Get the pandas frequency string + freq_str = frequency.to_pandas_freq(for_date_range=True) + + # Convert numpy datetime64 to pandas Timestamp for date_range + start_pd = pd.Timestamp(start_date) + + # Check if start date is within pandas' valid datetime range + if start_pd < pd.Timestamp.min or start_pd > pd.Timestamp.max: + return False + + # Check maximum length constraints + max_length = frequency.get_max_safe_length() + if total_length > max_length: + return False + + # For low frequencies, be extra conservative + if frequency.is_low_frequency(): + if frequency == Frequency.A and total_length > 500: # Max ~500 years + return False + elif frequency == Frequency.Q and total_length > 2000: # Max ~500 years + return False + elif frequency == Frequency.M and total_length > 6000: # Max ~500 years + return False + + # Calculate approximate end date + days_per_period = frequency.get_days_per_period() + approx_days = total_length * days_per_period + + # For annual/quarterly frequencies, add extra safety margin + if frequency in [Frequency.A, Frequency.Q]: + approx_days *= 1.1 # 10% safety margin + + end_date = start_pd + pd.Timedelta(days=approx_days) + + # Check if end date is within pandas' valid datetime range + if end_date < pd.Timestamp.min or end_date > pd.Timestamp.max: + return False + + # Try to create the date range as final validation + pd.date_range(start=start_pd, periods=total_length, freq=freq_str) + return True + + except (pd.errors.OutOfBoundsDatetime, OverflowError, ValueError): + return False + + +# ============================================================================ +# Frequency Selection Utilities +# ============================================================================ + + +def select_safe_random_frequency(total_length: int, rng: Generator) -> Frequency: + """ + Select a random frequency suitable for a given total length of a time series, + based on actual GIFT eval dataset patterns and distributions. + + The selection logic: + 1. Filters frequencies that can handle the given total_length + 2. Applies base weights derived from actual GIFT eval frequency distribution + 3. Strongly boosts frequencies that are in their optimal length ranges + 4. Handles edge cases gracefully with fallbacks + + Args: + total_length: The total length of the time series (history + future) + rng: A numpy random number generator instance + + Returns: + A randomly selected frequency that matches GIFT eval patterns + """ + # Find valid frequencies and calculate weighted scores + valid_frequencies = [] + frequency_scores = [] + + for freq in Frequency: + # Check basic timestamp overflow limits + max_allowed = freq.get_max_safe_length() + if total_length > max_allowed: + continue + + # Check if frequency has defined ranges + min_len, max_len, optimal_start, optimal_end = freq.get_length_range() + + # Must be within the frequency's realistic range + if total_length < min_len or total_length > max_len: + continue + + valid_frequencies.append(freq) + + # Calculate fitness score based on GIFT eval patterns + base_weight = freq.get_gift_eval_weight() + + # Enhanced length-based fitness scoring + if optimal_start <= total_length <= optimal_end: + # In optimal range - very strong preference + length_multiplier = 5.0 + else: + # Outside optimal but within valid range - calculate penalty + if total_length < optimal_start: + # Below optimal range + distance_ratio = (optimal_start - total_length) / ( + optimal_start - min_len + ) + else: + # Above optimal range + distance_ratio = (total_length - optimal_end) / (max_len - optimal_end) + + # Apply graduated penalty: closer to optimal = higher score + length_multiplier = 0.3 + 1.2 * (1.0 - distance_ratio) # Range: 0.3-1.5 + + final_score = base_weight * length_multiplier + frequency_scores.append(final_score) + + # Handle edge cases with smart fallbacks + if not valid_frequencies: + # Fallback strategy based on typical length patterns + if total_length <= 100: + # Very short series - prefer low frequencies + fallback_order = [ + Frequency.A, + Frequency.Q, + Frequency.M, + Frequency.W, + Frequency.D, + ] + elif total_length <= 1000: + # Medium short series - prefer daily/weekly + fallback_order = [Frequency.D, Frequency.W, Frequency.H, Frequency.M] + else: + # Longer series - prefer higher frequencies + fallback_order = [Frequency.H, Frequency.D, Frequency.T15, Frequency.T5] + + for fallback_freq in fallback_order: + max_allowed = fallback_freq.get_max_safe_length() + if total_length <= max_allowed: + return fallback_freq + # Last resort + return Frequency.D + + if len(valid_frequencies) == 1: + return valid_frequencies[0] + + # Select based on weighted probabilities + scores = np.array(frequency_scores) + probabilities = scores / scores.sum() + + return rng.choice(valid_frequencies, p=probabilities) + + +def select_safe_start_date( + total_length: int, + frequency: Frequency, + rng: Generator = np.random.default_rng(), + max_retries: int = 10, +) -> np.datetime64: + """ + Select a safe start date that ensures the entire time series (history + future) + will not exceed pandas' datetime bounds. + + Args: + total_length: Total length of the time series (history + future) + frequency: Time series frequency + rng: Random number generator instance + max_retries: Maximum number of retry attempts + + Returns: + A safe start date that prevents timestamp overflow + + Raises: + ValueError: If no safe start date is found after max_retries or if the required + time span exceeds the available date window + """ + days_per_period = frequency.get_days_per_period() + + # Calculate approximate duration in days + total_days = total_length * days_per_period + + # Define safe bounds: ensure end date doesn't exceed BASE_END_DATE + latest_safe_start = BASE_END_DATE - np.timedelta64(int(total_days), "D") + earliest_safe_start = BASE_START_DATE + + # Check if the required time span exceeds the available window + if latest_safe_start < earliest_safe_start: + available_days = ( + (BASE_END_DATE - BASE_START_DATE).astype("timedelta64[D]").astype(int) + ) + available_years = available_days / 365.25 + required_years = total_days / 365.25 + raise ValueError( + f"Required time span ({required_years:.1f} years, {total_days:.0f} days) " + f"exceeds available date window ({available_years:.1f} years, {available_days} days). " + f"Reduce total_length ({total_length}) or extend the date window." + ) + + # Convert to nanoseconds for random sampling + earliest_ns = earliest_safe_start.astype("datetime64[ns]").astype(np.int64) + latest_ns = latest_safe_start.astype("datetime64[ns]").astype(np.int64) + + for _ in range(max_retries): + # Uniformly sample a start date within bounds + random_ns = rng.integers(earliest_ns, latest_ns + 1) + start_date = np.datetime64(int(random_ns), "ns") + + # Verify safety + if validate_frequency_safety(start_date, total_length, frequency): + return start_date + + # Default to base start date if no safe start date is found + return BASE_START_DATE diff --git a/src/data/loaders.py b/src/data/loaders.py new file mode 100644 index 0000000000000000000000000000000000000000..c5e886d9a740e17d41072c3ebfc3e25b11c79c25 --- /dev/null +++ b/src/data/loaders.py @@ -0,0 +1,661 @@ +import logging +import random +from typing import Dict, Iterator, List, Optional + +import numpy as np +import pandas as pd +import torch + +from src.data.batch_composer import BatchComposer, ComposedDataset +from src.data.containers import BatchTimeSeriesContainer +from src.data.frequency import parse_frequency +from src.gift_eval.constants import ALL_DATASETS +from src.gift_eval.data import Dataset as GiftEvalDataset + +logger = logging.getLogger(__name__) + + +class GiftEvalDataLoader: + """ + Data loader for GIFT-eval datasets, converting them to BatchTimeSeriesContainer format. + Supports both training and validation modes. + """ + + TERMS = ["short", "medium", "long"] + + def __init__( + self, + mode: str = "train", + batch_size: int = 32, + device: Optional[torch.device] = None, + shuffle: bool = True, + to_univariate: bool = False, + max_context_length: Optional[int] = None, + max_windows: int = 20, + skip_datasets_with_nans: bool = False, + datasets_to_use: Optional[List[str]] = None, + dataset_storage_path: Optional[str] = None, + ): + """ + Initialize GIFT-eval data loader. + + Args: + mode: Either "train" or "validation" + batch_size: Number of samples per batch + device: Device to load data to + shuffle: Whether to shuffle data + to_univariate: Whether to convert multivariate data to multiple univariate series + max_context_length: Optional maximum total window length (context + forecast) to prevent memory issues + max_windows: Number of windows to use for training/validation + skip_datasets_with_nans: Whether to skip datasets/series that contain NaN values + datasets_to_use: Optional list of dataset names to use. If None, uses all available datasets + dataset_storage_path: Path on disk where GIFT-eval HuggingFace datasets are stored + """ + # Use specified datasets or all available datasets if none specified + if datasets_to_use is not None and len(datasets_to_use) > 0: + # Validate that requested datasets are available + invalid_datasets = [ds for ds in datasets_to_use if ds not in ALL_DATASETS] + if invalid_datasets: + logger.warning(f"Invalid datasets requested: {invalid_datasets}") + logger.warning(f"Available datasets: {ALL_DATASETS}") + # Use only valid datasets + self.dataset_names = [ + ds for ds in datasets_to_use if ds in ALL_DATASETS + ] + else: + self.dataset_names = datasets_to_use + else: + self.dataset_names = ALL_DATASETS + + # Log dataset selection + if datasets_to_use is not None and len(datasets_to_use) > 0: + logger.info( + f"Using subset of datasets: {len(self.dataset_names)}/{len(ALL_DATASETS)} datasets" + ) + logger.info(f"Selected datasets: {self.dataset_names}") + else: + logger.info( + f"Using all available datasets: {len(self.dataset_names)} datasets" + ) + + self.terms = self.TERMS + self.mode = mode + self.batch_size = batch_size + self.device = device + self.shuffle = shuffle + self.to_univariate = to_univariate + self.max_context_length = max_context_length + self.skip_datasets_with_nans = skip_datasets_with_nans + + # Window configuration based on mode + self.max_windows = max_windows + self.dataset_storage_path = dataset_storage_path + + # Load all datasets and prepare data + self._load_datasets() + + # Create iterator state + self._current_idx = 0 + self._epoch_data = [] + self._prepare_epoch_data() + + def _load_datasets(self) -> None: + """Load all specified GIFT-eval datasets.""" + self.datasets = {} + self.dataset_prediction_lengths = {} + + for dataset_name in self.dataset_names: + if dataset_name.startswith("m4_"): + max_windows = 1 + else: + max_windows = self.max_windows + try: + # Determine if we need univariate conversion + # First check with multivariate to see target dimension + temp_dataset = GiftEvalDataset( + name=dataset_name, + term=self.terms[0], # Use first term to check dimensionality + to_univariate=False, + max_windows=max_windows, + storage_path=self.dataset_storage_path, + ) + + # Convert to univariate if needed + to_univariate = self.to_univariate and temp_dataset.target_dim > 1 + + # Load datasets for all terms + for term in self.terms: + dataset_key = f"{dataset_name}_{term}" + dataset = GiftEvalDataset( + name=dataset_name, + term=term, + to_univariate=to_univariate, + max_windows=max_windows, + storage_path=self.dataset_storage_path, + ) + + self.datasets[dataset_key] = dataset + self.dataset_prediction_lengths[dataset_key] = ( + dataset.prediction_length + ) + + logger.info( + f"Loaded {dataset_key} - prediction_length: {dataset.prediction_length}, " + f"frequency: {dataset.freq}, target_dim: {dataset.target_dim}, " + f"min_length: {dataset._min_series_length}, windows: {dataset.windows}" + ) + + except Exception as e: + logger.warning(f"Failed to load dataset {dataset_name}: {str(e)}") + continue + + def _contains_nan(self, data_entry: dict) -> bool: + """Check if a data entry contains NaN values.""" + target = data_entry.get("target") + if target is None: + return False + + # Convert to numeric numpy array for robust NaN checking + try: + target_np = np.asarray(target, dtype=np.float32) + return np.isnan(target_np).any() + except Exception: + logger.warning( + "NaN check: failed to coerce target to float32; skipping entry" + ) + return True + + def _convert_to_container( + self, data_entries: List[dict], prediction_length: int, dataset_freq: str + ) -> BatchTimeSeriesContainer: + """Convert a batch of data entries to BatchTimeSeriesContainer format with fixed future length.""" + batch_size = len(data_entries) + max_history_len = 0 + + # First pass: determine max history length after truncation + for entry in data_entries: + target = np.asarray(entry["target"], dtype=np.float32) + if target.ndim == 1: + target = target.reshape(1, -1) + + _, seq_len = target.shape + + # Only consider up to the last (max_context_length) values + effective_max_context = ( + self.max_context_length + if self.max_context_length is not None + else seq_len + ) + if seq_len > effective_max_context: + seq_len = effective_max_context + + # History is up to (max_context_length - prediction_length) + history_len = max( + 0, min(seq_len, effective_max_context) - prediction_length + ) + max_history_len = max(max_history_len, history_len) + + # Get number of channels from first entry + first_target = np.asarray(data_entries[0]["target"], dtype=np.float32) + if first_target.ndim == 1: + # Shape to [channels, time] + first_target = first_target.reshape(1, -1) + num_channels = first_target.shape[0] + + # Allocate arrays + history_values = np.full( + (batch_size, max_history_len, num_channels), np.nan, dtype=np.float32 + ) + future_values = np.full( + (batch_size, prediction_length, num_channels), np.nan, dtype=np.float32 + ) + history_mask = np.zeros((batch_size, max_history_len), dtype=bool) + + # Second pass: fill arrays + for i, entry in enumerate(data_entries): + target = np.asarray(entry["target"], dtype=np.float32) + if target.ndim == 1: + target = target.reshape(1, -1) + + # Truncate to last effective_max_context points if needed + full_seq_len = target.shape[1] + total_len_allowed = ( + self.max_context_length + if self.max_context_length is not None + else full_seq_len + ) + total_len_for_entry = min(full_seq_len, total_len_allowed) + + if total_len_for_entry < prediction_length + 1: + # Not enough length to build (history + future). Signal to caller. + raise ValueError( + "Entry too short after max_context_length truncation to form history+future window" + ) + + truncated = target[:, -total_len_for_entry:] + cur_history_len = total_len_for_entry - prediction_length + + hist = truncated[:, :cur_history_len] # [C, H] + fut = truncated[ + :, cur_history_len : cur_history_len + prediction_length + ] # [C, P] + + # Write into batch arrays with time last -> transpose to [H, C] / [P, C] + history_values[i, :cur_history_len, :] = hist.T + future_values[i, :, :] = fut.T + history_mask[i, :cur_history_len] = True + + # Get start timestamp and frequency (replicate across batch) + start_timestamp = data_entries[0]["start"] + if hasattr(start_timestamp, "to_timestamp"): + start_numpy = start_timestamp.to_timestamp().to_numpy() + else: + start_numpy = pd.Timestamp(start_timestamp).to_numpy() + start_list = [start_numpy for _ in range(batch_size)] + + # Get frequency enum and replicate across batch + frequency_enum = parse_frequency(dataset_freq) + frequency_list = [frequency_enum for _ in range(batch_size)] + + # Create the container + return BatchTimeSeriesContainer( + history_values=torch.tensor(history_values, dtype=torch.float32), + future_values=torch.tensor(future_values, dtype=torch.float32), + start=start_list, + frequency=frequency_list, + history_mask=torch.tensor(history_mask, dtype=torch.bool) + if self.mode == "train" + else None, + ) + + def _prepare_epoch_data(self) -> None: + """Prepare all batches for one epoch.""" + self._epoch_data = [] + + for dataset_key, dataset in self.datasets.items(): + try: + # Get appropriate dataset based on mode + if self.mode == "train": + data = dataset.training_dataset + else: + data = dataset.validation_dataset + + # Collect all valid data entries + valid_entries = [] + dataset_freq = dataset.freq + prediction_length = self.dataset_prediction_lengths[dataset_key] + + for entry in data: + # Skip if contains NaN and configured to do so + if self.skip_datasets_with_nans and self._contains_nan(entry): + continue + + # Check if we have enough data + target = np.asarray(entry["target"]) + if target.ndim == 1: + seq_len = len(target) + else: + seq_len = target.shape[1] + + # Need at least prediction_length + 1 for training + if self.mode == "train" and seq_len < prediction_length + 1: + continue + + valid_entries.append(entry) + + if not valid_entries: + logger.warning(f"No valid entries found for {dataset_key}") + continue + + # Create batches + for i in range(0, len(valid_entries), self.batch_size): + batch_entries = valid_entries[i : i + self.batch_size] + try: + batch_container = self._convert_to_container( + batch_entries, prediction_length, dataset_freq + ) + self._epoch_data.append((dataset_key, batch_container)) + except Exception as e: + logger.warning( + f"Failed to create batch for {dataset_key}: {str(e)}" + ) + continue + + except Exception as e: + logger.warning( + f"Failed to process dataset {dataset_key}: {str(e)}. " + f"Dataset may be too short for the required offset." + ) + continue + + # Shuffle if in training mode + if self.mode == "train" and self.shuffle: + random.shuffle(self._epoch_data) + + logger.info(f"Prepared {len(self._epoch_data)} batches for {self.mode} mode") + + def __iter__(self) -> Iterator[BatchTimeSeriesContainer]: + """Iterate through batches for one epoch.""" + # Reset index at the start of each epoch + self._current_idx = 0 + + # Reshuffle data for each new epoch if in training mode + if self.mode == "train" and self.shuffle: + random.shuffle(self._epoch_data) + + return self + + def __next__(self) -> BatchTimeSeriesContainer: + """Get next batch.""" + if not self._epoch_data: + raise StopIteration("No valid data available") + + # Check if we've exhausted the epoch + if self._current_idx >= len(self._epoch_data): + raise StopIteration + + # Get current batch + dataset_key, batch = self._epoch_data[self._current_idx] + self._current_idx += 1 + + # Move to device if specified + if self.device is not None: + batch.to_device(self.device) + + return batch + + def __len__(self) -> int: + """Return number of batches per epoch.""" + return len(self._epoch_data) + + +class CyclicGiftEvalDataLoader: + """ + Wrapper for GiftEvalDataLoader that provides cycling behavior for training. + This allows training for a fixed number of iterations per epoch, cycling through + the available data as needed. + """ + + def __init__(self, base_loader: GiftEvalDataLoader, num_iterations_per_epoch: int): + """ + Initialize the cyclic data loader. + + Args: + base_loader: The underlying GiftEvalDataLoader + num_iterations_per_epoch: Number of iterations to run per epoch + """ + self.base_loader = base_loader + self.num_iterations_per_epoch = num_iterations_per_epoch + self.dataset_names = base_loader.dataset_names + self.device = base_loader.device + + def __iter__(self) -> Iterator[BatchTimeSeriesContainer]: + """Iterate for exactly num_iterations_per_epoch iterations.""" + self._current_iteration = 0 + self._base_iter = iter(self.base_loader) + return self + + def __next__(self) -> BatchTimeSeriesContainer: + """Get next batch, cycling through base loader as needed.""" + if self._current_iteration >= self.num_iterations_per_epoch: + raise StopIteration + + try: + batch = next(self._base_iter) + except StopIteration: + # Restart the base iterator when exhausted + self._base_iter = iter(self.base_loader) + batch = next(self._base_iter) + + self._current_iteration += 1 + return batch + + def __len__(self) -> int: + """Return the configured number of iterations per epoch.""" + return self.num_iterations_per_epoch + + +def create_synthetic_dataloader( + base_data_dir: str, + batch_size: int = 128, + num_batches_per_epoch: int = 1000, + generator_proportions: Optional[Dict[str, float]] = None, + mixed_batches: bool = True, + augmentations: Optional[Dict[str, bool]] = None, + augmentation_probabilities: Optional[Dict[str, float]] = None, + device: Optional[torch.device] = None, + num_workers: int = 0, + pin_memory: bool = True, + global_seed: int = 42, + nan_stats_path: Optional[str] = None, + nan_patterns_path: Optional[str] = None, + chosen_scaler_name: Optional[str] = None, +) -> torch.utils.data.DataLoader: + """ + Create a PyTorch DataLoader for training with saved generator batches. + + Args: + base_data_dir: Base directory containing generator subdirectories + batch_size: Size of each training batch + num_batches_per_epoch: Number of batches per epoch + generator_proportions: Dict mapping generator names to proportions + mixed_batches: Whether to create mixed or uniform batches + augmentations: Dict mapping augmentation names to booleans + augmentation_probabilities: Dict mapping augmentation names to probabilities + device: Target device + num_workers: Number of DataLoader workers + pin_memory: Whether to pin memory + global_seed: Global random seed + nan_stats_path: Path to nan stats file + chosen_scaler_name: Name of the scaler that used in training + + Returns: + PyTorch DataLoader + """ + + # Create batch composer + composer = BatchComposer( + base_data_dir=base_data_dir, + generator_proportions=generator_proportions, + mixed_batches=mixed_batches, + device=device, + augmentations=augmentations, + augmentation_probabilities=augmentation_probabilities, + global_seed=global_seed, + nan_stats_path=nan_stats_path, + nan_patterns_path=nan_patterns_path, + chosen_scaler_name=chosen_scaler_name, + ) + + # Create dataset + dataset = ComposedDataset( + batch_composer=composer, + num_batches_per_epoch=num_batches_per_epoch, + batch_size=batch_size, + ) + + # Custom collate function for BatchTimeSeriesContainer + def collate_fn(batch): + """Custom collate function that returns a single BatchTimeSeriesContainer.""" + # Since each item is already a BatchTimeSeriesContainer with batch_size samples, + # and DataLoader batch_size=1, we just return the first (and only) item + return batch[0] + + # Create DataLoader + dataloader = torch.utils.data.DataLoader( + dataset, + batch_size=1, # Each dataset item is already a complete batch + shuffle=False, + num_workers=num_workers, + pin_memory=pin_memory, + collate_fn=collate_fn, + drop_last=False, + ) + + logger.info( + f"Created DataLoader with {len(dataset)} batches per epoch, " + f"batch_size={batch_size}, mixed_batches={mixed_batches}" + ) + + return dataloader + + +class SyntheticValidationDataset(torch.utils.data.Dataset): + """ + Fixed synthetic validation dataset that generates a small number of batches + using the same composition approach as training data. + """ + + def __init__( + self, + base_data_dir: str, + batch_size: int = 128, + num_batches: int = 2, + future_length: int = 512, + generator_proportions: Optional[Dict[str, float]] = None, + augmentations: Optional[Dict[str, bool]] = None, + augmentation_probabilities: Optional[Dict[str, float]] = None, + device: Optional[torch.device] = None, + global_seed: int = 42, + chosen_scaler_name: Optional[str] = None, + nan_stats_path: Optional[str] = None, + nan_patterns_path: Optional[str] = None, + rank: int = 0, + world_size: int = 1, + ): + """ + Initialize the validation dataset. + + Args: + base_data_dir: Base directory containing generator subdirectories + batch_size: Size of each validation batch + num_batches: Number of validation batches to generate (1 or 2) + generator_proportions: Dict mapping generator names to proportions + device: Device to load tensors to + global_seed: Global random seed + chosen_scaler_name: Name of the scaler that used in training + """ + self.batch_size = batch_size + self.num_batches = num_batches + self.device = device + + # Create batch composer; force validation to use max-length windows (no length shortening) + val_augmentations = dict(augmentations or {}) + val_augmentations["length_shortening"] = False + + self.batch_composer = BatchComposer( + base_data_dir=base_data_dir, + generator_proportions=generator_proportions, + mixed_batches=True, # Use mixed batches for validation + device=device, + global_seed=global_seed + 999999, + augmentations=val_augmentations, + augmentation_probabilities=augmentation_probabilities, + nan_stats_path=nan_stats_path, + nan_patterns_path=nan_patterns_path, + chosen_scaler_name=chosen_scaler_name, + rank=rank, + world_size=world_size, + ) + + # Pre-generate fixed validation batches + self.validation_batches = [] + for i in range(num_batches): + batch, _ = self.batch_composer.create_batch( + batch_size=batch_size, + future_length=future_length, + seed=global_seed + + 999999 + + i, # Fixed seeds for reproducible validation + ) + self.validation_batches.append(batch) + + logger.info( + f"Created {num_batches} fixed validation batches with batch_size={batch_size}" + ) + + def __len__(self) -> int: + return self.num_batches + + def __getitem__(self, idx: int) -> BatchTimeSeriesContainer: + """ + Get a pre-generated validation batch by index. + + Args: + idx: Batch index + + Returns: + BatchTimeSeriesContainer + """ + if idx >= len(self.validation_batches): + raise IndexError(f"Batch index {idx} out of range") + + batch = self.validation_batches[idx] + + # Move to device if needed + if self.device is not None: + batch.to_device(self.device) + + return batch + + +def create_synthetic_dataset( + base_data_dir: str, + batch_size: int = 128, + num_batches_per_epoch: int = 1000, + generator_proportions: Optional[Dict[str, float]] = None, + mixed_batches: bool = True, + augmentations: Optional[Dict[str, bool]] = None, + augmentation_probabilities: Optional[Dict[str, float]] = None, + global_seed: int = 42, + nan_stats_path: Optional[str] = None, + nan_patterns_path: Optional[str] = None, + chosen_scaler_name: Optional[str] = None, + rank: int = 0, + world_size: int = 1, +) -> ComposedDataset: + """ + Creates the ComposedDataset for training with saved generator batches. + + Args: + base_data_dir: Base directory containing generator subdirectories. + batch_size: Size of each training batch. + num_batches_per_epoch: Number of batches per epoch. + generator_proportions: Dict mapping generator names to proportions. + mixed_batches: Whether to create mixed or uniform batches. + augmentations: Dict mapping augmentation names to booleans. + global_seed: Global random seed. + nan_stats_path: Path to nan stats file. + chosen_scaler_name: Name of the scaler to use. + Returns: + A ComposedDataset instance. + """ + # Create batch composer + composer = BatchComposer( + base_data_dir=base_data_dir, + generator_proportions=generator_proportions, + mixed_batches=mixed_batches, + device=None, # Device is handled in the training loop + augmentations=augmentations, + augmentation_probabilities=augmentation_probabilities, + global_seed=global_seed, + nan_stats_path=nan_stats_path, + nan_patterns_path=nan_patterns_path, + chosen_scaler_name=chosen_scaler_name, + rank=rank, + world_size=world_size, + ) + + # Create and return the dataset + dataset = ComposedDataset( + batch_composer=composer, + num_batches_per_epoch=num_batches_per_epoch, + batch_size=batch_size, + ) + + logger.info( + f"Created ComposedDataset with {len(dataset)} batches per epoch, " + f"batch_size={batch_size}, mixed_batches={mixed_batches}" + ) + + return dataset \ No newline at end of file diff --git a/src/data/scalers.py b/src/data/scalers.py new file mode 100644 index 0000000000000000000000000000000000000000..07cc5c55e04f4f69bc07e74e1aaeedd9059fd0ba --- /dev/null +++ b/src/data/scalers.py @@ -0,0 +1,360 @@ +from abc import ABC, abstractmethod +from typing import Dict, Optional + +import torch + + +class BaseScaler(ABC): + """ + Abstract base class for time series scalers. + + Defines the interface for scaling multivariate time series data with support + for masked values and channel-wise scaling. + """ + + @abstractmethod + def compute_statistics( + self, history_values: torch.Tensor, history_mask: Optional[torch.Tensor] = None + ) -> Dict[str, torch.Tensor]: + """ + Compute scaling statistics from historical data. + """ + pass + + @abstractmethod + def scale( + self, data: torch.Tensor, statistics: Dict[str, torch.Tensor] + ) -> torch.Tensor: + """ + Apply scaling transformation to data. + """ + pass + + @abstractmethod + def inverse_scale( + self, scaled_data: torch.Tensor, statistics: Dict[str, torch.Tensor] + ) -> torch.Tensor: + """ + Apply inverse scaling transformation to recover original scale. + """ + pass + + +class RobustScaler(BaseScaler): + """ + Robust scaler using median and IQR for normalization. + """ + + def __init__(self, epsilon: float = 1e-6, min_scale: float = 1e-3): + if epsilon <= 0: + raise ValueError("epsilon must be positive") + if min_scale <= 0: + raise ValueError("min_scale must be positive") + self.epsilon = epsilon + self.min_scale = min_scale + + def compute_statistics( + self, history_values: torch.Tensor, history_mask: Optional[torch.Tensor] = None + ) -> Dict[str, torch.Tensor]: + """ + Compute median and IQR statistics from historical data with improved numerical stability. + """ + batch_size, seq_len, num_channels = history_values.shape + device = history_values.device + + medians = torch.zeros(batch_size, 1, num_channels, device=device) + iqrs = torch.ones(batch_size, 1, num_channels, device=device) + + for b in range(batch_size): + for c in range(num_channels): + channel_data = history_values[b, :, c] + + if history_mask is not None: + mask = history_mask[b, :].bool() + valid_data = channel_data[mask] + else: + valid_data = channel_data + + if len(valid_data) == 0: + continue + + valid_data = valid_data[torch.isfinite(valid_data)] + + if len(valid_data) == 0: + continue + + median_val = torch.median(valid_data) + medians[b, 0, c] = median_val + + if len(valid_data) > 1: + try: + q75 = torch.quantile(valid_data, 0.75) + q25 = torch.quantile(valid_data, 0.25) + iqr_val = q75 - q25 + iqr_val = torch.max( + iqr_val, torch.tensor(self.min_scale, device=device) + ) + iqrs[b, 0, c] = iqr_val + except Exception: + std_val = torch.std(valid_data) + iqrs[b, 0, c] = torch.max( + std_val, torch.tensor(self.min_scale, device=device) + ) + else: + iqrs[b, 0, c] = self.min_scale + + return {"median": medians, "iqr": iqrs} + + def scale( + self, data: torch.Tensor, statistics: Dict[str, torch.Tensor] + ) -> torch.Tensor: + """ + Apply robust scaling: (data - median) / (iqr + epsilon). + """ + median = statistics["median"] + iqr = statistics["iqr"] + + denominator = torch.max( + iqr + self.epsilon, torch.tensor(self.min_scale, device=iqr.device) + ) + scaled_data = (data - median) / denominator + scaled_data = torch.clamp(scaled_data, -50.0, 50.0) + + return scaled_data + + def inverse_scale( + self, scaled_data: torch.Tensor, statistics: Dict[str, torch.Tensor] + ) -> torch.Tensor: + """ + Apply inverse robust scaling, now compatible with 3D or 4D tensors. + """ + median = statistics["median"] + iqr = statistics["iqr"] + + denominator = torch.max( + iqr + self.epsilon, torch.tensor(self.min_scale, device=iqr.device) + ) + + if scaled_data.ndim == 4: + denominator = denominator.unsqueeze(-1) + median = median.unsqueeze(-1) + + return scaled_data * denominator + median + + +class MinMaxScaler(BaseScaler): + """ + Min-Max scaler that normalizes data to the range [-1, 1]. + """ + + def __init__(self, epsilon: float = 1e-8): + if epsilon <= 0: + raise ValueError("epsilon must be positive") + self.epsilon = epsilon + + def compute_statistics( + self, history_values: torch.Tensor, history_mask: Optional[torch.Tensor] = None + ) -> Dict[str, torch.Tensor]: + """ + Compute min and max statistics from historical data. + """ + batch_size, seq_len, num_channels = history_values.shape + device = history_values.device + + mins = torch.zeros(batch_size, 1, num_channels, device=device) + maxs = torch.ones(batch_size, 1, num_channels, device=device) + + for b in range(batch_size): + for c in range(num_channels): + channel_data = history_values[b, :, c] + + if history_mask is not None: + mask = history_mask[b, :].bool() + valid_data = channel_data[mask] + else: + valid_data = channel_data + + if len(valid_data) == 0: + continue + + min_val = torch.min(valid_data) + max_val = torch.max(valid_data) + + mins[b, 0, c] = min_val + maxs[b, 0, c] = max_val + + if torch.abs(max_val - min_val) < self.epsilon: + maxs[b, 0, c] = min_val + 1.0 + + return {"min": mins, "max": maxs} + + def scale( + self, data: torch.Tensor, statistics: Dict[str, torch.Tensor] + ) -> torch.Tensor: + """ + Apply min-max scaling to range [-1, 1]. + """ + min_val = statistics["min"] + max_val = statistics["max"] + + normalized = (data - min_val) / (max_val - min_val + self.epsilon) + return normalized * 2.0 - 1.0 + + def inverse_scale( + self, scaled_data: torch.Tensor, statistics: Dict[str, torch.Tensor] + ) -> torch.Tensor: + """ + Apply inverse min-max scaling, now compatible with 3D or 4D tensors. + """ + min_val = statistics["min"] + max_val = statistics["max"] + + if scaled_data.ndim == 4: + min_val = min_val.unsqueeze(-1) + max_val = max_val.unsqueeze(-1) + + normalized = (scaled_data + 1.0) / 2.0 + return normalized * (max_val - min_val + self.epsilon) + min_val + + +class MeanScaler(BaseScaler): + """ + A scaler that centers the data by subtracting the channel-wise mean. + + This scaler only performs centering and does not affect the scale of the data. + """ + + def compute_statistics( + self, history_values: torch.Tensor, history_mask: Optional[torch.Tensor] = None + ) -> Dict[str, torch.Tensor]: + """ + Compute the mean for each channel from historical data. + """ + batch_size, seq_len, num_channels = history_values.shape + device = history_values.device + + # Initialize a tensor to store the mean for each channel in each batch item + means = torch.zeros(batch_size, 1, num_channels, device=device) + + for b in range(batch_size): + for c in range(num_channels): + channel_data = history_values[b, :, c] + + # Use the mask to select only valid (observed) data points + if history_mask is not None: + mask = history_mask[b, :].bool() + valid_data = channel_data[mask] + else: + valid_data = channel_data + + # Skip if there's no valid data for this channel + if len(valid_data) == 0: + continue + + # Filter out non-finite values like NaN or Inf before computing + valid_data = valid_data[torch.isfinite(valid_data)] + + if len(valid_data) == 0: + continue + + # Compute the mean and store it + means[b, 0, c] = torch.mean(valid_data) + + return {"mean": means} + + def scale( + self, data: torch.Tensor, statistics: Dict[str, torch.Tensor] + ) -> torch.Tensor: + """ + Apply mean centering: data - mean. + """ + mean = statistics["mean"] + return data - mean + + def inverse_scale( + self, scaled_data: torch.Tensor, statistics: Dict[str, torch.Tensor] + ) -> torch.Tensor: + """ + Apply inverse mean centering: scaled_data + mean. + + Handles both 3D (e.g., training input) and 4D (e.g., model output samples) tensors. + """ + mean = statistics["mean"] + + # Adjust shape for 4D tensors (batch, seq_len, channels, samples) + if scaled_data.ndim == 4: + mean = mean.unsqueeze(-1) + + return scaled_data + mean + + +class MedianScaler(BaseScaler): + """ + A scaler that centers the data by subtracting the channel-wise median. + + This scaler only performs centering and does not affect the scale of the data. + It is more robust to outliers than the MeanScaler. + """ + + def compute_statistics( + self, history_values: torch.Tensor, history_mask: Optional[torch.Tensor] = None + ) -> Dict[str, torch.Tensor]: + """ + Compute the median for each channel from historical data. + """ + batch_size, seq_len, num_channels = history_values.shape + device = history_values.device + + # Initialize a tensor to store the median for each channel in each batch item + medians = torch.zeros(batch_size, 1, num_channels, device=device) + + for b in range(batch_size): + for c in range(num_channels): + channel_data = history_values[b, :, c] + + # Use the mask to select only valid (observed) data points + if history_mask is not None: + mask = history_mask[b, :].bool() + valid_data = channel_data[mask] + else: + valid_data = channel_data + + # Skip if there's no valid data for this channel + if len(valid_data) == 0: + continue + + # Filter out non-finite values like NaN or Inf before computing + valid_data = valid_data[torch.isfinite(valid_data)] + + if len(valid_data) == 0: + continue + + # Compute the median and store it + medians[b, 0, c] = torch.median(valid_data) + + return {"median": medians} + + def scale( + self, data: torch.Tensor, statistics: Dict[str, torch.Tensor] + ) -> torch.Tensor: + """ + Apply median centering: data - median. + """ + median = statistics["median"] + return data - median + + def inverse_scale( + self, scaled_data: torch.Tensor, statistics: Dict[str, torch.Tensor] + ) -> torch.Tensor: + """ + Apply inverse median centering: scaled_data + median. + + Handles both 3D (e.g., training input) and 4D (e.g., model output samples) tensors. + """ + median = statistics["median"] + + # Adjust shape for 4D tensors (batch, seq_len, channels, samples) + if scaled_data.ndim == 4: + median = median.unsqueeze(-1) + + return scaled_data + median diff --git a/src/data/time_features.py b/src/data/time_features.py new file mode 100644 index 0000000000000000000000000000000000000000..2ce2d10efb4e45b66731d80390cd634aeeec57e3 --- /dev/null +++ b/src/data/time_features.py @@ -0,0 +1,564 @@ +import logging +from typing import Any, Dict, List, Optional + +import numpy as np +import pandas as pd +import scipy.fft as fft +import torch +from gluonts.time_feature import time_features_from_frequency_str +from gluonts.time_feature._base import ( + day_of_month, + day_of_month_index, + day_of_week, + day_of_week_index, + day_of_year, + hour_of_day, + hour_of_day_index, + minute_of_hour, + minute_of_hour_index, + month_of_year, + month_of_year_index, + second_of_minute, + second_of_minute_index, + week_of_year, + week_of_year_index, +) +from gluonts.time_feature.holiday import ( + BLACK_FRIDAY, + CHRISTMAS_DAY, + CHRISTMAS_EVE, + CYBER_MONDAY, + EASTER_MONDAY, + EASTER_SUNDAY, + GOOD_FRIDAY, + INDEPENDENCE_DAY, + LABOR_DAY, + MEMORIAL_DAY, + NEW_YEARS_DAY, + NEW_YEARS_EVE, + THANKSGIVING, + SpecialDateFeatureSet, + exponential_kernel, + squared_exponential_kernel, +) +from gluonts.time_feature.seasonality import get_seasonality +from scipy.signal import find_peaks + +from src.data.constants import BASE_END_DATE, BASE_START_DATE +from src.data.frequency import ( + Frequency, + validate_frequency_safety, +) +from src.utils.utils import device + +# Configure logging +logging.basicConfig( + level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s" +) +logger = logging.getLogger(__name__) + + +# Enhanced feature sets for different frequencies +ENHANCED_TIME_FEATURES = { + # High-frequency features (seconds, minutes) + "high_freq": { + "normalized": [ + second_of_minute, + minute_of_hour, + hour_of_day, + day_of_week, + day_of_month, + ], + "index": [ + second_of_minute_index, + minute_of_hour_index, + hour_of_day_index, + day_of_week_index, + ], + }, + # Medium-frequency features (hourly, daily) + "medium_freq": { + "normalized": [ + hour_of_day, + day_of_week, + day_of_month, + day_of_year, + month_of_year, + ], + "index": [ + hour_of_day_index, + day_of_week_index, + day_of_month_index, + week_of_year_index, + ], + }, + # Low-frequency features (weekly, monthly) + "low_freq": { + "normalized": [day_of_week, day_of_month, month_of_year, week_of_year], + "index": [day_of_week_index, month_of_year_index, week_of_year_index], + }, +} + +# Holiday features for different markets/regions +HOLIDAY_FEATURE_SETS = { + "us_business": [ + NEW_YEARS_DAY, + MEMORIAL_DAY, + INDEPENDENCE_DAY, + LABOR_DAY, + THANKSGIVING, + CHRISTMAS_EVE, + CHRISTMAS_DAY, + NEW_YEARS_EVE, + ], + "us_retail": [ + NEW_YEARS_DAY, + EASTER_SUNDAY, + MEMORIAL_DAY, + INDEPENDENCE_DAY, + LABOR_DAY, + THANKSGIVING, + BLACK_FRIDAY, + CYBER_MONDAY, + CHRISTMAS_EVE, + CHRISTMAS_DAY, + NEW_YEARS_EVE, + ], + "christian": [ + NEW_YEARS_DAY, + GOOD_FRIDAY, + EASTER_SUNDAY, + EASTER_MONDAY, + CHRISTMAS_EVE, + CHRISTMAS_DAY, + NEW_YEARS_EVE, + ], +} + + +class TimeFeatureGenerator: + """ + Enhanced time feature generator that leverages full GluonTS capabilities. + """ + + def __init__( + self, + use_enhanced_features: bool = True, + use_holiday_features: bool = True, + holiday_set: str = "us_business", + holiday_kernel: str = "exponential", + holiday_kernel_alpha: float = 1.0, + use_index_features: bool = True, + k_max: int = 15, + include_seasonality_info: bool = True, + use_auto_seasonality: bool = False, # New parameter + max_seasonal_periods: int = 3, # New parameter + ): + """ + Initialize enhanced time feature generator. + + Parameters + ---------- + use_enhanced_features : bool + Whether to use frequency-specific enhanced features + use_holiday_features : bool + Whether to include holiday features + holiday_set : str + Which holiday set to use ('us_business', 'us_retail', 'christian') + holiday_kernel : str + Holiday kernel type ('indicator', 'exponential', 'squared_exponential') + holiday_kernel_alpha : float + Kernel parameter for exponential kernels + use_index_features : bool + Whether to include index-based features alongside normalized ones + k_max : int + Maximum number of time features to pad to + include_seasonality_info : bool + Whether to include seasonality information as features + use_auto_seasonality : bool + Whether to use automatic FFT-based seasonality detection + max_seasonal_periods : int + Maximum number of seasonal periods to detect automatically + """ + self.use_enhanced_features = use_enhanced_features + self.use_holiday_features = use_holiday_features + self.holiday_set = holiday_set + self.use_index_features = use_index_features + self.k_max = k_max + self.include_seasonality_info = include_seasonality_info + self.use_auto_seasonality = use_auto_seasonality + self.max_seasonal_periods = max_seasonal_periods + + # Initialize holiday feature set + self.holiday_feature_set = None + if use_holiday_features and holiday_set in HOLIDAY_FEATURE_SETS: + kernel_func = self._get_holiday_kernel(holiday_kernel, holiday_kernel_alpha) + self.holiday_feature_set = SpecialDateFeatureSet( + HOLIDAY_FEATURE_SETS[holiday_set], kernel_func + ) + + def _get_holiday_kernel(self, kernel_type: str, alpha: float): + """Get holiday kernel function.""" + if kernel_type == "exponential": + return exponential_kernel(alpha) + elif kernel_type == "squared_exponential": + return squared_exponential_kernel(alpha) + else: + # Default indicator kernel + return lambda x: float(x == 0) + + def _get_feature_category(self, freq_str: str) -> str: + """Determine feature category based on frequency.""" + if freq_str in ["s", "1min", "5min", "10min", "15min"]: + return "high_freq" + elif freq_str in ["h", "D"]: + return "medium_freq" + else: + return "low_freq" + + def _compute_enhanced_features( + self, period_index: pd.PeriodIndex, freq_str: str + ) -> np.ndarray: + """Compute enhanced time features based on frequency.""" + if not self.use_enhanced_features: + return np.array([]).reshape(len(period_index), 0) + + category = self._get_feature_category(freq_str) + feature_config = ENHANCED_TIME_FEATURES[category] + + features = [] + + # Add normalized features + for feat_func in feature_config["normalized"]: + try: + feat_values = feat_func(period_index) + features.append(feat_values) + except Exception: + continue + + # Add index features if enabled + if self.use_index_features: + for feat_func in feature_config["index"]: + try: + feat_values = feat_func(period_index) + # Normalize index features to [0, 1] range + if feat_values.max() > 0: + feat_values = feat_values / feat_values.max() + features.append(feat_values) + except Exception: + continue + + if features: + return np.stack(features, axis=-1) + else: + return np.array([]).reshape(len(period_index), 0) + + def _compute_holiday_features(self, date_range: pd.DatetimeIndex) -> np.ndarray: + """Compute holiday features.""" + if not self.use_holiday_features or self.holiday_feature_set is None: + return np.array([]).reshape(len(date_range), 0) + + try: + holiday_features = self.holiday_feature_set(date_range) + return holiday_features.T # Transpose to get [time, features] shape + except Exception: + return np.array([]).reshape(len(date_range), 0) + + def _detect_auto_seasonality(self, time_series_values: np.ndarray) -> list: + """ + Detect seasonal periods automatically using FFT analysis. + + Parameters + ---------- + time_series_values : np.ndarray + Time series values for seasonality detection + + Returns + ------- + list + List of detected seasonal periods + """ + if not self.use_auto_seasonality or len(time_series_values) < 10: + return [] + + try: + # Remove NaN values + values = time_series_values[~np.isnan(time_series_values)] + if len(values) < 10: + return [] + + # Simple linear detrending + x = np.arange(len(values)) + coeffs = np.polyfit(x, values, 1) + trend = np.polyval(coeffs, x) + detrended = values - trend + + # Apply Hann window to reduce spectral leakage + window = np.hanning(len(detrended)) + windowed = detrended * window + + # Zero padding for better frequency resolution + padded_length = len(windowed) * 2 + padded_values = np.zeros(padded_length) + padded_values[: len(windowed)] = windowed + + # Compute FFT + fft_values = fft.rfft(padded_values) + fft_magnitudes = np.abs(fft_values) + freqs = np.fft.rfftfreq(padded_length) + + # Exclude DC component + fft_magnitudes[0] = 0.0 + + # Find peaks with threshold (5% of max magnitude) + threshold = 0.05 * np.max(fft_magnitudes) + peak_indices, _ = find_peaks(fft_magnitudes, height=threshold) + + if len(peak_indices) == 0: + return [] + + # Sort by magnitude and take top periods + sorted_indices = peak_indices[ + np.argsort(fft_magnitudes[peak_indices])[::-1] + ] + top_indices = sorted_indices[: self.max_seasonal_periods] + + # Convert frequencies to periods + periods = [] + for idx in top_indices: + if freqs[idx] > 0: + period = 1.0 / freqs[idx] + # Scale back to original length and round + period = round(period / 2) # Account for zero padding + if 2 <= period <= len(values) // 2: # Reasonable period range + periods.append(period) + + return list(set(periods)) # Remove duplicates + + except Exception: + return [] + + def _compute_seasonality_features( + self, + period_index: pd.PeriodIndex, + freq_str: str, + time_series_values: np.ndarray = None, + ) -> np.ndarray: + """Compute seasonality-aware features.""" + if not self.include_seasonality_info: + return np.array([]).reshape(len(period_index), 0) + + all_seasonal_features = [] + + # Original frequency-based seasonality + try: + seasonality = get_seasonality(freq_str) + if seasonality > 1: + positions = np.arange(len(period_index)) + sin_feat = np.sin(2 * np.pi * positions / seasonality) + cos_feat = np.cos(2 * np.pi * positions / seasonality) + all_seasonal_features.extend([sin_feat, cos_feat]) + except Exception: + pass + + # Automatic seasonality detection + if self.use_auto_seasonality and time_series_values is not None: + auto_periods = self._detect_auto_seasonality(time_series_values) + for period in auto_periods: + try: + positions = np.arange(len(period_index)) + sin_feat = np.sin(2 * np.pi * positions / period) + cos_feat = np.cos(2 * np.pi * positions / period) + all_seasonal_features.extend([sin_feat, cos_feat]) + except Exception: + continue + + if all_seasonal_features: + return np.stack(all_seasonal_features, axis=-1) + else: + return np.array([]).reshape(len(period_index), 0) + + def compute_features( + self, + period_index: pd.PeriodIndex, + date_range: pd.DatetimeIndex, + freq_str: str, + time_series_values: np.ndarray = None, + ) -> np.ndarray: + """ + Compute all time features for given period index. + + Parameters + ---------- + period_index : pd.PeriodIndex + Period index for computing features + date_range : pd.DatetimeIndex + Corresponding datetime index for holiday features + freq_str : str + Frequency string + time_series_values : np.ndarray, optional + Time series values for automatic seasonality detection + + Returns + ------- + np.ndarray + Time features array of shape [time_steps, num_features] + """ + all_features = [] + + # Standard GluonTS features + try: + standard_features = time_features_from_frequency_str(freq_str) + if standard_features: + std_feat = np.stack( + [feat(period_index) for feat in standard_features], axis=-1 + ) + all_features.append(std_feat) + except Exception: + pass + + # Enhanced features + enhanced_feat = self._compute_enhanced_features(period_index, freq_str) + if enhanced_feat.shape[1] > 0: + all_features.append(enhanced_feat) + + # Holiday features + holiday_feat = self._compute_holiday_features(date_range) + if holiday_feat.shape[1] > 0: + all_features.append(holiday_feat) + + # Seasonality features (including auto-detected) + seasonality_feat = self._compute_seasonality_features( + period_index, freq_str, time_series_values + ) + if seasonality_feat.shape[1] > 0: + all_features.append(seasonality_feat) + + if all_features: + combined_features = np.concatenate(all_features, axis=-1) + else: + combined_features = np.zeros((len(period_index), 1)) + + return combined_features + + +def compute_batch_time_features( + start: List[np.datetime64], + history_length: int, + future_length: int, + batch_size: int, + frequency: List[Frequency], + K_max: int = 6, + time_feature_config: Optional[Dict[str, Any]] = None, +): + """ + Compute time features from start timestamps and frequency. + + Parameters + ---------- + start : array-like, shape (batch_size,) + Start timestamps for each batch item. + history_length : int + Length of history sequence. + future_length : int + Length of target sequence. + batch_size : int + Batch size. + frequency : array-like, shape (batch_size,) + Frequency of the time series. + K_max : int, optional + Maximum number of time features to pad to (default: 6). + time_feature_config : dict, optional + Configuration for enhanced time features. + + Returns + ------- + tuple + (history_time_features, target_time_features) where each is a torch.Tensor + of shape (batch_size, length, K_max). + """ + # Initialize enhanced feature generator + feature_config = time_feature_config or {} + feature_generator = TimeFeatureGenerator(**feature_config) + + # Generate timestamps and features + history_features_list = [] + future_features_list = [] + total_length = history_length + future_length + for i in range(batch_size): + frequency_i = frequency[i] + freq_str = frequency_i.to_pandas_freq(for_date_range=True) + period_freq_str = frequency_i.to_pandas_freq(for_date_range=False) + + # Validate start timestamp is within safe bounds + start_ts = pd.Timestamp(start[i]) + if not validate_frequency_safety(start_ts, total_length, frequency_i): + logger.debug( + f"Start date {start_ts} not safe for total_length={total_length}, frequency={frequency_i}. " + f"Using BASE_START_DATE instead." + ) + start_ts = BASE_START_DATE + + # Create history range with bounds checking + history_range = pd.date_range( + start=start_ts, periods=history_length, freq=freq_str + ) + + # Check if history range goes beyond safe bounds + if history_range[-1] > BASE_END_DATE: + safe_start = BASE_END_DATE - pd.tseries.frequencies.to_offset(freq_str) * ( + history_length + future_length + ) + if safe_start < BASE_START_DATE: + safe_start = BASE_START_DATE + history_range = pd.date_range( + start=safe_start, periods=history_length, freq=freq_str + ) + + future_start = history_range[-1] + pd.tseries.frequencies.to_offset(freq_str) + future_range = pd.date_range( + start=future_start, periods=future_length, freq=freq_str + ) + + # Convert to period indices + history_period_idx = history_range.to_period(period_freq_str) + future_period_idx = future_range.to_period(period_freq_str) + + # Compute enhanced features + history_features = feature_generator.compute_features( + history_period_idx, history_range, freq_str + ) + future_features = feature_generator.compute_features( + future_period_idx, future_range, freq_str + ) + + # Pad or truncate to K_max + history_features = _pad_or_truncate_features(history_features, K_max) + future_features = _pad_or_truncate_features(future_features, K_max) + + history_features_list.append(history_features) + future_features_list.append(future_features) + + # Stack into batch tensors + history_time_features = np.stack(history_features_list, axis=0) + future_time_features = np.stack(future_features_list, axis=0) + + return ( + torch.from_numpy(history_time_features).float().to(device), + torch.from_numpy(future_time_features).float().to(device), + ) + + +def _pad_or_truncate_features(features: np.ndarray, K_max: int) -> np.ndarray: + """Pad with zeros or truncate features to K_max dimensions.""" + seq_len, num_features = features.shape + + if num_features < K_max: + # Pad with zeros + padding = np.zeros((seq_len, K_max - num_features)) + features = np.concatenate([features, padding], axis=-1) + elif num_features > K_max: + # Truncate to K_max (keep most important features first) + features = features[:, :K_max] + + return features diff --git a/src/data/utils.py b/src/data/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..eddcd9a35795d40a1577c658d1c35d1411380888 --- /dev/null +++ b/src/data/utils.py @@ -0,0 +1,75 @@ +import random +from typing import Optional, Tuple, Union + + +def sample_future_length( + range: Union[Tuple[int, int], str] = "gift_eval", + total_length: Optional[int] = None, +) -> int: + """ + Sample a forecast length. + + - If `range` is a tuple, uniformly sample in [min, max]. When `total_length` is + provided, enforce a cap so the result is at most floor(0.45 * total_length). + - If `range` is "gift_eval", sample from a pre-defined weighted set. When + `total_length` is provided, filter out candidates greater than + floor(0.45 * total_length) before sampling. + """ + # Compute the cap when total_length is provided + cap: Optional[int] = None + if total_length is not None: + cap = max(1, int(0.45 * int(total_length))) + + if isinstance(range, tuple): + min_len, max_len = range + if cap is not None: + effective_max_len = min(max_len, cap) + # Ensure valid bounds + if min_len > effective_max_len: + return effective_max_len + return random.randint(min_len, effective_max_len) + return random.randint(min_len, max_len) + elif range == "gift_eval": + # Gift eval forecast lengths with their frequencies + GIFT_EVAL_FORECAST_LENGTHS = { + 48: 5, + 720: 38, + 480: 38, + 30: 3, + 300: 16, + 8: 2, + 120: 3, + 450: 8, + 80: 8, + 12: 2, + 900: 10, + 180: 3, + 600: 10, + 60: 3, + 210: 3, + 195: 3, + 140: 3, + 130: 3, + 14: 1, + 18: 1, + 13: 1, + 6: 1, + } + + lengths = list(GIFT_EVAL_FORECAST_LENGTHS.keys()) + weights = list(GIFT_EVAL_FORECAST_LENGTHS.values()) + + if cap is not None: + filtered = [ + (length_candidate, weight) + for length_candidate, weight in zip(lengths, weights) + if length_candidate <= cap + ] + if filtered: + lengths, weights = zip(*filtered) + lengths = list(lengths) + weights = list(weights) + + return random.choices(lengths, weights=weights)[0] + else: + raise ValueError(f"Invalid range: {range}") diff --git a/src/gift_eval/__init__.py b/src/gift_eval/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a3571fe5ad1000abbb701c1e1e49a3f95420dff2 --- /dev/null +++ b/src/gift_eval/__init__.py @@ -0,0 +1,15 @@ +"""Public API for the GIFT-Eval utilities.""" + +from .core import DatasetMetadata, EvaluationItem, expand_datasets_arg +from .predictor import TimeSeriesPredictor +from .results import aggregate_results, get_all_datasets_full_name, write_results_to_disk + +__all__ = [ + "DatasetMetadata", + "EvaluationItem", + "TimeSeriesPredictor", + "aggregate_results", + "expand_datasets_arg", + "get_all_datasets_full_name", + "write_results_to_disk", +] diff --git a/src/gift_eval/constants.py b/src/gift_eval/constants.py new file mode 100644 index 0000000000000000000000000000000000000000..4996299c8804641ae8020470019bb953ef6c5a11 --- /dev/null +++ b/src/gift_eval/constants.py @@ -0,0 +1,186 @@ +import json +import logging +import os +from pathlib import Path + +from gluonts.ev.metrics import ( + MAE, + MAPE, + MASE, + MSE, + MSIS, + ND, + NRMSE, + RMSE, + SMAPE, + MeanWeightedSumQuantileLoss, +) + + +logger = logging.getLogger(__name__) + + +# Environment setup +os.environ["CUBLAS_WORKSPACE_CONFIG"] = ":4096:8" + + +# Use absolute path relative to the project root +_MODULE_DIR = Path(__file__).parent.parent.parent # Goes to project root +DATASET_PROPERTIES_PATH = _MODULE_DIR / "data" / "dataset_properties.json" + + +try: + with open(DATASET_PROPERTIES_PATH, "r") as f: + DATASET_PROPERTIES = json.load(f) +except Exception as exc: # pragma: no cover - logging path + DATASET_PROPERTIES = {} + logger.warning( + "Could not load dataset properties from %s: %s. Domain and num_variates will fall back to defaults.", + DATASET_PROPERTIES_PATH, + exc, + ) + + +# Datasets +SHORT_DATASETS = ( + "m4_yearly", + "m4_quarterly", + "m4_monthly", + "m4_weekly", + "m4_daily", + "m4_hourly", + "electricity/15T", + "electricity/H", + "electricity/D", + "electricity/W", + "solar/10T", + "solar/H", + "solar/D", + "solar/W", + "hospital", + "covid_deaths", + "us_births/D", + "us_births/M", + "us_births/W", + "saugeenday/D", + "saugeenday/M", + "saugeenday/W", + "temperature_rain_with_missing", + "kdd_cup_2018_with_missing/H", + "kdd_cup_2018_with_missing/D", + "car_parts_with_missing", + "restaurant", + "hierarchical_sales/D", + "hierarchical_sales/W", + "LOOP_SEATTLE/5T", + "LOOP_SEATTLE/H", + "LOOP_SEATTLE/D", + "SZ_TAXI/15T", + "SZ_TAXI/H", + "M_DENSE/H", + "M_DENSE/D", + "ett1/15T", + "ett1/H", + "ett1/D", + "ett1/W", + "ett2/15T", + "ett2/H", + "ett2/D", + "ett2/W", + "jena_weather/10T", + "jena_weather/H", + "jena_weather/D", + "bitbrains_fast_storage/5T", + "bitbrains_fast_storage/H", + "bitbrains_rnd/5T", + "bitbrains_rnd/H", + "bizitobs_application", + "bizitobs_service", + "bizitobs_l2c/5T", + "bizitobs_l2c/H", +) + +MED_LONG_DATASETS = ( + "electricity/15T", + "electricity/H", + "solar/10T", + "solar/H", + "kdd_cup_2018_with_missing/H", + "LOOP_SEATTLE/5T", + "LOOP_SEATTLE/H", + "SZ_TAXI/15T", + "M_DENSE/H", + "ett1/15T", + "ett1/H", + "ett2/15T", + "ett2/H", + "jena_weather/10T", + "jena_weather/H", + "bitbrains_fast_storage/5T", + "bitbrains_rnd/5T", + "bizitobs_application", + "bizitobs_service", + "bizitobs_l2c/5T", + "bizitobs_l2c/H", +) + +# Preserve insertion order from SHORT_DATASETS followed by MED_LONG_DATASETS +ALL_DATASETS = list(dict.fromkeys(SHORT_DATASETS + MED_LONG_DATASETS)) + + +# Evaluation terms +TERMS = ("short", "medium", "long") + + +# Pretty names mapping (following GIFT eval standard) +PRETTY_NAMES = { + "saugeenday": "saugeen", + "temperature_rain_with_missing": "temperature_rain", + "kdd_cup_2018_with_missing": "kdd_cup_2018", + "car_parts_with_missing": "car_parts", +} + + +METRICS = ( + MSE(forecast_type="mean"), + MSE(forecast_type=0.5), + MAE(), + MASE(), + MAPE(), + SMAPE(), + MSIS(), + RMSE(), + NRMSE(), + ND(), + MeanWeightedSumQuantileLoss( + quantile_levels=[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] + ), +) + + +STANDARD_METRIC_NAMES = ( + "MSE[mean]", + "MSE[0.5]", + "MAE[0.5]", + "MASE[0.5]", + "MAPE[0.5]", + "sMAPE[0.5]", + "MSIS", + "RMSE[mean]", + "NRMSE[mean]", + "ND[0.5]", + "mean_weighted_sum_quantile_loss", +) + + +__all__ = [ + "ALL_DATASETS", + "DATASET_PROPERTIES", + "DATASET_PROPERTIES_PATH", + "MED_LONG_DATASETS", + "METRICS", + "PRETTY_NAMES", + "SHORT_DATASETS", + "STANDARD_METRIC_NAMES", + "TERMS", +] diff --git a/src/gift_eval/core.py b/src/gift_eval/core.py new file mode 100644 index 0000000000000000000000000000000000000000..20372cfcfb753d072b29015c11e52ea6be3e7d05 --- /dev/null +++ b/src/gift_eval/core.py @@ -0,0 +1,64 @@ +"""Core data structures and helpers shared across GIFT-Eval modules.""" + +from dataclasses import dataclass +from typing import Dict, List, Optional, Tuple, Union + +from src.gift_eval.constants import ALL_DATASETS + + +@dataclass +class DatasetMetadata: + """Structured description of a dataset/term combination.""" + + full_name: str + key: str + freq: str + term: str + season_length: int + target_dim: int + to_univariate: bool + prediction_length: int + windows: int + + +@dataclass +class EvaluationItem: + """Container for evaluation results and optional figures.""" + + dataset_metadata: DatasetMetadata + metrics: Dict + figures: List[Tuple[object, str]] + + +DatasetSelection = Union[List[str], Tuple[str, ...], str] + + +def expand_datasets_arg(datasets: DatasetSelection) -> List[str]: + """Normalize dataset selection strings to explicit lists.""" + + if isinstance(datasets, str): + dataset_list = [datasets] + else: + dataset_list = list(datasets) + + if not dataset_list: + return [] + + if dataset_list[0] == "all": + return list(ALL_DATASETS) + + for dataset in dataset_list: + if dataset not in ALL_DATASETS: + raise ValueError(f"Invalid dataset: {dataset}. Use one of {ALL_DATASETS}") + + return dataset_list + + +__all__ = [ + "DatasetMetadata", + "EvaluationItem", + "DatasetSelection", + "expand_datasets_arg", +] + + diff --git a/src/gift_eval/data.py b/src/gift_eval/data.py new file mode 100644 index 0000000000000000000000000000000000000000..7906509654ac8c4a5d8d52ec64455e7e02d3ce87 --- /dev/null +++ b/src/gift_eval/data.py @@ -0,0 +1,234 @@ +# Copyright (c) 2023, Salesforce, Inc. +# SPDX-License-Identifier: Apache-2 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import math +from collections.abc import Iterable, Iterator +from enum import Enum +from functools import cached_property +from pathlib import Path +from typing import Optional + +import datasets +import pyarrow.compute as pc +from gluonts.dataset import DataEntry +from gluonts.dataset.common import ProcessDataEntry +from gluonts.dataset.split import TestData, TrainingDataset, split +from gluonts.itertools import Map +from gluonts.time_feature import norm_freq_str +from gluonts.transform import Transformation +from pandas.tseries.frequencies import to_offset +from toolz import compose + +TEST_SPLIT = 0.1 +MAX_WINDOW = 20 + +M4_PRED_LENGTH_MAP = { + "A": 6, + "Q": 8, + "M": 18, + "W": 13, + "D": 14, + "H": 48, + "h": 48, + "Y": 6, +} + +PRED_LENGTH_MAP = { + "M": 12, + "W": 8, + "D": 30, + "H": 48, + "h": 48, + "T": 48, + "S": 60, + "s": 60, + "min": 48, +} + +TFB_PRED_LENGTH_MAP = { + "A": 6, + "Y": 6, + "H": 48, + "h": 48, + "Q": 8, + "D": 14, + "M": 18, + "W": 13, + "U": 8, + "T": 8, + "min": 8, + "us": 8, +} + + +class Term(Enum): + SHORT = "short" + MEDIUM = "medium" + LONG = "long" + + @property + def multiplier(self) -> int: + if self == Term.SHORT: + return 1 + elif self == Term.MEDIUM: + return 10 + elif self == Term.LONG: + return 15 + + +def itemize_start(data_entry: DataEntry) -> DataEntry: + data_entry["start"] = data_entry["start"].item() + return data_entry + + +class MultivariateToUnivariate(Transformation): + def __init__(self, field): + self.field = field + + def __call__( + self, data_it: Iterable[DataEntry], is_train: bool = False + ) -> Iterator: + for data_entry in data_it: + item_id = data_entry["item_id"] + val_ls = list(data_entry[self.field]) + for id, val in enumerate(val_ls): + univariate_entry = data_entry.copy() + univariate_entry[self.field] = val + univariate_entry["item_id"] = item_id + "_dim" + str(id) + yield univariate_entry + + +class Dataset: + def __init__( + self, + name: str, + term: Term | str = Term.SHORT, + to_univariate: bool = False, + storage_path: str = None, + max_windows: Optional[int] = None, + ): + storage_path = Path(storage_path) + self.hf_dataset = datasets.load_from_disk(str(storage_path / name)).with_format( + "numpy" + ) + process = ProcessDataEntry( + self.freq, + one_dim_target=self.target_dim == 1, + ) + + self.gluonts_dataset = Map(compose(process, itemize_start), self.hf_dataset) + if to_univariate: + self.gluonts_dataset = MultivariateToUnivariate("target").apply( + self.gluonts_dataset + ) + + self.term = Term(term) + self.name = name + self.max_windows = max_windows if max_windows is not None else MAX_WINDOW + + @cached_property + def prediction_length(self) -> int: + freq = norm_freq_str(to_offset(self.freq).name) + if freq.endswith("E"): + freq = freq[:-1] + pred_len = ( + M4_PRED_LENGTH_MAP[freq] if "m4" in self.name else PRED_LENGTH_MAP[freq] + ) + return self.term.multiplier * pred_len + + @cached_property + def freq(self) -> str: + return self.hf_dataset[0]["freq"] + + @cached_property + def target_dim(self) -> int: + return ( + target.shape[0] + if len((target := self.hf_dataset[0]["target"]).shape) > 1 + else 1 + ) + + @cached_property + def past_feat_dynamic_real_dim(self) -> int: + if "past_feat_dynamic_real" not in self.hf_dataset[0]: + return 0 + elif ( + len( + ( + past_feat_dynamic_real := self.hf_dataset[0][ + "past_feat_dynamic_real" + ] + ).shape + ) + > 1 + ): + return past_feat_dynamic_real.shape[0] + else: + return 1 + + @cached_property + def windows(self) -> int: + if "m4" in self.name: + return 1 + w = math.ceil(TEST_SPLIT * self._min_series_length / self.prediction_length) + return min(max(1, w), self.max_windows) + + @cached_property + def _min_series_length(self) -> int: + if self.hf_dataset[0]["target"].ndim > 1: + lengths = pc.list_value_length( + pc.list_flatten( + pc.list_slice(self.hf_dataset.data.column("target"), 0, 1) + ) + ) + else: + lengths = pc.list_value_length(self.hf_dataset.data.column("target")) + return min(lengths.to_numpy()) + + @cached_property + def sum_series_length(self) -> int: + if self.hf_dataset[0]["target"].ndim > 1: + lengths = pc.list_value_length( + pc.list_flatten(self.hf_dataset.data.column("target")) + ) + else: + lengths = pc.list_value_length(self.hf_dataset.data.column("target")) + return sum(lengths.to_numpy()) + + @property + def training_dataset(self) -> TrainingDataset: + training_dataset, _ = split( + self.gluonts_dataset, offset=-self.prediction_length * (self.windows + 1) + ) + return training_dataset + + @property + def validation_dataset(self) -> TrainingDataset: + validation_dataset, _ = split( + self.gluonts_dataset, offset=-self.prediction_length * self.windows + ) + return validation_dataset + + @property + def test_data(self) -> TestData: + _, test_template = split( + self.gluonts_dataset, offset=-self.prediction_length * self.windows + ) + test_data = test_template.generate_instances( + prediction_length=self.prediction_length, + windows=self.windows, + distance=self.prediction_length, + ) + return test_data diff --git a/src/gift_eval/evaluate.py b/src/gift_eval/evaluate.py new file mode 100644 index 0000000000000000000000000000000000000000..8d55a42825e33ab509bb2bcb7d241d1ae8756fae --- /dev/null +++ b/src/gift_eval/evaluate.py @@ -0,0 +1,421 @@ +import argparse +import logging +import warnings +from pathlib import Path +from typing import List, Optional, Tuple + +import matplotlib +from gluonts.model.evaluation import evaluate_model +from gluonts.time_feature import get_seasonality +from linear_operator.utils.cholesky import NumericalWarning + +from src.gift_eval.constants import ( + DATASET_PROPERTIES, + MED_LONG_DATASETS, + METRICS, + PRETTY_NAMES, +) +from src.gift_eval.core import DatasetMetadata, EvaluationItem, expand_datasets_arg +from src.gift_eval.data import Dataset +from src.gift_eval.predictor import TimeSeriesPredictor +from src.gift_eval.results import write_results_to_disk +from src.plotting.gift_eval_utils import create_plots_for_dataset + +logger = logging.getLogger(__name__) + +# Warnings configuration +warnings.filterwarnings("ignore", category=NumericalWarning) +warnings.filterwarnings("ignore", category=FutureWarning) +warnings.filterwarnings("ignore", category=DeprecationWarning) +matplotlib.set_loglevel("WARNING") +logging.getLogger("matplotlib").setLevel(logging.WARNING) +logging.getLogger("matplotlib.font_manager").setLevel(logging.WARNING) +logging.getLogger("PIL").setLevel(logging.WARNING) + + +class WarningFilter(logging.Filter): + def __init__(self, text_to_filter: str) -> None: + super().__init__() + self.text_to_filter = text_to_filter + + def filter(self, record: logging.LogRecord) -> bool: + return self.text_to_filter not in record.getMessage() + + +# Filter out gluonts warnings about mean predictions +gts_logger = logging.getLogger("gluonts.model.forecast") +gts_logger.addFilter( + WarningFilter("The mean prediction is not stored in the forecast data") +) + + +def construct_evaluation_data( + dataset_name: str, + dataset_storage_path: str, + terms: List[str] = ["short", "medium", "long"], + max_windows: Optional[int] = None, +) -> List[Tuple[Dataset, DatasetMetadata]]: + """Build datasets and rich metadata per term for a dataset name.""" + sub_datasets: List[Tuple[Dataset, DatasetMetadata]] = [] + + if "/" in dataset_name: + ds_key, ds_freq = dataset_name.split("/") + ds_key = ds_key.lower() + ds_key = PRETTY_NAMES.get(ds_key, ds_key) + else: + ds_key = dataset_name.lower() + ds_key = PRETTY_NAMES.get(ds_key, ds_key) + ds_freq = DATASET_PROPERTIES.get(ds_key, {}).get("frequency") + + for term in terms: + # Skip medium/long terms for datasets that don't support them + if ( + term == "medium" or term == "long" + ) and dataset_name not in MED_LONG_DATASETS: + continue + + # Probe once to determine dimensionality + probe_dataset = Dataset( + name=dataset_name, + term=term, + to_univariate=False, + storage_path=dataset_storage_path, + max_windows=max_windows, + ) + + to_univariate = probe_dataset.target_dim > 1 + + dataset = Dataset( + name=dataset_name, + term=term, + to_univariate=to_univariate, + storage_path=dataset_storage_path, + max_windows=max_windows, + ) + + # Compute metadata + season_length = get_seasonality(dataset.freq) + actual_freq = ds_freq if ds_freq else dataset.freq + + metadata = DatasetMetadata( + full_name=f"{ds_key}/{actual_freq}/{term}", + key=ds_key, + freq=actual_freq, + term=term, + season_length=season_length, + target_dim=probe_dataset.target_dim, + to_univariate=to_univariate, + prediction_length=dataset.prediction_length, + windows=dataset.windows, + ) + + sub_datasets.append((dataset, metadata)) + + return sub_datasets + + +def evaluate_datasets( + predictor: TimeSeriesPredictor, + dataset: str, + dataset_storage_path: str, + terms: List[str] = ["short", "medium", "long"], + max_windows: Optional[int] = None, + batch_size: int = 48, + max_context_length: Optional[int] = 1024, + create_plots: bool = False, + max_plots_per_dataset: int = 10, +) -> List[EvaluationItem]: + """Evaluate predictor on one dataset across the requested terms.""" + sub_datasets = construct_evaluation_data( + dataset_name=dataset, + dataset_storage_path=dataset_storage_path, + terms=terms, + max_windows=max_windows, + ) + + results: List[EvaluationItem] = [] + for i, (sub_dataset, metadata) in enumerate(sub_datasets): + logger.info(f"Evaluating {i + 1}/{len(sub_datasets)}: {metadata.full_name}") + logger.info(f" Dataset size: {len(sub_dataset.test_data)}") + logger.info(f" Frequency: {sub_dataset.freq}") + logger.info(f" Term: {metadata.term}") + logger.info(f" Prediction length: {sub_dataset.prediction_length}") + logger.info(f" Target dimensions: {sub_dataset.target_dim}") + logger.info(f" Windows: {sub_dataset.windows}") + + # Update context on the reusable predictor + predictor.set_dataset_context( + prediction_length=sub_dataset.prediction_length, + freq=sub_dataset.freq, + batch_size=batch_size, + max_context_length=max_context_length, + ) + + res = evaluate_model( + model=predictor, + test_data=sub_dataset.test_data, + metrics=METRICS, + axis=None, + mask_invalid_label=True, + allow_nan_forecast=False, + seasonality=metadata.season_length, + ) + + figs: List[Tuple[object, str]] = [] + if create_plots: + forecasts = predictor.predict(sub_dataset.test_data.input) + figs = create_plots_for_dataset( + forecasts=forecasts, + test_data=sub_dataset.test_data, + dataset_metadata=metadata, + max_plots=max_plots_per_dataset, + max_context_length=max_context_length, + ) + + results.append( + EvaluationItem(dataset_metadata=metadata, metrics=res, figures=figs) + ) + + return results + + +def _run_evaluation( + predictor: TimeSeriesPredictor, + datasets: List[str] | str, + terms: List[str], + dataset_storage_path: str, + max_windows: Optional[int] = None, + batch_size: int = 48, + max_context_length: Optional[int] = 1024, + output_dir: str = "gift_eval_results", + model_name: str = "TimeSeriesModel", + create_plots: bool = False, + max_plots: int = 10, +) -> None: + """Shared evaluation workflow used by both entry points.""" + datasets_to_run = expand_datasets_arg(datasets) + results_root = Path(output_dir) + + for ds_name in datasets_to_run: + items = evaluate_datasets( + predictor=predictor, + dataset=ds_name, + dataset_storage_path=dataset_storage_path, + terms=terms, + max_windows=max_windows, + batch_size=batch_size, + max_context_length=max_context_length, + create_plots=create_plots, + max_plots_per_dataset=max_plots, + ) + write_results_to_disk( + items=items, + dataset_name=ds_name, + output_dir=results_root, + model_name=model_name, + create_plots=create_plots, + ) + + +def evaluate_from_paths( + model_path: str, + config_path: str, + datasets: List[str] | str, + terms: List[str], + dataset_storage_path: str, + max_windows: Optional[int] = None, + batch_size: int = 48, + max_context_length: Optional[int] = 1024, + output_dir: str = "gift_eval_results", + model_name: str = "TimeSeriesModel", + create_plots: bool = False, + max_plots: int = 10, +) -> None: + """Entry point: load model from disk and save metrics/plots to disk.""" + # Validate inputs early + if not Path(model_path).exists(): + raise FileNotFoundError(f"Model path does not exist: {model_path}") + if not Path(config_path).exists(): + raise FileNotFoundError(f"Config path does not exist: {config_path}") + + predictor = TimeSeriesPredictor.from_paths( + model_path=model_path, + config_path=config_path, + ds_prediction_length=1, # placeholder; set per dataset below + ds_freq="D", # placeholder; set per dataset below + batch_size=batch_size, + max_context_length=max_context_length, + ) + + _run_evaluation( + predictor=predictor, + datasets=datasets, + terms=terms, + dataset_storage_path=dataset_storage_path, + max_windows=max_windows, + batch_size=batch_size, + max_context_length=max_context_length, + output_dir=output_dir, + model_name=model_name, + create_plots=create_plots, + max_plots=max_plots, + ) + + +def evaluate_in_memory( + model, + config: dict, + datasets: List[str] | str, + terms: List[str], + dataset_storage_path: str, + max_windows: Optional[int] = None, + batch_size: int = 48, + max_context_length: Optional[int] = 1024, + output_dir: str = "gift_eval_results", + model_name: str = "TimeSeriesModel", + create_plots: bool = False, + max_plots: int = 10, +) -> None: + """Entry point: evaluate in-memory model and return results per dataset.""" + predictor = TimeSeriesPredictor.from_model( + model=model, + config=config, + ds_prediction_length=1, # placeholder; set per dataset below + ds_freq="D", # placeholder; set per dataset below + batch_size=batch_size, + max_context_length=max_context_length, + ) + + _run_evaluation( + predictor=predictor, + datasets=datasets, + terms=terms, + dataset_storage_path=dataset_storage_path, + max_windows=max_windows, + batch_size=batch_size, + max_context_length=max_context_length, + output_dir=output_dir, + model_name=model_name, + create_plots=create_plots, + max_plots=max_plots, + ) + + +def _parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser( + description="Evaluate TimeSeriesModel on GIFT-Eval datasets" + ) + + # Model configuration + parser.add_argument( + "--model_path", + type=str, + required=True, + help="Path to the trained model checkpoint", + ) + parser.add_argument( + "--config_path", + type=str, + required=True, + help="Path to the model configuration YAML file", + ) + parser.add_argument( + "--model_name", + type=str, + default="TimeSeriesModel", + help="Name identifier for the model", + ) + + # Dataset configuration + parser.add_argument( + "--datasets", + type=str, + default="all", + help="Comma-separated list of dataset names to evaluate (or 'all')", + ) + parser.add_argument( + "--dataset_storage_path", + type=str, + default="/work/dlclarge2/moroshav-GiftEvalPretrain/gift_eval", + help="Path to the dataset storage directory (default: GIFT_EVAL)", + ) + parser.add_argument( + "--terms", + type=str, + default="short,medium,long", + help="Comma-separated list of prediction terms to evaluate", + ) + parser.add_argument( + "--max_windows", + type=int, + default=None, + help="Maximum number of windows to use for evaluation", + ) + + # Inference configuration + parser.add_argument( + "--batch_size", type=int, default=48, help="Batch size for model inference" + ) + parser.add_argument( + "--max_context_length", + type=int, + default=1024, + help="Maximum context length to use (None for no limit)", + ) + + # Output configuration + parser.add_argument( + "--output_dir", + type=str, + default="gift_eval_results", + help="Directory to save evaluation results", + ) + + # Plotting configuration + parser.add_argument( + "--create_plots", + action="store_true", + help="Create and save plots for each evaluation window", + ) + parser.add_argument( + "--max_plots_per_dataset", + type=int, + default=10, + help="Maximum number of plots to create per dataset term", + ) + + args = parser.parse_args() + args.terms = args.terms.split(",") + args.datasets = args.datasets.split(",") + return args + + +def _configure_logging() -> None: + logging.basicConfig( + level=logging.INFO, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", + ) + + +if __name__ == "__main__": + _configure_logging() + args = _parse_args() + logger.info(f"Command Line Arguments: {vars(args)}") + try: + evaluate_from_paths( + model_path=args.model_path, + config_path=args.config_path, + datasets=args.datasets, + terms=args.terms, + dataset_storage_path=args.dataset_storage_path, + max_windows=args.max_windows, + batch_size=args.batch_size, + max_context_length=args.max_context_length, + output_dir=args.output_dir, + model_name=args.model_name, + create_plots=args.create_plots, + max_plots=args.max_plots_per_dataset, + ) + except Exception as e: + logger.error(f"Evaluation failed: {str(e)}") + raise diff --git a/src/gift_eval/predictor.py b/src/gift_eval/predictor.py new file mode 100644 index 0000000000000000000000000000000000000000..11a2223842373fbdb294c7608f088a6ad86fa2c4 --- /dev/null +++ b/src/gift_eval/predictor.py @@ -0,0 +1,318 @@ +"""Predictor implementation wrapping the TimeSeriesModel for GIFT-Eval.""" + +import logging +from typing import Iterator, List, Optional + +import numpy as np +import torch +import yaml +from gluonts.model.forecast import QuantileForecast +from gluonts.model.predictor import Predictor +from torch.nn.parallel import DistributedDataParallel as DDP + +from src.data.containers import BatchTimeSeriesContainer +from src.data.frequency import parse_frequency +from src.data.scalers import RobustScaler +from src.models.model import TimeSeriesModel +from src.utils.utils import device + + +logger = logging.getLogger(__name__) + + +class TimeSeriesPredictor(Predictor): + """Unified predictor for TimeSeriesModel supporting flexible construction.""" + + def __init__( + self, + model: TimeSeriesModel, + config: dict, + ds_prediction_length: int, + ds_freq: str, + batch_size: int = 32, + max_context_length: Optional[int] = None, + debug: bool = False, + ) -> None: + # Dataset-specific context (can be updated per dataset/term) + self.ds_prediction_length = ds_prediction_length + self.ds_freq = ds_freq + self.batch_size = batch_size + self.max_context_length = max_context_length + self.debug = debug + + # Persistent model/config (unwrap DDP if needed) + self.model = model.module if isinstance(model, DDP) else model + self.model.eval() + self.config = config + + # Initialize scaler (using same type as model) + scaler_type = self.config.get("TimeSeriesModel", {}).get( + "scaler", "custom_robust" + ) + epsilon = self.config.get("TimeSeriesModel", {}).get("epsilon", 1e-3) + if scaler_type == "custom_robust": + self.scaler = RobustScaler(epsilon=epsilon) + else: + raise ValueError(f"Unsupported scaler type: {scaler_type}") + + def set_dataset_context( + self, + prediction_length: Optional[int] = None, + freq: Optional[str] = None, + batch_size: Optional[int] = None, + max_context_length: Optional[int] = None, + ) -> None: + """Update lightweight dataset-specific attributes without reloading the model.""" + + if prediction_length is not None: + self.ds_prediction_length = prediction_length + if freq is not None: + self.ds_freq = freq + if batch_size is not None: + self.batch_size = batch_size + if max_context_length is not None: + self.max_context_length = max_context_length + + @classmethod + def from_model( + cls, + model: TimeSeriesModel, + config: dict, + ds_prediction_length: int, + ds_freq: str, + batch_size: int = 32, + max_context_length: Optional[int] = None, + debug: bool = False, + ) -> "TimeSeriesPredictor": + return cls( + model=model, + config=config, + ds_prediction_length=ds_prediction_length, + ds_freq=ds_freq, + batch_size=batch_size, + max_context_length=max_context_length, + debug=debug, + ) + + @classmethod + def from_paths( + cls, + model_path: str, + config_path: str, + ds_prediction_length: int, + ds_freq: str, + batch_size: int = 32, + max_context_length: Optional[int] = None, + debug: bool = False, + ) -> "TimeSeriesPredictor": + with open(config_path, "r") as f: + config = yaml.safe_load(f) + model = cls._load_model_from_path(config=config, model_path=model_path) + return cls( + model=model, + config=config, + ds_prediction_length=ds_prediction_length, + ds_freq=ds_freq, + batch_size=batch_size, + max_context_length=max_context_length, + debug=debug, + ) + + @staticmethod + def _load_model_from_path(config: dict, model_path: str) -> TimeSeriesModel: + try: + model = TimeSeriesModel(**config["TimeSeriesModel"]).to(device) + checkpoint = torch.load(model_path, map_location=device) + model.load_state_dict(checkpoint["model_state_dict"]) + model.eval() + logger.info(f"Successfully loaded model from {model_path}") + return model + except Exception as exc: # pragma: no cover - logging path + logger.error(f"Failed to load model from {model_path}: {exc}") + raise + + def predict(self, test_data_input) -> Iterator[QuantileForecast]: + """Generate forecasts for the test data.""" + + if hasattr(test_data_input, "__iter__") and not isinstance(test_data_input, list): + test_data_input = list(test_data_input) + logger.debug(f"Processing {len(test_data_input)} time series") + + # Group series by their effective length (after optional truncation), + # then process each uniform-length group in sub-batches up to batch_size. + def _effective_length(entry) -> int: + target = entry["target"] + if target.ndim == 1: + seq_len = len(target) + else: + # target shape is [num_channels, seq_len] + seq_len = target.shape[1] + if self.max_context_length is not None: + seq_len = min(seq_len, self.max_context_length) + return seq_len + + length_to_items: dict[int, List[tuple[int, object]]] = {} + for idx, entry in enumerate(test_data_input): + seq_len = _effective_length(entry) + length_to_items.setdefault(seq_len, []).append((idx, entry)) + + total = len(test_data_input) + ordered_results: List[Optional[QuantileForecast]] = [None] * total + + for _, items in length_to_items.items(): + for i in range(0, len(items), self.batch_size): + chunk = items[i : i + self.batch_size] + entries = [entry for (_orig_idx, entry) in chunk] + batch_forecasts = self._predict_batch(entries) + for forecast_idx, (orig_idx, _entry) in enumerate(chunk): + ordered_results[orig_idx] = batch_forecasts[forecast_idx] + + return ordered_results # type: ignore[return-value] + + def _predict_batch(self, test_data_batch: List) -> List[QuantileForecast]: + """Generate predictions for a batch of time series.""" + + logger.debug(f"Processing batch of size: {len(test_data_batch)}") + + try: + batch_container = self._convert_to_batch_container(test_data_batch) + + if isinstance(device, torch.device): + device_type = device.type + else: + device_type = "cuda" if "cuda" in str(device).lower() else "cpu" + enable_autocast = device_type == "cuda" + + with torch.autocast( + device_type=device_type, + dtype=torch.bfloat16, + enabled=enable_autocast, + ): + with torch.no_grad(): + model_output = self.model(batch_container, drop_enc_allow=False) + + forecasts = self._convert_to_forecasts( + model_output, test_data_batch, batch_container + ) + + logger.debug(f"Generated {len(forecasts)} forecasts") + return forecasts + except Exception as exc: # pragma: no cover - logging path + logger.error(f"Error in batch prediction: {exc}") + raise + + def _convert_to_batch_container( + self, test_data_batch: List + ) -> BatchTimeSeriesContainer: + """Convert gluonts test data to BatchTimeSeriesContainer.""" + + batch_size = len(test_data_batch) + history_values_list = [] + start_dates = [] + frequencies = [] + + for entry in test_data_batch: + target = entry["target"] + + if target.ndim == 1: + target = target.reshape(-1, 1) + else: + target = target.T + + if ( + self.max_context_length is not None + and len(target) > self.max_context_length + ): + target = target[-self.max_context_length :] + + history_values_list.append(target) + start_dates.append(entry["start"].to_timestamp().to_datetime64()) + frequencies.append(parse_frequency(entry["freq"])) + + history_values_np = np.stack(history_values_list, axis=0) + num_channels = history_values_np.shape[2] + + history_values = torch.tensor( + history_values_np, dtype=torch.float32, device=device + ) + + future_values = torch.zeros( + (batch_size, self.ds_prediction_length, num_channels), + dtype=torch.float32, + device=device, + ) + + return BatchTimeSeriesContainer( + history_values=history_values, + future_values=future_values, + start=start_dates, + frequency=frequencies, + ) + + def _convert_to_forecasts( + self, + model_output: dict, + test_data_batch: List, + batch_container: BatchTimeSeriesContainer, + ) -> List[QuantileForecast]: + """Convert model predictions to QuantileForecast objects.""" + + predictions = model_output["result"] + scale_statistics = model_output["scale_statistics"] + + if predictions.ndim == 4: + predictions_unscaled = self.scaler.inverse_scale( + predictions, scale_statistics + ) + is_quantile = True + quantile_levels = self.model.quantiles + else: + predictions_unscaled = self.scaler.inverse_scale( + predictions, scale_statistics + ) + is_quantile = False + quantile_levels = [0.5] + + forecasts: List[QuantileForecast] = [] + for idx, entry in enumerate(test_data_batch): + history_length = int(batch_container.history_values.shape[1]) + start_date = entry["start"] + forecast_start = start_date + history_length + + if is_quantile: + pred_array = predictions_unscaled[idx].cpu().numpy() + + if pred_array.shape[1] == 1: + pred_array = pred_array.squeeze(1) + forecast_arrays = pred_array.T + else: + forecast_arrays = pred_array.transpose(2, 0, 1) + + forecast = QuantileForecast( + forecast_arrays=forecast_arrays, + forecast_keys=[str(q) for q in quantile_levels], + start_date=forecast_start, + ) + else: + pred_array = predictions_unscaled[idx].cpu().numpy() + + if pred_array.shape[1] == 1: + pred_array = pred_array.squeeze(1) + forecast_arrays = pred_array.reshape(1, -1) + else: + forecast_arrays = pred_array.reshape(1, *pred_array.shape) + + forecast = QuantileForecast( + forecast_arrays=forecast_arrays, + forecast_keys=["0.5"], + start_date=forecast_start, + ) + + forecasts.append(forecast) + + return forecasts + + +__all__ = ["TimeSeriesPredictor"] + + diff --git a/src/gift_eval/results.py b/src/gift_eval/results.py new file mode 100644 index 0000000000000000000000000000000000000000..b4038065e4cb07058cb8ebb8946ee3d20ed58651 --- /dev/null +++ b/src/gift_eval/results.py @@ -0,0 +1,243 @@ +"""Utilities for persisting and aggregating GIFT-Eval results.""" + +import argparse +import csv +import glob +import logging +from pathlib import Path +from typing import List, Optional + +import pandas as pd + +from src.gift_eval.constants import ( + ALL_DATASETS, + DATASET_PROPERTIES, + MED_LONG_DATASETS, + PRETTY_NAMES, + STANDARD_METRIC_NAMES, +) +from src.gift_eval.core import DatasetMetadata, EvaluationItem + + +logger = logging.getLogger(__name__) + + +def _ensure_results_csv(csv_file_path: Path) -> None: + if not csv_file_path.exists(): + csv_file_path.parent.mkdir(parents=True, exist_ok=True) + with open(csv_file_path, "w", newline="") as csvfile: + writer = csv.writer(csvfile) + header = ( + ["dataset", "model"] + + [f"eval_metrics/{name}" for name in STANDARD_METRIC_NAMES] + + ["domain", "num_variates"] + ) + writer.writerow(header) + + +def write_results_to_disk( + items: List[EvaluationItem], + dataset_name: str, + output_dir: Path, + model_name: str, + create_plots: bool, +) -> None: + output_dir = output_dir / dataset_name + output_dir.mkdir(parents=True, exist_ok=True) + output_csv_path = output_dir / "results.csv" + _ensure_results_csv(output_csv_path) + + try: + import matplotlib.pyplot as plt # Local import to avoid unnecessary dependency at module import time + except ImportError: # pragma: no cover - guard for optional dependency + plt = None + + with open(output_csv_path, "a", newline="") as csvfile: + writer = csv.writer(csvfile) + for item in items: + md: DatasetMetadata = item.dataset_metadata + metric_values: List[Optional[float]] = [] + for metric_name in STANDARD_METRIC_NAMES: + value = item.metrics.get(metric_name, None) + if value is None: + metric_values.append(None) + else: + if ( + hasattr(value, "__len__") + and not isinstance(value, (str, bytes)) + and len(value) == 1 + ): + value = value[0] + elif hasattr(value, "item"): + value = value.item() + metric_values.append(value) + + ds_key = md.key.lower() + props = DATASET_PROPERTIES.get(ds_key, {}) + domain = props.get("domain", "unknown") + num_variates = props.get( + "num_variates", 1 if md.to_univariate else md.target_dim + ) + + row = [md.full_name, model_name] + metric_values + [domain, num_variates] + writer.writerow(row) + + if create_plots and item.figures and plt is not None: + plots_dir = output_dir / "plots" / md.key / md.term + plots_dir.mkdir(parents=True, exist_ok=True) + for fig, filename in item.figures: + filepath = plots_dir / filename + fig.savefig(filepath, dpi=300, bbox_inches="tight") + plt.close(fig) + + logger.info( + "Evaluation complete for dataset '%s'. Results saved to %s", + dataset_name, + output_csv_path, + ) + if create_plots: + logger.info("Plots saved under %s", output_dir / "plots") + + +def get_all_datasets_full_name() -> List[str]: + """Get all possible dataset full names for validation.""" + + terms = ["short", "medium", "long"] + datasets_full_names: List[str] = [] + + for name in ALL_DATASETS: + for term in terms: + if term in ["medium", "long"] and name not in MED_LONG_DATASETS: + continue + + if "/" in name: + ds_key, ds_freq = name.split("/") + ds_key = ds_key.lower() + ds_key = PRETTY_NAMES.get(ds_key, ds_key) + else: + ds_key = name.lower() + ds_key = PRETTY_NAMES.get(ds_key, ds_key) + ds_freq = DATASET_PROPERTIES.get(ds_key, {}).get("frequency") + + datasets_full_names.append( + f"{ds_key}/{ds_freq if ds_freq else 'unknown'}/{term}" + ) + + return datasets_full_names + + +def aggregate_results(result_root_dir: str | Path) -> pd.DataFrame | None: + """Aggregate results from multiple CSV files into a single dataframe.""" + + result_root = Path(result_root_dir) + + logger.info("Aggregating results in: %s", result_root) + + result_files = glob.glob(f"{result_root}/**/results.csv", recursive=True) + + if not result_files: + logger.error("No result files found!") + return None + + dataframes: List[pd.DataFrame] = [] + for file in result_files: + try: + df = pd.read_csv(file) + if len(df) > 0: + dataframes.append(df) + else: + logger.warning("Empty file: %s", file) + except pd.errors.EmptyDataError: + logger.warning("Skipping empty file: %s", file) + except Exception as exc: + logger.error("Error reading %s: %s", file, exc) + + if not dataframes: + logger.warning("No valid CSV files found to combine") + return None + + combined_df = pd.concat(dataframes, ignore_index=True).sort_values("dataset") + + if len(combined_df) != len(set(combined_df.dataset)): + duplicate_datasets = combined_df.dataset[ + combined_df.dataset.duplicated() + ].tolist() + logger.warning("Warning: Duplicate datasets found: %s", duplicate_datasets) + combined_df = combined_df.drop_duplicates(subset=["dataset"], keep="first") + logger.info( + "Removed duplicates, %s unique datasets remaining", len(combined_df) + ) + + logger.info("Combined results: %s datasets", len(combined_df)) + + all_datasets_full_name = get_all_datasets_full_name() + completed_experiments = combined_df.dataset.tolist() + + completed_experiments_clean = [ + exp for exp in completed_experiments if exp in all_datasets_full_name + ] + missing_or_failed_experiments = [ + exp for exp in all_datasets_full_name if exp not in completed_experiments_clean + ] + + logger.info("=== EXPERIMENT SUMMARY ===") + logger.info("Total expected datasets: %s", len(all_datasets_full_name)) + logger.info("Completed experiments: %s", len(completed_experiments_clean)) + logger.info("Missing/failed experiments: %s", len(missing_or_failed_experiments)) + + logger.info("Completed experiments:") + for idx, exp in enumerate(completed_experiments_clean, start=1): + logger.info(" %3d: %s", idx, exp) + + if missing_or_failed_experiments: + logger.info("Missing or failed experiments:") + for idx, exp in enumerate(missing_or_failed_experiments, start=1): + logger.info(" %3d: %s", idx, exp) + + completion_rate = ( + len(completed_experiments_clean) / len(all_datasets_full_name) * 100 + if all_datasets_full_name + else 0.0 + ) + logger.info("Completion rate: %.1f%%", completion_rate) + + output_file = result_root / "all_results.csv" + combined_df.to_csv(output_file, index=False) + logger.info("Combined results saved to: %s", output_file) + + return combined_df + + +__all__ = [ + "aggregate_results", + "get_all_datasets_full_name", + "write_results_to_disk", +] + + +def main() -> None: + """CLI entry point for aggregating results from disk.""" + + parser = argparse.ArgumentParser( + description="Aggregate GIFT-Eval results from multiple CSV files" + ) + parser.add_argument( + "--result_root_dir", + type=str, + required=True, + help="Root directory containing result subdirectories", + ) + + args = parser.parse_args() + result_root_dir = Path(args.result_root_dir) + + logging.basicConfig( + level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" + ) + logger.info("Searching in directory: %s", result_root_dir) + + aggregate_results(result_root_dir=result_root_dir) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/src/models/__init__.py b/src/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/models/blocks.py b/src/models/blocks.py new file mode 100644 index 0000000000000000000000000000000000000000..7b920ad340ddaf7cd0597b126cdb099c4c5cf9f5 --- /dev/null +++ b/src/models/blocks.py @@ -0,0 +1,62 @@ +import torch +import torch.nn as nn + +from src.models.gated_deltaproduct import GatedDeltaProductConfig +from src.models.gated_deltaproduct.modeling_gated_deltaproduct import ( + GatedDeltaProductBlock, +) + + +class GatedDeltaProductEncoder(nn.Module): + """ + GatedDeltaNet encoder using GatedDeltaProductBlock for sequence modeling. + """ + + def __init__( + self, + layer_idx: int, + token_embed_dim: int, + num_heads: int = 4, + attn_mode: str = "chunk", + expand_v: float = 1.0, + use_gate: bool = False, + use_short_conv: bool = True, + conv_size: int = 4, + hidden_ratio: int = 1.0, + allow_neg_eigval: bool = True, + use_forget_gate: bool = True, + num_householder: int = 1, + **kwargs, + ): + super().__init__() + config = GatedDeltaProductConfig( + attn_mode=attn_mode, + hidden_size=token_embed_dim, + expand_v=expand_v, + use_gate=use_gate, + use_short_conv=use_short_conv, + conv_size=conv_size, + head_dim=token_embed_dim // num_heads, + hidden_ratio=hidden_ratio, + num_heads=num_heads, + allow_neg_eigval=allow_neg_eigval, + use_forget_gate=use_forget_gate, + num_householder=num_householder, + ) + + self.encoder_layer = GatedDeltaProductBlock(layer_idx=layer_idx, config=config) + + def forward(self, x, initial_state=None): + """ + Forward pass through the GatedDeltaProductBlock. + + Args: + x: Input tensor of shape [batch_size, seq_len, hidden_size] + + Returns: + Output tensor of same shape as input + """ + x, last_hidden_state, _ = self.encoder_layer( + x, output_attentions=True, initial_state=initial_state + ) + return x, last_hidden_state diff --git a/src/models/gated_deltaproduct/README.md b/src/models/gated_deltaproduct/README.md new file mode 100644 index 0000000000000000000000000000000000000000..8eee97e640bfc0dce855595d4693b39b13445888 --- /dev/null +++ b/src/models/gated_deltaproduct/README.md @@ -0,0 +1,344 @@ +# Custom GatedDeltaProduct Implementation + +This directory contains a custom implementation of the GatedDeltaProduct layer, based on the [Flash Linear Attention (FLA)](https://github.com/fla-org/flash-linear-attention) library, with modifications specifically designed for **time series forecasting** tasks. + +## Overview + +Our custom implementation adds **hidden state weaving** functionality that enables information to flow across encoder layers, maintaining temporal continuity - a crucial feature for time series forecasting that differs from the general-purpose language modeling focus of the official FLA implementation. + +## Reference + +This implementation is based on: +- **Official FLA Repository**: [https://github.com/fla-org/flash-linear-attention](https://github.com/fla-org/flash-linear-attention) +- **Original Paper**: [DeltaProduct: Improving State-Tracking in Linear RNNs via Householder Products](https://arxiv.org/html/2502.10297v3) (Siems et al., 2025) + +--- + +## What is DeltaProduct? + +DeltaProduct is a linear RNN architecture that uses **diagonal plus rank-nₕ** state-transition matrices, formed as products of `nₕ` generalized Householder transformations. This provides a tunable mechanism to balance expressivity and efficiency compared to diagonal-only architectures like Mamba or GLA. + +### Key Concepts + +- **Householder transformations**: Enable simultaneous token-channel mixing, overcoming the expressivity limitations of purely diagonal state-transition matrices +- **Rank-nₕ structure**: Allows better expressivity than rank-1 (DeltaNet) while maintaining training efficiency. The parameter `nₕ` (number of Householder transformations) provides a tunable trade-off between expressivity and computational cost +- **Gated variant**: Adds gating mechanisms for improved performance, allowing the model to control information flow through forget gates and output gates + +### Architecture Overview + +DeltaProduct improves upon earlier linear RNN architectures: + +- **Diagonal architectures** (Mamba, GLA, mLSTM): Use diagonal state-transition matrices for fast runtime but suffer from limited expressivity +- **Rank-1 architectures** (DeltaNet, RWKV-7): Use diagonal plus rank-1 structure, enabling simultaneous token-channel mixing with only a slight decrease in training efficiency +- **DeltaProduct**: Extends this to diagonal plus rank-nₕ structure, where multiple Householder transformations (nₕ ≥ 1) provide greater expressivity while maintaining computational efficiency + +The architecture interprets DeltaNet's recurrence as performing one step of online gradient descent per token on an associative recall loss. DeltaProduct instead takes multiple (`nₕ`) steps per token, naturally leading to the rank-nₕ structure. + +--- + +## State Weaving Mechanism + +Unlike DeltaProduct's original design for autoregressive language modeling, time series forecasting across a full horizon does not require causal masking. To exploit this property, we introduce **state weaving**, a mechanism that enables bidirectional information flow across the entire sequence length without additional parameters or computational overhead. + +
+