diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..72b4e2e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,60 @@
+# output dir
+output*
+instant_test_output
+inference_test_output
+
+
+# *.png
+# *.json
+*.diff
+# *.jpg
+!/projects/DensePose/doc/images/*.jpg
+
+# compilation and distribution
+__pycache__
+_ext
+*.pyc
+*.pyd
+*.so
+*.dll
+*.egg-info/
+build/
+dist/
+wheels/
+
+# pytorch/python/numpy formats
+*.pth
+*.pkl
+*.npy
+*.ts
+model_ts*.txt
+
+# ipython/jupyter notebooks
+*.ipynb
+**/.ipynb_checkpoints/
+
+# Editor temporaries
+*.swn
+*.swo
+*.swp
+*~
+
+# editor settings
+.idea
+.vscode
+_darcs
+
+# project dirs
+/detectron2/model_zoo/configs
+# /datasets/*
+!/datasets/*.*
+/projects/*/datasets
+/models
+/snippet
+res*
+/checkpoints
+detectron2
+results
+checkpoints
+demo_images
+exps
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ddb76ea
--- /dev/null
+++ b/README.md
@@ -0,0 +1,109 @@
+## OpenDet
+
+
+
+> **Expanding Low-Density Latent Regions for Open-Set Object Detection (CVPR2022)**
+> [Jiaming Han](https://csuhan.com), [Yuqiang Ren](https://github.com/Anymake), [Jian Ding](https://dingjiansw101.github.io), [Xingjia Pan](https://scholar.google.com.hk/citations?user=NaSU3eIAAAAJ&hl=zh-CN), Ke Yan, [Gui-Song Xia](http://www.captain-whu.com/xia_En.html).
+> [arXiv preprint](https://csuhan.com/attaches/cvpr_3605_final.pdf).
+
+OpenDet2: OpenDet is implemented based on [detectron2](https://github.com/facebookresearch/detectron2).
+
+### Setup
+
+The code is based on [detectron2 v0.5](https://github.com/facebookresearch/detectron2/tree/v0.5).
+
+* **Installation**
+
+Here is a from-scratch setup script.
+
+```
+conda create -n opendet2 python=3.8 -y
+conda activate opendet2
+
+conda install pytorch=1.8.1 torchvision cudatoolkit=10.1 -c pytorch -y
+pip install detectron2==0.5 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/torch1.8/index.html
+git clone https://github.com/csuhan/opendet2.git
+cd opendet2
+pip install -v -e .
+```
+
+* **Prepare datasets**
+
+Please follow [datasets/README.md](datasets/README.md) for dataset preparation. Then we generate VOC-COCO datasets.
+
+```
+bash datasets/opendet2_utils/prepare_openset_voc_coco.sh
+# using data splits provided by us.
+cp datasets/voc_coco_ann datasets/voc_coco -rf
+```
+
+### Model Zoo
+
+We report the results on VOC and VOC-COCO-20, and provide pretrained models. Please refer to the corresponding log file for full results.
+
+* **Faster R-CNN**
+
+| Method | backbone | mAPK↑(VOC) | WI↓ | AOSE↓ | mAPK↑ | APU↑ | Download |
+|---------|:--------:|:--------------------------:|:-------------------:|:---------------------:|:---------------------:|:--------------------:|:------------:|
+| FR-CNN | R-50 | 80.06 | 19.50 | 16518 | 58.36 | 0 | [config](configs/faster_rcnn_R_50_FPN_3x_baseline.yaml) [model](https://drive.google.com/drive/folders/10uFOLLCK4N8te08-C-olRyDV-cJ-L6lU?usp=sharing) |
+| PROSER | R-50 | 79.42 | 20.44 | 14266 | 56.72 | 16.99 | [config](configs/faster_rcnn_R_50_FPN_3x_proser.yaml) [model](https://drive.google.com/drive/folders/1_L85gisyvDtBXPe2UbI49vrd5FoBIOI_?usp=sharing) |
+| ORE | R-50 | 79.80 | 18.18 | 12811 | 58.25 | 2.60 | [config]() [model]() |
+| DS | R-50 | 79.70 | 16.76 | 13062 | 58.46 | 8.75 | [config](configs/faster_rcnn_R_50_FPN_3x_ds.yaml) [model](https://drive.google.com/drive/folders/1OWDjL29E2H-_lSApXqM2r8PS7ZvUNtiv?usp=sharing) |
+| OpenDet | R-50 | 80.02 | 12.50 | 10758 | 58.64 | 14.38 | [config](configs/faster_rcnn_R_50_FPN_3x_opendet.yaml) [model](https://drive.google.com/drive/folders/10uFOLLCK4N8te08-C-olRyDV-cJ-L6lU?usp=sharing) |
+| OpenDet | Swin-T | 83.29 | 10.76 | 9149 | 63.42 | 16.35 | [config](configs/faster_rcnn_Swin_T_FPN_3x_opendet.yaml) [model](https://drive.google.com/drive/folders/1j5SkEzeqr0ZnGVVZ4mzXSOvookHfvVvm?usp=sharing) |
+
+* **RetinaNet**
+
+| Method | mAPK↑(VOC) | WI↓ | AOSE↓ | mAPK↑ | APU↑ | Download |
+|----------------|:--------------------------:|:-------------------:|:---------------------:|:---------------------:|:--------------------:|:----------------:|
+| RetinaNet | 79.63 | 14.16 | 36531 | 57.32 | 0 | [config](configs/retinanet_R_50_FPN_3x_baseline.yaml) [model](https://drive.google.com/drive/folders/15fHfyA2HuXp6LfdTMBuHG6ZwtLcgvD-p?usp=sharing) |
+| Open-RetinaNet | 79.64 | 10.74 | 17208 | 57.32 | 10.55 | [config](configs/retinanet_R_50_FPN_3x_opendet.yaml) [model](https://drive.google.com/drive/folders/1uLRZ5bdGaoORWaP2huiyL_WyLicmWT4G?usp=sharing) |
+
+
+**Note**:
+* If you cannot access google drive, BaiduYun download link can be found [here](https://pan.baidu.com/s/1I4Pp40pM84aeYTNeGc0kPA) with extracting code ABCD.
+* The above results are reimplemented. Therefore, they are slightly different from our paper.
+* The official code of ORE is at [OWOD](https://github.com/JosephKJ/OWOD). We do not plan to include ORE in our code.
+
+### Online Demo
+
+Try our online demo at [huggingface space](https://huggingface.co/spaces/csuhan/opendet2).
+
+### Train and Test
+
+* **Testing**
+
+First, you need to download pretrained weights in the model zoo, e.g., [OpenDet](https://drive.google.com/drive/folders/10uFOLLCK4N8te08-C-olRyDV-cJ-L6lU?usp=sharing).
+
+Then, run the following command:
+```
+python tools/train_net.py --num-gpus 8 --config-file configs/faster_rcnn_R_50_FPN_3x_opendet.yaml \
+ --eval-only MODEL.WEIGHTS output/faster_rcnn_R_50_FPN_3x_opendet/model_final.pth
+```
+
+* **Training**
+
+The training process is the same as detectron2.
+```
+python tools/train_net.py --num-gpus 8 --config-file configs/faster_rcnn_R_50_FPN_3x_opendet.yaml
+```
+
+To train with the Swin-T backbone, please download [swin_tiny_patch4_window7_224.pth](https://github.com/SwinTransformer/storage/releases/download/v1.0.0/swin_tiny_patch4_window7_224.pth) and convert it to detectron2's format using [tools/convert_swin_to_d2.py](tools/convert_swin_to_d2.py).
+```
+wget https://github.com/SwinTransformer/storage/releases/download/v1.0.0/swin_tiny_patch4_window7_224.pth
+python tools/convert_swin_to_d2.py swin_tiny_patch4_window7_224.pth swin_tiny_patch4_window7_224_d2.pth
+```
+
+
+### Citation
+
+If you find our work useful for your research, please consider citing:
+
+```BibTeX
+@InProceedings{han2022opendet,
+ author = {Han, Jiaming and Ren, Yuqiang and Ding, Jian and Pan, Xingjia and Yan, Ke and Xia, Gui-Song},
+ title = {Expanding Low-Density Latent Regions for Open-Set Object Detection},
+ booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
+ year = {2022}
+}
+```
\ No newline at end of file
diff --git a/app.py b/app.py
new file mode 100644
index 0000000..0e5bb9c
--- /dev/null
+++ b/app.py
@@ -0,0 +1,56 @@
+"""
+Online demo at huggingface.
+The link is: https://huggingface.co/spaces/csuhan/opendet2
+"""
+import os
+os.system('pip install torch==1.9 torchvision')
+os.system('pip install detectron2==0.5 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu102/torch1.9/index.html')
+os.system('pip install timm opencv-python-headless')
+
+
+import gradio as gr
+
+from demo.predictor import VisualizationDemo
+from detectron2.config import get_cfg
+from opendet2 import add_opendet_config
+
+
+model_cfgs = {
+ "FR-CNN": ["configs/faster_rcnn_R_50_FPN_3x_baseline.yaml", "frcnn_r50.pth"],
+ "OpenDet-R50": ["configs/faster_rcnn_R_50_FPN_3x_opendet.yaml", "opendet2_r50.pth"],
+ "OpenDet-SwinT": ["configs/faster_rcnn_Swin_T_FPN_18e_opendet_voc.yaml", "opendet2_swint.pth"],
+}
+
+
+def setup_cfg(model):
+ cfg = get_cfg()
+ add_opendet_config(cfg)
+ model_cfg = model_cfgs[model]
+ cfg.merge_from_file(model_cfg[0])
+ cfg.MODEL.WEIGHTS = model_cfg[1]
+ cfg.MODEL.DEVICE = "cpu"
+ cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5
+ cfg.MODEL.ROI_HEADS.VIS_IOU_THRESH = 0.8
+ cfg.freeze()
+ return cfg
+
+
+def inference(input, model):
+ cfg = setup_cfg(model)
+ demo = VisualizationDemo(cfg)
+ # use PIL, to be consistent with evaluation
+ predictions, visualized_output = demo.run_on_image(input)
+ output = visualized_output.get_image()[:, :, ::-1]
+ return output
+
+
+iface = gr.Interface(
+ inference,
+ [
+ "image",
+ gr.inputs.Radio(
+ ["FR-CNN", "OpenDet-R50", "OpenDet-SwinT"], default='OpenDet-R50'),
+ ],
+ "image")
+
+iface.launch()
diff --git a/configs/Base-RCNN-FPN-OPENDET.yaml b/configs/Base-RCNN-FPN-OPENDET.yaml
new file mode 100644
index 0000000..89cc4a4
--- /dev/null
+++ b/configs/Base-RCNN-FPN-OPENDET.yaml
@@ -0,0 +1,25 @@
+_BASE_: "./Base-RCNN-FPN.yaml"
+MODEL:
+ MASK_ON: False
+ ROI_HEADS:
+ NAME: "OpenSetStandardROIHeads"
+ NUM_CLASSES: 81
+ NUM_KNOWN_CLASSES: 20
+ ROI_BOX_HEAD:
+ NAME: "FastRCNNSeparateConvFCHead"
+ OUTPUT_LAYERS: "OpenDetFastRCNNOutputLayers"
+ CLS_AGNOSTIC_BBOX_REG: True
+UPLOSS:
+ START_ITER: 100
+ SAMPLING_METRIC: "min_score"
+ TOPK: 3
+ ALPHA: 1.0
+ WEIGHT: 1.0
+ICLOSS:
+ OUT_DIM: 128
+ QUEUE_SIZE: 256
+ IN_QUEUE_SIZE: 16
+ BATCH_IOU_THRESH: 0.5
+ QUEUE_IOU_THRESH: 0.7
+ TEMPERATURE: 0.1
+ WEIGHT: 0.1
\ No newline at end of file
diff --git a/configs/Base-RCNN-FPN.yaml b/configs/Base-RCNN-FPN.yaml
new file mode 100644
index 0000000..de970a2
--- /dev/null
+++ b/configs/Base-RCNN-FPN.yaml
@@ -0,0 +1,44 @@
+# The same as detectron2/configs/Base-RCNN-FPN.yaml
+MODEL:
+ META_ARCHITECTURE: "GeneralizedRCNN"
+ BACKBONE:
+ NAME: "build_resnet_fpn_backbone"
+ RESNETS:
+ OUT_FEATURES: ["res2", "res3", "res4", "res5"]
+ FPN:
+ IN_FEATURES: ["res2", "res3", "res4", "res5"]
+ ANCHOR_GENERATOR:
+ SIZES: [[32], [64], [128], [256], [512]] # One size for each in feature map
+ ASPECT_RATIOS: [[0.5, 1.0, 2.0]] # Three aspect ratios (same for all in feature maps)
+ RPN:
+ IN_FEATURES: ["p2", "p3", "p4", "p5", "p6"]
+ PRE_NMS_TOPK_TRAIN: 2000 # Per FPN level
+ PRE_NMS_TOPK_TEST: 1000 # Per FPN level
+ # Detectron1 uses 2000 proposals per-batch,
+ # (See "modeling/rpn/rpn_outputs.py" for details of this legacy issue)
+ # which is approximately 1000 proposals per-image since the default batch size for FPN is 2.
+ POST_NMS_TOPK_TRAIN: 1000
+ POST_NMS_TOPK_TEST: 1000
+ ROI_HEADS:
+ NAME: "StandardROIHeads"
+ IN_FEATURES: ["p2", "p3", "p4", "p5"]
+ ROI_BOX_HEAD:
+ NAME: "FastRCNNConvFCHead"
+ NUM_FC: 2
+ POOLER_RESOLUTION: 7
+ ROI_MASK_HEAD:
+ NAME: "MaskRCNNConvUpsampleHead"
+ NUM_CONV: 4
+ POOLER_RESOLUTION: 14
+DATASETS:
+ TRAIN: ("coco_2017_train",)
+ TEST: ("coco_2017_val",)
+SOLVER:
+ IMS_PER_BATCH: 16
+ BASE_LR: 0.02
+ STEPS: (60000, 80000)
+ MAX_ITER: 90000
+INPUT:
+ MIN_SIZE_TRAIN: (480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800)
+ MIN_SIZE_TEST: 800
+VERSION: 2
diff --git a/configs/Base-RetinaNet.yaml b/configs/Base-RetinaNet.yaml
new file mode 100644
index 0000000..1cefa19
--- /dev/null
+++ b/configs/Base-RetinaNet.yaml
@@ -0,0 +1,26 @@
+# The same as detectron2/configs/Base-RetinaNet.yaml
+MODEL:
+ META_ARCHITECTURE: "RetinaNet"
+ BACKBONE:
+ NAME: "build_retinanet_resnet_fpn_backbone"
+ RESNETS:
+ OUT_FEATURES: ["res3", "res4", "res5"]
+ ANCHOR_GENERATOR:
+ SIZES: !!python/object/apply:eval ["[[x, x * 2**(1.0/3), x * 2**(2.0/3) ] for x in [32, 64, 128, 256, 512 ]]"]
+ FPN:
+ IN_FEATURES: ["res3", "res4", "res5"]
+ RETINANET:
+ IOU_THRESHOLDS: [0.4, 0.5]
+ IOU_LABELS: [0, -1, 1]
+ SMOOTH_L1_LOSS_BETA: 0.0
+DATASETS:
+ TRAIN: ("coco_2017_train",)
+ TEST: ("coco_2017_val",)
+SOLVER:
+ IMS_PER_BATCH: 16
+ BASE_LR: 0.01 # Note that RetinaNet uses a different default learning rate
+ STEPS: (60000, 80000)
+ MAX_ITER: 90000
+INPUT:
+ MIN_SIZE_TRAIN: (640, 672, 704, 736, 768, 800)
+VERSION: 2
diff --git a/configs/faster_rcnn_R_50_FPN_3x_baseline.yaml b/configs/faster_rcnn_R_50_FPN_3x_baseline.yaml
new file mode 100644
index 0000000..40ed937
--- /dev/null
+++ b/configs/faster_rcnn_R_50_FPN_3x_baseline.yaml
@@ -0,0 +1,16 @@
+_BASE_: "./Base-RCNN-FPN-OPENDET.yaml"
+MODEL:
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
+ RESNETS:
+ DEPTH: 50
+ ROI_BOX_HEAD:
+ OUTPUT_LAYERS: "CosineFastRCNNOutputLayers" # baseline use a simple cosine FRCNN
+DATASETS:
+ TRAIN: ('voc_2007_train', 'voc_2012_trainval')
+ TEST: ('voc_2007_test', 'voc_coco_20_40_test', 'voc_coco_20_60_test', 'voc_coco_20_80_test', 'voc_coco_2500_test', 'voc_coco_5000_test', 'voc_coco_10000_test', 'voc_coco_20000_test')
+SOLVER:
+ STEPS: (21000, 29000)
+ MAX_ITER: 32000
+ WARMUP_ITERS: 100
+ AMP:
+ ENABLED: True
\ No newline at end of file
diff --git a/configs/faster_rcnn_R_50_FPN_3x_ds.yaml b/configs/faster_rcnn_R_50_FPN_3x_ds.yaml
new file mode 100644
index 0000000..b3d6421
--- /dev/null
+++ b/configs/faster_rcnn_R_50_FPN_3x_ds.yaml
@@ -0,0 +1,18 @@
+_BASE_: "./Base-RCNN-FPN-OPENDET.yaml"
+MODEL:
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
+ RESNETS:
+ DEPTH: 50
+ ROI_HEADS:
+ NAME: "DropoutStandardROIHeads"
+ ROI_BOX_HEAD:
+ OUTPUT_LAYERS: "DropoutFastRCNNOutputLayers"
+DATASETS:
+ TRAIN: ('voc_2007_train', 'voc_2012_trainval')
+ TEST: ('voc_2007_test', 'voc_coco_20_40_test', 'voc_coco_20_60_test', 'voc_coco_20_80_test', 'voc_coco_2500_test', 'voc_coco_5000_test', 'voc_coco_10000_test', 'voc_coco_20000_test')
+SOLVER:
+ STEPS: (21000, 29000)
+ MAX_ITER: 32000
+ WARMUP_ITERS: 100
+ AMP:
+ ENABLED: True
\ No newline at end of file
diff --git a/configs/faster_rcnn_R_50_FPN_3x_opendet.yaml b/configs/faster_rcnn_R_50_FPN_3x_opendet.yaml
new file mode 100644
index 0000000..006bedb
--- /dev/null
+++ b/configs/faster_rcnn_R_50_FPN_3x_opendet.yaml
@@ -0,0 +1,16 @@
+_BASE_: "./Base-RCNN-FPN-OPENDET.yaml"
+MODEL:
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
+ RESNETS:
+ DEPTH: 50
+DATASETS:
+ TRAIN: ('voc_2007_train', 'voc_2012_trainval')
+ TEST: ('voc_2007_test', 'voc_coco_20_40_test', 'voc_coco_20_60_test', 'voc_coco_20_80_test', 'voc_coco_2500_test', 'voc_coco_5000_test', 'voc_coco_10000_test', 'voc_coco_20000_test')
+SOLVER:
+ STEPS: (21000, 29000)
+ MAX_ITER: 32000
+ WARMUP_ITERS: 100
+ AMP:
+ ENABLED: True
+
+# UPLOSS.WEIGHT: former two are 0.5, the last is 1.0
\ No newline at end of file
diff --git a/configs/faster_rcnn_R_50_FPN_3x_proser.yaml b/configs/faster_rcnn_R_50_FPN_3x_proser.yaml
new file mode 100644
index 0000000..62f4006
--- /dev/null
+++ b/configs/faster_rcnn_R_50_FPN_3x_proser.yaml
@@ -0,0 +1,16 @@
+_BASE_: "./Base-RCNN-FPN-OPENDET.yaml"
+MODEL:
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
+ RESNETS:
+ DEPTH: 50
+ ROI_BOX_HEAD:
+ OUTPUT_LAYERS: "PROSERFastRCNNOutputLayers"
+DATASETS:
+ TRAIN: ('voc_2007_train', 'voc_2012_trainval')
+ TEST: ('voc_2007_test', 'voc_coco_20_40_test', 'voc_coco_20_60_test', 'voc_coco_20_80_test', 'voc_coco_2500_test', 'voc_coco_5000_test', 'voc_coco_10000_test', 'voc_coco_20000_test')
+SOLVER:
+ STEPS: (21000, 29000)
+ MAX_ITER: 32000
+ WARMUP_ITERS: 100
+ AMP:
+ ENABLED: True
\ No newline at end of file
diff --git a/configs/faster_rcnn_Swin_T_FPN_3x_opendet.yaml b/configs/faster_rcnn_Swin_T_FPN_3x_opendet.yaml
new file mode 100644
index 0000000..e3c7607
--- /dev/null
+++ b/configs/faster_rcnn_Swin_T_FPN_3x_opendet.yaml
@@ -0,0 +1,25 @@
+_BASE_: "./Base-RCNN-FPN-OPENDET.yaml"
+MODEL:
+ WEIGHTS: "checkpoints/swin_tiny_patch4_window7_224_d2.pth"
+ PIXEL_MEAN: [123.675, 116.28, 103.53]
+ PIXEL_STD: [58.395, 57.12, 57.375]
+ RESNETS:
+ DEPTH: 50
+ BACKBONE:
+ NAME: "build_swint_fpn_backbone"
+ SWINT:
+ OUT_FEATURES: ["stage2", "stage3", "stage4", "stage5"]
+ FPN:
+ IN_FEATURES: ["stage2", "stage3", "stage4", "stage5"]
+DATASETS:
+ TRAIN: ('voc_2007_train', 'voc_2012_trainval')
+ TEST: ('voc_2007_test', 'voc_coco_20_40_test', 'voc_coco_20_60_test', 'voc_coco_20_80_test', 'voc_coco_2500_test', 'voc_coco_5000_test', 'voc_coco_10000_test', 'voc_coco_20000_test')
+SOLVER:
+ STEPS: (21000, 29000)
+ MAX_ITER: 32000
+ WARMUP_ITERS: 100
+ WEIGHT_DECAY: 0.05
+ BASE_LR: 0.0001
+ OPTIMIZER: "ADAMW"
+ AMP:
+ ENABLED: True
\ No newline at end of file
diff --git a/configs/retinanet_R_50_FPN_3x_baseline.yaml b/configs/retinanet_R_50_FPN_3x_baseline.yaml
new file mode 100644
index 0000000..923de04
--- /dev/null
+++ b/configs/retinanet_R_50_FPN_3x_baseline.yaml
@@ -0,0 +1,17 @@
+_BASE_: "./Base-RetinaNet.yaml"
+MODEL:
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
+ RESNETS:
+ DEPTH: 50
+ RETINANET:
+ NUM_CLASSES: 81
+ NUM_KNOWN_CLASSES: 20
+DATASETS:
+ TRAIN: ('voc_2007_train', 'voc_2012_trainval')
+ TEST: ('voc_2007_test', 'voc_coco_20_40_test', 'voc_coco_20_60_test', 'voc_coco_20_80_test', 'voc_coco_2500_test', 'voc_coco_5000_test', 'voc_coco_10000_test', 'voc_coco_20000_test')
+SOLVER:
+ STEPS: (21000, 29000)
+ MAX_ITER: 32000
+ WARMUP_ITERS: 1000
+ AMP:
+ ENABLED: True
\ No newline at end of file
diff --git a/configs/retinanet_R_50_FPN_3x_opendet.yaml b/configs/retinanet_R_50_FPN_3x_opendet.yaml
new file mode 100644
index 0000000..af4cc21
--- /dev/null
+++ b/configs/retinanet_R_50_FPN_3x_opendet.yaml
@@ -0,0 +1,25 @@
+_BASE_: "./Base-RetinaNet.yaml"
+MODEL:
+ META_ARCHITECTURE: "OpenSetRetinaNet"
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
+ RESNETS:
+ DEPTH: 50
+ RETINANET:
+ NUM_CLASSES: 81
+ NUM_KNOWN_CLASSES: 20
+DATASETS:
+ TRAIN: ('voc_2007_train', 'voc_2012_trainval')
+ TEST: ('voc_2007_test', 'voc_coco_20_40_test', 'voc_coco_20_60_test', 'voc_coco_20_80_test', 'voc_coco_2500_test', 'voc_coco_5000_test', 'voc_coco_10000_test', 'voc_coco_20000_test')
+SOLVER:
+ STEPS: (21000, 29000)
+ MAX_ITER: 32000
+ WARMUP_ITERS: 1000
+ AMP:
+ ENABLED: True
+UPLOSS:
+ TOPK: 10
+ WEIGHT: 0.2
+ICLOSS:
+ QUEUE_SIZE: 1024
+ IN_QUEUE_SIZE: 64
+ WEIGHT: 0.2
\ No newline at end of file
diff --git a/datasets/README.md b/datasets/README.md
new file mode 100644
index 0000000..2cbf4f0
--- /dev/null
+++ b/datasets/README.md
@@ -0,0 +1,51 @@
+# Use Builtin Datasets
+
+A dataset can be used by accessing [DatasetCatalog](https://detectron2.readthedocs.io/modules/data.html#detectron2.data.DatasetCatalog)
+for its data, or [MetadataCatalog](https://detectron2.readthedocs.io/modules/data.html#detectron2.data.MetadataCatalog) for its metadata (class names, etc).
+This document explains how to setup the builtin datasets so they can be used by the above APIs.
+[Use Custom Datasets](https://detectron2.readthedocs.io/tutorials/datasets.html) gives a deeper dive on how to use `DatasetCatalog` and `MetadataCatalog`,
+and how to add new datasets to them.
+
+Detectron2 has builtin support for a few datasets.
+The datasets are assumed to exist in a directory specified by the environment variable
+`DETECTRON2_DATASETS`.
+Under this directory, detectron2 will look for datasets in the structure described below, if needed.
+```
+$DETECTRON2_DATASETS/
+ coco/
+ VOC20{07,12}/
+```
+
+You can set the location for builtin datasets by `export DETECTRON2_DATASETS=/path/to/datasets`.
+If left unset, the default is `./datasets` relative to your current working directory.
+
+The [model zoo](https://github.com/facebookresearch/detectron2/blob/master/MODEL_ZOO.md)
+contains configs and models that use these builtin datasets.
+
+## Expected dataset structure for [COCO instance/keypoint detection](https://cocodataset.org/#download):
+
+```
+coco/
+ annotations/
+ instances_{train,val}2017.json
+ person_keypoints_{train,val}2017.json
+ {train,val}2017/
+ # image files that are mentioned in the corresponding json
+```
+
+You can use the 2014 version of the dataset as well.
+
+Some of the builtin tests (`dev/run_*_tests.sh`) uses a tiny version of the COCO dataset,
+which you can download with `./datasets/prepare_for_tests.sh`.
+
+## Expected dataset structure for [Pascal VOC](http://host.robots.ox.ac.uk/pascal/VOC/index.html):
+```
+VOC20{07,12}/
+ Annotations/
+ ImageSets/
+ Main/
+ trainval.txt
+ test.txt
+ # train.txt or val.txt, if you use these splits
+ JPEGImages/
+```
diff --git a/datasets/opendet2_utils/convert_coco_to_voc.py b/datasets/opendet2_utils/convert_coco_to_voc.py
new file mode 100644
index 0000000..9a0ed9d
--- /dev/null
+++ b/datasets/opendet2_utils/convert_coco_to_voc.py
@@ -0,0 +1,63 @@
+import xml.etree.cElementTree as ET
+import os
+import argparse
+from tqdm import tqdm
+from pycocotools.coco import COCO
+
+COCO2VOC_CLASS_NAMES = {
+ "airplane": "aeroplane",
+ "dining table": "diningtable",
+ "motorcycle": "motorbike",
+ "potted plant": "pottedplant",
+ "couch": "sofa",
+ "tv": "tvmonitor",
+}
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='Convert COCO to VOC style')
+ parser.add_argument("--dir", default="datasets/voc_coco", type=str, help="dataset dir")
+ parser.add_argument("--ann_path", default="datasets/coco/annotations/instances_train2017.json", type=str, help="annotation path")
+ return parser.parse_args()
+
+def convert_coco_to_voc(coco_annotation_file, target_folder):
+ os.makedirs(os.path.join(target_folder, 'Annotations'), exist_ok=True)
+ coco_instance = COCO(coco_annotation_file)
+ image_ids = []
+ for index, image_id in enumerate(tqdm(coco_instance.imgToAnns)):
+ image_details = coco_instance.imgs[image_id]
+ annotation_el = ET.Element('annotation')
+ ET.SubElement(annotation_el, 'filename').text = image_details['file_name']
+
+ size_el = ET.SubElement(annotation_el, 'size')
+ ET.SubElement(size_el, 'width').text = str(image_details['width'])
+ ET.SubElement(size_el, 'height').text = str(image_details['height'])
+ ET.SubElement(size_el, 'depth').text = str(3)
+
+ for annotation in coco_instance.imgToAnns[image_id]:
+ object_el = ET.SubElement(annotation_el, 'object')
+ cls_name = coco_instance.cats[annotation['category_id']]['name']
+ if cls_name in COCO2VOC_CLASS_NAMES.keys():
+ cls_name = COCO2VOC_CLASS_NAMES[cls_name]
+ ET.SubElement(object_el,'name').text = cls_name
+ # ET.SubElement(object_el, 'name').text = 'unknown'
+ ET.SubElement(object_el, 'difficult').text = '0'
+ bb_el = ET.SubElement(object_el, 'bndbox')
+ ET.SubElement(bb_el, 'xmin').text = str(int(annotation['bbox'][0] + 1.0))
+ ET.SubElement(bb_el, 'ymin').text = str(int(annotation['bbox'][1] + 1.0))
+ ET.SubElement(bb_el, 'xmax').text = str(int(annotation['bbox'][0] + annotation['bbox'][2] + 1.0))
+ ET.SubElement(bb_el, 'ymax').text = str(int(annotation['bbox'][1] + annotation['bbox'][3] + 1.0))
+
+ file_name = image_details['file_name'].split('.')[0]
+ image_ids.append(file_name)
+ ET.ElementTree(annotation_el).write(os.path.join(target_folder, 'Annotations', file_name + '.xml'))
+
+ imageset_dir = os.path.join(target_folder, 'ImageSets/Main')
+ os.makedirs(imageset_dir, exist_ok=True)
+ imageset_name = os.path.basename(coco_annotation_file).split(".json")[0] + ".txt"
+ with open(os.path.join(imageset_dir, imageset_name), 'w') as f:
+ f.writelines("\n".join(image_ids)+'\n')
+
+
+if __name__ == '__main__':
+ args = parse_args()
+ convert_coco_to_voc(args.ann_path, args.dir)
diff --git a/datasets/opendet2_utils/prepare_openset_voc_coco.sh b/datasets/opendet2_utils/prepare_openset_voc_coco.sh
new file mode 100644
index 0000000..829e983
--- /dev/null
+++ b/datasets/opendet2_utils/prepare_openset_voc_coco.sh
@@ -0,0 +1,92 @@
+DATA_DIR=datasets/voc_coco
+COCO_DIR=datasets/coco
+VOC07_DIR=datasets/VOC2007
+VOC12_DIR=datasets/VOC2012
+
+# make neccesary dirs
+rm $DATA_DIR -rf
+echo "make dirs"
+mkdir -p $DATA_DIR
+mkdir -p $DATA_DIR/Annotations
+# mkdir -p DATA_DIR/JPEGImages
+mkdir -p $DATA_DIR/ImageSets
+mkdir -p $DATA_DIR/ImageSets/Main
+
+# cp data
+# make use you have $COCO_DIR, VOC07_DIR and VOC12_DIR
+echo "copy coco images"
+cp $COCO_DIR/train2017 $DATA_DIR/JPEGImages -r
+cp $COCO_DIR/val2017/* $DATA_DIR/JPEGImages/
+
+echo "convert coco annotation to voc"
+python datasets/opendet2_utils/convert_coco_to_voc.py --dir $DATA_DIR --ann_path $COCO_DIR/annotations/instances_train2017.json
+python datasets/opendet2_utils/convert_coco_to_voc.py --dir $DATA_DIR --ann_path $COCO_DIR/annotations/instances_val2017.json
+
+
+# generate imageset
+echo "generate coco sub imagesets"
+# class incremental settings
+# 20-40
+python datasets/opendet2_utils/prepare_openset_voc_coco_cls_specific.py --dir $DATA_DIR --in_split instances_train2017 --out_split instances_train2017_cls_spe_20_40 --start_class 20 --end_class 40 --pre_num_sample 8000 --post_num_sample 5000
+# 40-60
+python datasets/opendet2_utils/prepare_openset_voc_coco_cls_specific.py --dir $DATA_DIR --in_split instances_train2017 --out_split instances_train2017_cls_spe_20_60 --start_class 20 --end_class 60 --pre_num_sample 16000 --post_num_sample 10000
+# 60-80
+python datasets/opendet2_utils/prepare_openset_voc_coco_cls_specific.py --dir $DATA_DIR --in_split instances_train2017 --out_split instances_train2017_cls_spe_20_80 --start_class 20 --end_class 80 --pre_num_sample 24000 --post_num_sample 15000
+
+# image incremental settings
+# 2500
+python datasets/opendet2_utils/prepare_openset_voc_coco_cls_agnostic.py --dir $DATA_DIR --in_split instances_train2017 --out_split instances_train2017_cls_agn_2500 --start_class 20 --end_class 80 --post_num_sample 2500
+# 5000
+python datasets/opendet2_utils/prepare_openset_voc_coco_cls_agnostic.py --dir $DATA_DIR --in_split instances_train2017 --out_split instances_train2017_cls_agn_5000 --start_class 20 --end_class 80 --post_num_sample 5000
+# 10000
+python datasets/opendet2_utils/prepare_openset_voc_coco_cls_agnostic.py --dir $DATA_DIR --in_split instances_train2017 --out_split instances_train2017_cls_agn_10000 --start_class 20 --end_class 80 --post_num_sample 10000
+# 20000
+python datasets/opendet2_utils/prepare_openset_voc_coco_cls_agnostic.py --dir $DATA_DIR --in_split instances_train2017 --out_split instances_train2017_cls_agn_20000 --start_class 20 --end_class 80 --post_num_sample 20000
+
+
+echo "copy voc images"
+cp $VOC07_DIR/JPEGImages/* $DATA_DIR/JPEGImages/
+cp $VOC12_DIR/JPEGImages/* $DATA_DIR/JPEGImages/
+
+echo "copy voc annotation"
+cp $VOC07_DIR/Annotations/* $DATA_DIR/Annotations/
+cp $VOC12_DIR/Annotations/* $DATA_DIR/Annotations/
+
+echo "copy voc imagesets"
+cp $VOC07_DIR/ImageSets/Main/train.txt $DATA_DIR/ImageSets/Main/voc07train.txt
+cp $VOC07_DIR/ImageSets/Main/val.txt $DATA_DIR/ImageSets/Main/voc07val.txt
+cp $VOC07_DIR/ImageSets/Main/test.txt $DATA_DIR/ImageSets/Main/voc07test.txt
+cp $VOC12_DIR/ImageSets/Main/trainval.txt $DATA_DIR/ImageSets/Main/voc12trainval.txt
+
+echo "generate voc_coco_val imagesets"
+cat $DATA_DIR/ImageSets/Main/voc07val.txt > $DATA_DIR/ImageSets/Main/voc_coco_val.txt
+cat $DATA_DIR/ImageSets/Main/instances_val2017.txt >> $DATA_DIR/ImageSets/Main/voc_coco_val.txt
+
+echo "generate voc_coco_20_40_test imagesets"
+cat $DATA_DIR/ImageSets/Main/voc07test.txt > $DATA_DIR/ImageSets/Main/voc_coco_20_40_test.txt
+cat $DATA_DIR/ImageSets/Main/instances_train2017_cls_spe_20_40.txt >> $DATA_DIR/ImageSets/Main/voc_coco_20_40_test.txt
+
+echo "generate voc_coco_40_60_test imagesets"
+cat $DATA_DIR/ImageSets/Main/voc07test.txt > $DATA_DIR/ImageSets/Main/voc_coco_20_60_test.txt
+cat $DATA_DIR/ImageSets/Main/instances_train2017_cls_spe_20_60.txt >> $DATA_DIR/ImageSets/Main/voc_coco_20_60_test.txt
+
+echo "generate voc_coco_60_80_test imagesets"
+cat $DATA_DIR/ImageSets/Main/voc07test.txt > $DATA_DIR/ImageSets/Main/voc_coco_20_80_test.txt
+cat $DATA_DIR/ImageSets/Main/instances_train2017_cls_spe_20_80.txt >> $DATA_DIR/ImageSets/Main/voc_coco_20_80_test.txt
+
+echo "generate voc_coco_2500_test imagesets"
+cat $DATA_DIR/ImageSets/Main/voc07test.txt > $DATA_DIR/ImageSets/Main/voc_coco_2500_test.txt
+cat $DATA_DIR/ImageSets/Main/instances_train2017_cls_agn_2500.txt >> $DATA_DIR/ImageSets/Main/voc_coco_2500_test.txt
+
+echo "generate voc_coco_5000_test imagesets"
+cat $DATA_DIR/ImageSets/Main/voc07test.txt > $DATA_DIR/ImageSets/Main/voc_coco_5000_test.txt
+cat $DATA_DIR/ImageSets/Main/instances_train2017_cls_agn_5000.txt >> $DATA_DIR/ImageSets/Main/voc_coco_5000_test.txt
+
+echo "generate voc_coco_10000_test imagesets"
+cat $DATA_DIR/ImageSets/Main/voc07test.txt > $DATA_DIR/ImageSets/Main/voc_coco_10000_test.txt
+cat $DATA_DIR/ImageSets/Main/instances_train2017_cls_agn_10000.txt >> $DATA_DIR/ImageSets/Main/voc_coco_10000_test.txt
+
+echo "generate voc_coco_20000_test imagesets"
+cat $DATA_DIR/ImageSets/Main/voc07test.txt > $DATA_DIR/ImageSets/Main/voc_coco_20000_test.txt
+cat $DATA_DIR/ImageSets/Main/instances_train2017_cls_agn_20000.txt >> $DATA_DIR/ImageSets/Main/voc_coco_20000_test.txt
+
diff --git a/datasets/opendet2_utils/prepare_openset_voc_coco_cls_agnostic.py b/datasets/opendet2_utils/prepare_openset_voc_coco_cls_agnostic.py
new file mode 100644
index 0000000..b1feef8
--- /dev/null
+++ b/datasets/opendet2_utils/prepare_openset_voc_coco_cls_agnostic.py
@@ -0,0 +1,84 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import numpy as np
+import os
+import itertools
+import xml.etree.ElementTree as ET
+from typing import List, Tuple, Union
+import argparse
+from collections import defaultdict
+import random
+import operator
+from functools import reduce
+
+from detectron2.utils.file_io import PathManager
+
+
+VOC_CLASS_NAMES = [
+ "aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat",
+ "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person",
+ "pottedplant", "sheep", "sofa", "train", "tvmonitor"
+]
+
+T2_CLASS_NAMES = [
+ "truck", "traffic light", "fire hydrant", "stop sign", "parking meter",
+ "bench", "elephant", "bear", "zebra", "giraffe",
+ "backpack", "umbrella", "handbag", "tie", "suitcase",
+ "microwave", "oven", "toaster", "sink", "refrigerator"
+]
+
+T3_CLASS_NAMES = [
+ "frisbee", "skis", "snowboard", "sports ball", "kite",
+ "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket",
+ "banana", "apple", "sandwich", "orange", "broccoli",
+ "carrot", "hot dog", "pizza", "donut", "cake"
+]
+
+T4_CLASS_NAMES = [
+ "bed", "toilet", "laptop", "mouse",
+ "remote", "keyboard", "cell phone", "book", "clock",
+ "vase", "scissors", "teddy bear", "hair drier", "toothbrush",
+ "wine glass", "cup", "fork", "knife", "spoon", "bowl"
+]
+
+VOC_COCO_CLASS_NAMES = tuple(itertools.chain(VOC_CLASS_NAMES, T2_CLASS_NAMES, T3_CLASS_NAMES, T4_CLASS_NAMES))
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='openset voc generator')
+ parser.add_argument("--dir", default="datasets/voc_coco", type=str, help="dataset dir")
+ parser.add_argument("--in_split", default="instances_train2017", type=str, help="in split name")
+ parser.add_argument("--out_split", default="instances_train2017_openset_cls_agn_5000", type=str, help="out split name")
+ parser.add_argument("--start_class", default="20", type=int)
+ parser.add_argument("--end_class", default="40", type=int)
+ parser.add_argument("--post_num_sample", default="5000", type=int)
+ return parser.parse_args()
+
+def prepare_openset(dirname: str, in_split: str, out_split: str, start_class: int, end_class: int, post_num_sample_img: int):
+ with PathManager.open(os.path.join(dirname, "ImageSets", "Main", in_split + ".txt")) as f:
+ fileids = np.loadtxt(f, dtype=str)
+
+ annotation_dirname = PathManager.get_local_path(os.path.join(dirname, "Annotations/"))
+
+ image_ids = []
+ for fileid in fileids:
+ anno_file = os.path.join(annotation_dirname, fileid + ".xml")
+ with PathManager.open(anno_file) as f:
+ tree = ET.parse(f)
+
+ classes = [obj.find("name").text for obj in tree.findall("object")]
+ if set(classes).isdisjoint(VOC_COCO_CLASS_NAMES[:start_class]+VOC_COCO_CLASS_NAMES[end_class:]):
+ image_ids.append(fileid)
+
+ image_ids = set(image_ids)
+ num_img = len(image_ids)
+ # print(num_img)
+ post_num_sample_img = min(num_img, post_num_sample_img)
+ image_ids = random.sample(image_ids, post_num_sample_img)
+
+ with open(os.path.join(dirname, "ImageSets", "Main", out_split + ".txt"), "w") as f:
+ f.writelines("\n".join(image_ids)+"\n")
+
+if __name__ == "__main__":
+ args = parse_args()
+ prepare_openset(args.dir, args.in_split, args.out_split, args.start_class, args.end_class, args.post_num_sample)
\ No newline at end of file
diff --git a/datasets/opendet2_utils/prepare_openset_voc_coco_cls_specific.py b/datasets/opendet2_utils/prepare_openset_voc_coco_cls_specific.py
new file mode 100644
index 0000000..74e45bb
--- /dev/null
+++ b/datasets/opendet2_utils/prepare_openset_voc_coco_cls_specific.py
@@ -0,0 +1,97 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import numpy as np
+import os
+import itertools
+import xml.etree.ElementTree as ET
+from typing import List, Tuple, Union
+import argparse
+from collections import defaultdict
+import random
+import operator
+from functools import reduce
+
+from detectron2.utils.file_io import PathManager
+
+
+VOC_CLASS_NAMES = [
+ "aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat",
+ "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person",
+ "pottedplant", "sheep", "sofa", "train", "tvmonitor"
+]
+
+T2_CLASS_NAMES = [
+ "truck", "traffic light", "fire hydrant", "stop sign", "parking meter",
+ "bench", "elephant", "bear", "zebra", "giraffe",
+ "backpack", "umbrella", "handbag", "tie", "suitcase",
+ "microwave", "oven", "toaster", "sink", "refrigerator"
+]
+
+T3_CLASS_NAMES = [
+ "frisbee", "skis", "snowboard", "sports ball", "kite",
+ "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket",
+ "banana", "apple", "sandwich", "orange", "broccoli",
+ "carrot", "hot dog", "pizza", "donut", "cake"
+]
+
+T4_CLASS_NAMES = [
+ "bed", "toilet", "laptop", "mouse",
+ "remote", "keyboard", "cell phone", "book", "clock",
+ "vase", "scissors", "teddy bear", "hair drier", "toothbrush",
+ "wine glass", "cup", "fork", "knife", "spoon", "bowl"
+]
+
+VOC_COCO_CLASS_NAMES = tuple(itertools.chain(VOC_CLASS_NAMES, T2_CLASS_NAMES, T3_CLASS_NAMES, T4_CLASS_NAMES))
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='openset voc generator')
+ parser.add_argument("--dir", default="datasets/voc_coco", type=str, help="dataset dir")
+ parser.add_argument("--in_split", default="instances_train2017", type=str, help="in split name")
+ parser.add_argument("--out_split", default="instances_train2017_openset_cls_spe_0_20", type=str, help="out split name")
+ parser.add_argument("--start_class", default="20", type=int)
+ parser.add_argument("--end_class", default="40", type=int)
+ parser.add_argument("--pre_num_sample", default="8000", type=int)
+ parser.add_argument("--post_num_sample", default="5000", type=int)
+ return parser.parse_args()
+
+def prepare_openset(dirname: str, in_split: str, out_split: str, start_class: int, end_class: int, pre_num_sample_img: int, post_num_sample_img: int):
+ with PathManager.open(os.path.join(dirname, "ImageSets", "Main", in_split + ".txt")) as f:
+ fileids = np.loadtxt(f, dtype=str)
+
+ annotation_dirname = PathManager.get_local_path(os.path.join(dirname, "Annotations/"))
+
+ image_ids = defaultdict(list)
+ for fileid in fileids:
+ anno_file = os.path.join(annotation_dirname, fileid + ".xml")
+ with PathManager.open(anno_file) as f:
+ tree = ET.parse(f)
+
+ classes = [obj.find("name").text for obj in tree.findall("object")]
+ if (not set(classes).isdisjoint(VOC_COCO_CLASS_NAMES[start_class:end_class])) and "person" not in classes and set(classes).isdisjoint(VOC_COCO_CLASS_NAMES[end_class:]):
+ for cls in classes:
+ image_ids[cls].append(fileid)
+ # count class stastics
+ object_counts = {key:len(image_ids[key]) for key in image_ids.keys()}
+ total_objects = sum([object_counts[key] for key in object_counts.keys()])
+ ratio = float(pre_num_sample_img) / total_objects
+ sample_object_counts = {key:int(ratio*object_counts[key]) for key in object_counts.keys()}
+
+ sample_image_ids = defaultdict(list)
+ for cls in image_ids.keys():
+ cls_sample_num = sample_object_counts[cls]
+ cls_sample_num = min(cls_sample_num, len(image_ids[cls]))
+ sample_image_ids[cls] = random.sample(image_ids[cls], cls_sample_num)
+
+ # import pdb;pdb.set_trace()
+ image_ids = set(reduce(operator.add, [x for _, x in sample_image_ids.items()]))
+
+ post_num_sample_img = min(post_num_sample_img, len(image_ids))
+ image_ids = random.sample(image_ids, post_num_sample_img)
+
+ with open(os.path.join(dirname, "ImageSets", "Main", out_split + ".txt"), "w") as f:
+ f.writelines("\n".join(image_ids)+"\n")
+
+if __name__ == "__main__":
+ args = parse_args()
+ prepare_openset(args.dir, args.in_split, args.out_split, args.start_class, args.end_class, args.pre_num_sample, args.post_num_sample)
\ No newline at end of file
diff --git a/datasets/opendet2_utils/split_coco_trainval.py b/datasets/opendet2_utils/split_coco_trainval.py
new file mode 100644
index 0000000..1846e96
--- /dev/null
+++ b/datasets/opendet2_utils/split_coco_trainval.py
@@ -0,0 +1,57 @@
+from pycocotools.coco import COCO
+import numpy as np
+import random
+import operator
+import argparse
+from functools import reduce
+from collections import defaultdict
+import os
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='openset voc generator')
+ parser.add_argument("--dir", default="datasets/voc_coco/ImageSets/Main", type=str, help="output dir")
+ parser.add_argument("--ann_path", default="datasets/coco/annotations/instances_train2017.json", type=str, help="annotation path")
+ return parser.parse_args()
+
+def split_coco_trainval(ann_file, out_dir, min_sample_num=10, max_sample_num=50):
+ image_dict = defaultdict(list)
+ coco_instance = COCO(ann_file)
+ for index, image_id in enumerate(coco_instance.imgToAnns):
+ image_details = coco_instance.imgs[image_id]
+ classes = [coco_instance.cats[annotation['category_id']]['name'] for annotation in coco_instance.imgToAnns[image_id]]
+ classes = set(classes)
+ image_name = image_details['file_name'].split('.')[0]
+ for cls in classes:
+ image_dict[cls].append(image_name)
+
+ for cls in image_dict.keys():
+ image_dict[cls] = list(set(image_dict[cls]))
+
+ image_train_dict = defaultdict(list)
+ image_val_dict = defaultdict(list)
+ num_arr = [len(image_dict[cls]) for cls in image_dict]
+ min_num = min(num_arr)
+ for cls in image_dict:
+ image_dict_per_cls = image_dict[cls]
+ num_to_sample = int(len(image_dict_per_cls) / min_num * min_sample_num)
+ num_to_sample = min(num_to_sample, max_sample_num)
+ random.shuffle(image_dict_per_cls)
+ image_train_dict[cls].append(image_dict_per_cls[num_to_sample:])
+ image_val_dict[cls].append(image_dict_per_cls[:num_to_sample])
+
+ image_train_dict = reduce(operator.add, [x[0] for _,x in image_train_dict.items()])
+ image_val_dict = reduce(operator.add, [x[0] for _,x in image_val_dict.items()])
+
+ image_train_dict = set(image_train_dict)
+ image_val_dict = set(image_val_dict)
+ image_train_dict = [x for x in image_train_dict if x not in image_val_dict]
+
+
+ with open(os.path.join(out_dir, "ImageSets/Main", "instances_train2017_train.txt"), "w") as f:
+ f.writelines("\n".join(image_train_dict))
+ with open(os.path.join(out_dir, "ImageSets/Main", "instances_train2017_val.txt"), "w") as f:
+ f.writelines("\n".join(image_val_dict))
+
+if __name__ == "__main__":
+ args = parse_args()
+ split_coco_trainval(args.ann_path, args.dir)
\ No newline at end of file
diff --git a/datasets/voc_coco_ann/ImageSets/Main/voc_coco_10000_test.txt b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_10000_test.txt
new file mode 100644
index 0000000..19827dc
--- /dev/null
+++ b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_10000_test.txt
@@ -0,0 +1,14952 @@
+000001
+000002
+000003
+000004
+000006
+000008
+000010
+000011
+000013
+000014
+000015
+000018
+000022
+000025
+000027
+000028
+000029
+000031
+000037
+000038
+000040
+000043
+000045
+000049
+000053
+000054
+000055
+000056
+000057
+000058
+000059
+000062
+000067
+000068
+000069
+000070
+000071
+000074
+000075
+000076
+000079
+000080
+000082
+000084
+000085
+000086
+000087
+000088
+000090
+000092
+000094
+000096
+000097
+000098
+000100
+000103
+000105
+000106
+000108
+000111
+000114
+000115
+000116
+000119
+000124
+000126
+000127
+000128
+000135
+000136
+000137
+000139
+000144
+000145
+000148
+000149
+000151
+000152
+000155
+000157
+000160
+000166
+000167
+000168
+000172
+000175
+000176
+000178
+000179
+000181
+000182
+000183
+000185
+000186
+000188
+000191
+000195
+000196
+000197
+000199
+000201
+000202
+000204
+000205
+000206
+000212
+000213
+000216
+000217
+000223
+000226
+000227
+000230
+000231
+000234
+000237
+000238
+000239
+000240
+000243
+000247
+000248
+000252
+000253
+000254
+000255
+000258
+000260
+000261
+000264
+000265
+000267
+000271
+000272
+000273
+000274
+000277
+000279
+000280
+000281
+000283
+000284
+000286
+000287
+000290
+000291
+000292
+000293
+000295
+000297
+000299
+000300
+000301
+000309
+000310
+000313
+000314
+000315
+000316
+000319
+000324
+000326
+000327
+000330
+000333
+000335
+000339
+000341
+000342
+000345
+000346
+000348
+000350
+000351
+000353
+000356
+000357
+000358
+000360
+000361
+000362
+000364
+000365
+000366
+000368
+000369
+000371
+000375
+000376
+000377
+000378
+000383
+000384
+000385
+000386
+000388
+000389
+000390
+000392
+000393
+000397
+000398
+000399
+000401
+000402
+000405
+000409
+000410
+000412
+000413
+000414
+000415
+000418
+000421
+000422
+000423
+000425
+000426
+000429
+000432
+000434
+000436
+000437
+000440
+000441
+000442
+000444
+000445
+000447
+000449
+000451
+000452
+000453
+000455
+000456
+000457
+000458
+000465
+000466
+000467
+000471
+000472
+000473
+000475
+000478
+000479
+000481
+000485
+000487
+000488
+000490
+000493
+000495
+000497
+000502
+000504
+000505
+000506
+000507
+000510
+000511
+000512
+000517
+000521
+000527
+000529
+000532
+000533
+000534
+000536
+000538
+000539
+000542
+000546
+000547
+000548
+000551
+000553
+000556
+000557
+000558
+000560
+000561
+000562
+000566
+000567
+000568
+000569
+000570
+000571
+000572
+000573
+000574
+000575
+000576
+000578
+000580
+000584
+000585
+000586
+000587
+000593
+000594
+000595
+000596
+000600
+000602
+000603
+000604
+000606
+000607
+000611
+000614
+000615
+000616
+000617
+000618
+000621
+000623
+000624
+000627
+000629
+000630
+000631
+000634
+000636
+000638
+000639
+000640
+000641
+000642
+000643
+000644
+000646
+000649
+000650
+000651
+000652
+000655
+000658
+000659
+000662
+000664
+000665
+000666
+000668
+000669
+000670
+000673
+000674
+000678
+000679
+000681
+000683
+000687
+000691
+000692
+000693
+000696
+000697
+000698
+000701
+000703
+000704
+000706
+000708
+000715
+000716
+000718
+000719
+000721
+000722
+000723
+000724
+000725
+000727
+000732
+000734
+000735
+000736
+000737
+000741
+000743
+000744
+000745
+000747
+000749
+000751
+000757
+000758
+000759
+000762
+000765
+000766
+000769
+000773
+000775
+000778
+000779
+000781
+000783
+000784
+000785
+000788
+000789
+000790
+000792
+000795
+000798
+000801
+000803
+000807
+000809
+000811
+000813
+000817
+000819
+000821
+000824
+000825
+000833
+000835
+000836
+000837
+000838
+000839
+000840
+000841
+000844
+000846
+000852
+000853
+000856
+000858
+000861
+000864
+000866
+000869
+000870
+000873
+000875
+000877
+000881
+000883
+000884
+000886
+000890
+000891
+000893
+000894
+000897
+000901
+000905
+000907
+000909
+000910
+000913
+000914
+000916
+000922
+000924
+000925
+000927
+000928
+000930
+000932
+000933
+000938
+000939
+000940
+000941
+000942
+000944
+000945
+000952
+000953
+000955
+000956
+000957
+000959
+000960
+000961
+000963
+000968
+000969
+000970
+000974
+000975
+000976
+000978
+000979
+000981
+000983
+000984
+000985
+000986
+000988
+000990
+000992
+000994
+000995
+000998
+001000
+001003
+001005
+001006
+001007
+001013
+001016
+001019
+001020
+001021
+001022
+001023
+001025
+001026
+001029
+001030
+001031
+001032
+001033
+001034
+001035
+001037
+001038
+001039
+001040
+001044
+001046
+001047
+001048
+001049
+001051
+001054
+001055
+001058
+001059
+001063
+001065
+001067
+001070
+001075
+001076
+001080
+001081
+001085
+001086
+001087
+001088
+001089
+001090
+001094
+001095
+001096
+001098
+001099
+001100
+001103
+001105
+001108
+001111
+001114
+001115
+001116
+001117
+001118
+001120
+001122
+001123
+001126
+001128
+001131
+001132
+001133
+001134
+001135
+001138
+001139
+001141
+001146
+001150
+001153
+001155
+001157
+001159
+001162
+001163
+001165
+001167
+001169
+001173
+001177
+001178
+001179
+001180
+001181
+001183
+001188
+001189
+001190
+001193
+001195
+001196
+001197
+001198
+001202
+001208
+001210
+001213
+001216
+001217
+001218
+001219
+001220
+001222
+001223
+001227
+001228
+001232
+001235
+001238
+001242
+001243
+001244
+001245
+001246
+001249
+001251
+001252
+001253
+001255
+001256
+001257
+001261
+001262
+001264
+001267
+001271
+001275
+001276
+001278
+001280
+001282
+001283
+001285
+001291
+001295
+001296
+001297
+001300
+001301
+001302
+001303
+001305
+001306
+001307
+001308
+001313
+001317
+001318
+001319
+001320
+001321
+001322
+001328
+001329
+001331
+001335
+001336
+001338
+001339
+001340
+001342
+001344
+001347
+001349
+001351
+001353
+001354
+001355
+001356
+001357
+001358
+001359
+001363
+001366
+001367
+001368
+001369
+001370
+001372
+001373
+001374
+001376
+001377
+001379
+001380
+001381
+001382
+001389
+001391
+001392
+001394
+001396
+001398
+001399
+001401
+001403
+001407
+001410
+001411
+001412
+001415
+001416
+001417
+001419
+001422
+001423
+001424
+001425
+001428
+001429
+001431
+001433
+001435
+001437
+001438
+001440
+001446
+001447
+001448
+001449
+001452
+001454
+001456
+001458
+001459
+001461
+001462
+001469
+001471
+001473
+001474
+001476
+001477
+001478
+001482
+001487
+001489
+001491
+001495
+001496
+001500
+001502
+001503
+001505
+001506
+001507
+001508
+001511
+001513
+001516
+001518
+001519
+001520
+001525
+001527
+001530
+001533
+001534
+001535
+001538
+001540
+001542
+001546
+001547
+001549
+001550
+001551
+001552
+001558
+001560
+001562
+001564
+001566
+001567
+001568
+001569
+001570
+001572
+001573
+001574
+001575
+001578
+001581
+001583
+001584
+001585
+001587
+001589
+001591
+001592
+001596
+001599
+001600
+001601
+001602
+001605
+001606
+001609
+001613
+001615
+001616
+001619
+001620
+001621
+001623
+001624
+001625
+001626
+001629
+001631
+001634
+001635
+001637
+001639
+001641
+001644
+001645
+001646
+001648
+001652
+001655
+001656
+001657
+001658
+001659
+001660
+001663
+001664
+001665
+001666
+001667
+001668
+001670
+001671
+001672
+001674
+001679
+001681
+001687
+001692
+001694
+001695
+001696
+001697
+001698
+001700
+001701
+001702
+001703
+001704
+001705
+001706
+001709
+001710
+001712
+001715
+001716
+001719
+001720
+001722
+001728
+001731
+001735
+001736
+001737
+001740
+001742
+001743
+001744
+001745
+001748
+001751
+001753
+001757
+001760
+001762
+001763
+001764
+001767
+001769
+001770
+001773
+001774
+001776
+001779
+001781
+001783
+001786
+001788
+001790
+001791
+001792
+001794
+001796
+001798
+001802
+001803
+001804
+001805
+001808
+001811
+001812
+001813
+001814
+001815
+001817
+001819
+001820
+001822
+001823
+001824
+001826
+001829
+001831
+001835
+001838
+001839
+001844
+001846
+001848
+001850
+001851
+001852
+001856
+001857
+001859
+001863
+001865
+001866
+001867
+001868
+001869
+001871
+001873
+001874
+001876
+001879
+001880
+001883
+001884
+001885
+001886
+001889
+001890
+001891
+001893
+001895
+001897
+001900
+001905
+001908
+001909
+001910
+001912
+001913
+001914
+001916
+001917
+001919
+001921
+001923
+001924
+001925
+001926
+001929
+001935
+001939
+001942
+001943
+001946
+001947
+001949
+001951
+001953
+001955
+001956
+001957
+001959
+001961
+001965
+001966
+001967
+001968
+001969
+001973
+001974
+001975
+001979
+001983
+001984
+001986
+001987
+001988
+001990
+001991
+001992
+001993
+001994
+001996
+001997
+001998
+002003
+002005
+002007
+002008
+002009
+002010
+002013
+002014
+002016
+002017
+002018
+002026
+002028
+002029
+002031
+002032
+002033
+002035
+002038
+002040
+002041
+002044
+002046
+002048
+002050
+002052
+002053
+002057
+002059
+002060
+002062
+002065
+002066
+002071
+002072
+002073
+002074
+002075
+002076
+002077
+002078
+002079
+002080
+002081
+002084
+002085
+002087
+002089
+002092
+002093
+002097
+002100
+002103
+002105
+002106
+002107
+002110
+002111
+002113
+002115
+002118
+002119
+002121
+002122
+002123
+002127
+002128
+002130
+002131
+002133
+002137
+002138
+002141
+002143
+002144
+002147
+002148
+002149
+002150
+002154
+002157
+002159
+002160
+002161
+002162
+002164
+002167
+002168
+002173
+002175
+002177
+002185
+002188
+002189
+002195
+002198
+002200
+002203
+002204
+002205
+002206
+002207
+002210
+002211
+002216
+002217
+002222
+002223
+002225
+002227
+002229
+002230
+002231
+002232
+002235
+002236
+002239
+002240
+002242
+002243
+002245
+002246
+002250
+002252
+002254
+002258
+002262
+002264
+002269
+002271
+002274
+002275
+002282
+002283
+002286
+002289
+002292
+002294
+002295
+002296
+002297
+002298
+002299
+002301
+002303
+002304
+002309
+002312
+002313
+002314
+002316
+002317
+002319
+002322
+002325
+002326
+002327
+002331
+002336
+002338
+002339
+002341
+002344
+002346
+002349
+002351
+002353
+002356
+002357
+002358
+002360
+002363
+002365
+002370
+002379
+002380
+002381
+002383
+002386
+002388
+002389
+002390
+002394
+002395
+002396
+002397
+002398
+002399
+002400
+002402
+002406
+002408
+002409
+002412
+002414
+002416
+002418
+002421
+002422
+002424
+002426
+002428
+002429
+002430
+002431
+002432
+002434
+002438
+002440
+002446
+002447
+002449
+002451
+002453
+002455
+002457
+002463
+002464
+002467
+002469
+002473
+002474
+002475
+002482
+002484
+002485
+002486
+002487
+002488
+002489
+002495
+002498
+002499
+002503
+002506
+002507
+002509
+002510
+002511
+002515
+002516
+002517
+002521
+002522
+002526
+002527
+002528
+002530
+002531
+002532
+002535
+002536
+002538
+002541
+002543
+002548
+002550
+002551
+002552
+002553
+002556
+002557
+002560
+002562
+002568
+002570
+002573
+002574
+002575
+002576
+002577
+002580
+002581
+002582
+002583
+002587
+002588
+002591
+002592
+002596
+002597
+002601
+002602
+002604
+002607
+002608
+002610
+002612
+002614
+002616
+002617
+002619
+002620
+002622
+002623
+002624
+002626
+002628
+002629
+002630
+002631
+002638
+002639
+002640
+002642
+002644
+002650
+002651
+002652
+002654
+002655
+002656
+002660
+002661
+002663
+002665
+002671
+002672
+002673
+002674
+002676
+002679
+002681
+002685
+002686
+002687
+002688
+002692
+002694
+002698
+002700
+002701
+002703
+002705
+002707
+002708
+002711
+002712
+002716
+002719
+002720
+002724
+002725
+002726
+002728
+002729
+002731
+002733
+002736
+002739
+002740
+002742
+002743
+002746
+002748
+002750
+002752
+002753
+002754
+002756
+002758
+002761
+002764
+002768
+002769
+002770
+002771
+002773
+002777
+002780
+002781
+002787
+002788
+002789
+002790
+002792
+002793
+002797
+002799
+002802
+002805
+002806
+002808
+002809
+002811
+002813
+002814
+002818
+002819
+002821
+002822
+002823
+002824
+002825
+002828
+002829
+002830
+002831
+002832
+002837
+002839
+002840
+002843
+002846
+002849
+002850
+002851
+002852
+002853
+002856
+002857
+002860
+002861
+002862
+002863
+002865
+002871
+002872
+002874
+002876
+002877
+002878
+002882
+002883
+002885
+002887
+002888
+002890
+002892
+002894
+002895
+002897
+002898
+002900
+002902
+002903
+002904
+002905
+002907
+002908
+002909
+002911
+002918
+002920
+002921
+002922
+002923
+002925
+002926
+002927
+002928
+002929
+002930
+002936
+002945
+002948
+002949
+002950
+002951
+002955
+002959
+002961
+002964
+002968
+002970
+002971
+002972
+002973
+002974
+002979
+002980
+002981
+002982
+002983
+002985
+002991
+002993
+002996
+002997
+002998
+002999
+003001
+003006
+003010
+003012
+003014
+003016
+003018
+003019
+003020
+003022
+003025
+003026
+003029
+003030
+003033
+003035
+003036
+003037
+003040
+003041
+003043
+003046
+003048
+003049
+003050
+003052
+003055
+003059
+003060
+003062
+003067
+003068
+003069
+003070
+003071
+003073
+003075
+003076
+003079
+003080
+003081
+003084
+003087
+003091
+003095
+003096
+003097
+003099
+003101
+003104
+003109
+003111
+003113
+003114
+003115
+003119
+003123
+003125
+003128
+003130
+003131
+003132
+003136
+003139
+003141
+003143
+003144
+003148
+003151
+003152
+003153
+003156
+003158
+003160
+003166
+003167
+003168
+003171
+003172
+003173
+003174
+003179
+003180
+003182
+003187
+003190
+003191
+003192
+003193
+003196
+003197
+003198
+003201
+003203
+003206
+003208
+003209
+003212
+003215
+003217
+003220
+003221
+003222
+003224
+003225
+003226
+003227
+003230
+003232
+003234
+003235
+003237
+003238
+003241
+003245
+003246
+003248
+003249
+003251
+003252
+003257
+003263
+003264
+003265
+003266
+003267
+003268
+003275
+003276
+003277
+003278
+003281
+003283
+003286
+003287
+003288
+003289
+003291
+003295
+003297
+003298
+003302
+003304
+003305
+003306
+003309
+003310
+003312
+003314
+003315
+003317
+003318
+003319
+003321
+003322
+003323
+003324
+003326
+003328
+003329
+003332
+003333
+003334
+003340
+003341
+003342
+003345
+003346
+003347
+003348
+003352
+003353
+003357
+003358
+003361
+003364
+003366
+003368
+003371
+003372
+003375
+003378
+003381
+003383
+003384
+003385
+003387
+003388
+003389
+003393
+003394
+003399
+003400
+003402
+003405
+003409
+003411
+003414
+003418
+003423
+003426
+003427
+003428
+003431
+003432
+003434
+003437
+003438
+003440
+003442
+003445
+003446
+003447
+003448
+003454
+003456
+003457
+003459
+003460
+003463
+003467
+003471
+003472
+003473
+003474
+003475
+003476
+003478
+003479
+003480
+003481
+003482
+003483
+003485
+003486
+003488
+003490
+003494
+003495
+003498
+003501
+003502
+003503
+003504
+003505
+003507
+003512
+003513
+003514
+003515
+003517
+003520
+003523
+003526
+003527
+003531
+003532
+003533
+003534
+003535
+003538
+003540
+003541
+003542
+003543
+003544
+003545
+003547
+003552
+003553
+003557
+003558
+003559
+003560
+003561
+003562
+003563
+003568
+003569
+003570
+003571
+003572
+003573
+003574
+003578
+003579
+003581
+003582
+003583
+003584
+003590
+003591
+003592
+003595
+003598
+003600
+003601
+003602
+003607
+003610
+003612
+003613
+003615
+003616
+003617
+003619
+003624
+003626
+003630
+003631
+003633
+003637
+003641
+003643
+003647
+003649
+003650
+003652
+003653
+003659
+003661
+003665
+003666
+003668
+003670
+003672
+003676
+003677
+003680
+003682
+003683
+003686
+003687
+003689
+003692
+003693
+003697
+003701
+003702
+003707
+003710
+003712
+003715
+003716
+003718
+003719
+003720
+003723
+003724
+003725
+003726
+003728
+003730
+003731
+003733
+003734
+003736
+003737
+003738
+003739
+003741
+003742
+003744
+003745
+003746
+003747
+003755
+003756
+003757
+003761
+003762
+003764
+003765
+003766
+003768
+003769
+003770
+003771
+003775
+003776
+003777
+003778
+003782
+003785
+003787
+003789
+003794
+003795
+003799
+003800
+003801
+003802
+003804
+003805
+003810
+003812
+003813
+003815
+003816
+003819
+003822
+003823
+003825
+003829
+003831
+003832
+003833
+003836
+003839
+003840
+003841
+003842
+003843
+003850
+003851
+003852
+003853
+003854
+003858
+003862
+003864
+003867
+003870
+003873
+003875
+003878
+003880
+003881
+003882
+003883
+003884
+003888
+003892
+003893
+003894
+003896
+003897
+003900
+003901
+003902
+003903
+003904
+003906
+003908
+003909
+003910
+003914
+003916
+003917
+003920
+003922
+003925
+003927
+003928
+003929
+003930
+003931
+003933
+003934
+003938
+003940
+003942
+003943
+003944
+003950
+003951
+003952
+003955
+003958
+003959
+003962
+003964
+003967
+003968
+003972
+003975
+003976
+003977
+003978
+003980
+003981
+003982
+003985
+003989
+003995
+003999
+004000
+004001
+004002
+004004
+004006
+004007
+004018
+004021
+004022
+004024
+004026
+004027
+004029
+004030
+004032
+004036
+004038
+004040
+004041
+004042
+004043
+004044
+004045
+004048
+004049
+004050
+004053
+004054
+004055
+004056
+004059
+004061
+004062
+004063
+004064
+004065
+004068
+004070
+004071
+004072
+004074
+004078
+004079
+004080
+004081
+004083
+004084
+004086
+004088
+004090
+004094
+004096
+004097
+004098
+004099
+004101
+004103
+004104
+004107
+004109
+004112
+004114
+004115
+004116
+004118
+004119
+004123
+004124
+004125
+004126
+004127
+004128
+004130
+004132
+004134
+004139
+004144
+004147
+004151
+004153
+004154
+004155
+004156
+004157
+004159
+004160
+004161
+004162
+004165
+004166
+004167
+004172
+004173
+004175
+004176
+004177
+004179
+004180
+004181
+004182
+004183
+004184
+004187
+004188
+004197
+004198
+004199
+004202
+004206
+004207
+004208
+004210
+004211
+004213
+004214
+004216
+004217
+004218
+004219
+004222
+004225
+004226
+004227
+004233
+004234
+004235
+004236
+004238
+004240
+004243
+004245
+004248
+004249
+004250
+004251
+004252
+004254
+004260
+004261
+004262
+004266
+004267
+004268
+004276
+004277
+004278
+004282
+004285
+004288
+004289
+004290
+004294
+004297
+004299
+004301
+004302
+004305
+004306
+004308
+004309
+004311
+004313
+004314
+004316
+004317
+004319
+004320
+004324
+004328
+004330
+004332
+004334
+004335
+004336
+004337
+004340
+004342
+004343
+004344
+004348
+004350
+004353
+004355
+004357
+004358
+004362
+004363
+004366
+004373
+004374
+004375
+004377
+004378
+004381
+004382
+004383
+004385
+004388
+004393
+004394
+004395
+004398
+004399
+004400
+004401
+004402
+004403
+004406
+004407
+004408
+004410
+004412
+004413
+004414
+004415
+004416
+004417
+004418
+004419
+004420
+004422
+004425
+004426
+004427
+004428
+004431
+004435
+004440
+004442
+004443
+004444
+004445
+004447
+004448
+004449
+004451
+004453
+004454
+004456
+004458
+004460
+004461
+004462
+004465
+004467
+004469
+004472
+004473
+004475
+004476
+004477
+004478
+004480
+004482
+004483
+004485
+004486
+004489
+004491
+004492
+004497
+004501
+004503
+004504
+004505
+004506
+004511
+004513
+004515
+004516
+004521
+004522
+004523
+004525
+004529
+004531
+004533
+004534
+004536
+004538
+004541
+004543
+004545
+004546
+004547
+004550
+004554
+004556
+004557
+004559
+004560
+004561
+004564
+004567
+004568
+004569
+004572
+004573
+004575
+004577
+004578
+004580
+004582
+004583
+004586
+004589
+004590
+004593
+004594
+004596
+004598
+004599
+004602
+004603
+004608
+004610
+004613
+004614
+004615
+004616
+004617
+004619
+004620
+004621
+004624
+004629
+004633
+004635
+004637
+004638
+004639
+004640
+004641
+004642
+004645
+004646
+004650
+004657
+004658
+004659
+004661
+004663
+004664
+004665
+004666
+004667
+004668
+004669
+004670
+004677
+004678
+004680
+004681
+004684
+004688
+004690
+004695
+004696
+004697
+004698
+004700
+004703
+004704
+004709
+004711
+004712
+004713
+004716
+004717
+004720
+004721
+004724
+004725
+004726
+004728
+004729
+004730
+004731
+004733
+004734
+004736
+004738
+004739
+004740
+004741
+004744
+004745
+004749
+004751
+004752
+004755
+004756
+004757
+004758
+004759
+004762
+004763
+004764
+004765
+004766
+004767
+004769
+004771
+004772
+004774
+004775
+004778
+004780
+004781
+004784
+004787
+004791
+004795
+004798
+004800
+004802
+004803
+004804
+004806
+004807
+004809
+004810
+004811
+004813
+004817
+004819
+004820
+004821
+004822
+004824
+004827
+004829
+004833
+004835
+004838
+004843
+004844
+004845
+004847
+004851
+004853
+004854
+004855
+004858
+004860
+004861
+004862
+004864
+004865
+004870
+004871
+004874
+004875
+004877
+004880
+004881
+004883
+004884
+004887
+004888
+004889
+004891
+004892
+004893
+004894
+004899
+004900
+004901
+004904
+004906
+004908
+004909
+004914
+004915
+004917
+004918
+004919
+004920
+004921
+004922
+004923
+004924
+004925
+004927
+004930
+004932
+004933
+004934
+004937
+004940
+004941
+004942
+004944
+004945
+004947
+004949
+004952
+004957
+004959
+004964
+004965
+004969
+004970
+004971
+004975
+004978
+004979
+004980
+004981
+004988
+004989
+004993
+004996
+005000
+005002
+005005
+005008
+005009
+005010
+005011
+005012
+005013
+005015
+005017
+005019
+005021
+005022
+005025
+005030
+005031
+005034
+005035
+005038
+005040
+005041
+005043
+005044
+005046
+005048
+005049
+005050
+005051
+005053
+005059
+005060
+005066
+005069
+005070
+005074
+005075
+005076
+005080
+005082
+005083
+005087
+005088
+005089
+005091
+005092
+005095
+005096
+005098
+005099
+005100
+005103
+005105
+005106
+005109
+005112
+005113
+005115
+005117
+005118
+005119
+005120
+005123
+005125
+005126
+005127
+005132
+005133
+005137
+005139
+005140
+005141
+005142
+005147
+005148
+005149
+005151
+005152
+005154
+005155
+005157
+005158
+005162
+005163
+005164
+005165
+005166
+005167
+005170
+005172
+005174
+005178
+005180
+005182
+005184
+005187
+005188
+005192
+005193
+005194
+005196
+005197
+005198
+005200
+005201
+005204
+005205
+005206
+005207
+005211
+005213
+005216
+005218
+005221
+005225
+005226
+005227
+005228
+005232
+005233
+005234
+005235
+005237
+005238
+005240
+005241
+005243
+005247
+005249
+005250
+005251
+005252
+005255
+005256
+005261
+005265
+005266
+005271
+005272
+005275
+005276
+005277
+005279
+005280
+005282
+005284
+005286
+005287
+005289
+005291
+005294
+005295
+005296
+005299
+005300
+005301
+005302
+005308
+005309
+005313
+005316
+005317
+005321
+005322
+005323
+005324
+005329
+005330
+005332
+005333
+005334
+005335
+005339
+005341
+005342
+005347
+005353
+005354
+005356
+005357
+005359
+005361
+005362
+005364
+005366
+005372
+005375
+005376
+005377
+005381
+005382
+005386
+005390
+005392
+005394
+005399
+005400
+005401
+005402
+005403
+005409
+005411
+005412
+005415
+005422
+005425
+005426
+005427
+005428
+005432
+005435
+005437
+005442
+005443
+005444
+005446
+005447
+005449
+005452
+005456
+005458
+005459
+005460
+005462
+005463
+005464
+005466
+005468
+005472
+005473
+005474
+005476
+005477
+005479
+005480
+005482
+005484
+005488
+005490
+005491
+005492
+005493
+005494
+005495
+005498
+005500
+005501
+005502
+005503
+005504
+005505
+005506
+005512
+005513
+005516
+005520
+005523
+005525
+005528
+005529
+005532
+005533
+005534
+005537
+005538
+005540
+005543
+005545
+005546
+005548
+005551
+005553
+005555
+005556
+005557
+005558
+005560
+005561
+005562
+005564
+005565
+005567
+005569
+005570
+005571
+005572
+005575
+005578
+005580
+005581
+005587
+005589
+005594
+005595
+005596
+005597
+005598
+005602
+005604
+005607
+005610
+005612
+005616
+005617
+005619
+005621
+005622
+005623
+005626
+005627
+005628
+005632
+005633
+005634
+005635
+005638
+005642
+005643
+005646
+005649
+005650
+005651
+005656
+005659
+005661
+005663
+005665
+005666
+005667
+005670
+005671
+005673
+005675
+005677
+005678
+005681
+005683
+005684
+005688
+005689
+005690
+005691
+005692
+005694
+005698
+005703
+005706
+005707
+005708
+005709
+005711
+005712
+005717
+005720
+005721
+005722
+005724
+005725
+005726
+005727
+005733
+005734
+005737
+005739
+005744
+005745
+005746
+005748
+005750
+005751
+005753
+005754
+005758
+005759
+005763
+005766
+005767
+005770
+005771
+005772
+005774
+005775
+005776
+005777
+005778
+005785
+005787
+005792
+005793
+005795
+005797
+005798
+005800
+005801
+005802
+005804
+005807
+005808
+005809
+005810
+005816
+005820
+005822
+005823
+005827
+005832
+005833
+005834
+005835
+005837
+005842
+005844
+005846
+005847
+005848
+005849
+005855
+005857
+005858
+005862
+005865
+005866
+005869
+005870
+005871
+005872
+005876
+005880
+005882
+005883
+005886
+005887
+005890
+005891
+005892
+005896
+005898
+005900
+005902
+005904
+005907
+005913
+005915
+005916
+005921
+005922
+005924
+005925
+005926
+005927
+005929
+005931
+005932
+005933
+005934
+005935
+005936
+005937
+005939
+005941
+005942
+005943
+005944
+005945
+005946
+005949
+005950
+005953
+005955
+005957
+005958
+005959
+005962
+005965
+005966
+005967
+005969
+005972
+005973
+005974
+005976
+005977
+005978
+005982
+005986
+005987
+005993
+005994
+005997
+005999
+006002
+006003
+006006
+006007
+006008
+006010
+006013
+006014
+006015
+006016
+006017
+006019
+006021
+006022
+006024
+006031
+006032
+006034
+006036
+006037
+006039
+006040
+006044
+006047
+006048
+006049
+006050
+006051
+006052
+006053
+006054
+006056
+006057
+006059
+006060
+006063
+006064
+006068
+006072
+006075
+006076
+006077
+006080
+006081
+006082
+006083
+006085
+006086
+006087
+006090
+006092
+006093
+006094
+006099
+006101
+006102
+006106
+006109
+006110
+006112
+006113
+006114
+006115
+006116
+006118
+006119
+006121
+006122
+006126
+006127
+006132
+006137
+006138
+006142
+006143
+006144
+006145
+006147
+006149
+006152
+006154
+006155
+006157
+006160
+006164
+006165
+006167
+006168
+006169
+006173
+006178
+006182
+006186
+006191
+006192
+006193
+006194
+006195
+006197
+006199
+006200
+006204
+006205
+006207
+006211
+006213
+006217
+006226
+006227
+006228
+006231
+006232
+006237
+006239
+006242
+006244
+006245
+006246
+006248
+006253
+006255
+006256
+006257
+006263
+006265
+006266
+006268
+006271
+006273
+006274
+006278
+006280
+006283
+006287
+006288
+006292
+006293
+006294
+006297
+006298
+006302
+006303
+006307
+006308
+006310
+006311
+006312
+006313
+006315
+006316
+006317
+006322
+006324
+006326
+006327
+006328
+006331
+006332
+006333
+006334
+006336
+006340
+006342
+006343
+006345
+006347
+006354
+006356
+006358
+006359
+006360
+006361
+006364
+006365
+006368
+006370
+006372
+006373
+006376
+006378
+006379
+006380
+006383
+006384
+006386
+006388
+006389
+006390
+006393
+006394
+006397
+006399
+006401
+006402
+006403
+006405
+006406
+006407
+006408
+006410
+006412
+006413
+006414
+006415
+006416
+006420
+006422
+006423
+006426
+006431
+006432
+006435
+006439
+006441
+006446
+006451
+006452
+006453
+006454
+006457
+006460
+006461
+006464
+006467
+006469
+006471
+006477
+006478
+006479
+006481
+006485
+006487
+006489
+006490
+006491
+006493
+006494
+006496
+006498
+006500
+006502
+006504
+006505
+006508
+006510
+006511
+006513
+006514
+006516
+006517
+006518
+006521
+006522
+006525
+006526
+006527
+006528
+006531
+006533
+006535
+006537
+006539
+006540
+006541
+006544
+006545
+006546
+006552
+006554
+006555
+006557
+006558
+006559
+006561
+006563
+006566
+006567
+006568
+006571
+006573
+006574
+006577
+006579
+006580
+006581
+006582
+006586
+006589
+006590
+006591
+006592
+006594
+006596
+006598
+006600
+006601
+006604
+006607
+006608
+006613
+006614
+006615
+006616
+006620
+006623
+006624
+006629
+006630
+006633
+006634
+006639
+006640
+006641
+006642
+006644
+006646
+006649
+006650
+006651
+006653
+006655
+006656
+006659
+006662
+006663
+006665
+006669
+006672
+006675
+006676
+006680
+006683
+006685
+006686
+006688
+006691
+006692
+006693
+006700
+006701
+006705
+006710
+006711
+006712
+006713
+006715
+006716
+006717
+006720
+006721
+006723
+006724
+006728
+006729
+006732
+006733
+006737
+006741
+006742
+006743
+006744
+006745
+006746
+006749
+006750
+006752
+006754
+006756
+006757
+006758
+006763
+006764
+006767
+006770
+006771
+006774
+006775
+006776
+006778
+006779
+006780
+006785
+006787
+006788
+006790
+006791
+006792
+006793
+006795
+006796
+006798
+006801
+006804
+006807
+006809
+006811
+006812
+006815
+006816
+006817
+006818
+006820
+006823
+006826
+006830
+006831
+006832
+006834
+006837
+006843
+006846
+006851
+006853
+006854
+006856
+006857
+006861
+006863
+006870
+006871
+006872
+006873
+006875
+006877
+006879
+006881
+006882
+006885
+006888
+006889
+006890
+006891
+006894
+006895
+006897
+006898
+006901
+006902
+006904
+006905
+006906
+006907
+006913
+006915
+006920
+006921
+006923
+006925
+006926
+006927
+006928
+006929
+006936
+006937
+006938
+006941
+006942
+006946
+006951
+006954
+006955
+006957
+006960
+006961
+006964
+006967
+006969
+006970
+006973
+006974
+006975
+006977
+006978
+006979
+006980
+006982
+006984
+006985
+006986
+006991
+006992
+006993
+006996
+006997
+006998
+006999
+007000
+007001
+007005
+007010
+007012
+007013
+007014
+007015
+007017
+007019
+007024
+007026
+007027
+007028
+007030
+007032
+007034
+007037
+007041
+007043
+007044
+007047
+007051
+007053
+007055
+007057
+007060
+007061
+007063
+007066
+007067
+007069
+007076
+007081
+007082
+007083
+007085
+007087
+007091
+007094
+007096
+007098
+007099
+007102
+007103
+007106
+007107
+007110
+007111
+007112
+007115
+007116
+007118
+007119
+007120
+007124
+007126
+007127
+007131
+007134
+007135
+007136
+007137
+007142
+007143
+007145
+007151
+007155
+007156
+007157
+007158
+007160
+007161
+007164
+007169
+007170
+007171
+007173
+007175
+007176
+007178
+007179
+007181
+007183
+007186
+007188
+007190
+007192
+007195
+007196
+007198
+007199
+007201
+007202
+007203
+007206
+007207
+007209
+007218
+007220
+007221
+007225
+007226
+007228
+007229
+007231
+007232
+007233
+007235
+007237
+007238
+007239
+007240
+007242
+007246
+007248
+007251
+007252
+007253
+007254
+007255
+007257
+007262
+007264
+007265
+007267
+007268
+007269
+007272
+007273
+007277
+007278
+007281
+007282
+007286
+007287
+007288
+007290
+007291
+007293
+007301
+007303
+007304
+007306
+007307
+007309
+007310
+007312
+007313
+007315
+007316
+007317
+007319
+007320
+007321
+007324
+007326
+007328
+007331
+007332
+007333
+007335
+007337
+007338
+007339
+007340
+007341
+007342
+007345
+007347
+007348
+007349
+007352
+007353
+007354
+007355
+007357
+007358
+007360
+007362
+007364
+007366
+007367
+007368
+007371
+007377
+007378
+007379
+007380
+007382
+007384
+007386
+007387
+007391
+007392
+007393
+007395
+007397
+007399
+007400
+007401
+007402
+007403
+007404
+007405
+007406
+007407
+007409
+007412
+007415
+007418
+007420
+007423
+007426
+007428
+007429
+007430
+007434
+007440
+007441
+007442
+007444
+007447
+007450
+007452
+007453
+007455
+007456
+007459
+007462
+007463
+007464
+007469
+007471
+007472
+007473
+007476
+007478
+007485
+007487
+007488
+007492
+007494
+007495
+007496
+007499
+007500
+007501
+007502
+007504
+007505
+007507
+007508
+007509
+007510
+007512
+007514
+007515
+007516
+007518
+007520
+007522
+007529
+007531
+007532
+007534
+007539
+007541
+007542
+007545
+007548
+007549
+007550
+007552
+007553
+007554
+007556
+007557
+007560
+007561
+007562
+007564
+007567
+007569
+007573
+007574
+007577
+007580
+007581
+007582
+007583
+007584
+007587
+007588
+007589
+007591
+007593
+007595
+007596
+007597
+007598
+007599
+007602
+007604
+007607
+007608
+007609
+007610
+007613
+007616
+007617
+007620
+007623
+007625
+007627
+007628
+007630
+007632
+007634
+007635
+007636
+007638
+007641
+007643
+007644
+007645
+007646
+007648
+007651
+007652
+007658
+007659
+007660
+007661
+007665
+007669
+007674
+007676
+007681
+007684
+007686
+007689
+007690
+007693
+007695
+007698
+007700
+007701
+007703
+007706
+007707
+007708
+007710
+007711
+007714
+007716
+007717
+007719
+007722
+007725
+007726
+007728
+007730
+007733
+007734
+007737
+007738
+007739
+007741
+007744
+007747
+007750
+007752
+007755
+007756
+007757
+007759
+007761
+007764
+007766
+007769
+007770
+007771
+007774
+007778
+007780
+007782
+007783
+007784
+007785
+007787
+007788
+007789
+007792
+007794
+007796
+007797
+007800
+007801
+007802
+007804
+007805
+007806
+007807
+007808
+007811
+007816
+007817
+007818
+007822
+007823
+007825
+007827
+007828
+007829
+007830
+007832
+007835
+007837
+007839
+007842
+007844
+007846
+007848
+007849
+007850
+007851
+007852
+007858
+007860
+007861
+007862
+007866
+007867
+007870
+007871
+007874
+007875
+007879
+007880
+007881
+007882
+007887
+007888
+007891
+007892
+007893
+007894
+007895
+007896
+007903
+007904
+007906
+007907
+007912
+007913
+007917
+007918
+007922
+007927
+007929
+007930
+007934
+007936
+007937
+007938
+007941
+007942
+007944
+007945
+007948
+007949
+007951
+007952
+007955
+007957
+007960
+007961
+007962
+007965
+007966
+007967
+007969
+007972
+007973
+007975
+007977
+007978
+007981
+007982
+007983
+007985
+007986
+007988
+007989
+007990
+007992
+007993
+007994
+007995
+008000
+008003
+008006
+008007
+008010
+008011
+008013
+008014
+008015
+008016
+008018
+008020
+008021
+008022
+008025
+008027
+008028
+008030
+008034
+008035
+008038
+008039
+008041
+008045
+008046
+008047
+008050
+008052
+008054
+008055
+008056
+008058
+008059
+008065
+008066
+008070
+008071
+008073
+008074
+008077
+008078
+008080
+008081
+008088
+008089
+008090
+008092
+008094
+008097
+008099
+008102
+008104
+008109
+008110
+008111
+008113
+008114
+008118
+008119
+008120
+008123
+008124
+008126
+008128
+008129
+008131
+008133
+008134
+008135
+008136
+008143
+008145
+008146
+008147
+008148
+008149
+008152
+008153
+008154
+008155
+008156
+008157
+008158
+008161
+008162
+008165
+008167
+008170
+008172
+008176
+008178
+008179
+008181
+008182
+008183
+008184
+008185
+008187
+008192
+008193
+008194
+008195
+008196
+008198
+008201
+008205
+008206
+008207
+008210
+008212
+008214
+008215
+008217
+008219
+008221
+008227
+008228
+008230
+008231
+008233
+008234
+008237
+008238
+008239
+008240
+008242
+008243
+008245
+008246
+008247
+008249
+008255
+008256
+008257
+008259
+008264
+008265
+008266
+008267
+008270
+008271
+008273
+008274
+008276
+008277
+008278
+008283
+008286
+008287
+008288
+008289
+008290
+008291
+008298
+008303
+008304
+008305
+008308
+008309
+008314
+008321
+008324
+008325
+008328
+008330
+008331
+008333
+008334
+008337
+008339
+008340
+008343
+008344
+008347
+008348
+008350
+008352
+008353
+008354
+008356
+008357
+008358
+008361
+008362
+008363
+008366
+008367
+008369
+008371
+008373
+008375
+008377
+008378
+008379
+008380
+008382
+008383
+008389
+008392
+008393
+008394
+008395
+008396
+008399
+008400
+008401
+008402
+008404
+008405
+008406
+008407
+008408
+008411
+008412
+008414
+008417
+008418
+008419
+008420
+008421
+008428
+008431
+008432
+008435
+008436
+008439
+008440
+008441
+008446
+008447
+008448
+008451
+008455
+008457
+008458
+008459
+008460
+008463
+008464
+008469
+008471
+008473
+008474
+008476
+008479
+008480
+008481
+008486
+008487
+008488
+008489
+008490
+008491
+008493
+008496
+008497
+008500
+008501
+008504
+008505
+008507
+008508
+008510
+008511
+008515
+008516
+008520
+008525
+008527
+008528
+008531
+008532
+008537
+008538
+008539
+008540
+008543
+008544
+008545
+008546
+008547
+008548
+008551
+008552
+008554
+008555
+008560
+008561
+008563
+008565
+008566
+008567
+008569
+008570
+008571
+008574
+008575
+008577
+008578
+008579
+008580
+008583
+008589
+008590
+008591
+008593
+008594
+008597
+008598
+008599
+008600
+008603
+008605
+008609
+008611
+008613
+008614
+008616
+008619
+008622
+008623
+008625
+008626
+008627
+008629
+008630
+008631
+008632
+008634
+008637
+008640
+008641
+008642
+008643
+008646
+008648
+008649
+008650
+008651
+008652
+008656
+008657
+008658
+008659
+008660
+008661
+008662
+008664
+008666
+008668
+008669
+008671
+008672
+008673
+008674
+008675
+008677
+008678
+008679
+008681
+008682
+008684
+008685
+008686
+008689
+008693
+008694
+008696
+008697
+008700
+008703
+008704
+008705
+008707
+008708
+008711
+008712
+008714
+008715
+008719
+008721
+008724
+008726
+008729
+008734
+008735
+008736
+008737
+008740
+008743
+008745
+008746
+008751
+008754
+008758
+008761
+008762
+008763
+008765
+008767
+008774
+008777
+008778
+008779
+008780
+008781
+008782
+008785
+008786
+008787
+008788
+008789
+008791
+008792
+008795
+008797
+008798
+008800
+008802
+008803
+008804
+008807
+008808
+008812
+008816
+008818
+008820
+008821
+008824
+008825
+008827
+008828
+008829
+008830
+008832
+008834
+008839
+008842
+008844
+008845
+008846
+008850
+008851
+008852
+008853
+008855
+008857
+008860
+008861
+008863
+008864
+008866
+008868
+008869
+008870
+008875
+008877
+008881
+008882
+008887
+008889
+008893
+008894
+008895
+008896
+008897
+008898
+008899
+008901
+008902
+008903
+008904
+008906
+008907
+008908
+008910
+008912
+008915
+008916
+008918
+008922
+008924
+008925
+008928
+008934
+008935
+008937
+008938
+008941
+008945
+008946
+008947
+008949
+008950
+008952
+008954
+008956
+008957
+008959
+008963
+008964
+008972
+008974
+008977
+008981
+008984
+008986
+008990
+008991
+008992
+008993
+008994
+008996
+008998
+009001
+009003
+009008
+009009
+009010
+009011
+009012
+009013
+009014
+009017
+009021
+009023
+009025
+009026
+009028
+009030
+009031
+009033
+009038
+009040
+009041
+009043
+009044
+009046
+009047
+009050
+009052
+009054
+009055
+009056
+009057
+009061
+009062
+009065
+009067
+009069
+009070
+009071
+009074
+009075
+009076
+009077
+009081
+009082
+009083
+009084
+009088
+009090
+009092
+009093
+009095
+009096
+009097
+009101
+009102
+009103
+009104
+009107
+009109
+009110
+009111
+009115
+009118
+009119
+009120
+009122
+009124
+009125
+009127
+009130
+009132
+009134
+009135
+009137
+009139
+009140
+009142
+009143
+009145
+009146
+009149
+009152
+009154
+009156
+009158
+009164
+009165
+009167
+009169
+009170
+009171
+009172
+009176
+009182
+009183
+009188
+009190
+009198
+009199
+009201
+009203
+009204
+009206
+009207
+009210
+009211
+009216
+009217
+009219
+009220
+009222
+009223
+009225
+009226
+009228
+009229
+009231
+009232
+009233
+009234
+009235
+009237
+009240
+009241
+009243
+009248
+009253
+009256
+009257
+009258
+009260
+009261
+009262
+009263
+009264
+009265
+009266
+009267
+009274
+009275
+009276
+009277
+009280
+009284
+009292
+009293
+009294
+009297
+009298
+009300
+009301
+009302
+009304
+009305
+009310
+009311
+009313
+009314
+009317
+009319
+009320
+009321
+009322
+009328
+009329
+009332
+009335
+009338
+009340
+009341
+009344
+009345
+009346
+009352
+009353
+009355
+009356
+009357
+009360
+009361
+009363
+009364
+009366
+009367
+009369
+009370
+009372
+009376
+009379
+009380
+009381
+009383
+009384
+009385
+009387
+009390
+009391
+009395
+009396
+009397
+009399
+009400
+009402
+009403
+009404
+009415
+009416
+009423
+009425
+009426
+009427
+009428
+009430
+009431
+009435
+009436
+009441
+009442
+009444
+009447
+009449
+009450
+009451
+009452
+009453
+009462
+009467
+009471
+009473
+009474
+009475
+009478
+009482
+009483
+009485
+009486
+009487
+009489
+009492
+009493
+009495
+009498
+009501
+009503
+009505
+009506
+009509
+009510
+009511
+009513
+009514
+009521
+009522
+009525
+009529
+009530
+009534
+009535
+009536
+009538
+009539
+009544
+009547
+009548
+009552
+009553
+009554
+009555
+009556
+009559
+009561
+009563
+009564
+009569
+009570
+009572
+009574
+009575
+009578
+009581
+009582
+009583
+009589
+009590
+009592
+009593
+009594
+009595
+009599
+009601
+009602
+009604
+009606
+009607
+009608
+009610
+009612
+009616
+009622
+009624
+009625
+009626
+009628
+009630
+009631
+009632
+009633
+009635
+009639
+009640
+009642
+009643
+009645
+009646
+009648
+009651
+009652
+009653
+009657
+009660
+009661
+009662
+009663
+009665
+009669
+009672
+009673
+009674
+009675
+009677
+009680
+009682
+009683
+009688
+009689
+009690
+009694
+009696
+009697
+009701
+009704
+009705
+009708
+009714
+009715
+009716
+009720
+009722
+009723
+009725
+009727
+009728
+009730
+009731
+009736
+009739
+009740
+009741
+009742
+009744
+009750
+009751
+009752
+009753
+009757
+009759
+009760
+009765
+009766
+009768
+009769
+009770
+009771
+009775
+009777
+009779
+009782
+009783
+009784
+009786
+009787
+009788
+009791
+009793
+009795
+009798
+009799
+009802
+009803
+009804
+009806
+009811
+009812
+009814
+009815
+009817
+009818
+009820
+009821
+009824
+009826
+009827
+009829
+009835
+009837
+009838
+009840
+009843
+009844
+009846
+009847
+009849
+009850
+009853
+009854
+009856
+009857
+009861
+009864
+009866
+009871
+009873
+009875
+009876
+009883
+009885
+009888
+009889
+009890
+009891
+009892
+009893
+009895
+009899
+009901
+009903
+009906
+009907
+009909
+009910
+009912
+009914
+009915
+009916
+009919
+009921
+009922
+009924
+009925
+009927
+009928
+009929
+009930
+009931
+009933
+009934
+009936
+009937
+009941
+009943
+009948
+009951
+009952
+009953
+009956
+009957
+009960
+009962
+009963
+000000211501
+000000343863
+000000507946
+000000449901
+000000411941
+000000417089
+000000345372
+000000500877
+000000251793
+000000395268
+000000364176
+000000357774
+000000241779
+000000152776
+000000209382
+000000482409
+000000440827
+000000391700
+000000331349
+000000088757
+000000129257
+000000210697
+000000144718
+000000135016
+000000360525
+000000298562
+000000125458
+000000050552
+000000238858
+000000263147
+000000515298
+000000000034
+000000292386
+000000422343
+000000208946
+000000136040
+000000245243
+000000017203
+000000378807
+000000242619
+000000365540
+000000442727
+000000452841
+000000084873
+000000098090
+000000021795
+000000504493
+000000205590
+000000058008
+000000229138
+000000063403
+000000166096
+000000307980
+000000312076
+000000002276
+000000043319
+000000414117
+000000195343
+000000307981
+000000184155
+000000258331
+000000175609
+000000533750
+000000416054
+000000276794
+000000543413
+000000079415
+000000101132
+000000027032
+000000447038
+000000570295
+000000465069
+000000401528
+000000295756
+000000546179
+000000485550
+000000242597
+000000490680
+000000227358
+000000277375
+000000008093
+000000073855
+000000141986
+000000564475
+000000451058
+000000252008
+000000038083
+000000278660
+000000414539
+000000366382
+000000230403
+000000275173
+000000484090
+000000000987
+000000055601
+000000579326
+000000307030
+000000536786
+000000353948
+000000150827
+000000231492
+000000384424
+000000177847
+000000381661
+000000371183
+000000576327
+000000576956
+000000280810
+000000231029
+000000559151
+000000390352
+000000175236
+000000269749
+000000325524
+000000113599
+000000181742
+000000458950
+000000272219
+000000041119
+000000372458
+000000489399
+000000309829
+000000015987
+000000554703
+000000505126
+000000542642
+000000489276
+000000444100
+000000114203
+000000241310
+000000178748
+000000177404
+000000005263
+000000453802
+000000322749
+000000218274
+000000494800
+000000356962
+000000152003
+000000378059
+000000568040
+000000044038
+000000061582
+000000061761
+000000293520
+000000295408
+000000519874
+000000528941
+000000191464
+000000357229
+000000397203
+000000075324
+000000471315
+000000407717
+000000024393
+000000526133
+000000516263
+000000089714
+000000144985
+000000548464
+000000393050
+000000434829
+000000573374
+000000309753
+000000054606
+000000491778
+000000500825
+000000480280
+000000457521
+000000112928
+000000050773
+000000457263
+000000511168
+000000431699
+000000310450
+000000522702
+000000162181
+000000567616
+000000349607
+000000206623
+000000411257
+000000572015
+000000555358
+000000561199
+000000463619
+000000206362
+000000500321
+000000295887
+000000131099
+000000302089
+000000167622
+000000066670
+000000342025
+000000424554
+000000066708
+000000176522
+000000385005
+000000318183
+000000191353
+000000272613
+000000580200
+000000066647
+000000410932
+000000070589
+000000249556
+000000260581
+000000487837
+000000371149
+000000102620
+000000348555
+000000225202
+000000545126
+000000449038
+000000187157
+000000264620
+000000333240
+000000265896
+000000387244
+000000062619
+000000349486
+000000211653
+000000355426
+000000280267
+000000129546
+000000277700
+000000419396
+000000446391
+000000346497
+000000567416
+000000335037
+000000003084
+000000358253
+000000273324
+000000232401
+000000258788
+000000496752
+000000273369
+000000557609
+000000172702
+000000314646
+000000024765
+000000360408
+000000035899
+000000462386
+000000260464
+000000179896
+000000025649
+000000282437
+000000154804
+000000322827
+000000485628
+000000152913
+000000534564
+000000513497
+000000037336
+000000197681
+000000465780
+000000354804
+000000308950
+000000040085
+000000320796
+000000556491
+000000218554
+000000402788
+000000098639
+000000433792
+000000174964
+000000514871
+000000272738
+000000183980
+000000339634
+000000048727
+000000375400
+000000066510
+000000379518
+000000277162
+000000465697
+000000525932
+000000147915
+000000321330
+000000482081
+000000534974
+000000488476
+000000053143
+000000212257
+000000544026
+000000535448
+000000217494
+000000473942
+000000067587
+000000186671
+000000256575
+000000196879
+000000471846
+000000368117
+000000397388
+000000208166
+000000067553
+000000528129
+000000042086
+000000149151
+000000162773
+000000375437
+000000108314
+000000358312
+000000197891
+000000501531
+000000111556
+000000155388
+000000023641
+000000110516
+000000046144
+000000329179
+000000312430
+000000219361
+000000101959
+000000112732
+000000341724
+000000472097
+000000485113
+000000480757
+000000566847
+000000479531
+000000426158
+000000080486
+000000418282
+000000301778
+000000270778
+000000403644
+000000056442
+000000033652
+000000027340
+000000344920
+000000431594
+000000003782
+000000419738
+000000405296
+000000466455
+000000058838
+000000154140
+000000235642
+000000486869
+000000220685
+000000041995
+000000452013
+000000132702
+000000310789
+000000190033
+000000547155
+000000015618
+000000337969
+000000457121
+000000322395
+000000319038
+000000145174
+000000103676
+000000374796
+000000114327
+000000068158
+000000486541
+000000224278
+000000097334
+000000244096
+000000450551
+000000103554
+000000434870
+000000076249
+000000190927
+000000108338
+000000489467
+000000504999
+000000291115
+000000320098
+000000262654
+000000096554
+000000394288
+000000230700
+000000522807
+000000325470
+000000427438
+000000006473
+000000169318
+000000500474
+000000262662
+000000235646
+000000443952
+000000530600
+000000276218
+000000283432
+000000514531
+000000447549
+000000018040
+000000057242
+000000021338
+000000507313
+000000531316
+000000320362
+000000163761
+000000219173
+000000214701
+000000163798
+000000427096
+000000022113
+000000185151
+000000286860
+000000374130
+000000169700
+000000443780
+000000340893
+000000569584
+000000407038
+000000176034
+000000332427
+000000328888
+000000114363
+000000266103
+000000000873
+000000397693
+000000308003
+000000059735
+000000220344
+000000006871
+000000471582
+000000089268
+000000471085
+000000131504
+000000104701
+000000170832
+000000466118
+000000150669
+000000359189
+000000236279
+000000414686
+000000078621
+000000122235
+000000074403
+000000447449
+000000226076
+000000016680
+000000237797
+000000185549
+000000555183
+000000126014
+000000105116
+000000256690
+000000531814
+000000274017
+000000396260
+000000479803
+000000432460
+000000489099
+000000231161
+000000017997
+000000148196
+000000456483
+000000006647
+000000201318
+000000382939
+000000173235
+000000157715
+000000093832
+000000241821
+000000366560
+000000255598
+000000014017
+000000283881
+000000013463
+000000143822
+000000155380
+000000008128
+000000334194
+000000208147
+000000552761
+000000530187
+000000419696
+000000514901
+000000534593
+000000069773
+000000222994
+000000333024
+000000207913
+000000422866
+000000378791
+000000008332
+000000010327
+000000164442
+000000567423
+000000296707
+000000027648
+000000010414
+000000320376
+000000500853
+000000366085
+000000306178
+000000486972
+000000215812
+000000568237
+000000333348
+000000295201
+000000046004
+000000404046
+000000562712
+000000510059
+000000409500
+000000474827
+000000042696
+000000039520
+000000093444
+000000425945
+000000056714
+000000209824
+000000570171
+000000334074
+000000138896
+000000464456
+000000424959
+000000040071
+000000301667
+000000218763
+000000133515
+000000397322
+000000575666
+000000097028
+000000196990
+000000055033
+000000332069
+000000025955
+000000077603
+000000405851
+000000430783
+000000340109
+000000472392
+000000390757
+000000074794
+000000238022
+000000052256
+000000117379
+000000186193
+000000277613
+000000456350
+000000401198
+000000244218
+000000234684
+000000329535
+000000376153
+000000197507
+000000467369
+000000139049
+000000103017
+000000272803
+000000366704
+000000277550
+000000458339
+000000087230
+000000078663
+000000405226
+000000262748
+000000242100
+000000246688
+000000125944
+000000446531
+000000211013
+000000162643
+000000337472
+000000104568
+000000424744
+000000543354
+000000424668
+000000170309
+000000005437
+000000313637
+000000288267
+000000001647
+000000095148
+000000571535
+000000564361
+000000187483
+000000382211
+000000197745
+000000540925
+000000510622
+000000558362
+000000219064
+000000500130
+000000130269
+000000202138
+000000248310
+000000008776
+000000266912
+000000564050
+000000015036
+000000040686
+000000504184
+000000367449
+000000034689
+000000366683
+000000094307
+000000020349
+000000091280
+000000466499
+000000383884
+000000303430
+000000171090
+000000094717
+000000310435
+000000304481
+000000504020
+000000306103
+000000303291
+000000122952
+000000206416
+000000022090
+000000136375
+000000180575
+000000230078
+000000576950
+000000330931
+000000536902
+000000456827
+000000377397
+000000358482
+000000262897
+000000558436
+000000487098
+000000119785
+000000411883
+000000461841
+000000160447
+000000035962
+000000035594
+000000279810
+000000406366
+000000532778
+000000473673
+000000015750
+000000312789
+000000329475
+000000559651
+000000121356
+000000013432
+000000385641
+000000107868
+000000308423
+000000074538
+000000134346
+000000140548
+000000221666
+000000156113
+000000474347
+000000084548
+000000231773
+000000044998
+000000187329
+000000404635
+000000125432
+000000280368
+000000560948
+000000416565
+000000089603
+000000270502
+000000421544
+000000350214
+000000463876
+000000567801
+000000294763
+000000404608
+000000446733
+000000167148
+000000332815
+000000074502
+000000349104
+000000084643
+000000269799
+000000493386
+000000456569
+000000129293
+000000524286
+000000127623
+000000354624
+000000490509
+000000030432
+000000406359
+000000135193
+000000305887
+000000052712
+000000079901
+000000515125
+000000104952
+000000016898
+000000443988
+000000417577
+000000428071
+000000318405
+000000005615
+000000084591
+000000452412
+000000083884
+000000016673
+000000165636
+000000367362
+000000280787
+000000500324
+000000460986
+000000316443
+000000073045
+000000452187
+000000566258
+000000307209
+000000183080
+000000049957
+000000130252
+000000324403
+000000422803
+000000496166
+000000277046
+000000224273
+000000574837
+000000464329
+000000461701
+000000197192
+000000124471
+000000507992
+000000063671
+000000086294
+000000383601
+000000503252
+000000097260
+000000231542
+000000478078
+000000545278
+000000389866
+000000111636
+000000335844
+000000091135
+000000575486
+000000019929
+000000353300
+000000453133
+000000115037
+000000336697
+000000393423
+000000465478
+000000286639
+000000448145
+000000205266
+000000186585
+000000061919
+000000562090
+000000159887
+000000487442
+000000564123
+000000460576
+000000197335
+000000501085
+000000306900
+000000458221
+000000334938
+000000197624
+000000573001
+000000277659
+000000569079
+000000025660
+000000451588
+000000565652
+000000520921
+000000437849
+000000116521
+000000293371
+000000416976
+000000508147
+000000335807
+000000075829
+000000029426
+000000024577
+000000401919
+000000184661
+000000347753
+000000284354
+000000456275
+000000459201
+000000261648
+000000174351
+000000269862
+000000438922
+000000187099
+000000007867
+000000216042
+000000068595
+000000167395
+000000232627
+000000283849
+000000061209
+000000079971
+000000533897
+000000494085
+000000433225
+000000174567
+000000374950
+000000152857
+000000521480
+000000381968
+000000321610
+000000343068
+000000159451
+000000167155
+000000398713
+000000112044
+000000220399
+000000576430
+000000143110
+000000117170
+000000035526
+000000242465
+000000293412
+000000429802
+000000368834
+000000020692
+000000069576
+000000297075
+000000019916
+000000185983
+000000322638
+000000381350
+000000490654
+000000063512
+000000241809
+000000392796
+000000530081
+000000164095
+000000572478
+000000253890
+000000263650
+000000341899
+000000071850
+000000431708
+000000239244
+000000255842
+000000571287
+000000005328
+000000514292
+000000240506
+000000319127
+000000079143
+000000221028
+000000367571
+000000576227
+000000026946
+000000092534
+000000339227
+000000577887
+000000579437
+000000286962
+000000540582
+000000203382
+000000333826
+000000567437
+000000575121
+000000047066
+000000197437
+000000047589
+000000258000
+000000547097
+000000084879
+000000007669
+000000336933
+000000418637
+000000056244
+000000370399
+000000564465
+000000239082
+000000561448
+000000535526
+000000471109
+000000323715
+000000326684
+000000555107
+000000272111
+000000182015
+000000031540
+000000363247
+000000183416
+000000196870
+000000014483
+000000306722
+000000051434
+000000136021
+000000126943
+000000029438
+000000022324
+000000219963
+000000410920
+000000560604
+000000526227
+000000079589
+000000112622
+000000066445
+000000298461
+000000581594
+000000372480
+000000397479
+000000563601
+000000409512
+000000274521
+000000405994
+000000436410
+000000070479
+000000419116
+000000232005
+000000052664
+000000057222
+000000241806
+000000055049
+000000148358
+000000020857
+000000508151
+000000334810
+000000422310
+000000522703
+000000549104
+000000532403
+000000343968
+000000109873
+000000321062
+000000293374
+000000413871
+000000066767
+000000128417
+000000201010
+000000520765
+000000236218
+000000383991
+000000068212
+000000107481
+000000147826
+000000404702
+000000405604
+000000136540
+000000534117
+000000301102
+000000225032
+000000122959
+000000308952
+000000500752
+000000284979
+000000173211
+000000128369
+000000148251
+000000117536
+000000461758
+000000321395
+000000377294
+000000076207
+000000336872
+000000036996
+000000291655
+000000524694
+000000541601
+000000405088
+000000424218
+000000361119
+000000232863
+000000049491
+000000506012
+000000283996
+000000134081
+000000185774
+000000080194
+000000056684
+000000131533
+000000299704
+000000227207
+000000390474
+000000151235
+000000503497
+000000325586
+000000094954
+000000105330
+000000091973
+000000477671
+000000431426
+000000458551
+000000509839
+000000303140
+000000554136
+000000489927
+000000126601
+000000577221
+000000348697
+000000280619
+000000326222
+000000258554
+000000310897
+000000419028
+000000009478
+000000093852
+000000134288
+000000185632
+000000252986
+000000484007
+000000120127
+000000560591
+000000131300
+000000553827
+000000299077
+000000424174
+000000477194
+000000330732
+000000375211
+000000386906
+000000284684
+000000288721
+000000234847
+000000065095
+000000067917
+000000457981
+000000289242
+000000312218
+000000249656
+000000542146
+000000304698
+000000071718
+000000427842
+000000080857
+000000286594
+000000411954
+000000301714
+000000550761
+000000546074
+000000478184
+000000264797
+000000163514
+000000576214
+000000113897
+000000084200
+000000338528
+000000484753
+000000412267
+000000471534
+000000059708
+000000422502
+000000312735
+000000264079
+000000469844
+000000132497
+000000170428
+000000566837
+000000410969
+000000090718
+000000226206
+000000475248
+000000579593
+000000022880
+000000555366
+000000087697
+000000491801
+000000096586
+000000382386
+000000359203
+000000155569
+000000486960
+000000084651
+000000224282
+000000182450
+000000279060
+000000298151
+000000419879
+000000028019
+000000199143
+000000259104
+000000091474
+000000120499
+000000477031
+000000288316
+000000231326
+000000574057
+000000434053
+000000127093
+000000512892
+000000479762
+000000055402
+000000559721
+000000474279
+000000302531
+000000449244
+000000159702
+000000229884
+000000106023
+000000530898
+000000353651
+000000234147
+000000284649
+000000456070
+000000074032
+000000024671
+000000201686
+000000473468
+000000371245
+000000164153
+000000308536
+000000305030
+000000211823
+000000490893
+000000040902
+000000221089
+000000385873
+000000445325
+000000268130
+000000287025
+000000366001
+000000270558
+000000219523
+000000081504
+000000126392
+000000100413
+000000580296
+000000398540
+000000050230
+000000392564
+000000203602
+000000348854
+000000067558
+000000536535
+000000140813
+000000366651
+000000387717
+000000193889
+000000416972
+000000400133
+000000118299
+000000536820
+000000441876
+000000055521
+000000298316
+000000413341
+000000116845
+000000089503
+000000301012
+000000368505
+000000020164
+000000074982
+000000241364
+000000513200
+000000554502
+000000058429
+000000210221
+000000337511
+000000037662
+000000379740
+000000260896
+000000117535
+000000402199
+000000546975
+000000173289
+000000419443
+000000128074
+000000358607
+000000337189
+000000547411
+000000408098
+000000414711
+000000406071
+000000440641
+000000100282
+000000442894
+000000518234
+000000527453
+000000132798
+000000322226
+000000492037
+000000571357
+000000323804
+000000008320
+000000475372
+000000290608
+000000198764
+000000058041
+000000385026
+000000319120
+000000476055
+000000258135
+000000448471
+000000138836
+000000141468
+000000478336
+000000122996
+000000411043
+000000014396
+000000018983
+000000015259
+000000437543
+000000215196
+000000029125
+000000173081
+000000150026
+000000310094
+000000558090
+000000278336
+000000063715
+000000569325
+000000531970
+000000142413
+000000467685
+000000230050
+000000008791
+000000165053
+000000176098
+000000579002
+000000229191
+000000181516
+000000359472
+000000385962
+000000261720
+000000141051
+000000293543
+000000174258
+000000174845
+000000372514
+000000290836
+000000108110
+000000133672
+000000442554
+000000386257
+000000558475
+000000044792
+000000026958
+000000541514
+000000412356
+000000545317
+000000107427
+000000075173
+000000168217
+000000438448
+000000235168
+000000246070
+000000518553
+000000047597
+000000117441
+000000459793
+000000335925
+000000259721
+000000215226
+000000266360
+000000178096
+000000036425
+000000528664
+000000058816
+000000109860
+000000371222
+000000438556
+000000353090
+000000304633
+000000260317
+000000208984
+000000083730
+000000509772
+000000476207
+000000485605
+000000046634
+000000431977
+000000451287
+000000343849
+000000437685
+000000179180
+000000065737
+000000157270
+000000302469
+000000307480
+000000581021
+000000180202
+000000292916
+000000079670
+000000321373
+000000238171
+000000059116
+000000554283
+000000077151
+000000525815
+000000099647
+000000554340
+000000022191
+000000472656
+000000334305
+000000237911
+000000560281
+000000136464
+000000043376
+000000450886
+000000150704
+000000494819
+000000209671
+000000349046
+000000579276
+000000575643
+000000464903
+000000325152
+000000303937
+000000463226
+000000180571
+000000091780
+000000418565
+000000098732
+000000163827
+000000057345
+000000067536
+000000550993
+000000111432
+000000540789
+000000110308
+000000087901
+000000065586
+000000348516
+000000130032
+000000024294
+000000496065
+000000124955
+000000458177
+000000059042
+000000103778
+000000245049
+000000242403
+000000239306
+000000543371
+000000499423
+000000092634
+000000070626
+000000251524
+000000105975
+000000055077
+000000375731
+000000211445
+000000366353
+000000513771
+000000369509
+000000082480
+000000024371
+000000491914
+000000465465
+000000395505
+000000522880
+000000224497
+000000520840
+000000324189
+000000112444
+000000025014
+000000569672
+000000131613
+000000295285
+000000287044
+000000364159
+000000328902
+000000045267
+000000405752
+000000343774
+000000544371
+000000294423
+000000506224
+000000544719
+000000482514
+000000256860
+000000484260
+000000078782
+000000310526
+000000442952
+000000388267
+000000315521
+000000456606
+000000062604
+000000466967
+000000289031
+000000501667
+000000185712
+000000333823
+000000157221
+000000565691
+000000364656
+000000018485
+000000037868
+000000213554
+000000332740
+000000065889
+000000348517
+000000318124
+000000575376
+000000379048
+000000411261
+000000094272
+000000473011
+000000065816
+000000026547
+000000182474
+000000265096
+000000507840
+000000078923
+000000417193
+000000416841
+000000543182
+000000292868
+000000531322
+000000306169
+000000367452
+000000509806
+000000108695
+000000227512
+000000521877
+000000210726
+000000082464
+000000375846
+000000128222
+000000003794
+000000459037
+000000434735
+000000234699
+000000391154
+000000484973
+000000068420
+000000538828
+000000144747
+000000390134
+000000187559
+000000555894
+000000424431
+000000083773
+000000526695
+000000229566
+000000403329
+000000168626
+000000541472
+000000113054
+000000217378
+000000094355
+000000207507
+000000130226
+000000398507
+000000486240
+000000124759
+000000025535
+000000450318
+000000008691
+000000167859
+000000023283
+000000091264
+000000445994
+000000001779
+000000113236
+000000104408
+000000217596
+000000488522
+000000093506
+000000148909
+000000152618
+000000176668
+000000539129
+000000418333
+000000131826
+000000287213
+000000442556
+000000400860
+000000064634
+000000514544
+000000012998
+000000284545
+000000370748
+000000318161
+000000240376
+000000404007
+000000470907
+000000476772
+000000053503
+000000032964
+000000471629
+000000141659
+000000446763
+000000545325
+000000094145
+000000503883
+000000528875
+000000160771
+000000066711
+000000522339
+000000552029
+000000341277
+000000462997
+000000248232
+000000156020
+000000574509
+000000507540
+000000485343
+000000016040
+000000225751
+000000442614
+000000262677
+000000355108
+000000558955
+000000561446
+000000281385
+000000411877
+000000355276
+000000544349
+000000563110
+000000478072
+000000524991
+000000391406
+000000174623
+000000562389
+000000145587
+000000170204
+000000345580
+000000237510
+000000493254
+000000100199
+000000550739
+000000325143
+000000475371
+000000336185
+000000144115
+000000146127
+000000225750
+000000103510
+000000356369
+000000578786
+000000543164
+000000080045
+000000432619
+000000506965
+000000227616
+000000238114
+000000493235
+000000312367
+000000552656
+000000154173
+000000379987
+000000380635
+000000487589
+000000223560
+000000111472
+000000139282
+000000564870
+000000360329
+000000352417
+000000371991
+000000422351
+000000420852
+000000465552
+000000327576
+000000072832
+000000444496
+000000193738
+000000074331
+000000509176
+000000326011
+000000302997
+000000013922
+000000476562
+000000520617
+000000542814
+000000504748
+000000352143
+000000032115
+000000360695
+000000546065
+000000010935
+000000337760
+000000532102
+000000532966
+000000097890
+000000436117
+000000151908
+000000289987
+000000514118
+000000178520
+000000031680
+000000368871
+000000513505
+000000115412
+000000561545
+000000258017
+000000384463
+000000297018
+000000225505
+000000402668
+000000027679
+000000363280
+000000199783
+000000258119
+000000079146
+000000107262
+000000017896
+000000239559
+000000192500
+000000152265
+000000075563
+000000303232
+000000336492
+000000310683
+000000313757
+000000365866
+000000393228
+000000553682
+000000366508
+000000148184
+000000335827
+000000282994
+000000138556
+000000320680
+000000113113
+000000236936
+000000178415
+000000256029
+000000388136
+000000153567
+000000204855
+000000551746
+000000195531
+000000270070
+000000466001
+000000441445
+000000284020
+000000181938
+000000106736
+000000205126
+000000471184
+000000520197
+000000040181
+000000331152
+000000476871
+000000159598
+000000063835
+000000341502
+000000012902
+000000286787
+000000022178
+000000425035
+000000013876
+000000508931
+000000266133
+000000039406
+000000186323
+000000490471
+000000103812
+000000296283
+000000518867
+000000050105
+000000576480
+000000063777
+000000277393
+000000104814
+000000030222
+000000005184
+000000220182
+000000528148
+000000448494
+000000408556
+000000265150
+000000336811
+000000545749
+000000363308
+000000129908
+000000320125
+000000496431
+000000469724
+000000047648
+000000321194
+000000069936
+000000416476
+000000219832
+000000404148
+000000574130
+000000000590
+000000081474
+000000226840
+000000504336
+000000162213
+000000164172
+000000428817
+000000291438
+000000421009
+000000489085
+000000279997
+000000096535
+000000503416
+000000115361
+000000207629
+000000302869
+000000109542
+000000567084
+000000099311
+000000286376
+000000166762
+000000180333
+000000326658
+000000279247
+000000209092
+000000581835
+000000536579
+000000401040
+000000403263
+000000079792
+000000041781
+000000033727
+000000249346
+000000160421
+000000491909
+000000320503
+000000206300
+000000514218
+000000152860
+000000521351
+000000242379
+000000030455
+000000556424
+000000566041
+000000310315
+000000493843
+000000039150
+000000396784
+000000458568
+000000259296
+000000462610
+000000199918
+000000221874
+000000025541
+000000077926
+000000329355
+000000001558
+000000105670
+000000402867
+000000332113
+000000023501
+000000123268
+000000202832
+000000004931
+000000419211
+000000487276
+000000043353
+000000201299
+000000110011
+000000577355
+000000012756
+000000191570
+000000125585
+000000151184
+000000129079
+000000298956
+000000310546
+000000206618
+000000349538
+000000580161
+000000427016
+000000198043
+000000234728
+000000492170
+000000143557
+000000127980
+000000018292
+000000569823
+000000019160
+000000410002
+000000502708
+000000121876
+000000294978
+000000154530
+000000450457
+000000109178
+000000462880
+000000118909
+000000085750
+000000235916
+000000539562
+000000034920
+000000100128
+000000240414
+000000112359
+000000538922
+000000263881
+000000014781
+000000402071
+000000168185
+000000409022
+000000346633
+000000070745
+000000578238
+000000327983
+000000341775
+000000501494
+000000519077
+000000353146
+000000290361
+000000089735
+000000482989
+000000370444
+000000404781
+000000518027
+000000345117
+000000203775
+000000346940
+000000511495
+000000202326
+000000250711
+000000487422
+000000348616
+000000227134
+000000080749
+000000579664
+000000011682
+000000000438
+000000398407
+000000378911
+000000190896
+000000347811
+000000415901
+000000369506
+000000567077
+000000330429
+000000246761
+000000345462
+000000564938
+000000320533
+000000478981
+000000244928
+000000551507
+000000495738
+000000020997
+000000119290
+000000072892
+000000322191
+000000267588
+000000219619
+000000409889
+000000476114
+000000540257
+000000318224
+000000419064
+000000363559
+000000121559
+000000480863
+000000250045
+000000045478
+000000279780
+000000137583
+000000149304
+000000361341
+000000570573
+000000549644
+000000571694
+000000115777
+000000262986
+000000154648
+000000243135
+000000501673
+000000099393
+000000124383
+000000195947
+000000067888
+000000214875
+000000221737
+000000509247
+000000579224
+000000509032
+000000174904
+000000373015
+000000367952
+000000038046
+000000467760
+000000474402
+000000213268
+000000305826
+000000457016
+000000427129
+000000132682
+000000579632
+000000094858
+000000154867
+000000436141
+000000010566
+000000342715
+000000416246
+000000195991
+000000239854
+000000133125
+000000147838
+000000378117
+000000137733
+000000041832
+000000093393
+000000405032
+000000195860
+000000387293
+000000231488
+000000120067
+000000553306
+000000574194
+000000010136
+000000128711
+000000486547
+000000168099
+000000353662
+000000190185
+000000153026
+000000340489
+000000329077
+000000209335
+000000019238
+000000165936
+000000003737
+000000530855
+000000281217
+000000501874
+000000524389
+000000073790
+000000170862
+000000402507
+000000149785
+000000458388
+000000338104
+000000286482
+000000076781
+000000378066
+000000153585
+000000199533
+000000517494
+000000044923
+000000319683
+000000477052
+000000204244
+000000384568
+000000513434
+000000043438
+000000061564
+000000560858
+000000175057
+000000087767
+000000326712
+000000476489
+000000332932
+000000012057
+000000243283
+000000494199
+000000271970
+000000224736
+000000141317
+000000360831
+000000081081
+000000001238
+000000102010
+000000557546
+000000038479
+000000508286
+000000453626
+000000423638
+000000264964
+000000103236
+000000382615
+000000500043
+000000029085
+000000298722
+000000536412
+000000243849
+000000358904
+000000034261
+000000191332
+000000577512
+000000181007
+000000127391
+000000135420
+000000077479
+000000211030
+000000019136
+000000434016
+000000330959
+000000021969
+000000293900
+000000143624
+000000069200
+000000434264
+000000226712
+000000376013
+000000569989
+000000266310
+000000474243
+000000119695
+000000525625
+000000474711
+000000088282
+000000478742
+000000272783
+000000084137
+000000260720
+000000260893
+000000498010
+000000238839
+000000172910
+000000421155
+000000189359
+000000054875
+000000252749
+000000385174
+000000437948
+000000503255
+000000267735
+000000081469
+000000488746
+000000360772
+000000226018
+000000188447
+000000369125
+000000093864
+000000564699
+000000360658
+000000263246
+000000431304
+000000532419
+000000526697
+000000557315
+000000271068
+000000370842
+000000505113
+000000495143
+000000521288
+000000311890
+000000098143
+000000285646
+000000329878
+000000474846
+000000383616
+000000144182
+000000527184
+000000372433
+000000212247
+000000264236
+000000523433
+000000417588
+000000529117
+000000155309
+000000545689
+000000097543
+000000563683
+000000188520
+000000221927
+000000575496
+000000120986
+000000156720
+000000285691
+000000244616
+000000484136
+000000531000
+000000349138
+000000341257
+000000386704
+000000322141
+000000531171
+000000550699
+000000109445
+000000354003
+000000435533
+000000354525
+000000242073
+000000493505
+000000117046
+000000437264
+000000409566
+000000441577
+000000480948
+000000151077
+000000182175
+000000579631
+000000458574
+000000175821
+000000055715
+000000187384
+000000378077
+000000396295
+000000417079
+000000571876
+000000365911
+000000342665
+000000489369
+000000484407
+000000004754
+000000178307
+000000004245
+000000255954
+000000230152
+000000404537
+000000379575
+000000451539
+000000492750
+000000404013
+000000502725
+000000337167
+000000084192
+000000559992
+000000333494
+000000326359
+000000192532
+000000089892
+000000228721
+000000324914
+000000309165
+000000268342
+000000394009
+000000256844
+000000325944
+000000254411
+000000463464
+000000573246
+000000218494
+000000033939
+000000083614
+000000519250
+000000571518
+000000321437
+000000362247
+000000535056
+000000101091
+000000008394
+000000274463
+000000386321
+000000355688
+000000570620
+000000294934
+000000460094
+000000560355
+000000412857
+000000106585
+000000443797
+000000352508
+000000045422
+000000276740
+000000328862
+000000157067
+000000251170
+000000224281
+000000257020
+000000110073
+000000329127
+000000132297
+000000167741
+000000432395
+000000061147
+000000374999
+000000173882
+000000132453
+000000301970
+000000368811
+000000146169
+000000307751
+000000499007
+000000083217
+000000114259
+000000426828
+000000337222
+000000284365
+000000271857
+000000110798
+000000369609
+000000000208
+000000162915
+000000315607
+000000581253
+000000059497
+000000119456
+000000158372
+000000248481
+000000157911
+000000300221
+000000123066
+000000215596
+000000308555
+000000506640
+000000156128
+000000272132
+000000290704
+000000425690
+000000165499
+000000023929
+000000473196
+000000457235
+000000117396
+000000119751
+000000139482
+000000158211
+000000258026
+000000565514
+000000156754
+000000092050
+000000046162
+000000347773
+000000438810
+000000480893
+000000335507
+000000518501
+000000292467
+000000252000
+000000093288
+000000366476
+000000424731
+000000518215
+000000012923
+000000168618
+000000089436
+000000060892
+000000435686
+000000041839
+000000022002
+000000081365
+000000328842
+000000048573
+000000498363
+000000261066
+000000085098
+000000386530
+000000417142
+000000509154
+000000556356
+000000049733
+000000368196
+000000487489
+000000271791
+000000102811
+000000410388
+000000161354
+000000095320
+000000254366
+000000132249
+000000471596
+000000561050
+000000238713
+000000035722
+000000311879
+000000317995
+000000142127
+000000287484
+000000572761
+000000255575
+000000176680
+000000015096
+000000514982
+000000489920
+000000342299
+000000062041
+000000383641
+000000230837
+000000330917
+000000131067
+000000397892
+000000316407
+000000223650
+000000348475
+000000435839
+000000180989
+000000539478
+000000157748
+000000094791
+000000237720
+000000526956
+000000123643
+000000180503
+000000182403
+000000553184
+000000522952
+000000321805
+000000448555
+000000044277
+000000323123
+000000217864
+000000169959
+000000246958
+000000253222
+000000446218
+000000561412
+000000102006
+000000388027
+000000388011
+000000019484
+000000149791
+000000209701
+000000184633
+000000214766
+000000078695
+000000359148
+000000063668
+000000060820
+000000411845
+000000231364
+000000255067
+000000057866
+000000494817
+000000415967
+000000567565
+000000526704
+000000079154
+000000252022
+000000236717
+000000203481
+000000204969
+000000471680
+000000515341
+000000543183
+000000064703
+000000248370
+000000353412
+000000459214
+000000052648
+000000193798
+000000036324
+000000113009
+000000020281
+000000073696
+000000431025
+000000451667
+000000099040
+000000141518
+000000282871
+000000552336
+000000309944
+000000503137
+000000351787
+000000540210
+000000299381
+000000281567
+000000066126
+000000209692
+000000237762
+000000524500
+000000526594
+000000480583
+000000001852
+000000549725
+000000223122
+000000552579
+000000225358
+000000279208
+000000537349
+000000532509
+000000242855
+000000284993
+000000438973
+000000397109
+000000428812
+000000202856
+000000344883
+000000067634
+000000322816
+000000415843
+000000216116
+000000479057
+000000579560
+000000451739
+000000066283
+000000487401
+000000388873
+000000477535
+000000065842
+000000034904
+000000403747
+000000223988
+000000533784
+000000166915
+000000544421
+000000116413
+000000173688
+000000362524
+000000244368
+000000411313
+000000525568
+000000445515
+000000202329
+000000045528
+000000096473
+000000451014
+000000473571
+000000214634
+000000526675
+000000127167
+000000285938
+000000029671
+000000050461
+000000442859
+000000391521
+000000160429
+000000526467
+000000484690
+000000433919
+000000536462
+000000066263
+000000442175
+000000262325
+000000177516
+000000351034
+000000331314
+000000160560
+000000115071
+000000000661
+000000495625
+000000245314
+000000346367
+000000378089
+000000038488
+000000083060
+000000247668
+000000489771
+000000344314
+000000246382
+000000180925
+000000248678
+000000312486
+000000454314
+000000212846
+000000371683
+000000312494
+000000036633
+000000531837
+000000394957
+000000542342
+000000146813
+000000315948
+000000265612
+000000549317
+000000466529
+000000141180
+000000186842
+000000374891
+000000035763
+000000460732
+000000517626
+000000567375
+000000227236
+000000268750
+000000149365
+000000278601
+000000338688
+000000528200
+000000335874
+000000241974
+000000299716
+000000090662
+000000513551
+000000222987
+000000322175
+000000065211
+000000172036
+000000497693
+000000449043
+000000234592
+000000299082
+000000571787
+000000002559
+000000147216
+000000516114
+000000563647
+000000079274
+000000051278
+000000150013
+000000464880
+000000204381
+000000174099
+000000334845
+000000119428
+000000004463
+000000434125
+000000191228
+000000224688
+000000490337
+000000514230
+000000488997
+000000577447
+000000174711
+000000113150
+000000219217
+000000551403
+000000219246
+000000566835
+000000300102
+000000181947
+000000246540
+000000152526
+000000385535
+000000263204
+000000333510
+000000440409
+000000575032
+000000016209
+000000393354
+000000206341
+000000126825
+000000502148
+000000320314
+000000122343
+000000141263
+000000073453
+000000401173
+000000031375
+000000387372
+000000475567
+000000065080
+000000371836
+000000206290
+000000003234
+000000035217
+000000575257
+000000246677
+000000448712
+000000253578
+000000046848
+000000019836
+000000107228
+000000316026
+000000221040
+000000519758
+000000083953
+000000126638
+000000142660
+000000418611
+000000158923
+000000578019
+000000488539
+000000471497
+000000450102
+000000500069
+000000298132
+000000458533
+000000322325
+000000350969
+000000571641
+000000195188
+000000581711
+000000340208
+000000566336
+000000187654
+000000168562
+000000109319
+000000097643
+000000052948
+000000117019
+000000145432
+000000424711
+000000026762
+000000126120
+000000023542
+000000137995
+000000221894
+000000133115
+000000563921
+000000388569
+000000520843
+000000474420
+000000145093
+000000431788
+000000029648
+000000010449
+000000442868
+000000402004
+000000338159
+000000375691
+000000313063
+000000151458
+000000141166
+000000382741
+000000270166
+000000188727
+000000132303
+000000139728
+000000281508
+000000188514
+000000523035
+000000354946
+000000319914
+000000534855
+000000576727
+000000177453
+000000155743
+000000058732
+000000251128
+000000446894
+000000185512
+000000501909
+000000091576
+000000494383
+000000159299
+000000344875
+000000172658
+000000216482
+000000110683
+000000465467
+000000504487
+000000417804
+000000490935
+000000535501
+000000471332
+000000014366
+000000250367
+000000498665
+000000407990
+000000518006
+000000406666
+000000015595
+000000220124
+000000019306
+000000516214
+000000418193
+000000571553
+000000526793
+000000098437
+000000386066
+000000167818
+000000462185
+000000479467
+000000493189
+000000575523
+000000113106
+000000456315
+000000184550
+000000552138
+000000297559
+000000072733
+000000196521
+000000455613
+000000498809
+000000052669
+000000398523
+000000051268
+000000333621
+000000115087
+000000540619
+000000304937
+000000374946
+000000212063
+000000484346
+000000044962
+000000323583
+000000496847
+000000163615
+000000044352
+000000132964
+000000164667
+000000178064
+000000014819
+000000078542
+000000189932
+000000560052
+000000326640
+000000229866
+000000218761
+000000241156
+000000303944
+000000102912
+000000253261
+000000048441
+000000210041
+000000050482
+000000016870
+000000179696
+000000432372
+000000386695
+000000436859
+000000051476
+000000015006
+000000150185
+000000195081
+000000404262
+000000378068
+000000090261
+000000219544
+000000443179
+000000319273
+000000456145
+000000222811
+000000296208
+000000181572
+000000253860
+000000326256
+000000051741
+000000029600
+000000452908
+000000186233
+000000277435
+000000285214
+000000393080
+000000139008
+000000533431
+000000154209
+000000246666
+000000080147
+000000066660
+000000474622
+000000536894
+000000499862
+000000371186
+000000405999
+000000200938
+000000067027
+000000289677
+000000422623
+000000361928
+000000479578
+000000474832
+000000299771
+000000003764
+000000080395
+000000272675
+000000311068
+000000491481
+000000575249
+000000573329
+000000464902
+000000345535
+000000019239
+000000127028
+000000569829
+000000001869
+000000312890
+000000278452
+000000242096
+000000334995
+000000231837
+000000552977
+000000041848
+000000040068
+000000139492
+000000517586
+000000451172
+000000462770
+000000041200
+000000532009
+000000078243
+000000448436
+000000471665
+000000481810
+000000228858
+000000178239
+000000568425
+000000072729
+000000206410
+000000124039
+000000575473
+000000038332
+000000287219
+000000372250
+000000370728
+000000362718
+000000331113
+000000366802
+000000008245
+000000216083
+000000271577
+000000067776
+000000345368
+000000348499
+000000173647
+000000208727
+000000173221
+000000478837
+000000052774
+000000437662
+000000175699
+000000381251
+000000228994
+000000232718
+000000523309
+000000549413
+000000114894
+000000244235
+000000303281
+000000182503
+000000469142
+000000416924
+000000224907
+000000222858
+000000329724
+000000539915
+000000507536
+000000420225
+000000026159
+000000127899
+000000026828
+000000030381
+000000330716
+000000230336
+000000319285
+000000189243
+000000248948
+000000384173
+000000144533
+000000391426
+000000371069
+000000205239
+000000041433
+000000127342
+000000413865
+000000387903
+000000208690
+000000036605
+000000256160
+000000105603
+000000222056
+000000225261
+000000143644
+000000149027
+000000429991
+000000061782
+000000057334
+000000335326
+000000350008
+000000353072
+000000268777
+000000030915
+000000556011
+000000539556
+000000452919
+000000277722
+000000314331
+000000245922
+000000245852
+000000064622
+000000527243
+000000161539
+000000349425
+000000570516
+000000488828
+000000300928
+000000105134
+000000436411
+000000528071
+000000318039
+000000205125
+000000310706
+000000009217
+000000290400
+000000296846
+000000204542
+000000243783
+000000167748
+000000339404
+000000089072
+000000562382
+000000564708
+000000489741
+000000039926
+000000288586
+000000466430
+000000463432
+000000155741
+000000126090
+000000331129
+000000227976
+000000158831
+000000192111
+000000518357
+000000456736
+000000437213
+000000465050
+000000519628
+000000015126
+000000547985
+000000345177
+000000013938
+000000481890
+000000167891
+000000543922
+000000514601
+000000464964
+000000253049
+000000244847
+000000347557
+000000204832
+000000432144
+000000270846
+000000508969
+000000010077
+000000452341
+000000446084
+000000234769
+000000094535
+000000120176
+000000416102
+000000326731
+000000479720
+000000555245
+000000281656
+000000468078
+000000338098
+000000053317
+000000433133
+000000368821
+000000151523
+000000495322
+000000186554
+000000340393
+000000161705
+000000477820
+000000346785
+000000043579
+000000353558
+000000244784
+000000103673
+000000012422
+000000467397
+000000234942
+000000512022
+000000352901
+000000482407
+000000133622
+000000015203
+000000207880
+000000123330
+000000118108
+000000518071
+000000544606
+000000549629
+000000142558
+000000186090
+000000484604
+000000220353
+000000469137
+000000024319
+000000150309
+000000455083
+000000049445
+000000191120
+000000487256
+000000461681
+000000087735
+000000429585
+000000420750
+000000048892
+000000300157
+000000492163
+000000562419
+000000041713
+000000493939
+000000257908
+000000084493
+000000578977
+000000183249
+000000417586
+000000194538
+000000429318
+000000482479
+000000430805
+000000301628
+000000053907
+000000532684
+000000528342
+000000085483
+000000235253
+000000357443
+000000318789
+000000548218
+000000518521
+000000437426
+000000281959
+000000267349
+000000534151
+000000530163
+000000523959
+000000357113
+000000507615
+000000083950
+000000129689
+000000381204
+000000034701
+000000138382
+000000398388
+000000388511
+000000078820
+000000566832
+000000250196
+000000155108
+000000422393
+000000106993
+000000062263
+000000251630
+000000051101
+000000266825
+000000254568
+000000135680
+000000015927
+000000234161
+000000328890
+000000536198
+000000127455
+000000125438
+000000415768
+000000547367
+000000358198
+000000320893
+000000381413
+000000420183
+000000358029
+000000427395
+000000402619
+000000379316
+000000092645
+000000188952
+000000254003
+000000006773
+000000409394
+000000057903
+000000264406
+000000387388
+000000159449
+000000307936
+000000092514
+000000067563
+000000088102
+000000164103
+000000056397
+000000337497
+000000352316
+000000029586
+000000442654
+000000197091
+000000190783
+000000372412
+000000576088
+000000108961
+000000032289
+000000234238
+000000305019
+000000025121
+000000539678
+000000400836
+000000455934
+000000453009
+000000000941
+000000400218
+000000445276
+000000319687
+000000315593
+000000175871
+000000415680
+000000026247
+000000456377
+000000496306
+000000034301
+000000348924
+000000073591
+000000274613
+000000180767
+000000403525
+000000405544
+000000238700
+000000288700
+000000180397
+000000494751
+000000176871
+000000397826
+000000112327
+000000082375
+000000261202
+000000057892
+000000215135
+000000351938
+000000471155
+000000546088
+000000104313
+000000460988
+000000302715
+000000465835
+000000058733
+000000224012
+000000518189
+000000130795
+000000235221
+000000153561
+000000193403
+000000561128
+000000169468
+000000474330
+000000405997
+000000195406
+000000404254
+000000255582
+000000303148
+000000400406
+000000050810
+000000261955
+000000335066
+000000434291
+000000228934
+000000284560
+000000456391
+000000151156
+000000308210
+000000559400
+000000436435
+000000398661
+000000361578
+000000288729
+000000173607
+000000203406
+000000392585
+000000299357
+000000542715
+000000136027
+000000295059
+000000203577
+000000133314
+000000234883
+000000039043
+000000287360
+000000264191
+000000576573
+000000249689
+000000386426
+000000362811
+000000053208
+000000226383
+000000386964
+000000252857
+000000435185
+000000516634
+000000018011
+000000129782
+000000572372
+000000414912
+000000151178
+000000211350
+000000453026
+000000400948
+000000189542
+000000543790
+000000076654
+000000070164
+000000482766
+000000314265
+000000237851
+000000187610
+000000138227
+000000191706
+000000008958
+000000356742
+000000294380
+000000183657
+000000104397
+000000490012
+000000135972
+000000546517
+000000571953
+000000041288
+000000333225
+000000076916
+000000037629
+000000214475
+000000578314
+000000418213
+000000440361
+000000401616
+000000220821
+000000037958
+000000160199
+000000330136
+000000483241
+000000269366
+000000337857
+000000025195
+000000566439
+000000223319
+000000306928
+000000503178
+000000390706
+000000487487
+000000151268
+000000185117
+000000444206
+000000364064
+000000458622
+000000334080
+000000450959
+000000391720
+000000203137
+000000218762
+000000406926
+000000438255
+000000284133
+000000281074
+000000172085
+000000141343
+000000356948
+000000046029
+000000296867
+000000566478
+000000330974
+000000581481
+000000109355
+000000555739
+000000575371
+000000012461
+000000257958
+000000089320
+000000441147
+000000431750
+000000261389
+000000101522
+000000138207
+000000369144
+000000531404
+000000365031
+000000347653
+000000555368
+000000457394
+000000363336
+000000238193
+000000146563
+000000316019
+000000339862
+000000050924
+000000048383
+000000418726
+000000578046
+000000496210
+000000412855
+000000524115
+000000544717
+000000249073
+000000547637
+000000427013
+000000277088
+000000231596
+000000102200
+000000545324
+000000510606
+000000536317
+000000359106
+000000222921
+000000483945
+000000287095
+000000011758
+000000546631
+000000271888
+000000053385
+000000059118
+000000125782
+000000279784
+000000078071
+000000309382
+000000280429
+000000006949
+000000238850
+000000046104
+000000282583
+000000462426
+000000108548
+000000295958
+000000434634
+000000485169
+000000379651
+000000298452
+000000489475
+000000125886
+000000211905
+000000410437
+000000363508
+000000216613
+000000411291
+000000336887
+000000394739
+000000290457
+000000318365
+000000045181
+000000069405
+000000161835
+000000475425
+000000136217
+000000575325
+000000062427
+000000400552
+000000115637
+000000031971
+000000333891
+000000345863
+000000241431
+000000576927
+000000262113
+000000325894
+000000152192
+000000365729
+000000134863
+000000238822
+000000040064
+000000530054
+000000146917
+000000250048
+000000468777
+000000130292
+000000248496
+000000262031
+000000344765
+000000193892
+000000420673
+000000305445
+000000065345
+000000379246
+000000146465
+000000000263
+000000131570
+000000190898
+000000179454
+000000240129
+000000334170
+000000432226
+000000148400
+000000314497
+000000553505
+000000403028
+000000067262
+000000538276
+000000314787
+000000261043
+000000472495
+000000308191
+000000077813
+000000542248
+000000125167
+000000245864
+000000063498
+000000502730
+000000517045
+000000092315
+000000277015
+000000032986
+000000106875
+000000078323
+000000292177
+000000521870
+000000168246
+000000491976
+000000367535
+000000110611
+000000295336
+000000033898
+000000214816
+000000455632
+000000327500
+000000148002
+000000217043
+000000094514
+000000293810
+000000102594
+000000563024
+000000149469
+000000008603
+000000356028
+000000460730
+000000539777
+000000167863
+000000298985
+000000410849
+000000173474
+000000153607
+000000423990
+000000065426
+000000188053
+000000419449
+000000225121
+000000547743
+000000412525
+000000323468
+000000236767
+000000032695
+000000505888
+000000481532
+000000293061
+000000345074
+000000196047
+000000002148
+000000302243
+000000198112
+000000335885
+000000518592
+000000361798
+000000514846
+000000372723
+000000534857
+000000076428
+000000175231
+000000095397
+000000384026
+000000489916
+000000409842
+000000353102
+000000038252
+000000514271
+000000496819
+000000317323
+000000323115
+000000079104
+000000289862
+000000054171
+000000119596
+000000058231
+000000432675
+000000036661
+000000571839
+000000501959
+000000496335
+000000425187
+000000446223
+000000057917
+000000424978
+000000494077
+000000433019
+000000496801
+000000465786
+000000164583
+000000048692
+000000317555
+000000360910
+000000225537
+000000321324
+000000390583
+000000169934
+000000326781
+000000500212
+000000359097
+000000337247
+000000335697
+000000255076
+000000283982
+000000216176
+000000209015
+000000145369
+000000504997
+000000430420
+000000002931
+000000236572
+000000211632
+000000200008
+000000235564
+000000413121
+000000498649
+000000188474
+000000113128
+000000471691
+000000419963
+000000212814
+000000546985
+000000138079
+000000116511
+000000457481
+000000088097
+000000492715
+000000184204
+000000575909
+000000393794
+000000195715
+000000040531
+000000435452
+000000551636
+000000085632
+000000186073
+000000106194
+000000255385
+000000372855
+000000558541
+000000123722
+000000521195
+000000053956
+000000576343
+000000384362
+000000554037
+000000526782
+000000454956
+000000110681
+000000023309
+000000567990
+000000291321
+000000345803
+000000420290
+000000312536
+000000201368
+000000022097
+000000124594
+000000112486
+000000118806
+000000177355
+000000417528
+000000292734
+000000461522
+000000511141
+000000549276
+000000000699
+000000163142
+000000498353
+000000015811
+000000448765
+000000269600
+000000535788
+000000444828
+000000450762
+000000115080
+000000132432
+000000386799
+000000303537
+000000558083
+000000364589
+000000220548
+000000055085
+000000090058
+000000320582
+000000392914
+000000477497
+000000083002
+000000345134
+000000076529
+000000546620
+000000244074
+000000334208
+000000413346
+000000557855
+000000028311
+000000295952
+000000059399
+000000063399
+000000427767
+000000085209
+000000144147
+000000562849
+000000532525
+000000535050
+000000034739
+000000490110
+000000452198
+000000527972
+000000060269
+000000060088
+000000147553
+000000033753
+000000259760
+000000556426
+000000281713
+000000223734
+000000362363
+000000210086
+000000335935
+000000180402
+000000501773
+000000256809
+000000312997
+000000007517
+000000383764
+000000432064
+000000235792
+000000459749
+000000567410
+000000222594
+000000501039
+000000425371
+000000534300
+000000473972
+000000263281
+000000380427
+000000042931
+000000426972
+000000252144
+000000188544
+000000365032
+000000320905
+000000220218
+000000034520
+000000238299
+000000190241
+000000307784
+000000084679
+000000329014
+000000197262
+000000555472
+000000421382
+000000178810
+000000414819
+000000250498
+000000408233
+000000049987
+000000187868
+000000166766
+000000577604
+000000475656
+000000205781
+000000020765
+000000209746
+000000382542
+000000443334
+000000208521
+000000251229
+000000467911
+000000434039
+000000172491
+000000074549
+000000212803
+000000082041
+000000302164
+000000163306
+000000216579
+000000135367
+000000176363
+000000254033
+000000331671
+000000099421
+000000201382
+000000356368
+000000423909
+000000277134
+000000137717
+000000381832
+000000472913
+000000510976
+000000525884
+000000385317
+000000490111
+000000252314
+000000005314
+000000253699
+000000077455
+000000044250
+000000142622
+000000470697
+000000015073
+000000001681
+000000181224
+000000374333
+000000469873
+000000103161
+000000051174
+000000140130
+000000005994
+000000279920
+000000096492
+000000399746
+000000408333
+000000451305
+000000154207
+000000400847
+000000443949
+000000192577
+000000044989
+000000474656
+000000035571
+000000253784
+000000290436
+000000188522
+000000124142
+000000128813
+000000230129
+000000205196
+000000280157
+000000302852
+000000546301
+000000406332
+000000013991
+000000408835
+000000385339
+000000438905
+000000239038
+000000285023
+000000506169
+000000318507
+000000578276
+000000315645
+000000400274
+000000062053
+000000120254
+000000417544
+000000289751
+000000107482
+000000056980
+000000099927
+000000052360
+000000003080
+000000263400
+000000408854
+000000055493
+000000017856
+000000281280
+000000478643
+000000570143
+000000100926
+000000053064
+000000093922
+000000277208
+000000213158
+000000218312
+000000292512
+000000050242
+000000382006
+000000222113
+000000174011
+000000518605
+000000290002
+000000176226
+000000074663
+000000191812
+000000475275
+000000127495
+000000362659
+000000419383
+000000362804
+000000188215
+000000416778
+000000004705
+000000312246
+000000004093
+000000382624
+000000429061
+000000084168
+000000304220
+000000289293
+000000576011
+000000177524
+000000557794
+000000092488
+000000015155
+000000526927
+000000216063
+000000395452
+000000016543
+000000225133
+000000373022
+000000443693
+000000200377
+000000359302
+000000163104
+000000555805
+000000202755
+000000214845
+000000416467
+000000443963
+000000126129
+000000430885
+000000028850
+000000482296
+000000426602
+000000526042
+000000046603
+000000381865
+000000573448
+000000027065
+000000528097
+000000410599
+000000574747
+000000511736
+000000502863
+000000126674
+000000541298
+000000486905
+000000301191
+000000017873
+000000091966
+000000117743
+000000516985
+000000093809
+000000374156
+000000090151
+000000497439
+000000286442
+000000491029
+000000228450
+000000352802
+000000263288
+000000394008
+000000580766
+000000375086
+000000511245
+000000207424
+000000384085
+000000239452
+000000411368
+000000368096
+000000455345
+000000012750
+000000035400
+000000165766
+000000477336
+000000115088
+000000178900
+000000077058
+000000529871
+000000544215
+000000252492
+000000030486
+000000006451
+000000541677
+000000308504
+000000200665
+000000513099
+000000496531
+000000520663
+000000454232
+000000480729
+000000265611
+000000139634
+000000135845
+000000230515
+000000312630
+000000282377
+000000238336
+000000385675
+000000137836
+000000435930
+000000065628
+000000343670
+000000247895
+000000404750
+000000551050
+000000499391
+000000058117
+000000427041
+000000057707
+000000263845
+000000470085
+000000041802
+000000303257
+000000312887
+000000487392
+000000216322
+000000032275
+000000275913
+000000182401
+000000353605
+000000293998
+000000249315
+000000329582
+000000440161
+000000480215
+000000445028
+000000510898
+000000099387
+000000391912
+000000217103
+000000429762
+000000305253
+000000007361
+000000202010
+000000156555
+000000438755
+000000094563
+000000439015
+000000452823
+000000471226
+000000383888
+000000295049
+000000379645
+000000435047
+000000048273
+000000453475
+000000546695
+000000125063
+000000372247
+000000274999
+000000242665
+000000083986
+000000460964
+000000184773
+000000516080
+000000557695
+000000504280
+000000323774
+000000243127
+000000037790
+000000550555
+000000385552
+000000410194
+000000536429
+000000491516
+000000462987
+000000337844
+000000287006
+000000412015
+000000388330
+000000279066
+000000162164
+000000179477
+000000321935
+000000345839
+000000289187
+000000042614
+000000515006
+000000554145
+000000026069
+000000330586
+000000214955
+000000485890
+000000199598
+000000327881
+000000187959
+000000411142
+000000077548
+000000459451
+000000348315
+000000207549
+000000364133
+000000186116
+000000510216
+000000068434
+000000340476
+000000312282
+000000428026
+000000223950
+000000283144
+000000356351
+000000329546
+000000239190
+000000007398
+000000258823
+000000466827
+000000172398
+000000255181
+000000360779
+000000224391
+000000130745
+000000168858
+000000172006
+000000397863
+000000573756
+000000436138
+000000052503
+000000350649
+000000058315
+000000523664
+000000152774
+000000386400
+000000383012
+000000460198
+000000396304
+000000533864
+000000019102
+000000029023
+000000386253
+000000462974
+000000096157
+000000410641
+000000257558
+000000573926
+000000072629
+000000419604
+000000557573
+000000126607
+000000084158
+000000404064
+000000304000
+000000219313
+000000551052
+000000283584
+000000391041
+000000153392
+000000263520
+000000142323
+000000386179
+000000157815
+000000102610
+000000250225
+000000196497
+000000243120
+000000494192
+000000293342
+000000209449
+000000324188
+000000066881
+000000517929
+000000016575
+000000081174
+000000143245
+000000133412
+000000556789
+000000216837
+000000322149
+000000430523
+000000224622
+000000056160
+000000148706
+000000508710
+000000476685
+000000558129
+000000370193
+000000263311
+000000534284
+000000065732
+000000101588
+000000486941
+000000340737
+000000239089
+000000263780
+000000441449
+000000470780
+000000545663
+000000194248
+000000539553
+000000546494
+000000502630
+000000216197
+000000545016
+000000038238
+000000549224
+000000409206
+000000579807
+000000576369
+000000283780
+000000154610
+000000557059
+000000575585
+000000314738
+000000091553
+000000307932
+000000219467
+000000157181
+000000139889
+000000471895
+000000402598
+000000232186
+000000275035
+000000199204
+000000527728
+000000402969
+000000116786
+000000532310
+000000291773
+000000532351
+000000002255
+000000103058
+000000346006
+000000457508
+000000001392
+000000036796
+000000125859
+000000348247
+000000357925
+000000295233
+000000387512
+000000537382
+000000415052
+000000229946
+000000296781
+000000267284
+000000533030
+000000310999
+000000206391
+000000100322
+000000108894
+000000543239
+000000080739
+000000424392
+000000229324
+000000540508
+000000526486
+000000199237
+000000393721
+000000326001
+000000221400
+000000476127
+000000293720
+000000068867
+000000573791
+000000511224
+000000052091
+000000286820
+000000186828
+000000315743
+000000476520
+000000443003
+000000551170
+000000263727
+000000390975
+000000177102
+000000152759
+000000245242
+000000001497
+000000393557
+000000458586
+000000404616
+000000144283
+000000195332
+000000119718
+000000024450
+000000581566
+000000326475
+000000547645
+000000124889
+000000180418
+000000548512
+000000378566
+000000112590
+000000132330
+000000394100
+000000143449
+000000284860
+000000068300
+000000433301
+000000110258
+000000298827
+000000257323
+000000170225
+000000412612
+000000324443
+000000040569
+000000471634
+000000323634
+000000289344
+000000335243
+000000232114
+000000162577
+000000236629
+000000395083
+000000133883
+000000546846
+000000460029
+000000225343
+000000159310
+000000316471
+000000272610
+000000315053
+000000417234
+000000028293
+000000367521
+000000487194
+000000136881
+000000147615
+000000059582
+000000509819
+000000295267
+000000059462
+000000572055
+000000491701
+000000155884
+000000542922
+000000290285
+000000146824
+000000359070
+000000296433
+000000482631
+000000361145
+000000373189
+000000129879
+000000273436
+000000461788
+000000479647
+000000363494
+000000226552
+000000174889
+000000293228
+000000219196
+000000387563
+000000315181
+000000454644
+000000242520
+000000446935
+000000164372
+000000284170
+000000365999
+000000098326
+000000389604
+000000179948
+000000050356
+000000403335
+000000092714
+000000229155
+000000118158
+000000571938
+000000099474
+000000211175
+000000559958
+000000457825
+000000449841
+000000425595
+000000052357
+000000120721
+000000504868
+000000345598
+000000101292
+000000301508
+000000374605
+000000496121
+000000498860
+000000143256
+000000372807
+000000332732
+000000020137
+000000306108
+000000261500
+000000206791
+000000025820
+000000281267
+000000485946
+000000021346
+000000309403
+000000535688
+000000533228
+000000357432
+000000406056
+000000183201
+000000200817
+000000502178
+000000317365
+000000037509
+000000473475
+000000193363
+000000467180
+000000204826
+000000358190
+000000525432
+000000225312
+000000574066
+000000283516
+000000195113
+000000225943
+000000406201
+000000196168
+000000231984
+000000189547
+000000384612
+000000150089
+000000398236
+000000204674
+000000413287
+000000065088
+000000286153
+000000131128
+000000209068
+000000070588
+000000015388
+000000504976
+000000465156
+000000241410
+000000074947
+000000490842
+000000248191
+000000128136
+000000351149
+000000425461
+000000071137
+000000252133
+000000429949
+000000289107
+000000313069
+000000285352
+000000491611
+000000085005
+000000409333
+000000431323
+000000014862
+000000507532
+000000079559
+000000241887
+000000038732
+000000242972
+000000435913
+000000355387
+000000505264
+000000420313
+000000206434
+000000060364
+000000232375
+000000120060
+000000328881
+000000351553
+000000396421
+000000473340
+000000330593
+000000489159
+000000464322
+000000157206
+000000073139
+000000279071
+000000410447
+000000199554
+000000298172
+000000075802
+000000220697
+000000517879
+000000023411
+000000286058
+000000430531
+000000202187
+000000019890
+000000510718
+000000213895
+000000040621
+000000110257
+000000065035
+000000118579
+000000189812
+000000095095
+000000453875
+000000080549
+000000252748
+000000272217
+000000369212
+000000378790
+000000061230
+000000112734
+000000525559
+000000452566
+000000263274
+000000560517
+000000202748
+000000157860
+000000093116
+000000446807
+000000403325
+000000554756
+000000477417
+000000331216
+000000581882
+000000490857
+000000283168
+000000277807
+000000445103
+000000489072
+000000505895
+000000052490
+000000489302
+000000284259
+000000464018
+000000431194
+000000182243
+000000438369
+000000287285
+000000201758
+000000152277
+000000473896
+000000421437
+000000084002
+000000246199
+000000106034
+000000142333
+000000473208
+000000419334
+000000407879
+000000533941
+000000306454
+000000570569
+000000280840
+000000097569
+000000155746
+000000167693
+000000297426
+000000390087
+000000193476
+000000355650
+000000039315
+000000503967
+000000424039
+000000188621
+000000099498
+000000560628
+000000356733
+000000387506
+000000577623
+000000393072
+000000240195
+000000226247
+000000108674
+000000302275
+000000440778
+000000394441
+000000331236
+000000233030
+000000067074
+000000183603
+000000291560
+000000079369
+000000079887
+000000116603
+000000524724
+000000103390
+000000520787
+000000372374
+000000433052
+000000476795
+000000400149
+000000203796
+000000508354
+000000090810
+000000133464
+000000511165
+000000104028
+000000487475
+000000441241
+000000210108
+000000158642
+000000101702
+000000114861
+000000464859
+000000180479
+000000520683
+000000226175
+000000470762
+000000446459
+000000506821
+000000264663
+000000150788
+000000466262
+000000449758
+000000486043
+000000226461
+000000321673
+000000188826
+000000326805
+000000060120
+000000437093
+000000120478
+000000104426
+000000118422
+000000224193
+000000188276
+000000115299
+000000482320
+000000082405
+000000182385
+000000351297
+000000423810
+000000061201
+000000499020
+000000518908
+000000116352
+000000366349
+000000032665
+000000570586
+000000487872
+000000252459
+000000538814
+000000193347
+000000285686
+000000515734
+000000361148
+000000468029
+000000001448
+000000167431
+000000240565
+000000109334
+000000345864
+000000521025
+000000506411
+000000459770
+000000235575
+000000312038
+000000333556
+000000279081
+000000567706
+000000095554
+000000267515
+000000167613
+000000484758
+000000038314
+000000482499
+000000437774
+000000334491
+000000556648
+000000071409
+000000087227
+000000167322
+000000089924
+000000304558
+000000355438
+000000393768
+000000214210
+000000368373
+000000186524
+000000089395
+000000530016
+000000534183
+000000458311
+000000361033
+000000196255
+000000249676
+000000073511
+000000469152
+000000332562
+000000260668
+000000034972
+000000400487
+000000297360
+000000375361
+000000562804
+000000404652
+000000211485
+000000101675
+000000466294
+000000273688
+000000445812
+000000070282
+000000258909
+000000079992
+000000548706
+000000089054
+000000090138
+000000499989
+000000469877
+000000013835
+000000431168
+000000501634
+000000485891
+000000512968
+000000248227
+000000499259
+000000436027
+000000014514
+000000412880
+000000226244
+000000373294
+000000287886
+000000019227
+000000193787
+000000174866
+000000533063
+000000505784
+000000057699
+000000100486
+000000009060
+000000218503
+000000177314
+000000494072
+000000538737
+000000252043
+000000505879
+000000066798
+000000208844
+000000447607
+000000426912
+000000557823
+000000441483
+000000251379
+000000074253
+000000026368
+000000198832
+000000345331
+000000126909
+000000064866
+000000567572
+000000074827
+000000450305
+000000111606
+000000242089
+000000167152
+000000464809
+000000392004
+000000544582
+000000538844
+000000133462
+000000082083
+000000105113
+000000029508
+000000294305
+000000300343
+000000457651
+000000268855
+000000557119
+000000278291
+000000233264
+000000105208
+000000465441
+000000553934
+000000353055
+000000265531
+000000202507
+000000108649
+000000422473
+000000185901
+000000346699
+000000333887
+000000498090
+000000469445
+000000067593
+000000049845
+000000515390
+000000099540
+000000197850
+000000458567
+000000112697
+000000453093
+000000146586
+000000292435
+000000296064
+000000518659
+000000129894
+000000270001
+000000571498
+000000303003
+000000446751
+000000067143
+000000340959
+000000353543
+000000411823
+000000362599
+000000236714
+000000507135
+000000453883
+000000147879
+000000555110
+000000461993
+000000448613
+000000289690
+000000116741
+000000253492
+000000539951
+000000295398
+000000104310
+000000128568
+000000061526
+000000529636
+000000101106
+000000421875
+000000317763
+000000548169
+000000426838
+000000047467
+000000270388
+000000257934
+000000309292
+000000474246
+000000367448
+000000243775
+000000437209
+000000257668
+000000045356
+000000337403
+000000344703
+000000324436
+000000521314
+000000201271
+000000056365
+000000191854
+000000101657
+000000465163
+000000199943
+000000047255
+000000069705
+000000342999
+000000083557
+000000079255
+000000013284
+000000056624
+000000025457
+000000464238
+000000395703
+000000106019
+000000174500
+000000345411
+000000206731
+000000235925
+000000294349
+000000050360
+000000271864
+000000399558
+000000165907
+000000456372
+000000457460
+000000362657
+000000300930
+000000569851
+000000163729
+000000098707
+000000385119
+000000256590
+000000217458
+000000397069
+000000298193
+000000067431
+000000327178
+000000452813
+000000293296
+000000198508
+000000288814
+000000356535
+000000568256
+000000201757
+000000522021
+000000080303
+000000212587
+000000128015
+000000479936
+000000223573
+000000461902
+000000324977
+000000404066
+000000174474
+000000263302
+000000075647
+000000289004
+000000170658
+000000201748
+000000431501
+000000403558
+000000434097
+000000262690
+000000534845
+000000058106
+000000325558
+000000579541
+000000561938
+000000196594
+000000474502
+000000201126
+000000402373
+000000006363
+000000507067
+000000203388
+000000507101
+000000088870
+000000170980
+000000006178
+000000341040
+000000157886
+000000562401
+000000016119
+000000191050
+000000186968
+000000464534
+000000011925
+000000362764
+000000325073
+000000440246
+000000088675
+000000103379
+000000133152
+000000351218
+000000530729
+000000195712
+000000482624
+000000313799
+000000539173
+000000075565
+000000071917
+000000497388
+000000471901
+000000567245
+000000510264
+000000547106
+000000002902
+000000470196
+000000287094
+000000325012
+000000244846
+000000519607
+000000067832
+000000173932
+000000102057
+000000111824
+000000140577
+000000327921
+000000417540
+000000154212
+000000202531
+000000515202
+000000534291
+000000495443
+000000410301
+000000538944
+000000275821
+000000487236
+000000433229
+000000038134
+000000164241
+000000375654
+000000281131
+000000113956
+000000228025
+000000195456
+000000285678
+000000391033
+000000427443
+000000268395
+000000285307
+000000184470
+000000013468
+000000259489
+000000148700
+000000451598
+000000108536
+000000305347
+000000423010
+000000502140
+000000165543
+000000465155
+000000023774
+000000026665
+000000144173
+000000075361
+000000559700
+000000116526
+000000118212
+000000524773
+000000451798
+000000044332
+000000005809
+000000375992
+000000196473
+000000314282
+000000534130
+000000401877
+000000198227
+000000546242
+000000433190
+000000156827
+000000400576
+000000126794
+000000464602
+000000292581
+000000363783
+000000059693
+000000034830
+000000034459
+000000458603
+000000173202
+000000302185
+000000511580
+000000035694
+000000044993
+000000457020
+000000087481
+000000003398
+000000371647
+000000127006
+000000101684
+000000374396
+000000210048
+000000167906
+000000421677
+000000139971
+000000106226
+000000007239
+000000494012
+000000288275
+000000079710
+000000072753
+000000158208
+000000524049
+000000555590
+000000102080
+000000141400
+000000126972
+000000515773
+000000058248
+000000141211
+000000256444
+000000449011
+000000029906
+000000321666
+000000017966
+000000389699
+000000190133
+000000154895
+000000264316
+000000027524
+000000191320
+000000567837
+000000308473
+000000092207
+000000459136
+000000196865
+000000095674
+000000332403
+000000446322
+000000200351
+000000349609
+000000543660
+000000253740
+000000422466
+000000200339
+000000358660
+000000258073
+000000404270
+000000393126
+000000070122
+000000203673
+000000362521
+000000360844
+000000505386
+000000064186
+000000557402
+000000085781
+000000338774
+000000160437
+000000011147
+000000306569
+000000275175
+000000519205
+000000392837
+000000472704
+000000500765
+000000455246
+000000157502
+000000400792
+000000234452
+000000484227
+000000040934
+000000134542
+000000574304
+000000091461
+000000191305
+000000157965
+000000127648
+000000456045
+000000496613
+000000124331
+000000539820
+000000112897
+000000375192
+000000118478
+000000227468
+000000505269
+000000247157
+000000397138
+000000044204
+000000181846
+000000256095
+000000390215
+000000140129
+000000190872
+000000367767
+000000109648
+000000134955
+000000455698
+000000484964
+000000428498
+000000517282
+000000501947
+000000261344
+000000265344
+000000337917
+000000285018
+000000169456
+000000490741
+000000091262
+000000049851
+000000093603
+000000156809
+000000530888
+000000390154
+000000021443
+000000536294
+000000132342
+000000395512
+000000202888
+000000478328
+000000310685
+000000055445
+000000505418
+000000182179
+000000019226
+000000556999
+000000059361
+000000571909
+000000449856
+000000041183
+000000490317
+000000018748
+000000440003
+000000535145
+000000234319
+000000058241
+000000397166
+000000451738
+000000308170
+000000560750
+000000185072
+000000347312
+000000289754
+000000338370
+000000299640
+000000449699
+000000423391
+000000116250
+000000399212
+000000504736
+000000496424
+000000434672
+000000219204
+000000327502
+000000195600
+000000356787
+000000222879
+000000575354
+000000495460
+000000482877
+000000492729
+000000324037
+000000364842
+000000375205
+000000254981
+000000455912
+000000094096
+000000020795
+000000172622
+000000375226
+000000527597
+000000374162
+000000005344
+000000284814
+000000569349
+000000267988
+000000096466
+000000164850
+000000213309
+000000316132
+000000414109
+000000304864
+000000228834
+000000494433
+000000147895
+000000557497
+000000233892
+000000010241
+000000279047
+000000295116
+000000061867
+000000028649
+000000107607
+000000429791
+000000114335
+000000406725
+000000254841
+000000268146
+000000021138
+000000396165
+000000492489
+000000453390
+000000226011
+000000240960
+000000363605
+000000544263
+000000198546
+000000520532
+000000467394
+000000087504
+000000262098
+000000430298
+000000242290
+000000332182
+000000069955
+000000087286
+000000403096
+000000220823
+000000468736
+000000241037
+000000286233
+000000408336
+000000526966
+000000101456
+000000136168
+000000393989
+000000205964
+000000106671
+000000190177
+000000356507
+000000495894
+000000282351
+000000427633
+000000294900
+000000045173
+000000123193
+000000008789
+000000315278
+000000372966
+000000373284
+000000260056
+000000038064
+000000175612
+000000509565
+000000368910
+000000005540
+000000159262
+000000024290
+000000509641
+000000319468
+000000476120
+000000208164
+000000182240
+000000041688
+000000290078
+000000442980
+000000292789
+000000121318
+000000460931
+000000300055
+000000523561
+000000221985
+000000543985
+000000529950
+000000511828
+000000238562
+000000012326
+000000371977
+000000408802
+000000571721
+000000144053
+000000523914
+000000466800
+000000534659
+000000511892
+000000476103
+000000326442
+000000336634
+000000361124
+000000196117
+000000420237
+000000326369
+000000308825
+000000428739
+000000309338
+000000029794
+000000576939
+000000024894
+000000233780
+000000373641
+000000207779
+000000041908
+000000270017
+000000551349
+000000074938
+000000513704
+000000560636
+000000508748
+000000466403
+000000305384
+000000097777
+000000246089
+000000265629
+000000431165
+000000253658
+000000367106
+000000341227
+000000511425
+000000157209
+000000401124
+000000381173
+000000425201
+000000530933
+000000384260
+000000572675
+000000139403
+000000289337
+000000072632
+000000186719
+000000104502
+000000416193
+000000045404
+000000070067
+000000476008
+000000427805
+000000351521
+000000250802
+000000132992
+000000402775
+000000024019
+000000393692
+000000507068
+000000570088
+000000454898
+000000483628
+000000317241
+000000503250
+000000166092
+000000248017
+000000048663
+000000292662
+000000159888
+000000022815
+000000547100
+000000142589
+000000428778
+000000356052
+000000239283
+000000569656
+000000410054
+000000526029
+000000499631
+000000259232
+000000414700
+000000510117
+000000193129
+000000209005
+000000029019
+000000020915
+000000470463
+000000018723
+000000038685
+000000201723
+000000461283
+000000481723
+000000228518
+000000189539
+000000011605
+000000203705
+000000327530
+000000567440
+000000368827
+000000305441
+000000505086
+000000475881
+000000469181
+000000043176
+000000557283
+000000490031
+000000076674
+000000110886
+000000541264
+000000324253
+000000183806
+000000166557
+000000092187
+000000543468
+000000335503
+000000272100
+000000059997
+000000478071
+000000428452
+000000291206
+000000047229
+000000550518
+000000154680
+000000517081
+000000403936
+000000547465
+000000202989
+000000366577
+000000094890
+000000203061
+000000104320
+000000313957
+000000166880
+000000078827
+000000410110
+000000525189
+000000012377
+000000158494
+000000541816
+000000005095
+000000295135
+000000471535
+000000454854
+000000267715
+000000538465
+000000433214
+000000063508
+000000303453
+000000268231
+000000263120
+000000502665
+000000341424
+000000034528
+000000133426
+000000111280
+000000206597
+000000067118
+000000248457
+000000049331
+000000426146
+000000098444
+000000173833
+000000081116
+000000446958
+000000463603
+000000150364
+000000012101
+000000354326
+000000034869
+000000478480
+000000387393
+000000007251
+000000179620
+000000463787
+000000397269
+000000523513
+000000492318
+000000467137
+000000277788
+000000002240
+000000020679
+000000527164
+000000117725
+000000097734
+000000510517
+000000186775
+000000093428
+000000359033
+000000112440
+000000030585
+000000405209
+000000235239
+000000188175
+000000313596
+000000341635
+000000534049
+000000523819
+000000468379
+000000086071
+000000159831
+000000306868
+000000399513
+000000201420
+000000529348
+000000475007
+000000410262
+000000176629
+000000057300
+000000200862
+000000137661
+000000533004
+000000365511
+000000446832
+000000180515
+000000223687
+000000405621
+000000537622
+000000464732
+000000287554
+000000230966
+000000163759
+000000552571
+000000425004
+000000362026
+000000415821
+000000314724
+000000148246
+000000087936
+000000508731
+000000531725
+000000084073
+000000064516
+000000425825
+000000009673
+000000036726
+000000415629
+000000352426
+000000131016
+000000456556
+000000329865
+000000561861
+000000087018
+000000239504
+000000246032
+000000322122
+000000214592
+000000024416
+000000427149
+000000568851
+000000049369
+000000430249
+000000487774
+000000362642
+000000500878
+000000197661
+000000269973
+000000477390
+000000535733
+000000352671
+000000423986
+000000149895
+000000580790
+000000332736
+000000000620
+000000192080
+000000505486
+000000160115
+000000233538
+000000149295
+000000052231
+000000279154
+000000466714
+000000461245
+000000549232
+000000418804
+000000383420
+000000547612
+000000279334
+000000071093
+000000317798
+000000268190
+000000199410
+000000167498
+000000549122
+000000057945
+000000232173
+000000574010
+000000570409
+000000499997
+000000191806
+000000285705
+000000041891
+000000435473
+000000295270
+000000285614
+000000475245
+000000030931
+000000575483
+000000166127
+000000539340
+000000260899
+000000479711
+000000126983
+000000316061
+000000450741
+000000163296
+000000267586
+000000285089
+000000374717
+000000010867
+000000535497
+000000557610
+000000532810
+000000144176
+000000067935
+000000515176
+000000266920
+000000381998
+000000249295
+000000570779
+000000020860
+000000228957
+000000533751
+000000521806
+000000185303
+000000410988
+000000551661
+000000465294
+000000432448
+000000330663
+000000348479
+000000389608
+000000060959
+000000253718
+000000242663
+000000377745
+000000544481
+000000490711
+000000555869
+000000403913
+000000532124
+000000133237
+000000313555
+000000401820
+000000363505
+000000471056
+000000360205
+000000416240
+000000040866
+000000069350
+000000199319
+000000150212
+000000258362
+000000551014
+000000554471
+000000521968
+000000001442
+000000054513
+000000273979
+000000503227
+000000552004
+000000036207
+000000091778
+000000341792
+000000236312
+000000553998
+000000102724
+000000322095
+000000095891
+000000394817
+000000554996
+000000276162
+000000378001
+000000220171
+000000080556
+000000163351
+000000183528
+000000292570
+000000556157
+000000293837
+000000328065
+000000146047
+000000493682
+000000397181
+000000355069
+000000067972
+000000556910
+000000495984
+000000482432
+000000144250
+000000362796
+000000283916
+000000339927
+000000280688
+000000542602
+000000122493
+000000247951
+000000136078
+000000063882
+000000042135
+000000443129
+000000143501
+000000027829
+000000170774
+000000472181
+000000147108
+000000373492
+000000563764
+000000379836
+000000510985
+000000399045
+000000028982
+000000233553
+000000272773
+000000192171
+000000098145
+000000120987
+000000470055
+000000234535
+000000161098
+000000123599
+000000301334
+000000537649
+000000542488
+000000197759
+000000234997
+000000086408
+000000028343
+000000240800
+000000378604
+000000170930
+000000141741
+000000235404
+000000258191
+000000521605
+000000462052
+000000404460
+000000102345
+000000100722
+000000523876
+000000352445
+000000499771
+000000317310
+000000043601
+000000029345
+000000538243
+000000033626
+000000338488
+000000195890
+000000072664
+000000085281
+000000051993
+000000106848
+000000041082
+000000027293
+000000090392
+000000522315
+000000011334
+000000499903
+000000118724
+000000327149
+000000517794
+000000449259
+000000545849
+000000046731
+000000014008
+000000319061
+000000565160
+000000122007
+000000506379
+000000357169
+000000071933
+000000183693
+000000214367
+000000141910
+000000245206
+000000026611
+000000145952
+000000062481
+000000187537
+000000153142
+000000051124
+000000579405
+000000509185
+000000214519
+000000193041
+000000019719
+000000554699
+000000503089
+000000087403
+000000049517
+000000392747
+000000542527
+000000353398
+000000260882
+000000536973
+000000192744
+000000446249
+000000231828
+000000183715
+000000396337
+000000511058
+000000023444
+000000038801
+000000141219
+000000338289
+000000453319
+000000397143
+000000057731
+000000268393
+000000461619
+000000330419
+000000444537
+000000490010
+000000240478
+000000205887
+000000043210
+000000414648
+000000149381
+000000070310
+000000332663
+000000363273
+000000408705
+000000241818
+000000251790
+000000027903
+000000258370
+000000383508
+000000557220
+000000475236
+000000100084
+000000009509
+000000215718
+000000542202
+000000416774
+000000079926
+000000529477
+000000096161
+000000148588
+000000348006
+000000375962
+000000379736
+000000050954
+000000534271
+000000151387
+000000085122
+000000377394
+000000340884
+000000261064
+000000473134
+000000468171
+000000151900
+000000475195
+000000040699
+000000200720
+000000543814
+000000375573
+000000010432
+000000115159
+000000151558
+000000493814
+000000476299
+000000098008
+000000526598
+000000103583
+000000322411
+000000309175
+000000350933
+000000026086
+000000200627
+000000275557
+000000090365
+000000060710
+000000069087
+000000033663
+000000022842
+000000414482
+000000483059
+000000027591
+000000226211
+000000509518
+000000526521
+000000184159
+000000561613
+000000103520
+000000181506
+000000139097
+000000556033
+000000476465
+000000258950
+000000097806
+000000476967
+000000326770
+000000012620
+000000572165
+000000380678
+000000039390
+000000315243
+000000268866
+000000107162
+000000240511
+000000457133
+000000348235
+000000539371
+000000289170
+000000479481
+000000300615
+000000439199
+000000493206
+000000135305
+000000053892
+000000383163
+000000008473
+000000264434
+000000055806
+000000406230
+000000534128
+000000360231
+000000522108
+000000174457
+000000151694
+000000176923
+000000050948
+000000404596
+000000326293
+000000010039
+000000072485
+000000110058
+000000242695
+000000213623
+000000218513
+000000284805
+000000516843
+000000041547
+000000566155
+000000160220
+000000461560
+000000271231
+000000084283
+000000532833
+000000356237
+000000373410
+000000458483
+000000016848
+000000505145
+000000571091
+000000564940
+000000463961
+000000181207
+000000449195
+000000341950
+000000354019
+000000079035
+000000217704
+000000250234
+000000302458
+000000425055
+000000412722
+000000409179
+000000480421
+000000230305
+000000256028
+000000429940
+000000483043
+000000143339
+000000331712
+000000137006
+000000298900
+000000183217
+000000212901
+000000319594
+000000228244
+000000344483
+000000428191
+000000280540
+000000168053
+000000541782
+000000489209
+000000146730
+000000020818
+000000488232
+000000369438
+000000317424
+000000369630
+000000330084
+000000430391
+000000338592
+000000319160
+000000491510
+000000035033
+000000471992
+000000268659
+000000142483
+000000266069
+000000191686
+000000002591
+000000551622
+000000209480
+000000111801
+000000449387
+000000240802
+000000388290
+000000289575
+000000070097
+000000579561
+000000316059
+000000381122
+000000459987
+000000552685
+000000442249
+000000215320
+000000137734
+000000268826
+000000007393
+000000135460
+000000076264
+000000432723
+000000053569
+000000434328
+000000484217
+000000440401
+000000484587
+000000324645
+000000190466
+000000262756
+000000411792
+000000293265
+000000022899
+000000018414
+000000072602
+000000379465
+000000077816
+000000207097
+000000483352
+000000065993
+000000567893
+000000228334
+000000208801
+000000407509
+000000462353
+000000323502
+000000154011
+000000175021
+000000326079
+000000547644
+000000509095
+000000194459
+000000285002
+000000096244
+000000509986
+000000111182
+000000552073
+000000114093
+000000030518
+000000035474
+000000156466
+000000573869
+000000223977
+000000310140
+000000322620
+000000202827
+000000553310
+000000549409
+000000448917
+000000176306
+000000306506
+000000516508
+000000519461
+000000217407
+000000004319
+000000131107
+000000380493
+000000159103
+000000300445
+000000171330
+000000048905
+000000490665
+000000325548
+000000276066
+000000411400
+000000391016
+000000119444
+000000276631
+000000486655
+000000333721
+000000541893
+000000309257
+000000500228
+000000436835
+000000376718
+000000555814
+000000402020
+000000472461
+000000362498
+000000264347
+000000037638
+000000343309
+000000069747
+000000251344
+000000216413
+000000034938
+000000088917
+000000292032
+000000100627
+000000455395
+000000190981
+000000177609
+000000001501
+000000016716
+000000185962
+000000518552
+000000289712
+000000285275
+000000043392
+000000561102
+000000421762
+000000075046
+000000204721
+000000402808
+000000401288
+000000399337
+000000349402
+000000319685
+000000216841
+000000468670
+000000135525
+000000163602
+000000292387
+000000251315
+000000352505
+000000253521
+000000169401
+000000327563
+000000157204
+000000069496
+000000314801
+000000183253
+000000329566
+000000300040
+000000503170
+000000389283
+000000018531
+000000012016
+000000232746
+000000436584
+000000417144
+000000158122
+000000384836
+000000021915
+000000091942
+000000137227
+000000125853
+000000438479
+000000198349
+000000160308
+000000180522
+000000280721
+000000474600
+000000521236
+000000505487
+000000235366
+000000067261
+000000168260
+000000052761
+000000413275
+000000240194
+000000497351
+000000443301
+000000089223
+000000134320
+000000345897
+000000128842
+000000091728
+000000019927
+000000042735
+000000359959
+000000168524
+000000366264
+000000066046
+000000091747
+000000000626
+000000447444
+000000053999
+000000372894
+000000234000
+000000285397
+000000289245
+000000363358
+000000536730
+000000145259
+000000333170
+000000244240
+000000468238
+000000488260
+000000132935
+000000185620
+000000159332
+000000092355
+000000421676
+000000302618
+000000349588
+000000023351
+000000262466
+000000098501
+000000074780
+000000072258
+000000488845
+000000268292
+000000081307
+000000524247
+000000544495
+000000348651
+000000232116
+000000355740
+000000160393
+000000299010
+000000047983
+000000094550
+000000507329
+000000220838
+000000181128
+000000417195
+000000280363
+000000228893
+000000099970
+000000239736
+000000047544
+000000429228
+000000574874
+000000299811
+000000183266
+000000192692
+000000318997
+000000551125
+000000500662
+000000463285
+000000065610
+000000158197
+000000047409
+000000082273
+000000039987
+000000244124
+000000245902
+000000307149
+000000236350
+000000274224
+000000094884
+000000519446
+000000374043
+000000003270
+000000494548
+000000059079
+000000451353
+000000240119
+000000514457
+000000574110
+000000544875
+000000304849
+000000350690
+000000519626
+000000247265
+000000081735
+000000549873
+000000229315
+000000149550
+000000055735
+000000015772
+000000293591
+000000546500
+000000414108
+000000057138
+000000000154
+000000518179
+000000236389
+000000092601
+000000321546
+000000284383
+000000388581
+000000110540
+000000282808
+000000018291
+000000416766
+000000170207
+000000219411
+000000550310
+000000210955
+000000184435
+000000451706
+000000395210
+000000341161
+000000106383
+000000087792
+000000128989
+000000064409
+000000471697
+000000071818
+000000578213
+000000286745
+000000340898
+000000416931
+000000028069
+000000445301
+000000391371
+000000349469
+000000008953
+000000263968
+000000227480
+000000144320
+000000083725
+000000144429
+000000433647
+000000392480
+000000414948
+000000399200
+000000246104
+000000024805
+000000267770
+000000406826
+000000175889
+000000456328
+000000481427
+000000486309
+000000480105
+000000168455
+000000373480
+000000548593
+000000433853
+000000236998
+000000401838
+000000413709
+000000268433
+000000219897
+000000217780
+000000162230
+000000235469
+000000312539
+000000142999
+000000315909
+000000160648
+000000408048
+000000511739
+000000523772
+000000338736
+000000130651
+000000415203
+000000262979
+000000291816
+000000367100
+000000030519
+000000039770
+000000046891
+000000385844
+000000315348
+000000260097
+000000468605
+000000511549
+000000575209
+000000284925
+000000263264
+000000400027
+000000400204
+000000529507
+000000011364
+000000019711
+000000400945
+000000150875
+000000220446
+000000244735
+000000036836
+000000109427
+000000453948
+000000359897
+000000273840
+000000122415
+000000154443
+000000532557
+000000482740
+000000486170
+000000251167
+000000500782
+000000483045
+000000268032
+000000318471
+000000171328
+000000518551
+000000231071
+000000259733
+000000419087
+000000171081
+000000199669
+000000020837
+000000556562
+000000092017
+000000189838
+000000125106
+000000369543
+000000420831
+000000378545
+000000396811
+000000565077
+000000014855
+000000064865
+000000008433
+000000005913
+000000055788
+000000454832
+000000083923
+000000293259
+000000571695
+000000518348
+000000535579
+000000439961
+000000324313
+000000027343
+000000560153
+000000135411
+000000261679
+000000184161
+000000132725
+000000068620
+000000191175
+000000531044
+000000034777
+000000107880
+000000299573
+000000044336
+000000443701
+000000243066
+000000257176
+000000305056
+000000300501
+000000055544
+000000191242
+000000139892
+000000223752
+000000280678
+000000334958
+000000480961
+000000257379
+000000451356
+000000225393
+000000089540
+000000487289
+000000477474
+000000020052
+000000352312
+000000441255
+000000508466
+000000229885
+000000138456
+000000093581
+000000220699
+000000506138
+000000114863
+000000045710
+000000178958
+000000569415
+000000249884
+000000388157
+000000536509
+000000402820
+000000575915
+000000106165
+000000013843
+000000419327
+000000129006
+000000172654
+000000270195
+000000038701
+000000328054
+000000518773
+000000118625
+000000320659
+000000484695
+000000503718
+000000135256
+000000566973
+000000565722
+000000137284
+000000500616
+000000371643
+000000407915
+000000253732
+000000438427
+000000200206
+000000543093
+000000089021
+000000301837
+000000518023
+000000426482
+000000509188
+000000058880
+000000076329
+000000218917
+000000448702
+000000454892
+000000500422
+000000490749
+000000454271
+000000135900
+000000066034
+000000038190
+000000196558
+000000347377
+000000350879
+000000104790
+000000255791
+000000216206
+000000118957
+000000000797
+000000421389
+000000152070
+000000194780
+000000207204
+000000503647
+000000519113
+000000072077
+000000276945
+000000081211
+000000264823
+000000528868
+000000288556
+000000027406
+000000575594
+000000004396
+000000261072
+000000536369
+000000324390
+000000086864
+000000010196
+000000110630
+000000475610
+000000423935
+000000555673
+000000120935
+000000256973
+000000137275
+000000362919
+000000444092
+000000017600
+000000043876
+000000453178
+000000253506
+000000390179
+000000099913
+000000024996
+000000301506
+000000183884
+000000209326
+000000090137
+000000300867
+000000494039
+000000338265
+000000049473
+000000042578
+000000579374
+000000204830
+000000517340
+000000057340
+000000569101
+000000347233
+000000019015
+000000483771
+000000030967
+000000441738
+000000172627
+000000439326
+000000427943
+000000128152
+000000460068
+000000279881
+000000046609
+000000055443
+000000042161
+000000050819
+000000187214
+000000042383
+000000306718
+000000165930
+000000195699
+000000386962
+000000103513
+000000045974
+000000445605
+000000460405
+000000506327
+000000530086
+000000175948
+000000202264
+000000193094
+000000471235
+000000452953
+000000413942
+000000518818
+000000080960
+000000548953
+000000257894
+000000328783
+000000196852
+000000200642
+000000370117
+000000359872
+000000218811
+000000301093
+000000502380
+000000128280
+000000454195
+000000355492
+000000224178
+000000109824
+000000101785
+000000439398
+000000389391
+000000096328
+000000071440
+000000344288
+000000393176
+000000381914
+000000381109
+000000520996
+000000161545
+000000181759
+000000528756
+000000051454
+000000196974
+000000402057
+000000265235
+000000356299
+000000373753
+000000002544
+000000139306
+000000577926
+000000516432
+000000140295
+000000046426
+000000184700
+000000366255
+000000338529
+000000495090
+000000504099
+000000486139
+000000032271
+000000244973
+000000493902
+000000471096
+000000227568
+000000308192
+000000022377
+000000247764
+000000227125
+000000463970
+000000471839
+000000264870
+000000031367
+000000026936
+000000451758
+000000117792
+000000304608
+000000117578
+000000531307
+000000230721
+000000462736
+000000371999
+000000185866
+000000492472
+000000248666
+000000322023
+000000474543
+000000262329
+000000134430
+000000489449
+000000533013
+000000537461
+000000294925
+000000319315
+000000007241
+000000070491
+000000398290
+000000395998
+000000087194
+000000076042
+000000521678
+000000151358
+000000315211
+000000478105
+000000391251
+000000463495
+000000210279
+000000221307
+000000181680
+000000253733
+000000161503
+000000304374
+000000359439
+000000117718
+000000012786
+000000443752
+000000287099
+000000251125
+000000349030
+000000503196
+000000280249
+000000136097
+000000311882
+000000159626
+000000510258
+000000562745
+000000430804
+000000126323
+000000314556
+000000157921
+000000310867
+000000538533
+000000101571
+000000247465
+000000250684
+000000441599
+000000412874
+000000133051
+000000174417
+000000291114
+000000491294
+000000430692
+000000078800
+000000358239
+000000035907
+000000307483
+000000481753
+000000141477
+000000415670
+000000106823
+000000546693
+000000538776
+000000504338
+000000440729
+000000558435
+000000220735
+000000184401
+000000134768
+000000203868
+000000189364
+000000171142
+000000174802
+000000453260
+000000530494
+000000532631
+000000042469
+000000020825
+000000426806
+000000144754
+000000112887
+000000406749
+000000371953
+000000457717
+000000155167
+000000329939
+000000557399
+000000445540
+000000347965
+000000104544
+000000294724
+000000000387
+000000088005
+000000407737
+000000190395
+000000160000
+000000388766
+000000234291
+000000537389
+000000099321
+000000404227
+000000306878
+000000287574
+000000526827
+000000224874
+000000263482
+000000163608
+000000327578
+000000455170
+000000200945
+000000574032
+000000125252
+000000137704
+000000044663
+000000294080
+000000092244
+000000071647
+000000240323
+000000539158
+000000042182
+000000260844
+000000574402
+000000536474
+000000423048
+000000480739
+000000149188
+000000304605
+000000548388
+000000099907
+000000435994
+000000118401
+000000512254
+000000548979
+000000486989
+000000056784
+000000385085
+000000125042
+000000076454
+000000038092
+000000488601
+000000450404
+000000305665
+000000178634
+000000375169
+000000108000
+000000392879
+000000315226
+000000265472
+000000535860
+000000266001
+000000119529
+000000049567
+000000084440
+000000221055
+000000175688
+000000000955
+000000450893
+000000190952
+000000125683
+000000547156
+000000410225
+000000302323
+000000158635
+000000500420
+000000325523
+000000277188
+000000574324
+000000251033
+000000468972
+000000549366
+000000063409
+000000211204
+000000005574
+000000311478
+000000287829
+000000214733
+000000548357
+000000282793
+000000247609
+000000364642
+000000262393
+000000247631
+000000243189
+000000002531
+000000017154
+000000555771
+000000500585
+000000157825
+000000535327
+000000496977
+000000047071
+000000221914
+000000174079
+000000436172
+000000013832
+000000469075
+000000443315
+000000183786
+000000569718
+000000440354
+000000515814
+000000512206
+000000476715
+000000150685
+000000155849
+000000121828
+000000553506
+000000073276
+000000352959
+000000155376
+000000023038
+000000207980
+000000229274
+000000046327
+000000085212
+000000006464
+000000120164
+000000271977
+000000527492
+000000291038
+000000205814
+000000447574
+000000262965
+000000072637
+000000194956
+000000132861
+000000545111
+000000099671
+000000554658
+000000458610
+000000351164
+000000186685
+000000541532
+000000160892
+000000163192
+000000112577
+000000325664
+000000360541
+000000010115
+000000451761
+000000233829
+000000523161
+000000562113
+000000152785
+000000281353
+000000028914
+000000058385
+000000531289
+000000564120
+000000541332
+000000265636
+000000207060
+000000281950
+000000012792
+000000384883
+000000537919
+000000253491
+000000557848
+000000302643
+000000340103
+000000294581
+000000102297
+000000093331
+000000356181
+000000056190
+000000493857
+000000209809
+000000316229
+000000341710
+000000221478
+000000453517
+000000062193
+000000048474
+000000203859
+000000111996
+000000048956
+000000469514
+000000335433
+000000019333
+000000071914
+000000182316
+000000466153
+000000118783
+000000346391
+000000117117
+000000551459
+000000532155
+000000256662
+000000497698
+000000572626
+000000268266
+000000391116
+000000334015
+000000110800
+000000291245
+000000294595
+000000227891
+000000153307
+000000458461
+000000289968
+000000566486
+000000284253
+000000388507
+000000146722
+000000054718
+000000324654
+000000457373
+000000505911
+000000200615
+000000323797
+000000349164
+000000050018
+000000085348
+000000316746
+000000365316
+000000334302
+000000540296
+000000327153
+000000123831
+000000377371
+000000375529
+000000079816
+000000464519
+000000211573
+000000399011
+000000329534
+000000327794
+000000331692
+000000012883
+000000117337
+000000144163
+000000345701
+000000099342
+000000237667
+000000421661
+000000332537
+000000409623
+000000543734
+000000473919
+000000220428
+000000028728
+000000237100
+000000200133
+000000346437
+000000253675
+000000030407
+000000100536
+000000202764
+000000106490
+000000559006
+000000218863
+000000249141
+000000206077
+000000384698
+000000027840
+000000306191
+000000456310
+000000032682
+000000282565
+000000151005
+000000546632
+000000318533
+000000075319
+000000429591
+000000250204
+000000204039
+000000437509
+000000355270
+000000370652
+000000292181
+000000309100
+000000059385
+000000110084
+000000263477
+000000484689
+000000121610
+000000363806
+000000050352
+000000028499
+000000313209
+000000067868
+000000228464
+000000092749
+000000221477
+000000439123
+000000504991
+000000482265
+000000309710
+000000570403
+000000196876
+000000231222
+000000047512
+000000508669
+000000450407
+000000402717
+000000285961
+000000321897
+000000042868
+000000014557
+000000455343
+000000067716
+000000218687
+000000410924
+000000508015
+000000367242
+000000398177
+000000008418
+000000004477
+000000426040
+000000254143
+000000359201
+000000349603
+000000348146
+000000040551
+000000465906
+000000276192
+000000471932
+000000500036
+000000246672
+000000219657
+000000562595
+000000257029
+000000450963
+000000378548
+000000193398
+000000541973
+000000348935
+000000245505
+000000289333
+000000532439
+000000576030
+000000243251
+000000554749
+000000387517
+000000201460
+000000267942
+000000134242
+000000490991
+000000414082
+000000435488
+000000288602
+000000544279
+000000165431
+000000408227
+000000201035
+000000179915
+000000552927
+000000197175
+000000135894
+000000284765
+000000409525
+000000533446
+000000195559
+000000339462
+000000491477
+000000509468
+000000334381
+000000374087
+000000364770
+000000504297
+000000553981
+000000069163
+000000098582
+000000552901
+000000386497
+000000002061
+000000560307
+000000341917
+000000486994
+000000370697
+000000439932
+000000336621
+000000575763
+000000125142
+000000018773
+000000345869
+000000124232
+000000239980
+000000365858
+000000227503
+000000288707
+000000570185
+000000379754
+000000398580
+000000242869
+000000147027
+000000399091
+000000459325
+000000216254
+000000530636
+000000236123
+000000037549
+000000365446
+000000257786
+000000213694
+000000554486
+000000412939
+000000406732
+000000422286
+000000180095
+000000520749
+000000177167
+000000065564
+000000260285
+000000177959
+000000221651
+000000537037
+000000538480
+000000422253
+000000018476
+000000272492
+000000088142
+000000127802
+000000482485
+000000145083
+000000306724
+000000187723
+000000254818
+000000382629
+000000024847
+000000087398
+000000020882
+000000151790
+000000432017
+000000109730
+000000292289
+000000127647
+000000092014
+000000354202
+000000238154
+000000100863
+000000037743
+000000129186
+000000045836
+000000574463
+000000305821
+000000499738
+000000335098
+000000219943
+000000349237
+000000158863
+000000218982
+000000285433
+000000466532
+000000216241
+000000411385
+000000183131
+000000020145
+000000439171
+000000002232
+000000394801
+000000373677
+000000438805
+000000388768
+000000350251
+000000553867
+000000358255
+000000435037
+000000225931
+000000527720
+000000576537
+000000497275
+000000385103
+000000243823
+000000012803
+000000515423
+000000044609
+000000034063
+000000064425
+000000534935
+000000106498
+000000445759
+000000192153
+000000177619
+000000255578
+000000045628
+000000279187
+000000534686
+000000315028
+000000532147
+000000444912
+000000090830
+000000206878
+000000090194
+000000488775
+000000448319
+000000293975
+000000095247
+000000504486
+000000238184
+000000313345
+000000008773
+000000528147
+000000534107
+000000072004
+000000578964
+000000331282
+000000225516
+000000160041
+000000281210
+000000551802
+000000531128
+000000546474
+000000390365
+000000453104
+000000268185
+000000522817
+000000251591
+000000011360
+000000139541
+000000132306
+000000089955
+000000341198
+000000555013
+000000337962
+000000568531
+000000015112
+000000276796
+000000360209
+000000099999
+000000569058
+000000221194
+000000325423
+000000162596
+000000054490
+000000144167
+000000465550
+000000128812
+000000482328
+000000335385
+000000263600
+000000051716
+000000428105
+000000159537
+000000047905
+000000367229
+000000066761
+000000379529
+000000335106
+000000554351
+000000338323
+000000551607
+000000561735
+000000162892
+000000204458
+000000275644
+000000308849
+000000123180
+000000496894
+000000250261
+000000074343
+000000200654
+000000232453
+000000120827
+000000073726
+000000567863
+000000051898
+000000563411
+000000562462
+000000343066
+000000313518
+000000028039
+000000279596
+000000258659
+000000335860
+000000303197
+000000282894
+000000069535
+000000290511
+000000160311
+000000213437
+000000008892
+000000564812
+000000116182
+000000373099
+000000456873
+000000345429
+000000521808
+000000284025
+000000554981
+000000402027
+000000215913
+000000438481
+000000401602
+000000366630
+000000263714
+000000129699
+000000492785
+000000121601
+000000531569
+000000573232
+000000241962
+000000491662
+000000205520
+000000372996
+000000385646
+000000377208
+000000109169
+000000046786
+000000102589
+000000171484
+000000182029
+000000257774
+000000370562
+000000490153
+000000441943
+000000171185
+000000424800
+000000564580
+000000352511
+000000241248
+000000427239
+000000105040
+000000495612
+000000275115
+000000299089
+000000563904
+000000410648
+000000449373
+000000160812
+000000194419
+000000214989
+000000541193
+000000544472
+000000210680
+000000118060
+000000070735
+000000581262
+000000360660
+000000469471
+000000284493
+000000479357
+000000219527
+000000386092
+000000444464
+000000396193
+000000283970
+000000045419
+000000560020
+000000265574
+000000552876
+000000133741
+000000192337
+000000388962
+000000129658
+000000254100
+000000286910
+000000260740
+000000568982
+000000346309
+000000330356
+000000355851
+000000546451
+000000114926
+000000048139
+000000547297
+000000199131
+000000036546
+000000094538
+000000198921
+000000559162
+000000168994
+000000476321
+000000222053
+000000419474
+000000476525
+000000532967
+000000369792
+000000569931
+000000051949
+000000122584
+000000510613
+000000108917
+000000572331
+000000246160
+000000161935
+000000194362
+000000275242
+000000399461
+000000186614
+000000332739
+000000069860
+000000000089
+000000291117
+000000309135
+000000212533
+000000522008
+000000057689
+000000144925
+000000137190
+000000476975
+000000234343
+000000126534
+000000213399
+000000428612
+000000476300
+000000112395
+000000344174
+000000293334
+000000008549
+000000313963
+000000293931
+000000124300
+000000498354
+000000308096
+000000463019
+000000540642
+000000164066
+000000146706
+000000003742
+000000231320
+000000245161
+000000167131
+000000236399
+000000475042
+000000233256
+000000530396
+000000037339
+000000070794
+000000103804
+000000230428
+000000193114
+000000518907
+000000436407
+000000183004
+000000234709
+000000395469
+000000289758
+000000156999
+000000188673
+000000061740
+000000571531
+000000030803
+000000157342
+000000531415
+000000436744
+000000507783
+000000543534
+000000497160
+000000021569
+000000259616
+000000474108
+000000383857
+000000328499
+000000167548
+000000505389
+000000061262
+000000438025
+000000173751
+000000161854
+000000505539
+000000087229
+000000433536
+000000454207
+000000099642
+000000377620
+000000327020
+000000067246
+000000000597
+000000562496
+000000492727
+000000510154
+000000323829
+000000500984
+000000399668
+000000019852
+000000355568
+000000136181
+000000000801
+000000066632
+000000315905
+000000453895
+000000565622
+000000492354
+000000278732
+000000206903
+000000521667
+000000326308
+000000289889
+000000053597
+000000213831
+000000070477
+000000069309
+000000105537
+000000306664
+000000387044
+000000303250
+000000237009
+000000564151
+000000570705
+000000040796
+000000085816
+000000561687
+000000349621
+000000271046
+000000507714
+000000576550
+000000413736
+000000061720
+000000290962
+000000142287
+000000416918
+000000559021
+000000581913
+000000401157
+000000546869
+000000259798
+000000369973
+000000183771
+000000536615
+000000291348
+000000097686
+000000270959
+000000268340
+000000051576
+000000502513
+000000021384
+000000538359
+000000192681
+000000428837
+000000300277
+000000493067
+000000051198
+000000462192
+000000198178
+000000188515
+000000015085
+000000448861
+000000545238
+000000564820
+000000514602
+000000084389
+000000081508
+000000474283
+000000066668
+000000508612
+000000237844
+000000245825
+000000151375
+000000329141
+000000553392
+000000508215
+000000089481
+000000402378
+000000467204
+000000192259
+000000380932
+000000452931
+000000005678
+000000392624
+000000069346
+000000581437
+000000114748
+000000358566
+000000084390
+000000391444
+000000079949
+000000030470
+000000015870
+000000066493
+000000391088
+000000051076
+000000489793
+000000020701
+000000322125
+000000133874
+000000481504
+000000255194
+000000197408
+000000004880
+000000192560
+000000444311
+000000466222
+000000335233
+000000396608
+000000573263
+000000185546
+000000490578
+000000432886
+000000293012
+000000195583
+000000341534
+000000225265
+000000064360
+000000093014
+000000026702
+000000044780
+000000450849
+000000167533
+000000508177
+000000312204
+000000461692
+000000116444
+000000417039
+000000515196
+000000374641
+000000165916
+000000520220
+000000260299
+000000145573
+000000363592
+000000210654
+000000124795
+000000068713
+000000390785
+000000520154
+000000439651
+000000208371
+000000080819
+000000170931
+000000081512
+000000521064
+000000154637
+000000551896
+000000215581
+000000422779
+000000467484
+000000237443
+000000379433
+000000508220
+000000304250
+000000549821
+000000009988
+000000476652
+000000046898
+000000034683
+000000286212
+000000380138
+000000127540
+000000405041
+000000296404
+000000262369
+000000067959
+000000361564
+000000447902
+000000572024
+000000203618
+000000369722
+000000096958
+000000171175
+000000557187
+000000083252
+000000261596
+000000179811
+000000428355
+000000168482
+000000368347
+000000304092
+000000417594
+000000363464
+000000160860
+000000113513
+000000335033
+000000409166
+000000146769
+000000413037
+000000501612
+000000136158
+000000381945
+000000120850
+000000438004
+000000088902
+000000083960
+000000510591
+000000212401
+000000140664
+000000175000
+000000420389
+000000150920
+000000274356
+000000138832
+000000571618
+000000331753
+000000161436
+000000112517
+000000352917
+000000130681
+000000011010
+000000367814
+000000105592
+000000408672
+000000453664
+000000236457
+000000157977
+000000471905
+000000069051
+000000325211
+000000482957
+000000024637
+000000048630
+000000083548
+000000358174
+000000364803
+000000384643
+000000264161
+000000562037
+000000368291
+000000438663
+000000066879
+000000295195
+000000040572
+000000190322
+000000212089
+000000519867
+000000219338
+000000226897
+000000051587
+000000211576
+000000562100
+000000328743
+000000267136
+000000374453
+000000084785
+000000276781
+000000524637
+000000396998
+000000486964
+000000415874
+000000188795
+000000458208
+000000174196
+000000353709
+000000154817
+000000134532
+000000131965
+000000329895
+000000000072
+000000136793
+000000296286
+000000153998
+000000335174
+000000327936
+000000356690
+000000141265
+000000218628
+000000183204
+000000344292
+000000027439
+000000220889
+000000213546
+000000164121
+000000254022
+000000377845
+000000313491
+000000066427
+000000415953
+000000325584
+000000115851
+000000310664
+000000474333
+000000175805
+000000178957
+000000214048
+000000096808
+000000578748
+000000193560
+000000153055
+000000000827
+000000578221
+000000411455
+000000145791
+000000011694
+000000316396
+000000257910
+000000365514
+000000565788
+000000161356
+000000066066
+000000300994
+000000235473
+000000528119
+000000096647
+000000001059
+000000048795
+000000320788
+000000366558
+000000573653
+000000158555
+000000010400
+000000156772
+000000376144
+000000506812
+000000134715
+000000349212
+000000250365
+000000079528
+000000020820
+000000502613
+000000344876
+000000163413
+000000579035
+000000184446
+000000341725
+000000070557
+000000266857
+000000518615
+000000163639
+000000214008
+000000071502
+000000476609
+000000352538
+000000416405
+000000043494
+000000354369
+000000278414
+000000026622
+000000075132
+000000453926
+000000556811
+000000237663
+000000406601
+000000477542
+000000040730
+000000000009
+000000047492
+000000047388
+000000248649
+000000300392
+000000057023
+000000358901
+000000399358
+000000211529
+000000183224
+000000303233
+000000452334
+000000012204
+000000377301
+000000164242
+000000403521
+000000199678
+000000359337
+000000020912
+000000229832
+000000565608
+000000113216
+000000310833
+000000158456
+000000326325
+000000485799
+000000482720
+000000374164
+000000275663
+000000017892
+000000197499
+000000136299
+000000429602
+000000127710
+000000352295
+000000123841
+000000303414
+000000435957
+000000187876
+000000526898
+000000494404
+000000104906
+000000360020
+000000535977
+000000228673
+000000259712
+000000551609
+000000287841
+000000295250
+000000345040
+000000075325
+000000086725
+000000007677
+000000168718
+000000402926
+000000419080
+000000196244
+000000436603
+000000126743
+000000092280
+000000070107
+000000401785
+000000543385
+000000093405
+000000404282
+000000375840
+000000272857
+000000398172
+000000338403
+000000163372
+000000500196
+000000424152
+000000347248
+000000094663
+000000296604
+000000389477
+000000173490
+000000469721
+000000124027
+000000048867
+000000103232
+000000367188
+000000281900
+000000470613
+000000217919
+000000206809
+000000145825
+000000468178
+000000282579
+000000495079
+000000009452
+000000415849
+000000204436
+000000570178
+000000278952
+000000388652
+000000339966
+000000471840
+000000026728
+000000513424
+000000366459
+000000446618
+000000299017
+000000379462
+000000096070
+000000444173
+000000531111
+000000241620
+000000016825
+000000462577
+000000522653
+000000562648
+000000070285
+000000491448
+000000572040
+000000490062
+000000200489
+000000456652
+000000216963
+000000154420
+000000381199
+000000149212
+000000234255
+000000326445
+000000190475
+000000214109
+000000059483
+000000010645
+000000486004
+000000452441
+000000070351
+000000183100
+000000304777
+000000576317
+000000176462
+000000188352
+000000319155
+000000332866
+000000325391
+000000464928
+000000177939
+000000180208
+000000273497
+000000502752
+000000463012
+000000223599
+000000542549
+000000442686
+000000248116
+000000155582
+000000240267
+000000473705
+000000479608
+000000100607
+000000359726
+000000225473
+000000280515
+000000555922
+000000075857
+000000309341
+000000005253
+000000257451
+000000327664
+000000469638
+000000528541
+000000100343
+000000254250
+000000076910
+000000431573
+000000396366
+000000512304
+000000478597
+000000133791
+000000496264
+000000335132
+000000328802
+000000500888
+000000219869
+000000148766
+000000343455
+000000198360
+000000502978
+000000197616
+000000125412
+000000158779
+000000581668
+000000572316
+000000293174
+000000075479
+000000277616
+000000231512
+000000257490
+000000494049
+000000416049
+000000363879
+000000073782
+000000507908
+000000515843
+000000254520
+000000313412
+000000545293
+000000305517
+000000458763
+000000190015
+000000427583
+000000464993
+000000222003
+000000226874
+000000561631
+000000266487
+000000237872
+000000423256
+000000431922
+000000009857
+000000260293
+000000262213
+000000163879
+000000206112
+000000171613
+000000246478
+000000459631
+000000559079
+000000091295
+000000553931
+000000564726
+000000400299
+000000565117
+000000365517
+000000514034
+000000448571
+000000142592
+000000067837
+000000155618
+000000042658
+000000241341
+000000574384
+000000444591
+000000497855
+000000495073
+000000391481
+000000052393
+000000506946
+000000413602
+000000118065
+000000377406
+000000366003
+000000368637
+000000472101
+000000278961
+000000523374
+000000357734
+000000379313
+000000018874
+000000165034
+000000456799
+000000387669
+000000298691
+000000531045
+000000385916
+000000504541
+000000494835
+000000111152
+000000555701
+000000202784
+000000085731
+000000247338
+000000479234
+000000574392
+000000017551
+000000366591
+000000292823
+000000401622
+000000528261
+000000233566
+000000066567
+000000049027
+000000016414
+000000217228
+000000079868
+000000222444
+000000027063
+000000405213
+000000505663
+000000449798
+000000359110
+000000011721
+000000083147
+000000498840
+000000535126
+000000324528
+000000166273
+000000106896
+000000166370
+000000455117
+000000169988
+000000578418
+000000009195
+000000378299
+000000535037
+000000208043
+000000405718
+000000115300
+000000086908
+000000214608
+000000364917
+000000380620
+000000261273
+000000094667
+000000336967
+000000512729
+000000472941
+000000230057
+000000173532
+000000321651
+000000170041
+000000218405
+000000444515
+000000494141
+000000420059
+000000155355
+000000192453
+000000360503
+000000542095
+000000110324
+000000248341
+000000575776
+000000475768
+000000276444
+000000231684
+000000124246
+000000018952
+000000287565
+000000476417
+000000228560
+000000426075
+000000498100
+000000451648
+000000520727
+000000079116
+000000167894
+000000257660
+000000428858
+000000181857
+000000407372
+000000478505
+000000041147
+000000119608
+000000325410
+000000349201
+000000228392
+000000348675
+000000435323
+000000399547
+000000139785
+000000410482
+000000376691
+000000032751
+000000366499
+000000430551
+000000578114
+000000543028
+000000573544
+000000138806
+000000083599
+000000217306
+000000098631
+000000295668
+000000519911
+000000492723
+000000511849
+000000505708
+000000210042
+000000478670
+000000270605
+000000228794
+000000150370
+000000353581
+000000478979
+000000569667
+000000059704
+000000005383
+000000041438
+000000269504
+000000023981
+000000330229
+000000351948
+000000398999
+000000035668
+000000250607
+000000553248
+000000347068
+000000449693
+000000232852
+000000041785
+000000042453
+000000070780
+000000513793
+000000141805
+000000452536
+000000473503
+000000283631
+000000380305
+000000447204
+000000369128
+000000240605
+000000432964
+000000091306
+000000419323
+000000073830
+000000332692
+000000017429
+000000355760
+000000332724
+000000110601
+000000206377
+000000579629
+000000077187
+000000232618
+000000385236
+000000042519
+000000185820
+000000371326
+000000082324
+000000298112
+000000494115
+000000515870
+000000202373
+000000155402
+000000556638
+000000399984
+000000481425
+000000029285
+000000046506
+000000437300
+000000127054
+000000064746
+000000055648
+000000024636
+000000512788
+000000214719
+000000341168
+000000201425
+000000029697
+000000502534
+000000160415
+000000455044
+000000042534
+000000266536
+000000052145
+000000133030
+000000465449
+000000455136
+000000202752
+000000382102
+000000357996
+000000262030
+000000270554
+000000132059
+000000248712
+000000431146
+000000204562
+000000410608
+000000032639
+000000048641
+000000095079
+000000287651
+000000291788
+000000099988
+000000050636
+000000303507
+000000437789
+000000220654
+000000420819
+000000562937
+000000468844
+000000429335
+000000356828
+000000505597
+000000119630
+000000260206
+000000399542
+000000411703
+000000518901
+000000279182
+000000394974
+000000224908
+000000110111
+000000313517
+000000264381
+000000265826
+000000369637
+000000008336
+000000231844
+000000511644
+000000439738
+000000131059
+000000433224
+000000213021
+000000230702
+000000082721
+000000036238
+000000405314
+000000096481
+000000312154
+000000117360
+000000167234
+000000531406
+000000285825
+000000118399
+000000566189
+000000074096
+000000219339
+000000078035
+000000216072
+000000536366
+000000329966
+000000026522
+000000318187
+000000360263
+000000474430
+000000538671
+000000541421
+000000578411
+000000413312
+000000512840
+000000576483
+000000195916
+000000430338
+000000257105
+000000013145
+000000437138
+000000027270
+000000152749
+000000061034
+000000071857
+000000074336
+000000522886
+000000082488
+000000409454
+000000422121
+000000394523
+000000347702
+000000098529
+000000214507
+000000403394
+000000418699
+000000150244
+000000041366
+000000032193
+000000409027
+000000236197
+000000267624
+000000509679
+000000446303
+000000513573
+000000353284
+000000524905
+000000581739
+000000202572
+000000317795
+000000354897
+000000081085
+000000437467
+000000552966
+000000406155
+000000559565
+000000088025
+000000180167
+000000398053
+000000420627
+000000106915
+000000023696
+000000333181
+000000297984
+000000063261
+000000176935
+000000296706
+000000467071
+000000019647
+000000407019
+000000322557
+000000348483
+000000542548
+000000115856
+000000300424
+000000117139
+000000055524
+000000188902
+000000046250
+000000036477
+000000016009
+000000184698
+000000518883
+000000044294
+000000287858
+000000503023
+000000404486
+000000205124
+000000513397
+000000058405
+000000253866
+000000320808
+000000396685
+000000206274
+000000213219
+000000007522
+000000137589
+000000575857
+000000151054
+000000203405
+000000328504
+000000414850
+000000384197
+000000201925
+000000193251
+000000579917
+000000374897
+000000365073
+000000271986
+000000492705
+000000201698
+000000303928
+000000196985
+000000305713
+000000073774
+000000191381
+000000376443
+000000418352
+000000565947
+000000471504
+000000129995
+000000084536
+000000187434
+000000395444
+000000518807
+000000110507
+000000390290
+000000451909
+000000281427
+000000494264
+000000022448
+000000166356
+000000411436
+000000478250
+000000093570
+000000091719
+000000069512
+000000544009
+000000056312
+000000323812
+000000039993
+000000456351
+000000565296
+000000328121
+000000076026
+000000307662
+000000493333
+000000280324
+000000407487
+000000425063
+000000434525
+000000153980
+000000291102
+000000366171
+000000494684
+000000027108
+000000265713
+000000257263
+000000213349
+000000495122
+000000166335
+000000303361
+000000049878
+000000503183
+000000571031
+000000465926
+000000201004
+000000010907
+000000365980
+000000391842
+000000547036
+000000128167
+000000578775
+000000403345
+000000376858
+000000146432
+000000484425
+000000487025
+000000427376
+000000526560
+000000245792
+000000441013
+000000171176
+000000409646
+000000098328
+000000336001
+000000178924
+000000378051
+000000203887
+000000268992
+000000367107
+000000106902
+000000164863
+000000326408
+000000262522
+000000485236
+000000480489
+000000128466
+000000498794
+000000311469
+000000544856
+000000068738
+000000165927
+000000285253
+000000079878
+000000462148
+000000313557
+000000167095
+000000073835
+000000552383
+000000476140
+000000111660
+000000031062
+000000280804
+000000055460
+000000373109
+000000555627
+000000322822
+000000228984
+000000172376
+000000196977
+000000031568
+000000113313
+000000205572
+000000113654
+000000451809
+000000057586
+000000192885
+000000256668
+000000080455
+000000520005
+000000002315
+000000241528
+000000163743
+000000190407
+000000309280
+000000039711
+000000526645
+000000195761
+000000197859
+000000477719
+000000413782
+000000330051
+000000560138
+000000552352
+000000570209
+000000510609
+000000193105
+000000519112
+000000383873
+000000283043
+000000347933
+000000361054
+000000457335
+000000071549
+000000262519
+000000059996
+000000276829
+000000048719
+000000338327
+000000086916
+000000554168
+000000030421
+000000021061
+000000444598
+000000487009
+000000054959
+000000169309
+000000129456
+000000227270
+000000533462
+000000408248
+000000118598
+000000211115
+000000535978
+000000567390
+000000424788
+000000285448
+000000523580
+000000069325
+000000305832
+000000428244
+000000166811
+000000282328
+000000303308
+000000426309
+000000212181
+000000086877
+000000176849
+000000211613
+000000418757
+000000157168
+000000552149
+000000005667
+000000251577
+000000140761
+000000181975
+000000333106
+000000028976
+000000108384
+000000189257
+000000233938
+000000532759
+000000091113
+000000297976
+000000289912
+000000320008
+000000328847
+000000366316
+000000363194
+000000213881
+000000235200
+000000494550
+000000171086
+000000308605
+000000479129
+000000224701
+000000466681
+000000188718
+000000466352
+000000457522
+000000042321
+000000186121
+000000559449
+000000031418
+000000532673
+000000102755
+000000254028
+000000140988
+000000339295
+000000204288
+000000564733
+000000020475
+000000579206
+000000202426
+000000017676
+000000218846
+000000574251
+000000421307
+000000203035
+000000267583
+000000225587
+000000083161
+000000399680
+000000338057
+000000064822
+000000323790
+000000032566
+000000195703
+000000485025
+000000347235
+000000281273
+000000011506
+000000166998
+000000156556
+000000352884
+000000247929
+000000381247
+000000254432
+000000045617
+000000553588
+000000525698
+000000043448
+000000154745
+000000544071
+000000383762
+000000077282
+000000233075
+000000307781
+000000116453
+000000007772
+000000172886
+000000436585
+000000439303
+000000280007
+000000308641
+000000532037
+000000342919
+000000390627
+000000378795
+000000271729
+000000204514
+000000386350
+000000432119
+000000324033
+000000427888
+000000105318
+000000259519
+000000120918
+000000185716
+000000097513
+000000331646
+000000530782
+000000399001
+000000117841
+000000055465
+000000339495
+000000079298
+000000488853
+000000042366
+000000227667
+000000336762
+000000489605
+000000098693
+000000320947
+000000387360
+000000557252
+000000492719
+000000536375
+000000503595
+000000115331
+000000171444
+000000489909
+000000149078
+000000446470
+000000469294
+000000527618
+000000447091
+000000407970
+000000143010
+000000054837
+000000119210
+000000194322
+000000047944
+000000205214
+000000524954
+000000552089
+000000188136
+000000382012
+000000103580
+000000013547
+000000313286
+000000155003
+000000162914
+000000124190
+000000193148
+000000149376
+000000240069
+000000436941
+000000485773
+000000387575
+000000301727
+000000128670
+000000503356
+000000136542
+000000359843
+000000574207
+000000197941
+000000399752
+000000518664
+000000011042
+000000242286
+000000341804
+000000579134
+000000256513
+000000369731
+000000329245
+000000167758
+000000117203
+000000016606
+000000358134
+000000093708
+000000072237
+000000293340
+000000061076
+000000489899
+000000039312
+000000255453
+000000576422
+000000073688
+000000079808
+000000314965
+000000465204
+000000500559
+000000487018
+000000524211
+000000522611
+000000026630
+000000383341
+000000171467
+000000279104
+000000141448
+000000575704
+000000280911
+000000469632
+000000079501
+000000166320
+000000388616
+000000301595
+000000558055
+000000380189
+000000578950
+000000373578
+000000571504
+000000315232
+000000246794
+000000579043
+000000252208
+000000512948
+000000101647
+000000510449
+000000089534
+000000212602
+000000102320
+000000088080
+000000267978
+000000188329
+000000211230
+000000123415
+000000575511
+000000312205
+000000252608
+000000529549
+000000563986
+000000496283
+000000131171
+000000413240
+000000414122
+000000218012
+000000429946
+000000097159
+000000206830
+000000538411
+000000068570
+000000357891
+000000437714
+000000114077
+000000238843
+000000468287
+000000483330
+000000200724
+000000228541
+000000551154
+000000005362
+000000325684
+000000166403
+000000466772
+000000168609
+000000064626
+000000096643
+000000508200
+000000068894
+000000283744
+000000106401
+000000446006
+000000544380
+000000521256
+000000189295
+000000238639
+000000110004
+000000147453
+000000193410
+000000190022
+000000266503
+000000063290
+000000565235
+000000226069
+000000098854
+000000198631
+000000127882
+000000433413
+000000145280
+000000205906
+000000122936
+000000126296
+000000541435
+000000501369
+000000053573
+000000009398
+000000149422
+000000030911
+000000178524
+000000452783
+000000169529
+000000030535
+000000119706
+000000227847
+000000455952
+000000534037
+000000056772
+000000510915
+000000465049
+000000467873
+000000507879
+000000471837
+000000543281
+000000316856
+000000416325
+000000456732
+000000152483
+000000221700
+000000571215
+000000483849
+000000015759
+000000056212
+000000384111
+000000527501
+000000036481
+000000255928
+000000278860
+000000220270
+000000503541
+000000092051
+000000394715
+000000506270
+000000354530
+000000434665
+000000286537
+000000393422
+000000124718
+000000532083
+000000059868
+000000323295
+000000437810
+000000037717
+000000359762
+000000529203
+000000502084
+000000211113
+000000351062
+000000313820
+000000140588
+000000465092
+000000389705
+000000445131
+000000392537
+000000268233
+000000099741
+000000205898
+000000395838
+000000233537
+000000013160
+000000469894
+000000261071
+000000564707
+000000138810
+000000142581
+000000372717
+000000215488
+000000350328
+000000387906
+000000197401
+000000510423
+000000101951
+000000309491
+000000183409
+000000158306
+000000524144
+000000317169
+000000078554
+000000183352
+000000206548
+000000396311
+000000090724
+000000207675
+000000397075
+000000246275
+000000147196
+000000086832
+000000293832
+000000040418
+000000443513
+000000564883
+000000116370
+000000386786
+000000202587
+000000272487
+000000277498
+000000246184
+000000202783
+000000435279
+000000547284
+000000137730
+000000305626
+000000058553
+000000292921
+000000258315
+000000188345
+000000056486
+000000210467
+000000352334
+000000157789
+000000523315
+000000257502
+000000436023
+000000423327
+000000163370
+000000157610
+000000066505
+000000254005
+000000149630
+000000207916
+000000322845
+000000135319
+000000299550
+000000225986
+000000469173
+000000252699
+000000542502
+000000325145
+000000257941
+000000027550
+000000230148
+000000189351
+000000237699
+000000415376
+000000402559
+000000284578
+000000494335
+000000001505
+000000358048
+000000077979
+000000069526
+000000412167
+000000385666
+000000302855
+000000000715
+000000171120
+000000501889
+000000284686
+000000158848
+000000058861
+000000335376
+000000356533
+000000337338
+000000333126
+000000029268
+000000476109
+000000031730
+000000392062
+000000032516
+000000107167
+000000233638
+000000456737
+000000279300
+000000477265
+000000029753
+000000203955
+000000266370
+000000297152
+000000384901
+000000093007
+000000026725
+000000475318
+000000256660
+000000066087
+000000182436
+000000013769
+000000327551
+000000144635
+000000076254
+000000193074
+000000112329
+000000322692
+000000487962
+000000055458
+000000225075
+000000209931
+000000440991
+000000071621
+000000018864
+000000472783
+000000299722
+000000342843
+000000365471
+000000167645
+000000216820
+000000071727
+000000091130
+000000493408
+000000302052
+000000518110
+000000472700
+000000149546
+000000103042
+000000364374
+000000475033
+000000104232
+000000292810
+000000076477
+000000302278
+000000521225
+000000524263
+000000441225
+000000350794
+000000382951
+000000171235
+000000340126
+000000058161
+000000478029
+000000452308
+000000485705
+000000456009
+000000502279
+000000168190
+000000257923
+000000085782
+000000026297
+000000292499
+000000367285
+000000538001
+000000360948
+000000221685
+000000471578
+000000223660
+000000471082
+000000205474
+000000502540
+000000323369
+000000096354
+000000274792
+000000159028
+000000299495
+000000411475
+000000209144
+000000047638
+000000368363
+000000171349
+000000553772
+000000356478
+000000432201
+000000309949
+000000114398
+000000304159
+000000289583
+000000362483
+000000519490
+000000337479
+000000540259
+000000415447
+000000513999
+000000142280
+000000160103
+000000496604
+000000532989
+000000177247
+000000035303
+000000330265
+000000255480
+000000259959
+000000194288
+000000230462
+000000555882
+000000058431
+000000560412
+000000050725
+000000180046
+000000184101
+000000121994
+000000092009
+000000579034
+000000252724
+000000561300
+000000068411
+000000213911
+000000076462
+000000396625
+000000157809
+000000483806
+000000006481
+000000399618
+000000133995
+000000144349
+000000249365
+000000044741
+000000362329
+000000017761
+000000118927
+000000524621
+000000208513
+000000052155
+000000398004
+000000551677
+000000378712
+000000294138
+000000165874
+000000009186
+000000206216
+000000442724
+000000038771
+000000332891
+000000492506
+000000330402
+000000146237
+000000294615
+000000375544
+000000281281
+000000309402
+000000109216
+000000000670
+000000120819
+000000224895
+000000134413
+000000175270
+000000509588
+000000331329
+000000169606
+000000481876
+000000146503
+000000021921
+000000495502
+000000015566
+000000553097
+000000214119
+000000053426
+000000488150
+000000026685
+000000263268
+000000530461
+000000159456
+000000451621
+000000353175
+000000083331
+000000242362
+000000342294
+000000363228
+000000527879
+000000217823
+000000201770
+000000564043
+000000310804
+000000046085
+000000045634
+000000237041
+000000513127
+000000372560
+000000338521
+000000062540
+000000363078
+000000035573
+000000107129
+000000076856
+000000206068
+000000221533
+000000048460
+000000391831
+000000027329
+000000404795
+000000158088
+000000067496
+000000513342
+000000046255
+000000437564
+000000469609
+000000059738
+000000553108
+000000414870
+000000252549
+000000567290
+000000067697
+000000350629
+000000235652
+000000091080
+000000382339
+000000044467
+000000473030
+000000419558
+000000479102
+000000002197
+000000162598
+000000335284
+000000185276
+000000383730
+000000177449
+000000493121
+000000267146
+000000416641
+000000521352
+000000432258
+000000144484
+000000556726
+000000032779
+000000361660
+000000386584
+000000418151
+000000015552
+000000144475
+000000174412
+000000404886
+000000353282
+000000188236
+000000008531
+000000387202
+000000180232
+000000423309
+000000149890
+000000304240
+000000027852
+000000310344
+000000007095
+000000045057
+000000395130
+000000452543
+000000069215
+000000278229
+000000331097
+000000514180
+000000399835
+000000338427
+000000057107
+000000278570
+000000375054
+000000369170
+000000499237
+000000505493
+000000162200
+000000290425
+000000577738
+000000265819
+000000571808
+000000426824
+000000094885
+000000429765
+000000074787
+000000230687
+000000494398
+000000158952
+000000531910
+000000245631
+000000337365
+000000520758
+000000578652
+000000510611
+000000562879
+000000164830
+000000366421
+000000449677
+000000432529
+000000276554
+000000340333
+000000230490
+000000066700
+000000474732
+000000123836
+000000199719
+000000454336
+000000223374
+000000211040
+000000286524
+000000461871
+000000064794
+000000507815
+000000142733
+000000488388
+000000442473
+000000135206
+000000046065
+000000031885
+000000272441
+000000558849
+000000197853
+000000165202
+000000386700
+000000463583
+000000028385
+000000121665
+000000260510
+000000519578
+000000071911
+000000517565
+000000504187
+000000043464
+000000548957
+000000114164
+000000531719
+000000456422
+000000512289
+000000278183
+000000351976
+000000553126
+000000576464
+000000524404
+000000008006
+000000175743
+000000481120
+000000576533
+000000047316
+000000332315
+000000478738
+000000533125
+000000028508
+000000387833
+000000180363
+000000416356
+000000211397
+000000436837
+000000240698
+000000403482
+000000427632
+000000368268
+000000410231
+000000106644
+000000059110
+000000285914
+000000486026
+000000291587
+000000347957
+000000176521
+000000062020
+000000556497
+000000244872
+000000560047
+000000451952
+000000113638
+000000150787
+000000215421
+000000533678
+000000434771
+000000223035
+000000114694
+000000255272
+000000244369
+000000235038
+000000253852
+000000560358
+000000338964
+000000382291
+000000167599
+000000178440
+000000152663
+000000067941
+000000274360
+000000431967
+000000270323
+000000521107
+000000244141
+000000004579
+000000324448
+000000435883
+000000135976
+000000365464
+000000217799
+000000369721
+000000343599
+000000026002
+000000551063
+000000344817
+000000506971
+000000004079
+000000116731
+000000535844
+000000101862
+000000415363
+000000560186
+000000245112
+000000517545
+000000298427
+000000448114
+000000053931
+000000070688
+000000579968
+000000199427
+000000203653
+000000037382
+000000492055
+000000527407
+000000152795
+000000272804
+000000110567
+000000531308
+000000057919
+000000416739
+000000196518
+000000143522
+000000180911
+000000210136
+000000033243
+000000274184
+000000438926
+000000302513
+000000255859
+000000134724
+000000338989
+000000557266
+000000273772
+000000013228
+000000425179
+000000492299
+000000328814
+000000060993
+000000139698
+000000401393
+000000146128
+000000131351
+000000532916
+000000243000
+000000576709
+000000088456
+000000518100
+000000545903
+000000520435
+000000081155
+000000216569
+000000070931
+000000106935
+000000572894
+000000183276
+000000136111
+000000407767
+000000104449
+000000471043
+000000050219
+000000403424
+000000416326
+000000163130
+000000146301
+000000356064
+000000405440
+000000038079
+000000147537
+000000006631
+000000368780
+000000170024
+000000285263
+000000164710
+000000432430
+000000010858
+000000532445
+000000292278
+000000563725
+000000311424
+000000559356
+000000318741
+000000052386
+000000228907
+000000436464
+000000046185
+000000169273
+000000548768
+000000400311
+000000248018
+000000414111
+000000014783
+000000211303
+000000374947
+000000577405
+000000214261
+000000200727
+000000425573
+000000357700
+000000300032
+000000444141
+000000468087
+000000210193
+000000461480
+000000060316
+000000541219
+000000158179
+000000109928
+000000105784
+000000529804
+000000470426
+000000578203
+000000372161
+000000298913
+000000423396
+000000561357
+000000242907
+000000094175
+000000092109
+000000103865
+000000347925
+000000292907
+000000412330
+000000444672
+000000365094
+000000573151
+000000350084
+000000040878
+000000340348
+000000165921
+000000178796
+000000420598
+000000375208
+000000118306
+000000360529
+000000264962
+000000554534
+000000149117
+000000130884
+000000460901
+000000015693
+000000334373
+000000443034
+000000320951
+000000018014
+000000386683
+000000219249
+000000463305
+000000134213
+000000143096
+000000217511
+000000546164
+000000137591
+000000577524
+000000044996
+000000496869
+000000127726
+000000261085
+000000127543
+000000110926
+000000364457
+000000119194
+000000407768
+000000406805
+000000145073
+000000256721
+000000485080
+000000060400
+000000333090
+000000421794
+000000506943
+000000541456
+000000303508
+000000493210
+000000379161
+000000522061
+000000435182
+000000387546
+000000135741
+000000422406
+000000058797
+000000365301
+000000019167
+000000154654
+000000267476
+000000058726
+000000453857
+000000245662
+000000162182
+000000089849
+000000160025
+000000533179
+000000576736
+000000246913
+000000098969
+000000363248
+000000113495
+000000346932
+000000007224
+000000360441
+000000551602
+000000030600
+000000154614
+000000112117
+000000104865
+000000247921
+000000095300
+000000147236
+000000335415
+000000302872
+000000380872
+000000352533
+000000030307
+000000064915
+000000331059
+000000153901
+000000283968
+000000352576
+000000345499
+000000323925
+000000485422
+000000354291
+000000466787
+000000546932
+000000348019
+000000068482
+000000359458
+000000282855
+000000410236
+000000157551
+000000411082
+000000196118
+000000500829
+000000561681
+000000317640
+000000551598
+000000140999
+000000155035
+000000550099
+000000179019
+000000160886
+000000540564
+000000358799
+000000508577
+000000303079
+000000436319
+000000357509
+000000190568
+000000371174
+000000022747
+000000077025
+000000247699
+000000293252
+000000316293
+000000236294
+000000187972
+000000311099
+000000302572
+000000142487
+000000256552
+000000143820
+000000505592
+000000131894
+000000001792
+000000478195
+000000464784
+000000310532
+000000324334
+000000572206
+000000138397
+000000405400
+000000203748
+000000246646
+000000330979
+000000120875
+000000411068
+000000107814
+000000395531
+000000209322
+000000099316
+000000202931
+000000427909
+000000016410
+000000377864
+000000196995
+000000277907
+000000552919
+000000250075
+000000196229
+000000228678
+000000334736
+000000130637
+000000062210
+000000308977
+000000404095
+000000330536
+000000015802
+000000078000
+000000511569
+000000053842
+000000125298
+000000576941
+000000211756
+000000426459
+000000520674
+000000234463
+000000339356
+000000218447
+000000095822
+000000472803
+000000532531
+000000319396
+000000102275
+000000199150
+000000438429
+000000189015
+000000373218
+000000429996
+000000415039
+000000493136
+000000361381
+000000114479
+000000289821
+000000340024
+000000350799
+000000087677
+000000207264
+000000553962
+000000154725
+000000479886
+000000308168
+000000203178
+000000544427
+000000520858
+000000527759
+000000346093
+000000025751
+000000104898
+000000424532
+000000220630
+000000144200
+000000092064
+000000466449
+000000104809
+000000132193
+000000017235
+000000408479
+000000066866
+000000458810
+000000517211
+000000106557
+000000185819
+000000532773
+000000202545
+000000446069
+000000223242
+000000350134
+000000132041
+000000130970
+000000233245
+000000248168
+000000031578
+000000223293
+000000154878
+000000497701
+000000368764
+000000496093
+000000514697
+000000079905
+000000292242
+000000485441
+000000079696
+000000213156
+000000312682
+000000280257
+000000456236
+000000349907
+000000074964
+000000343452
+000000325600
+000000014967
+000000342478
+000000034531
+000000244582
+000000032990
+000000182369
+000000422395
+000000398628
+000000164565
+000000520341
+000000567198
+000000554569
+000000446265
+000000581715
+000000504970
+000000570215
+000000209006
+000000220054
+000000185494
+000000160243
+000000093571
+000000335289
+000000477434
+000000482037
+000000415222
+000000499324
+000000143334
+000000109995
+000000444082
+000000175390
+000000465559
+000000011554
+000000288453
+000000183405
+000000142856
+000000142201
+000000152255
+000000154155
+000000384535
+000000350475
+000000560976
+000000058253
+000000524531
+000000425536
+000000181681
+000000095777
+000000175210
+000000212440
+000000064802
+000000381858
+000000125473
+000000425582
+000000491765
+000000421822
+000000487191
+000000565053
+000000187563
+000000032328
+000000347748
+000000442143
+000000545678
+000000551875
+000000244666
+000000517294
+000000501756
+000000097099
+000000037157
+000000098197
+000000386632
+000000530479
+000000340699
+000000149284
+000000026323
+000000221330
+000000467909
+000000350242
+000000525462
+000000131453
+000000277706
+000000113325
+000000508456
+000000241786
+000000084324
+000000302932
+000000491259
+000000039181
+000000481648
+000000014820
+000000340528
+000000425556
+000000385687
+000000044420
+000000452297
+000000553447
+000000381160
+000000428278
+000000256097
+000000330388
+000000435005
+000000142295
+000000370135
+000000080562
+000000443373
+000000516628
+000000549261
+000000224594
+000000073686
+000000445446
+000000200068
+000000455879
+000000123509
+000000218844
+000000490938
+000000267598
+000000074573
+000000048308
+000000550298
+000000406001
+000000401860
+000000383581
+000000320203
+000000171733
+000000105750
+000000432134
+000000208414
+000000293666
+000000243817
+000000472166
+000000059151
+000000355589
+000000516540
+000000273082
+000000012319
+000000420303
+000000116005
+000000475561
+000000197289
+000000034170
+000000239338
+000000338419
+000000095877
+000000546016
+000000333067
+000000576549
+000000225709
+000000531812
+000000222913
+000000300989
+000000346310
+000000250833
+000000065072
+000000436632
+000000074069
+000000375415
+000000308715
+000000069569
+000000365488
+000000034933
+000000305762
+000000407266
+000000045360
+000000244909
+000000359268
+000000303177
+000000201993
+000000057173
+000000167955
+000000216194
+000000528880
+000000434602
+000000568272
+000000026365
+000000327918
+000000186438
+000000527891
+000000327367
+000000009723
+000000242757
+000000145863
+000000159716
+000000074328
+000000431236
+000000296696
+000000547440
+000000064962
+000000386194
+000000302579
+000000485452
+000000246267
+000000289067
+000000323336
+000000258402
+000000134194
+000000068866
+000000364748
+000000359678
+000000499366
+000000187887
+000000000502
+000000364266
+000000371179
+000000329105
+000000453328
+000000277055
+000000327628
+000000533011
+000000165479
+000000182377
+000000503097
+000000316696
+000000270326
+000000345357
+000000439777
+000000308366
+000000361933
+000000030805
+000000482721
+000000020796
+000000063381
+000000316917
+000000378007
+000000146601
+000000565365
+000000427560
+000000226300
+000000369082
+000000063408
+000000046055
+000000295370
+000000186785
+000000581042
+000000477389
+000000346839
+000000452179
+000000332777
+000000273576
+000000262752
+000000304528
+000000267182
+000000400378
+000000538861
+000000436287
+000000029182
+000000361481
+000000241068
+000000512845
+000000235945
+000000188612
+000000357626
+000000287842
+000000296348
+000000411695
+000000278753
+000000550729
+000000484103
+000000433196
+000000183788
+000000311476
+000000187331
+000000203359
+000000367460
+000000546300
+000000324116
+000000238960
+000000261496
+000000428599
+000000239350
+000000478609
+000000384523
+000000243028
+000000311206
+000000009763
+000000148394
+000000538407
+000000105152
+000000263039
+000000125318
+000000430065
+000000564550
+000000567899
+000000433472
+000000549287
+000000128121
+000000433951
+000000006753
+000000232574
+000000531444
+000000278962
+000000004038
+000000338321
+000000281442
+000000503637
+000000228749
+000000256546
+000000164343
+000000547388
+000000514241
+000000453509
+000000233840
+000000202438
diff --git a/datasets/voc_coco_ann/ImageSets/Main/voc_coco_15000_test.txt b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_15000_test.txt
new file mode 100644
index 0000000..30177c1
--- /dev/null
+++ b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_15000_test.txt
@@ -0,0 +1,4952 @@
+000001
+000002
+000003
+000004
+000006
+000008
+000010
+000011
+000013
+000014
+000015
+000018
+000022
+000025
+000027
+000028
+000029
+000031
+000037
+000038
+000040
+000043
+000045
+000049
+000053
+000054
+000055
+000056
+000057
+000058
+000059
+000062
+000067
+000068
+000069
+000070
+000071
+000074
+000075
+000076
+000079
+000080
+000082
+000084
+000085
+000086
+000087
+000088
+000090
+000092
+000094
+000096
+000097
+000098
+000100
+000103
+000105
+000106
+000108
+000111
+000114
+000115
+000116
+000119
+000124
+000126
+000127
+000128
+000135
+000136
+000137
+000139
+000144
+000145
+000148
+000149
+000151
+000152
+000155
+000157
+000160
+000166
+000167
+000168
+000172
+000175
+000176
+000178
+000179
+000181
+000182
+000183
+000185
+000186
+000188
+000191
+000195
+000196
+000197
+000199
+000201
+000202
+000204
+000205
+000206
+000212
+000213
+000216
+000217
+000223
+000226
+000227
+000230
+000231
+000234
+000237
+000238
+000239
+000240
+000243
+000247
+000248
+000252
+000253
+000254
+000255
+000258
+000260
+000261
+000264
+000265
+000267
+000271
+000272
+000273
+000274
+000277
+000279
+000280
+000281
+000283
+000284
+000286
+000287
+000290
+000291
+000292
+000293
+000295
+000297
+000299
+000300
+000301
+000309
+000310
+000313
+000314
+000315
+000316
+000319
+000324
+000326
+000327
+000330
+000333
+000335
+000339
+000341
+000342
+000345
+000346
+000348
+000350
+000351
+000353
+000356
+000357
+000358
+000360
+000361
+000362
+000364
+000365
+000366
+000368
+000369
+000371
+000375
+000376
+000377
+000378
+000383
+000384
+000385
+000386
+000388
+000389
+000390
+000392
+000393
+000397
+000398
+000399
+000401
+000402
+000405
+000409
+000410
+000412
+000413
+000414
+000415
+000418
+000421
+000422
+000423
+000425
+000426
+000429
+000432
+000434
+000436
+000437
+000440
+000441
+000442
+000444
+000445
+000447
+000449
+000451
+000452
+000453
+000455
+000456
+000457
+000458
+000465
+000466
+000467
+000471
+000472
+000473
+000475
+000478
+000479
+000481
+000485
+000487
+000488
+000490
+000493
+000495
+000497
+000502
+000504
+000505
+000506
+000507
+000510
+000511
+000512
+000517
+000521
+000527
+000529
+000532
+000533
+000534
+000536
+000538
+000539
+000542
+000546
+000547
+000548
+000551
+000553
+000556
+000557
+000558
+000560
+000561
+000562
+000566
+000567
+000568
+000569
+000570
+000571
+000572
+000573
+000574
+000575
+000576
+000578
+000580
+000584
+000585
+000586
+000587
+000593
+000594
+000595
+000596
+000600
+000602
+000603
+000604
+000606
+000607
+000611
+000614
+000615
+000616
+000617
+000618
+000621
+000623
+000624
+000627
+000629
+000630
+000631
+000634
+000636
+000638
+000639
+000640
+000641
+000642
+000643
+000644
+000646
+000649
+000650
+000651
+000652
+000655
+000658
+000659
+000662
+000664
+000665
+000666
+000668
+000669
+000670
+000673
+000674
+000678
+000679
+000681
+000683
+000687
+000691
+000692
+000693
+000696
+000697
+000698
+000701
+000703
+000704
+000706
+000708
+000715
+000716
+000718
+000719
+000721
+000722
+000723
+000724
+000725
+000727
+000732
+000734
+000735
+000736
+000737
+000741
+000743
+000744
+000745
+000747
+000749
+000751
+000757
+000758
+000759
+000762
+000765
+000766
+000769
+000773
+000775
+000778
+000779
+000781
+000783
+000784
+000785
+000788
+000789
+000790
+000792
+000795
+000798
+000801
+000803
+000807
+000809
+000811
+000813
+000817
+000819
+000821
+000824
+000825
+000833
+000835
+000836
+000837
+000838
+000839
+000840
+000841
+000844
+000846
+000852
+000853
+000856
+000858
+000861
+000864
+000866
+000869
+000870
+000873
+000875
+000877
+000881
+000883
+000884
+000886
+000890
+000891
+000893
+000894
+000897
+000901
+000905
+000907
+000909
+000910
+000913
+000914
+000916
+000922
+000924
+000925
+000927
+000928
+000930
+000932
+000933
+000938
+000939
+000940
+000941
+000942
+000944
+000945
+000952
+000953
+000955
+000956
+000957
+000959
+000960
+000961
+000963
+000968
+000969
+000970
+000974
+000975
+000976
+000978
+000979
+000981
+000983
+000984
+000985
+000986
+000988
+000990
+000992
+000994
+000995
+000998
+001000
+001003
+001005
+001006
+001007
+001013
+001016
+001019
+001020
+001021
+001022
+001023
+001025
+001026
+001029
+001030
+001031
+001032
+001033
+001034
+001035
+001037
+001038
+001039
+001040
+001044
+001046
+001047
+001048
+001049
+001051
+001054
+001055
+001058
+001059
+001063
+001065
+001067
+001070
+001075
+001076
+001080
+001081
+001085
+001086
+001087
+001088
+001089
+001090
+001094
+001095
+001096
+001098
+001099
+001100
+001103
+001105
+001108
+001111
+001114
+001115
+001116
+001117
+001118
+001120
+001122
+001123
+001126
+001128
+001131
+001132
+001133
+001134
+001135
+001138
+001139
+001141
+001146
+001150
+001153
+001155
+001157
+001159
+001162
+001163
+001165
+001167
+001169
+001173
+001177
+001178
+001179
+001180
+001181
+001183
+001188
+001189
+001190
+001193
+001195
+001196
+001197
+001198
+001202
+001208
+001210
+001213
+001216
+001217
+001218
+001219
+001220
+001222
+001223
+001227
+001228
+001232
+001235
+001238
+001242
+001243
+001244
+001245
+001246
+001249
+001251
+001252
+001253
+001255
+001256
+001257
+001261
+001262
+001264
+001267
+001271
+001275
+001276
+001278
+001280
+001282
+001283
+001285
+001291
+001295
+001296
+001297
+001300
+001301
+001302
+001303
+001305
+001306
+001307
+001308
+001313
+001317
+001318
+001319
+001320
+001321
+001322
+001328
+001329
+001331
+001335
+001336
+001338
+001339
+001340
+001342
+001344
+001347
+001349
+001351
+001353
+001354
+001355
+001356
+001357
+001358
+001359
+001363
+001366
+001367
+001368
+001369
+001370
+001372
+001373
+001374
+001376
+001377
+001379
+001380
+001381
+001382
+001389
+001391
+001392
+001394
+001396
+001398
+001399
+001401
+001403
+001407
+001410
+001411
+001412
+001415
+001416
+001417
+001419
+001422
+001423
+001424
+001425
+001428
+001429
+001431
+001433
+001435
+001437
+001438
+001440
+001446
+001447
+001448
+001449
+001452
+001454
+001456
+001458
+001459
+001461
+001462
+001469
+001471
+001473
+001474
+001476
+001477
+001478
+001482
+001487
+001489
+001491
+001495
+001496
+001500
+001502
+001503
+001505
+001506
+001507
+001508
+001511
+001513
+001516
+001518
+001519
+001520
+001525
+001527
+001530
+001533
+001534
+001535
+001538
+001540
+001542
+001546
+001547
+001549
+001550
+001551
+001552
+001558
+001560
+001562
+001564
+001566
+001567
+001568
+001569
+001570
+001572
+001573
+001574
+001575
+001578
+001581
+001583
+001584
+001585
+001587
+001589
+001591
+001592
+001596
+001599
+001600
+001601
+001602
+001605
+001606
+001609
+001613
+001615
+001616
+001619
+001620
+001621
+001623
+001624
+001625
+001626
+001629
+001631
+001634
+001635
+001637
+001639
+001641
+001644
+001645
+001646
+001648
+001652
+001655
+001656
+001657
+001658
+001659
+001660
+001663
+001664
+001665
+001666
+001667
+001668
+001670
+001671
+001672
+001674
+001679
+001681
+001687
+001692
+001694
+001695
+001696
+001697
+001698
+001700
+001701
+001702
+001703
+001704
+001705
+001706
+001709
+001710
+001712
+001715
+001716
+001719
+001720
+001722
+001728
+001731
+001735
+001736
+001737
+001740
+001742
+001743
+001744
+001745
+001748
+001751
+001753
+001757
+001760
+001762
+001763
+001764
+001767
+001769
+001770
+001773
+001774
+001776
+001779
+001781
+001783
+001786
+001788
+001790
+001791
+001792
+001794
+001796
+001798
+001802
+001803
+001804
+001805
+001808
+001811
+001812
+001813
+001814
+001815
+001817
+001819
+001820
+001822
+001823
+001824
+001826
+001829
+001831
+001835
+001838
+001839
+001844
+001846
+001848
+001850
+001851
+001852
+001856
+001857
+001859
+001863
+001865
+001866
+001867
+001868
+001869
+001871
+001873
+001874
+001876
+001879
+001880
+001883
+001884
+001885
+001886
+001889
+001890
+001891
+001893
+001895
+001897
+001900
+001905
+001908
+001909
+001910
+001912
+001913
+001914
+001916
+001917
+001919
+001921
+001923
+001924
+001925
+001926
+001929
+001935
+001939
+001942
+001943
+001946
+001947
+001949
+001951
+001953
+001955
+001956
+001957
+001959
+001961
+001965
+001966
+001967
+001968
+001969
+001973
+001974
+001975
+001979
+001983
+001984
+001986
+001987
+001988
+001990
+001991
+001992
+001993
+001994
+001996
+001997
+001998
+002003
+002005
+002007
+002008
+002009
+002010
+002013
+002014
+002016
+002017
+002018
+002026
+002028
+002029
+002031
+002032
+002033
+002035
+002038
+002040
+002041
+002044
+002046
+002048
+002050
+002052
+002053
+002057
+002059
+002060
+002062
+002065
+002066
+002071
+002072
+002073
+002074
+002075
+002076
+002077
+002078
+002079
+002080
+002081
+002084
+002085
+002087
+002089
+002092
+002093
+002097
+002100
+002103
+002105
+002106
+002107
+002110
+002111
+002113
+002115
+002118
+002119
+002121
+002122
+002123
+002127
+002128
+002130
+002131
+002133
+002137
+002138
+002141
+002143
+002144
+002147
+002148
+002149
+002150
+002154
+002157
+002159
+002160
+002161
+002162
+002164
+002167
+002168
+002173
+002175
+002177
+002185
+002188
+002189
+002195
+002198
+002200
+002203
+002204
+002205
+002206
+002207
+002210
+002211
+002216
+002217
+002222
+002223
+002225
+002227
+002229
+002230
+002231
+002232
+002235
+002236
+002239
+002240
+002242
+002243
+002245
+002246
+002250
+002252
+002254
+002258
+002262
+002264
+002269
+002271
+002274
+002275
+002282
+002283
+002286
+002289
+002292
+002294
+002295
+002296
+002297
+002298
+002299
+002301
+002303
+002304
+002309
+002312
+002313
+002314
+002316
+002317
+002319
+002322
+002325
+002326
+002327
+002331
+002336
+002338
+002339
+002341
+002344
+002346
+002349
+002351
+002353
+002356
+002357
+002358
+002360
+002363
+002365
+002370
+002379
+002380
+002381
+002383
+002386
+002388
+002389
+002390
+002394
+002395
+002396
+002397
+002398
+002399
+002400
+002402
+002406
+002408
+002409
+002412
+002414
+002416
+002418
+002421
+002422
+002424
+002426
+002428
+002429
+002430
+002431
+002432
+002434
+002438
+002440
+002446
+002447
+002449
+002451
+002453
+002455
+002457
+002463
+002464
+002467
+002469
+002473
+002474
+002475
+002482
+002484
+002485
+002486
+002487
+002488
+002489
+002495
+002498
+002499
+002503
+002506
+002507
+002509
+002510
+002511
+002515
+002516
+002517
+002521
+002522
+002526
+002527
+002528
+002530
+002531
+002532
+002535
+002536
+002538
+002541
+002543
+002548
+002550
+002551
+002552
+002553
+002556
+002557
+002560
+002562
+002568
+002570
+002573
+002574
+002575
+002576
+002577
+002580
+002581
+002582
+002583
+002587
+002588
+002591
+002592
+002596
+002597
+002601
+002602
+002604
+002607
+002608
+002610
+002612
+002614
+002616
+002617
+002619
+002620
+002622
+002623
+002624
+002626
+002628
+002629
+002630
+002631
+002638
+002639
+002640
+002642
+002644
+002650
+002651
+002652
+002654
+002655
+002656
+002660
+002661
+002663
+002665
+002671
+002672
+002673
+002674
+002676
+002679
+002681
+002685
+002686
+002687
+002688
+002692
+002694
+002698
+002700
+002701
+002703
+002705
+002707
+002708
+002711
+002712
+002716
+002719
+002720
+002724
+002725
+002726
+002728
+002729
+002731
+002733
+002736
+002739
+002740
+002742
+002743
+002746
+002748
+002750
+002752
+002753
+002754
+002756
+002758
+002761
+002764
+002768
+002769
+002770
+002771
+002773
+002777
+002780
+002781
+002787
+002788
+002789
+002790
+002792
+002793
+002797
+002799
+002802
+002805
+002806
+002808
+002809
+002811
+002813
+002814
+002818
+002819
+002821
+002822
+002823
+002824
+002825
+002828
+002829
+002830
+002831
+002832
+002837
+002839
+002840
+002843
+002846
+002849
+002850
+002851
+002852
+002853
+002856
+002857
+002860
+002861
+002862
+002863
+002865
+002871
+002872
+002874
+002876
+002877
+002878
+002882
+002883
+002885
+002887
+002888
+002890
+002892
+002894
+002895
+002897
+002898
+002900
+002902
+002903
+002904
+002905
+002907
+002908
+002909
+002911
+002918
+002920
+002921
+002922
+002923
+002925
+002926
+002927
+002928
+002929
+002930
+002936
+002945
+002948
+002949
+002950
+002951
+002955
+002959
+002961
+002964
+002968
+002970
+002971
+002972
+002973
+002974
+002979
+002980
+002981
+002982
+002983
+002985
+002991
+002993
+002996
+002997
+002998
+002999
+003001
+003006
+003010
+003012
+003014
+003016
+003018
+003019
+003020
+003022
+003025
+003026
+003029
+003030
+003033
+003035
+003036
+003037
+003040
+003041
+003043
+003046
+003048
+003049
+003050
+003052
+003055
+003059
+003060
+003062
+003067
+003068
+003069
+003070
+003071
+003073
+003075
+003076
+003079
+003080
+003081
+003084
+003087
+003091
+003095
+003096
+003097
+003099
+003101
+003104
+003109
+003111
+003113
+003114
+003115
+003119
+003123
+003125
+003128
+003130
+003131
+003132
+003136
+003139
+003141
+003143
+003144
+003148
+003151
+003152
+003153
+003156
+003158
+003160
+003166
+003167
+003168
+003171
+003172
+003173
+003174
+003179
+003180
+003182
+003187
+003190
+003191
+003192
+003193
+003196
+003197
+003198
+003201
+003203
+003206
+003208
+003209
+003212
+003215
+003217
+003220
+003221
+003222
+003224
+003225
+003226
+003227
+003230
+003232
+003234
+003235
+003237
+003238
+003241
+003245
+003246
+003248
+003249
+003251
+003252
+003257
+003263
+003264
+003265
+003266
+003267
+003268
+003275
+003276
+003277
+003278
+003281
+003283
+003286
+003287
+003288
+003289
+003291
+003295
+003297
+003298
+003302
+003304
+003305
+003306
+003309
+003310
+003312
+003314
+003315
+003317
+003318
+003319
+003321
+003322
+003323
+003324
+003326
+003328
+003329
+003332
+003333
+003334
+003340
+003341
+003342
+003345
+003346
+003347
+003348
+003352
+003353
+003357
+003358
+003361
+003364
+003366
+003368
+003371
+003372
+003375
+003378
+003381
+003383
+003384
+003385
+003387
+003388
+003389
+003393
+003394
+003399
+003400
+003402
+003405
+003409
+003411
+003414
+003418
+003423
+003426
+003427
+003428
+003431
+003432
+003434
+003437
+003438
+003440
+003442
+003445
+003446
+003447
+003448
+003454
+003456
+003457
+003459
+003460
+003463
+003467
+003471
+003472
+003473
+003474
+003475
+003476
+003478
+003479
+003480
+003481
+003482
+003483
+003485
+003486
+003488
+003490
+003494
+003495
+003498
+003501
+003502
+003503
+003504
+003505
+003507
+003512
+003513
+003514
+003515
+003517
+003520
+003523
+003526
+003527
+003531
+003532
+003533
+003534
+003535
+003538
+003540
+003541
+003542
+003543
+003544
+003545
+003547
+003552
+003553
+003557
+003558
+003559
+003560
+003561
+003562
+003563
+003568
+003569
+003570
+003571
+003572
+003573
+003574
+003578
+003579
+003581
+003582
+003583
+003584
+003590
+003591
+003592
+003595
+003598
+003600
+003601
+003602
+003607
+003610
+003612
+003613
+003615
+003616
+003617
+003619
+003624
+003626
+003630
+003631
+003633
+003637
+003641
+003643
+003647
+003649
+003650
+003652
+003653
+003659
+003661
+003665
+003666
+003668
+003670
+003672
+003676
+003677
+003680
+003682
+003683
+003686
+003687
+003689
+003692
+003693
+003697
+003701
+003702
+003707
+003710
+003712
+003715
+003716
+003718
+003719
+003720
+003723
+003724
+003725
+003726
+003728
+003730
+003731
+003733
+003734
+003736
+003737
+003738
+003739
+003741
+003742
+003744
+003745
+003746
+003747
+003755
+003756
+003757
+003761
+003762
+003764
+003765
+003766
+003768
+003769
+003770
+003771
+003775
+003776
+003777
+003778
+003782
+003785
+003787
+003789
+003794
+003795
+003799
+003800
+003801
+003802
+003804
+003805
+003810
+003812
+003813
+003815
+003816
+003819
+003822
+003823
+003825
+003829
+003831
+003832
+003833
+003836
+003839
+003840
+003841
+003842
+003843
+003850
+003851
+003852
+003853
+003854
+003858
+003862
+003864
+003867
+003870
+003873
+003875
+003878
+003880
+003881
+003882
+003883
+003884
+003888
+003892
+003893
+003894
+003896
+003897
+003900
+003901
+003902
+003903
+003904
+003906
+003908
+003909
+003910
+003914
+003916
+003917
+003920
+003922
+003925
+003927
+003928
+003929
+003930
+003931
+003933
+003934
+003938
+003940
+003942
+003943
+003944
+003950
+003951
+003952
+003955
+003958
+003959
+003962
+003964
+003967
+003968
+003972
+003975
+003976
+003977
+003978
+003980
+003981
+003982
+003985
+003989
+003995
+003999
+004000
+004001
+004002
+004004
+004006
+004007
+004018
+004021
+004022
+004024
+004026
+004027
+004029
+004030
+004032
+004036
+004038
+004040
+004041
+004042
+004043
+004044
+004045
+004048
+004049
+004050
+004053
+004054
+004055
+004056
+004059
+004061
+004062
+004063
+004064
+004065
+004068
+004070
+004071
+004072
+004074
+004078
+004079
+004080
+004081
+004083
+004084
+004086
+004088
+004090
+004094
+004096
+004097
+004098
+004099
+004101
+004103
+004104
+004107
+004109
+004112
+004114
+004115
+004116
+004118
+004119
+004123
+004124
+004125
+004126
+004127
+004128
+004130
+004132
+004134
+004139
+004144
+004147
+004151
+004153
+004154
+004155
+004156
+004157
+004159
+004160
+004161
+004162
+004165
+004166
+004167
+004172
+004173
+004175
+004176
+004177
+004179
+004180
+004181
+004182
+004183
+004184
+004187
+004188
+004197
+004198
+004199
+004202
+004206
+004207
+004208
+004210
+004211
+004213
+004214
+004216
+004217
+004218
+004219
+004222
+004225
+004226
+004227
+004233
+004234
+004235
+004236
+004238
+004240
+004243
+004245
+004248
+004249
+004250
+004251
+004252
+004254
+004260
+004261
+004262
+004266
+004267
+004268
+004276
+004277
+004278
+004282
+004285
+004288
+004289
+004290
+004294
+004297
+004299
+004301
+004302
+004305
+004306
+004308
+004309
+004311
+004313
+004314
+004316
+004317
+004319
+004320
+004324
+004328
+004330
+004332
+004334
+004335
+004336
+004337
+004340
+004342
+004343
+004344
+004348
+004350
+004353
+004355
+004357
+004358
+004362
+004363
+004366
+004373
+004374
+004375
+004377
+004378
+004381
+004382
+004383
+004385
+004388
+004393
+004394
+004395
+004398
+004399
+004400
+004401
+004402
+004403
+004406
+004407
+004408
+004410
+004412
+004413
+004414
+004415
+004416
+004417
+004418
+004419
+004420
+004422
+004425
+004426
+004427
+004428
+004431
+004435
+004440
+004442
+004443
+004444
+004445
+004447
+004448
+004449
+004451
+004453
+004454
+004456
+004458
+004460
+004461
+004462
+004465
+004467
+004469
+004472
+004473
+004475
+004476
+004477
+004478
+004480
+004482
+004483
+004485
+004486
+004489
+004491
+004492
+004497
+004501
+004503
+004504
+004505
+004506
+004511
+004513
+004515
+004516
+004521
+004522
+004523
+004525
+004529
+004531
+004533
+004534
+004536
+004538
+004541
+004543
+004545
+004546
+004547
+004550
+004554
+004556
+004557
+004559
+004560
+004561
+004564
+004567
+004568
+004569
+004572
+004573
+004575
+004577
+004578
+004580
+004582
+004583
+004586
+004589
+004590
+004593
+004594
+004596
+004598
+004599
+004602
+004603
+004608
+004610
+004613
+004614
+004615
+004616
+004617
+004619
+004620
+004621
+004624
+004629
+004633
+004635
+004637
+004638
+004639
+004640
+004641
+004642
+004645
+004646
+004650
+004657
+004658
+004659
+004661
+004663
+004664
+004665
+004666
+004667
+004668
+004669
+004670
+004677
+004678
+004680
+004681
+004684
+004688
+004690
+004695
+004696
+004697
+004698
+004700
+004703
+004704
+004709
+004711
+004712
+004713
+004716
+004717
+004720
+004721
+004724
+004725
+004726
+004728
+004729
+004730
+004731
+004733
+004734
+004736
+004738
+004739
+004740
+004741
+004744
+004745
+004749
+004751
+004752
+004755
+004756
+004757
+004758
+004759
+004762
+004763
+004764
+004765
+004766
+004767
+004769
+004771
+004772
+004774
+004775
+004778
+004780
+004781
+004784
+004787
+004791
+004795
+004798
+004800
+004802
+004803
+004804
+004806
+004807
+004809
+004810
+004811
+004813
+004817
+004819
+004820
+004821
+004822
+004824
+004827
+004829
+004833
+004835
+004838
+004843
+004844
+004845
+004847
+004851
+004853
+004854
+004855
+004858
+004860
+004861
+004862
+004864
+004865
+004870
+004871
+004874
+004875
+004877
+004880
+004881
+004883
+004884
+004887
+004888
+004889
+004891
+004892
+004893
+004894
+004899
+004900
+004901
+004904
+004906
+004908
+004909
+004914
+004915
+004917
+004918
+004919
+004920
+004921
+004922
+004923
+004924
+004925
+004927
+004930
+004932
+004933
+004934
+004937
+004940
+004941
+004942
+004944
+004945
+004947
+004949
+004952
+004957
+004959
+004964
+004965
+004969
+004970
+004971
+004975
+004978
+004979
+004980
+004981
+004988
+004989
+004993
+004996
+005000
+005002
+005005
+005008
+005009
+005010
+005011
+005012
+005013
+005015
+005017
+005019
+005021
+005022
+005025
+005030
+005031
+005034
+005035
+005038
+005040
+005041
+005043
+005044
+005046
+005048
+005049
+005050
+005051
+005053
+005059
+005060
+005066
+005069
+005070
+005074
+005075
+005076
+005080
+005082
+005083
+005087
+005088
+005089
+005091
+005092
+005095
+005096
+005098
+005099
+005100
+005103
+005105
+005106
+005109
+005112
+005113
+005115
+005117
+005118
+005119
+005120
+005123
+005125
+005126
+005127
+005132
+005133
+005137
+005139
+005140
+005141
+005142
+005147
+005148
+005149
+005151
+005152
+005154
+005155
+005157
+005158
+005162
+005163
+005164
+005165
+005166
+005167
+005170
+005172
+005174
+005178
+005180
+005182
+005184
+005187
+005188
+005192
+005193
+005194
+005196
+005197
+005198
+005200
+005201
+005204
+005205
+005206
+005207
+005211
+005213
+005216
+005218
+005221
+005225
+005226
+005227
+005228
+005232
+005233
+005234
+005235
+005237
+005238
+005240
+005241
+005243
+005247
+005249
+005250
+005251
+005252
+005255
+005256
+005261
+005265
+005266
+005271
+005272
+005275
+005276
+005277
+005279
+005280
+005282
+005284
+005286
+005287
+005289
+005291
+005294
+005295
+005296
+005299
+005300
+005301
+005302
+005308
+005309
+005313
+005316
+005317
+005321
+005322
+005323
+005324
+005329
+005330
+005332
+005333
+005334
+005335
+005339
+005341
+005342
+005347
+005353
+005354
+005356
+005357
+005359
+005361
+005362
+005364
+005366
+005372
+005375
+005376
+005377
+005381
+005382
+005386
+005390
+005392
+005394
+005399
+005400
+005401
+005402
+005403
+005409
+005411
+005412
+005415
+005422
+005425
+005426
+005427
+005428
+005432
+005435
+005437
+005442
+005443
+005444
+005446
+005447
+005449
+005452
+005456
+005458
+005459
+005460
+005462
+005463
+005464
+005466
+005468
+005472
+005473
+005474
+005476
+005477
+005479
+005480
+005482
+005484
+005488
+005490
+005491
+005492
+005493
+005494
+005495
+005498
+005500
+005501
+005502
+005503
+005504
+005505
+005506
+005512
+005513
+005516
+005520
+005523
+005525
+005528
+005529
+005532
+005533
+005534
+005537
+005538
+005540
+005543
+005545
+005546
+005548
+005551
+005553
+005555
+005556
+005557
+005558
+005560
+005561
+005562
+005564
+005565
+005567
+005569
+005570
+005571
+005572
+005575
+005578
+005580
+005581
+005587
+005589
+005594
+005595
+005596
+005597
+005598
+005602
+005604
+005607
+005610
+005612
+005616
+005617
+005619
+005621
+005622
+005623
+005626
+005627
+005628
+005632
+005633
+005634
+005635
+005638
+005642
+005643
+005646
+005649
+005650
+005651
+005656
+005659
+005661
+005663
+005665
+005666
+005667
+005670
+005671
+005673
+005675
+005677
+005678
+005681
+005683
+005684
+005688
+005689
+005690
+005691
+005692
+005694
+005698
+005703
+005706
+005707
+005708
+005709
+005711
+005712
+005717
+005720
+005721
+005722
+005724
+005725
+005726
+005727
+005733
+005734
+005737
+005739
+005744
+005745
+005746
+005748
+005750
+005751
+005753
+005754
+005758
+005759
+005763
+005766
+005767
+005770
+005771
+005772
+005774
+005775
+005776
+005777
+005778
+005785
+005787
+005792
+005793
+005795
+005797
+005798
+005800
+005801
+005802
+005804
+005807
+005808
+005809
+005810
+005816
+005820
+005822
+005823
+005827
+005832
+005833
+005834
+005835
+005837
+005842
+005844
+005846
+005847
+005848
+005849
+005855
+005857
+005858
+005862
+005865
+005866
+005869
+005870
+005871
+005872
+005876
+005880
+005882
+005883
+005886
+005887
+005890
+005891
+005892
+005896
+005898
+005900
+005902
+005904
+005907
+005913
+005915
+005916
+005921
+005922
+005924
+005925
+005926
+005927
+005929
+005931
+005932
+005933
+005934
+005935
+005936
+005937
+005939
+005941
+005942
+005943
+005944
+005945
+005946
+005949
+005950
+005953
+005955
+005957
+005958
+005959
+005962
+005965
+005966
+005967
+005969
+005972
+005973
+005974
+005976
+005977
+005978
+005982
+005986
+005987
+005993
+005994
+005997
+005999
+006002
+006003
+006006
+006007
+006008
+006010
+006013
+006014
+006015
+006016
+006017
+006019
+006021
+006022
+006024
+006031
+006032
+006034
+006036
+006037
+006039
+006040
+006044
+006047
+006048
+006049
+006050
+006051
+006052
+006053
+006054
+006056
+006057
+006059
+006060
+006063
+006064
+006068
+006072
+006075
+006076
+006077
+006080
+006081
+006082
+006083
+006085
+006086
+006087
+006090
+006092
+006093
+006094
+006099
+006101
+006102
+006106
+006109
+006110
+006112
+006113
+006114
+006115
+006116
+006118
+006119
+006121
+006122
+006126
+006127
+006132
+006137
+006138
+006142
+006143
+006144
+006145
+006147
+006149
+006152
+006154
+006155
+006157
+006160
+006164
+006165
+006167
+006168
+006169
+006173
+006178
+006182
+006186
+006191
+006192
+006193
+006194
+006195
+006197
+006199
+006200
+006204
+006205
+006207
+006211
+006213
+006217
+006226
+006227
+006228
+006231
+006232
+006237
+006239
+006242
+006244
+006245
+006246
+006248
+006253
+006255
+006256
+006257
+006263
+006265
+006266
+006268
+006271
+006273
+006274
+006278
+006280
+006283
+006287
+006288
+006292
+006293
+006294
+006297
+006298
+006302
+006303
+006307
+006308
+006310
+006311
+006312
+006313
+006315
+006316
+006317
+006322
+006324
+006326
+006327
+006328
+006331
+006332
+006333
+006334
+006336
+006340
+006342
+006343
+006345
+006347
+006354
+006356
+006358
+006359
+006360
+006361
+006364
+006365
+006368
+006370
+006372
+006373
+006376
+006378
+006379
+006380
+006383
+006384
+006386
+006388
+006389
+006390
+006393
+006394
+006397
+006399
+006401
+006402
+006403
+006405
+006406
+006407
+006408
+006410
+006412
+006413
+006414
+006415
+006416
+006420
+006422
+006423
+006426
+006431
+006432
+006435
+006439
+006441
+006446
+006451
+006452
+006453
+006454
+006457
+006460
+006461
+006464
+006467
+006469
+006471
+006477
+006478
+006479
+006481
+006485
+006487
+006489
+006490
+006491
+006493
+006494
+006496
+006498
+006500
+006502
+006504
+006505
+006508
+006510
+006511
+006513
+006514
+006516
+006517
+006518
+006521
+006522
+006525
+006526
+006527
+006528
+006531
+006533
+006535
+006537
+006539
+006540
+006541
+006544
+006545
+006546
+006552
+006554
+006555
+006557
+006558
+006559
+006561
+006563
+006566
+006567
+006568
+006571
+006573
+006574
+006577
+006579
+006580
+006581
+006582
+006586
+006589
+006590
+006591
+006592
+006594
+006596
+006598
+006600
+006601
+006604
+006607
+006608
+006613
+006614
+006615
+006616
+006620
+006623
+006624
+006629
+006630
+006633
+006634
+006639
+006640
+006641
+006642
+006644
+006646
+006649
+006650
+006651
+006653
+006655
+006656
+006659
+006662
+006663
+006665
+006669
+006672
+006675
+006676
+006680
+006683
+006685
+006686
+006688
+006691
+006692
+006693
+006700
+006701
+006705
+006710
+006711
+006712
+006713
+006715
+006716
+006717
+006720
+006721
+006723
+006724
+006728
+006729
+006732
+006733
+006737
+006741
+006742
+006743
+006744
+006745
+006746
+006749
+006750
+006752
+006754
+006756
+006757
+006758
+006763
+006764
+006767
+006770
+006771
+006774
+006775
+006776
+006778
+006779
+006780
+006785
+006787
+006788
+006790
+006791
+006792
+006793
+006795
+006796
+006798
+006801
+006804
+006807
+006809
+006811
+006812
+006815
+006816
+006817
+006818
+006820
+006823
+006826
+006830
+006831
+006832
+006834
+006837
+006843
+006846
+006851
+006853
+006854
+006856
+006857
+006861
+006863
+006870
+006871
+006872
+006873
+006875
+006877
+006879
+006881
+006882
+006885
+006888
+006889
+006890
+006891
+006894
+006895
+006897
+006898
+006901
+006902
+006904
+006905
+006906
+006907
+006913
+006915
+006920
+006921
+006923
+006925
+006926
+006927
+006928
+006929
+006936
+006937
+006938
+006941
+006942
+006946
+006951
+006954
+006955
+006957
+006960
+006961
+006964
+006967
+006969
+006970
+006973
+006974
+006975
+006977
+006978
+006979
+006980
+006982
+006984
+006985
+006986
+006991
+006992
+006993
+006996
+006997
+006998
+006999
+007000
+007001
+007005
+007010
+007012
+007013
+007014
+007015
+007017
+007019
+007024
+007026
+007027
+007028
+007030
+007032
+007034
+007037
+007041
+007043
+007044
+007047
+007051
+007053
+007055
+007057
+007060
+007061
+007063
+007066
+007067
+007069
+007076
+007081
+007082
+007083
+007085
+007087
+007091
+007094
+007096
+007098
+007099
+007102
+007103
+007106
+007107
+007110
+007111
+007112
+007115
+007116
+007118
+007119
+007120
+007124
+007126
+007127
+007131
+007134
+007135
+007136
+007137
+007142
+007143
+007145
+007151
+007155
+007156
+007157
+007158
+007160
+007161
+007164
+007169
+007170
+007171
+007173
+007175
+007176
+007178
+007179
+007181
+007183
+007186
+007188
+007190
+007192
+007195
+007196
+007198
+007199
+007201
+007202
+007203
+007206
+007207
+007209
+007218
+007220
+007221
+007225
+007226
+007228
+007229
+007231
+007232
+007233
+007235
+007237
+007238
+007239
+007240
+007242
+007246
+007248
+007251
+007252
+007253
+007254
+007255
+007257
+007262
+007264
+007265
+007267
+007268
+007269
+007272
+007273
+007277
+007278
+007281
+007282
+007286
+007287
+007288
+007290
+007291
+007293
+007301
+007303
+007304
+007306
+007307
+007309
+007310
+007312
+007313
+007315
+007316
+007317
+007319
+007320
+007321
+007324
+007326
+007328
+007331
+007332
+007333
+007335
+007337
+007338
+007339
+007340
+007341
+007342
+007345
+007347
+007348
+007349
+007352
+007353
+007354
+007355
+007357
+007358
+007360
+007362
+007364
+007366
+007367
+007368
+007371
+007377
+007378
+007379
+007380
+007382
+007384
+007386
+007387
+007391
+007392
+007393
+007395
+007397
+007399
+007400
+007401
+007402
+007403
+007404
+007405
+007406
+007407
+007409
+007412
+007415
+007418
+007420
+007423
+007426
+007428
+007429
+007430
+007434
+007440
+007441
+007442
+007444
+007447
+007450
+007452
+007453
+007455
+007456
+007459
+007462
+007463
+007464
+007469
+007471
+007472
+007473
+007476
+007478
+007485
+007487
+007488
+007492
+007494
+007495
+007496
+007499
+007500
+007501
+007502
+007504
+007505
+007507
+007508
+007509
+007510
+007512
+007514
+007515
+007516
+007518
+007520
+007522
+007529
+007531
+007532
+007534
+007539
+007541
+007542
+007545
+007548
+007549
+007550
+007552
+007553
+007554
+007556
+007557
+007560
+007561
+007562
+007564
+007567
+007569
+007573
+007574
+007577
+007580
+007581
+007582
+007583
+007584
+007587
+007588
+007589
+007591
+007593
+007595
+007596
+007597
+007598
+007599
+007602
+007604
+007607
+007608
+007609
+007610
+007613
+007616
+007617
+007620
+007623
+007625
+007627
+007628
+007630
+007632
+007634
+007635
+007636
+007638
+007641
+007643
+007644
+007645
+007646
+007648
+007651
+007652
+007658
+007659
+007660
+007661
+007665
+007669
+007674
+007676
+007681
+007684
+007686
+007689
+007690
+007693
+007695
+007698
+007700
+007701
+007703
+007706
+007707
+007708
+007710
+007711
+007714
+007716
+007717
+007719
+007722
+007725
+007726
+007728
+007730
+007733
+007734
+007737
+007738
+007739
+007741
+007744
+007747
+007750
+007752
+007755
+007756
+007757
+007759
+007761
+007764
+007766
+007769
+007770
+007771
+007774
+007778
+007780
+007782
+007783
+007784
+007785
+007787
+007788
+007789
+007792
+007794
+007796
+007797
+007800
+007801
+007802
+007804
+007805
+007806
+007807
+007808
+007811
+007816
+007817
+007818
+007822
+007823
+007825
+007827
+007828
+007829
+007830
+007832
+007835
+007837
+007839
+007842
+007844
+007846
+007848
+007849
+007850
+007851
+007852
+007858
+007860
+007861
+007862
+007866
+007867
+007870
+007871
+007874
+007875
+007879
+007880
+007881
+007882
+007887
+007888
+007891
+007892
+007893
+007894
+007895
+007896
+007903
+007904
+007906
+007907
+007912
+007913
+007917
+007918
+007922
+007927
+007929
+007930
+007934
+007936
+007937
+007938
+007941
+007942
+007944
+007945
+007948
+007949
+007951
+007952
+007955
+007957
+007960
+007961
+007962
+007965
+007966
+007967
+007969
+007972
+007973
+007975
+007977
+007978
+007981
+007982
+007983
+007985
+007986
+007988
+007989
+007990
+007992
+007993
+007994
+007995
+008000
+008003
+008006
+008007
+008010
+008011
+008013
+008014
+008015
+008016
+008018
+008020
+008021
+008022
+008025
+008027
+008028
+008030
+008034
+008035
+008038
+008039
+008041
+008045
+008046
+008047
+008050
+008052
+008054
+008055
+008056
+008058
+008059
+008065
+008066
+008070
+008071
+008073
+008074
+008077
+008078
+008080
+008081
+008088
+008089
+008090
+008092
+008094
+008097
+008099
+008102
+008104
+008109
+008110
+008111
+008113
+008114
+008118
+008119
+008120
+008123
+008124
+008126
+008128
+008129
+008131
+008133
+008134
+008135
+008136
+008143
+008145
+008146
+008147
+008148
+008149
+008152
+008153
+008154
+008155
+008156
+008157
+008158
+008161
+008162
+008165
+008167
+008170
+008172
+008176
+008178
+008179
+008181
+008182
+008183
+008184
+008185
+008187
+008192
+008193
+008194
+008195
+008196
+008198
+008201
+008205
+008206
+008207
+008210
+008212
+008214
+008215
+008217
+008219
+008221
+008227
+008228
+008230
+008231
+008233
+008234
+008237
+008238
+008239
+008240
+008242
+008243
+008245
+008246
+008247
+008249
+008255
+008256
+008257
+008259
+008264
+008265
+008266
+008267
+008270
+008271
+008273
+008274
+008276
+008277
+008278
+008283
+008286
+008287
+008288
+008289
+008290
+008291
+008298
+008303
+008304
+008305
+008308
+008309
+008314
+008321
+008324
+008325
+008328
+008330
+008331
+008333
+008334
+008337
+008339
+008340
+008343
+008344
+008347
+008348
+008350
+008352
+008353
+008354
+008356
+008357
+008358
+008361
+008362
+008363
+008366
+008367
+008369
+008371
+008373
+008375
+008377
+008378
+008379
+008380
+008382
+008383
+008389
+008392
+008393
+008394
+008395
+008396
+008399
+008400
+008401
+008402
+008404
+008405
+008406
+008407
+008408
+008411
+008412
+008414
+008417
+008418
+008419
+008420
+008421
+008428
+008431
+008432
+008435
+008436
+008439
+008440
+008441
+008446
+008447
+008448
+008451
+008455
+008457
+008458
+008459
+008460
+008463
+008464
+008469
+008471
+008473
+008474
+008476
+008479
+008480
+008481
+008486
+008487
+008488
+008489
+008490
+008491
+008493
+008496
+008497
+008500
+008501
+008504
+008505
+008507
+008508
+008510
+008511
+008515
+008516
+008520
+008525
+008527
+008528
+008531
+008532
+008537
+008538
+008539
+008540
+008543
+008544
+008545
+008546
+008547
+008548
+008551
+008552
+008554
+008555
+008560
+008561
+008563
+008565
+008566
+008567
+008569
+008570
+008571
+008574
+008575
+008577
+008578
+008579
+008580
+008583
+008589
+008590
+008591
+008593
+008594
+008597
+008598
+008599
+008600
+008603
+008605
+008609
+008611
+008613
+008614
+008616
+008619
+008622
+008623
+008625
+008626
+008627
+008629
+008630
+008631
+008632
+008634
+008637
+008640
+008641
+008642
+008643
+008646
+008648
+008649
+008650
+008651
+008652
+008656
+008657
+008658
+008659
+008660
+008661
+008662
+008664
+008666
+008668
+008669
+008671
+008672
+008673
+008674
+008675
+008677
+008678
+008679
+008681
+008682
+008684
+008685
+008686
+008689
+008693
+008694
+008696
+008697
+008700
+008703
+008704
+008705
+008707
+008708
+008711
+008712
+008714
+008715
+008719
+008721
+008724
+008726
+008729
+008734
+008735
+008736
+008737
+008740
+008743
+008745
+008746
+008751
+008754
+008758
+008761
+008762
+008763
+008765
+008767
+008774
+008777
+008778
+008779
+008780
+008781
+008782
+008785
+008786
+008787
+008788
+008789
+008791
+008792
+008795
+008797
+008798
+008800
+008802
+008803
+008804
+008807
+008808
+008812
+008816
+008818
+008820
+008821
+008824
+008825
+008827
+008828
+008829
+008830
+008832
+008834
+008839
+008842
+008844
+008845
+008846
+008850
+008851
+008852
+008853
+008855
+008857
+008860
+008861
+008863
+008864
+008866
+008868
+008869
+008870
+008875
+008877
+008881
+008882
+008887
+008889
+008893
+008894
+008895
+008896
+008897
+008898
+008899
+008901
+008902
+008903
+008904
+008906
+008907
+008908
+008910
+008912
+008915
+008916
+008918
+008922
+008924
+008925
+008928
+008934
+008935
+008937
+008938
+008941
+008945
+008946
+008947
+008949
+008950
+008952
+008954
+008956
+008957
+008959
+008963
+008964
+008972
+008974
+008977
+008981
+008984
+008986
+008990
+008991
+008992
+008993
+008994
+008996
+008998
+009001
+009003
+009008
+009009
+009010
+009011
+009012
+009013
+009014
+009017
+009021
+009023
+009025
+009026
+009028
+009030
+009031
+009033
+009038
+009040
+009041
+009043
+009044
+009046
+009047
+009050
+009052
+009054
+009055
+009056
+009057
+009061
+009062
+009065
+009067
+009069
+009070
+009071
+009074
+009075
+009076
+009077
+009081
+009082
+009083
+009084
+009088
+009090
+009092
+009093
+009095
+009096
+009097
+009101
+009102
+009103
+009104
+009107
+009109
+009110
+009111
+009115
+009118
+009119
+009120
+009122
+009124
+009125
+009127
+009130
+009132
+009134
+009135
+009137
+009139
+009140
+009142
+009143
+009145
+009146
+009149
+009152
+009154
+009156
+009158
+009164
+009165
+009167
+009169
+009170
+009171
+009172
+009176
+009182
+009183
+009188
+009190
+009198
+009199
+009201
+009203
+009204
+009206
+009207
+009210
+009211
+009216
+009217
+009219
+009220
+009222
+009223
+009225
+009226
+009228
+009229
+009231
+009232
+009233
+009234
+009235
+009237
+009240
+009241
+009243
+009248
+009253
+009256
+009257
+009258
+009260
+009261
+009262
+009263
+009264
+009265
+009266
+009267
+009274
+009275
+009276
+009277
+009280
+009284
+009292
+009293
+009294
+009297
+009298
+009300
+009301
+009302
+009304
+009305
+009310
+009311
+009313
+009314
+009317
+009319
+009320
+009321
+009322
+009328
+009329
+009332
+009335
+009338
+009340
+009341
+009344
+009345
+009346
+009352
+009353
+009355
+009356
+009357
+009360
+009361
+009363
+009364
+009366
+009367
+009369
+009370
+009372
+009376
+009379
+009380
+009381
+009383
+009384
+009385
+009387
+009390
+009391
+009395
+009396
+009397
+009399
+009400
+009402
+009403
+009404
+009415
+009416
+009423
+009425
+009426
+009427
+009428
+009430
+009431
+009435
+009436
+009441
+009442
+009444
+009447
+009449
+009450
+009451
+009452
+009453
+009462
+009467
+009471
+009473
+009474
+009475
+009478
+009482
+009483
+009485
+009486
+009487
+009489
+009492
+009493
+009495
+009498
+009501
+009503
+009505
+009506
+009509
+009510
+009511
+009513
+009514
+009521
+009522
+009525
+009529
+009530
+009534
+009535
+009536
+009538
+009539
+009544
+009547
+009548
+009552
+009553
+009554
+009555
+009556
+009559
+009561
+009563
+009564
+009569
+009570
+009572
+009574
+009575
+009578
+009581
+009582
+009583
+009589
+009590
+009592
+009593
+009594
+009595
+009599
+009601
+009602
+009604
+009606
+009607
+009608
+009610
+009612
+009616
+009622
+009624
+009625
+009626
+009628
+009630
+009631
+009632
+009633
+009635
+009639
+009640
+009642
+009643
+009645
+009646
+009648
+009651
+009652
+009653
+009657
+009660
+009661
+009662
+009663
+009665
+009669
+009672
+009673
+009674
+009675
+009677
+009680
+009682
+009683
+009688
+009689
+009690
+009694
+009696
+009697
+009701
+009704
+009705
+009708
+009714
+009715
+009716
+009720
+009722
+009723
+009725
+009727
+009728
+009730
+009731
+009736
+009739
+009740
+009741
+009742
+009744
+009750
+009751
+009752
+009753
+009757
+009759
+009760
+009765
+009766
+009768
+009769
+009770
+009771
+009775
+009777
+009779
+009782
+009783
+009784
+009786
+009787
+009788
+009791
+009793
+009795
+009798
+009799
+009802
+009803
+009804
+009806
+009811
+009812
+009814
+009815
+009817
+009818
+009820
+009821
+009824
+009826
+009827
+009829
+009835
+009837
+009838
+009840
+009843
+009844
+009846
+009847
+009849
+009850
+009853
+009854
+009856
+009857
+009861
+009864
+009866
+009871
+009873
+009875
+009876
+009883
+009885
+009888
+009889
+009890
+009891
+009892
+009893
+009895
+009899
+009901
+009903
+009906
+009907
+009909
+009910
+009912
+009914
+009915
+009916
+009919
+009921
+009922
+009924
+009925
+009927
+009928
+009929
+009930
+009931
+009933
+009934
+009936
+009937
+009941
+009943
+009948
+009951
+009952
+009953
+009956
+009957
+009960
+009962
+009963
diff --git a/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20000_test.txt b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20000_test.txt
new file mode 100644
index 0000000..e2cf3e7
--- /dev/null
+++ b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20000_test.txt
@@ -0,0 +1,24952 @@
+000001
+000002
+000003
+000004
+000006
+000008
+000010
+000011
+000013
+000014
+000015
+000018
+000022
+000025
+000027
+000028
+000029
+000031
+000037
+000038
+000040
+000043
+000045
+000049
+000053
+000054
+000055
+000056
+000057
+000058
+000059
+000062
+000067
+000068
+000069
+000070
+000071
+000074
+000075
+000076
+000079
+000080
+000082
+000084
+000085
+000086
+000087
+000088
+000090
+000092
+000094
+000096
+000097
+000098
+000100
+000103
+000105
+000106
+000108
+000111
+000114
+000115
+000116
+000119
+000124
+000126
+000127
+000128
+000135
+000136
+000137
+000139
+000144
+000145
+000148
+000149
+000151
+000152
+000155
+000157
+000160
+000166
+000167
+000168
+000172
+000175
+000176
+000178
+000179
+000181
+000182
+000183
+000185
+000186
+000188
+000191
+000195
+000196
+000197
+000199
+000201
+000202
+000204
+000205
+000206
+000212
+000213
+000216
+000217
+000223
+000226
+000227
+000230
+000231
+000234
+000237
+000238
+000239
+000240
+000243
+000247
+000248
+000252
+000253
+000254
+000255
+000258
+000260
+000261
+000264
+000265
+000267
+000271
+000272
+000273
+000274
+000277
+000279
+000280
+000281
+000283
+000284
+000286
+000287
+000290
+000291
+000292
+000293
+000295
+000297
+000299
+000300
+000301
+000309
+000310
+000313
+000314
+000315
+000316
+000319
+000324
+000326
+000327
+000330
+000333
+000335
+000339
+000341
+000342
+000345
+000346
+000348
+000350
+000351
+000353
+000356
+000357
+000358
+000360
+000361
+000362
+000364
+000365
+000366
+000368
+000369
+000371
+000375
+000376
+000377
+000378
+000383
+000384
+000385
+000386
+000388
+000389
+000390
+000392
+000393
+000397
+000398
+000399
+000401
+000402
+000405
+000409
+000410
+000412
+000413
+000414
+000415
+000418
+000421
+000422
+000423
+000425
+000426
+000429
+000432
+000434
+000436
+000437
+000440
+000441
+000442
+000444
+000445
+000447
+000449
+000451
+000452
+000453
+000455
+000456
+000457
+000458
+000465
+000466
+000467
+000471
+000472
+000473
+000475
+000478
+000479
+000481
+000485
+000487
+000488
+000490
+000493
+000495
+000497
+000502
+000504
+000505
+000506
+000507
+000510
+000511
+000512
+000517
+000521
+000527
+000529
+000532
+000533
+000534
+000536
+000538
+000539
+000542
+000546
+000547
+000548
+000551
+000553
+000556
+000557
+000558
+000560
+000561
+000562
+000566
+000567
+000568
+000569
+000570
+000571
+000572
+000573
+000574
+000575
+000576
+000578
+000580
+000584
+000585
+000586
+000587
+000593
+000594
+000595
+000596
+000600
+000602
+000603
+000604
+000606
+000607
+000611
+000614
+000615
+000616
+000617
+000618
+000621
+000623
+000624
+000627
+000629
+000630
+000631
+000634
+000636
+000638
+000639
+000640
+000641
+000642
+000643
+000644
+000646
+000649
+000650
+000651
+000652
+000655
+000658
+000659
+000662
+000664
+000665
+000666
+000668
+000669
+000670
+000673
+000674
+000678
+000679
+000681
+000683
+000687
+000691
+000692
+000693
+000696
+000697
+000698
+000701
+000703
+000704
+000706
+000708
+000715
+000716
+000718
+000719
+000721
+000722
+000723
+000724
+000725
+000727
+000732
+000734
+000735
+000736
+000737
+000741
+000743
+000744
+000745
+000747
+000749
+000751
+000757
+000758
+000759
+000762
+000765
+000766
+000769
+000773
+000775
+000778
+000779
+000781
+000783
+000784
+000785
+000788
+000789
+000790
+000792
+000795
+000798
+000801
+000803
+000807
+000809
+000811
+000813
+000817
+000819
+000821
+000824
+000825
+000833
+000835
+000836
+000837
+000838
+000839
+000840
+000841
+000844
+000846
+000852
+000853
+000856
+000858
+000861
+000864
+000866
+000869
+000870
+000873
+000875
+000877
+000881
+000883
+000884
+000886
+000890
+000891
+000893
+000894
+000897
+000901
+000905
+000907
+000909
+000910
+000913
+000914
+000916
+000922
+000924
+000925
+000927
+000928
+000930
+000932
+000933
+000938
+000939
+000940
+000941
+000942
+000944
+000945
+000952
+000953
+000955
+000956
+000957
+000959
+000960
+000961
+000963
+000968
+000969
+000970
+000974
+000975
+000976
+000978
+000979
+000981
+000983
+000984
+000985
+000986
+000988
+000990
+000992
+000994
+000995
+000998
+001000
+001003
+001005
+001006
+001007
+001013
+001016
+001019
+001020
+001021
+001022
+001023
+001025
+001026
+001029
+001030
+001031
+001032
+001033
+001034
+001035
+001037
+001038
+001039
+001040
+001044
+001046
+001047
+001048
+001049
+001051
+001054
+001055
+001058
+001059
+001063
+001065
+001067
+001070
+001075
+001076
+001080
+001081
+001085
+001086
+001087
+001088
+001089
+001090
+001094
+001095
+001096
+001098
+001099
+001100
+001103
+001105
+001108
+001111
+001114
+001115
+001116
+001117
+001118
+001120
+001122
+001123
+001126
+001128
+001131
+001132
+001133
+001134
+001135
+001138
+001139
+001141
+001146
+001150
+001153
+001155
+001157
+001159
+001162
+001163
+001165
+001167
+001169
+001173
+001177
+001178
+001179
+001180
+001181
+001183
+001188
+001189
+001190
+001193
+001195
+001196
+001197
+001198
+001202
+001208
+001210
+001213
+001216
+001217
+001218
+001219
+001220
+001222
+001223
+001227
+001228
+001232
+001235
+001238
+001242
+001243
+001244
+001245
+001246
+001249
+001251
+001252
+001253
+001255
+001256
+001257
+001261
+001262
+001264
+001267
+001271
+001275
+001276
+001278
+001280
+001282
+001283
+001285
+001291
+001295
+001296
+001297
+001300
+001301
+001302
+001303
+001305
+001306
+001307
+001308
+001313
+001317
+001318
+001319
+001320
+001321
+001322
+001328
+001329
+001331
+001335
+001336
+001338
+001339
+001340
+001342
+001344
+001347
+001349
+001351
+001353
+001354
+001355
+001356
+001357
+001358
+001359
+001363
+001366
+001367
+001368
+001369
+001370
+001372
+001373
+001374
+001376
+001377
+001379
+001380
+001381
+001382
+001389
+001391
+001392
+001394
+001396
+001398
+001399
+001401
+001403
+001407
+001410
+001411
+001412
+001415
+001416
+001417
+001419
+001422
+001423
+001424
+001425
+001428
+001429
+001431
+001433
+001435
+001437
+001438
+001440
+001446
+001447
+001448
+001449
+001452
+001454
+001456
+001458
+001459
+001461
+001462
+001469
+001471
+001473
+001474
+001476
+001477
+001478
+001482
+001487
+001489
+001491
+001495
+001496
+001500
+001502
+001503
+001505
+001506
+001507
+001508
+001511
+001513
+001516
+001518
+001519
+001520
+001525
+001527
+001530
+001533
+001534
+001535
+001538
+001540
+001542
+001546
+001547
+001549
+001550
+001551
+001552
+001558
+001560
+001562
+001564
+001566
+001567
+001568
+001569
+001570
+001572
+001573
+001574
+001575
+001578
+001581
+001583
+001584
+001585
+001587
+001589
+001591
+001592
+001596
+001599
+001600
+001601
+001602
+001605
+001606
+001609
+001613
+001615
+001616
+001619
+001620
+001621
+001623
+001624
+001625
+001626
+001629
+001631
+001634
+001635
+001637
+001639
+001641
+001644
+001645
+001646
+001648
+001652
+001655
+001656
+001657
+001658
+001659
+001660
+001663
+001664
+001665
+001666
+001667
+001668
+001670
+001671
+001672
+001674
+001679
+001681
+001687
+001692
+001694
+001695
+001696
+001697
+001698
+001700
+001701
+001702
+001703
+001704
+001705
+001706
+001709
+001710
+001712
+001715
+001716
+001719
+001720
+001722
+001728
+001731
+001735
+001736
+001737
+001740
+001742
+001743
+001744
+001745
+001748
+001751
+001753
+001757
+001760
+001762
+001763
+001764
+001767
+001769
+001770
+001773
+001774
+001776
+001779
+001781
+001783
+001786
+001788
+001790
+001791
+001792
+001794
+001796
+001798
+001802
+001803
+001804
+001805
+001808
+001811
+001812
+001813
+001814
+001815
+001817
+001819
+001820
+001822
+001823
+001824
+001826
+001829
+001831
+001835
+001838
+001839
+001844
+001846
+001848
+001850
+001851
+001852
+001856
+001857
+001859
+001863
+001865
+001866
+001867
+001868
+001869
+001871
+001873
+001874
+001876
+001879
+001880
+001883
+001884
+001885
+001886
+001889
+001890
+001891
+001893
+001895
+001897
+001900
+001905
+001908
+001909
+001910
+001912
+001913
+001914
+001916
+001917
+001919
+001921
+001923
+001924
+001925
+001926
+001929
+001935
+001939
+001942
+001943
+001946
+001947
+001949
+001951
+001953
+001955
+001956
+001957
+001959
+001961
+001965
+001966
+001967
+001968
+001969
+001973
+001974
+001975
+001979
+001983
+001984
+001986
+001987
+001988
+001990
+001991
+001992
+001993
+001994
+001996
+001997
+001998
+002003
+002005
+002007
+002008
+002009
+002010
+002013
+002014
+002016
+002017
+002018
+002026
+002028
+002029
+002031
+002032
+002033
+002035
+002038
+002040
+002041
+002044
+002046
+002048
+002050
+002052
+002053
+002057
+002059
+002060
+002062
+002065
+002066
+002071
+002072
+002073
+002074
+002075
+002076
+002077
+002078
+002079
+002080
+002081
+002084
+002085
+002087
+002089
+002092
+002093
+002097
+002100
+002103
+002105
+002106
+002107
+002110
+002111
+002113
+002115
+002118
+002119
+002121
+002122
+002123
+002127
+002128
+002130
+002131
+002133
+002137
+002138
+002141
+002143
+002144
+002147
+002148
+002149
+002150
+002154
+002157
+002159
+002160
+002161
+002162
+002164
+002167
+002168
+002173
+002175
+002177
+002185
+002188
+002189
+002195
+002198
+002200
+002203
+002204
+002205
+002206
+002207
+002210
+002211
+002216
+002217
+002222
+002223
+002225
+002227
+002229
+002230
+002231
+002232
+002235
+002236
+002239
+002240
+002242
+002243
+002245
+002246
+002250
+002252
+002254
+002258
+002262
+002264
+002269
+002271
+002274
+002275
+002282
+002283
+002286
+002289
+002292
+002294
+002295
+002296
+002297
+002298
+002299
+002301
+002303
+002304
+002309
+002312
+002313
+002314
+002316
+002317
+002319
+002322
+002325
+002326
+002327
+002331
+002336
+002338
+002339
+002341
+002344
+002346
+002349
+002351
+002353
+002356
+002357
+002358
+002360
+002363
+002365
+002370
+002379
+002380
+002381
+002383
+002386
+002388
+002389
+002390
+002394
+002395
+002396
+002397
+002398
+002399
+002400
+002402
+002406
+002408
+002409
+002412
+002414
+002416
+002418
+002421
+002422
+002424
+002426
+002428
+002429
+002430
+002431
+002432
+002434
+002438
+002440
+002446
+002447
+002449
+002451
+002453
+002455
+002457
+002463
+002464
+002467
+002469
+002473
+002474
+002475
+002482
+002484
+002485
+002486
+002487
+002488
+002489
+002495
+002498
+002499
+002503
+002506
+002507
+002509
+002510
+002511
+002515
+002516
+002517
+002521
+002522
+002526
+002527
+002528
+002530
+002531
+002532
+002535
+002536
+002538
+002541
+002543
+002548
+002550
+002551
+002552
+002553
+002556
+002557
+002560
+002562
+002568
+002570
+002573
+002574
+002575
+002576
+002577
+002580
+002581
+002582
+002583
+002587
+002588
+002591
+002592
+002596
+002597
+002601
+002602
+002604
+002607
+002608
+002610
+002612
+002614
+002616
+002617
+002619
+002620
+002622
+002623
+002624
+002626
+002628
+002629
+002630
+002631
+002638
+002639
+002640
+002642
+002644
+002650
+002651
+002652
+002654
+002655
+002656
+002660
+002661
+002663
+002665
+002671
+002672
+002673
+002674
+002676
+002679
+002681
+002685
+002686
+002687
+002688
+002692
+002694
+002698
+002700
+002701
+002703
+002705
+002707
+002708
+002711
+002712
+002716
+002719
+002720
+002724
+002725
+002726
+002728
+002729
+002731
+002733
+002736
+002739
+002740
+002742
+002743
+002746
+002748
+002750
+002752
+002753
+002754
+002756
+002758
+002761
+002764
+002768
+002769
+002770
+002771
+002773
+002777
+002780
+002781
+002787
+002788
+002789
+002790
+002792
+002793
+002797
+002799
+002802
+002805
+002806
+002808
+002809
+002811
+002813
+002814
+002818
+002819
+002821
+002822
+002823
+002824
+002825
+002828
+002829
+002830
+002831
+002832
+002837
+002839
+002840
+002843
+002846
+002849
+002850
+002851
+002852
+002853
+002856
+002857
+002860
+002861
+002862
+002863
+002865
+002871
+002872
+002874
+002876
+002877
+002878
+002882
+002883
+002885
+002887
+002888
+002890
+002892
+002894
+002895
+002897
+002898
+002900
+002902
+002903
+002904
+002905
+002907
+002908
+002909
+002911
+002918
+002920
+002921
+002922
+002923
+002925
+002926
+002927
+002928
+002929
+002930
+002936
+002945
+002948
+002949
+002950
+002951
+002955
+002959
+002961
+002964
+002968
+002970
+002971
+002972
+002973
+002974
+002979
+002980
+002981
+002982
+002983
+002985
+002991
+002993
+002996
+002997
+002998
+002999
+003001
+003006
+003010
+003012
+003014
+003016
+003018
+003019
+003020
+003022
+003025
+003026
+003029
+003030
+003033
+003035
+003036
+003037
+003040
+003041
+003043
+003046
+003048
+003049
+003050
+003052
+003055
+003059
+003060
+003062
+003067
+003068
+003069
+003070
+003071
+003073
+003075
+003076
+003079
+003080
+003081
+003084
+003087
+003091
+003095
+003096
+003097
+003099
+003101
+003104
+003109
+003111
+003113
+003114
+003115
+003119
+003123
+003125
+003128
+003130
+003131
+003132
+003136
+003139
+003141
+003143
+003144
+003148
+003151
+003152
+003153
+003156
+003158
+003160
+003166
+003167
+003168
+003171
+003172
+003173
+003174
+003179
+003180
+003182
+003187
+003190
+003191
+003192
+003193
+003196
+003197
+003198
+003201
+003203
+003206
+003208
+003209
+003212
+003215
+003217
+003220
+003221
+003222
+003224
+003225
+003226
+003227
+003230
+003232
+003234
+003235
+003237
+003238
+003241
+003245
+003246
+003248
+003249
+003251
+003252
+003257
+003263
+003264
+003265
+003266
+003267
+003268
+003275
+003276
+003277
+003278
+003281
+003283
+003286
+003287
+003288
+003289
+003291
+003295
+003297
+003298
+003302
+003304
+003305
+003306
+003309
+003310
+003312
+003314
+003315
+003317
+003318
+003319
+003321
+003322
+003323
+003324
+003326
+003328
+003329
+003332
+003333
+003334
+003340
+003341
+003342
+003345
+003346
+003347
+003348
+003352
+003353
+003357
+003358
+003361
+003364
+003366
+003368
+003371
+003372
+003375
+003378
+003381
+003383
+003384
+003385
+003387
+003388
+003389
+003393
+003394
+003399
+003400
+003402
+003405
+003409
+003411
+003414
+003418
+003423
+003426
+003427
+003428
+003431
+003432
+003434
+003437
+003438
+003440
+003442
+003445
+003446
+003447
+003448
+003454
+003456
+003457
+003459
+003460
+003463
+003467
+003471
+003472
+003473
+003474
+003475
+003476
+003478
+003479
+003480
+003481
+003482
+003483
+003485
+003486
+003488
+003490
+003494
+003495
+003498
+003501
+003502
+003503
+003504
+003505
+003507
+003512
+003513
+003514
+003515
+003517
+003520
+003523
+003526
+003527
+003531
+003532
+003533
+003534
+003535
+003538
+003540
+003541
+003542
+003543
+003544
+003545
+003547
+003552
+003553
+003557
+003558
+003559
+003560
+003561
+003562
+003563
+003568
+003569
+003570
+003571
+003572
+003573
+003574
+003578
+003579
+003581
+003582
+003583
+003584
+003590
+003591
+003592
+003595
+003598
+003600
+003601
+003602
+003607
+003610
+003612
+003613
+003615
+003616
+003617
+003619
+003624
+003626
+003630
+003631
+003633
+003637
+003641
+003643
+003647
+003649
+003650
+003652
+003653
+003659
+003661
+003665
+003666
+003668
+003670
+003672
+003676
+003677
+003680
+003682
+003683
+003686
+003687
+003689
+003692
+003693
+003697
+003701
+003702
+003707
+003710
+003712
+003715
+003716
+003718
+003719
+003720
+003723
+003724
+003725
+003726
+003728
+003730
+003731
+003733
+003734
+003736
+003737
+003738
+003739
+003741
+003742
+003744
+003745
+003746
+003747
+003755
+003756
+003757
+003761
+003762
+003764
+003765
+003766
+003768
+003769
+003770
+003771
+003775
+003776
+003777
+003778
+003782
+003785
+003787
+003789
+003794
+003795
+003799
+003800
+003801
+003802
+003804
+003805
+003810
+003812
+003813
+003815
+003816
+003819
+003822
+003823
+003825
+003829
+003831
+003832
+003833
+003836
+003839
+003840
+003841
+003842
+003843
+003850
+003851
+003852
+003853
+003854
+003858
+003862
+003864
+003867
+003870
+003873
+003875
+003878
+003880
+003881
+003882
+003883
+003884
+003888
+003892
+003893
+003894
+003896
+003897
+003900
+003901
+003902
+003903
+003904
+003906
+003908
+003909
+003910
+003914
+003916
+003917
+003920
+003922
+003925
+003927
+003928
+003929
+003930
+003931
+003933
+003934
+003938
+003940
+003942
+003943
+003944
+003950
+003951
+003952
+003955
+003958
+003959
+003962
+003964
+003967
+003968
+003972
+003975
+003976
+003977
+003978
+003980
+003981
+003982
+003985
+003989
+003995
+003999
+004000
+004001
+004002
+004004
+004006
+004007
+004018
+004021
+004022
+004024
+004026
+004027
+004029
+004030
+004032
+004036
+004038
+004040
+004041
+004042
+004043
+004044
+004045
+004048
+004049
+004050
+004053
+004054
+004055
+004056
+004059
+004061
+004062
+004063
+004064
+004065
+004068
+004070
+004071
+004072
+004074
+004078
+004079
+004080
+004081
+004083
+004084
+004086
+004088
+004090
+004094
+004096
+004097
+004098
+004099
+004101
+004103
+004104
+004107
+004109
+004112
+004114
+004115
+004116
+004118
+004119
+004123
+004124
+004125
+004126
+004127
+004128
+004130
+004132
+004134
+004139
+004144
+004147
+004151
+004153
+004154
+004155
+004156
+004157
+004159
+004160
+004161
+004162
+004165
+004166
+004167
+004172
+004173
+004175
+004176
+004177
+004179
+004180
+004181
+004182
+004183
+004184
+004187
+004188
+004197
+004198
+004199
+004202
+004206
+004207
+004208
+004210
+004211
+004213
+004214
+004216
+004217
+004218
+004219
+004222
+004225
+004226
+004227
+004233
+004234
+004235
+004236
+004238
+004240
+004243
+004245
+004248
+004249
+004250
+004251
+004252
+004254
+004260
+004261
+004262
+004266
+004267
+004268
+004276
+004277
+004278
+004282
+004285
+004288
+004289
+004290
+004294
+004297
+004299
+004301
+004302
+004305
+004306
+004308
+004309
+004311
+004313
+004314
+004316
+004317
+004319
+004320
+004324
+004328
+004330
+004332
+004334
+004335
+004336
+004337
+004340
+004342
+004343
+004344
+004348
+004350
+004353
+004355
+004357
+004358
+004362
+004363
+004366
+004373
+004374
+004375
+004377
+004378
+004381
+004382
+004383
+004385
+004388
+004393
+004394
+004395
+004398
+004399
+004400
+004401
+004402
+004403
+004406
+004407
+004408
+004410
+004412
+004413
+004414
+004415
+004416
+004417
+004418
+004419
+004420
+004422
+004425
+004426
+004427
+004428
+004431
+004435
+004440
+004442
+004443
+004444
+004445
+004447
+004448
+004449
+004451
+004453
+004454
+004456
+004458
+004460
+004461
+004462
+004465
+004467
+004469
+004472
+004473
+004475
+004476
+004477
+004478
+004480
+004482
+004483
+004485
+004486
+004489
+004491
+004492
+004497
+004501
+004503
+004504
+004505
+004506
+004511
+004513
+004515
+004516
+004521
+004522
+004523
+004525
+004529
+004531
+004533
+004534
+004536
+004538
+004541
+004543
+004545
+004546
+004547
+004550
+004554
+004556
+004557
+004559
+004560
+004561
+004564
+004567
+004568
+004569
+004572
+004573
+004575
+004577
+004578
+004580
+004582
+004583
+004586
+004589
+004590
+004593
+004594
+004596
+004598
+004599
+004602
+004603
+004608
+004610
+004613
+004614
+004615
+004616
+004617
+004619
+004620
+004621
+004624
+004629
+004633
+004635
+004637
+004638
+004639
+004640
+004641
+004642
+004645
+004646
+004650
+004657
+004658
+004659
+004661
+004663
+004664
+004665
+004666
+004667
+004668
+004669
+004670
+004677
+004678
+004680
+004681
+004684
+004688
+004690
+004695
+004696
+004697
+004698
+004700
+004703
+004704
+004709
+004711
+004712
+004713
+004716
+004717
+004720
+004721
+004724
+004725
+004726
+004728
+004729
+004730
+004731
+004733
+004734
+004736
+004738
+004739
+004740
+004741
+004744
+004745
+004749
+004751
+004752
+004755
+004756
+004757
+004758
+004759
+004762
+004763
+004764
+004765
+004766
+004767
+004769
+004771
+004772
+004774
+004775
+004778
+004780
+004781
+004784
+004787
+004791
+004795
+004798
+004800
+004802
+004803
+004804
+004806
+004807
+004809
+004810
+004811
+004813
+004817
+004819
+004820
+004821
+004822
+004824
+004827
+004829
+004833
+004835
+004838
+004843
+004844
+004845
+004847
+004851
+004853
+004854
+004855
+004858
+004860
+004861
+004862
+004864
+004865
+004870
+004871
+004874
+004875
+004877
+004880
+004881
+004883
+004884
+004887
+004888
+004889
+004891
+004892
+004893
+004894
+004899
+004900
+004901
+004904
+004906
+004908
+004909
+004914
+004915
+004917
+004918
+004919
+004920
+004921
+004922
+004923
+004924
+004925
+004927
+004930
+004932
+004933
+004934
+004937
+004940
+004941
+004942
+004944
+004945
+004947
+004949
+004952
+004957
+004959
+004964
+004965
+004969
+004970
+004971
+004975
+004978
+004979
+004980
+004981
+004988
+004989
+004993
+004996
+005000
+005002
+005005
+005008
+005009
+005010
+005011
+005012
+005013
+005015
+005017
+005019
+005021
+005022
+005025
+005030
+005031
+005034
+005035
+005038
+005040
+005041
+005043
+005044
+005046
+005048
+005049
+005050
+005051
+005053
+005059
+005060
+005066
+005069
+005070
+005074
+005075
+005076
+005080
+005082
+005083
+005087
+005088
+005089
+005091
+005092
+005095
+005096
+005098
+005099
+005100
+005103
+005105
+005106
+005109
+005112
+005113
+005115
+005117
+005118
+005119
+005120
+005123
+005125
+005126
+005127
+005132
+005133
+005137
+005139
+005140
+005141
+005142
+005147
+005148
+005149
+005151
+005152
+005154
+005155
+005157
+005158
+005162
+005163
+005164
+005165
+005166
+005167
+005170
+005172
+005174
+005178
+005180
+005182
+005184
+005187
+005188
+005192
+005193
+005194
+005196
+005197
+005198
+005200
+005201
+005204
+005205
+005206
+005207
+005211
+005213
+005216
+005218
+005221
+005225
+005226
+005227
+005228
+005232
+005233
+005234
+005235
+005237
+005238
+005240
+005241
+005243
+005247
+005249
+005250
+005251
+005252
+005255
+005256
+005261
+005265
+005266
+005271
+005272
+005275
+005276
+005277
+005279
+005280
+005282
+005284
+005286
+005287
+005289
+005291
+005294
+005295
+005296
+005299
+005300
+005301
+005302
+005308
+005309
+005313
+005316
+005317
+005321
+005322
+005323
+005324
+005329
+005330
+005332
+005333
+005334
+005335
+005339
+005341
+005342
+005347
+005353
+005354
+005356
+005357
+005359
+005361
+005362
+005364
+005366
+005372
+005375
+005376
+005377
+005381
+005382
+005386
+005390
+005392
+005394
+005399
+005400
+005401
+005402
+005403
+005409
+005411
+005412
+005415
+005422
+005425
+005426
+005427
+005428
+005432
+005435
+005437
+005442
+005443
+005444
+005446
+005447
+005449
+005452
+005456
+005458
+005459
+005460
+005462
+005463
+005464
+005466
+005468
+005472
+005473
+005474
+005476
+005477
+005479
+005480
+005482
+005484
+005488
+005490
+005491
+005492
+005493
+005494
+005495
+005498
+005500
+005501
+005502
+005503
+005504
+005505
+005506
+005512
+005513
+005516
+005520
+005523
+005525
+005528
+005529
+005532
+005533
+005534
+005537
+005538
+005540
+005543
+005545
+005546
+005548
+005551
+005553
+005555
+005556
+005557
+005558
+005560
+005561
+005562
+005564
+005565
+005567
+005569
+005570
+005571
+005572
+005575
+005578
+005580
+005581
+005587
+005589
+005594
+005595
+005596
+005597
+005598
+005602
+005604
+005607
+005610
+005612
+005616
+005617
+005619
+005621
+005622
+005623
+005626
+005627
+005628
+005632
+005633
+005634
+005635
+005638
+005642
+005643
+005646
+005649
+005650
+005651
+005656
+005659
+005661
+005663
+005665
+005666
+005667
+005670
+005671
+005673
+005675
+005677
+005678
+005681
+005683
+005684
+005688
+005689
+005690
+005691
+005692
+005694
+005698
+005703
+005706
+005707
+005708
+005709
+005711
+005712
+005717
+005720
+005721
+005722
+005724
+005725
+005726
+005727
+005733
+005734
+005737
+005739
+005744
+005745
+005746
+005748
+005750
+005751
+005753
+005754
+005758
+005759
+005763
+005766
+005767
+005770
+005771
+005772
+005774
+005775
+005776
+005777
+005778
+005785
+005787
+005792
+005793
+005795
+005797
+005798
+005800
+005801
+005802
+005804
+005807
+005808
+005809
+005810
+005816
+005820
+005822
+005823
+005827
+005832
+005833
+005834
+005835
+005837
+005842
+005844
+005846
+005847
+005848
+005849
+005855
+005857
+005858
+005862
+005865
+005866
+005869
+005870
+005871
+005872
+005876
+005880
+005882
+005883
+005886
+005887
+005890
+005891
+005892
+005896
+005898
+005900
+005902
+005904
+005907
+005913
+005915
+005916
+005921
+005922
+005924
+005925
+005926
+005927
+005929
+005931
+005932
+005933
+005934
+005935
+005936
+005937
+005939
+005941
+005942
+005943
+005944
+005945
+005946
+005949
+005950
+005953
+005955
+005957
+005958
+005959
+005962
+005965
+005966
+005967
+005969
+005972
+005973
+005974
+005976
+005977
+005978
+005982
+005986
+005987
+005993
+005994
+005997
+005999
+006002
+006003
+006006
+006007
+006008
+006010
+006013
+006014
+006015
+006016
+006017
+006019
+006021
+006022
+006024
+006031
+006032
+006034
+006036
+006037
+006039
+006040
+006044
+006047
+006048
+006049
+006050
+006051
+006052
+006053
+006054
+006056
+006057
+006059
+006060
+006063
+006064
+006068
+006072
+006075
+006076
+006077
+006080
+006081
+006082
+006083
+006085
+006086
+006087
+006090
+006092
+006093
+006094
+006099
+006101
+006102
+006106
+006109
+006110
+006112
+006113
+006114
+006115
+006116
+006118
+006119
+006121
+006122
+006126
+006127
+006132
+006137
+006138
+006142
+006143
+006144
+006145
+006147
+006149
+006152
+006154
+006155
+006157
+006160
+006164
+006165
+006167
+006168
+006169
+006173
+006178
+006182
+006186
+006191
+006192
+006193
+006194
+006195
+006197
+006199
+006200
+006204
+006205
+006207
+006211
+006213
+006217
+006226
+006227
+006228
+006231
+006232
+006237
+006239
+006242
+006244
+006245
+006246
+006248
+006253
+006255
+006256
+006257
+006263
+006265
+006266
+006268
+006271
+006273
+006274
+006278
+006280
+006283
+006287
+006288
+006292
+006293
+006294
+006297
+006298
+006302
+006303
+006307
+006308
+006310
+006311
+006312
+006313
+006315
+006316
+006317
+006322
+006324
+006326
+006327
+006328
+006331
+006332
+006333
+006334
+006336
+006340
+006342
+006343
+006345
+006347
+006354
+006356
+006358
+006359
+006360
+006361
+006364
+006365
+006368
+006370
+006372
+006373
+006376
+006378
+006379
+006380
+006383
+006384
+006386
+006388
+006389
+006390
+006393
+006394
+006397
+006399
+006401
+006402
+006403
+006405
+006406
+006407
+006408
+006410
+006412
+006413
+006414
+006415
+006416
+006420
+006422
+006423
+006426
+006431
+006432
+006435
+006439
+006441
+006446
+006451
+006452
+006453
+006454
+006457
+006460
+006461
+006464
+006467
+006469
+006471
+006477
+006478
+006479
+006481
+006485
+006487
+006489
+006490
+006491
+006493
+006494
+006496
+006498
+006500
+006502
+006504
+006505
+006508
+006510
+006511
+006513
+006514
+006516
+006517
+006518
+006521
+006522
+006525
+006526
+006527
+006528
+006531
+006533
+006535
+006537
+006539
+006540
+006541
+006544
+006545
+006546
+006552
+006554
+006555
+006557
+006558
+006559
+006561
+006563
+006566
+006567
+006568
+006571
+006573
+006574
+006577
+006579
+006580
+006581
+006582
+006586
+006589
+006590
+006591
+006592
+006594
+006596
+006598
+006600
+006601
+006604
+006607
+006608
+006613
+006614
+006615
+006616
+006620
+006623
+006624
+006629
+006630
+006633
+006634
+006639
+006640
+006641
+006642
+006644
+006646
+006649
+006650
+006651
+006653
+006655
+006656
+006659
+006662
+006663
+006665
+006669
+006672
+006675
+006676
+006680
+006683
+006685
+006686
+006688
+006691
+006692
+006693
+006700
+006701
+006705
+006710
+006711
+006712
+006713
+006715
+006716
+006717
+006720
+006721
+006723
+006724
+006728
+006729
+006732
+006733
+006737
+006741
+006742
+006743
+006744
+006745
+006746
+006749
+006750
+006752
+006754
+006756
+006757
+006758
+006763
+006764
+006767
+006770
+006771
+006774
+006775
+006776
+006778
+006779
+006780
+006785
+006787
+006788
+006790
+006791
+006792
+006793
+006795
+006796
+006798
+006801
+006804
+006807
+006809
+006811
+006812
+006815
+006816
+006817
+006818
+006820
+006823
+006826
+006830
+006831
+006832
+006834
+006837
+006843
+006846
+006851
+006853
+006854
+006856
+006857
+006861
+006863
+006870
+006871
+006872
+006873
+006875
+006877
+006879
+006881
+006882
+006885
+006888
+006889
+006890
+006891
+006894
+006895
+006897
+006898
+006901
+006902
+006904
+006905
+006906
+006907
+006913
+006915
+006920
+006921
+006923
+006925
+006926
+006927
+006928
+006929
+006936
+006937
+006938
+006941
+006942
+006946
+006951
+006954
+006955
+006957
+006960
+006961
+006964
+006967
+006969
+006970
+006973
+006974
+006975
+006977
+006978
+006979
+006980
+006982
+006984
+006985
+006986
+006991
+006992
+006993
+006996
+006997
+006998
+006999
+007000
+007001
+007005
+007010
+007012
+007013
+007014
+007015
+007017
+007019
+007024
+007026
+007027
+007028
+007030
+007032
+007034
+007037
+007041
+007043
+007044
+007047
+007051
+007053
+007055
+007057
+007060
+007061
+007063
+007066
+007067
+007069
+007076
+007081
+007082
+007083
+007085
+007087
+007091
+007094
+007096
+007098
+007099
+007102
+007103
+007106
+007107
+007110
+007111
+007112
+007115
+007116
+007118
+007119
+007120
+007124
+007126
+007127
+007131
+007134
+007135
+007136
+007137
+007142
+007143
+007145
+007151
+007155
+007156
+007157
+007158
+007160
+007161
+007164
+007169
+007170
+007171
+007173
+007175
+007176
+007178
+007179
+007181
+007183
+007186
+007188
+007190
+007192
+007195
+007196
+007198
+007199
+007201
+007202
+007203
+007206
+007207
+007209
+007218
+007220
+007221
+007225
+007226
+007228
+007229
+007231
+007232
+007233
+007235
+007237
+007238
+007239
+007240
+007242
+007246
+007248
+007251
+007252
+007253
+007254
+007255
+007257
+007262
+007264
+007265
+007267
+007268
+007269
+007272
+007273
+007277
+007278
+007281
+007282
+007286
+007287
+007288
+007290
+007291
+007293
+007301
+007303
+007304
+007306
+007307
+007309
+007310
+007312
+007313
+007315
+007316
+007317
+007319
+007320
+007321
+007324
+007326
+007328
+007331
+007332
+007333
+007335
+007337
+007338
+007339
+007340
+007341
+007342
+007345
+007347
+007348
+007349
+007352
+007353
+007354
+007355
+007357
+007358
+007360
+007362
+007364
+007366
+007367
+007368
+007371
+007377
+007378
+007379
+007380
+007382
+007384
+007386
+007387
+007391
+007392
+007393
+007395
+007397
+007399
+007400
+007401
+007402
+007403
+007404
+007405
+007406
+007407
+007409
+007412
+007415
+007418
+007420
+007423
+007426
+007428
+007429
+007430
+007434
+007440
+007441
+007442
+007444
+007447
+007450
+007452
+007453
+007455
+007456
+007459
+007462
+007463
+007464
+007469
+007471
+007472
+007473
+007476
+007478
+007485
+007487
+007488
+007492
+007494
+007495
+007496
+007499
+007500
+007501
+007502
+007504
+007505
+007507
+007508
+007509
+007510
+007512
+007514
+007515
+007516
+007518
+007520
+007522
+007529
+007531
+007532
+007534
+007539
+007541
+007542
+007545
+007548
+007549
+007550
+007552
+007553
+007554
+007556
+007557
+007560
+007561
+007562
+007564
+007567
+007569
+007573
+007574
+007577
+007580
+007581
+007582
+007583
+007584
+007587
+007588
+007589
+007591
+007593
+007595
+007596
+007597
+007598
+007599
+007602
+007604
+007607
+007608
+007609
+007610
+007613
+007616
+007617
+007620
+007623
+007625
+007627
+007628
+007630
+007632
+007634
+007635
+007636
+007638
+007641
+007643
+007644
+007645
+007646
+007648
+007651
+007652
+007658
+007659
+007660
+007661
+007665
+007669
+007674
+007676
+007681
+007684
+007686
+007689
+007690
+007693
+007695
+007698
+007700
+007701
+007703
+007706
+007707
+007708
+007710
+007711
+007714
+007716
+007717
+007719
+007722
+007725
+007726
+007728
+007730
+007733
+007734
+007737
+007738
+007739
+007741
+007744
+007747
+007750
+007752
+007755
+007756
+007757
+007759
+007761
+007764
+007766
+007769
+007770
+007771
+007774
+007778
+007780
+007782
+007783
+007784
+007785
+007787
+007788
+007789
+007792
+007794
+007796
+007797
+007800
+007801
+007802
+007804
+007805
+007806
+007807
+007808
+007811
+007816
+007817
+007818
+007822
+007823
+007825
+007827
+007828
+007829
+007830
+007832
+007835
+007837
+007839
+007842
+007844
+007846
+007848
+007849
+007850
+007851
+007852
+007858
+007860
+007861
+007862
+007866
+007867
+007870
+007871
+007874
+007875
+007879
+007880
+007881
+007882
+007887
+007888
+007891
+007892
+007893
+007894
+007895
+007896
+007903
+007904
+007906
+007907
+007912
+007913
+007917
+007918
+007922
+007927
+007929
+007930
+007934
+007936
+007937
+007938
+007941
+007942
+007944
+007945
+007948
+007949
+007951
+007952
+007955
+007957
+007960
+007961
+007962
+007965
+007966
+007967
+007969
+007972
+007973
+007975
+007977
+007978
+007981
+007982
+007983
+007985
+007986
+007988
+007989
+007990
+007992
+007993
+007994
+007995
+008000
+008003
+008006
+008007
+008010
+008011
+008013
+008014
+008015
+008016
+008018
+008020
+008021
+008022
+008025
+008027
+008028
+008030
+008034
+008035
+008038
+008039
+008041
+008045
+008046
+008047
+008050
+008052
+008054
+008055
+008056
+008058
+008059
+008065
+008066
+008070
+008071
+008073
+008074
+008077
+008078
+008080
+008081
+008088
+008089
+008090
+008092
+008094
+008097
+008099
+008102
+008104
+008109
+008110
+008111
+008113
+008114
+008118
+008119
+008120
+008123
+008124
+008126
+008128
+008129
+008131
+008133
+008134
+008135
+008136
+008143
+008145
+008146
+008147
+008148
+008149
+008152
+008153
+008154
+008155
+008156
+008157
+008158
+008161
+008162
+008165
+008167
+008170
+008172
+008176
+008178
+008179
+008181
+008182
+008183
+008184
+008185
+008187
+008192
+008193
+008194
+008195
+008196
+008198
+008201
+008205
+008206
+008207
+008210
+008212
+008214
+008215
+008217
+008219
+008221
+008227
+008228
+008230
+008231
+008233
+008234
+008237
+008238
+008239
+008240
+008242
+008243
+008245
+008246
+008247
+008249
+008255
+008256
+008257
+008259
+008264
+008265
+008266
+008267
+008270
+008271
+008273
+008274
+008276
+008277
+008278
+008283
+008286
+008287
+008288
+008289
+008290
+008291
+008298
+008303
+008304
+008305
+008308
+008309
+008314
+008321
+008324
+008325
+008328
+008330
+008331
+008333
+008334
+008337
+008339
+008340
+008343
+008344
+008347
+008348
+008350
+008352
+008353
+008354
+008356
+008357
+008358
+008361
+008362
+008363
+008366
+008367
+008369
+008371
+008373
+008375
+008377
+008378
+008379
+008380
+008382
+008383
+008389
+008392
+008393
+008394
+008395
+008396
+008399
+008400
+008401
+008402
+008404
+008405
+008406
+008407
+008408
+008411
+008412
+008414
+008417
+008418
+008419
+008420
+008421
+008428
+008431
+008432
+008435
+008436
+008439
+008440
+008441
+008446
+008447
+008448
+008451
+008455
+008457
+008458
+008459
+008460
+008463
+008464
+008469
+008471
+008473
+008474
+008476
+008479
+008480
+008481
+008486
+008487
+008488
+008489
+008490
+008491
+008493
+008496
+008497
+008500
+008501
+008504
+008505
+008507
+008508
+008510
+008511
+008515
+008516
+008520
+008525
+008527
+008528
+008531
+008532
+008537
+008538
+008539
+008540
+008543
+008544
+008545
+008546
+008547
+008548
+008551
+008552
+008554
+008555
+008560
+008561
+008563
+008565
+008566
+008567
+008569
+008570
+008571
+008574
+008575
+008577
+008578
+008579
+008580
+008583
+008589
+008590
+008591
+008593
+008594
+008597
+008598
+008599
+008600
+008603
+008605
+008609
+008611
+008613
+008614
+008616
+008619
+008622
+008623
+008625
+008626
+008627
+008629
+008630
+008631
+008632
+008634
+008637
+008640
+008641
+008642
+008643
+008646
+008648
+008649
+008650
+008651
+008652
+008656
+008657
+008658
+008659
+008660
+008661
+008662
+008664
+008666
+008668
+008669
+008671
+008672
+008673
+008674
+008675
+008677
+008678
+008679
+008681
+008682
+008684
+008685
+008686
+008689
+008693
+008694
+008696
+008697
+008700
+008703
+008704
+008705
+008707
+008708
+008711
+008712
+008714
+008715
+008719
+008721
+008724
+008726
+008729
+008734
+008735
+008736
+008737
+008740
+008743
+008745
+008746
+008751
+008754
+008758
+008761
+008762
+008763
+008765
+008767
+008774
+008777
+008778
+008779
+008780
+008781
+008782
+008785
+008786
+008787
+008788
+008789
+008791
+008792
+008795
+008797
+008798
+008800
+008802
+008803
+008804
+008807
+008808
+008812
+008816
+008818
+008820
+008821
+008824
+008825
+008827
+008828
+008829
+008830
+008832
+008834
+008839
+008842
+008844
+008845
+008846
+008850
+008851
+008852
+008853
+008855
+008857
+008860
+008861
+008863
+008864
+008866
+008868
+008869
+008870
+008875
+008877
+008881
+008882
+008887
+008889
+008893
+008894
+008895
+008896
+008897
+008898
+008899
+008901
+008902
+008903
+008904
+008906
+008907
+008908
+008910
+008912
+008915
+008916
+008918
+008922
+008924
+008925
+008928
+008934
+008935
+008937
+008938
+008941
+008945
+008946
+008947
+008949
+008950
+008952
+008954
+008956
+008957
+008959
+008963
+008964
+008972
+008974
+008977
+008981
+008984
+008986
+008990
+008991
+008992
+008993
+008994
+008996
+008998
+009001
+009003
+009008
+009009
+009010
+009011
+009012
+009013
+009014
+009017
+009021
+009023
+009025
+009026
+009028
+009030
+009031
+009033
+009038
+009040
+009041
+009043
+009044
+009046
+009047
+009050
+009052
+009054
+009055
+009056
+009057
+009061
+009062
+009065
+009067
+009069
+009070
+009071
+009074
+009075
+009076
+009077
+009081
+009082
+009083
+009084
+009088
+009090
+009092
+009093
+009095
+009096
+009097
+009101
+009102
+009103
+009104
+009107
+009109
+009110
+009111
+009115
+009118
+009119
+009120
+009122
+009124
+009125
+009127
+009130
+009132
+009134
+009135
+009137
+009139
+009140
+009142
+009143
+009145
+009146
+009149
+009152
+009154
+009156
+009158
+009164
+009165
+009167
+009169
+009170
+009171
+009172
+009176
+009182
+009183
+009188
+009190
+009198
+009199
+009201
+009203
+009204
+009206
+009207
+009210
+009211
+009216
+009217
+009219
+009220
+009222
+009223
+009225
+009226
+009228
+009229
+009231
+009232
+009233
+009234
+009235
+009237
+009240
+009241
+009243
+009248
+009253
+009256
+009257
+009258
+009260
+009261
+009262
+009263
+009264
+009265
+009266
+009267
+009274
+009275
+009276
+009277
+009280
+009284
+009292
+009293
+009294
+009297
+009298
+009300
+009301
+009302
+009304
+009305
+009310
+009311
+009313
+009314
+009317
+009319
+009320
+009321
+009322
+009328
+009329
+009332
+009335
+009338
+009340
+009341
+009344
+009345
+009346
+009352
+009353
+009355
+009356
+009357
+009360
+009361
+009363
+009364
+009366
+009367
+009369
+009370
+009372
+009376
+009379
+009380
+009381
+009383
+009384
+009385
+009387
+009390
+009391
+009395
+009396
+009397
+009399
+009400
+009402
+009403
+009404
+009415
+009416
+009423
+009425
+009426
+009427
+009428
+009430
+009431
+009435
+009436
+009441
+009442
+009444
+009447
+009449
+009450
+009451
+009452
+009453
+009462
+009467
+009471
+009473
+009474
+009475
+009478
+009482
+009483
+009485
+009486
+009487
+009489
+009492
+009493
+009495
+009498
+009501
+009503
+009505
+009506
+009509
+009510
+009511
+009513
+009514
+009521
+009522
+009525
+009529
+009530
+009534
+009535
+009536
+009538
+009539
+009544
+009547
+009548
+009552
+009553
+009554
+009555
+009556
+009559
+009561
+009563
+009564
+009569
+009570
+009572
+009574
+009575
+009578
+009581
+009582
+009583
+009589
+009590
+009592
+009593
+009594
+009595
+009599
+009601
+009602
+009604
+009606
+009607
+009608
+009610
+009612
+009616
+009622
+009624
+009625
+009626
+009628
+009630
+009631
+009632
+009633
+009635
+009639
+009640
+009642
+009643
+009645
+009646
+009648
+009651
+009652
+009653
+009657
+009660
+009661
+009662
+009663
+009665
+009669
+009672
+009673
+009674
+009675
+009677
+009680
+009682
+009683
+009688
+009689
+009690
+009694
+009696
+009697
+009701
+009704
+009705
+009708
+009714
+009715
+009716
+009720
+009722
+009723
+009725
+009727
+009728
+009730
+009731
+009736
+009739
+009740
+009741
+009742
+009744
+009750
+009751
+009752
+009753
+009757
+009759
+009760
+009765
+009766
+009768
+009769
+009770
+009771
+009775
+009777
+009779
+009782
+009783
+009784
+009786
+009787
+009788
+009791
+009793
+009795
+009798
+009799
+009802
+009803
+009804
+009806
+009811
+009812
+009814
+009815
+009817
+009818
+009820
+009821
+009824
+009826
+009827
+009829
+009835
+009837
+009838
+009840
+009843
+009844
+009846
+009847
+009849
+009850
+009853
+009854
+009856
+009857
+009861
+009864
+009866
+009871
+009873
+009875
+009876
+009883
+009885
+009888
+009889
+009890
+009891
+009892
+009893
+009895
+009899
+009901
+009903
+009906
+009907
+009909
+009910
+009912
+009914
+009915
+009916
+009919
+009921
+009922
+009924
+009925
+009927
+009928
+009929
+009930
+009931
+009933
+009934
+009936
+009937
+009941
+009943
+009948
+009951
+009952
+009953
+009956
+009957
+009960
+009962
+009963
+000000321546
+000000306094
+000000045356
+000000361381
+000000315994
+000000466714
+000000341950
+000000099382
+000000154207
+000000138456
+000000505895
+000000534581
+000000292278
+000000346189
+000000314602
+000000321007
+000000382751
+000000240661
+000000199533
+000000552336
+000000226712
+000000097610
+000000243783
+000000047071
+000000225230
+000000251793
+000000256513
+000000158345
+000000021254
+000000468670
+000000529069
+000000012213
+000000375226
+000000527391
+000000316170
+000000046428
+000000162164
+000000403398
+000000365572
+000000549409
+000000184383
+000000434328
+000000339355
+000000272441
+000000559151
+000000464937
+000000433021
+000000341674
+000000417039
+000000385931
+000000554642
+000000382699
+000000346013
+000000553501
+000000013922
+000000277188
+000000125432
+000000327549
+000000391154
+000000088871
+000000220821
+000000332663
+000000320222
+000000334208
+000000360185
+000000267515
+000000208371
+000000267647
+000000120176
+000000319616
+000000061052
+000000160393
+000000507809
+000000473438
+000000565476
+000000485616
+000000325564
+000000032779
+000000244326
+000000134502
+000000336643
+000000306724
+000000043319
+000000435488
+000000223319
+000000122936
+000000425010
+000000182366
+000000428304
+000000514055
+000000363078
+000000490153
+000000057339
+000000152759
+000000427129
+000000501385
+000000436138
+000000580406
+000000560103
+000000492506
+000000014008
+000000207625
+000000330931
+000000318187
+000000082480
+000000536884
+000000404869
+000000145032
+000000572935
+000000068595
+000000227293
+000000501047
+000000061936
+000000160510
+000000578875
+000000223470
+000000075725
+000000567084
+000000281774
+000000222871
+000000407198
+000000075076
+000000154680
+000000180549
+000000030023
+000000146465
+000000287039
+000000042144
+000000529824
+000000200307
+000000354804
+000000527625
+000000267583
+000000578009
+000000029426
+000000180908
+000000381251
+000000511403
+000000257711
+000000291587
+000000361638
+000000211115
+000000579629
+000000314833
+000000560368
+000000479036
+000000239504
+000000151054
+000000516080
+000000416749
+000000106019
+000000385641
+000000575908
+000000261071
+000000540843
+000000523267
+000000100166
+000000361933
+000000102200
+000000578047
+000000058732
+000000541880
+000000262460
+000000139007
+000000320899
+000000081474
+000000179953
+000000366290
+000000094502
+000000530863
+000000422866
+000000332532
+000000209692
+000000020171
+000000492911
+000000284324
+000000094025
+000000459914
+000000272857
+000000257490
+000000333106
+000000104449
+000000127418
+000000426309
+000000495348
+000000081299
+000000349603
+000000364399
+000000319766
+000000531814
+000000577091
+000000192681
+000000025809
+000000190094
+000000079868
+000000439519
+000000576667
+000000518377
+000000081656
+000000180479
+000000201394
+000000514407
+000000185620
+000000569384
+000000092034
+000000218863
+000000092749
+000000145083
+000000279388
+000000283583
+000000536318
+000000572474
+000000465200
+000000369712
+000000033787
+000000516508
+000000151405
+000000338057
+000000047545
+000000405778
+000000305075
+000000192655
+000000427956
+000000384612
+000000094084
+000000187560
+000000266136
+000000529023
+000000234463
+000000054718
+000000350722
+000000054490
+000000026159
+000000213438
+000000012357
+000000013428
+000000353282
+000000214507
+000000150301
+000000406826
+000000494003
+000000337185
+000000184550
+000000358190
+000000242286
+000000009709
+000000175091
+000000401440
+000000063399
+000000116746
+000000064865
+000000449073
+000000188727
+000000348247
+000000210612
+000000112928
+000000246920
+000000280926
+000000234084
+000000069504
+000000228817
+000000570259
+000000379246
+000000540100
+000000219329
+000000487153
+000000542713
+000000346367
+000000192457
+000000363639
+000000370224
+000000385276
+000000131895
+000000100140
+000000184184
+000000115299
+000000448319
+000000299776
+000000436875
+000000411291
+000000442868
+000000369349
+000000236963
+000000178440
+000000322122
+000000561201
+000000277543
+000000272385
+000000518818
+000000520758
+000000046250
+000000575523
+000000480501
+000000015203
+000000231392
+000000121356
+000000080987
+000000015112
+000000527717
+000000164830
+000000421155
+000000516628
+000000340941
+000000454110
+000000267217
+000000259910
+000000125142
+000000446303
+000000466374
+000000368291
+000000221234
+000000286860
+000000215488
+000000089196
+000000168217
+000000253784
+000000421676
+000000260844
+000000267988
+000000263264
+000000365032
+000000368871
+000000353581
+000000403747
+000000530163
+000000269206
+000000392555
+000000382939
+000000396193
+000000410947
+000000000332
+000000141265
+000000314027
+000000106644
+000000234343
+000000481120
+000000030588
+000000510225
+000000036501
+000000524773
+000000059996
+000000446218
+000000453517
+000000134538
+000000522061
+000000079710
+000000554744
+000000025316
+000000332069
+000000290938
+000000314710
+000000034121
+000000042321
+000000191242
+000000218283
+000000046065
+000000112320
+000000493902
+000000547118
+000000096070
+000000566699
+000000529379
+000000489117
+000000577604
+000000261496
+000000188973
+000000482093
+000000509986
+000000380106
+000000052256
+000000161356
+000000203775
+000000567407
+000000136807
+000000069705
+000000384036
+000000320804
+000000530860
+000000550972
+000000154817
+000000041839
+000000393744
+000000415768
+000000306222
+000000229456
+000000336621
+000000232123
+000000356314
+000000279877
+000000551934
+000000027550
+000000264962
+000000186554
+000000010735
+000000141219
+000000383012
+000000045361
+000000452516
+000000082324
+000000236843
+000000210042
+000000017651
+000000538513
+000000093427
+000000026086
+000000307149
+000000155578
+000000000590
+000000068023
+000000378059
+000000266898
+000000017873
+000000210856
+000000469754
+000000232627
+000000348479
+000000511892
+000000570339
+000000341792
+000000366099
+000000426075
+000000423343
+000000205898
+000000387669
+000000326442
+000000549400
+000000103151
+000000175135
+000000386179
+000000365514
+000000230050
+000000362690
+000000478072
+000000401820
+000000318039
+000000345864
+000000364064
+000000005184
+000000541157
+000000361148
+000000152618
+000000223450
+000000322615
+000000216218
+000000003518
+000000121902
+000000149791
+000000460148
+000000285089
+000000144321
+000000177449
+000000069350
+000000431025
+000000312630
+000000043099
+000000228464
+000000390260
+000000391521
+000000471497
+000000101132
+000000008958
+000000269718
+000000016543
+000000266370
+000000150365
+000000471139
+000000195343
+000000264838
+000000230966
+000000230838
+000000453328
+000000260285
+000000436407
+000000423638
+000000357996
+000000537982
+000000117454
+000000203667
+000000574668
+000000427560
+000000222994
+000000414082
+000000007205
+000000045962
+000000340498
+000000552156
+000000332315
+000000371871
+000000023630
+000000006871
+000000512304
+000000459898
+000000182291
+000000250735
+000000554351
+000000455343
+000000024765
+000000195531
+000000103375
+000000174866
+000000407349
+000000450551
+000000453866
+000000302572
+000000149212
+000000434870
+000000326209
+000000542950
+000000208974
+000000064360
+000000474713
+000000041713
+000000240501
+000000228884
+000000482877
+000000471043
+000000138148
+000000545534
+000000305635
+000000489771
+000000482409
+000000037509
+000000480409
+000000166869
+000000505986
+000000077151
+000000097806
+000000138271
+000000501002
+000000182658
+000000372717
+000000112129
+000000122704
+000000326663
+000000552927
+000000284256
+000000081211
+000000208414
+000000505371
+000000470975
+000000054082
+000000275515
+000000571196
+000000113054
+000000303928
+000000438851
+000000430681
+000000372635
+000000078243
+000000131126
+000000371782
+000000293520
+000000318990
+000000497661
+000000221040
+000000572183
+000000118764
+000000089614
+000000139482
+000000186193
+000000321610
+000000054323
+000000098197
+000000168329
+000000381390
+000000126674
+000000567245
+000000375192
+000000385743
+000000275603
+000000456736
+000000283809
+000000503252
+000000061076
+000000188544
+000000089955
+000000434043
+000000419558
+000000323634
+000000522916
+000000538276
+000000497731
+000000205572
+000000214719
+000000445276
+000000159771
+000000401944
+000000143501
+000000305035
+000000369139
+000000220171
+000000320282
+000000112577
+000000298672
+000000122584
+000000407550
+000000258155
+000000388018
+000000349425
+000000168246
+000000209006
+000000130037
+000000531490
+000000266536
+000000270295
+000000370116
+000000156466
+000000403541
+000000172463
+000000024351
+000000255089
+000000237663
+000000256552
+000000054691
+000000355193
+000000389622
+000000532926
+000000439352
+000000166096
+000000137704
+000000359872
+000000332537
+000000544288
+000000249587
+000000433792
+000000277134
+000000113236
+000000276945
+000000541421
+000000431788
+000000249295
+000000518365
+000000462736
+000000144182
+000000065737
+000000569389
+000000527891
+000000149284
+000000257706
+000000384738
+000000040418
+000000067634
+000000478645
+000000491932
+000000394165
+000000040934
+000000063573
+000000435930
+000000390693
+000000009822
+000000454623
+000000119495
+000000224594
+000000421848
+000000199319
+000000173620
+000000059454
+000000225598
+000000308674
+000000308085
+000000261481
+000000149251
+000000041939
+000000364642
+000000135845
+000000130130
+000000206830
+000000231984
+000000247459
+000000225198
+000000320788
+000000149381
+000000203131
+000000481073
+000000100407
+000000225075
+000000047737
+000000012179
+000000277907
+000000086630
+000000459136
+000000356962
+000000357641
+000000174623
+000000212203
+000000263147
+000000449574
+000000281365
+000000531334
+000000093119
+000000023803
+000000305384
+000000355688
+000000439911
+000000432636
+000000410216
+000000149767
+000000286639
+000000500792
+000000159682
+000000134846
+000000029327
+000000191812
+000000534935
+000000101702
+000000050736
+000000062257
+000000445515
+000000302216
+000000026002
+000000419738
+000000551873
+000000036110
+000000045574
+000000045974
+000000191706
+000000360700
+000000233337
+000000000584
+000000520663
+000000561027
+000000247895
+000000250855
+000000282834
+000000187125
+000000479531
+000000346391
+000000226583
+000000416787
+000000438556
+000000255827
+000000159392
+000000222811
+000000493814
+000000056557
+000000514171
+000000313557
+000000253712
+000000465204
+000000049798
+000000158179
+000000065047
+000000341635
+000000201764
+000000377620
+000000098707
+000000170976
+000000451952
+000000301778
+000000325894
+000000469002
+000000515287
+000000540162
+000000329566
+000000190334
+000000133741
+000000342478
+000000322191
+000000140713
+000000108392
+000000116005
+000000554749
+000000258909
+000000257983
+000000115660
+000000456350
+000000049443
+000000330368
+000000291285
+000000145791
+000000395130
+000000191175
+000000448161
+000000231178
+000000011196
+000000238049
+000000007498
+000000093219
+000000575612
+000000411943
+000000070589
+000000490830
+000000405400
+000000020913
+000000029122
+000000578411
+000000198271
+000000519911
+000000201368
+000000279104
+000000213399
+000000313768
+000000028850
+000000005785
+000000143051
+000000069747
+000000178145
+000000268146
+000000460813
+000000110683
+000000085288
+000000067779
+000000428375
+000000378896
+000000134685
+000000193889
+000000008290
+000000057091
+000000288556
+000000376187
+000000519046
+000000193074
+000000429946
+000000018874
+000000167700
+000000063261
+000000514200
+000000042696
+000000092771
+000000068212
+000000408672
+000000213499
+000000264236
+000000202279
+000000180495
+000000030535
+000000463619
+000000388581
+000000246909
+000000313799
+000000044277
+000000550298
+000000419383
+000000465780
+000000156739
+000000392631
+000000100244
+000000212247
+000000333652
+000000415340
+000000085339
+000000472836
+000000430531
+000000253233
+000000416054
+000000426049
+000000419116
+000000013517
+000000462519
+000000432615
+000000265742
+000000206809
+000000075132
+000000085143
+000000373022
+000000293955
+000000378548
+000000241204
+000000511849
+000000129532
+000000526588
+000000401718
+000000369609
+000000106241
+000000332027
+000000238708
+000000472516
+000000564475
+000000130884
+000000504470
+000000423391
+000000405088
+000000503718
+000000389914
+000000341513
+000000494438
+000000321805
+000000410932
+000000195390
+000000033909
+000000372112
+000000109928
+000000010702
+000000172658
+000000284551
+000000177419
+000000560307
+000000165426
+000000212292
+000000469632
+000000245043
+000000342718
+000000203955
+000000283982
+000000058522
+000000181920
+000000202966
+000000197850
+000000166356
+000000579560
+000000539224
+000000281385
+000000498994
+000000453154
+000000575228
+000000527243
+000000184159
+000000520087
+000000226677
+000000581262
+000000546933
+000000530212
+000000256196
+000000562401
+000000435896
+000000481648
+000000137779
+000000280721
+000000150185
+000000111824
+000000003084
+000000007251
+000000001647
+000000229647
+000000221949
+000000078468
+000000328041
+000000210480
+000000000941
+000000258905
+000000096244
+000000468214
+000000110084
+000000392062
+000000448555
+000000431696
+000000377371
+000000192577
+000000427096
+000000496283
+000000362275
+000000491477
+000000017352
+000000280424
+000000344171
+000000385916
+000000488522
+000000220062
+000000271046
+000000528882
+000000411855
+000000209931
+000000472444
+000000028982
+000000025414
+000000368637
+000000570333
+000000352576
+000000372816
+000000503949
+000000464081
+000000175270
+000000417410
+000000406359
+000000024805
+000000201698
+000000268586
+000000361124
+000000400953
+000000034972
+000000344075
+000000075735
+000000296151
+000000176551
+000000141317
+000000373737
+000000393126
+000000208310
+000000208318
+000000311476
+000000258788
+000000340754
+000000112897
+000000335935
+000000156396
+000000557137
+000000512729
+000000096202
+000000493329
+000000343863
+000000433214
+000000445638
+000000188696
+000000348935
+000000208830
+000000381204
+000000150669
+000000384197
+000000389466
+000000577451
+000000487295
+000000265150
+000000353901
+000000018191
+000000109873
+000000205520
+000000034193
+000000146237
+000000131159
+000000561004
+000000110759
+000000039663
+000000361259
+000000219869
+000000553558
+000000460422
+000000569442
+000000412326
+000000095516
+000000226018
+000000323115
+000000158372
+000000102080
+000000188218
+000000036633
+000000556932
+000000310711
+000000049946
+000000416300
+000000096473
+000000019852
+000000071621
+000000448494
+000000271888
+000000360263
+000000518725
+000000000982
+000000417159
+000000459440
+000000366162
+000000162384
+000000007517
+000000237131
+000000494433
+000000026297
+000000131952
+000000445372
+000000382652
+000000571553
+000000541514
+000000539768
+000000158088
+000000376017
+000000310706
+000000344763
+000000125458
+000000297415
+000000505729
+000000295379
+000000499730
+000000486043
+000000260942
+000000025820
+000000450426
+000000549766
+000000134213
+000000127204
+000000369094
+000000105330
+000000444531
+000000116845
+000000504099
+000000258710
+000000164386
+000000242216
+000000242073
+000000306722
+000000559912
+000000444626
+000000342494
+000000505487
+000000166335
+000000028649
+000000047944
+000000008081
+000000364521
+000000277700
+000000102348
+000000563731
+000000212138
+000000331692
+000000027679
+000000133115
+000000000387
+000000350988
+000000199554
+000000247311
+000000198360
+000000451647
+000000511651
+000000024498
+000000429727
+000000223577
+000000466863
+000000018292
+000000099642
+000000083716
+000000076529
+000000089481
+000000248341
+000000187654
+000000575414
+000000097180
+000000206341
+000000172970
+000000483275
+000000019581
+000000503595
+000000141805
+000000016836
+000000530888
+000000550206
+000000024894
+000000345803
+000000185774
+000000289293
+000000507135
+000000056997
+000000267715
+000000292662
+000000113182
+000000508580
+000000342299
+000000021588
+000000145614
+000000245978
+000000151282
+000000029671
+000000294104
+000000053916
+000000374453
+000000451133
+000000006809
+000000498007
+000000449387
+000000295135
+000000092181
+000000250498
+000000443512
+000000569349
+000000091973
+000000493272
+000000463019
+000000538819
+000000425201
+000000249365
+000000046114
+000000302089
+000000257847
+000000190033
+000000296367
+000000027017
+000000510154
+000000108326
+000000342999
+000000091719
+000000139210
+000000358620
+000000034830
+000000107262
+000000470370
+000000154686
+000000481760
+000000533897
+000000105537
+000000178810
+000000252381
+000000391492
+000000018014
+000000136881
+000000535448
+000000311041
+000000400257
+000000050552
+000000396494
+000000020912
+000000571683
+000000295059
+000000086584
+000000377208
+000000537037
+000000406595
+000000035916
+000000014869
+000000059540
+000000425595
+000000056312
+000000330229
+000000459793
+000000179118
+000000166463
+000000007669
+000000378692
+000000571839
+000000225358
+000000225463
+000000486825
+000000127540
+000000544086
+000000291582
+000000104265
+000000311887
+000000487025
+000000032986
+000000276913
+000000528731
+000000303804
+000000268071
+000000375054
+000000488790
+000000374890
+000000391305
+000000451761
+000000493386
+000000340958
+000000106585
+000000176923
+000000168194
+000000503983
+000000236173
+000000088025
+000000578734
+000000366630
+000000253942
+000000182316
+000000044923
+000000281959
+000000190391
+000000146563
+000000365866
+000000322392
+000000487009
+000000445605
+000000502006
+000000364249
+000000141211
+000000507783
+000000424959
+000000118734
+000000321651
+000000271051
+000000480179
+000000285433
+000000417540
+000000344261
+000000071972
+000000343815
+000000278899
+000000311478
+000000475457
+000000415225
+000000043494
+000000381865
+000000364618
+000000364917
+000000439398
+000000268855
+000000010217
+000000028576
+000000241974
+000000408417
+000000116521
+000000291102
+000000341411
+000000570209
+000000390782
+000000369355
+000000416322
+000000230484
+000000154770
+000000517690
+000000248370
+000000518719
+000000256091
+000000420079
+000000000263
+000000231326
+000000506574
+000000482929
+000000254366
+000000141756
+000000084949
+000000118108
+000000321943
+000000311583
+000000320808
+000000117064
+000000285002
+000000135206
+000000337365
+000000437467
+000000442791
+000000197278
+000000184590
+000000257137
+000000244923
+000000033994
+000000251408
+000000349782
+000000377282
+000000557197
+000000309494
+000000251183
+000000395268
+000000511432
+000000428208
+000000228373
+000000349104
+000000344924
+000000559591
+000000384335
+000000298081
+000000412167
+000000434413
+000000191264
+000000063882
+000000152795
+000000242909
+000000388507
+000000140352
+000000382542
+000000461477
+000000036324
+000000459164
+000000548593
+000000156832
+000000215596
+000000512495
+000000357386
+000000533125
+000000410447
+000000327664
+000000276836
+000000389986
+000000155108
+000000245662
+000000233614
+000000164918
+000000289575
+000000014514
+000000573119
+000000571973
+000000520956
+000000220782
+000000543961
+000000071502
+000000144224
+000000462353
+000000530064
+000000497351
+000000459942
+000000127377
+000000184325
+000000083986
+000000296388
+000000069087
+000000317690
+000000183898
+000000248116
+000000427603
+000000359132
+000000197853
+000000119827
+000000010733
+000000103403
+000000265982
+000000279025
+000000051454
+000000041785
+000000479395
+000000254989
+000000299811
+000000569866
+000000124718
+000000403868
+000000209382
+000000286100
+000000076428
+000000322023
+000000468237
+000000262347
+000000429052
+000000215069
+000000568110
+000000026171
+000000478614
+000000322638
+000000454232
+000000189838
+000000161752
+000000462164
+000000330917
+000000537382
+000000352305
+000000505849
+000000456756
+000000427083
+000000418215
+000000088080
+000000390583
+000000342139
+000000506388
+000000495073
+000000381922
+000000317935
+000000445446
+000000062943
+000000299326
+000000117308
+000000257497
+000000178957
+000000127054
+000000284993
+000000469810
+000000183753
+000000427859
+000000306281
+000000484364
+000000504414
+000000084679
+000000186880
+000000119015
+000000487489
+000000256097
+000000523772
+000000163579
+000000192080
+000000371186
+000000534901
+000000252413
+000000187559
+000000269590
+000000401336
+000000184161
+000000315053
+000000479481
+000000569286
+000000118607
+000000267184
+000000422286
+000000302643
+000000434915
+000000114541
+000000025535
+000000015311
+000000391481
+000000018319
+000000435048
+000000499237
+000000093836
+000000216837
+000000264316
+000000321935
+000000414894
+000000196974
+000000486159
+000000122017
+000000422029
+000000331129
+000000349621
+000000394441
+000000178131
+000000563840
+000000247744
+000000482432
+000000417193
+000000108536
+000000301347
+000000019711
+000000249073
+000000214766
+000000403950
+000000229599
+000000335243
+000000183249
+000000104392
+000000254005
+000000011010
+000000340393
+000000346940
+000000321897
+000000340737
+000000148808
+000000461007
+000000081081
+000000428407
+000000537389
+000000518907
+000000255197
+000000046883
+000000220548
+000000225587
+000000449758
+000000057859
+000000229140
+000000569838
+000000450404
+000000084591
+000000099892
+000000267880
+000000204463
+000000446045
+000000369509
+000000575916
+000000428943
+000000242940
+000000280267
+000000546021
+000000457335
+000000186233
+000000196198
+000000382148
+000000112732
+000000415151
+000000259906
+000000504297
+000000116352
+000000044767
+000000053931
+000000328783
+000000443752
+000000398580
+000000143557
+000000563311
+000000386584
+000000561196
+000000415839
+000000031437
+000000406080
+000000234709
+000000264540
+000000152898
+000000062540
+000000057454
+000000377864
+000000309710
+000000217240
+000000363247
+000000144176
+000000270303
+000000001099
+000000072004
+000000482499
+000000254400
+000000372894
+000000203472
+000000407019
+000000283545
+000000033918
+000000289966
+000000222857
+000000484425
+000000561853
+000000434771
+000000532520
+000000262013
+000000443391
+000000408227
+000000521480
+000000529542
+000000122964
+000000547106
+000000007367
+000000536199
+000000029716
+000000103773
+000000335132
+000000061034
+000000347557
+000000500446
+000000070097
+000000246958
+000000460986
+000000422473
+000000117368
+000000289204
+000000250261
+000000219339
+000000254853
+000000445305
+000000323278
+000000564812
+000000396304
+000000515355
+000000046104
+000000298427
+000000085817
+000000164179
+000000374950
+000000215795
+000000560818
+000000318311
+000000224895
+000000371489
+000000137842
+000000318124
+000000378791
+000000510606
+000000521175
+000000136168
+000000329903
+000000131128
+000000495957
+000000332300
+000000097243
+000000195203
+000000378051
+000000415964
+000000211653
+000000451758
+000000494122
+000000572260
+000000360209
+000000022090
+000000418726
+000000522105
+000000404750
+000000368117
+000000546070
+000000061502
+000000154167
+000000347590
+000000390287
+000000415670
+000000429074
+000000230305
+000000355748
+000000328847
+000000496261
+000000567423
+000000113106
+000000170440
+000000498649
+000000356787
+000000309660
+000000379518
+000000196192
+000000445131
+000000487114
+000000196093
+000000275913
+000000096445
+000000127899
+000000343574
+000000362677
+000000076329
+000000080486
+000000561529
+000000072466
+000000547614
+000000444082
+000000440354
+000000085637
+000000239980
+000000202909
+000000098854
+000000402559
+000000049987
+000000124759
+000000201405
+000000461283
+000000117379
+000000319914
+000000303250
+000000421745
+000000357841
+000000149456
+000000118625
+000000285352
+000000369630
+000000009398
+000000226459
+000000279608
+000000039012
+000000405527
+000000185151
+000000362608
+000000202426
+000000571483
+000000186556
+000000237459
+000000377397
+000000358586
+000000442793
+000000044038
+000000094381
+000000557720
+000000051277
+000000233997
+000000019167
+000000095551
+000000485422
+000000494300
+000000449942
+000000173742
+000000135438
+000000073835
+000000308210
+000000228392
+000000328921
+000000347142
+000000022270
+000000468996
+000000213338
+000000295201
+000000228025
+000000229654
+000000181742
+000000253049
+000000405291
+000000496801
+000000461480
+000000493507
+000000363592
+000000016720
+000000183893
+000000187868
+000000476321
+000000551661
+000000329151
+000000282994
+000000389426
+000000480739
+000000462908
+000000412978
+000000551050
+000000036739
+000000471332
+000000268826
+000000320362
+000000038177
+000000149091
+000000023797
+000000170607
+000000101719
+000000432877
+000000329150
+000000480894
+000000565788
+000000212587
+000000315278
+000000331354
+000000232517
+000000404046
+000000381560
+000000286820
+000000386964
+000000370790
+000000438427
+000000524531
+000000542814
+000000562382
+000000212089
+000000522438
+000000330716
+000000560052
+000000563764
+000000157238
+000000157181
+000000049369
+000000079143
+000000289987
+000000571656
+000000175609
+000000552004
+000000458879
+000000258509
+000000041183
+000000042333
+000000573232
+000000116717
+000000117191
+000000218503
+000000044993
+000000295285
+000000576902
+000000442133
+000000454854
+000000270898
+000000460022
+000000200725
+000000369438
+000000349237
+000000387748
+000000429323
+000000513520
+000000504454
+000000384463
+000000407039
+000000224736
+000000551559
+000000370310
+000000503227
+000000417015
+000000581913
+000000072629
+000000277208
+000000109753
+000000317732
+000000085939
+000000465545
+000000358642
+000000439126
+000000442614
+000000071476
+000000207916
+000000429940
+000000219514
+000000214845
+000000460078
+000000244222
+000000481890
+000000338168
+000000332815
+000000233780
+000000196118
+000000542720
+000000121318
+000000336492
+000000287094
+000000224281
+000000089121
+000000259959
+000000368253
+000000048185
+000000258659
+000000261789
+000000386819
+000000571938
+000000525152
+000000569656
+000000528516
+000000579374
+000000065586
+000000475641
+000000360367
+000000508731
+000000139564
+000000435902
+000000115358
+000000413602
+000000496991
+000000388854
+000000398895
+000000287285
+000000058861
+000000526132
+000000047467
+000000285817
+000000191149
+000000398005
+000000229566
+000000179667
+000000013016
+000000575473
+000000129632
+000000287006
+000000261178
+000000473929
+000000086864
+000000346591
+000000026762
+000000041147
+000000065463
+000000198631
+000000449693
+000000180624
+000000518610
+000000489276
+000000202436
+000000339227
+000000328295
+000000252604
+000000196168
+000000125167
+000000496166
+000000394504
+000000278175
+000000312017
+000000539129
+000000367881
+000000018476
+000000415849
+000000130269
+000000388126
+000000574166
+000000236542
+000000150212
+000000051101
+000000287927
+000000181516
+000000466895
+000000121559
+000000467022
+000000317325
+000000146901
+000000167155
+000000499110
+000000341048
+000000009262
+000000305821
+000000179610
+000000059118
+000000412267
+000000253718
+000000294763
+000000232085
+000000440409
+000000429318
+000000382127
+000000221380
+000000008691
+000000292386
+000000565722
+000000104589
+000000103058
+000000560591
+000000226552
+000000469824
+000000123901
+000000159121
+000000445076
+000000122493
+000000073453
+000000395703
+000000213113
+000000230017
+000000296809
+000000305412
+000000474108
+000000240323
+000000154878
+000000490991
+000000497187
+000000347811
+000000476628
+000000091113
+000000215300
+000000516823
+000000470348
+000000422466
+000000149469
+000000023623
+000000150370
+000000374162
+000000186179
+000000281567
+000000145699
+000000267242
+000000406155
+000000079808
+000000033144
+000000209967
+000000315609
+000000025743
+000000362521
+000000256400
+000000064622
+000000524196
+000000269946
+000000424694
+000000262897
+000000150812
+000000267055
+000000434394
+000000203635
+000000284469
+000000560138
+000000496210
+000000116603
+000000000908
+000000127654
+000000530583
+000000101330
+000000031568
+000000238858
+000000466992
+000000424411
+000000455222
+000000401124
+000000462559
+000000069163
+000000133152
+000000513445
+000000182503
+000000051993
+000000472415
+000000427975
+000000057173
+000000044723
+000000062957
+000000365918
+000000012416
+000000411658
+000000536412
+000000379736
+000000194009
+000000296283
+000000574922
+000000143323
+000000514280
+000000569607
+000000026174
+000000349234
+000000549629
+000000024547
+000000321217
+000000226539
+000000242403
+000000412939
+000000444340
+000000453297
+000000366349
+000000517081
+000000153094
+000000015155
+000000560683
+000000260883
+000000236197
+000000174722
+000000342988
+000000240288
+000000260464
+000000274463
+000000274156
+000000284259
+000000174238
+000000122987
+000000041200
+000000030803
+000000191666
+000000208690
+000000142333
+000000063724
+000000329286
+000000538944
+000000084651
+000000167894
+000000015614
+000000064822
+000000184446
+000000443627
+000000556811
+000000247536
+000000565857
+000000182212
+000000225121
+000000390908
+000000146760
+000000145290
+000000487191
+000000293374
+000000293448
+000000348854
+000000479198
+000000215242
+000000270938
+000000012010
+000000132861
+000000364748
+000000079127
+000000207059
+000000237437
+000000149202
+000000338289
+000000299017
+000000571535
+000000095651
+000000533004
+000000279997
+000000419028
+000000569529
+000000543494
+000000261876
+000000165675
+000000028976
+000000540830
+000000023699
+000000496847
+000000381998
+000000388761
+000000409455
+000000349164
+000000571031
+000000562712
+000000314801
+000000432372
+000000540464
+000000028451
+000000455952
+000000403325
+000000447552
+000000105318
+000000134532
+000000161885
+000000018864
+000000297502
+000000405053
+000000514116
+000000366683
+000000478105
+000000157669
+000000284860
+000000235168
+000000575666
+000000039520
+000000149660
+000000200642
+000000104397
+000000437685
+000000420450
+000000206385
+000000324033
+000000139277
+000000260668
+000000499366
+000000243836
+000000580296
+000000184210
+000000558646
+000000102996
+000000014025
+000000084040
+000000288591
+000000082860
+000000334373
+000000119456
+000000534191
+000000368780
+000000053999
+000000119579
+000000090261
+000000475413
+000000067997
+000000088456
+000000140613
+000000494835
+000000519446
+000000292289
+000000106902
+000000094113
+000000094145
+000000528129
+000000351139
+000000440625
+000000567982
+000000399009
+000000283530
+000000453857
+000000560235
+000000335697
+000000398648
+000000278291
+000000215421
+000000190241
+000000553588
+000000501909
+000000033386
+000000139144
+000000137096
+000000027108
+000000429305
+000000019184
+000000218215
+000000156405
+000000389283
+000000446531
+000000181611
+000000528992
+000000484180
+000000310526
+000000030281
+000000451428
+000000000034
+000000017613
+000000125473
+000000105592
+000000521201
+000000137045
+000000537803
+000000211983
+000000331096
+000000116226
+000000308222
+000000328902
+000000225617
+000000536973
+000000466052
+000000326640
+000000360658
+000000304654
+000000140118
+000000391912
+000000482071
+000000310140
+000000410096
+000000167322
+000000279387
+000000355819
+000000187434
+000000302185
+000000392624
+000000075361
+000000105594
+000000477321
+000000551602
+000000220654
+000000196699
+000000231828
+000000490471
+000000411082
+000000249856
+000000182179
+000000022113
+000000239082
+000000537188
+000000298809
+000000235244
+000000037868
+000000552685
+000000543762
+000000163639
+000000245902
+000000258282
+000000199257
+000000532403
+000000315645
+000000267067
+000000350328
+000000566135
+000000546337
+000000449901
+000000340489
+000000281674
+000000393696
+000000550993
+000000413736
+000000132161
+000000535788
+000000559395
+000000291786
+000000018425
+000000283996
+000000574250
+000000043997
+000000575854
+000000171086
+000000287369
+000000305496
+000000476055
+000000259337
+000000535661
+000000456328
+000000251591
+000000555627
+000000073417
+000000503715
+000000005437
+000000538058
+000000120197
+000000115777
+000000230152
+000000413475
+000000302221
+000000075948
+000000297678
+000000511168
+000000484214
+000000082776
+000000140691
+000000220735
+000000011552
+000000321308
+000000470931
+000000389946
+000000004338
+000000235532
+000000115740
+000000515719
+000000454210
+000000188515
+000000307033
+000000185848
+000000462386
+000000481504
+000000208319
+000000292581
+000000197335
+000000397322
+000000161782
+000000294877
+000000477718
+000000487534
+000000331749
+000000145755
+000000183204
+000000048376
+000000432119
+000000346006
+000000280515
+000000085452
+000000262180
+000000369637
+000000009214
+000000211839
+000000074502
+000000085962
+000000544026
+000000091135
+000000089223
+000000048641
+000000543164
+000000489605
+000000336937
+000000320173
+000000312240
+000000261948
+000000061526
+000000325647
+000000576262
+000000571331
+000000194459
+000000157502
+000000529562
+000000504608
+000000058431
+000000168879
+000000348825
+000000441738
+000000416884
+000000361145
+000000506270
+000000404626
+000000033891
+000000335610
+000000201928
+000000405747
+000000460559
+000000474732
+000000498949
+000000400133
+000000095620
+000000452543
+000000095397
+000000535284
+000000534001
+000000379318
+000000246794
+000000572372
+000000025541
+000000426687
+000000209746
+000000266487
+000000315622
+000000108840
+000000352561
+000000298979
+000000308512
+000000006688
+000000044436
+000000292435
+000000550066
+000000432619
+000000085750
+000000059987
+000000163879
+000000444203
+000000488828
+000000154140
+000000461701
+000000384338
+000000121215
+000000478220
+000000357443
+000000353662
+000000555871
+000000284020
+000000034683
+000000539951
+000000272487
+000000465156
+000000432843
+000000292177
+000000544606
+000000103352
+000000129546
+000000153567
+000000186991
+000000171176
+000000522554
+000000549232
+000000188447
+000000241803
+000000325862
+000000283916
+000000144115
+000000542211
+000000212401
+000000056684
+000000546500
+000000174079
+000000367788
+000000563046
+000000482984
+000000536579
+000000493162
+000000300040
+000000232116
+000000289100
+000000257020
+000000218960
+000000433270
+000000456556
+000000369016
+000000351553
+000000229155
+000000390757
+000000069955
+000000537395
+000000564699
+000000476380
+000000063403
+000000474224
+000000461522
+000000000873
+000000514772
+000000436632
+000000079415
+000000459176
+000000050624
+000000139653
+000000152048
+000000454969
+000000089834
+000000385185
+000000565245
+000000514697
+000000449180
+000000319285
+000000334466
+000000404460
+000000083730
+000000293900
+000000058736
+000000127882
+000000525189
+000000268389
+000000540642
+000000178634
+000000449681
+000000368659
+000000567410
+000000466321
+000000205590
+000000221003
+000000165921
+000000294305
+000000232290
+000000337511
+000000420754
+000000359189
+000000404738
+000000483059
+000000046365
+000000115709
+000000475796
+000000084833
+000000015802
+000000183884
+000000300245
+000000455737
+000000126392
+000000193121
+000000439288
+000000402330
+000000109409
+000000142856
+000000450370
+000000107880
+000000341550
+000000145573
+000000291528
+000000319315
+000000008686
+000000412535
+000000421208
+000000108088
+000000352884
+000000138648
+000000332732
+000000229315
+000000301077
+000000302242
+000000517451
+000000333517
+000000578209
+000000374347
+000000371643
+000000387244
+000000397138
+000000500888
+000000421009
+000000563986
+000000457020
+000000025751
+000000084324
+000000118134
+000000405563
+000000575179
+000000561635
+000000252492
+000000187901
+000000230972
+000000022178
+000000383991
+000000576327
+000000316026
+000000461844
+000000113638
+000000467484
+000000237697
+000000399220
+000000359148
+000000203705
+000000403525
+000000119428
+000000505086
+000000249884
+000000068620
+000000474519
+000000196650
+000000446322
+000000287554
+000000070491
+000000213881
+000000524690
+000000070094
+000000139971
+000000482720
+000000055077
+000000102654
+000000065889
+000000526042
+000000296696
+000000257945
+000000530081
+000000299417
+000000149895
+000000349030
+000000333231
+000000019333
+000000264982
+000000299381
+000000055010
+000000208054
+000000345804
+000000496869
+000000536603
+000000370123
+000000524977
+000000463589
+000000457584
+000000447378
+000000176796
+000000496335
+000000127304
+000000064893
+000000524916
+000000281210
+000000313491
+000000196117
+000000072382
+000000323182
+000000144173
+000000319785
+000000278336
+000000077816
+000000134475
+000000066700
+000000391016
+000000213831
+000000383282
+000000313710
+000000268266
+000000550729
+000000135775
+000000117718
+000000181103
+000000133278
+000000160589
+000000209933
+000000053064
+000000424018
+000000225943
+000000030674
+000000351829
+000000525834
+000000022834
+000000239943
+000000536519
+000000456192
+000000485773
+000000162200
+000000265915
+000000219338
+000000257988
+000000568425
+000000371222
+000000292570
+000000135256
+000000250720
+000000092680
+000000576483
+000000008549
+000000048664
+000000021246
+000000512974
+000000471901
+000000019559
+000000335749
+000000581835
+000000233073
+000000357626
+000000309406
+000000005328
+000000316250
+000000485239
+000000404262
+000000057147
+000000344860
+000000363488
+000000160860
+000000271789
+000000069733
+000000229138
+000000461819
+000000068740
+000000289242
+000000247338
+000000102811
+000000008791
+000000490062
+000000042215
+000000010928
+000000544883
+000000447043
+000000363494
+000000164442
+000000402897
+000000402603
+000000282368
+000000378001
+000000043892
+000000169726
+000000395998
+000000377231
+000000464456
+000000335098
+000000492715
+000000050810
+000000560355
+000000526697
+000000045267
+000000023283
+000000250833
+000000048795
+000000183359
+000000402507
+000000274360
+000000378923
+000000420750
+000000576227
+000000265361
+000000012461
+000000521877
+000000286903
+000000224109
+000000576829
+000000371217
+000000061422
+000000290425
+000000091474
+000000132972
+000000218405
+000000422783
+000000324406
+000000042469
+000000095674
+000000220704
+000000079035
+000000535978
+000000387388
+000000164091
+000000062292
+000000327921
+000000081155
+000000227616
+000000326325
+000000223752
+000000473196
+000000313334
+000000079846
+000000151077
+000000581726
+000000056042
+000000098437
+000000465347
+000000507362
+000000184101
+000000130252
+000000149117
+000000219963
+000000425461
+000000198811
+000000576412
+000000360706
+000000330974
+000000195648
+000000316383
+000000409588
+000000125633
+000000120164
+000000426179
+000000426838
+000000267224
+000000107868
+000000510449
+000000158880
+000000060513
+000000393228
+000000422416
+000000259677
+000000441599
+000000303257
+000000127980
+000000048441
+000000509468
+000000348562
+000000513891
+000000451667
+000000395169
+000000160000
+000000330136
+000000091080
+000000265708
+000000368284
+000000019916
+000000239752
+000000399837
+000000143010
+000000161503
+000000235034
+000000357644
+000000577552
+000000282176
+000000492894
+000000395452
+000000062017
+000000240511
+000000307932
+000000464240
+000000002342
+000000275001
+000000018089
+000000102006
+000000163370
+000000174904
+000000032695
+000000177609
+000000460263
+000000473673
+000000188534
+000000547156
+000000528941
+000000124033
+000000134413
+000000188692
+000000432605
+000000063958
+000000520232
+000000273106
+000000010935
+000000374184
+000000398373
+000000458891
+000000480798
+000000127391
+000000188479
+000000544449
+000000574402
+000000257972
+000000267910
+000000121665
+000000513237
+000000180911
+000000215908
+000000178009
+000000382951
+000000261115
+000000368679
+000000063879
+000000101096
+000000148306
+000000495079
+000000279780
+000000145825
+000000239726
+000000056980
+000000578659
+000000066179
+000000194956
+000000031024
+000000526534
+000000003131
+000000305287
+000000542146
+000000023368
+000000266696
+000000146878
+000000434804
+000000037336
+000000453563
+000000350251
+000000518234
+000000106557
+000000409027
+000000404785
+000000145935
+000000558055
+000000176283
+000000047617
+000000044204
+000000401231
+000000563601
+000000006527
+000000334074
+000000126607
+000000448533
+000000529795
+000000004760
+000000505269
+000000111152
+000000318183
+000000094885
+000000154155
+000000271934
+000000070794
+000000509565
+000000026368
+000000474471
+000000117742
+000000388821
+000000474545
+000000551746
+000000257958
+000000454314
+000000055049
+000000523035
+000000215718
+000000397143
+000000305351
+000000390625
+000000543268
+000000162892
+000000027903
+000000470113
+000000015386
+000000511739
+000000462671
+000000147369
+000000123415
+000000353909
+000000423508
+000000325470
+000000233829
+000000350242
+000000365168
+000000555814
+000000378655
+000000140210
+000000401910
+000000096111
+000000235006
+000000411814
+000000151761
+000000383601
+000000008332
+000000022747
+000000356064
+000000493849
+000000159500
+000000248709
+000000070735
+000000410236
+000000308423
+000000203143
+000000581882
+000000535497
+000000469834
+000000224688
+000000076122
+000000058429
+000000456372
+000000572448
+000000558538
+000000435047
+000000273772
+000000325903
+000000065080
+000000229052
+000000132485
+000000328121
+000000284274
+000000118131
+000000543192
+000000102724
+000000501651
+000000346265
+000000452861
+000000166313
+000000099741
+000000508612
+000000335885
+000000205677
+000000079992
+000000378765
+000000282772
+000000036864
+000000359751
+000000551062
+000000021969
+000000126030
+000000052956
+000000532548
+000000296844
+000000491102
+000000121692
+000000047512
+000000266310
+000000240194
+000000117009
+000000246672
+000000460621
+000000313069
+000000088917
+000000294834
+000000560281
+000000342919
+000000521593
+000000071684
+000000088870
+000000182401
+000000301344
+000000220685
+000000395584
+000000073981
+000000218982
+000000035498
+000000376493
+000000381576
+000000123410
+000000334216
+000000286594
+000000492292
+000000090192
+000000445569
+000000514871
+000000201925
+000000422810
+000000173644
+000000287829
+000000165884
+000000179811
+000000314282
+000000433625
+000000036090
+000000550739
+000000463803
+000000542384
+000000111801
+000000292416
+000000356507
+000000197616
+000000211085
+000000157076
+000000200665
+000000512845
+000000289758
+000000326849
+000000079154
+000000187924
+000000058838
+000000288846
+000000311206
+000000116291
+000000058231
+000000031000
+000000338427
+000000402969
+000000245272
+000000315453
+000000439738
+000000077020
+000000030065
+000000504639
+000000159028
+000000397863
+000000311882
+000000228334
+000000257796
+000000225537
+000000395531
+000000412453
+000000277463
+000000324403
+000000115384
+000000102929
+000000557220
+000000286537
+000000230148
+000000256930
+000000259489
+000000401173
+000000497760
+000000544253
+000000119718
+000000500356
+000000564926
+000000473468
+000000100661
+000000397479
+000000325783
+000000500782
+000000346497
+000000312735
+000000106226
+000000546655
+000000193011
+000000208875
+000000153901
+000000046171
+000000152277
+000000365008
+000000153283
+000000551154
+000000331105
+000000397414
+000000173142
+000000508202
+000000144985
+000000363343
+000000208380
+000000206161
+000000004978
+000000444311
+000000014974
+000000561412
+000000213141
+000000332122
+000000197262
+000000074069
+000000531289
+000000539676
+000000178553
+000000318386
+000000508456
+000000477273
+000000365511
+000000252217
+000000194676
+000000116413
+000000555472
+000000483043
+000000031885
+000000304165
+000000060340
+000000409842
+000000018495
+000000285938
+000000555998
+000000028343
+000000125056
+000000559162
+000000174258
+000000500069
+000000456942
+000000201074
+000000351621
+000000343048
+000000508582
+000000329341
+000000115033
+000000205595
+000000340898
+000000345429
+000000057969
+000000374130
+000000406230
+000000531378
+000000180179
+000000031912
+000000452783
+000000147142
+000000107783
+000000180046
+000000388267
+000000430249
+000000361564
+000000212440
+000000240273
+000000301467
+000000178958
+000000202438
+000000516432
+000000062864
+000000559614
+000000469410
+000000040380
+000000377411
+000000336672
+000000363783
+000000117396
+000000032416
+000000532631
+000000159109
+000000020796
+000000096647
+000000144754
+000000269621
+000000218762
+000000225519
+000000400149
+000000404270
+000000355228
+000000420852
+000000161835
+000000515826
+000000102620
+000000164599
+000000368924
+000000022963
+000000369869
+000000581655
+000000048573
+000000403336
+000000035529
+000000205934
+000000137110
+000000525462
+000000577417
+000000446603
+000000576581
+000000124331
+000000563168
+000000298132
+000000312886
+000000052835
+000000056289
+000000380520
+000000177575
+000000292512
+000000331978
+000000195840
+000000293377
+000000076654
+000000195188
+000000508913
+000000166797
+000000499913
+000000327315
+000000239854
+000000494413
+000000315524
+000000500616
+000000147196
+000000234847
+000000345401
+000000156769
+000000255954
+000000007753
+000000552460
+000000402757
+000000181207
+000000410388
+000000176734
+000000526767
+000000539820
+000000437546
+000000101657
+000000552681
+000000315388
+000000033939
+000000416240
+000000205193
+000000353206
+000000106875
+000000022087
+000000288874
+000000232076
+000000358020
+000000571721
+000000083142
+000000450886
+000000123599
+000000123083
+000000237723
+000000158028
+000000185930
+000000327936
+000000165034
+000000525953
+000000004754
+000000547378
+000000425063
+000000405213
+000000534988
+000000154614
+000000555387
+000000079530
+000000462801
+000000105116
+000000072258
+000000391214
+000000570088
+000000573448
+000000314556
+000000157815
+000000079047
+000000511527
+000000118386
+000000438755
+000000008218
+000000053208
+000000190035
+000000059295
+000000229142
+000000410988
+000000174576
+000000180095
+000000567065
+000000244582
+000000530649
+000000278860
+000000176414
+000000309181
+000000220948
+000000397724
+000000158306
+000000189330
+000000089714
+000000277015
+000000504187
+000000063726
+000000578019
+000000521351
+000000144275
+000000240478
+000000070557
+000000284684
+000000323715
+000000217043
+000000557855
+000000554978
+000000515878
+000000170931
+000000358291
+000000144635
+000000133462
+000000520422
+000000572675
+000000335807
+000000508955
+000000474003
+000000027329
+000000149196
+000000541485
+000000048905
+000000394866
+000000527720
+000000247184
+000000284010
+000000220306
+000000541182
+000000490118
+000000478922
+000000093391
+000000301628
+000000491899
+000000400918
+000000502730
+000000050760
+000000409512
+000000262599
+000000083923
+000000347235
+000000086008
+000000382213
+000000093393
+000000112836
+000000157673
+000000469894
+000000502637
+000000218716
+000000553549
+000000282855
+000000106671
+000000550527
+000000473866
+000000272100
+000000086108
+000000265896
+000000082375
+000000246706
+000000153126
+000000235366
+000000379716
+000000510517
+000000358555
+000000079670
+000000484074
+000000118852
+000000496093
+000000132454
+000000141468
+000000331698
+000000233201
+000000551341
+000000003481
+000000375916
+000000147879
+000000471226
+000000569375
+000000254808
+000000329118
+000000411330
+000000453020
+000000085731
+000000082363
+000000270502
+000000377738
+000000146503
+000000238562
+000000348207
+000000165936
+000000230137
+000000421437
+000000551598
+000000360589
+000000030529
+000000237510
+000000161937
+000000342665
+000000289751
+000000278452
+000000420389
+000000129079
+000000444828
+000000351164
+000000459765
+000000279810
+000000018792
+000000380072
+000000141986
+000000109334
+000000113113
+000000186968
+000000302982
+000000441445
+000000238062
+000000382211
+000000368834
+000000581285
+000000384568
+000000558976
+000000549117
+000000203881
+000000543660
+000000202545
+000000297206
+000000126964
+000000398771
+000000541456
+000000444453
+000000407967
+000000267160
+000000146111
+000000013991
+000000354624
+000000227270
+000000328551
+000000445528
+000000258554
+000000091461
+000000302275
+000000146509
+000000157916
+000000065582
+000000315805
+000000544250
+000000499716
+000000521025
+000000029287
+000000231542
+000000279305
+000000402357
+000000111004
+000000348924
+000000463226
+000000159151
+000000490810
+000000221400
+000000118584
+000000384420
+000000193041
+000000035573
+000000043007
+000000528184
+000000079111
+000000263320
+000000328842
+000000263784
+000000384916
+000000024845
+000000421681
+000000333621
+000000576088
+000000014446
+000000009975
+000000081942
+000000437509
+000000486630
+000000228712
+000000340126
+000000491117
+000000517211
+000000513342
+000000151393
+000000065732
+000000183405
+000000556591
+000000192500
+000000434463
+000000065289
+000000246499
+000000538671
+000000320273
+000000041995
+000000079453
+000000022448
+000000436172
+000000332403
+000000329582
+000000536317
+000000010547
+000000374156
+000000358814
+000000167541
+000000336320
+000000471056
+000000526675
+000000045057
+000000010115
+000000020137
+000000526793
+000000332411
+000000133237
+000000181975
+000000106915
+000000557824
+000000495322
+000000183004
+000000294724
+000000003080
+000000315378
+000000035899
+000000548704
+000000422816
+000000258950
+000000427749
+000000491844
+000000360231
+000000057707
+000000383470
+000000457825
+000000165766
+000000310670
+000000530117
+000000552977
+000000449798
+000000300895
+000000126638
+000000170968
+000000530016
+000000480421
+000000284494
+000000452198
+000000564043
+000000452121
+000000355110
+000000008006
+000000216206
+000000224248
+000000539422
+000000200263
+000000475361
+000000446958
+000000486254
+000000180503
+000000088109
+000000256915
+000000244616
+000000045701
+000000075046
+000000450318
+000000018785
+000000502459
+000000217596
+000000142470
+000000486964
+000000137995
+000000486805
+000000195406
+000000171235
+000000076264
+000000337962
+000000060316
+000000015468
+000000141910
+000000155457
+000000050461
+000000230837
+000000349069
+000000191464
+000000286702
+000000374934
+000000246478
+000000258770
+000000145429
+000000168010
+000000041082
+000000118342
+000000213795
+000000386321
+000000428858
+000000137154
+000000177167
+000000577107
+000000053956
+000000288586
+000000198706
+000000530741
+000000451738
+000000311759
+000000404424
+000000467909
+000000214261
+000000402973
+000000367767
+000000466787
+000000186747
+000000322369
+000000224282
+000000451305
+000000093743
+000000185820
+000000201717
+000000283557
+000000316650
+000000323553
+000000051941
+000000093327
+000000073686
+000000466596
+000000384718
+000000219493
+000000185546
+000000358297
+000000319120
+000000223573
+000000561303
+000000474600
+000000482740
+000000042422
+000000413709
+000000462553
+000000379376
+000000501369
+000000079887
+000000234728
+000000135875
+000000562090
+000000464928
+000000302872
+000000532527
+000000297976
+000000192862
+000000295803
+000000059110
+000000078035
+000000087761
+000000459826
+000000227847
+000000147553
+000000073414
+000000021795
+000000001213
+000000101357
+000000560754
+000000188616
+000000103234
+000000211110
+000000290457
+000000361669
+000000225738
+000000366852
+000000463628
+000000402867
+000000337065
+000000373783
+000000376153
+000000215679
+000000498665
+000000091397
+000000189405
+000000406954
+000000450407
+000000299716
+000000230000
+000000542112
+000000326780
+000000303537
+000000171142
+000000427395
+000000106435
+000000028750
+000000341737
+000000144305
+000000327563
+000000271568
+000000001907
+000000461841
+000000540342
+000000319683
+000000528116
+000000278961
+000000206273
+000000499391
+000000026035
+000000175000
+000000378710
+000000269260
+000000361119
+000000083658
+000000567572
+000000004571
+000000452908
+000000151053
+000000326369
+000000183980
+000000203178
+000000261387
+000000491481
+000000162767
+000000321437
+000000506943
+000000334305
+000000436584
+000000415680
+000000143111
+000000144925
+000000138153
+000000384848
+000000575822
+000000203541
+000000101091
+000000530406
+000000191174
+000000120805
+000000214801
+000000397044
+000000033323
+000000015772
+000000079559
+000000269678
+000000093405
+000000149546
+000000205607
+000000122560
+000000301039
+000000208678
+000000381914
+000000061326
+000000353300
+000000446459
+000000174239
+000000534291
+000000195890
+000000560976
+000000246099
+000000079490
+000000484206
+000000125435
+000000403028
+000000027439
+000000273205
+000000330067
+000000400752
+000000248945
+000000092014
+000000271590
+000000512966
+000000194180
+000000559262
+000000463309
+000000142298
+000000015388
+000000198204
+000000392928
+000000302243
+000000154895
+000000369703
+000000305626
+000000271283
+000000331339
+000000550281
+000000312679
+000000109051
+000000457133
+000000063777
+000000299077
+000000007506
+000000411941
+000000464519
+000000370012
+000000136783
+000000001737
+000000055402
+000000147873
+000000434412
+000000533979
+000000110058
+000000152514
+000000529871
+000000429762
+000000176316
+000000250048
+000000365903
+000000262845
+000000111361
+000000329030
+000000550699
+000000395838
+000000546631
+000000213437
+000000154011
+000000497500
+000000033626
+000000165231
+000000365094
+000000398349
+000000528940
+000000331224
+000000066879
+000000281599
+000000296064
+000000569584
+000000342819
+000000419474
+000000425004
+000000351521
+000000480280
+000000323970
+000000287213
+000000231272
+000000208340
+000000059108
+000000250387
+000000522008
+000000020765
+000000333415
+000000437948
+000000145266
+000000155269
+000000414539
+000000051716
+000000533011
+000000302520
+000000358198
+000000541893
+000000302160
+000000285200
+000000490322
+000000076804
+000000229976
+000000199826
+000000246688
+000000424218
+000000203602
+000000058927
+000000478473
+000000569096
+000000074780
+000000092868
+000000191444
+000000510333
+000000318741
+000000378149
+000000005745
+000000021046
+000000219473
+000000371280
+000000560628
+000000296404
+000000202784
+000000310870
+000000350310
+000000086098
+000000214320
+000000046298
+000000466118
+000000428817
+000000217103
+000000061527
+000000527922
+000000418352
+000000175057
+000000004575
+000000105396
+000000337546
+000000418595
+000000131731
+000000496268
+000000398172
+000000054959
+000000038628
+000000352233
+000000354525
+000000436319
+000000012323
+000000175210
+000000533281
+000000011390
+000000029697
+000000230515
+000000198992
+000000034933
+000000195332
+000000053139
+000000379024
+000000015704
+000000161163
+000000572784
+000000386640
+000000401946
+000000091766
+000000204288
+000000341121
+000000557374
+000000360831
+000000558083
+000000578775
+000000287099
+000000265036
+000000231093
+000000420704
+000000183806
+000000102010
+000000495460
+000000287025
+000000217306
+000000470426
+000000549317
+000000101283
+000000410301
+000000433536
+000000499460
+000000052774
+000000067798
+000000519877
+000000302852
+000000269450
+000000331152
+000000250385
+000000176680
+000000291114
+000000384085
+000000313428
+000000176118
+000000126943
+000000027793
+000000327896
+000000243127
+000000079901
+000000164855
+000000025241
+000000577853
+000000413070
+000000136111
+000000057945
+000000027235
+000000008731
+000000428612
+000000406000
+000000405108
+000000351591
+000000075162
+000000135502
+000000491753
+000000151908
+000000110374
+000000476642
+000000300815
+000000190133
+000000066800
+000000285914
+000000496065
+000000326475
+000000021346
+000000312890
+000000035778
+000000387293
+000000485236
+000000236350
+000000119695
+000000371927
+000000110626
+000000381968
+000000385864
+000000169181
+000000546561
+000000046323
+000000206597
+000000546114
+000000153607
+000000044928
+000000032952
+000000562620
+000000424297
+000000372480
+000000510538
+000000508750
+000000056442
+000000349538
+000000520683
+000000076460
+000000203035
+000000097217
+000000338403
+000000507532
+000000426096
+000000074538
+000000274653
+000000551665
+000000504955
+000000183611
+000000225604
+000000575704
+000000351146
+000000343774
+000000303761
+000000033608
+000000446633
+000000380049
+000000104320
+000000498383
+000000321330
+000000391773
+000000463232
+000000224246
+000000085281
+000000128907
+000000455083
+000000010414
+000000551793
+000000128175
+000000531404
+000000494751
+000000227866
+000000210951
+000000452846
+000000132993
+000000308977
+000000561199
+000000385390
+000000276781
+000000371174
+000000558942
+000000507680
+000000361376
+000000194908
+000000257941
+000000104310
+000000531797
+000000253491
+000000559271
+000000289852
+000000131351
+000000454979
+000000095095
+000000071492
+000000345499
+000000464880
+000000430135
+000000096057
+000000387442
+000000068075
+000000358209
+000000541324
+000000284354
+000000547422
+000000043353
+000000305056
+000000264079
+000000578221
+000000418506
+000000440991
+000000204806
+000000540564
+000000026735
+000000195949
+000000571441
+000000127110
+000000494679
+000000204674
+000000557119
+000000153980
+000000544348
+000000439224
+000000361321
+000000204832
+000000275611
+000000150013
+000000070282
+000000304710
+000000473208
+000000028019
+000000027030
+000000453178
+000000067697
+000000126794
+000000457611
+000000073342
+000000248712
+000000243857
+000000372495
+000000304319
+000000160250
+000000435758
+000000528541
+000000335174
+000000471504
+000000574947
+000000099754
+000000033413
+000000247547
+000000462968
+000000083217
+000000478576
+000000070588
+000000004785
+000000258027
+000000466450
+000000063476
+000000402378
+000000448765
+000000573483
+000000521314
+000000045406
+000000135694
+000000237263
+000000493205
+000000476772
+000000098693
+000000257029
+000000430160
+000000212239
+000000316443
+000000284979
+000000341075
+000000434027
+000000228673
+000000489183
+000000009199
+000000304566
+000000261186
+000000245857
+000000446935
+000000496179
+000000067261
+000000165053
+000000348598
+000000164583
+000000225533
+000000528119
+000000528432
+000000246245
+000000208338
+000000171768
+000000049567
+000000557848
+000000284147
+000000304143
+000000506799
+000000279300
+000000154212
+000000282808
+000000549725
+000000146917
+000000525932
+000000431872
+000000089870
+000000227134
+000000122238
+000000398407
+000000532102
+000000141166
+000000096713
+000000567444
+000000131323
+000000009069
+000000347233
+000000558342
+000000366382
+000000411968
+000000256444
+000000179696
+000000107228
+000000182773
+000000119187
+000000350278
+000000150920
+000000209005
+000000335507
+000000214519
+000000321035
+000000069215
+000000310532
+000000062193
+000000331236
+000000429559
+000000500043
+000000244928
+000000478368
+000000310163
+000000066505
+000000441212
+000000201686
+000000251967
+000000038891
+000000181212
+000000400199
+000000252749
+000000407861
+000000093444
+000000577223
+000000274613
+000000564920
+000000141108
+000000115681
+000000132795
+000000174711
+000000535327
+000000096901
+000000554542
+000000110937
+000000024319
+000000579043
+000000338078
+000000535651
+000000327983
+000000107259
+000000170225
+000000134066
+000000404063
+000000560750
+000000575486
+000000391720
+000000015085
+000000476114
+000000272675
+000000411883
+000000499957
+000000436947
+000000467604
+000000493048
+000000036477
+000000166273
+000000094717
+000000551459
+000000212814
+000000289754
+000000059079
+000000270354
+000000020818
+000000477216
+000000169468
+000000186079
+000000327567
+000000001840
+000000160429
+000000087783
+000000387355
+000000511724
+000000413865
+000000225032
+000000150089
+000000345177
+000000165106
+000000274570
+000000513606
+000000197163
+000000221089
+000000349153
+000000538133
+000000244418
+000000576927
+000000538922
+000000410687
+000000469873
+000000524211
+000000533784
+000000034909
+000000260510
+000000251801
+000000370749
+000000052949
+000000201814
+000000149376
+000000015850
+000000272132
+000000390593
+000000365301
+000000129879
+000000465467
+000000313345
+000000417606
+000000301201
+000000308641
+000000531167
+000000430692
+000000535891
+000000067593
+000000192574
+000000316746
+000000219965
+000000065124
+000000228525
+000000451263
+000000482328
+000000513064
+000000238717
+000000041848
+000000213596
+000000536474
+000000478406
+000000042453
+000000542694
+000000134242
+000000339210
+000000282437
+000000439781
+000000388569
+000000168686
+000000415821
+000000544481
+000000566598
+000000203859
+000000275557
+000000051949
+000000565652
+000000024996
+000000456009
+000000071429
+000000366049
+000000105040
+000000089259
+000000030600
+000000494211
+000000242597
+000000347773
+000000366061
+000000011297
+000000334080
+000000294761
+000000344744
+000000050392
+000000231942
+000000085685
+000000449529
+000000227164
+000000279154
+000000116511
+000000218513
+000000142280
+000000126272
+000000086842
+000000137547
+000000518918
+000000515374
+000000234942
+000000294418
+000000371069
+000000027353
+000000219657
+000000495143
+000000493296
+000000290962
+000000555861
+000000029182
+000000074032
+000000440899
+000000155540
+000000483348
+000000228133
+000000092207
+000000311566
+000000579035
+000000312997
+000000319468
+000000294160
+000000019160
+000000001810
+000000242717
+000000167693
+000000344876
+000000339927
+000000021994
+000000030222
+000000062386
+000000262471
+000000426806
+000000292739
+000000281003
+000000325152
+000000316073
+000000027929
+000000199204
+000000166450
+000000254841
+000000241599
+000000037377
+000000572430
+000000146672
+000000439875
+000000018531
+000000313861
+000000173882
+000000213843
+000000393423
+000000462191
+000000030307
+000000038079
+000000532509
+000000310685
+000000531322
+000000221894
+000000401777
+000000020281
+000000046185
+000000280363
+000000255582
+000000006473
+000000483159
+000000079224
+000000215320
+000000492163
+000000439630
+000000172376
+000000001064
+000000230070
+000000061782
+000000240376
+000000475371
+000000042551
+000000541601
+000000303962
+000000075647
+000000387546
+000000079116
+000000263650
+000000076916
+000000200068
+000000277375
+000000356662
+000000553522
+000000220224
+000000127192
+000000202755
+000000008267
+000000157744
+000000434634
+000000565870
+000000185448
+000000571415
+000000543492
+000000505655
+000000413341
+000000556073
+000000106935
+000000215913
+000000057892
+000000362779
+000000023363
+000000482631
+000000381393
+000000251524
+000000428837
+000000306837
+000000573246
+000000463876
+000000000670
+000000577821
+000000547297
+000000164461
+000000260020
+000000492729
+000000467685
+000000276218
+000000118140
+000000390706
+000000393781
+000000391842
+000000399672
+000000446420
+000000501959
+000000437318
+000000332427
+000000528748
+000000235253
+000000023677
+000000026247
+000000547411
+000000075051
+000000048956
+000000547612
+000000482037
+000000308555
+000000282328
+000000307784
+000000446894
+000000443129
+000000026045
+000000242096
+000000044332
+000000140017
+000000515423
+000000497701
+000000115637
+000000068401
+000000103861
+000000196342
+000000565257
+000000142587
+000000146841
+000000381382
+000000347267
+000000326293
+000000436936
+000000211756
+000000075829
+000000527520
+000000472803
+000000314787
+000000514402
+000000150360
+000000142320
+000000000636
+000000047597
+000000545126
+000000216785
+000000051587
+000000557114
+000000360525
+000000560898
+000000103856
+000000532766
+000000285748
+000000013061
+000000135741
+000000207549
+000000231905
+000000313244
+000000203732
+000000543118
+000000395083
+000000035717
+000000377597
+000000260336
+000000248191
+000000224273
+000000477847
+000000076207
+000000524834
+000000230582
+000000322735
+000000280320
+000000216613
+000000324448
+000000240074
+000000119418
+000000072342
+000000088613
+000000060820
+000000327988
+000000394089
+000000179558
+000000252208
+000000579781
+000000332740
+000000197681
+000000383562
+000000089044
+000000397404
+000000226758
+000000390915
+000000003217
+000000045173
+000000494141
+000000311469
+000000130681
+000000192816
+000000082921
+000000518701
+000000471596
+000000106901
+000000439609
+000000415322
+000000090718
+000000012756
+000000102320
+000000466742
+000000390895
+000000330405
+000000253831
+000000421969
+000000579541
+000000033499
+000000301908
+000000241058
+000000549728
+000000455010
+000000286153
+000000260715
+000000197599
+000000499353
+000000420819
+000000298151
+000000367229
+000000398792
+000000488030
+000000055460
+000000064141
+000000536252
+000000443780
+000000059462
+000000031602
+000000363474
+000000356535
+000000551607
+000000312218
+000000227651
+000000131613
+000000074537
+000000120831
+000000011364
+000000202827
+000000464903
+000000436949
+000000406857
+000000101959
+000000487422
+000000417844
+000000510339
+000000431594
+000000315905
+000000570215
+000000438479
+000000437435
+000000203098
+000000499631
+000000118242
+000000084137
+000000139008
+000000338521
+000000310342
+000000045280
+000000213158
+000000279939
+000000411969
+000000104544
+000000078112
+000000439366
+000000067065
+000000249556
+000000066708
+000000182821
+000000534308
+000000166993
+000000271079
+000000116607
+000000435452
+000000300928
+000000047544
+000000068300
+000000273497
+000000512948
+000000132682
+000000425135
+000000414686
+000000394008
+000000263268
+000000179454
+000000344293
+000000065088
+000000263454
+000000318161
+000000413782
+000000425612
+000000359760
+000000526105
+000000132037
+000000085721
+000000256760
+000000226744
+000000245314
+000000237762
+000000575643
+000000506411
+000000040478
+000000283629
+000000509652
+000000473623
+000000268750
+000000534923
+000000531752
+000000166557
+000000181799
+000000445812
+000000126014
+000000065829
+000000365446
+000000476634
+000000505386
+000000159702
+000000485462
+000000083987
+000000045768
+000000227779
+000000307209
+000000481909
+000000116207
+000000384362
+000000081431
+000000100627
+000000196255
+000000303308
+000000005635
+000000117841
+000000430821
+000000378912
+000000289486
+000000399212
+000000532083
+000000407545
+000000044509
+000000479693
+000000210976
+000000359365
+000000318657
+000000227358
+000000419979
+000000117337
+000000171317
+000000553326
+000000213069
+000000023679
+000000085998
+000000292347
+000000351218
+000000107954
+000000576537
+000000033131
+000000547097
+000000046891
+000000296867
+000000306365
+000000357004
+000000302298
+000000351057
+000000076454
+000000050482
+000000162589
+000000200008
+000000360408
+000000432723
+000000098143
+000000462461
+000000400299
+000000267788
+000000226011
+000000006854
+000000201168
+000000499423
+000000382438
+000000178415
+000000526364
+000000349185
+000000288814
+000000265134
+000000364176
+000000188952
+000000508147
+000000481172
+000000463285
+000000208940
+000000051198
+000000210201
+000000082091
+000000326035
+000000130032
+000000372471
+000000231381
+000000203107
+000000301851
+000000544094
+000000439007
+000000502665
+000000374649
+000000393508
+000000305445
+000000036238
+000000082124
+000000506792
+000000346839
+000000398053
+000000292789
+000000508885
+000000382615
+000000085867
+000000298475
+000000176758
+000000198043
+000000096492
+000000250075
+000000147501
+000000465138
+000000042161
+000000433460
+000000531725
+000000323790
+000000500825
+000000329988
+000000396260
+000000358120
+000000429765
+000000422351
+000000167599
+000000070586
+000000032937
+000000239190
+000000515843
+000000534855
+000000113495
+000000329141
+000000263968
+000000437530
+000000011721
+000000400487
+000000388330
+000000300993
+000000280429
+000000239283
+000000057904
+000000239613
+000000430420
+000000463495
+000000403535
+000000556088
+000000471322
+000000325741
+000000360826
+000000347210
+000000210279
+000000335415
+000000558966
+000000183100
+000000016009
+000000176442
+000000067837
+000000480345
+000000002495
+000000315028
+000000010077
+000000460290
+000000383270
+000000040087
+000000436585
+000000559682
+000000443390
+000000004880
+000000219544
+000000223242
+000000309338
+000000077429
+000000355767
+000000336887
+000000551125
+000000336185
+000000421996
+000000300189
+000000055613
+000000354600
+000000336357
+000000417946
+000000410979
+000000122194
+000000232186
+000000283970
+000000118579
+000000079355
+000000220526
+000000414122
+000000211485
+000000565311
+000000149550
+000000264730
+000000178685
+000000451683
+000000246586
+000000165202
+000000463751
+000000145488
+000000399547
+000000519182
+000000145432
+000000555230
+000000512920
+000000319401
+000000501531
+000000521064
+000000236714
+000000537157
+000000399893
+000000220889
+000000337585
+000000256806
+000000139486
+000000245874
+000000206318
+000000396337
+000000143095
+000000075110
+000000538001
+000000290511
+000000355069
+000000097974
+000000147342
+000000005095
+000000347933
+000000237215
+000000437300
+000000552929
+000000076246
+000000536433
+000000025521
+000000461939
+000000343066
+000000375992
+000000469343
+000000388457
+000000388212
+000000575857
+000000214655
+000000202777
+000000291158
+000000481427
+000000089318
+000000484090
+000000052044
+000000298141
+000000206903
+000000020747
+000000084440
+000000186045
+000000213203
+000000250958
+000000482989
+000000031578
+000000222492
+000000498010
+000000534117
+000000185712
+000000032990
+000000153026
+000000399542
+000000487279
+000000525615
+000000577413
+000000069426
+000000533446
+000000474464
+000000240069
+000000182436
+000000216998
+000000327191
+000000289245
+000000140295
+000000365980
+000000104509
+000000200206
+000000314331
+000000388652
+000000026200
+000000375760
+000000537862
+000000470780
+000000232410
+000000501648
+000000203215
+000000430590
+000000549873
+000000285667
+000000412800
+000000147615
+000000529549
+000000094753
+000000270623
+000000146249
+000000046538
+000000580538
+000000129843
+000000216817
+000000498353
+000000222494
+000000214028
+000000174351
+000000006422
+000000320582
+000000167498
+000000310693
+000000254432
+000000149422
+000000216470
+000000541345
+000000139049
+000000199003
+000000256860
+000000416078
+000000413942
+000000110073
+000000302071
+000000103358
+000000009186
+000000472097
+000000018888
+000000202010
+000000375376
+000000196462
+000000462224
+000000008998
+000000305084
+000000421822
+000000065816
+000000417596
+000000341198
+000000423990
+000000215565
+000000570569
+000000027105
+000000394715
+000000225546
+000000373480
+000000339356
+000000048358
+000000268231
+000000340995
+000000268905
+000000455103
+000000490110
+000000000797
+000000217448
+000000337403
+000000044294
+000000436105
+000000413242
+000000118598
+000000081390
+000000036718
+000000124383
+000000179261
+000000412178
+000000550761
+000000428975
+000000552016
+000000113442
+000000161098
+000000047515
+000000257673
+000000221459
+000000076606
+000000389056
+000000224908
+000000494817
+000000421182
+000000203388
+000000552571
+000000198367
+000000089552
+000000370329
+000000380305
+000000187329
+000000366558
+000000369568
+000000326658
+000000054038
+000000427150
+000000423058
+000000435240
+000000569101
+000000166880
+000000059868
+000000412847
+000000441541
+000000562527
+000000087481
+000000221055
+000000079080
+000000458541
+000000080974
+000000103812
+000000307583
+000000297242
+000000209441
+000000343385
+000000334845
+000000049413
+000000577857
+000000242120
+000000119529
+000000544644
+000000507101
+000000165771
+000000206300
+000000556230
+000000414117
+000000536823
+000000525988
+000000409108
+000000418391
+000000081307
+000000149630
+000000073790
+000000267780
+000000291038
+000000309292
+000000576743
+000000494743
+000000554996
+000000287565
+000000057242
+000000499801
+000000350842
+000000095621
+000000521181
+000000568040
+000000456275
+000000261955
+000000566041
+000000406056
+000000258331
+000000234535
+000000518889
+000000491164
+000000219590
+000000249555
+000000240605
+000000394100
+000000036996
+000000141232
+000000377679
+000000073774
+000000143822
+000000356949
+000000159888
+000000135564
+000000486870
+000000163234
+000000291560
+000000234516
+000000239882
+000000513241
+000000136681
+000000367285
+000000014483
+000000198429
+000000548218
+000000067716
+000000541887
+000000048665
+000000192217
+000000132262
+000000244016
+000000256662
+000000451877
+000000431159
+000000033243
+000000168179
+000000571395
+000000172911
+000000473069
+000000417142
+000000193892
+000000123193
+000000482210
+000000257996
+000000342808
+000000506965
+000000093590
+000000075811
+000000073591
+000000433224
+000000392837
+000000435994
+000000241238
+000000574025
+000000494335
+000000414711
+000000254479
+000000259104
+000000423362
+000000133273
+000000278242
+000000571876
+000000494012
+000000044663
+000000404338
+000000506187
+000000190466
+000000218788
+000000283715
+000000375914
+000000428599
+000000531128
+000000494473
+000000000597
+000000145056
+000000085518
+000000394759
+000000309100
+000000501874
+000000038685
+000000555245
+000000259477
+000000216371
+000000486072
+000000052145
+000000459575
+000000081476
+000000444769
+000000106993
+000000233566
+000000499634
+000000324832
+000000500984
+000000102755
+000000281631
+000000391627
+000000142622
+000000535699
+000000466015
+000000390290
+000000496321
+000000227125
+000000095078
+000000322897
+000000496264
+000000255859
+000000503541
+000000140456
+000000112697
+000000366255
+000000292995
+000000520924
+000000054052
+000000360779
+000000288275
+000000259217
+000000106490
+000000135894
+000000019980
+000000554534
+000000472595
+000000043367
+000000326781
+000000362072
+000000170309
+000000350799
+000000497804
+000000010858
+000000483241
+000000173688
+000000472405
+000000140850
+000000322858
+000000500196
+000000230428
+000000031946
+000000365999
+000000521031
+000000327468
+000000399835
+000000434125
+000000500324
+000000427149
+000000521674
+000000527407
+000000049517
+000000049473
+000000127161
+000000465552
+000000270326
+000000489927
+000000063587
+000000393297
+000000039697
+000000048139
+000000539678
+000000004394
+000000285612
+000000473647
+000000564851
+000000059693
+000000419087
+000000366867
+000000576290
+000000094317
+000000272610
+000000285683
+000000234238
+000000170658
+000000066510
+000000190568
+000000149785
+000000285705
+000000511828
+000000312682
+000000410599
+000000349212
+000000437951
+000000433044
+000000317169
+000000355568
+000000475318
+000000366536
+000000009176
+000000521769
+000000413297
+000000019015
+000000460732
+000000022340
+000000063540
+000000383748
+000000177109
+000000337167
+000000534040
+000000273068
+000000489442
+000000379443
+000000521806
+000000014819
+000000026630
+000000430783
+000000508815
+000000187887
+000000224193
+000000550403
+000000381247
+000000538828
+000000093570
+000000081033
+000000517047
+000000149151
+000000516263
+000000213309
+000000497042
+000000050322
+000000496894
+000000517508
+000000436413
+000000248187
+000000454348
+000000580777
+000000323028
+000000472913
+000000145284
+000000276575
+000000380138
+000000344654
+000000368668
+000000546596
+000000449244
+000000120127
+000000180989
+000000566700
+000000008830
+000000286442
+000000198227
+000000574942
+000000201930
+000000019941
+000000092601
+000000526972
+000000312167
+000000306499
+000000479357
+000000239853
+000000082735
+000000269704
+000000391000
+000000296730
+000000313984
+000000574010
+000000058241
+000000456236
+000000041288
+000000263618
+000000120858
+000000195916
+000000090392
+000000576430
+000000460642
+000000085338
+000000107249
+000000431323
+000000283500
+000000163142
+000000477698
+000000512757
+000000549287
+000000264620
+000000468744
+000000503616
+000000069873
+000000053229
+000000388896
+000000137730
+000000436941
+000000387102
+000000005540
+000000429679
+000000413021
+000000328512
+000000057138
+000000220139
+000000282440
+000000496118
+000000110516
+000000094563
+000000027065
+000000312430
+000000004079
+000000223832
+000000150875
+000000429221
+000000464732
+000000455290
+000000091966
+000000075563
+000000531719
+000000306407
+000000206192
+000000433301
+000000550518
+000000147915
+000000368347
+000000124142
+000000310094
+000000146774
+000000523161
+000000172727
+000000084929
+000000262113
+000000454207
+000000328862
+000000349133
+000000507605
+000000413776
+000000402313
+000000204830
+000000108695
+000000332182
+000000118851
+000000145873
+000000383163
+000000167359
+000000160447
+000000405660
+000000510910
+000000067420
+000000524991
+000000444672
+000000042534
+000000193387
+000000282793
+000000401561
+000000379038
+000000341359
+000000348669
+000000401288
+000000450771
+000000425061
+000000188236
+000000430325
+000000042735
+000000291402
+000000422393
+000000485799
+000000148909
+000000177404
+000000192532
+000000165265
+000000215196
+000000079926
+000000148196
+000000010222
+000000276852
+000000094535
+000000090065
+000000338980
+000000136929
+000000229385
+000000104232
+000000139270
+000000115300
+000000541193
+000000556240
+000000343993
+000000044467
+000000147547
+000000505389
+000000164255
+000000265084
+000000446470
+000000110798
+000000346437
+000000260317
+000000118748
+000000298109
+000000345462
+000000322097
+000000198650
+000000013432
+000000120388
+000000501756
+000000486004
+000000094527
+000000547100
+000000135411
+000000197257
+000000358312
+000000051741
+000000506007
+000000358134
+000000413287
+000000186073
+000000564883
+000000041781
+000000417234
+000000083738
+000000480272
+000000315824
+000000265329
+000000075190
+000000413600
+000000553984
+000000337690
+000000431008
+000000545903
+000000319912
+000000111319
+000000517699
+000000479941
+000000233395
+000000318299
+000000004931
+000000093603
+000000000194
+000000355438
+000000096161
+000000034343
+000000361751
+000000265596
+000000090225
+000000157822
+000000552974
+000000018886
+000000348584
+000000422310
+000000510351
+000000242345
+000000128222
+000000412753
+000000444515
+000000437604
+000000131527
+000000362365
+000000148859
+000000432448
+000000070067
+000000010241
+000000228984
+000000134343
+000000495975
+000000487938
+000000319061
+000000442556
+000000437893
+000000433229
+000000103628
+000000293378
+000000167955
+000000098439
+000000307981
+000000381385
+000000545749
+000000516540
+000000561687
+000000473705
+000000452179
+000000421334
+000000551507
+000000190111
+000000200978
+000000393557
+000000253740
+000000028930
+000000421223
+000000296703
+000000456351
+000000508969
+000000229975
+000000369144
+000000541301
+000000274521
+000000056772
+000000447839
+000000558771
+000000242619
+000000071241
+000000170908
+000000302684
+000000396112
+000000495625
+000000274398
+000000386350
+000000343749
+000000119194
+000000040866
+000000230702
+000000303291
+000000385103
+000000032102
+000000191540
+000000323494
+000000379836
+000000429791
+000000152913
+000000310716
+000000391251
+000000118212
+000000044934
+000000248009
+000000326935
+000000126129
+000000177810
+000000066154
+000000431922
+000000493148
+000000267840
+000000167092
+000000465050
+000000093639
+000000551622
+000000155999
+000000108283
+000000112106
+000000077346
+000000516957
+000000111180
+000000469142
+000000226874
+000000395557
+000000389101
+000000295370
+000000184713
+000000375544
+000000048181
+000000297360
+000000311452
+000000436161
+000000095891
+000000342184
+000000499727
+000000533293
+000000295233
+000000131099
+000000413300
+000000201420
+000000241919
+000000226648
+000000169313
+000000505911
+000000264347
+000000068712
+000000103520
+000000028995
+000000371953
+000000221028
+000000285646
+000000361108
+000000267978
+000000012883
+000000179180
+000000464902
+000000192118
+000000243091
+000000236000
+000000346841
+000000315916
+000000316471
+000000012998
+000000455548
+000000447932
+000000101473
+000000219897
+000000224819
+000000501494
+000000210671
+000000399825
+000000520787
+000000025411
+000000021921
+000000467662
+000000184402
+000000463603
+000000132313
+000000357894
+000000167131
+000000062053
+000000302503
+000000108674
+000000421986
+000000455246
+000000526796
+000000546088
+000000232114
+000000227523
+000000442980
+000000270747
+000000424392
+000000565160
+000000531143
+000000245938
+000000146432
+000000009060
+000000457508
+000000554658
+000000483013
+000000523513
+000000020652
+000000100037
+000000419062
+000000458921
+000000099317
+000000525568
+000000163104
+000000455974
+000000298473
+000000530729
+000000354897
+000000193194
+000000050601
+000000224004
+000000083959
+000000426087
+000000163568
+000000251988
+000000275210
+000000328500
+000000546517
+000000495894
+000000450914
+000000071850
+000000573518
+000000004705
+000000208984
+000000139426
+000000375198
+000000577301
+000000532495
+000000009723
+000000556326
+000000197864
+000000041246
+000000252787
+000000570755
+000000495612
+000000228825
+000000198178
+000000247631
+000000195583
+000000310560
+000000400406
+000000117313
+000000400204
+000000277524
+000000153128
+000000242142
+000000188013
+000000457522
+000000486164
+000000249227
+000000061201
+000000404889
+000000265839
+000000249921
+000000400353
+000000566486
+000000022002
+000000235038
+000000131067
+000000232453
+000000231200
+000000250440
+000000047638
+000000219523
+000000219920
+000000101292
+000000365911
+000000170207
+000000219653
+000000178869
+000000117969
+000000286361
+000000176363
+000000174932
+000000545689
+000000235473
+000000255385
+000000492924
+000000400576
+000000357612
+000000045836
+000000395512
+000000192098
+000000452931
+000000251167
+000000073916
+000000266853
+000000482407
+000000129821
+000000268395
+000000518573
+000000141741
+000000534128
+000000236096
+000000310325
+000000263735
+000000054606
+000000344844
+000000550660
+000000210371
+000000576709
+000000266825
+000000087018
+000000540186
+000000351989
+000000535145
+000000031062
+000000219217
+000000479447
+000000082813
+000000570620
+000000283220
+000000093331
+000000168190
+000000188100
+000000063206
+000000340637
+000000347145
+000000068570
+000000139634
+000000287044
+000000276066
+000000128842
+000000486541
+000000180167
+000000570409
+000000475248
+000000062500
+000000288589
+000000114173
+000000124027
+000000500902
+000000564629
+000000394666
+000000466570
+000000343068
+000000155351
+000000288000
+000000268190
+000000075227
+000000132964
+000000298956
+000000378012
+000000035951
+000000058397
+000000292810
+000000379645
+000000365031
+000000554136
+000000234255
+000000205424
+000000002374
+000000443006
+000000305713
+000000518483
+000000074573
+000000375731
+000000340185
+000000312951
+000000254411
+000000402915
+000000403145
+000000573885
+000000207675
+000000024938
+000000459841
+000000078323
+000000035266
+000000232371
+000000087234
+000000277888
+000000521678
+000000411857
+000000423637
+000000523374
+000000254604
+000000330916
+000000127647
+000000202562
+000000443373
+000000392753
+000000352945
+000000156876
+000000335289
+000000029875
+000000056365
+000000398004
+000000132453
+000000020403
+000000184223
+000000304973
+000000255135
+000000209239
+000000455353
+000000059870
+000000017997
+000000378278
+000000341168
+000000443308
+000000242869
+000000110606
+000000179519
+000000053434
+000000486972
+000000262213
+000000332781
+000000296769
+000000217407
+000000563904
+000000512797
+000000092244
+000000542529
+000000173580
+000000310664
+000000000801
+000000010478
+000000071718
+000000371836
+000000351154
+000000068866
+000000026183
+000000523529
+000000253656
+000000315232
+000000432414
+000000576573
+000000362599
+000000170780
+000000075565
+000000061740
+000000330532
+000000509176
+000000515773
+000000563261
+000000029285
+000000140129
+000000182056
+000000426040
+000000520256
+000000365858
+000000390559
+000000171081
+000000021915
+000000096157
+000000270639
+000000488725
+000000176522
+000000198064
+000000458311
+000000320947
+000000126494
+000000200720
+000000191353
+000000020018
+000000505661
+000000066493
+000000356010
+000000189015
+000000371506
+000000265472
+000000223687
+000000288453
+000000456391
+000000555677
+000000373148
+000000284688
+000000087593
+000000133314
+000000244461
+000000578164
+000000161473
+000000074060
+000000009091
+000000444464
+000000264191
+000000010039
+000000520489
+000000084038
+000000084158
+000000012620
+000000028039
+000000321194
+000000111500
+000000312154
+000000236717
+000000543354
+000000457824
+000000453895
+000000491381
+000000575354
+000000196028
+000000538957
+000000374253
+000000457981
+000000478553
+000000406368
+000000064009
+000000161308
+000000153392
+000000529203
+000000093809
+000000367106
+000000344817
+000000289912
+000000080339
+000000244816
+000000276105
+000000568131
+000000332932
+000000301409
+000000187723
+000000555366
+000000499339
+000000487359
+000000313637
+000000334958
+000000285263
+000000193403
+000000016295
+000000120369
+000000226544
+000000018751
+000000406988
+000000068867
+000000072935
+000000221889
+000000567186
+000000303281
+000000023976
+000000429990
+000000153697
+000000388528
+000000110034
+000000509855
+000000405709
+000000268310
+000000194194
+000000246328
+000000490111
+000000272630
+000000091797
+000000306928
+000000024702
+000000450965
+000000487392
+000000257923
+000000204826
+000000461774
+000000178796
+000000046055
+000000220834
+000000065016
+000000415697
+000000375811
+000000418804
+000000338949
+000000304214
+000000302458
+000000470808
+000000419443
+000000019890
+000000384151
+000000307554
+000000006450
+000000234161
+000000356110
+000000075254
+000000164667
+000000563185
+000000172491
+000000465049
+000000082779
+000000461692
+000000051948
+000000059632
+000000550736
+000000365298
+000000361750
+000000006861
+000000503424
+000000086294
+000000203406
+000000002197
+000000515734
+000000553447
+000000135976
+000000387202
+000000140999
+000000007856
+000000515962
+000000030519
+000000088675
+000000300979
+000000160625
+000000262608
+000000388872
+000000154420
+000000510423
+000000029019
+000000061351
+000000219943
+000000509641
+000000578715
+000000479949
+000000112044
+000000425035
+000000330243
+000000447907
+000000268254
+000000392330
+000000391674
+000000194140
+000000179896
+000000077467
+000000189539
+000000095079
+000000425304
+000000311938
+000000534716
+000000154209
+000000045617
+000000096034
+000000012319
+000000020947
+000000576757
+000000281288
+000000243189
+000000203359
+000000479400
+000000555444
+000000337479
+000000532531
+000000487487
+000000301506
+000000296433
+000000163339
+000000451798
+000000460944
+000000436467
+000000067405
+000000533678
+000000524049
+000000107860
+000000161657
+000000418757
+000000248836
+000000346386
+000000423114
+000000431501
+000000078621
+000000306103
+000000372489
+000000557252
+000000234677
+000000274629
+000000398661
+000000539311
+000000558401
+000000571357
+000000323734
+000000472907
+000000249974
+000000087929
+000000484346
+000000347312
+000000079493
+000000018917
+000000360844
+000000518773
+000000332724
+000000150948
+000000065841
+000000059458
+000000476589
+000000113077
+000000291245
+000000537622
+000000262900
+000000374891
+000000494453
+000000353221
+000000174011
+000000046327
+000000558707
+000000072216
+000000154867
+000000297537
+000000378867
+000000077380
+000000262965
+000000039993
+000000416246
+000000506224
+000000044989
+000000015049
+000000187876
+000000355922
+000000540859
+000000559400
+000000174672
+000000130171
+000000231087
+000000300836
+000000032751
+000000295857
+000000490598
+000000478090
+000000022564
+000000323760
+000000422395
+000000247880
+000000540483
+000000018040
+000000456666
+000000264823
+000000524975
+000000305665
+000000488388
+000000008320
+000000433951
+000000543922
+000000122172
+000000448351
+000000231952
+000000536509
+000000574001
+000000225191
+000000010432
+000000055735
+000000285397
+000000338688
+000000361660
+000000541973
+000000396120
+000000225505
+000000064779
+000000238563
+000000396998
+000000169988
+000000555013
+000000220453
+000000274684
+000000264406
+000000333126
+000000479663
+000000181681
+000000364842
+000000145682
+000000385085
+000000473972
+000000016342
+000000484690
+000000119358
+000000257786
+000000251630
+000000077760
+000000535133
+000000566174
+000000106038
+000000012057
+000000162914
+000000384424
+000000506078
+000000261389
+000000468087
+000000104825
+000000248496
+000000340698
+000000042931
+000000409909
+000000057917
+000000055496
+000000154725
+000000540760
+000000144349
+000000094231
+000000546620
+000000075479
+000000568418
+000000402598
+000000129894
+000000380493
+000000416426
+000000168405
+000000277498
+000000074787
+000000156567
+000000471235
+000000172492
+000000317838
+000000374351
+000000210193
+000000577512
+000000488368
+000000051379
+000000344942
+000000226224
+000000089909
+000000427120
+000000085483
+000000218494
+000000438187
+000000486547
+000000029430
+000000336174
+000000054611
+000000516139
+000000071914
+000000402235
+000000190407
+000000086725
+000000549276
+000000443949
+000000499982
+000000436400
+000000067074
+000000306718
+000000387513
+000000305832
+000000430002
+000000408336
+000000120385
+000000128074
+000000069564
+000000441054
+000000421069
+000000316006
+000000033361
+000000067987
+000000076187
+000000318290
+000000538925
+000000225931
+000000292209
+000000363248
+000000266176
+000000319273
+000000019391
+000000580152
+000000331059
+000000441323
+000000332498
+000000203796
+000000354570
+000000486960
+000000087977
+000000546179
+000000403521
+000000520851
+000000429949
+000000330329
+000000345897
+000000331097
+000000016704
+000000390154
+000000513056
+000000056713
+000000075778
+000000340893
+000000057689
+000000263881
+000000559695
+000000083002
+000000315160
+000000249656
+000000077603
+000000449677
+000000254750
+000000057250
+000000066151
+000000149668
+000000429887
+000000152353
+000000486122
+000000400378
+000000002024
+000000202960
+000000576421
+000000416766
+000000517394
+000000021671
+000000517282
+000000089735
+000000437714
+000000226247
+000000436111
+000000240463
+000000516634
+000000344703
+000000365927
+000000366316
+000000144053
+000000226059
+000000318461
+000000332193
+000000431426
+000000118422
+000000446324
+000000354814
+000000370149
+000000122589
+000000327628
+000000270079
+000000508466
+000000271157
+000000152531
+000000387772
+000000455879
+000000480757
+000000459716
+000000245713
+000000368764
+000000418933
+000000250711
+000000431211
+000000168129
+000000196793
+000000268809
+000000235404
+000000012792
+000000480157
+000000473728
+000000259297
+000000489072
+000000330593
+000000411877
+000000488532
+000000511495
+000000134389
+000000558486
+000000373440
+000000476871
+000000512468
+000000081787
+000000304875
+000000230005
+000000164286
+000000578046
+000000474543
+000000500829
+000000448854
+000000218984
+000000344920
+000000051795
+000000305422
+000000252829
+000000138382
+000000266386
+000000524637
+000000491558
+000000029091
+000000435005
+000000357733
+000000329475
+000000422502
+000000576727
+000000099498
+000000468287
+000000077699
+000000299082
+000000016606
+000000109586
+000000116526
+000000437138
+000000436578
+000000027270
+000000034387
+000000314497
+000000421875
+000000025955
+000000360302
+000000550649
+000000056652
+000000193498
+000000296511
+000000096360
+000000256844
+000000464321
+000000410781
+000000083147
+000000565109
+000000190395
+000000044792
+000000101341
+000000097260
+000000546581
+000000026731
+000000034869
+000000576950
+000000268866
+000000361356
+000000291983
+000000092634
+000000573653
+000000220630
+000000565966
+000000141852
+000000564162
+000000235792
+000000571136
+000000194248
+000000110886
+000000050352
+000000105626
+000000236580
+000000285614
+000000544746
+000000215826
+000000242020
+000000328814
+000000231844
+000000316359
+000000099316
+000000345368
+000000405836
+000000302164
+000000304633
+000000179611
+000000464809
+000000091280
+000000138556
+000000152472
+000000040064
+000000500877
+000000340118
+000000543534
+000000414667
+000000178520
+000000400274
+000000576939
+000000364770
+000000508710
+000000551349
+000000409078
+000000505486
+000000511343
+000000337748
+000000257391
+000000581223
+000000565303
+000000100722
+000000438314
+000000306895
+000000181662
+000000164788
+000000114178
+000000385036
+000000253109
+000000315909
+000000498493
+000000337401
+000000362796
+000000397075
+000000197175
+000000402926
+000000171221
+000000217811
+000000075857
+000000206958
+000000391067
+000000564580
+000000303365
+000000356154
+000000140053
+000000451219
+000000076652
+000000016193
+000000051268
+000000159707
+000000163130
+000000321305
+000000496121
+000000210635
+000000169606
+000000219158
+000000038890
+000000450117
+000000372671
+000000079836
+000000071646
+000000177453
+000000008776
+000000425825
+000000012750
+000000082898
+000000484007
+000000447038
+000000195456
+000000255631
+000000165499
+000000495457
+000000260896
+000000313518
+000000482626
+000000411823
+000000445028
+000000500422
+000000130981
+000000179124
+000000040621
+000000466532
+000000434735
+000000134650
+000000484881
+000000408098
+000000346295
+000000009478
+000000555365
+000000293480
+000000326770
+000000078554
+000000461217
+000000487962
+000000083473
+000000257053
+000000111182
+000000537145
+000000046609
+000000019060
+000000390795
+000000544639
+000000531093
+000000140513
+000000365530
+000000366174
+000000188350
+000000374576
+000000164141
+000000372560
+000000581553
+000000189782
+000000465579
+000000441906
+000000383220
+000000235642
+000000062427
+000000027009
+000000393661
+000000387318
+000000229884
+000000504280
+000000523445
+000000252074
+000000466042
+000000324334
+000000080824
+000000035123
+000000010449
+000000318997
+000000528875
+000000480863
+000000103386
+000000502407
+000000333721
+000000016292
+000000184470
+000000383857
+000000501062
+000000222594
+000000016544
+000000061147
+000000379987
+000000206377
+000000202829
+000000307352
+000000404148
+000000337222
+000000322095
+000000355263
+000000524168
+000000288316
+000000295571
+000000409181
+000000003737
+000000277088
+000000558128
+000000363464
+000000573732
+000000539359
+000000322278
+000000520341
+000000491294
+000000576307
+000000510681
+000000503935
+000000175017
+000000056624
+000000176629
+000000209824
+000000411350
+000000250909
+000000166370
+000000553682
+000000282365
+000000390086
+000000224622
+000000321543
+000000010907
+000000244735
+000000144194
+000000462982
+000000402808
+000000204244
+000000058349
+000000291897
+000000084488
+000000478643
+000000275529
+000000410509
+000000208147
+000000208844
+000000434628
+000000129474
+000000281713
+000000337189
+000000044609
+000000570394
+000000480583
+000000253575
+000000443443
+000000530054
+000000371183
+000000460029
+000000378911
+000000401384
+000000361481
+000000316154
+000000084410
+000000486638
+000000050636
+000000189095
+000000521967
+000000112845
+000000062170
+000000167044
+000000080395
+000000452013
+000000524695
+000000261503
+000000452341
+000000557609
+000000010196
+000000518605
+000000418596
+000000223112
+000000320707
+000000274331
+000000411475
+000000487774
+000000512206
+000000268393
+000000302579
+000000439651
+000000378712
+000000137109
+000000522108
+000000306108
+000000017604
+000000560858
+000000269798
+000000409889
+000000318811
+000000150444
+000000056397
+000000576030
+000000137999
+000000055601
+000000353102
+000000205474
+000000106034
+000000369433
+000000345238
+000000353729
+000000403394
+000000302469
+000000328969
+000000341529
+000000435839
+000000185667
+000000058075
+000000139075
+000000000092
+000000267708
+000000424532
+000000142323
+000000380983
+000000409179
+000000297018
+000000154435
+000000150685
+000000223004
+000000173474
+000000120918
+000000132106
+000000209809
+000000244872
+000000389705
+000000142757
+000000144475
+000000283984
+000000340109
+000000386906
+000000342561
+000000448613
+000000306524
+000000179273
+000000381318
+000000353175
+000000166468
+000000108548
+000000020261
+000000498409
+000000365103
+000000516178
+000000125643
+000000082293
+000000158122
+000000410531
+000000448653
+000000540465
+000000461681
+000000201757
+000000354606
+000000226693
+000000296157
+000000563404
+000000060554
+000000534578
+000000377561
+000000347925
+000000375415
+000000402887
+000000017316
+000000026109
+000000569718
+000000472246
+000000465697
+000000444598
+000000013632
+000000028914
+000000150996
+000000544421
+000000413312
+000000520986
+000000205124
+000000293782
+000000361448
+000000100329
+000000191573
+000000309829
+000000088967
+000000482514
+000000489815
+000000306089
+000000005934
+000000169154
+000000031597
+000000108707
+000000132702
+000000542150
+000000220838
+000000302618
+000000158514
+000000083256
+000000431923
+000000300032
+000000534140
+000000048491
+000000382898
+000000133426
+000000311099
+000000363358
+000000211436
+000000306030
+000000068420
+000000359203
+000000547555
+000000359959
+000000104952
+000000035962
+000000038630
+000000329966
+000000355161
+000000082530
+000000479234
+000000472783
+000000191332
+000000264697
+000000475372
+000000474333
+000000229302
+000000283632
+000000440161
+000000512022
+000000303016
+000000286745
+000000280540
+000000137925
+000000039312
+000000244909
+000000530396
+000000395791
+000000373021
+000000181519
+000000028499
+000000136375
+000000255480
+000000520921
+000000433019
+000000043873
+000000532128
+000000079792
+000000188514
+000000067814
+000000022097
+000000472832
+000000052818
+000000037548
+000000027658
+000000091716
+000000344374
+000000201125
+000000330356
+000000459631
+000000061138
+000000552650
+000000033182
+000000472865
+000000162182
+000000277393
+000000110004
+000000178510
+000000229191
+000000042182
+000000212786
+000000247265
+000000304849
+000000463417
+000000534974
+000000441449
+000000080303
+000000557005
+000000090810
+000000096466
+000000284794
+000000233677
+000000326079
+000000547645
+000000303423
+000000221666
+000000330663
+000000151651
+000000140435
+000000223622
+000000237869
+000000536458
+000000298252
+000000185632
+000000147914
+000000108669
+000000459189
+000000221910
+000000371243
+000000395337
+000000132303
+000000102610
+000000263120
+000000157041
+000000028311
+000000477741
+000000261670
+000000177355
+000000553827
+000000361253
+000000138133
+000000571497
+000000234691
+000000046612
+000000379467
+000000241289
+000000008848
+000000453287
+000000319038
+000000181104
+000000225709
+000000117062
+000000219832
+000000535786
+000000238198
+000000538149
+000000441264
+000000122235
+000000477417
+000000339186
+000000428535
+000000275644
+000000488796
+000000104426
+000000160143
+000000545317
+000000534845
+000000439015
+000000510216
+000000363806
+000000556638
+000000265235
+000000052948
+000000482957
+000000167661
+000000373974
+000000378807
+000000106145
+000000239706
+000000298644
+000000501634
+000000189983
+000000358425
+000000552966
+000000039987
+000000259374
+000000013568
+000000282479
+000000197680
+000000462454
+000000576550
+000000498562
+000000211303
+000000253382
+000000179409
+000000534857
+000000047055
+000000060126
+000000186785
+000000000757
+000000158000
+000000318381
+000000453948
+000000344945
+000000440104
+000000239352
+000000377649
+000000510622
+000000390463
+000000480056
+000000580729
+000000434264
+000000245965
+000000262466
+000000423710
+000000436611
+000000087230
+000000549261
+000000350690
+000000445601
+000000021945
+000000078536
+000000020268
+000000431355
+000000040071
+000000312536
+000000510377
+000000110783
+000000555739
+000000313946
+000000289004
+000000241068
+000000096991
+000000001059
+000000303177
+000000169273
+000000217919
+000000298913
+000000450305
+000000510059
+000000571955
+000000459466
+000000549104
+000000563334
+000000478009
+000000458756
+000000224083
+000000436793
+000000005820
+000000020475
+000000567290
+000000027297
+000000432831
+000000352316
+000000238152
+000000041547
+000000087677
+000000471534
+000000342976
+000000495379
+000000466305
+000000444869
+000000131107
+000000341277
+000000153259
+000000357700
+000000188215
+000000208509
+000000304223
+000000090520
+000000313820
+000000189427
+000000024671
+000000532445
+000000502419
+000000055169
+000000099999
+000000337158
+000000341065
+000000226383
+000000393922
+000000375169
+000000054389
+000000557368
+000000494281
+000000187963
+000000490046
+000000225133
+000000208513
+000000148184
+000000043308
+000000248268
+000000220054
+000000072995
+000000393258
+000000171315
+000000504851
+000000031660
+000000066647
+000000086320
+000000366499
+000000430583
+000000010400
+000000265398
+000000259798
+000000151178
+000000564361
+000000366733
+000000152483
+000000299732
+000000262009
+000000536517
+000000082457
+000000073688
+000000459190
+000000170930
+000000181057
+000000270651
+000000486290
+000000061395
+000000242089
+000000458153
+000000363273
+000000389586
+000000296110
+000000265544
+000000117015
+000000418372
+000000026702
+000000257910
+000000090138
+000000375128
+000000203937
+000000255578
+000000203166
+000000471842
+000000267719
+000000132992
+000000200941
+000000123036
+000000016825
+000000354019
+000000526966
+000000056478
+000000281371
+000000261344
+000000458339
+000000495014
+000000136217
+000000405886
+000000517109
+000000479376
+000000563138
+000000174171
+000000521338
+000000046029
+000000542327
+000000169757
+000000507313
+000000024637
+000000533261
+000000040796
+000000067587
+000000304250
+000000002559
+000000547221
+000000086832
+000000309206
+000000003314
+000000502024
+000000521884
+000000417594
+000000029698
+000000136170
+000000366001
+000000485628
+000000484739
+000000131587
+000000071818
+000000183217
+000000388413
+000000315792
+000000117578
+000000155167
+000000522450
+000000263288
+000000243251
+000000030142
+000000300424
+000000571074
+000000249623
+000000238184
+000000098808
+000000492379
+000000124141
+000000102589
+000000397307
+000000206548
+000000507122
+000000399461
+000000477820
+000000119922
+000000476008
+000000168858
+000000314607
+000000269934
+000000310683
+000000465309
+000000381160
+000000424293
+000000073045
+000000566193
+000000487493
+000000570742
+000000453626
+000000455170
+000000487734
+000000284545
+000000268032
+000000473119
+000000561620
+000000404910
+000000473153
+000000360020
+000000021569
+000000321092
+000000424668
+000000362642
+000000292921
+000000142130
+000000496267
+000000557442
+000000533179
+000000163041
+000000292962
+000000536369
+000000578894
+000000043919
+000000315861
+000000271120
+000000501029
+000000555405
+000000181007
+000000152418
+000000258529
+000000175198
+000000034520
+000000332891
+000000217958
+000000069346
+000000144196
+000000134194
+000000425254
+000000386253
+000000202131
+000000566336
+000000317286
+000000092355
+000000155921
+000000134327
+000000013948
+000000090058
+000000430472
+000000241310
+000000276376
+000000517322
+000000102322
+000000369973
+000000211254
+000000268938
+000000194671
+000000331607
+000000533030
+000000021061
+000000562462
+000000554168
+000000314597
+000000089541
+000000393242
+000000167863
+000000038900
+000000554455
+000000087735
+000000108365
+000000066427
+000000253492
+000000189461
+000000384693
+000000429865
+000000090777
+000000358675
+000000548930
+000000257105
+000000086916
+000000381282
+000000392914
+000000562037
+000000380872
+000000233485
+000000579909
+000000453475
+000000157209
+000000071214
+000000085782
+000000035190
+000000514982
+000000365831
+000000449718
+000000113128
+000000214701
+000000449392
+000000123836
+000000538737
+000000190043
+000000329865
+000000128250
+000000546975
+000000155402
+000000388228
+000000344408
+000000241528
+000000376684
+000000281609
+000000512629
+000000532759
+000000407091
+000000474832
+000000340699
+000000372150
+000000056878
+000000479202
+000000409525
+000000557402
+000000298562
+000000467755
+000000404110
+000000242379
+000000250578
+000000090612
+000000246154
+000000188329
+000000128369
+000000053842
+000000249141
+000000435533
+000000259616
+000000524404
+000000567899
+000000022660
+000000353948
+000000200986
+000000162677
+000000344196
+000000111165
+000000500420
+000000238605
+000000156133
+000000561613
+000000448529
+000000484246
+000000502178
+000000295960
+000000214367
+000000324130
+000000017676
+000000402207
+000000163351
+000000352538
+000000398850
+000000285234
+000000052386
+000000232173
+000000112747
+000000042366
+000000052406
+000000270846
+000000034793
+000000214664
+000000005809
+000000294138
+000000078384
+000000267088
+000000226084
+000000412571
+000000297138
+000000195991
+000000105691
+000000110169
+000000348146
+000000256107
+000000515527
+000000061137
+000000500044
+000000441382
+000000257894
+000000340684
+000000421144
+000000052448
+000000319687
+000000277613
+000000025727
+000000567416
+000000340419
+000000010964
+000000230078
+000000388744
+000000101742
+000000228382
+000000043609
+000000450544
+000000004278
+000000378790
+000000447647
+000000081397
+000000250066
+000000133175
+000000370193
+000000066373
+000000520727
+000000261064
+000000437849
+000000034973
+000000027452
+000000357219
+000000369736
+000000254183
+000000066767
+000000233746
+000000217799
+000000103307
+000000012181
+000000264936
+000000196497
+000000477542
+000000094175
+000000200339
+000000540030
+000000551663
+000000158569
+000000108045
+000000084314
+000000242100
+000000151005
+000000428778
+000000179102
+000000544472
+000000459214
+000000094096
+000000511390
+000000360541
+000000581180
+000000359106
+000000520005
+000000307734
+000000040433
+000000074343
+000000170960
+000000039789
+000000089320
+000000141477
+000000378566
+000000072892
+000000403692
+000000162216
+000000129313
+000000274356
+000000388136
+000000145623
+000000286022
+000000330564
+000000324642
+000000400027
+000000243135
+000000358342
+000000403558
+000000286703
+000000469457
+000000573330
+000000033332
+000000139734
+000000125438
+000000560748
+000000521296
+000000455422
+000000025172
+000000065888
+000000370388
+000000463140
+000000349607
+000000092248
+000000537222
+000000521222
+000000502279
+000000059997
+000000288202
+000000155575
+000000141659
+000000027370
+000000038257
+000000080739
+000000485605
+000000453050
+000000136078
+000000125853
+000000567616
+000000453026
+000000192744
+000000223988
+000000102297
+000000444348
+000000479467
+000000010395
+000000213366
+000000030446
+000000186429
+000000317555
+000000556157
+000000129951
+000000385114
+000000482625
+000000250490
+000000098394
+000000204716
+000000391615
+000000303414
+000000296620
+000000477265
+000000011694
+000000129592
+000000013468
+000000120615
+000000462429
+000000065156
+000000372427
+000000549972
+000000494572
+000000469713
+000000258191
+000000445540
+000000047316
+000000361923
+000000057124
+000000356836
+000000200489
+000000487289
+000000019226
+000000473099
+000000322670
+000000102815
+000000516237
+000000564550
+000000270758
+000000233892
+000000206231
+000000579437
+000000148766
+000000440003
+000000263246
+000000495797
+000000371841
+000000263311
+000000285307
+000000322443
+000000210899
+000000435224
+000000357255
+000000178637
+000000286892
+000000070758
+000000190177
+000000572894
+000000093014
+000000510613
+000000552029
+000000147256
+000000403913
+000000202622
+000000497439
+000000239736
+000000360132
+000000555020
+000000459879
+000000287108
+000000339295
+000000457723
+000000281950
+000000004477
+000000352191
+000000262283
+000000262031
+000000258026
+000000136265
+000000284805
+000000436287
+000000517748
+000000468277
+000000271068
+000000503809
+000000104758
+000000529804
+000000065628
+000000478979
+000000165907
+000000058167
+000000403317
+000000525860
+000000527363
+000000204390
+000000143661
+000000022324
+000000385765
+000000246184
+000000452441
+000000092009
+000000070626
+000000569415
+000000517405
+000000248649
+000000231071
+000000299205
+000000237587
+000000492075
+000000407768
+000000080147
+000000211204
+000000565765
+000000066652
+000000095482
+000000543541
+000000565053
+000000505597
+000000493206
+000000079924
+000000122343
+000000561448
+000000255950
+000000282987
+000000269327
+000000155212
+000000311999
+000000076087
+000000357656
+000000088146
+000000292419
+000000408393
+000000137320
+000000460812
+000000549122
+000000318222
+000000085122
+000000369516
+000000225750
+000000162357
+000000135367
+000000524062
+000000129699
+000000166575
+000000160308
+000000313412
+000000142340
+000000406805
+000000172702
+000000064798
+000000165373
+000000572399
+000000442143
+000000176479
+000000056675
+000000446428
+000000064157
+000000044996
+000000194362
+000000313061
+000000211576
+000000518807
+000000382046
+000000175390
+000000299010
+000000454326
+000000235564
+000000304240
+000000421979
+000000150374
+000000502752
+000000076159
+000000240195
+000000557306
+000000528011
+000000409408
+000000232755
+000000175205
+000000211030
+000000485113
+000000032603
+000000027215
+000000260453
+000000272080
+000000474711
+000000002544
+000000407372
+000000177102
+000000410641
+000000465856
+000000235119
+000000518027
+000000577619
+000000021964
+000000536274
+000000153047
+000000303232
+000000058248
+000000046731
+000000205964
+000000373532
+000000036068
+000000346633
+000000084607
+000000211823
+000000286342
+000000118060
+000000467873
+000000102594
+000000279264
+000000086336
+000000091130
+000000256859
+000000119444
+000000406786
+000000229550
+000000417089
+000000520996
+000000268276
+000000446223
+000000136793
+000000494819
+000000262654
+000000308366
+000000256546
+000000116786
+000000446807
+000000553192
+000000245274
+000000345068
+000000534672
+000000281617
+000000478480
+000000045360
+000000575585
+000000266857
+000000507815
+000000373578
+000000010166
+000000170765
+000000389391
+000000069874
+000000331311
+000000421578
+000000440299
+000000374796
+000000176694
+000000525625
+000000556424
+000000209449
+000000232673
+000000543942
+000000435703
+000000028978
+000000550952
+000000138057
+000000542527
+000000319685
+000000103017
+000000520617
+000000552584
+000000085302
+000000489399
+000000032252
+000000344238
+000000284133
+000000021801
+000000357929
+000000129456
+000000187566
+000000531970
+000000089745
+000000003742
+000000042135
+000000544831
+000000449373
+000000549517
+000000057023
+000000132499
+000000476539
+000000012321
+000000000009
+000000399752
+000000410231
+000000557823
+000000193738
+000000126065
+000000250367
+000000006091
+000000475561
+000000063355
+000000407593
+000000343670
+000000333510
+000000381350
+000000505264
+000000367893
+000000411700
+000000002279
+000000410992
+000000572487
+000000468912
+000000352802
+000000374396
+000000013547
+000000187063
+000000301875
+000000555673
+000000181759
+000000537721
+000000489510
+000000235575
+000000234733
+000000401831
+000000101265
+000000150502
+000000557227
+000000261085
+000000400948
+000000552585
+000000306952
+000000471814
+000000142592
+000000396608
+000000430338
+000000369731
+000000445140
+000000029956
+000000110447
+000000514437
+000000100016
+000000088142
+000000403910
+000000123268
+000000110869
+000000176728
+000000240718
+000000272673
+000000084493
+000000359201
+000000019306
+000000108602
+000000104313
+000000044524
+000000342126
+000000330732
+000000471020
+000000079949
+000000146586
+000000024045
+000000018647
+000000199943
+000000359659
+000000165874
+000000224042
+000000008433
+000000558276
+000000332691
+000000246913
+000000352081
+000000331113
+000000017946
+000000448145
+000000218113
+000000484587
+000000376426
+000000276162
+000000080511
+000000028957
+000000406189
+000000460964
+000000346190
+000000447091
+000000389128
+000000205861
+000000262098
+000000196876
+000000437426
+000000439423
+000000161506
+000000569582
+000000066660
+000000122421
+000000558640
+000000516455
+000000267898
+000000311890
+000000044083
+000000289309
+000000277587
+000000487528
+000000407509
+000000136332
+000000245112
+000000180281
+000000096833
+000000181042
+000000581392
+000000543631
+000000364589
+000000178307
+000000440246
+000000306258
+000000338988
+000000120670
+000000579487
+000000522611
+000000342025
+000000414723
+000000468078
+000000411455
+000000464386
+000000168562
+000000295473
+000000348516
+000000336192
+000000225751
+000000285897
+000000045325
+000000344442
+000000132373
+000000193046
+000000335799
+000000211837
+000000309341
+000000132798
+000000446069
+000000562496
+000000288721
+000000278045
+000000366591
+000000190432
+000000442394
+000000412015
+000000002989
+000000096354
+000000204352
+000000183253
+000000034847
+000000019145
+000000076899
+000000538497
+000000149295
+000000265490
+000000528756
+000000567189
+000000534183
+000000186881
+000000490986
+000000002570
+000000145391
+000000542804
+000000071907
+000000389492
+000000096481
+000000304642
+000000496531
+000000295941
+000000273118
+000000329546
+000000393805
+000000110011
+000000394244
+000000494199
+000000574471
+000000510117
+000000091306
+000000066881
+000000510591
+000000234883
+000000271729
+000000032655
+000000343634
+000000008603
+000000394330
+000000318006
+000000464329
+000000333156
+000000169318
+000000502540
+000000279511
+000000555668
+000000196995
+000000113836
+000000016575
+000000449007
+000000539089
+000000148516
+000000363523
+000000162688
+000000343193
+000000328890
+000000332736
+000000146128
+000000041688
+000000358901
+000000434097
+000000271897
+000000107013
+000000012597
+000000145280
+000000537890
+000000214975
+000000109783
+000000388284
+000000414546
+000000293975
+000000519138
+000000557360
+000000576496
+000000377406
+000000423172
+000000438025
+000000237851
+000000330284
+000000053345
+000000109635
+000000188078
+000000129921
+000000171349
+000000060400
+000000449721
+000000006016
+000000132902
+000000354530
+000000326454
+000000240565
+000000088445
+000000081363
+000000396295
+000000137190
+000000214300
+000000308167
+000000179191
+000000455698
+000000029906
+000000186775
+000000257617
+000000195715
+000000010867
+000000159626
+000000316019
+000000520092
+000000572331
+000000514902
+000000297829
+000000502364
+000000099568
+000000434234
+000000340345
+000000039758
+000000243104
+000000484573
+000000268659
+000000250045
+000000523883
+000000379101
+000000014282
+000000210448
+000000032846
+000000332489
+000000456145
+000000173684
+000000438315
+000000566973
+000000193895
+000000325310
+000000059704
+000000160930
+000000428125
+000000544215
+000000236772
+000000297665
+000000045663
+000000083060
+000000202935
+000000237085
+000000208071
+000000457194
+000000416776
+000000377011
+000000029816
+000000579402
+000000513775
+000000476685
+000000393486
+000000116789
+000000337422
+000000202264
+000000293810
+000000356368
+000000416145
+000000336113
+000000492235
+000000044780
+000000285804
+000000382210
+000000503097
+000000348475
+000000224289
+000000421792
+000000186121
+000000217378
+000000321059
+000000084283
+000000237667
+000000373639
+000000342715
+000000469514
+000000058172
+000000009127
+000000375962
+000000039150
+000000159754
+000000108430
+000000174500
+000000345497
+000000222913
+000000213554
+000000300534
+000000197329
+000000121745
+000000558435
+000000043566
+000000453164
+000000082202
+000000352312
+000000239194
+000000551206
+000000491516
+000000581739
+000000489070
+000000334938
+000000560412
+000000497930
+000000193347
+000000133517
+000000378672
+000000373677
+000000493868
+000000064962
+000000339421
+000000049183
+000000352236
+000000261043
+000000400443
+000000316047
+000000373753
+000000213999
+000000287384
+000000338826
+000000327502
+000000224777
+000000453093
+000000422818
+000000440656
+000000515196
+000000175775
+000000488605
+000000047905
+000000466001
+000000399269
+000000517294
+000000400860
+000000520133
+000000440641
+000000399618
+000000574818
+000000094307
+000000033663
+000000026728
+000000092514
+000000299212
+000000066668
+000000557315
+000000215226
+000000229885
+000000402570
+000000517171
+000000366171
+000000148858
+000000492170
+000000514230
+000000097686
+000000310242
+000000524502
+000000251379
+000000410622
+000000494248
+000000510757
+000000347748
+000000407214
+000000551636
+000000216241
+000000318616
+000000357508
+000000075119
+000000442686
+000000547036
+000000550643
+000000317441
+000000349044
+000000327777
+000000475195
+000000064139
+000000375654
+000000228527
+000000398613
+000000120744
+000000472733
+000000229866
+000000026578
+000000253521
+000000521236
+000000336579
+000000577564
+000000152015
+000000557901
+000000105603
+000000143736
+000000136464
+000000176558
+000000274422
+000000394900
+000000537461
+000000407737
+000000168524
+000000295553
+000000133030
+000000241410
+000000156555
+000000416641
+000000543183
+000000093571
+000000471578
+000000419907
+000000042228
+000000374605
+000000438663
+000000293832
+000000440792
+000000401877
+000000333245
+000000114398
+000000532778
+000000385403
+000000463432
+000000168440
+000000194419
+000000138806
+000000541964
+000000505440
+000000173081
+000000355667
+000000233938
+000000511358
+000000169401
+000000052384
+000000220189
+000000321355
+000000452953
+000000322395
+000000033912
+000000503482
+000000356828
+000000252272
+000000580835
+000000148215
+000000297426
+000000548528
+000000044079
+000000358550
+000000561648
+000000083325
+000000479200
+000000223174
+000000203486
+000000274224
+000000267762
+000000372038
+000000325524
+000000054755
+000000473171
+000000282675
+000000494264
+000000388766
+000000444141
+000000097543
+000000061230
+000000072733
+000000366421
+000000035907
+000000200133
+000000441816
+000000416387
+000000211243
+000000303647
+000000016701
+000000448696
+000000294595
+000000114863
+000000059042
+000000135420
+000000462997
+000000552589
+000000510207
+000000482753
+000000522703
+000000005615
+000000339495
+000000207030
+000000228336
+000000338774
+000000117536
+000000567440
+000000314376
+000000510258
+000000561861
+000000331223
+000000440286
+000000145259
+000000244878
+000000425112
+000000164103
+000000305526
+000000529434
+000000136983
+000000088005
+000000568060
+000000312465
+000000378327
+000000538848
+000000473491
+000000203879
+000000162693
+000000483487
+000000312467
+000000357167
+000000341917
+000000238511
+000000166903
+000000159756
+000000455934
+000000094858
+000000470463
+000000448571
+000000560893
+000000514544
+000000207400
+000000083568
+000000575511
+000000256160
+000000427041
+000000520840
+000000516791
+000000235916
+000000213675
+000000084390
+000000309753
+000000464498
+000000208663
+000000322845
+000000183771
+000000067572
+000000305476
+000000153142
+000000174457
+000000150347
+000000104900
+000000276386
+000000234699
+000000403278
+000000214803
+000000522817
+000000226211
+000000491976
+000000332562
+000000557602
+000000469265
+000000113437
+000000356474
+000000133195
+000000280787
+000000514901
+000000079104
+000000074059
+000000392564
+000000394334
+000000463338
+000000347058
+000000528507
+000000534037
+000000219816
+000000441232
+000000557510
+000000273688
+000000218763
+000000541472
+000000051278
+000000415665
+000000081512
+000000187757
+000000536902
+000000284560
+000000474243
+000000353408
+000000143984
+000000176721
+000000130226
+000000564188
+000000545597
+000000219619
+000000024287
+000000163253
+000000265574
+000000083614
+000000195172
+000000518901
+000000063115
+000000203846
+000000095375
+000000558052
+000000548706
+000000189565
+000000071440
+000000197044
+000000456606
+000000099474
+000000317474
+000000504338
+000000137661
+000000434829
+000000225834
+000000363336
+000000410225
+000000227480
+000000424711
+000000555571
+000000525559
+000000026944
+000000579593
+000000094884
+000000043203
+000000038775
+000000166437
+000000564912
+000000222122
+000000207097
+000000575496
+000000180333
+000000571787
+000000167166
+000000293966
+000000394957
+000000546693
+000000066027
+000000262329
+000000554900
+000000002276
+000000055571
+000000468623
+000000182349
+000000329179
+000000050829
+000000512254
+000000102793
+000000172285
+000000030722
+000000499020
+000000112734
+000000094514
+000000334109
+000000260011
+000000193787
+000000380951
+000000107481
+000000109542
+000000134955
+000000193363
+000000365471
+000000557546
+000000018414
+000000544301
+000000268130
+000000362524
+000000308536
+000000209326
+000000000133
+000000572899
+000000195969
+000000137006
+000000186671
+000000461278
+000000140813
+000000041433
+000000329355
+000000408479
+000000393583
+000000156556
+000000130438
+000000025660
+000000452308
+000000349486
+000000156042
+000000033998
+000000176211
+000000340422
+000000387576
+000000523819
+000000317019
+000000154610
+000000452823
+000000380058
+000000581346
+000000484201
+000000509772
+000000119630
+000000206998
+000000011422
+000000256973
+000000306444
+000000188053
+000000213911
+000000499738
+000000301093
+000000252459
+000000265636
+000000150576
+000000305501
+000000152751
+000000500212
+000000431304
+000000430805
+000000036382
+000000405196
+000000091295
+000000341040
+000000221578
+000000074126
+000000371807
+000000434039
+000000314481
+000000458836
+000000520197
+000000365372
+000000562474
+000000457121
+000000299444
+000000080943
+000000220182
+000000144812
+000000482974
+000000289703
+000000384523
+000000312939
+000000330388
+000000364467
+000000116182
+000000316059
+000000230226
+000000130222
+000000239038
+000000529408
+000000573932
+000000368293
+000000381426
+000000442543
+000000328246
+000000330402
+000000077516
+000000186247
+000000499130
+000000191675
+000000185756
+000000023199
+000000568455
+000000540257
+000000302869
+000000170321
+000000047255
+000000460040
+000000372807
+000000325944
+000000058951
+000000349609
+000000284111
+000000229832
+000000521195
+000000097200
+000000116312
+000000104701
+000000048892
+000000498091
+000000134724
+000000579544
+000000151092
+000000316022
+000000577355
+000000503183
+000000057731
+000000223289
+000000384026
+000000541086
+000000059735
+000000272217
+000000295294
+000000050422
+000000419560
+000000458189
+000000492647
+000000131060
+000000039884
+000000217064
+000000574592
+000000505546
+000000349046
+000000447977
+000000327178
+000000345275
+000000524247
+000000543281
+000000298295
+000000473475
+000000287407
+000000007361
+000000526029
+000000549042
+000000177959
+000000287841
+000000390999
+000000267998
+000000389308
+000000127710
+000000308003
+000000566687
+000000310611
+000000361693
+000000524694
+000000244003
+000000137094
+000000162524
+000000517253
+000000234370
+000000052761
+000000300392
+000000426459
+000000546242
+000000132193
+000000443880
+000000158456
+000000289690
+000000404537
+000000359843
+000000091844
+000000395444
+000000577527
+000000559992
+000000268340
+000000507714
+000000159962
+000000396194
+000000399558
+000000016046
+000000349402
+000000262933
+000000428278
+000000049027
+000000325523
+000000452791
+000000027032
+000000137123
+000000064150
+000000522613
+000000030361
+000000398540
+000000224264
+000000259398
+000000406601
+000000204039
+000000399183
+000000048719
+000000430551
+000000299305
+000000115071
+000000338098
+000000386958
+000000128831
+000000106045
+000000566258
+000000157497
+000000238193
+000000242257
+000000262619
+000000149835
+000000049994
+000000310766
+000000289067
+000000302278
+000000193560
+000000239555
+000000248678
+000000270558
+000000013769
+000000375573
+000000476609
+000000335037
+000000413543
+000000379378
+000000453885
+000000296410
+000000579057
+000000161348
+000000208801
+000000181697
+000000574392
+000000006177
+000000011323
+000000169849
+000000527597
+000000042844
+000000557067
+000000531171
+000000300989
+000000274803
+000000467206
+000000307662
+000000198921
+000000569672
+000000322625
+000000565756
+000000087878
+000000309135
+000000151115
+000000080535
+000000022409
+000000420225
+000000522342
+000000123694
+000000197507
+000000404066
+000000118927
+000000446354
+000000282523
+000000265589
+000000369212
+000000371991
+000000091784
+000000367809
+000000134863
+000000472557
+000000292907
+000000048308
+000000494800
+000000191320
+000000114479
+000000506220
+000000535643
+000000532966
+000000125042
+000000259233
+000000406628
+000000093778
+000000463459
+000000326011
+000000513295
+000000095747
+000000174901
+000000044336
+000000309491
+000000404486
+000000562595
+000000341227
+000000326256
+000000471155
+000000183693
+000000573374
+000000040699
+000000130184
+000000066209
+000000021614
+000000506209
+000000044818
+000000438004
+000000387393
+000000351116
+000000244671
+000000137589
+000000530906
+000000042086
+000000500559
+000000083696
+000000230892
+000000443605
+000000206068
+000000259519
+000000361685
+000000254549
+000000436383
+000000185513
+000000197836
+000000188352
+000000386695
+000000421768
+000000167422
+000000281267
+000000100322
+000000117512
+000000375840
+000000301102
+000000189646
+000000457434
+000000304937
+000000413346
+000000106896
+000000209048
+000000049491
+000000149712
+000000077025
+000000148286
+000000512912
+000000446249
+000000316061
+000000474155
+000000318365
+000000544786
+000000568562
+000000089072
+000000026936
+000000159103
+000000543371
+000000055290
+000000343630
+000000049445
+000000490596
+000000488271
+000000410648
+000000071549
+000000488764
+000000011334
+000000374677
+000000102345
+000000391388
+000000408248
+000000478087
+000000496887
+000000353543
+000000382118
+000000202913
+000000477497
+000000179019
+000000394841
+000000221194
+000000546079
+000000375878
+000000484377
+000000448504
+000000330262
+000000440361
+000000034938
+000000488746
+000000313399
+000000357424
+000000026522
+000000289862
+000000399615
+000000023038
+000000240129
+000000323812
+000000553248
+000000556120
+000000243446
+000000154023
+000000270796
+000000124157
+000000022257
+000000238347
+000000338215
+000000470613
+000000255842
+000000020701
+000000343621
+000000310546
+000000546647
+000000114678
+000000374087
+000000485550
+000000557610
+000000545849
+000000543447
+000000283968
+000000349138
+000000477922
+000000236199
+000000556726
+000000199719
+000000498196
+000000101418
+000000292032
+000000403265
+000000477052
+000000128568
+000000286760
+000000515642
+000000135680
+000000350933
+000000157911
+000000487236
+000000170579
+000000186322
+000000291438
+000000053965
+000000105100
+000000151387
+000000099913
+000000528097
+000000432064
+000000248779
+000000177314
+000000554340
+000000356725
+000000137847
+000000289027
+000000231364
+000000175604
+000000497698
+000000402257
+000000324278
+000000566608
+000000162213
+000000211040
+000000466307
+000000047492
+000000450963
+000000172654
+000000271148
+000000017203
+000000535501
+000000561938
+000000383721
+000000300034
+000000034920
+000000065095
+000000081561
+000000248769
+000000297152
+000000456420
+000000116424
+000000444346
+000000124232
+000000558516
+000000458483
+000000093565
+000000457558
+000000096328
+000000347957
+000000214057
+000000549817
+000000201993
+000000439969
+000000267586
+000000386755
+000000147895
+000000119706
+000000480215
+000000203920
+000000561339
+000000388011
+000000254123
+000000142558
+000000065270
+000000411400
+000000215873
+000000036445
+000000471629
+000000058472
+000000518006
+000000360205
+000000029180
+000000435894
+000000371226
+000000181571
+000000402970
+000000544071
+000000487837
+000000447596
+000000171484
+000000560517
+000000350648
+000000048134
+000000123751
+000000230600
+000000190884
+000000505539
+000000133051
+000000335106
+000000426077
+000000496618
+000000436848
+000000228834
+000000384258
+000000385667
+000000455557
+000000044291
+000000479886
+000000484973
+000000322553
+000000370117
+000000565273
+000000412722
+000000253699
+000000000072
+000000499958
+000000345658
+000000426872
+000000005344
+000000028385
+000000565906
+000000260293
+000000367952
+000000313384
+000000227732
+000000509270
+000000102149
+000000185962
+000000347529
+000000147030
+000000442654
+000000209322
+000000239618
+000000031971
+000000579700
+000000416841
+000000203405
+000000278486
+000000510611
+000000491579
+000000160886
+000000523204
+000000433190
+000000578748
+000000548545
+000000564508
+000000043917
+000000425690
+000000158848
+000000136411
+000000059335
+000000085529
+000000241962
+000000408221
+000000451739
+000000023541
+000000090818
+000000383556
+000000177166
+000000376785
+000000289654
+000000354202
+000000141343
+000000346876
+000000102168
+000000539675
+000000531944
+000000224497
+000000322567
+000000156784
+000000125979
+000000115145
+000000157809
+000000084064
+000000396977
+000000477434
+000000296286
+000000019647
+000000185821
+000000346932
+000000472690
+000000263780
+000000516880
+000000111103
+000000025723
+000000562804
+000000310440
+000000025191
+000000032682
+000000295270
+000000273188
+000000512157
+000000044749
+000000487401
+000000272068
+000000013876
+000000029508
+000000380949
+000000236792
+000000213148
+000000358482
+000000123841
+000000577312
+000000358266
+000000490579
+000000332757
+000000463012
+000000437789
+000000035303
+000000568111
+000000339256
+000000092624
+000000144915
+000000128506
+000000278639
+000000329652
+000000291894
+000000334383
+000000214955
+000000275276
+000000195897
+000000539158
+000000576219
+000000328853
+000000549478
+000000368311
+000000110308
+000000564733
+000000408542
+000000534881
+000000053691
+000000002902
+000000303010
+000000566832
+000000132497
+000000341572
+000000258501
+000000109212
+000000180670
+000000555183
+000000294349
+000000202944
+000000530127
+000000359323
+000000487475
+000000117046
+000000066878
+000000530535
+000000414401
+000000303056
+000000363880
+000000418282
+000000549375
+000000373568
+000000406050
+000000329182
+000000349469
+000000218917
+000000087865
+000000008234
+000000364973
+000000483836
+000000161156
+000000043601
+000000066711
+000000043220
+000000550310
+000000186719
+000000500677
+000000197200
+000000481889
+000000211529
+000000281508
+000000007522
+000000045599
+000000526739
+000000339591
+000000313063
+000000101160
+000000334170
+000000337030
+000000203349
+000000235221
+000000127976
+000000108000
+000000575909
+000000519490
+000000347128
+000000361866
+000000334736
+000000292499
+000000014850
+000000174694
+000000542154
+000000382673
+000000141263
+000000129689
+000000345357
+000000181275
+000000434502
+000000035760
+000000333240
+000000233948
+000000331216
+000000554994
+000000181572
+000000270098
+000000085209
+000000079589
+000000084259
+000000282238
+000000540988
+000000417195
+000000043011
+000000440559
+000000517600
+000000074039
+000000203452
+000000422779
+000000071409
+000000229114
+000000458326
+000000163628
+000000311868
+000000553184
+000000368363
+000000038697
+000000332215
+000000136233
+000000491909
+000000509269
+000000162577
+000000544246
+000000038083
+000000125585
+000000253675
+000000360948
+000000036255
+000000406201
+000000577723
+000000542248
+000000373796
+000000168482
+000000556461
+000000274697
+000000183719
+000000556910
+000000254522
+000000067496
+000000208521
+000000198546
+000000104098
+000000578481
+000000517340
+000000418818
+000000054572
+000000557105
+000000390474
+000000200938
+000000485891
+000000035400
+000000273324
+000000276343
+000000425179
+000000475236
+000000218606
+000000218988
+000000328452
+000000010566
+000000360529
+000000484583
+000000538604
+000000034483
+000000352511
+000000208251
+000000159332
+000000266451
+000000173289
+000000232716
+000000150254
+000000456827
+000000463102
+000000465092
+000000501858
+000000203618
+000000323925
+000000357696
+000000353671
+000000071526
+000000230462
+000000571990
+000000229274
+000000122959
+000000412996
+000000341035
+000000352143
+000000567437
+000000186207
+000000431853
+000000110258
+000000364698
+000000566325
+000000177078
+000000291655
+000000121101
+000000062715
+000000144809
+000000545930
+000000432144
+000000278922
+000000041938
+000000132330
+000000020392
+000000398339
+000000257255
+000000299654
+000000107482
+000000200351
+000000182474
+000000351297
+000000445815
+000000424326
+000000343849
+000000099086
+000000327580
+000000043210
+000000190475
+000000197437
+000000131565
+000000010769
+000000334174
+000000242907
+000000274591
+000000293385
+000000416774
+000000322557
+000000216176
+000000535997
+000000565117
+000000130786
+000000044913
+000000332943
+000000182483
+000000544349
+000000203868
+000000071647
+000000350214
+000000295952
+000000237911
+000000255575
+000000206274
+000000515870
+000000160283
+000000008128
+000000515993
+000000479598
+000000472704
+000000404007
+000000523959
+000000333824
+000000461650
+000000221245
+000000504184
+000000067536
+000000081116
+000000122597
+000000435750
+000000548416
+000000470196
+000000279081
+000000066491
+000000416778
+000000500190
+000000200862
+000000563292
+000000428414
+000000457519
+000000081365
+000000328888
+000000479417
+000000404652
+000000449195
+000000133464
+000000312539
+000000069698
+000000326805
+000000320667
+000000166977
+000000369991
+000000414244
+000000013159
+000000335385
+000000389041
+000000401518
+000000491384
+000000263714
+000000164390
+000000332549
+000000223293
+000000559618
+000000056667
+000000410344
+000000336811
+000000386194
+000000052947
+000000054229
+000000314265
+000000459374
+000000106383
+000000287496
+000000097028
+000000496819
+000000282070
+000000194425
+000000475245
+000000187099
+000000142999
+000000304828
+000000440334
+000000049733
+000000524905
+000000196484
+000000132447
+000000117036
+000000416026
+000000496324
+000000367188
+000000552901
+000000429560
+000000069494
+000000456652
+000000453438
+000000382758
+000000289031
+000000028758
+000000039640
+000000358174
+000000060364
+000000369126
+000000170862
+000000179620
+000000330914
+000000249689
+000000287228
+000000043979
+000000443320
+000000008761
+000000272773
+000000313603
+000000471184
+000000063495
+000000468238
+000000269020
+000000465835
+000000386704
+000000221927
+000000168250
+000000554569
+000000316755
+000000011926
+000000151790
+000000338146
+000000379462
+000000275175
+000000422343
+000000475881
+000000302325
+000000527759
+000000498650
+000000418938
+000000546058
+000000221700
+000000443315
+000000127006
+000000420059
+000000130138
+000000024036
+000000530933
+000000516668
+000000442416
+000000059497
+000000001084
+000000093601
+000000296348
+000000487778
+000000446945
+000000334453
+000000430396
+000000235200
+000000059116
+000000204721
+000000330979
+000000013893
+000000507642
+000000185549
+000000447233
+000000338363
+000000138810
+000000223902
+000000392629
+000000488601
+000000266115
+000000326716
+000000088097
+000000382368
+000000090151
+000000228560
+000000539056
+000000246725
+000000109835
+000000528074
+000000413497
+000000348235
+000000100547
+000000506137
+000000005362
+000000064794
+000000231773
+000000303233
+000000450762
+000000031079
+000000193599
+000000488997
+000000163601
+000000335766
+000000220981
+000000153997
+000000521711
+000000121676
+000000406959
+000000199678
+000000412356
+000000014319
+000000026799
+000000368096
+000000203729
+000000410091
+000000449011
+000000180588
+000000322226
+000000244847
+000000187939
+000000337497
+000000132725
+000000205863
+000000574221
+000000118777
+000000466800
+000000473651
+000000211560
+000000183163
+000000037880
+000000244369
+000000166323
+000000321554
+000000505919
+000000375342
+000000491029
+000000462974
+000000460296
+000000131516
+000000095148
+000000407050
+000000558475
+000000437564
+000000456931
+000000254986
+000000061626
+000000028110
+000000433285
+000000467927
+000000026745
+000000438514
+000000335844
+000000173315
+000000479608
+000000109169
+000000324008
+000000097569
+000000165919
+000000135681
+000000522101
+000000168455
+000000273979
+000000490749
+000000259354
+000000532852
+000000199255
+000000518189
+000000305464
+000000122108
+000000070939
+000000542402
+000000520027
+000000362764
+000000104290
+000000559700
+000000467397
+000000156772
+000000194559
+000000569495
+000000542640
+000000502613
+000000294992
+000000477420
+000000083773
+000000103027
+000000347790
+000000182849
+000000302855
+000000520674
+000000514271
+000000166320
+000000227960
+000000187610
+000000219655
+000000386683
+000000512511
+000000512463
+000000264434
+000000393286
+000000387906
+000000579176
+000000042871
+000000005754
+000000061307
+000000188192
+000000478742
+000000079322
+000000553998
+000000100781
+000000508245
+000000553401
+000000303549
+000000123070
+000000299495
+000000003794
+000000547637
+000000289739
+000000146769
+000000268233
+000000206731
+000000052886
+000000084073
+000000398362
+000000511133
+000000362657
+000000574443
+000000322824
+000000367452
+000000008062
+000000560604
+000000385666
+000000405314
+000000478184
+000000566439
+000000280112
+000000256668
+000000393176
+000000326690
+000000462080
+000000112525
+000000359070
+000000504736
+000000086677
+000000508814
+000000272051
+000000050773
+000000227503
+000000196990
+000000409744
+000000258119
+000000323499
+000000186587
+000000485928
+000000157087
+000000335653
+000000399011
+000000097734
+000000553595
+000000336967
+000000258396
+000000315211
+000000177247
+000000407676
+000000481598
+000000364288
+000000535917
+000000569801
+000000104410
+000000391989
+000000097334
+000000262386
+000000169893
+000000183416
+000000241620
+000000208043
+000000098044
+000000269862
+000000350083
+000000387875
+000000059528
+000000568529
+000000533525
+000000100897
+000000131884
+000000553388
+000000494085
+000000324308
+000000448861
+000000182029
+000000048867
+000000171500
+000000227667
+000000551413
+000000214927
+000000401822
+000000223122
+000000497440
+000000094825
+000000522143
+000000222015
+000000476848
+000000128522
+000000161947
+000000428244
+000000450346
+000000562870
+000000554145
+000000262285
+000000526941
+000000509819
+000000317672
+000000076477
+000000219906
+000000521917
+000000476715
+000000100607
+000000457448
+000000118762
+000000345137
+000000420506
+000000106351
+000000085163
+000000470907
+000000453664
+000000111556
+000000438810
+000000531431
+000000543093
+000000206048
+000000118543
+000000192560
+000000500432
+000000240267
+000000139698
+000000416125
+000000127623
+000000430720
+000000143174
+000000373218
+000000124135
+000000217383
+000000341161
+000000280189
+000000531406
+000000117026
+000000199011
+000000176086
+000000232401
+000000340065
+000000382629
+000000542458
+000000007778
+000000007239
+000000159761
+000000476313
+000000397109
+000000011727
+000000211632
+000000074253
+000000184718
+000000039750
+000000103295
+000000503771
+000000381485
+000000470411
+000000572859
+000000442542
+000000022958
+000000448471
+000000123643
+000000324442
+000000103296
+000000449106
+000000316856
+000000222053
+000000278763
+000000142660
+000000348931
+000000364274
+000000485843
+000000567454
+000000386700
+000000176521
+000000312800
+000000224012
+000000069047
+000000279578
+000000050994
+000000385513
+000000468341
+000000117743
+000000018773
+000000414870
+000000134199
+000000379316
+000000178239
+000000514218
+000000239007
+000000218811
+000000299771
+000000339469
+000000174247
+000000287360
+000000296781
+000000329939
+000000035033
+000000238171
+000000297075
+000000523638
+000000551609
+000000076674
+000000411871
+000000036661
+000000119608
+000000416484
+000000475840
+000000312896
+000000413678
+000000045535
+000000464534
+000000253578
+000000563061
+000000388853
+000000008531
+000000572304
+000000146126
+000000419942
+000000382624
+000000149602
+000000390201
+000000561128
+000000269419
+000000347377
+000000458229
+000000221820
+000000449043
+000000064463
+000000447117
+000000170774
+000000563110
+000000224364
+000000511549
+000000304777
+000000105671
+000000346890
+000000193044
+000000307480
+000000027343
+000000572055
+000000205196
+000000346496
+000000009721
+000000109319
+000000181224
+000000060269
+000000514666
+000000577926
+000000523211
+000000518348
+000000432724
+000000500495
+000000065490
+000000530600
+000000221685
+000000154202
+000000217090
+000000466771
+000000370842
+000000491018
+000000038252
+000000150932
+000000225468
+000000060088
+000000054513
+000000521610
+000000104906
+000000516000
+000000174507
+000000234388
+000000341778
+000000323502
+000000367400
+000000489613
+000000545101
+000000279182
+000000556837
+000000435833
+000000522880
+000000110951
+000000135900
+000000566155
+000000472656
+000000165299
+000000209539
+000000573544
+000000416972
+000000275173
+000000567613
+000000202465
+000000390179
+000000091454
+000000216482
+000000236218
+000000282579
+000000154585
+000000457521
+000000544380
+000000464784
+000000172843
+000000079011
+000000389213
+000000180160
+000000359140
+000000580003
+000000309175
+000000189245
+000000426912
+000000415561
+000000094538
+000000179318
+000000093419
+000000572283
+000000256365
+000000428120
+000000224306
+000000470361
+000000550893
+000000272188
+000000005263
+000000240751
+000000450066
+000000214569
+000000113956
+000000196111
+000000227468
+000000095379
+000000521285
+000000117869
+000000372726
+000000310315
+000000578765
+000000266336
+000000409821
+000000014855
+000000419371
+000000074534
+000000564123
+000000395397
+000000418002
+000000410002
+000000186323
+000000487824
+000000205266
+000000455482
+000000268755
+000000287890
+000000434981
+000000253261
+000000226585
+000000207811
+000000166766
+000000237797
+000000504868
+000000334491
+000000095320
+000000059399
+000000076100
+000000519369
+000000497267
+000000488295
+000000525342
+000000156216
+000000141508
+000000076896
+000000307550
+000000451854
+000000054171
+000000466430
+000000467502
+000000071933
+000000038000
+000000105247
+000000100468
+000000328881
+000000023641
+000000069773
+000000477194
+000000057866
+000000107443
+000000510609
+000000158770
+000000282186
+000000308825
+000000472181
+000000139281
+000000269508
+000000250815
+000000559449
+000000262704
+000000133100
+000000214587
+000000020052
+000000316293
+000000195712
+000000312621
+000000476562
+000000496746
+000000518530
+000000023378
+000000340559
+000000338265
+000000081031
+000000123035
+000000210086
+000000098115
+000000180925
+000000534349
+000000490031
+000000471932
+000000071589
+000000393682
+000000455136
+000000290078
+000000369721
+000000155582
+000000168999
+000000129995
+000000281280
+000000120519
+000000328802
+000000028974
+000000160041
+000000199628
+000000115887
+000000374218
+000000239581
+000000095822
+000000335047
+000000237872
+000000097017
+000000287095
+000000254414
+000000010327
+000000344883
+000000123831
+000000509587
+000000267416
+000000327500
+000000029346
+000000414675
+000000060993
+000000109123
+000000316696
+000000384260
+000000319848
+000000537035
+000000193369
+000000089436
+000000427943
+000000408333
+000000477390
+000000554699
+000000264868
+000000512840
+000000072715
+000000040569
+000000570785
+000000373678
+000000417055
+000000490016
+000000230091
+000000270379
+000000116250
+000000538451
+000000453428
+000000047066
+000000419532
+000000114926
+000000376916
+000000041251
+000000562338
+000000479057
+000000575755
+000000446618
+000000015927
+000000433225
+000000338889
+000000493235
+000000292916
+000000408492
+000000135226
+000000072716
+000000320659
+000000443179
+000000051434
+000000213241
+000000506379
+000000530772
+000000088575
+000000299438
+000000386066
+000000307359
+000000495502
+000000206793
+000000370135
+000000568440
+000000092092
+000000442106
+000000026622
+000000476417
+000000049957
+000000497642
+000000252873
+000000410493
+000000248481
+000000206934
+000000532310
+000000489218
+000000333303
+000000190896
+000000008884
+000000418637
+000000007224
+000000393804
+000000033955
+000000033652
+000000015259
+000000276325
+000000091780
+000000435783
+000000557135
+000000388250
+000000569079
+000000026227
+000000466262
+000000291333
+000000105719
+000000135525
+000000091728
+000000205887
+000000518883
+000000049133
+000000020031
+000000255453
+000000575079
+000000035694
+000000394523
+000000075802
+000000214280
+000000069325
+000000391253
+000000344672
+000000170204
+000000155618
+000000322630
+000000415971
+000000154382
+000000193105
+000000527533
+000000546301
+000000305517
+000000531563
+000000532131
+000000294131
+000000072237
+000000420466
+000000035782
+000000532247
+000000444100
+000000202832
+000000012059
+000000312246
+000000505493
+000000553108
+000000440520
+000000327183
+000000140664
+000000398507
+000000186399
+000000472461
+000000490317
+000000199410
+000000273369
+000000079611
+000000563803
+000000327323
+000000015759
+000000070688
+000000187846
+000000163296
+000000050360
+000000441605
+000000127785
+000000159315
+000000340305
+000000514034
+000000539751
+000000366802
+000000263779
+000000089268
+000000530898
+000000058407
+000000317534
+000000099247
+000000005692
+000000483849
+000000226300
+000000490665
+000000448697
+000000276528
+000000129006
+000000150024
+000000079085
+000000082273
+000000043876
+000000166092
+000000412599
+000000521729
+000000211526
+000000567565
+000000371490
+000000081964
+000000309241
+000000325073
+000000484136
+000000518023
+000000288372
+000000046656
+000000457017
+000000108020
+000000471109
+000000209092
+000000570779
+000000020380
+000000055648
+000000572985
+000000497693
+000000495291
+000000140067
+000000255448
+000000267571
+000000329077
+000000487461
+000000025195
+000000467369
+000000121601
+000000520660
+000000407185
+000000028069
+000000467394
+000000141600
+000000080045
+000000364803
+000000001505
+000000551802
+000000130292
+000000109820
+000000376811
+000000126601
+000000116393
+000000493581
+000000571215
+000000224437
+000000129030
+000000231581
+000000242695
+000000034701
+000000378089
+000000167581
+000000250802
+000000177058
+000000168725
+000000244235
+000000101074
+000000304864
+000000489528
+000000516766
+000000365316
+000000077842
+000000387909
+000000074328
+000000020512
+000000089924
+000000580735
+000000070164
+000000399513
+000000491430
+000000046142
+000000112867
+000000213364
+000000541706
+000000345745
+000000250051
+000000168531
+000000565514
+000000576464
+000000142656
+000000205121
+000000416197
+000000387563
+000000027352
+000000270239
+000000079905
+000000506842
+000000494383
+000000314557
+000000436837
+000000153055
+000000481042
+000000215675
+000000030470
+000000181132
+000000252761
+000000161518
+000000527728
+000000156120
+000000530086
+000000324436
+000000278183
+000000473608
+000000357113
+000000054961
+000000475567
+000000248601
+000000263767
+000000168618
+000000543182
+000000554502
+000000068623
+000000150244
+000000080357
+000000325198
+000000393033
+000000472671
+000000089232
+000000532525
+000000099553
+000000341534
+000000474420
+000000461871
+000000001497
+000000443742
+000000552876
+000000507440
+000000361054
+000000573520
+000000496607
+000000066087
+000000484260
+000000234357
+000000399680
+000000365592
+000000489449
+000000359592
+000000434316
+000000359302
+000000406170
+000000482667
+000000223374
+000000413240
+000000075319
+000000232574
+000000510992
+000000232051
+000000484604
+000000408660
+000000160311
+000000318385
+000000105670
+000000277798
+000000372673
+000000338911
+000000230687
+000000416819
+000000171175
+000000576422
+000000158854
+000000211501
+000000440827
+000000024577
+000000239145
+000000451953
+000000564940
+000000517494
+000000170999
+000000409833
+000000512760
+000000022563
+000000562389
+000000287886
+000000029994
+000000144250
+000000374707
+000000557695
+000000136088
+000000098145
+000000532571
+000000470085
+000000127229
+000000062604
+000000484651
+000000214989
+000000045478
+000000455966
+000000201126
+000000551718
+000000055128
+000000405718
+000000426777
+000000546846
+000000088669
+000000516022
+000000531111
+000000058106
+000000189520
+000000371155
+000000189425
+000000097643
+000000142483
+000000349896
+000000278646
+000000134111
+000000484474
+000000272991
+000000199318
+000000151915
+000000362659
+000000327794
+000000032275
+000000507533
+000000324580
+000000112053
+000000218854
+000000288707
+000000531415
+000000158494
+000000294934
+000000135372
+000000220137
+000000552866
+000000377745
+000000140682
+000000422623
+000000248948
+000000128102
+000000565929
+000000026323
+000000306303
+000000458568
+000000077926
+000000127866
+000000397486
+000000532009
+000000568256
+000000185070
+000000558380
+000000496458
+000000469531
+000000508818
+000000219196
+000000441943
+000000095814
+000000214592
+000000360695
+000000573869
+000000078542
+000000353055
+000000323598
+000000504487
+000000429335
+000000525563
+000000422253
+000000015870
+000000162596
+000000412612
+000000174667
+000000343922
+000000427376
+000000487783
+000000436835
+000000331490
+000000429971
+000000499588
+000000488883
+000000540582
+000000526486
+000000105750
+000000146301
+000000436603
+000000416936
+000000240798
+000000570598
+000000330054
+000000037746
+000000131043
+000000476082
+000000466790
+000000446006
+000000157270
+000000051476
+000000213623
+000000164420
+000000454271
+000000358527
+000000498368
+000000412194
+000000087078
+000000510144
+000000040210
+000000046025
+000000539163
+000000468845
+000000497099
+000000076015
+000000210267
+000000115851
+000000106243
+000000161539
+000000344831
+000000494398
+000000393421
+000000240080
+000000271791
+000000295199
+000000311879
+000000353295
+000000074901
+000000159585
+000000325758
+000000038479
+000000176470
+000000362656
+000000115816
+000000451943
+000000531444
+000000246530
+000000221165
+000000426538
+000000035474
+000000182385
+000000265612
+000000504748
+000000369397
+000000506595
+000000325548
+000000138079
+000000347150
+000000567523
+000000114327
+000000436744
+000000434066
+000000288714
+000000189583
+000000278923
+000000400124
+000000555900
+000000285908
+000000490680
+000000344765
+000000483045
+000000054262
+000000191689
+000000276295
+000000159356
+000000418333
+000000157921
+000000058041
+000000009857
+000000410633
+000000543222
+000000217704
+000000026800
+000000227976
+000000381858
+000000147736
+000000241779
+000000163012
+000000154811
+000000527164
+000000210108
+000000335967
+000000390352
+000000073195
+000000090245
+000000221915
+000000218147
+000000387360
+000000118158
+000000038323
+000000130588
+000000237684
+000000318523
+000000257934
+000000317401
+000000148591
+000000578482
+000000059738
+000000257908
+000000178248
+000000238299
+000000015301
+000000333586
+000000204424
+000000022377
+000000389866
+000000064697
+000000011496
+000000362919
+000000515050
+000000435913
+000000173932
+000000401721
+000000549366
+000000168718
+000000139097
+000000251044
+000000174024
+000000189785
+000000427876
+000000318815
+000000567390
+000000554439
+000000555023
+000000080408
+000000012382
+000000210726
+000000277778
+000000170041
+000000102879
+000000320344
+000000273045
+000000170428
+000000457263
+000000464634
+000000252857
+000000451287
+000000150787
+000000008574
+000000375846
+000000426852
+000000008473
+000000236629
+000000489793
+000000326445
+000000081735
+000000009287
+000000490247
+000000202572
+000000109178
+000000562879
+000000515125
+000000418213
+000000231161
+000000525824
+000000527501
+000000454956
+000000554442
+000000485261
+000000053143
+000000383762
+000000571678
+000000006721
+000000232746
+000000460038
+000000167152
+000000028728
+000000546074
+000000254290
+000000531307
+000000091576
+000000262159
+000000065153
+000000146591
+000000022775
+000000388298
+000000255598
+000000541264
+000000279443
+000000300216
+000000555296
+000000106830
+000000099540
+000000101660
+000000024019
+000000492371
+000000346702
+000000561681
+000000390087
+000000001063
+000000067118
+000000545274
+000000228957
+000000216116
+000000200654
+000000437093
+000000575594
+000000137283
+000000574051
+000000015566
+000000366577
+000000005669
+000000424039
+000000502223
+000000234000
+000000572051
+000000312887
+000000391684
+000000040205
+000000317962
+000000462527
+000000389604
+000000401785
+000000083599
+000000291773
+000000457188
+000000358904
+000000188612
+000000227316
+000000528466
+000000355022
+000000028293
+000000188795
+000000474019
+000000258370
+000000373375
+000000258823
+000000144897
+000000213535
+000000441147
+000000473254
+000000113325
+000000341383
+000000299550
+000000465178
+000000226175
+000000119290
+000000274999
+000000555976
+000000511965
+000000127093
+000000175948
+000000453132
+000000293342
+000000363214
+000000169517
+000000068380
+000000471992
+000000187563
+000000330529
+000000376144
+000000145155
+000000265737
+000000329644
+000000534274
+000000546963
+000000509095
+000000176487
+000000018983
+000000280678
+000000056160
+000000139785
+000000208727
+000000345701
+000000334015
+000000124190
+000000477485
+000000134188
+000000273874
+000000556562
+000000046603
+000000451909
+000000319626
+000000204458
+000000328745
+000000303898
+000000136609
+000000207913
+000000083547
+000000027879
+000000312841
+000000137211
+000000218255
+000000203382
+000000502425
+000000532941
+000000498152
+000000133883
+000000151482
+000000467522
+000000335459
+000000197090
+000000535733
+000000547387
+000000080371
+000000376919
+000000336762
+000000332109
+000000142182
+000000256809
+000000035940
+000000369179
+000000348006
+000000283638
+000000040896
+000000165706
+000000501773
+000000460198
+000000020164
+000000351910
+000000348723
+000000276554
+000000542922
+000000064411
+000000160025
+000000404748
+000000102144
+000000418440
+000000460987
+000000078283
+000000300102
+000000538533
+000000000438
+000000171049
+000000048601
+000000192216
+000000577887
+000000246221
+000000352553
+000000263204
+000000323008
+000000326001
+000000494508
+000000385873
+000000464649
+000000493187
+000000047632
+000000068158
+000000296098
+000000168084
+000000087286
+000000139490
+000000157866
+000000180623
+000000444770
+000000289007
+000000128813
+000000095097
+000000091104
+000000369000
+000000295195
+000000445994
+000000052155
+000000168898
+000000198349
+000000068956
+000000040551
+000000220244
+000000444206
+000000157748
+000000092050
+000000240782
+000000415911
+000000237720
+000000014412
+000000500130
+000000191806
+000000484033
+000000334311
+000000465163
+000000487194
+000000398713
+000000212688
+000000554283
+000000286524
+000000032566
+000000528084
+000000496386
+000000405226
+000000371977
+000000059614
+000000080194
+000000031540
+000000415376
+000000414819
+000000460156
+000000061972
+000000364137
+000000378604
+000000442181
+000000180767
+000000496102
+000000364487
+000000266360
+000000383341
+000000365945
+000000205781
+000000030944
+000000023501
+000000283849
+000000319725
+000000438369
+000000012551
+000000365729
+000000005046
+000000024129
+000000552811
+000000269366
+000000095132
+000000339876
+000000579165
+000000324339
+000000034080
+000000034739
+000000015963
+000000499852
+000000201318
+000000436435
+000000006874
+000000353709
+000000537919
+000000079394
+000000546474
+000000184435
+000000557497
+000000089021
+000000046506
+000000271736
+000000038046
+000000477719
+000000018267
+000000362329
+000000158555
+000000514846
+000000228794
+000000403020
+000000021138
+000000059174
+000000319412
+000000468844
+000000274678
+000000490232
+000000379529
+000000308473
+000000544975
+000000530533
+000000424431
+000000197192
+000000427386
+000000349376
+000000067361
+000000406926
+000000217787
+000000055443
+000000480926
+000000528148
+000000353902
+000000291115
+000000217228
+000000236341
+000000374999
+000000234590
+000000252043
+000000554800
+000000424800
+000000257557
+000000553071
+000000467460
+000000172143
+000000445726
+000000446422
+000000501947
+000000036244
+000000290437
+000000445301
+000000129908
+000000501667
+000000211013
+000000381699
+000000014759
+000000188343
+000000009945
+000000088868
+000000151358
+000000539992
+000000300584
+000000238554
+000000146127
+000000451014
+000000472228
+000000504499
+000000559356
+000000158211
+000000277885
+000000300558
+000000358081
+000000531569
+000000040596
+000000126685
+000000299640
+000000564657
+000000200724
+000000285000
+000000531910
+000000307751
+000000476120
+000000372374
+000000514396
+000000329235
+000000531703
+000000564050
+000000034749
+000000494220
+000000196985
+000000246267
+000000540068
+000000121016
+000000315948
+000000487018
+000000328383
+000000429215
+000000546171
+000000222829
+000000019349
+000000364266
+000000575915
+000000130651
+000000421307
+000000363671
+000000567693
+000000087007
+000000357509
+000000278243
+000000557342
+000000007566
+000000155003
+000000187025
+000000387506
+000000226262
+000000179203
+000000057334
+000000019719
+000000090477
+000000033931
+000000000154
+000000463596
+000000250517
+000000334477
+000000408808
+000000271712
+000000230168
+000000409394
+000000577447
+000000500660
+000000488303
+000000211317
+000000471082
+000000325799
+000000114202
+000000039027
+000000546232
+000000194416
+000000125109
+000000092109
+000000345598
+000000471238
+000000065842
+000000067027
+000000248231
+000000500321
+000000120819
+000000366085
+000000550129
+000000570351
+000000052664
+000000079657
+000000187279
+000000005994
+000000164751
+000000226691
+000000249676
+000000501314
+000000544395
+000000234786
+000000528800
+000000518357
+000000223184
+000000129658
+000000309257
+000000163858
+000000128989
+000000009725
+000000176849
+000000167330
+000000185494
+000000247465
+000000231020
+000000176969
+000000529671
+000000549224
+000000376691
+000000366389
+000000132342
+000000119525
+000000106043
+000000217645
+000000466153
+000000576859
+000000159424
+000000549685
+000000245161
+000000500904
+000000519977
+000000357432
+000000165770
+000000069054
+000000435279
+000000053178
+000000332723
+000000256835
+000000108408
+000000547284
+000000423935
+000000242465
+000000236998
+000000080017
+000000353912
+000000225246
+000000200727
+000000469857
+000000040730
+000000326408
+000000088448
+000000367571
+000000574384
+000000025457
+000000068894
+000000021535
+000000413001
+000000160437
+000000001803
+000000489899
+000000236349
+000000091942
+000000568406
+000000453602
+000000556485
+000000430804
+000000498804
+000000173202
+000000280226
+000000243775
+000000065484
+000000084785
+000000513397
+000000116792
+000000367329
+000000228518
+000000216083
+000000330959
+000000098979
+000000226961
+000000569261
+000000308849
+000000548768
+000000512788
+000000279522
+000000171453
+000000457233
+000000516124
+000000422268
+000000303418
+000000434858
+000000192390
+000000379922
+000000030875
+000000270017
+000000284578
+000000324250
+000000024744
+000000043614
+000000397473
+000000581253
+000000061867
+000000260167
+000000082327
+000000169352
+000000023351
+000000204542
+000000100199
+000000578950
+000000002240
+000000356190
+000000238336
+000000442670
+000000205543
+000000026165
+000000408233
+000000315521
+000000012923
+000000492037
+000000471096
+000000131059
+000000532686
+000000447948
+000000530571
+000000084002
+000000393379
+000000109005
+000000556622
+000000283584
+000000415818
+000000486655
+000000390685
+000000548875
+000000333891
+000000458567
+000000374486
+000000420290
+000000462364
+000000254965
+000000285388
+000000415363
+000000002624
+000000262662
+000000110601
+000000093264
+000000180857
+000000230545
+000000439537
+000000525891
+000000399921
+000000556183
+000000505977
+000000019981
+000000023380
+000000438737
+000000044251
+000000553097
+000000193094
+000000482265
+000000519407
+000000520858
+000000514338
+000000030932
+000000064136
+000000173451
+000000415039
+000000436195
+000000127282
+000000243000
+000000501612
+000000493761
+000000322560
+000000415209
+000000022710
+000000477958
+000000452297
+000000477566
+000000232230
+000000067786
+000000278983
+000000177939
+000000269199
+000000541816
+000000536198
+000000363554
+000000435883
+000000232790
+000000212901
+000000074982
+000000203069
+000000315043
+000000134542
+000000194742
+000000145062
+000000018385
+000000079369
+000000525698
+000000436426
+000000128670
+000000246931
+000000216517
+000000334310
+000000262552
+000000050827
+000000071911
+000000235722
+000000113861
+000000453695
+000000276794
+000000282377
+000000051178
+000000155884
+000000214827
+000000046162
+000000443797
+000000330681
+000000152866
+000000165141
+000000198764
+000000371326
+000000061596
+000000161935
+000000558287
+000000293174
+000000278457
+000000299632
+000000444337
+000000098529
+000000429227
+000000431194
+000000483058
+000000465069
+000000313957
+000000236406
+000000496100
+000000552138
+000000400872
+000000081354
+000000154654
+000000191007
+000000313538
+000000271484
+000000355270
+000000309161
+000000250234
+000000274184
+000000091487
+000000136587
+000000257502
+000000200882
+000000267812
+000000249273
+000000465478
+000000465285
+000000006773
+000000135303
+000000292982
+000000011147
+000000362839
+000000182175
+000000557266
+000000365517
+000000490337
+000000463814
+000000394814
+000000113967
+000000190227
+000000286233
+000000389455
+000000309114
+000000526560
+000000376443
+000000188132
+000000451284
+000000278280
+000000497006
+000000443583
+000000133496
+000000384643
+000000493720
+000000138572
+000000408048
+000000197941
+000000005418
+000000228994
+000000170313
+000000519113
+000000042751
+000000388674
+000000566864
+000000287958
+000000274551
+000000508200
+000000038238
+000000124889
+000000466681
+000000252022
+000000578454
+000000369125
+000000430287
+000000284674
+000000255224
+000000455311
+000000570483
+000000562113
+000000517545
+000000304347
+000000060710
+000000442894
+000000137634
+000000432851
+000000471846
+000000317806
+000000280007
+000000538844
+000000117019
+000000423048
+000000356478
+000000367814
+000000189171
+000000543985
+000000518638
+000000006437
+000000534593
+000000001355
+000000136400
+000000564120
+000000202326
+000000094564
+000000111988
+000000047388
+000000223477
+000000222107
+000000403482
+000000152003
+000000317177
+000000449259
+000000580649
+000000175612
+000000038190
+000000284686
+000000330750
+000000098582
+000000494049
+000000534521
+000000358915
+000000216455
+000000217780
+000000016870
+000000567803
+000000523315
+000000145073
+000000365351
+000000119965
+000000101106
+000000461507
+000000208671
+000000160139
+000000271977
+000000536786
+000000503637
+000000568495
+000000315174
+000000251790
+000000426876
+000000077472
+000000082465
+000000561750
+000000110002
+000000465874
+000000180522
+000000155604
+000000065564
+000000554142
+000000206909
+000000174417
+000000312334
+000000374563
+000000037109
+000000126825
+000000452259
+000000488135
+000000333504
+000000106154
+000000132297
+000000430753
+000000137004
+000000261235
+000000504991
+000000234653
+000000466591
+000000320857
+000000399337
+000000565665
+000000218274
+000000134320
+000000259733
+000000317464
+000000505126
+000000068601
+000000520980
+000000119750
+000000349447
+000000193781
+000000241483
+000000020193
+000000265243
+000000114164
+000000285929
+000000237142
+000000251128
+000000013463
+000000547367
+000000072050
+000000412431
+000000502808
+000000228419
+000000125944
+000000018291
+000000126958
+000000225516
+000000384173
+000000523577
+000000561818
+000000348850
+000000489741
+000000228934
+000000410033
+000000154507
+000000401821
+000000453390
+000000063238
+000000146451
+000000024095
+000000482202
+000000436117
+000000320451
+000000463583
+000000500214
+000000066670
+000000332131
+000000304556
+000000122724
+000000253763
+000000433133
+000000159411
+000000263482
+000000226897
+000000477643
+000000154556
+000000203673
+000000265713
+000000200794
+000000060297
+000000134167
+000000321062
+000000449826
+000000160108
+000000006631
+000000160260
+000000572022
+000000489346
+000000215709
+000000552114
+000000534334
+000000219916
+000000189864
+000000442060
+000000090724
+000000193251
+000000195356
+000000419893
+000000547783
+000000533688
+000000088634
+000000241364
+000000533941
+000000385026
+000000241726
+000000543239
+000000296134
+000000298914
+000000027873
+000000095300
+000000466499
+000000431197
+000000452558
+000000145480
+000000202298
+000000043392
+000000366527
+000000356181
+000000543814
+000000512037
+000000179159
+000000505994
+000000264539
+000000548848
+000000186842
+000000306169
+000000196663
+000000414022
+000000580121
+000000382741
+000000410608
+000000235914
+000000375013
+000000433652
+000000021384
+000000529511
+000000504766
+000000222083
+000000362319
+000000470935
+000000329675
+000000458388
+000000100084
+000000066753
+000000201004
+000000432529
+000000350008
+000000306506
+000000373810
+000000139958
+000000362718
+000000514217
+000000542699
+000000367271
+000000502140
+000000204969
+000000256037
+000000202138
+000000451356
+000000514514
+000000046848
+000000408578
+000000133672
+000000066445
+000000507479
+000000469609
+000000175293
+000000546739
+000000193476
+000000296136
+000000087110
+000000277914
+000000120046
+000000088723
+000000070502
+000000007785
+000000340024
+000000107747
+000000099927
+000000250434
+000000075325
+000000281656
+000000108316
+000000292181
+000000228678
+000000241916
+000000406749
+000000125377
+000000409206
+000000293012
+000000206434
+000000108110
+000000268390
+000000486020
+000000167818
+000000570143
+000000380427
+000000269380
+000000231415
+000000212834
+000000429591
+000000262677
+000000472821
+000000409566
+000000053573
+000000550872
+000000430391
+000000390439
+000000025060
+000000444912
+000000282879
+000000532958
+000000066263
+000000372458
+000000496662
+000000529238
+000000426595
+000000276192
+000000366984
+000000323853
+000000315193
+000000379575
+000000309880
+000000451151
+000000317476
+000000388768
+000000129448
+000000371873
+000000492580
+000000573062
+000000555110
+000000330265
+000000528944
+000000468736
+000000111992
+000000474653
+000000277722
+000000192636
+000000542502
+000000031878
+000000108242
+000000017769
+000000564074
+000000530713
+000000398622
+000000419473
+000000377300
+000000108649
+000000041913
+000000579206
+000000182240
+000000195137
+000000244124
+000000009908
+000000034531
+000000280324
+000000199849
+000000332480
+000000189605
+000000038791
+000000084873
+000000096268
+000000535977
+000000380932
+000000193449
+000000189742
+000000188621
+000000561050
+000000468055
+000000107607
+000000466294
+000000167906
+000000467180
+000000318533
+000000132706
+000000276195
+000000384883
+000000538407
+000000345372
+000000236574
+000000016119
+000000432025
+000000377973
+000000135193
+000000540838
+000000073680
+000000046426
+000000249909
+000000334568
+000000016928
+000000388469
+000000362218
+000000408805
+000000483628
+000000503497
+000000210467
+000000206899
+000000068713
+000000233808
+000000285825
+000000517670
+000000032308
+000000368821
+000000324409
+000000308191
+000000066988
+000000140730
+000000467645
+000000471905
+000000459749
+000000497335
+000000271351
+000000063370
+000000503967
+000000549413
+000000048273
+000000358029
+000000128903
+000000148292
+000000149365
+000000333067
+000000059708
+000000563155
+000000348625
+000000110873
+000000351149
+000000576317
+000000148884
+000000250789
+000000289583
+000000010580
+000000451539
+000000448053
+000000024924
+000000387372
+000000284814
+000000490567
+000000194054
+000000290361
+000000188509
+000000454898
+000000524286
+000000140590
+000000449038
+000000447999
+000000487942
+000000070213
+000000310789
+000000297680
+000000340706
+000000121575
+000000534659
+000000118956
+000000215693
+000000532833
+000000458629
+000000067805
+000000080455
+000000388575
+000000434644
+000000360672
+000000134673
+000000345580
+000000092715
+000000119145
+000000567686
+000000464176
+000000224891
+000000380620
+000000220086
+000000271057
+000000305441
+000000427583
+000000080105
+000000284925
+000000125318
+000000300138
+000000140285
+000000202989
+000000055715
+000000580698
+000000045101
+000000022767
+000000295068
+000000152238
+000000561756
+000000224759
+000000163362
+000000488658
+000000276549
+000000431199
+000000441614
+000000161705
+000000364860
+000000575249
+000000153987
+000000214475
+000000447456
+000000262522
+000000121994
+000000437391
+000000244227
+000000178748
+000000036796
+000000136338
+000000530958
+000000272783
+000000319452
+000000382291
+000000503883
+000000034582
+000000445167
+000000006182
+000000421382
+000000359337
+000000145087
+000000463464
+000000403425
+000000545238
+000000048559
+000000457460
+000000221856
+000000385174
+000000364385
+000000131965
+000000005352
+000000290285
+000000421677
+000000465324
+000000061720
+000000253854
+000000170850
+000000313980
+000000244218
+000000121328
+000000489085
+000000578203
+000000110611
+000000258000
+000000436284
+000000138227
+000000210686
+000000488060
+000000464787
+000000216841
+000000441225
+000000120254
+000000056716
+000000083960
+000000172229
+000000350879
+000000521560
+000000445433
+000000384986
+000000094353
+000000476936
+000000576157
+000000559651
+000000425556
+000000551896
+000000359472
+000000345930
+000000335326
+000000153561
+000000016673
+000000326264
+000000524115
+000000553934
+000000461092
+000000288358
+000000513266
+000000306145
+000000091264
+000000169474
+000000241821
+000000389669
+000000207686
+000000551542
+000000422921
+000000479504
+000000456369
+000000469392
+000000252133
+000000533864
+000000241786
+000000458622
+000000353588
+000000261596
+000000183201
+000000118399
+000000280804
+000000046467
+000000052951
+000000234614
+000000248168
+000000001674
+000000065612
+000000053597
+000000309694
+000000308564
+000000071796
+000000570395
+000000322822
+000000578786
+000000112395
+000000207598
+000000430523
+000000129305
+000000472349
+000000565296
+000000011184
+000000398884
+000000222928
+000000294423
+000000198786
+000000286058
+000000212533
+000000574509
+000000030915
+000000002244
+000000206371
+000000427189
+000000228758
+000000009768
+000000487766
+000000061564
+000000025121
+000000196320
+000000191005
+000000493209
+000000330088
+000000322816
+000000443301
+000000068482
+000000157249
+000000372250
+000000431146
+000000340208
+000000532037
+000000525432
+000000501673
+000000130005
+000000202752
+000000310978
+000000564816
+000000026997
+000000461619
+000000092905
+000000468777
+000000484446
+000000580671
+000000120199
+000000384111
+000000330586
+000000371348
+000000542991
+000000557573
+000000339462
+000000360318
+000000189083
+000000013228
+000000480057
+000000243190
+000000274254
+000000009791
+000000577029
+000000084548
+000000241325
+000000001681
+000000016680
+000000188718
+000000432395
+000000161486
+000000343229
+000000493067
+000000400792
+000000234794
+000000169529
+000000036207
+000000504690
+000000167148
+000000049591
+000000105113
+000000207060
+000000514241
+000000478328
+000000221914
+000000050578
+000000381112
+000000197576
+000000485333
+000000053417
+000000197408
+000000514269
+000000260435
+000000067917
+000000458533
+000000163602
+000000050350
+000000049115
+000000479261
+000000129675
+000000189295
+000000206927
+000000010256
+000000363228
+000000533329
+000000194530
+000000227236
+000000015693
+000000414324
+000000220428
+000000511736
+000000119210
+000000202888
+000000104001
+000000164957
+000000192436
+000000490688
+000000199150
+000000259614
+000000355492
+000000137777
+000000511706
+000000067558
+000000110681
+000000375529
+000000303453
+000000512275
+000000568675
+000000365135
+000000084602
+000000508412
+000000397069
+000000531392
+000000422406
+000000477143
+000000185983
+000000359762
+000000185512
+000000572040
+000000361648
+000000076026
+000000451058
+000000511058
+000000184698
+000000507495
+000000140231
+000000151100
+000000017154
+000000138166
+000000122415
+000000254292
+000000088374
+000000279066
+000000578276
+000000172036
+000000432171
+000000082597
+000000177917
+000000246677
+000000456310
+000000435957
+000000140817
+000000486994
+000000331282
+000000548792
+000000524954
+000000526521
+000000412613
+000000313655
+000000359678
+000000149252
+000000186336
+000000369506
+000000014276
+000000231320
+000000237443
+000000468029
+000000569823
+000000548953
+000000276796
+000000113844
+000000253441
+000000311082
+000000439777
+000000241623
+000000363574
+000000572316
+000000511569
+000000295958
+000000158878
+000000111435
+000000136154
+000000011361
+000000549328
+000000381213
+000000495677
+000000444682
+000000497275
+000000226069
+000000321665
+000000554703
+000000180079
+000000338963
+000000036331
+000000280123
+000000554756
+000000503411
+000000118118
+000000149343
+000000420673
+000000517929
+000000525587
+000000167095
+000000167395
+000000251344
+000000283516
+000000280799
+000000352744
+000000319613
+000000324528
+000000292467
+000000500585
+000000549575
+000000502738
+000000578977
+000000034183
+000000025193
+000000100318
+000000516843
+000000207424
+000000338878
+000000457703
+000000007936
+000000347724
+000000090662
+000000264964
+000000285023
+000000552761
+000000449467
+000000422382
+000000260097
+000000498090
+000000553310
+000000343972
+000000282221
+000000321079
+000000323467
+000000013843
+000000090137
+000000128136
+000000559958
+000000257211
+000000357774
+000000482834
+000000036914
+000000186124
+000000193785
+000000486026
+000000128812
+000000505663
+000000439961
+000000023588
+000000471582
+000000168954
+000000342132
+000000276387
+000000414912
+000000050725
+000000445103
+000000411703
+000000359268
+000000206410
+000000148588
+000000309813
+000000458716
+000000188175
+000000252611
+000000203767
+000000016573
+000000164850
+000000051174
+000000518552
+000000272613
+000000430096
+000000170519
+000000430260
+000000475451
+000000255194
+000000296322
+000000462426
+000000545440
+000000002496
+000000208946
+000000365214
+000000130324
+000000105152
+000000394458
+000000142413
+000000094045
+000000356083
+000000217068
+000000222696
+000000463724
+000000543376
+000000128280
+000000463787
+000000068738
+000000065610
+000000276634
+000000214109
+000000419327
+000000538190
+000000358566
+000000341029
+000000352959
+000000579224
+000000508015
+000000164095
+000000267852
+000000572028
+000000024136
+000000283168
+000000255272
+000000543872
+000000157715
+000000311354
+000000498960
+000000277616
+000000447439
+000000213156
+000000450457
+000000154414
+000000131203
+000000474283
+000000151235
+000000492853
+000000393768
+000000373410
+000000476489
+000000321120
+000000157342
+000000472700
+000000363280
+000000030012
+000000330237
+000000151307
+000000536429
+000000165451
+000000521634
+000000160110
+000000260882
+000000047648
+000000259040
+000000301508
+000000267588
+000000518177
+000000025430
+000000496920
+000000129186
+000000008418
+000000065325
+000000085481
+000000222599
+000000561172
+000000431699
+000000453133
+000000479578
+000000039315
+000000407266
+000000521473
+000000476127
+000000301595
+000000237726
+000000391403
+000000072664
+000000211573
+000000406332
+000000135305
+000000340103
+000000210453
+000000547440
+000000264663
+000000293666
+000000304528
+000000207880
+000000310748
+000000139403
+000000440729
+000000348651
+000000420237
+000000456873
+000000218625
+000000426828
+000000063486
+000000477474
+000000361928
+000000444273
+000000212628
+000000192780
+000000034170
+000000542130
+000000439303
+000000173532
+000000324443
+000000105344
+000000023093
+000000466856
+000000562100
+000000193410
+000000336872
+000000288729
+000000222600
+000000325012
+000000455632
+000000319360
+000000421999
+000000172608
+000000144157
+000000224701
+000000170730
+000000078000
+000000055580
+000000062562
+000000241667
+000000476299
+000000283945
+000000407072
+000000275988
+000000492383
+000000373866
+000000308168
+000000409369
+000000301714
+000000275035
+000000561082
+000000560794
+000000503178
+000000054875
+000000473030
+000000417586
+000000562208
+000000223734
+000000018078
+000000553306
+000000322692
+000000157891
+000000354631
+000000120875
+000000572551
+000000030276
+000000571808
+000000345134
+000000187037
+000000189424
+000000050954
+000000035783
+000000073696
+000000574251
+000000371999
+000000467062
+000000352807
+000000396311
+000000378396
+000000183352
+000000030518
+000000484217
+000000360441
+000000487299
+000000547388
+000000154363
+000000133034
+000000361451
+000000058553
+000000119292
+000000022287
+000000402243
+000000118073
+000000480001
+000000153780
+000000231351
+000000305703
+000000030407
+000000567937
+000000167549
+000000549703
+000000434053
+000000526956
+000000352445
+000000019136
+000000289864
+000000195081
+000000413871
+000000319117
+000000077187
+000000368910
+000000232377
+000000496214
+000000029356
+000000135010
+000000333348
+000000364159
+000000186438
+000000425052
+000000342441
+000000308599
+000000185303
+000000367448
+000000072077
+000000255525
+000000388374
+000000442332
+000000177619
+000000134474
+000000188522
+000000396421
+000000208418
+000000184401
+000000495884
+000000433066
+000000348648
+000000501889
+000000039516
+000000491914
+000000572478
+000000310752
+000000062210
+000000460353
+000000250246
+000000165479
+000000517139
+000000179948
+000000152776
+000000537149
+000000117289
+000000491997
+000000468383
+000000316240
+000000036836
+000000478071
+000000388027
+000000066798
+000000537907
+000000051176
+000000404229
+000000152663
+000000405440
+000000403329
+000000286910
+000000461788
+000000355418
+000000420200
+000000553772
+000000542359
+000000362079
+000000191570
+000000101807
+000000517029
+000000336257
+000000207250
+000000073276
+000000190323
+000000420066
+000000508567
+000000347702
+000000432428
+000000101456
+000000350597
+000000281353
+000000375926
+000000298691
+000000188474
+000000084442
+000000489187
+000000103232
+000000415493
+000000405137
+000000427152
+000000147246
+000000292835
+000000169934
+000000221307
+000000127028
+000000055806
+000000456737
+000000129059
+000000249315
+000000025616
+000000388511
+000000114694
+000000174412
+000000171381
+000000154607
+000000103580
+000000491801
+000000283790
+000000305634
+000000039468
+000000553962
+000000134755
+000000325486
+000000362333
+000000144147
+000000539132
+000000248108
+000000233538
+000000371997
+000000573975
+000000495609
+000000030151
+000000142733
+000000461121
+000000171002
+000000566837
+000000131015
+000000323820
+000000118401
+000000106401
+000000167964
+000000326472
+000000581708
+000000439326
+000000300277
+000000064425
+000000279047
+000000542548
+000000422954
+000000480545
+000000094351
+000000356817
+000000481515
+000000010822
+000000066727
+000000255067
+000000264722
+000000579917
+000000578964
+000000479711
+000000398808
+000000043128
+000000537553
+000000401602
+000000464238
+000000456563
+000000419064
+000000522315
+000000240304
+000000014967
+000000196865
+000000184908
+000000338591
+000000499125
+000000443952
+000000386355
+000000551285
+000000263178
+000000411821
+000000568272
+000000298623
+000000148862
+000000425055
+000000410437
+000000235646
+000000462987
+000000305826
+000000229324
+000000003764
+000000239089
+000000330807
+000000318139
+000000004497
+000000297984
+000000158261
+000000381173
+000000504997
+000000168099
+000000324654
+000000279596
+000000042868
+000000124215
+000000065085
+000000317310
+000000106165
+000000164502
+000000483941
+000000549687
+000000580029
+000000199143
+000000482624
+000000089054
+000000542342
+000000579405
+000000052648
+000000293283
+000000542715
+000000289677
+000000144167
+000000395424
+000000452479
+000000109824
+000000578594
+000000154745
+000000471086
+000000436520
+000000354695
+000000143522
+000000465776
+000000118909
+000000472392
+000000350084
+000000131524
+000000556789
+000000579545
+000000509482
+000000111318
+000000094124
+000000534271
+000000152857
+000000430760
+000000477410
+000000218011
+000000576608
+000000225986
+000000369386
+000000407289
+000000020418
+000000156710
+000000059321
+000000098773
+000000260107
+000000454654
+000000574725
+000000279320
+000000473345
+000000432744
+000000417440
+000000177530
+000000318736
+000000338357
+000000087227
+000000357771
+000000214875
+000000032367
+000000047629
+000000338248
+000000101190
+000000534554
+000000065353
+000000325586
+000000113313
+000000517879
+000000226866
+000000100413
+000000070923
+000000390215
+000000528880
+000000006160
+000000026828
+000000135972
+000000041001
+000000124577
+000000431948
+000000026421
+000000317054
+000000093053
+000000506146
+000000223560
+000000263039
+000000506357
+000000023981
+000000250564
+000000289333
+000000220621
+000000373492
+000000551031
+000000029753
+000000019579
+000000157834
+000000301970
+000000330518
+000000384726
+000000547465
+000000196817
+000000302547
+000000410915
+000000156754
+000000393633
+000000317795
+000000103843
+000000442680
+000000581712
+000000040085
+000000323583
+000000518287
+000000311304
+000000195306
+000000378795
+000000478837
+000000420627
+000000458204
+000000410375
+000000476443
+000000282173
+000000331646
+000000543525
+000000052005
+000000349939
+000000581662
+000000292823
+000000185225
+000000327738
+000000057016
+000000343599
+000000109995
+000000259027
+000000363308
+000000181876
+000000060120
+000000048727
+000000139400
+000000098767
+000000159451
+000000131570
+000000554987
+000000306900
+000000436665
+000000140021
+000000410920
+000000542084
+000000322852
+000000458177
+000000136077
+000000236294
+000000319127
+000000373704
+000000363194
+000000382012
+000000037638
+000000328054
+000000205716
+000000312355
+000000354645
+000000184274
+000000566478
+000000337472
+000000414108
+000000580693
+000000207738
+000000192891
+000000309848
+000000327337
+000000232863
+000000579447
+000000355589
+000000131894
+000000320533
+000000286764
+000000310833
+000000247871
+000000155177
+000000385844
+000000366459
+000000316157
+000000567093
+000000408802
+000000038092
+000000333170
+000000397675
+000000138207
+000000525884
+000000017488
+000000272626
+000000022899
+000000054870
+000000145093
+000000317640
+000000039043
+000000349875
+000000410054
+000000256690
+000000055458
+000000527623
+000000159924
+000000151694
+000000555478
+000000294451
+000000545293
+000000155746
+000000176871
+000000532967
+000000558813
+000000356351
+000000050592
+000000029600
+000000027433
+000000438973
+000000415222
+000000008160
+000000064054
+000000265826
+000000504493
+000000447778
+000000022880
+000000454622
+000000447548
+000000094890
+000000164172
+000000195703
+000000234452
+000000509518
+000000418989
+000000546164
+000000148761
+000000431967
+000000291990
+000000093403
+000000191705
+000000376457
+000000259913
+000000159880
+000000064703
+000000285691
+000000351062
+000000240800
+000000225264
+000000100486
+000000225704
+000000221737
+000000004245
+000000145369
+000000076988
+000000153162
+000000059385
+000000038701
+000000129431
+000000273358
+000000238505
+000000054437
+000000278660
+000000060600
+000000041908
+000000081372
+000000331712
+000000329534
+000000432226
+000000333826
+000000009288
+000000216042
+000000053016
+000000375400
+000000118739
+000000159133
+000000327918
+000000175821
+000000343847
+000000503356
+000000219064
+000000352334
+000000335380
+000000172899
+000000362785
+000000446383
+000000029732
+000000034761
+000000458156
+000000048288
+000000376114
+000000462052
+000000458810
+000000146131
+000000541635
+000000535318
+000000546695
+000000445972
+000000056486
+000000336250
+000000251027
+000000136542
+000000241809
+000000345826
+000000367460
+000000324390
+000000489624
+000000197053
+000000232596
+000000117160
+000000534107
+000000553976
+000000155790
+000000409217
+000000026069
+000000574147
+000000341725
+000000237003
+000000408556
+000000516598
+000000514602
+000000520109
+000000476525
+000000376970
+000000521256
+000000243849
+000000081469
+000000390954
+000000206362
+000000324253
+000000112327
+000000457481
+000000519578
+000000085285
+000000046535
+000000231596
+000000159598
+000000498165
+000000202463
+000000012999
+000000381003
+000000238933
+000000001869
+000000109036
+000000419323
+000000050965
+000000206618
+000000375361
+000000213963
+000000346093
+000000067941
+000000581749
+000000169891
+000000555772
+000000114077
+000000123646
+000000279881
+000000114230
+000000407334
+000000522285
+000000354662
+000000401616
+000000074096
+000000206112
+000000496613
+000000219467
+000000119114
+000000127914
+000000117203
+000000278166
+000000452919
+000000008401
+000000391116
+000000066066
+000000045204
+000000146824
+000000237100
+000000394972
+000000451501
+000000268688
+000000402624
+000000002621
+000000080960
+000000333048
+000000355792
+000000536730
+000000522702
+000000219173
+000000366560
+000000262544
+000000461902
+000000530202
+000000565932
+000000268396
+000000539908
+000000488880
+000000079762
+000000410924
+000000053426
+000000427886
+000000385157
+000000103631
+000000197792
+000000400936
+000000387575
+000000511523
+000000581042
+000000084389
+000000455613
+000000283432
+000000206391
+000000178900
+000000334302
+000000111014
+000000503316
+000000158993
+000000184474
+000000266712
+000000048848
+000000481810
+000000416909
+000000317134
+000000197289
+000000336001
+000000351759
+000000528071
+000000530999
+000000270106
+000000158952
+000000284153
+000000245505
+000000115749
+000000316723
+000000217301
+000000528261
+000000005412
+000000215215
+000000087217
+000000466827
+000000144747
+000000154060
+000000001902
+000000557059
+000000038488
+000000020145
+000000194551
+000000023542
+000000274074
+000000214523
+000000041119
+000000197067
+000000341502
+000000312076
+000000391041
+000000216072
+000000406328
+000000262262
+000000018293
+000000447194
+000000190575
+000000548958
+000000156533
+000000158333
+000000299372
+000000392723
+000000251229
+000000407063
+000000136181
+000000576369
+000000140438
+000000342380
+000000006464
+000000526927
+000000431407
+000000084879
+000000468731
+000000286310
+000000506169
+000000452334
+000000305208
+000000529507
+000000345869
+000000262030
+000000463305
+000000563921
+000000508174
+000000154301
+000000562770
+000000443869
+000000466449
+000000178592
+000000394659
+000000226244
+000000065252
+000000549965
+000000272706
+000000064896
+000000083548
+000000415052
+000000298810
+000000126563
+000000132249
+000000191296
+000000388211
+000000245792
+000000243027
+000000157168
+000000029504
+000000031730
+000000071093
+000000174103
+000000404437
+000000248018
+000000089540
+000000541938
+000000242709
+000000327149
+000000342797
+000000532463
+000000098443
+000000439482
+000000261500
+000000138782
+000000178770
+000000380343
+000000474846
+000000427308
+000000468141
+000000549907
+000000013482
+000000025325
+000000332866
+000000250365
+000000091543
+000000101522
+000000472823
+000000213652
+000000166532
+000000107751
+000000303358
+000000107814
+000000267343
+000000277162
+000000253500
+000000462773
+000000360617
+000000306327
+000000009211
+000000032244
+000000083915
+000000118485
+000000164121
+000000469152
+000000521125
+000000229813
+000000480551
+000000407879
+000000442727
+000000008300
+000000337917
+000000510299
+000000221561
+000000423480
+000000491128
+000000206170
+000000563713
+000000492723
+000000366461
+000000206623
+000000513704
+000000235906
+000000300221
+000000165142
+000000434623
+000000022649
+000000238839
+000000216820
+000000178980
+000000127078
+000000086770
+000000394476
+000000519566
+000000183292
+000000208605
+000000149304
+000000522886
+000000251835
+000000070351
+000000484749
+000000076856
+000000081862
+000000454068
+000000016898
+000000188276
+000000049190
+000000333290
+000000194885
+000000280808
+000000222444
+000000014781
+000000199669
+000000269504
+000000329946
+000000276332
+000000041074
+000000163372
+000000571562
+000000174263
+000000035722
+000000226681
+000000395505
+000000341710
+000000198977
+000000324989
+000000484948
+000000409333
+000000273156
+000000448771
+000000169959
+000000163798
+000000338419
+000000570178
+000000332692
+000000286254
+000000322827
+000000293371
+000000019927
+000000137717
+000000249443
+000000148246
+000000442911
+000000128475
+000000295336
+000000058915
+000000493859
+000000033898
+000000506748
+000000513551
+000000258362
+000000477031
+000000538090
+000000564151
+000000531523
+000000194288
+000000166702
+000000054336
+000000504550
+000000252610
+000000227103
+000000425905
+000000088045
+000000004038
+000000275591
+000000110298
+000000177877
+000000460901
+000000423256
+000000152253
+000000401040
+000000289471
+000000556648
+000000358799
+000000040068
+000000499779
+000000061382
+000000104756
+000000568082
+000000227891
+000000368873
+000000080738
+000000564646
+000000493210
+000000530226
+000000393155
+000000184204
+000000193001
+000000364457
+000000493996
+000000214210
+000000208825
+000000425153
+000000073855
+000000358239
+000000511165
+000000474506
+000000308806
+000000507615
+000000486240
+000000092059
+000000475566
+000000173533
+000000431628
+000000147926
+000000403907
+000000376013
+000000257791
+000000253866
+000000031411
+000000407975
+000000195508
+000000333090
+000000362711
+000000022309
+000000145479
+000000190898
+000000024290
+000000426022
+000000543790
+000000574066
+000000326511
+000000014377
+000000521288
+000000394288
+000000093428
+000000518664
+000000098008
+000000543322
+000000515147
+000000074312
+000000475667
+000000087555
+000000304698
+000000409623
+000000510706
+000000216369
+000000037900
+000000232375
+000000335513
+000000403335
+000000339100
+000000496829
+000000283814
+000000202748
+000000431708
+000000389312
+000000324916
+000000390844
+000000341724
+000000008953
+000000355426
+000000317103
+000000208644
+000000553509
+000000102057
+000000022382
+000000285961
+000000565572
+000000192804
+000000435185
+000000305368
+000000074663
+000000270195
+000000159831
+000000336763
+000000067776
+000000261648
+000000379477
+000000577321
+000000338592
+000000168076
+000000140577
+000000321468
+000000209701
+000000200857
+000000151458
+000000084168
+000000216413
+000000181030
+000000448876
+000000268777
+000000455549
+000000422323
+000000313209
+000000233245
+000000494690
+000000546494
+000000534049
+000000149429
+000000278753
+000000121632
+000000001282
+000000566076
+000000107427
+000000473849
+000000389326
+000000138164
+000000191228
+000000214816
+000000499104
+000000565664
+000000205234
+000000315461
+000000218554
+000000345797
+000000396116
+000000062020
+000000448537
+000000235652
+000000206290
+000000361618
+000000176761
+000000180040
+000000230490
+000000105580
+000000108338
+000000260685
+000000438448
+000000488476
+000000327449
+000000283196
+000000172226
+000000053385
+000000420183
+000000524662
+000000058008
+000000037662
+000000149232
+000000151842
+000000260445
+000000137757
+000000522952
+000000569088
+000000155709
+000000122952
+000000562745
+000000076866
+000000132001
+000000234319
+000000059483
+000000232656
+000000100435
+000000062831
+000000319098
+000000222879
+000000443701
+000000176737
+000000235840
+000000067262
+000000052802
+000000317798
+000000547743
+000000543957
+000000069051
+000000226461
+000000150378
+000000219527
+000000082003
+000000166124
+000000499903
+000000093720
+000000304159
+000000368505
+000000143621
+000000212384
+000000389793
+000000190927
+000000267942
+000000083754
+000000153656
+000000303541
+000000391426
+000000558711
+000000476910
+000000162181
+000000293751
+000000155743
+000000293228
+000000327551
+000000454524
+000000149924
+000000385675
+000000498794
+000000119137
+000000542255
+000000370748
+000000320008
+000000254568
+000000153723
+000000360371
+000000419497
+000000313757
+000000229010
+000000236048
+000000007095
+000000483352
+000000571885
+000000222858
+000000536535
+000000431370
+000000517534
+000000006481
+000000230129
+000000527193
+000000371198
+000000032639
+000000295776
+000000184700
+000000576941
+000000328808
+000000358384
+000000106023
+000000353884
+000000313155
+000000388962
+000000531369
+000000015525
+000000575209
+000000407487
+000000067868
+000000396010
+000000423327
+000000016040
+000000557187
+000000442031
+000000476873
+000000185200
+000000540746
+000000453558
+000000166338
+000000258040
+000000073830
+000000565321
+000000282565
+000000105642
+000000318850
+000000270959
+000000405209
+000000382617
+000000219246
+000000002255
+000000251690
+000000167234
+000000405376
+000000224278
+000000413275
+000000544279
+000000303507
+000000397735
+000000187397
+000000535860
+000000002388
+000000406666
+000000514531
+000000371004
+000000378401
+000000306522
+000000581127
+000000214574
+000000365879
+000000535902
+000000546791
+000000238822
+000000050219
+000000029438
+000000063290
+000000094011
+000000419971
+000000576736
+000000459200
+000000087561
+000000497777
+000000179317
+000000406386
+000000458603
+000000507536
+000000469445
+000000475810
+000000023774
+000000081001
+000000311997
+000000045653
+000000114335
+000000301646
+000000275970
+000000028876
+000000183657
+000000095329
+000000126941
+000000397269
+000000543041
+000000518071
+000000452841
+000000250577
+000000379304
+000000459987
+000000312943
+000000007796
+000000262748
+000000090194
+000000256028
+000000442428
+000000548575
+000000450856
+000000142295
+000000314724
+000000251797
+000000088744
+000000219014
+000000295932
+000000404095
+000000098326
+000000134483
+000000511425
+000000242665
+000000011042
+000000076835
+000000509806
+000000497390
+000000333411
+000000227451
+000000369170
+000000539173
+000000006211
+000000304950
+000000451172
+000000565769
+000000493883
+000000466403
+000000344561
+000000181351
+000000487256
+000000060684
+000000389004
+000000142534
+000000546016
+000000032328
+000000448702
+000000313156
+000000056036
+000000018312
+000000526594
+000000563411
+000000557186
+000000216928
+000000420313
+000000258017
+000000165636
+000000439356
+000000176082
+000000202970
+000000514180
+000000271964
+000000065861
+000000524621
+000000171328
+000000215910
+000000350649
+000000306878
+000000090244
+000000234147
+000000485219
+000000411778
+000000142201
+000000306264
+000000087403
+000000290836
+000000541677
+000000135322
+000000426948
+000000531044
+000000278936
+000000148251
+000000118918
+000000142322
+000000303986
+000000467137
+000000352129
+000000345224
+000000420366
+000000371138
+000000184155
+000000409646
+000000349791
+000000189387
+000000219313
+000000304706
+000000270721
+000000288267
+000000108627
+000000185590
+000000438922
+000000325801
+000000248732
+000000094272
+000000149423
+000000496123
+000000444982
+000000136271
+000000216794
+000000260232
+000000302513
+000000320203
+000000314277
+000000085236
+000000095777
+000000557794
+000000536820
+000000251585
+000000260740
+000000032082
+000000392229
+000000319101
+000000171309
+000000247609
+000000276964
+000000073733
+000000374333
+000000486488
+000000515213
+000000312282
+000000544009
+000000224929
+000000200377
+000000275263
+000000100744
+000000233030
+000000487245
+000000181846
+000000384261
+000000158906
+000000295626
+000000334954
+000000144330
+000000345863
+000000081612
+000000257176
+000000221736
+000000098671
+000000333024
+000000167891
+000000376572
+000000073019
+000000105134
+000000106440
+000000370090
+000000066056
+000000252724
+000000368196
+000000383888
+000000335433
+000000300615
+000000032193
+000000442175
+000000469924
+000000058797
+000000280249
+000000288723
+000000242363
+000000539551
+000000457394
+000000278287
+000000483418
+000000167622
+000000513200
+000000092280
+000000073014
+000000450961
+000000556356
+000000136599
+000000302932
+000000357005
+000000157221
+000000308715
+000000425815
+000000075090
+000000375211
+000000412198
+000000533843
+000000337844
+000000219179
+000000193435
+000000333075
+000000438943
+000000184642
+000000097238
+000000412874
+000000063873
+000000466024
+000000476207
+000000260299
+000000030187
+000000200143
+000000285678
+000000379055
+000000005253
+000000206528
+000000556835
+000000480333
+000000239174
+000000504382
+000000113945
+000000424731
+000000521712
+000000445179
+000000120721
+000000380510
+000000502090
+000000568963
+000000058733
+000000019836
+000000000562
+000000017870
+000000540863
+000000352118
+000000283144
+000000207089
+000000338903
+000000131074
+000000460704
+000000012786
+000000040051
+000000476975
+000000233537
+000000146706
+000000170980
+000000542725
+000000093683
+000000424337
+000000538480
+000000131531
+000000104814
+000000263382
+000000292868
+000000155569
+000000423541
+000000103804
+000000187959
+000000115361
+000000064802
+000000147306
+000000468241
+000000222990
+000000157176
+000000479647
+000000368268
+000000195860
+000000441949
+000000231222
+000000546065
+000000281221
+000000366330
+000000019227
+000000067961
+000000291518
+000000523297
+000000266103
+000000531499
+000000218012
+000000275491
+000000274651
+000000025014
+000000249111
+000000007559
+000000374458
+000000378029
+000000564759
+000000425569
+000000548957
+000000329535
+000000212405
+000000303668
+000000472296
+000000055085
+000000381792
+000000385119
+000000093522
+000000256029
+000000483382
+000000462192
+000000561495
+000000153998
+000000385969
+000000296318
+000000234990
+000000291348
+000000195947
+000000378098
+000000371911
+000000306277
+000000352533
+000000519365
+000000194352
+000000172622
+000000135016
+000000246197
+000000195650
+000000015126
+000000202178
+000000114549
+000000467249
+000000242615
+000000274063
+000000265819
+000000541730
+000000500853
+000000317241
+000000106498
+000000074388
+000000198661
+000000172040
+000000471455
+000000046634
+000000285448
+000000231503
+000000422427
+000000161083
+000000043545
+000000241617
+000000027844
+000000396366
+000000156720
+000000572978
+000000439602
+000000430850
+000000432430
+000000045471
+000000237597
+000000392015
+000000310344
+000000333868
+000000014006
+000000531045
+000000460576
+000000418151
+000000548357
+000000361400
+000000568071
+000000555894
+000000262756
+000000132059
+000000398628
+000000157796
+000000056852
+000000126514
+000000111280
+000000498532
+000000341209
+000000466132
+000000514292
+000000426146
+000000371647
+000000505879
+000000085904
+000000386497
+000000231812
+000000140289
+000000277072
+000000143946
+000000197222
+000000524144
+000000438255
+000000337338
+000000233256
+000000509551
+000000386530
+000000125782
+000000286429
+000000015185
+000000447842
+000000451701
+000000384993
+000000213219
+000000344854
+000000156308
+000000399001
+000000143624
+000000303368
+000000520337
+000000158923
+000000225667
+000000176668
+000000294487
+000000431750
+000000295756
+000000244666
+000000070079
+000000192905
+000000011605
+000000402665
+000000047161
+000000113132
+000000066737
+000000074224
+000000450959
+000000390175
+000000500228
+000000205906
+000000209901
+000000169466
+000000115037
+000000214256
+000000344483
+000000193481
+000000426602
+000000579664
+000000408705
+000000334826
+000000134649
+000000269232
+000000046898
+000000276740
+000000390365
+000000041832
+000000492299
+000000087737
+000000161277
+000000499324
+000000071137
+000000476300
+000000157886
+000000566631
+000000002770
+000000092187
+000000221985
+000000279027
+000000174845
+000000458642
+000000434291
+000000541435
+000000348517
+000000342660
+000000022191
+000000381945
+000000471884
+000000101785
+000000155741
+000000290106
+000000162841
+000000510915
+000000043771
+000000202329
+000000317323
+000000439199
+000000337297
+000000132316
+000000337857
+000000457651
+000000277788
+000000523766
+000000252144
+000000067431
+000000277435
+000000213897
+000000551875
+000000516214
+000000203748
+000000045634
+000000103390
+000000404596
+000000046786
+000000118065
+000000103676
+000000228565
+000000446733
+000000567495
+000000393601
+000000193923
+000000022815
+000000416102
+000000065520
+000000015565
+000000543468
+000000178096
+000000220270
+000000272837
+000000454325
+000000443646
+000000330357
+000000331753
+000000007772
+000000231280
+000000351061
+000000503137
+000000139306
+000000155617
+000000027272
+000000341899
+000000493503
+000000112359
+000000558594
+000000125313
+000000322325
+000000169712
+000000539340
+000000186699
+000000054011
+000000502534
+000000576160
+000000248666
+000000246761
+000000033765
+000000394739
+000000210041
+000000079816
+000000333485
+000000444500
+000000004936
+000000378769
+000000370697
+000000403774
+000000283631
+000000313666
+000000229569
+000000139914
+000000500298
+000000246218
+000000431044
+000000248324
+000000290400
+000000244111
+000000194679
+000000267146
+000000441358
+000000182015
+000000173897
+000000197962
+000000258732
+000000077282
+000000189446
+000000508286
+000000056426
+000000300994
+000000563683
+000000127644
+000000220082
+000000030447
+000000045710
+000000169766
+000000186586
+000000233963
+000000295197
+000000441241
+000000238713
+000000225847
+000000484287
+000000281034
+000000196064
+000000566697
+000000001496
+000000000661
+000000157551
+000000414787
+000000571880
+000000060986
+000000379238
+000000295267
+000000441891
+000000195699
+000000067959
+000000244846
+000000007867
+000000058385
+000000103554
+000000448652
+000000470762
+000000345903
+000000344439
+000000409155
+000000261202
+000000055066
+000000306560
+000000452968
+000000262752
+000000365703
+000000567990
+000000135572
+000000490615
+000000553162
+000000148394
+000000244784
+000000581038
+000000272492
+000000404608
+000000428085
+000000430688
+000000427613
+000000334995
+000000335284
+000000239452
+000000578652
+000000079878
+000000259198
+000000333918
+000000312789
+000000320951
+000000455345
+000000045422
+000000490654
+000000251191
+000000573926
+000000574110
+000000040181
+000000088116
+000000487421
+000000433921
+000000171444
+000000353306
+000000427909
+000000013938
+000000490857
+000000279672
+000000241496
+000000499480
+000000515809
+000000147762
+000000405752
+000000267189
+000000526782
+000000180202
+000000535242
+000000318405
+000000425626
+000000244074
+000000574463
+000000303178
+000000379754
+000000518455
+000000314738
+000000214733
+000000479803
+000000162643
+000000034523
+000000132123
+000000492470
+000000081205
+000000130795
+000000208200
+000000147236
+000000325664
+000000251315
+000000520843
+000000289344
+000000106379
+000000193031
+000000217458
+000000156827
+000000471634
+000000375674
+000000377294
+000000329014
+000000235925
+000000337815
+000000423097
+000000216569
+000000243907
+000000384698
+000000239350
+000000065426
+000000148348
+000000444880
+000000196977
+000000316396
+000000546632
+000000276582
+000000080798
+000000442585
+000000210136
+000000474827
+000000158208
+000000236767
+000000010073
+000000299024
+000000524935
+000000341676
+000000256938
+000000027089
+000000394326
+000000302715
+000000508151
+000000163608
+000000327576
+000000490160
+000000008936
+000000521298
+000000280157
+000000024238
+000000544309
+000000108264
+000000478609
+000000184148
+000000264870
+000000197300
+000000366184
+000000496431
+000000275279
+000000362811
+000000002531
+000000256921
+000000152774
+000000296208
+000000307831
+000000280236
+000000474402
+000000104865
+000000327530
+000000017761
+000000073899
+000000307030
+000000252915
+000000518179
+000000334048
+000000200718
+000000304558
+000000139181
+000000079501
+000000402788
+000000036425
+000000474784
+000000462562
+000000108314
+000000381413
+000000506198
+000000079107
+000000109427
+000000286874
+000000450102
+000000095939
+000000523795
+000000232718
+000000539235
+000000426824
+000000291788
+000000141400
+000000095247
+000000237009
+000000082405
+000000251125
+000000577738
+000000081508
+000000433452
+000000272738
+000000380678
+000000440133
+000000170024
+000000120478
+000000032289
+000000402775
+000000053436
+000000405604
+000000471665
+000000167741
+000000265331
+000000134640
+000000166622
+000000441013
+000000466352
+000000203545
+000000364757
+000000033727
+000000038930
+000000089892
+000000569792
+000000475007
+000000159021
+000000152749
+000000571774
+000000482081
+000000183348
+000000292387
+000000374805
+000000172398
+000000479394
+000000081897
+000000334073
+000000278706
+000000298452
+000000557515
+000000523543
+000000389183
+000000499728
+000000154359
+000000126046
+000000251502
+000000050531
+000000385535
+000000348675
+000000353495
+000000249058
+000000317424
+000000039770
+000000196594
+000000402234
+000000128775
+000000216520
+000000169502
+000000225824
+000000539371
+000000223977
+000000545663
+000000229774
+000000083477
+000000532559
+000000114333
+000000051898
+000000531070
+000000313148
+000000175212
+000000038290
+000000416049
+000000401838
+000000042383
+000000260808
+000000507516
+000000284025
+000000239808
+000000143511
+000000443034
+000000158635
+000000353920
+000000271654
+000000339105
+000000180208
+000000483357
+000000018918
+000000522339
+000000280732
+000000016735
+000000280840
+000000001442
+000000063671
+000000157206
+000000560047
+000000190839
+000000543734
+000000521352
+000000564109
+000000043921
+000000556021
+000000275466
+000000180721
+000000303003
+000000523664
+000000195459
+000000251047
+000000135319
+000000351903
+000000173490
+000000580363
+000000139633
+000000564142
+000000274682
+000000294832
+000000228721
+000000395627
+000000357229
+000000555356
+000000525549
+000000046852
+000000270381
+000000458141
+000000091227
+000000443725
+000000124246
+000000281191
+000000126909
+000000216579
+000000022838
+000000115845
+000000397291
+000000074964
+000000009763
+000000314200
+000000414884
+000000074132
+000000034579
+000000433911
+000000069496
+000000174015
+000000292271
+000000279247
+000000490643
+000000381961
+000000106646
+000000293704
+000000392404
+000000308579
+000000144484
+000000386092
+000000418611
+000000505418
+000000087876
+000000271857
+000000447487
+000000581601
+000000543028
+000000353461
+000000486788
+000000379654
+000000219249
+000000032516
+000000287302
+000000050727
+000000019484
+000000344259
+000000189757
+000000577278
+000000220699
+000000453509
+000000263600
+000000362247
+000000224848
+000000284765
+000000117441
+000000418677
+000000323424
+000000144163
+000000393354
+000000489475
+000000145896
+000000011719
+000000093487
+000000293998
+000000342614
+000000070271
+000000009180
+000000000502
+000000419080
+000000480961
+000000189243
+000000221651
+000000242972
+000000201308
+000000567179
+000000230721
+000000581021
+000000524838
+000000261461
+000000451409
+000000016955
+000000313724
+000000259242
+000000079146
+000000042614
+000000041438
+000000215521
+000000555922
+000000044937
+000000016518
+000000517794
+000000579632
+000000075369
+000000156128
+000000002619
+000000071618
+000000049073
+000000362363
+000000103510
+000000097767
+000000390975
+000000201419
+000000064626
+000000469294
+000000071217
+000000337247
+000000113481
+000000322125
+000000435543
+000000138192
+000000196521
+000000238201
+000000185819
+000000348483
+000000528200
+000000506971
+000000254824
+000000382839
+000000311326
+000000245243
+000000158422
+000000207779
+000000116731
+000000556011
+000000275929
+000000268848
+000000395293
+000000274784
+000000214565
+000000205239
+000000398523
+000000472941
+000000357057
+000000373294
+000000454078
+000000521370
+000000046809
+000000093866
+000000334194
+000000065025
+000000478164
+000000149890
+000000425536
+000000136027
+000000080445
+000000137284
+000000242248
+000000266069
+000000107162
+000000173527
+000000461916
+000000267350
+000000203076
+000000106326
+000000023929
+000000290144
+000000569645
+000000352228
+000000023759
+000000236389
+000000209803
+000000214634
+000000092526
+000000362026
+000000402271
+000000245996
+000000123891
+000000116370
+000000383508
+000000127353
+000000080749
+000000578418
+000000240279
+000000235838
+000000236279
+000000428502
+000000088846
+000000578238
+000000126323
+000000416325
+000000417716
+000000235945
+000000126345
+000000454862
+000000369792
+000000488941
+000000069956
+000000185901
+000000171467
+000000281442
+000000461634
+000000316132
+000000543171
+000000039371
+000000222603
+000000572024
+000000011925
+000000489916
+000000006599
+000000303944
+000000252008
+000000027406
+000000447204
+000000301262
+000000351976
+000000039067
+000000163803
+000000374946
+000000144320
+000000500533
+000000099393
+000000058080
+000000131826
+000000367242
+000000460988
+000000578193
+000000411225
+000000558955
+000000473260
+000000531948
+000000531873
+000000064454
+000000114749
+000000432859
+000000079255
+000000447811
+000000358255
+000000481532
+000000240038
+000000536996
+000000137227
+000000499862
+000000203129
+000000105469
+000000469137
+000000201358
+000000115379
+000000041645
+000000046267
+000000189542
+000000130637
+000000175688
+000000511111
+000000421762
+000000560152
+000000338059
+000000037814
+000000521968
+000000478336
+000000228901
+000000323462
+000000307278
+000000304481
+000000126486
+000000038053
+000000558878
+000000380162
+000000555882
+000000161169
+000000385962
+000000019899
+000000157965
+000000082041
+000000138124
+000000121977
+000000387512
+000000577176
+000000542077
+000000479129
+000000484227
+000000186737
+000000468171
+000000262986
+000000096535
+000000417079
+000000542035
+000000453009
+000000493978
+000000524500
+000000262393
+000000469096
+000000189805
+000000200280
+000000113654
+000000384168
+000000327770
+000000564503
+000000576343
+000000010407
+000000046144
+000000093007
+000000292518
+000000324914
+000000318730
+000000238389
+000000201723
+000000219792
+000000124018
+000000164565
+000000028263
+000000510898
+000000041993
+000000265344
+000000042641
+000000061582
+000000316937
+000000142581
+000000246077
+000000551014
+000000281217
+000000424174
+000000327153
+000000012895
+000000411068
+000000048663
+000000018940
+000000033372
+000000267770
+000000523876
+000000446763
+000000536045
+000000049024
+000000313644
+000000380191
+000000138832
+000000517851
+000000467204
+000000403518
+000000536100
+000000074331
+000000268710
+000000509247
+000000057764
+000000398350
+000000380089
+000000424788
+000000107776
+000000393836
+000000519205
+000000105660
+000000097659
+000000118478
+000000161354
+000000212690
+000000051540
+000000254267
+000000130563
+000000254431
+000000163827
+000000059218
+000000096958
+000000338235
+000000308192
+000000370171
+000000112590
+000000383581
+000000011360
+000000341700
+000000214150
+000000465155
+000000019665
+000000362038
+000000255076
+000000565884
+000000020915
+000000287651
+000000540784
+000000281562
+000000540296
+000000392627
+000000130538
+000000465530
+000000180800
+000000176462
+000000538155
+000000342933
+000000034301
+000000145520
+000000285450
+000000352370
+000000288169
+000000076409
+000000180232
+000000460830
+000000111432
+000000072899
+000000238154
+000000063668
+000000567706
+000000198112
+000000177516
+000000581715
+000000081981
+000000315864
+000000425945
+000000469762
+000000369543
+000000268406
+000000326731
+000000352417
+000000093708
+000000286162
+000000147537
+000000434016
+000000171154
+000000503318
+000000248372
+000000328350
+000000143245
+000000152785
+000000528468
+000000189932
+000000340348
+000000177837
+000000403424
+000000242103
+000000471573
+000000019901
+000000577221
+000000472101
+000000245242
+000000243231
+000000433853
+000000037743
+000000409884
+000000513099
+000000397518
+000000359897
+000000519475
+000000533063
+000000214133
+000000122947
+000000527492
+000000499997
+000000422803
+000000349401
+000000041293
+000000407990
+000000417471
+000000382386
+000000536602
+000000473767
+000000359479
+000000544495
+000000253716
+000000286787
+000000029342
+000000169456
+000000179735
+000000393129
+000000386377
+000000530187
+000000511379
+000000064557
+000000540885
+000000347653
+000000175021
+000000376858
+000000567077
+000000002150
+000000109860
+000000038134
+000000508215
+000000473348
+000000351686
+000000279208
+000000108917
+000000434884
+000000524014
+000000448492
+000000557664
+000000372789
+000000081085
+000000285342
+000000069535
+000000021097
+000000253764
+000000532810
+000000543385
+000000455878
+000000570705
+000000052712
+000000409454
+000000579561
+000000200195
+000000129872
+000000022827
+000000387562
+000000104568
+000000089322
+000000361578
+000000570403
+000000229594
+000000488812
+000000404227
+000000480861
+000000503404
+000000123330
+000000505592
+000000502978
+000000038321
+000000115649
+000000190872
+000000260400
+000000210098
+000000164066
+000000183151
+000000520749
+000000474330
+000000335087
+000000549101
+000000405729
+000000386632
+000000293265
+000000280688
+000000127214
+000000378117
+000000072845
+000000421321
+000000393721
+000000077375
+000000140736
+000000225867
+000000415619
+000000225393
+000000362498
+000000298193
+000000117179
+000000519883
+000000376875
+000000004132
+000000365578
+000000266442
+000000232127
+000000035961
+000000448712
+000000401157
+000000250607
+000000503416
+000000492318
+000000150827
+000000325793
+000000404243
+000000203577
+000000306621
+000000503647
+000000016414
+000000200615
+000000491765
+000000336697
+000000049878
+000000347248
+000000103228
+000000373284
+000000440283
+000000309195
+000000004415
+000000304374
+000000350134
+000000315181
+000000362159
+000000455912
+000000267735
+000000130070
+000000124992
+000000260829
+000000473134
+000000566646
+000000366641
+000000130970
+000000532773
+000000542611
+000000524263
+000000157385
+000000109445
+000000094828
+000000103272
+000000212842
+000000414948
+000000467911
+000000404271
+000000222517
+000000265161
+000000053662
+000000532419
+000000493254
+000000340653
+000000283043
+000000220446
+000000284628
+000000210139
+000000564820
+000000469181
+000000403263
+000000443693
+000000456010
+000000268292
+000000060688
+000000417885
+000000394817
+000000485300
+000000438905
+000000551185
+000000529117
+000000044962
+000000475304
+000000379992
+000000197336
+000000461953
+000000070261
+000000267844
+000000024530
+000000389721
+000000392850
+000000466967
+000000451648
+000000038771
+000000378723
+000000285664
+000000063251
+000000372514
+000000431573
+000000331349
+000000373641
+000000440878
+000000453565
+000000547863
+000000090257
+000000523894
+000000443723
+000000177847
+000000272097
+000000540789
+000000496306
+000000024877
+000000247764
+000000088902
+000000258337
+000000397693
+000000564003
+000000246199
+000000279060
+000000485343
+000000243817
+000000229234
+000000101588
+000000162275
+000000087901
+000000037549
+000000151573
+000000470553
+000000306178
+000000515814
+000000063408
+000000493459
+000000321673
+000000209335
+000000197499
+000000115159
+000000147826
+000000035297
+000000298395
+000000579326
+000000206398
+000000027734
+000000349566
+000000558248
+000000401653
+000000415976
+000000016995
+000000409192
+000000077455
+000000315647
+000000072041
+000000508931
+000000139304
+000000227453
+000000580149
+000000417804
+000000357891
+000000556497
+000000487276
+000000220371
+000000046004
+000000204381
+000000028171
+000000388812
+000000026685
+000000215812
+000000469075
+000000150309
+000000412709
+000000252188
+000000512904
+000000010909
+000000154443
+000000068049
+000000421656
+000000296897
+000000072729
+000000505113
+000000325584
+000000314646
+000000463458
+000000135161
+000000313517
+000000213021
+000000351104
+000000554471
+000000027340
+000000348668
+000000537393
+000000380108
+000000579693
+000000521225
+000000366264
+000000502760
+000000294008
+000000338323
+000000134294
+000000037629
+000000110567
+000000406071
+000000505953
+000000508831
+000000555495
+000000563816
+000000079298
+000000511138
+000000305019
+000000055445
+000000402668
+000000378814
+000000044604
+000000573576
+000000030931
+000000406366
+000000040881
+000000058253
+000000572795
+000000389477
+000000255654
+000000452263
+000000070062
+000000273576
+000000465294
+000000124471
+000000434525
+000000564861
+000000194089
+000000024450
+000000366086
+000000239888
+000000038294
+000000580284
+000000355650
+000000113513
+000000346872
+000000059322
+000000012073
+000000500878
+000000427767
+000000103673
+000000159887
+000000523691
+000000093114
+000000091587
+000000213268
+000000151247
+000000037339
+000000345870
+000000026978
+000000072753
+000000104898
+000000041284
+000000460730
+000000338370
+000000397512
+000000244949
+000000340528
+000000185117
+000000116444
+000000030254
+000000052068
+000000516026
+000000482485
+000000391914
+000000572886
+000000476109
+000000278064
+000000515394
+000000556540
+000000022194
+000000293296
+000000176098
+000000552352
+000000352377
+000000118306
+000000199918
+000000173883
+000000068625
+000000335231
+000000185993
+000000179656
+000000228163
+000000070122
+000000508177
+000000235239
+000000536294
+000000279334
+000000286794
+000000458042
+000000484753
+000000521643
+000000415269
+000000107129
+000000364705
+000000013356
+000000186868
+000000403345
+000000449841
+000000101647
+000000160926
+000000050655
+000000314167
+000000098257
+000000085735
+000000053569
+000000497160
+000000393225
+000000329268
+000000231492
+000000220665
+000000508577
+000000009712
+000000167431
+000000117792
+000000086877
+000000058816
+000000014017
+000000083454
+000000078663
+000000455769
+000000040878
+000000276829
+000000552089
+000000027852
+000000176506
+000000322975
+000000531308
+000000442859
+000000570295
+000000030967
+000000110540
+000000243745
+000000308059
+000000303361
+000000024787
+000000123180
+000000313888
+000000168754
+000000050239
+000000471840
+000000361033
+000000220089
+000000410742
+000000557283
+000000504541
+000000564465
+000000380315
+000000149444
+000000519870
+000000240802
+000000373747
+000000205214
+000000446751
+000000406531
+000000241372
+000000009452
+000000546300
+000000502863
+000000252178
+000000028329
+000000435090
+000000321039
+000000435612
+000000172426
+000000432258
+000000079613
+000000466529
+000000464839
+000000128324
+000000551739
+000000057739
+000000203707
+000000505145
+000000520220
+000000089603
+000000193114
+000000280911
+000000323468
+000000444336
+000000406286
+000000438481
+000000484884
+000000541408
+000000337760
+000000561137
+000000030793
+000000038064
+000000337771
+000000314865
+000000185837
+000000525265
+000000170327
+000000306926
+000000492785
+000000168994
+000000361830
+000000499835
+000000578114
+000000323295
+000000334381
+000000203835
+000000272211
+000000130880
+000000170238
+000000419396
+000000210048
+000000448662
+000000029125
+000000526704
+000000506640
+000000116078
+000000189404
+000000423810
+000000247929
+000000335999
+000000242278
+000000542095
+000000001739
+000000368736
+000000348555
+000000468920
+000000182243
+000000081117
+000000023696
+000000094842
+000000398682
+000000244540
+000000357635
+000000475857
+000000281683
+000000112622
+000000242303
+000000004706
+000000267182
+000000228893
+000000250533
+000000351948
+000000153618
+000000564735
+000000577968
+000000029794
+000000184633
+000000356369
+000000074554
+000000210988
+000000442659
+000000148403
+000000050948
+000000553867
+000000215405
+000000133412
+000000183949
+000000067563
+000000218761
+000000381122
+000000450452
+000000155839
+000000140761
+000000033567
+000000038816
+000000537025
+000000023444
+000000203061
+000000184951
+000000469336
+000000014783
+000000143017
+000000418226
+000000052978
+000000397892
+000000560636
+000000223650
+000000241341
+000000247723
+000000154648
+000000407915
+000000248017
+000000131832
+000000298639
+000000181938
+000000479762
+000000574324
+000000451621
+000000408930
+000000051576
+000000427805
+000000521808
+000000252277
+000000489467
+000000168533
+000000201477
+000000105866
+000000303937
+000000218508
+000000017856
+000000487872
+000000014271
+000000453104
+000000486968
+000000422656
+000000059750
+000000018958
+000000482320
+000000292818
+000000364683
+000000270605
+000000500765
+000000118885
+000000389304
+000000521682
+000000322749
+000000403556
+000000348616
+000000206429
+000000206676
+000000152526
+000000079172
+000000460931
+000000213650
+000000306454
+000000023729
+000000180271
+000000403644
+000000034826
+000000411695
+000000225634
+000000128373
+000000153136
+000000304220
+000000228004
+000000048268
+000000233264
+000000052746
+000000471691
+000000277046
+000000181756
+000000160214
+000000494112
+000000250225
+000000092645
+000000329895
+000000141993
+000000190861
+000000238850
+000000238090
+000000030455
+000000139282
+000000321500
+000000519607
+000000241037
+000000409443
+000000020882
+000000220218
+000000240198
+000000315226
+000000546451
+000000080219
+000000558576
+000000467112
+000000521245
+000000316514
+000000143167
+000000380906
+000000030432
+000000023014
+000000190537
+000000474550
+000000540210
+000000167859
+000000149188
+000000534130
+000000354369
+000000097890
+000000172006
+000000205875
+000000520975
+000000380292
+000000271063
+000000360329
+000000169598
+000000096685
+000000446413
+000000379285
+000000264389
+000000032992
+000000391406
+000000576080
+000000165795
+000000096975
+000000167613
+000000187537
+000000205625
+000000043376
+000000021475
+000000311480
+000000489585
+000000204026
+000000080857
+000000148629
+000000466575
+000000405994
+000000026665
+000000285562
+000000295408
+000000519867
+000000569436
+000000277706
+000000298732
+000000316580
+000000056784
+000000536716
+000000472960
+000000421286
+000000383726
+000000034261
+000000520229
+000000340333
+000000543916
+000000492705
+000000154307
+000000452695
+000000260618
+000000564247
+000000290165
+000000294581
+000000578213
+000000126671
+000000046245
+000000439213
+000000429407
+000000302432
+000000260516
+000000512316
+000000248310
+000000352508
+000000488360
+000000320503
+000000147178
+000000103158
+000000431492
+000000085765
+000000448286
+000000288602
+000000235681
+000000526391
+000000485946
+000000260910
+000000492489
+000000121987
+000000168839
+000000063764
+000000118413
+000000245135
+000000093581
+000000040500
+000000563233
+000000147333
+000000007729
+000000144199
+000000125298
+000000491305
+000000132094
+000000439940
+000000222987
+000000369250
+000000117535
+000000305347
+000000190216
+000000175743
+000000562834
+000000122994
+000000353398
+000000404988
+000000505288
+000000432134
+000000113845
+000000101689
+000000372959
+000000534035
+000000043464
+000000078827
+000000384512
+000000088606
+000000505965
+000000485441
+000000133515
+000000103042
+000000569597
+000000526980
+000000048630
+000000183187
+000000325874
+000000504160
+000000020860
+000000023320
+000000560186
+000000158863
+000000134231
+000000002684
+000000271577
+000000015930
+000000089912
+000000050819
+000000571518
+000000403013
+000000539071
+000000014504
+000000028508
+000000246275
+000000138896
+000000340884
+000000068993
+000000534168
+000000100087
+000000044810
+000000515670
+000000269973
+000000104015
+000000237041
+000000134902
+000000162230
+000000204562
+000000199203
+000000437588
+000000290183
+000000395432
+000000032115
+000000175310
+000000293412
+000000517936
+000000372723
+000000062041
+000000504976
+000000493384
+000000098001
+000000386400
+000000530171
+000000043558
+000000320796
+000000419350
+000000514800
+000000326080
+000000124815
+000000293591
+000000346785
+000000311424
+000000563444
+000000336900
+000000256082
+000000162898
+000000471085
+000000267950
+000000468960
+000000004229
+000000515006
+000000004093
+000000577524
+000000245864
+000000389487
+000000270001
+000000238272
+000000188079
+000000198997
+000000411881
+000000322141
+000000154804
+000000107604
+000000268986
+000000121828
+000000097250
+000000289821
+000000110217
+000000378007
+000000174196
+000000223467
+000000418565
+000000552149
+000000409414
+000000211346
+000000038198
+000000329105
+000000355740
+000000114259
+000000259721
+000000328743
+000000566189
+000000136780
+000000197401
+000000303148
+000000451597
+000000577434
+000000099751
+000000106194
+000000324189
+000000035853
+000000298622
+000000550627
+000000514294
+000000248045
+000000076249
+000000296763
+000000468538
+000000518245
+000000555035
+000000499259
+000000448236
+000000281017
+000000478078
+000000036605
+000000351667
+000000483786
+000000202856
+000000189547
+000000503250
+000000167645
+000000321508
+000000041802
+000000333502
+000000323804
+000000173235
+000000201446
+000000516732
+000000165930
+000000441425
+000000159542
+000000458610
+000000126972
+000000518110
+000000391726
+000000422026
+000000533250
+000000149027
+000000531812
+000000125063
+000000073066
+000000133161
+000000477230
+000000518553
+000000132415
+000000402717
+000000575376
+000000055544
+000000357475
+000000483545
+000000032704
+000000408543
+000000384836
+000000024847
+000000309165
+000000542488
+000000578796
+000000418480
+000000495984
+000000202507
+000000223035
+000000486139
+000000167533
+000000494550
+000000192692
+000000018723
+000000074000
+000000387990
+000000419228
+000000064409
+000000428773
+000000269168
+000000108021
+000000508669
+000000354003
+000000255335
+000000224224
+000000476652
+000000217760
+000000106848
+000000359097
+000000016839
+000000529348
+000000388042
+000000545325
+000000271986
+000000157205
+000000552595
+000000176935
+000000410889
+000000219904
+000000049851
+000000065231
+000000461350
+000000482062
+000000448856
+000000340612
+000000253890
+000000070780
+000000309402
+000000032322
+000000545324
+000000452585
+000000108894
+000000475465
+000000390610
+000000047409
+000000489719
+000000383073
+000000292140
+000000408456
+000000475275
+000000575483
+000000360910
+000000356755
+000000471822
+000000388157
+000000157198
+000000089503
+000000028494
+000000129293
+000000113944
+000000331824
+000000222191
+000000174567
+000000251205
+000000426053
+000000026365
+000000498363
+000000084536
+000000481552
+000000100417
+000000345839
+000000253852
+000000511914
+000000454693
+000000275821
+000000004885
+000000227207
+000000412592
+000000196584
+000000265414
+000000234697
+000000238525
+000000546985
+000000256156
+000000404013
+000000549644
+000000472495
+000000192153
+000000400870
+000000148771
+000000073685
+000000538465
+000000508220
+000000180515
+000000533074
+000000208882
+000000349201
+000000197745
+000000171330
+000000511141
+000000202880
+000000050232
+000000456750
+000000362189
+000000503196
+000000083086
+000000157032
+000000057586
+000000513712
+000000119596
+000000049667
+000000003782
+000000264618
+000000562989
+000000289968
+000000314561
+000000314929
+000000280847
+000000579811
+000000489031
+000000527453
+000000158899
+000000518592
+000000517315
+000000189033
+000000459451
+000000006241
+000000005678
+000000481753
+000000352505
+000000294267
+000000567893
+000000027717
+000000476103
+000000554759
+000000012860
+000000475610
+000000410711
+000000527184
+000000190234
+000000330878
+000000100703
+000000392198
+000000401622
+000000031375
+000000327624
+000000384598
+000000247951
+000000178962
+000000050230
+000000176912
+000000055493
+000000153589
+000000128466
+000000452852
+000000191403
+000000284170
+000000544691
+000000354303
+000000548169
+000000020906
+000000581863
+000000574152
+000000578314
+000000273445
+000000422145
+000000448320
+000000487551
+000000529465
+000000286212
+000000118862
+000000007677
+000000366956
+000000392537
+000000208166
+000000532351
+000000369369
+000000544127
+000000100282
+000000186116
+000000363508
+000000002068
+000000080690
+000000371315
+000000563920
+000000152980
+000000218587
+000000248918
+000000547896
+000000248457
+000000266912
+000000528147
+000000273082
+000000267136
+000000120935
+000000410969
+000000369128
+000000220124
+000000064915
+000000400045
+000000019929
+000000279747
+000000542936
+000000260581
+000000094355
+000000581766
+000000131725
+000000534519
+000000147866
+000000390134
+000000084339
+000000263014
+000000196295
+000000484407
+000000020679
+000000394663
+000000379465
+000000415119
+000000139843
+000000034528
+000000034181
+000000233843
+000000444087
+000000473571
+000000441385
+000000117140
+000000367843
+000000028260
+000000523390
+000000257544
+000000404781
+000000279920
+000000581362
+000000367558
+000000445768
+000000480520
+000000148358
+000000448436
+000000093666
+000000099387
+000000567198
+000000510701
+000000460405
+000000017896
+000000052503
+000000539566
+000000286285
+000000021443
+000000147453
+000000166130
+000000522807
+000000534151
+000000406743
+000000491701
+000000276444
+000000029005
+000000020837
+000000427239
+000000192631
+000000553471
+000000160771
+000000242549
+000000013835
+000000066568
+000000446614
+000000173385
+000000338104
+000000244478
+000000550555
+000000328065
+000000058161
+000000547460
+000000262576
+000000216443
+000000083950
+000000035571
+000000351034
+000000421389
+000000047229
+000000532155
+000000331024
+000000012204
+000000421283
+000000301799
+000000092064
+000000264161
+000000413731
+000000404282
+000000576549
+000000277433
+000000502725
+000000134768
+000000037091
+000000572626
+000000050101
+000000501286
+000000170654
+000000055465
+000000281273
+000000253810
+000000112440
+000000416405
+000000366704
+000000507329
+000000260899
+000000363559
+000000258315
+000000581566
+000000278732
+000000063835
+000000075173
+000000068748
+000000211175
+000000204044
+000000153016
+000000490475
+000000023400
+000000069266
+000000472065
+000000408873
+000000390785
+000000015552
+000000038332
+000000061919
+000000563725
+000000044741
+000000460403
+000000186518
+000000549954
+000000338472
+000000008228
+000000491259
+000000462604
+000000002849
+000000270384
+000000458778
+000000478490
+000000556426
+000000009195
+000000431481
+000000498770
+000000506736
+000000442952
+000000099295
+000000405621
+000000374107
+000000473903
+000000361798
+000000052360
+000000361815
+000000488260
+000000553981
+000000207264
+000000306593
+000000581118
+000000452381
+000000257263
+000000096808
+000000324116
+000000194193
+000000392004
+000000070310
+000000286692
+000000294900
+000000487391
+000000564726
+000000005011
+000000571504
+000000523914
+000000293244
+000000293259
+000000213539
+000000354519
+000000223660
+000000579631
+000000128932
+000000112517
+000000082140
+000000574130
+000000427016
+000000182377
+000000270070
+000000172404
+000000420831
+000000473448
+000000235833
+000000251577
+000000041366
+000000138397
+000000294925
+000000554523
+000000428812
+000000094118
+000000289354
+000000452881
+000000206783
+000000127455
+000000485654
+000000470298
+000000325856
+000000534300
+000000444694
+000000502441
+000000336102
+000000045468
+000000471837
+000000275335
+000000129310
+000000514082
+000000145174
+000000004463
+000000473779
+000000004208
+000000367521
+000000127559
+000000490893
+000000217671
+000000527962
+000000233366
+000000133377
+000000548393
+000000419081
+000000415806
+000000276918
+000000007202
+000000309679
+000000349794
+000000453260
+000000439834
+000000371245
+000000173217
+000000203440
+000000571694
+000000323774
+000000031280
+000000030925
+000000374785
+000000261605
+000000505852
+000000551279
+000000137836
+000000155380
+000000078695
+000000512289
+000000405032
+000000134028
+000000493873
+000000345725
+000000342394
+000000315387
+000000323336
+000000461967
+000000469721
+000000066987
+000000157634
+000000219204
+000000236484
+000000553747
+000000074794
+000000488191
+000000423723
+000000346309
+000000236399
+000000047983
+000000300121
+000000421944
+000000179476
+000000032403
+000000391652
+000000443334
+000000561357
+000000113897
+000000117447
+000000444092
+000000137927
+000000037125
+000000007145
+000000563029
+000000183364
+000000356028
+000000478597
+000000224910
+000000235437
+000000042828
+000000333712
+000000540820
+000000230576
+000000252382
+000000277807
+000000534686
+000000147293
+000000153307
+000000209068
+000000306232
+000000486941
+000000375691
+000000272803
+000000452412
+000000216320
+000000302656
+000000219118
+000000081504
+000000513497
+000000290002
+000000306798
+000000530479
+000000296706
+000000557931
+000000293252
+000000115599
+000000030114
+000000492378
+000000264020
+000000465926
+000000012422
+000000315593
+000000143420
+000000323592
+000000213423
+000000488457
+000000113812
+000000460094
+000000393607
+000000431240
+000000084165
+000000417190
+000000216603
+000000098720
+000000078372
+000000141770
+000000188026
+000000343571
+000000066508
+000000569325
+000000215315
+000000304827
+000000555920
+000000139192
+000000182369
+000000035594
+000000156999
+000000466095
+000000135364
+000000115692
+000000359567
+000000397742
+000000513434
+000000461245
+000000429620
+000000381729
+000000101571
+000000539915
+000000237743
+000000320877
+000000312038
+000000458461
+000000433046
+000000012495
+000000125201
+000000425520
+000000346310
+000000119333
+000000320376
+000000529636
+000000160701
+000000118715
+000000163975
+000000363605
+000000016111
+000000366003
+000000153288
+000000542549
+000000420446
+000000446764
+000000532612
+000000393050
+000000307781
+000000045404
+000000564958
+000000227526
+000000092017
+000000290704
+000000509402
+000000434602
+000000001779
+000000326477
+000000417384
+000000568276
+000000318224
+000000022724
+000000363525
+000000529383
+000000195600
+000000441483
+000000523561
+000000088282
+000000212803
+000000057345
+000000140512
+000000085005
+000000117117
+000000540103
+000000543413
+000000283963
+000000457373
+000000063309
+000000386633
+000000214048
+000000535524
+000000141518
+000000305887
+000000375205
+000000571909
+000000213546
+000000260206
+000000490938
+000000382745
+000000428355
+000000226840
+000000002618
+000000559294
+000000064313
+000000495122
+000000075791
+000000314965
+000000315607
+000000214165
+000000486101
+000000033146
+000000326222
+000000289889
+000000455674
+000000452854
+000000166127
+000000443003
+000000352426
+000000277665
+000000502605
+000000137734
+000000293514
+000000400619
+000000202373
+000000440401
+000000303197
+000000291816
+000000095833
+000000493136
+000000333376
+000000029586
+000000372855
+000000503059
+000000390951
+000000152197
+000000090075
+000000107167
+000000320125
+000000452824
+000000241579
+000000000827
+000000078923
+000000272804
+000000304355
+000000144283
+000000242855
+000000558741
+000000400336
+000000521726
+000000120987
+000000573655
+000000174889
+000000082844
+000000494970
+000000401198
+000000191854
+000000015811
+000000440778
+000000128337
+000000110324
+000000196852
+000000475564
+000000141201
+000000526598
+000000497388
+000000256953
+000000387615
+000000280619
+000000528049
+000000221045
+000000579453
+000000551170
+000000422705
+000000100523
+000000415871
+000000467760
+000000045153
+000000234592
+000000579002
+000000109730
+000000552031
+000000090985
+000000554486
+000000389340
+000000195559
+000000493161
+000000243028
+000000066943
+000000407520
+000000515176
+000000203858
+000000575257
+000000013160
+000000455225
+000000029085
+000000079696
+000000023433
+000000552814
+000000141372
+000000421544
+000000535262
+000000384535
+000000488853
+000000160115
+000000237699
+000000388487
+000000356236
+000000546245
+000000312486
+000000558129
+000000053892
+000000016161
+000000313206
+000000035701
+000000389948
+000000077270
+000000263333
+000000128167
+000000492750
+000000211397
+000000493939
+000000396784
+000000139889
+000000404886
+000000339943
+000000066034
+000000287695
+000000316817
+000000213349
+000000261273
+000000280368
+000000343999
+000000456569
+000000342122
+000000210654
+000000410262
+000000370252
+000000059582
+000000579134
+000000300264
+000000055521
+000000365540
+000000171090
+000000110507
+000000097172
+000000349907
+000000166706
+000000343511
+000000423010
+000000330051
+000000186177
+000000412857
+000000517626
+000000000955
+000000097777
+000000192763
+000000012803
+000000401458
+000000093864
+000000363217
+000000301667
+000000126090
+000000435026
+000000035526
+000000083252
+000000331076
+000000183012
+000000575121
+000000167453
+000000044352
+000000120986
+000000211408
+000000428026
+000000148343
+000000252608
+000000320972
+000000479195
+000000238639
+000000050242
+000000050356
+000000311568
+000000194167
+000000556999
+000000022158
+000000288229
+000000375027
+000000001228
+000000077979
+000000069576
+000000454832
+000000177339
+000000157188
+000000042387
+000000239398
+000000190981
+000000388066
+000000278496
+000000390627
+000000148274
+000000571219
+000000416565
+000000306191
+000000074555
+000000568851
+000000032271
+000000555358
+000000016233
+000000080818
+000000302655
+000000110325
+000000231837
+000000006178
+000000476795
+000000055821
+000000134715
+000000250684
+000000344288
+000000414555
+000000145952
+000000022582
+000000510680
+000000428739
+000000104270
+000000131171
+000000362795
+000000152265
+000000291687
+000000214008
+000000398290
+000000391831
+000000458592
+000000497736
+000000244401
+000000131190
+000000019388
+000000011554
+000000523735
+000000189359
+000000474186
+000000085781
+000000339007
+000000492727
+000000299089
+000000197759
+000000046615
+000000385552
+000000302634
+000000365553
+000000476140
+000000325149
+000000013336
+000000270388
+000000111996
+000000044420
+000000490935
+000000159680
+000000516114
+000000472445
+000000105881
+000000338327
+000000317365
+000000551052
+000000086071
+000000308605
+000000167708
+000000506982
+000000254033
+000000294615
+000000333605
+000000293980
+000000444496
+000000359033
+000000013150
+000000313990
+000000010546
+000000492354
+000000051164
+000000006949
+000000408252
+000000421201
+000000230336
+000000540259
+000000260305
+000000459325
+000000474970
+000000438615
+000000009673
+000000072091
+000000493438
+000000113360
+000000168454
+000000265611
+000000580951
+000000419612
+000000185072
+000000276644
+000000462639
+000000507946
+000000305458
+000000496977
+000000005010
+000000185181
+000000488539
+000000569851
+000000340420
+000000544582
+000000384332
+000000335860
+000000537720
+000000476967
+000000216322
+000000260720
+000000123722
+000000176811
+000000209480
+000000205270
+000000345535
+000000057903
+000000364369
+000000118976
+000000001781
+000000175033
+000000378311
+000000533751
+000000496153
+000000257668
+000000248232
+000000580629
+000000480729
+000000052393
+000000467131
+000000374201
+000000083161
+000000079971
+000000126554
+000000245049
+000000507992
+000000086908
+000000061761
+000000496554
+000000439859
+000000484758
+000000003812
+000000580142
+000000549143
+000000043388
+000000506540
+000000547644
+000000120850
+000000436027
+000000530461
+000000010125
+000000298777
+000000189634
+000000395735
+000000217238
+000000290889
+000000325850
+000000431847
+000000431808
+000000067553
+000000028690
+000000242423
+000000335589
+000000416918
+000000221587
+000000465465
+000000314139
+000000038772
+000000445759
+000000104028
+000000549384
+000000473011
+000000305762
+000000009548
+000000028826
+000000453875
+000000027585
+000000511036
+000000137794
+000000475425
+000000275102
+000000246453
+000000576153
+000000307483
+000000143096
+000000562648
+000000388807
+000000560000
+000000499989
+000000503255
+000000099342
+000000194555
+000000318683
+000000373511
+000000370728
+000000015036
+000000073064
+000000132015
+000000482022
+000000015107
+000000506378
+000000509588
+000000473340
+000000180442
+000000105784
+000000408571
+000000017892
+000000103306
+000000090830
+000000352080
+000000555590
+000000108617
+000000379111
+000000370444
+000000357265
+000000194297
+000000218334
+000000226527
+000000168225
+000000187331
+000000329724
+000000049542
+000000532916
+000000269600
+000000414577
+000000527571
+000000519555
+000000544427
+000000492544
+000000559816
+000000285214
+000000493189
+000000531023
+000000162112
+000000540508
+000000211230
+000000488139
+000000549887
+000000028790
+000000034063
+000000519626
+000000023309
+000000062619
+000000326712
+000000170012
+000000467727
+000000510027
+000000496752
+000000216197
+000000239885
+000000325294
+000000561300
+000000396294
+000000254418
+000000484689
+000000402004
+000000387903
+000000382318
+000000435988
+000000133622
+000000143980
+000000281789
+000000291932
+000000416741
+000000241156
+000000421703
+000000352649
+000000515555
+000000189587
+000000569103
+000000526030
+000000103161
+000000493843
+000000054874
+000000055627
+000000333225
+000000305374
+000000147108
+000000099988
+000000001238
+000000549535
+000000580334
+000000434201
+000000548464
+000000175889
+000000003149
+000000151558
+000000243823
+000000208718
+000000114894
+000000331505
+000000502513
+000000230014
+000000493857
+000000263274
+000000389677
+000000355387
+000000014820
+000000432675
+000000436141
+000000090365
+000000228858
+000000069526
+000000289197
+000000256231
+000000114093
+000000430473
+000000246915
+000000576413
+000000069283
+000000202414
+000000462602
+000000387833
+000000369596
+000000482766
+000000445960
+000000469638
+000000029023
+000000446265
+000000560204
+000000073823
+000000192111
+000000138303
+000000391371
+000000545678
+000000453907
+000000027648
+000000268993
+000000225265
+000000544856
+000000546932
+000000393169
+000000082252
+000000093785
+000000560153
+000000098248
+000000313623
+000000045628
+000000399746
+000000021260
+000000366651
+000000278375
+000000050961
+000000210955
+000000576214
+000000573941
+000000319283
+000000562441
+000000438926
+000000273436
+000000319228
+000000122996
+000000056768
+000000034689
+000000431165
+000000475453
+000000536729
+000000000620
+000000579968
+000000352295
+000000236457
+000000567837
+000000090935
+000000104502
+000000068996
+000000037582
+000000047936
+000000388911
+000000151832
+000000522477
+000000382997
+000000234220
+000000532557
+000000433483
+000000051550
+000000076462
+000000402020
+000000187728
+000000364343
+000000475651
+000000345062
+000000260330
+000000277331
+000000251936
+000000077014
+000000203822
+000000263901
+000000202587
+000000519077
+000000324450
+000000383413
+000000013524
+000000477671
+000000264209
+000000162773
+000000574930
+000000279437
+000000454336
+000000355223
+000000448114
+000000034141
+000000549821
+000000470473
+000000172886
+000000443591
+000000239520
+000000557324
+000000344038
+000000137275
+000000518215
+000000179477
+000000462880
+000000058876
+000000360871
+000000411845
+000000238114
+000000074827
+000000458599
+000000350035
+000000065333
+000000175991
+000000113150
+000000220651
+000000093832
+000000083753
+000000178064
+000000459515
+000000290098
+000000012016
+000000006451
+000000533462
+000000549882
+000000528408
+000000256095
+000000195153
+000000325211
+000000164242
+000000419696
+000000199855
+000000502326
+000000416976
+000000553678
+000000494980
+000000189568
+000000403882
+000000412880
+000000553126
+000000212514
+000000550099
+000000253828
+000000375086
+000000213174
+000000142245
+000000334772
+000000494684
+000000494039
+000000532684
+000000330720
+000000127543
+000000009185
+000000236740
+000000573623
+000000132781
+000000112117
+000000191731
+000000494747
+000000573151
+000000313398
+000000087792
+000000495790
+000000481723
+000000562393
+000000204821
+000000121857
+000000188062
+000000207629
+000000201770
+000000228260
+000000391896
+000000502084
+000000296604
+000000312141
+000000400552
+000000184862
+000000102445
+000000179011
+000000170803
+000000370678
+000000205814
+000000099970
+000000302084
+000000376747
+000000573733
+000000466222
+000000335033
+000000271324
+000000516008
+000000353133
+000000412142
+000000538742
+000000265840
+000000490720
+000000060892
+000000053919
+000000548722
+000000002315
+000000071727
+000000549182
+000000279187
+000000570573
+000000513351
+000000283743
+000000375066
+000000332739
+000000432732
+000000203676
+000000477617
+000000338118
+000000442612
+000000407717
+000000257379
+000000379433
+000000495443
+000000404273
+000000214137
+000000307246
+000000102912
+000000525459
+000000472348
+000000450004
+000000216551
+000000210251
+000000518814
+000000132104
+000000063512
+000000059151
+000000374976
+000000269634
+000000496424
+000000150040
+000000298112
+000000271122
+000000157610
+000000329034
+000000027162
+000000552938
+000000256660
+000000519758
+000000068396
+000000568531
+000000153907
+000000109568
+000000490010
+000000030010
+000000100863
+000000290595
+000000302052
+000000216963
+000000385444
+000000542350
+000000185606
+000000074139
+000000315348
+000000479390
+000000056212
+000000170550
+000000453526
+000000094550
+000000073139
+000000246032
+000000544719
+000000345331
+000000254028
+000000259760
+000000316001
+000000301954
+000000564870
+000000506837
+000000524331
+000000513771
+000000200548
+000000054936
+000000446130
+000000443963
+000000291004
+000000402071
+000000243818
+000000325558
+000000441169
+000000293837
+000000245540
+000000072602
+000000207117
+000000273840
+000000216098
+000000552073
+000000509677
+000000295116
+000000195790
+000000186524
+000000288176
+000000160220
+000000284042
+000000372868
+000000278229
+000000301236
+000000285686
+000000501085
+000000294380
+000000455165
+000000455117
+000000458586
+000000258135
+000000352208
+000000378077
+000000268185
+000000298680
+000000465786
+000000417544
+000000169700
+000000458208
+000000176142
+000000044544
+000000450309
+000000550844
+000000510718
+000000453906
+000000164189
+000000544717
+000000285074
+000000404635
+000000401569
+000000139492
+000000499418
+000000197597
+000000193798
+000000236936
+000000336634
+000000128015
+000000427013
+000000341874
+000000211255
+000000061515
+000000174529
+000000548388
+000000575128
+000000038314
+000000555494
+000000310749
+000000203653
+000000291206
+000000490578
+000000430885
+000000359458
+000000084886
+000000429228
+000000418393
+000000066567
+000000513793
+000000100698
+000000478670
+000000117542
+000000408182
+000000526695
+000000210221
+000000544263
+000000530494
+000000192652
+000000220344
+000000245232
+000000474502
+000000423986
+000000133874
+000000036726
+000000197859
+000000270722
+000000577364
+000000247699
+000000243120
+000000491778
+000000255928
+000000374984
+000000223996
+000000042658
+000000457717
+000000155355
+000000053616
+000000407365
+000000398948
+000000008688
+000000354261
+000000325932
+000000179915
+000000263520
+000000217672
+000000300501
+000000273618
+000000220670
+000000372996
+000000289170
+000000083148
+000000049141
+000000406068
+000000475890
+000000324313
+000000178785
+000000251629
+000000160199
+000000404795
+000000373109
+000000158779
+000000574207
+000000093786
+000000572250
+000000358484
+000000295433
+000000066283
+000000249346
+000000561814
+000000242290
+000000327068
+000000135730
+000000205461
+000000573263
+000000275642
+000000551889
+000000461361
+000000034777
+000000304065
+000000074963
+000000121610
+000000015599
+000000293720
+000000507326
+000000319155
+000000464322
+000000188345
+000000000987
+000000301837
+000000471788
+000000224907
+000000243066
+000000524389
+000000102842
+000000565543
+000000511644
+000000153585
+000000470055
+000000320399
+000000032703
+000000152341
+000000185248
+000000476331
+000000171120
+000000116453
+000000422121
+000000121525
+000000381595
+000000069936
+000000355276
+000000172889
+000000410670
+000000512145
+000000526850
+000000498100
+000000085543
+000000276631
+000000140375
+000000560614
+000000519250
+000000374043
+000000489209
+000000536576
+000000256734
+000000544371
+000000098328
+000000026865
+000000202842
+000000251476
+000000290608
+000000410657
+000000207507
+000000000078
+000000240698
+000000005314
+000000372247
+000000405851
+000000195113
+000000464964
+000000209590
+000000339862
+000000521107
+000000365115
+000000313286
+000000576301
+000000347936
+000000042267
+000000284348
+000000329963
+000000398548
+000000013832
+000000564185
+000000142903
+000000472157
+000000353605
+000000079528
+000000458221
+000000456799
+000000013914
+000000165543
+000000369380
+000000476585
+000000558153
+000000048840
+000000400945
+000000039181
+000000043176
+000000100972
+000000042222
+000000301191
+000000403730
+000000566115
+000000056190
+000000030381
+000000465550
+000000017235
+000000010421
+000000341424
+000000308170
+000000246263
+000000151184
+000000524725
+000000344894
+000000204855
+000000140921
+000000457924
+000000053142
+000000277693
+000000230057
+000000181947
+000000051076
+000000295887
+000000532147
+000000102252
+000000502253
+000000532124
+000000097841
+000000414482
+000000291833
+000000236123
+000000292734
+000000516994
+000000509157
+000000397192
+000000131415
+000000077667
+000000495802
+000000191120
+000000084643
+000000252602
+000000160163
+000000115928
+000000264017
+000000466455
+000000268444
+000000169947
+000000074150
+000000022196
+000000332113
+000000398236
+000000194538
+000000026376
+000000367107
+000000195542
+000000308950
+000000071099
+000000277163
+000000509185
+000000066902
+000000150364
+000000139675
+000000290314
+000000294978
+000000255791
+000000430848
+000000008394
+000000293334
+000000220697
+000000099984
+000000254834
+000000319465
+000000237777
+000000185716
+000000492055
+000000407457
+000000083328
+000000283445
+000000211265
+000000217494
+000000513424
+000000578553
+000000110630
+000000254022
+000000142589
+000000465449
+000000429283
+000000480407
+000000417528
+000000074002
+000000387267
+000000346964
+000000212501
+000000083725
+000000160331
+000000223342
+000000299463
+000000539777
+000000030486
+000000170832
+000000254117
+000000107734
+000000563513
+000000211113
+000000009217
+000000039881
+000000432886
+000000258402
+000000084244
+000000167510
+000000097339
+000000183786
+000000464263
+000000402712
+000000402359
+000000387044
+000000254143
+000000125886
+000000234749
+000000260503
+000000093506
+000000358343
+000000004956
+000000015528
+000000157378
+000000386786
+000000247603
+000000342843
+000000457656
+000000122419
+000000454892
+000000177214
+000000183528
+000000522653
+000000051583
+000000047151
+000000393692
+000000353651
+000000271522
+000000002148
+000000383641
+000000157300
+000000338488
+000000178924
+000000134590
+000000233354
+000000116141
+000000457833
+000000187214
+000000333739
+000000099311
+000000086875
+000000482721
+000000151900
+000000079555
+000000085320
+000000429585
+000000438850
+000000360772
+000000577484
+000000388721
+000000430762
+000000492566
+000000356742
+000000137583
+000000580161
+000000223094
+000000246382
+000000415874
+000000098090
+000000307936
+000000545263
+000000232091
+000000443988
+000000011324
+000000575817
+000000424279
+000000358678
+000000520208
+000000042929
+000000270778
+000000201291
+000000000514
+000000021718
+000000429602
+000000193829
+000000387527
+000000575776
+000000142189
+000000058632
+000000003234
+000000441876
+000000506821
+000000434723
+000000359110
+000000143927
+000000093116
+000000537349
+000000306868
+000000297520
+000000079193
+000000234713
+000000317391
+000000050151
+000000110559
+000000181857
+000000199224
+000000345543
+000000166811
+000000437599
+000000028093
+000000030210
+000000201382
+000000015179
+000000393794
+000000182450
+000000134346
+000000254100
+000000187368
+000000082721
+000000088102
+000000126495
+000000271419
+000000044250
+000000220399
+000000338159
+000000277550
+000000370399
+000000000612
+000000202187
+000000304605
+000000289337
+000000394043
+000000349588
+000000381060
+000000546133
+000000469471
+000000225213
+000000106736
+000000083884
+000000257489
+000000419711
+000000100202
+000000485169
+000000043438
+000000451803
+000000561446
+000000171185
+000000367007
+000000423396
+000000206550
+000000058405
+000000532985
+000000053369
+000000028864
+000000125859
+000000132758
+000000433196
+000000079274
+000000393394
+000000240414
+000000172218
+000000465441
+000000049853
+000000558849
+000000152474
+000000149078
+000000140988
+000000219344
+000000151375
+000000522856
+000000046359
+000000160648
+000000496064
+000000379554
+000000002451
+000000224391
+000000188826
+000000379155
+000000327159
+000000140588
+000000441527
+000000204930
+000000246701
+000000103379
+000000015073
+000000267256
+000000553392
+000000012098
+000000569674
+000000020349
+000000005913
+000000374641
+000000259296
+000000353130
+000000123421
+000000197689
+000000140758
+000000282316
+000000057222
+000000255524
+000000296707
+000000434668
+000000486869
+000000141448
+000000090526
+000000405997
+000000120462
+000000150924
+000000489369
+000000519628
+000000319398
+000000347068
+000000189197
+000000478833
+000000513609
+000000072632
+000000222921
+000000301749
+000000074947
+000000373036
+000000145956
+000000275868
+000000328373
+000000040272
+000000404064
+000000576480
+000000281281
+000000328327
+000000221478
+000000392618
+000000291347
+000000333556
+000000281878
+000000522301
+000000095494
+000000264381
+000000382102
+000000249649
+000000033902
+000000531316
+000000243645
+000000180119
+000000440049
+000000078071
+000000230048
+000000284047
+000000288836
+000000222726
+000000145700
+000000395210
+000000115506
+000000146730
+000000507017
+000000325423
+000000465220
+000000156499
+000000027440
+000000021698
+000000419879
+000000029755
+000000056714
+000000127496
+000000150788
+000000378299
+000000034459
+000000202199
+000000537122
+000000141795
+000000448308
+000000424666
+000000505082
+000000005758
+000000526319
+000000370537
+000000215581
+000000124390
+000000446832
+000000346540
+000000404753
+000000109638
+000000067143
+000000484304
+000000571964
+000000362668
+000000112573
+000000259232
+000000346938
+000000537649
+000000475033
+000000230094
+000000385259
+000000459770
+000000380885
+000000047434
+000000556491
+000000144760
+000000381947
+000000017551
+000000092826
+000000561735
+000000001792
+000000170413
+000000173783
+000000010645
+000000048925
+000000416639
+000000110111
+000000057919
+000000011758
+000000459037
+000000221533
+000000199484
+000000288983
+000000143449
+000000352671
+000000425371
+000000228244
+000000015400
+000000519683
+000000080549
+000000196524
+000000407118
+000000542642
+000000468363
+000000206878
+000000089395
+000000066866
+000000210434
+000000085098
+000000132612
+000000305030
+000000030423
+000000523505
+000000266093
+000000040274
+000000132188
+000000362071
+000000017921
+000000041891
+000000332385
+000000193168
+000000155515
+000000301888
+000000163413
+000000233022
+000000098495
+000000518440
+000000196210
+000000562559
+000000452803
+000000416476
+000000570516
+000000105601
+000000136021
+000000199598
+000000262691
+000000000706
+000000154173
+000000425400
+000000001558
+000000512968
+000000253506
+000000364699
+000000541219
+000000507068
+000000047589
+000000000089
+000000048383
+000000562937
+000000415203
+000000146813
+000000329494
+000000539562
+000000139702
+000000133750
+000000395120
+000000469080
+000000453785
+000000303994
+000000300056
+000000209682
+000000320680
+000000393422
+000000335066
+000000164153
+000000452922
+000000102665
+000000072898
+000000447902
+000000284253
+000000252699
+000000411261
+000000183409
+000000276164
+000000480893
+000000553304
+000000312367
+000000098732
+000000562849
+000000133879
+000000402908
+000000441432
+000000413290
+000000493505
+000000189812
+000000325143
+000000201241
+000000241934
+000000215408
+000000403333
+000000445887
+000000437510
+000000078828
+000000405041
+000000461597
+000000481876
+000000438429
+000000039395
+000000082464
+000000305253
+000000084200
+000000523560
+000000473124
+000000229990
+000000209015
+000000126534
+000000477336
+000000489099
+000000056327
+000000277165
+000000352917
+000000241431
+000000355413
+000000053907
+000000514607
+000000356052
+000000155035
+000000299367
+000000188520
+000000199390
+000000027840
+000000198255
+000000320098
+000000112887
+000000207797
+000000523565
+000000488775
+000000357830
+000000375737
+000000343968
+000000204536
+000000277563
+000000571596
+000000280865
+000000320182
+000000044039
+000000574232
+000000468170
+000000103583
+000000104408
+000000530377
+000000075326
+000000460723
+000000559006
+000000450245
+000000257732
+000000352214
+000000462875
+000000346334
+000000533228
+000000412525
+000000189351
+000000532989
+000000554981
+000000275499
+000000186265
+000000536615
+000000203827
+000000278570
+000000471895
+000000241806
+000000494072
+000000120520
+000000506766
+000000443223
+000000534735
+000000203137
+000000332448
+000000335503
+000000295769
+000000063498
+000000174964
+000000556282
+000000365073
+000000285275
+000000257513
+000000152255
+000000342307
+000000238989
+000000487409
+000000559021
+000000316407
+000000268342
+000000353624
+000000447449
+000000079896
+000000254981
+000000112329
+000000452566
+000000426972
+000000564762
+000000410849
+000000367716
+000000443652
+000000573791
+000000228749
+000000524848
+000000098501
+000000294535
+000000240960
+000000499680
+000000489861
+000000096365
+000000458572
+000000568337
+000000420303
+000000372252
+000000450217
+000000331671
+000000330756
+000000553931
+000000385781
+000000025974
+000000230763
+000000449699
+000000483047
+000000411257
+000000414959
+000000315243
+000000284127
+000000480553
+000000125106
+000000228156
+000000521887
+000000397773
+000000389152
+000000086835
+000000266503
+000000334234
+000000347753
+000000321089
+000000118299
+000000264797
+000000161545
+000000246160
+000000232618
+000000093922
+000000093031
+000000190219
+000000538557
+000000344491
+000000249352
+000000176034
+000000162598
+000000424728
+000000003178
+000000078800
+000000101951
+000000439930
+000000262092
+000000127167
+000000158197
+000000515057
+000000426482
+000000036187
+000000110369
+000000518415
+000000319594
+000000228376
+000000344174
+000000548053
+000000474188
+000000325600
+000000275656
+000000404702
+000000517821
+000000222424
+000000291622
+000000323819
+000000401037
+000000211487
+000000171639
+000000439123
+000000258288
+000000065072
+000000454644
+000000261679
+000000246540
+000000122874
+000000163759
+000000146700
+000000072273
+000000459218
+000000321713
+000000553154
+000000123946
+000000236312
+000000578368
+000000552066
+000000382339
+000000025145
+000000044478
+000000262519
+000000508291
+000000353384
+000000263477
+000000196518
+000000322911
+000000242757
+000000480841
+000000222791
+000000574837
+000000341511
+000000149556
+000000093852
+000000362482
+000000481425
+000000466852
+000000157204
+000000146601
+000000141827
+000000358607
+000000474622
+000000411313
+000000420598
+000000436436
+000000518615
+000000162551
+000000026725
+000000307449
+000000114363
+000000165431
+000000260893
+000000127726
+000000143716
+000000487442
+000000104191
+000000000699
+000000277466
+000000379161
+000000168609
+000000442508
+000000196878
+000000319396
+000000114748
+000000272196
+000000460568
+000000479102
+000000580718
+000000120905
+000000188252
+000000283261
+000000324645
+000000149583
+000000157084
+000000386475
+000000188136
+000000527879
+000000028186
+000000003613
+000000202241
+000000214608
+000000559079
+000000323829
+000000108384
+000000365707
+000000117683
+000000570185
+000000169845
+000000152209
+000000453926
+000000043894
+000000517443
+000000372246
+000000256721
+000000439171
+000000088735
+000000568315
+000000144533
+000000293607
+000000520154
+000000568628
+000000467071
+000000002521
+000000436438
+000000175291
+000000332574
+000000345117
+000000222261
+000000223599
+000000201623
+000000306664
+000000077858
+000000353090
+000000427471
+000000403936
+000000015618
+000000564902
+000000572349
+000000030631
+000000234997
+000000065211
+000000262325
+000000062263
+000000218312
+000000330391
+000000503207
+000000181680
+000000524820
+000000071055
+000000036481
+000000426158
+000000282841
+000000253658
+000000482233
+000000497350
+000000537671
+000000458574
+000000042540
+000000339966
+000000080562
+000000296169
+000000465060
+000000456690
+000000364040
+000000556481
+000000541532
+000000471156
+000000090753
+000000074336
+000000337505
+000000469844
+000000476465
+000000541332
+000000221829
+000000579034
+000000393989
+000000300644
+000000508209
+000000072637
+000000153064
+000000501855
+000000017966
+000000176226
+000000428175
+000000494351
+000000166403
+000000026551
+000000350475
+000000104172
+000000045181
+000000576695
+000000271231
+000000104790
+000000328652
+000000424376
+000000254250
+000000261504
+000000287219
+000000348315
+000000385842
+000000243355
+000000000715
+000000304818
+000000239565
+000000495090
+000000120473
+000000510264
+000000013284
+000000508354
+000000311068
+000000150283
+000000305414
+000000379048
+000000024560
+000000425712
+000000581731
+000000358416
+000000473503
+000000085632
+000000528544
+000000343559
+000000430298
+000000469795
+000000237721
+000000137386
+000000577521
+000000008195
+000000083490
+000000122352
+000000210697
+000000270166
+000000147618
+000000447645
+000000175231
+000000266562
+000000048162
+000000145856
+000000030791
+000000281924
+000000255470
+000000087194
+000000032964
+000000538243
+000000011948
+000000533431
+000000568614
+000000460251
+000000577623
+000000219411
+000000335233
+000000041489
+000000314055
+000000466265
+000000108961
+000000048285
+000000379651
+000000075324
+000000415629
+000000398999
+000000384401
+000000403096
+000000339886
+000000459401
+000000393854
+000000268728
+000000044446
+000000096461
+000000045387
+000000092186
+000000510592
+000000527963
+000000400593
+000000078117
+000000160560
+000000466774
+000000147733
+000000553129
+000000244368
+000000414648
+000000398666
+000000553506
+000000392796
+000000538413
+000000046085
+000000322411
+000000053893
+000000282978
+000000149338
+000000067644
+000000035217
+000000569931
+000000184661
+000000274017
+000000574281
+000000020795
+000000219524
+000000466665
+000000377595
+000000441095
+000000156039
+000000161776
+000000007241
+000000462148
+000000459982
+000000233737
+000000067935
+000000048143
+000000167467
+000000526133
+000000245534
+000000180575
+000000332039
+000000441255
+000000186090
+000000192301
+000000521216
+000000209186
+000000400836
+000000215170
+000000500752
+000000539553
+000000350253
+000000274897
+000000374651
+000000098987
+000000547131
+000000526467
+000000097513
+000000577333
+000000462610
+000000241818
+000000111472
+000000260635
+000000321306
+000000182511
+000000404254
+000000113630
+000000247157
+000000535579
+000000014366
+000000166762
+000000290436
+000000551063
+000000459361
+000000375208
+000000250204
+000000232987
+000000405544
+000000174890
+000000577796
+000000189811
+000000046255
+000000364190
+000000284706
+000000346605
+000000561102
+000000096213
+000000435182
+000000443281
+000000541631
+000000091857
+000000411727
+000000162495
+000000240506
+000000191390
+000000129485
+000000212181
+000000068697
+000000069569
+000000531607
+000000014686
+000000437213
+000000024582
+000000476282
+000000006753
+000000079610
+000000150704
+000000191050
+000000491642
+000000167479
+000000363410
+000000399665
+000000519132
+000000257196
+000000126059
+000000060409
+000000157860
+000000512864
+000000345074
+000000200627
+000000050910
+000000011682
+000000469877
+000000555939
+000000524392
+000000558181
+000000344555
+000000407970
+000000143644
+000000468884
+000000117139
+000000035012
+000000472166
+000000360101
+000000491510
+000000069512
+000000189853
+000000213694
+000000029268
+000000333124
+000000205126
+000000148706
+000000559221
+000000090290
+000000288504
+000000450893
+000000226076
+000000096643
+000000045282
+000000420461
+000000482091
+000000356733
+000000424554
+000000380189
+000000480755
+000000114505
+000000176767
+000000303508
+000000176178
+000000462185
+000000528868
+000000374180
+000000046650
+000000545278
+000000540925
+000000110078
+000000500219
+000000147546
+000000283131
+000000065035
+000000278601
+000000077813
+000000395221
+000000188673
+000000298224
+000000493333
+000000345567
+000000196870
+000000088915
+000000205560
+000000301012
+000000044606
+000000087504
+000000566236
+000000310435
+000000526645
+000000428452
+000000366136
+000000449256
+000000286591
+000000483656
+000000282583
+000000325154
+000000482297
+000000435458
+000000179876
+000000018496
+000000127802
+000000472953
+000000498610
+000000323369
+000000373099
+000000222948
+000000020857
+000000395667
+000000563647
+000000482479
+000000101413
+000000234684
+000000095427
+000000203887
+000000574720
+000000310804
+000000242387
+000000205125
+000000075415
+000000183266
+000000254911
+000000479936
+000000483945
+000000242520
+000000449844
+000000324789
+000000165422
+000000244406
+000000105975
+000000338321
+000000136153
+000000337969
+000000569667
+000000313176
+000000208417
+000000568237
+000000551796
+000000488059
+000000065971
+000000496309
+000000509154
+000000436023
+000000028373
+000000079986
+000000094791
+000000523426
+000000393979
+000000222276
+000000060970
+000000095390
+000000014475
+000000305427
+000000405742
+000000026435
+000000216194
+000000327578
+000000506321
+000000437276
+000000113599
+000000141180
+000000577631
+000000132699
+000000342294
+000000125683
+000000281564
+000000350425
+000000219443
+000000520435
+000000383157
+000000181506
+000000018347
+000000058338
+000000458763
+000000512086
+000000505687
+000000334566
+000000399984
+000000147027
+000000525904
+000000377394
+000000493408
+000000030805
+000000065465
+000000058674
+000000408101
+000000191686
+000000501967
+000000023411
+000000392394
+000000136185
+000000225473
+000000158642
+000000274731
+000000281427
+000000427842
+000000340642
+000000362713
+000000573406
+000000058250
+000000529950
+000000353146
+000000157107
+000000138904
+000000168053
+000000167205
+000000209374
+000000561208
+000000001852
+000000533825
+000000528664
+000000183603
+000000455395
+000000306113
+000000581338
+000000475768
+000000469173
+000000003867
+000000230318
+000000285325
+000000234769
+000000292242
+000000065247
+000000049184
+000000458950
+000000121326
+000000579276
+000000087767
+000000416467
+000000266058
+000000503534
+000000285018
+000000535126
+000000393638
+000000225202
+000000571498
+000000421763
+000000452195
+000000353275
+000000329350
+000000404388
+000000474279
+000000025649
+000000114203
+000000510976
+000000457235
+000000520610
+000000218846
+000000561436
+000000179921
+000000397832
+000000428686
+000000538861
+000000400847
+000000245825
+000000213023
+000000351787
+000000202918
+000000017429
+000000559565
+000000134268
+000000015274
+000000192009
+000000558541
+000000221330
+000000392458
+000000201035
+000000043266
+000000063508
+000000329733
+000000103865
+000000534564
+000000526754
+000000074544
+000000248227
+000000076244
+000000536292
+000000370170
+000000581220
+000000201758
+000000134288
+000000547155
+000000154530
+000000100128
+000000558700
+000000337219
+000000540354
+000000265629
+000000394974
+000000110776
+000000170017
+000000168114
+000000291117
+000000246089
+000000241248
+000000224878
+000000313727
+000000160243
+000000384901
+000000565220
+000000003270
+000000284599
+000000017152
+000000442099
+000000100926
+000000534548
+000000208724
+000000114274
+000000528972
+000000460866
+000000451706
+000000558927
+000000289712
+000000198508
+000000401919
+000000414111
+000000563873
+000000419334
+000000331314
+000000172276
+000000317995
+000000310897
+000000256061
+000000050018
+000000190185
+000000543557
+000000122007
+000000265631
+000000552919
+000000392480
+000000032665
+000000494998
+000000176592
+000000138155
+000000102333
+000000460168
+000000433472
+000000131016
+000000115191
+000000461669
+000000411792
+000000439995
+000000039406
+000000421734
+000000109826
+000000327367
+000000305738
+000000158233
+000000381832
+000000503077
+000000452014
+000000161854
+000000490711
+000000029484
+000000078716
+000000450558
+000000004318
+000000215803
+000000574059
+000000030764
+000000287842
+000000371598
+000000447147
+000000200945
+000000240211
+000000152677
+000000039814
+000000473896
+000000275837
+000000428191
+000000082083
+000000361193
+000000355088
+000000068502
+000000223950
+000000359375
+000000298893
+000000231049
+000000188922
+000000197091
+000000071965
+000000354316
+000000429061
+000000455044
+000000401393
+000000458918
+000000168260
+000000195649
+000000505538
+000000464602
+000000163192
+000000245631
+000000379740
+000000190849
+000000254003
+000000567863
+000000063381
+000000000208
+000000232890
+000000324774
+000000083452
+000000282419
+000000330429
+000000136540
+000000568286
+000000469743
+000000538359
+000000029648
+000000399091
+000000190656
+000000399200
+000000450741
+000000439399
+000000155860
+000000366508
+000000479720
+000000008892
+000000485025
+000000064866
+000000151094
+000000120060
+000000482069
+000000015174
+000000491653
+000000147016
+000000152108
+000000235751
+000000568982
+000000001224
+000000184938
+000000428991
+000000036292
+000000265748
+000000014921
+000000042740
+000000137678
+000000548905
+000000201010
+000000232005
+000000383884
+000000519089
+000000338509
+000000467818
+000000130555
+000000542202
+000000374717
+000000439932
+000000501038
+000000553189
+000000026547
+000000322008
+000000125503
+000000077178
+000000410482
+000000010211
+000000244853
+000000020825
+000000361341
+000000423909
+000000276892
+000000187972
+000000228541
+000000273288
+000000190952
+000000478376
+000000270278
+000000318789
+000000127168
+000000301657
+000000082658
+000000451588
+000000083574
+000000295668
+000000218844
+000000101146
+000000074938
+000000118783
+000000244141
+000000257660
+000000367100
+000000298316
+000000131504
+000000543392
+000000571953
+000000127648
+000000425848
+000000102754
+000000065793
+000000195806
+000000265096
+000000484964
+000000555771
+000000018350
+000000070479
+000000573329
+000000461073
+000000574665
+000000574304
+000000016251
+000000291214
+000000268992
+000000386257
+000000120077
+000000117360
+000000566835
+000000176306
+000000402057
+000000535056
+000000497542
+000000119414
+000000556035
+000000016848
+000000334957
+000000108243
+000000384587
+000000304608
+000000562502
+000000152070
+000000190440
+000000339529
+000000130206
+000000188725
+000000348593
+000000541004
+000000565235
+000000392202
+000000189660
+000000446084
+000000413784
+000000277055
+000000417144
+000000043838
+000000212602
+000000331329
+000000246938
+000000076149
+000000520532
+000000001205
+000000000753
+000000444537
+000000533750
+000000365222
+000000541255
+000000289644
+000000488150
+000000144161
+000000114419
+000000483771
+000000401860
+000000341328
+000000091300
+000000045419
+000000285253
+000000117958
+000000351598
+000000405999
+000000193465
+000000111706
+000000417638
+000000437209
+000000322807
+000000267697
+000000129733
+000000092534
+000000483645
+000000105683
+000000439445
+000000436865
+000000466772
+000000371353
+000000560358
+000000431236
+000000571618
+000000031418
+000000417006
+000000088652
+000000043165
+000000505784
+000000383026
+000000518100
+000000494404
+000000304000
+000000485951
+000000506327
+000000489374
+000000466406
+000000564938
+000000247984
+000000548512
+000000555869
+000000070931
+000000263135
+000000217584
+000000192259
+000000457146
+000000027326
+000000433647
+000000447607
+000000246955
+000000486905
+000000070285
+000000257752
+000000155126
+000000210680
+000000159537
+000000564836
+000000310999
+000000532673
+000000532439
+000000092051
+000000173680
+000000402082
+000000554310
+000000197661
+000000180363
+000000414700
+000000396685
+000000442554
+000000065993
+000000339985
+000000574747
+000000534203
+000000531765
+000000120827
+000000074403
+000000133428
+000000129154
+000000026445
+000000488232
+000000340332
+000000392260
+000000485890
+000000254101
+000000048707
+000000048692
+000000010136
+000000571437
+000000455325
+000000421533
+000000085212
+000000148400
+000000143110
+000000009381
+000000474246
+000000143862
+000000031680
+000000227241
+000000456200
+000000149398
+000000105208
+000000433052
+000000538776
+000000188902
+000000218447
+000000064001
+000000279071
+000000211116
+000000501435
+000000260257
+000000558524
+000000412855
+000000156020
+000000008245
+000000474430
+000000513999
+000000084603
+000000524257
+000000403553
+000000569829
+000000238700
+000000142487
+000000428992
+000000425582
+000000345024
+000000574874
+000000576774
+000000136286
+000000244240
+000000421451
+000000436693
+000000384476
+000000487098
+000000221446
+000000103778
+000000416569
+000000126894
+000000401835
+000000001392
+000000361520
+000000449176
+000000479315
+000000350975
+000000552791
+000000363570
+000000232905
+000000106823
+000000147838
+000000397166
+000000103902
+000000157295
+000000109648
+000000355870
+000000055524
+000000383873
+000000132041
+000000024393
+000000176289
+000000333557
+000000351157
+000000261144
+000000523183
+000000035413
+000000399829
+000000194780
+000000543010
+000000125252
+000000463303
+000000339404
+000000143334
+000000459201
+000000375751
+000000212063
+000000255622
+000000394801
+000000193148
+000000127406
+000000244465
+000000169097
+000000147131
+000000471697
+000000000144
+000000079653
+000000323475
+000000364439
+000000146997
+000000000321
+000000040102
+000000021338
+000000259712
+000000043579
+000000426388
+000000299881
+000000460567
+000000336933
+000000518521
+000000174802
+000000476812
+000000183224
+000000075522
+000000569599
+000000494077
+000000028742
+000000143671
+000000448599
+000000263727
+000000126120
+000000186614
+000000146583
+000000129328
+000000066126
+000000566847
+000000246070
+000000504970
+000000325668
+000000275429
+000000514118
+000000127342
+000000080520
+000000382905
+000000451809
+000000341707
+000000154633
+000000440015
+000000340654
+000000522489
+000000568150
+000000315744
+000000001448
+000000282791
+000000564653
+000000015006
+000000409500
+000000416326
+000000239244
+000000425187
+000000006363
+000000259976
+000000282790
+000000215231
+000000096586
+000000555062
+000000166805
+000000344236
+000000391347
+000000124300
+000000366759
+000000504486
+000000113009
+000000077479
+000000035677
+000000511224
+000000445537
+000000038310
+000000140946
+000000071857
+000000575633
+000000212257
+000000143329
+000000358660
+000000281853
+000000456070
+000000511436
+000000466839
+000000325517
+000000097099
+000000095554
+000000228551
+000000447574
+000000204436
+000000409022
+000000105256
+000000221536
+000000431297
+000000219361
+000000146711
+000000156113
+000000565979
+000000276204
+000000138069
+000000052773
+000000481609
+000000542602
+000000179209
+000000054889
+000000310213
+000000335925
+000000173125
+000000024371
+000000198841
+000000104718
+000000075558
+000000149349
+000000347965
+000000147291
+000000182469
+000000280651
+000000189364
+000000301425
+000000018748
+000000488845
+000000195368
+000000445325
+000000365464
+000000515062
+000000404616
+000000418193
+000000174167
+000000225715
+000000044943
+000000069236
+000000293543
+000000114861
+000000506903
+000000267476
+000000164710
+000000378709
+000000552656
+000000151523
+000000068434
+000000099747
+000000562054
+000000335376
+000000299785
+000000388616
+000000572206
+000000285477
+000000533537
+000000126642
+000000043764
+000000404783
+000000478505
+000000107511
+000000142127
+000000046009
+000000438805
+000000376706
+000000447974
+000000249356
+000000140130
+000000109355
+000000558736
+000000498354
+000000047599
+000000552579
+000000430065
+000000288700
+000000514601
+000000172910
+000000199653
+000000007288
+000000247348
+000000096654
+000000564708
+000000163431
+000000104837
+000000442536
+000000534900
+000000146999
+000000246804
+000000316229
+000000062865
+000000038801
+000000517045
+000000580200
+000000412666
+000000354445
+000000232852
+000000228460
+000000337502
+000000562149
+000000146685
+000000303079
+000000029224
+000000133131
+000000301762
+000000278962
+000000024636
+000000126743
+000000289187
+000000078782
+000000550597
+000000531837
+000000022704
+000000053503
+000000263783
+000000050105
+000000130778
+000000191994
+000000039390
+000000139541
+000000017625
+000000277481
+000000138234
+000000103430
+000000167698
+000000105737
+000000145553
+000000504024
+000000359945
+000000456732
+000000163514
+000000469724
+000000074524
+000000208815
+000000383420
+000000072485
+000000569058
+000000188819
+000000059821
+000000442473
+000000375437
+000000347548
+000000155482
+000000072026
+000000523580
+000000352234
+000000443278
+000000539478
+000000077901
+000000079247
+000000504020
+000000286858
+000000408263
+000000342932
+000000303430
+000000412842
+000000174868
+000000498840
+000000003224
+000000171099
+000000485406
+000000446391
+000000055753
+000000260966
+000000008773
+000000134375
+000000132523
+000000421882
+000000581437
+000000458551
+000000360503
+000000136299
+000000218687
+000000480687
+000000173607
+000000578385
+000000580766
+000000316917
+000000358724
+000000136002
+000000186255
+000000530855
+000000416924
+000000067972
+000000019447
+000000014998
+000000168331
+000000486170
+000000406001
+000000092183
+000000116579
+000000476889
+000000252986
+000000174806
+000000332219
+000000483330
+000000389582
+000000128439
+000000313116
+000000313963
+000000549209
+000000353186
+000000489159
+000000147818
+000000386962
+000000257323
+000000450849
+000000005667
+000000207622
+000000335864
+000000140548
+000000085777
+000000004794
+000000452813
+000000506138
+000000015569
+000000445392
+000000215939
+000000042471
+000000560020
+000000580431
+000000320616
+000000244096
+000000520343
+000000516889
+000000222113
+000000191381
+000000432160
+000000024416
+000000369722
+000000406530
+000000137273
+000000275663
+000000161809
+000000571585
+000000556030
+000000309720
+000000261066
+000000087638
+000000382017
+000000326308
+000000533715
+000000247167
+000000427802
+000000535037
+000000023448
+000000425041
+000000287027
+000000423309
+000000310867
+000000110800
+000000494115
+000000411142
+000000516233
+000000421661
+000000188850
+000000352901
+000000513505
+000000232902
+000000202931
+000000435473
+000000385646
+000000065345
+000000350549
+000000437662
+000000171613
+000000161569
+000000457726
+000000322149
+000000078760
+000000575356
+000000278043
+000000204603
+000000254281
+000000535844
+000000115412
+000000146541
+000000183131
+000000309403
+000000325145
+000000432017
+000000422916
+000000076910
+000000431401
+000000453802
+000000256575
+000000171470
+000000392362
+000000240119
+000000206216
+000000548979
+000000298370
+000000357926
+000000004396
+000000155849
+000000510652
+000000135978
+000000258495
+000000528342
+000000049845
+000000075786
+000000167748
+000000324977
+000000259235
+000000244973
+000000161585
+000000173647
+000000390341
+000000417957
+000000183080
+000000397388
+000000573966
+000000501039
+000000302035
+000000095908
+000000243262
+000000338367
+000000364485
+000000211905
+000000061262
+000000436411
+000000355851
+000000424978
+000000581481
+000000398563
+000000359726
+000000007398
+000000534019
+000000292160
+000000535526
+000000120157
+000000014862
+000000101692
+000000257774
+000000309382
+000000333887
+000000052231
+000000298722
+000000101686
+000000496604
+000000558436
+000000135460
+000000006415
+000000036755
+000000466079
+000000280838
+000000165916
+000000241887
+000000416193
+000000066394
+000000267598
+000000277473
+000000411191
+000000088376
+000000555107
+000000580851
+000000268641
+000000332777
+000000215135
+000000136141
+000000346290
+000000419406
+000000368729
+000000175236
+000000083507
+000000303215
+000000519112
+000000190322
+000000282351
+000000238022
+000000358253
+000000094813
+000000363505
+000000106805
+000000098101
+000000533013
+000000299722
+000000330419
+000000252348
+000000096554
+000000008336
+000000157267
+000000014557
+000000094667
+000000321373
+000000260307
+000000043448
+000000068411
+000000435923
+000000240227
+000000091341
+000000419449
+000000115182
+000000044998
+000000557357
+000000182403
+000000322620
+000000180571
+000000542988
+000000299357
+000000171632
+000000431154
+000000304929
+000000469648
+000000425473
+000000309949
+000000348951
+000000565365
+000000510985
+000000403579
+000000237844
+000000109653
+000000298172
+000000019102
+000000118724
+000000368629
+000000015809
+000000528131
+000000166915
+000000278020
+000000129257
+000000172303
+000000501307
+000000052357
+000000080582
+000000247668
+000000283181
+000000015862
+000000075101
+000000175923
+000000068084
+000000221711
+000000041984
+000000046152
+000000103355
+000000053317
+000000545111
+000000193712
+000000003690
+000000497855
+000000003335
+000000518908
+000000341775
+000000123762
+000000015096
+000000195761
+000000544815
+000000541782
+000000317763
+000000301334
+000000042519
+000000201748
+000000527575
+000000233553
+000000302997
+000000468972
+000000273053
+000000353072
+000000503023
+000000487525
+000000102066
+000000565622
+000000453998
+000000151922
+000000326925
+000000416739
+000000480793
+000000152110
+000000356948
+000000130948
+000000111606
+000000045912
+000000085348
+000000206416
+000000063409
+000000124039
+000000069200
+000000204514
+000000151268
+000000007504
+000000286962
+000000199427
+000000258113
+000000141051
+000000282894
+000000539067
+000000233840
+000000493474
+000000125184
+000000502630
+000000428105
+000000367449
+000000538411
+000000573001
+000000394481
+000000296225
+000000162675
+000000431977
+000000357925
+000000065448
+000000450790
+000000079722
+000000228035
+000000188416
+000000414109
+000000330621
+000000239338
+000000012986
+000000415901
+000000252359
+000000110174
+000000033656
+000000253732
+000000018011
+000000529477
+000000527618
+000000133791
+000000138032
+000000207204
+000000365232
+000000502148
+000000285512
+000000539302
+000000437575
+000000447549
+000000198832
+000000025951
+000000374326
+000000427633
+000000098478
+000000576956
+000000145742
+000000017600
+000000210672
+000000087398
+000000453319
+000000478195
+000000146149
+000000176160
+000000536366
+000000528372
+000000203481
+000000034892
+000000126381
+000000404222
+000000106970
+000000097159
+000000047952
+000000464993
+000000123509
+000000574908
+000000397203
+000000419645
+000000442249
+000000116295
+000000372433
+000000507067
+000000236324
+000000311678
+000000457016
+000000272111
+000000017216
+000000570171
+000000571431
+000000509804
+000000436464
+000000354946
+000000125070
+000000342682
+000000174869
+000000267349
+000000411931
+000000051124
+000000466210
+000000029345
+000000146722
+000000381661
+000000029855
+000000336354
+000000181128
+000000402305
+000000437196
+000000325391
+000000397181
+000000325471
+000000361430
+000000497788
+000000044642
+000000320403
+000000150026
+000000143339
+000000494445
+000000147216
+000000493500
+000000044964
+000000348019
+000000199815
+000000558362
diff --git a/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20_40_test.txt b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20_40_test.txt
new file mode 100644
index 0000000..9289f05
--- /dev/null
+++ b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20_40_test.txt
@@ -0,0 +1,9952 @@
+000001
+000002
+000003
+000004
+000006
+000008
+000010
+000011
+000013
+000014
+000015
+000018
+000022
+000025
+000027
+000028
+000029
+000031
+000037
+000038
+000040
+000043
+000045
+000049
+000053
+000054
+000055
+000056
+000057
+000058
+000059
+000062
+000067
+000068
+000069
+000070
+000071
+000074
+000075
+000076
+000079
+000080
+000082
+000084
+000085
+000086
+000087
+000088
+000090
+000092
+000094
+000096
+000097
+000098
+000100
+000103
+000105
+000106
+000108
+000111
+000114
+000115
+000116
+000119
+000124
+000126
+000127
+000128
+000135
+000136
+000137
+000139
+000144
+000145
+000148
+000149
+000151
+000152
+000155
+000157
+000160
+000166
+000167
+000168
+000172
+000175
+000176
+000178
+000179
+000181
+000182
+000183
+000185
+000186
+000188
+000191
+000195
+000196
+000197
+000199
+000201
+000202
+000204
+000205
+000206
+000212
+000213
+000216
+000217
+000223
+000226
+000227
+000230
+000231
+000234
+000237
+000238
+000239
+000240
+000243
+000247
+000248
+000252
+000253
+000254
+000255
+000258
+000260
+000261
+000264
+000265
+000267
+000271
+000272
+000273
+000274
+000277
+000279
+000280
+000281
+000283
+000284
+000286
+000287
+000290
+000291
+000292
+000293
+000295
+000297
+000299
+000300
+000301
+000309
+000310
+000313
+000314
+000315
+000316
+000319
+000324
+000326
+000327
+000330
+000333
+000335
+000339
+000341
+000342
+000345
+000346
+000348
+000350
+000351
+000353
+000356
+000357
+000358
+000360
+000361
+000362
+000364
+000365
+000366
+000368
+000369
+000371
+000375
+000376
+000377
+000378
+000383
+000384
+000385
+000386
+000388
+000389
+000390
+000392
+000393
+000397
+000398
+000399
+000401
+000402
+000405
+000409
+000410
+000412
+000413
+000414
+000415
+000418
+000421
+000422
+000423
+000425
+000426
+000429
+000432
+000434
+000436
+000437
+000440
+000441
+000442
+000444
+000445
+000447
+000449
+000451
+000452
+000453
+000455
+000456
+000457
+000458
+000465
+000466
+000467
+000471
+000472
+000473
+000475
+000478
+000479
+000481
+000485
+000487
+000488
+000490
+000493
+000495
+000497
+000502
+000504
+000505
+000506
+000507
+000510
+000511
+000512
+000517
+000521
+000527
+000529
+000532
+000533
+000534
+000536
+000538
+000539
+000542
+000546
+000547
+000548
+000551
+000553
+000556
+000557
+000558
+000560
+000561
+000562
+000566
+000567
+000568
+000569
+000570
+000571
+000572
+000573
+000574
+000575
+000576
+000578
+000580
+000584
+000585
+000586
+000587
+000593
+000594
+000595
+000596
+000600
+000602
+000603
+000604
+000606
+000607
+000611
+000614
+000615
+000616
+000617
+000618
+000621
+000623
+000624
+000627
+000629
+000630
+000631
+000634
+000636
+000638
+000639
+000640
+000641
+000642
+000643
+000644
+000646
+000649
+000650
+000651
+000652
+000655
+000658
+000659
+000662
+000664
+000665
+000666
+000668
+000669
+000670
+000673
+000674
+000678
+000679
+000681
+000683
+000687
+000691
+000692
+000693
+000696
+000697
+000698
+000701
+000703
+000704
+000706
+000708
+000715
+000716
+000718
+000719
+000721
+000722
+000723
+000724
+000725
+000727
+000732
+000734
+000735
+000736
+000737
+000741
+000743
+000744
+000745
+000747
+000749
+000751
+000757
+000758
+000759
+000762
+000765
+000766
+000769
+000773
+000775
+000778
+000779
+000781
+000783
+000784
+000785
+000788
+000789
+000790
+000792
+000795
+000798
+000801
+000803
+000807
+000809
+000811
+000813
+000817
+000819
+000821
+000824
+000825
+000833
+000835
+000836
+000837
+000838
+000839
+000840
+000841
+000844
+000846
+000852
+000853
+000856
+000858
+000861
+000864
+000866
+000869
+000870
+000873
+000875
+000877
+000881
+000883
+000884
+000886
+000890
+000891
+000893
+000894
+000897
+000901
+000905
+000907
+000909
+000910
+000913
+000914
+000916
+000922
+000924
+000925
+000927
+000928
+000930
+000932
+000933
+000938
+000939
+000940
+000941
+000942
+000944
+000945
+000952
+000953
+000955
+000956
+000957
+000959
+000960
+000961
+000963
+000968
+000969
+000970
+000974
+000975
+000976
+000978
+000979
+000981
+000983
+000984
+000985
+000986
+000988
+000990
+000992
+000994
+000995
+000998
+001000
+001003
+001005
+001006
+001007
+001013
+001016
+001019
+001020
+001021
+001022
+001023
+001025
+001026
+001029
+001030
+001031
+001032
+001033
+001034
+001035
+001037
+001038
+001039
+001040
+001044
+001046
+001047
+001048
+001049
+001051
+001054
+001055
+001058
+001059
+001063
+001065
+001067
+001070
+001075
+001076
+001080
+001081
+001085
+001086
+001087
+001088
+001089
+001090
+001094
+001095
+001096
+001098
+001099
+001100
+001103
+001105
+001108
+001111
+001114
+001115
+001116
+001117
+001118
+001120
+001122
+001123
+001126
+001128
+001131
+001132
+001133
+001134
+001135
+001138
+001139
+001141
+001146
+001150
+001153
+001155
+001157
+001159
+001162
+001163
+001165
+001167
+001169
+001173
+001177
+001178
+001179
+001180
+001181
+001183
+001188
+001189
+001190
+001193
+001195
+001196
+001197
+001198
+001202
+001208
+001210
+001213
+001216
+001217
+001218
+001219
+001220
+001222
+001223
+001227
+001228
+001232
+001235
+001238
+001242
+001243
+001244
+001245
+001246
+001249
+001251
+001252
+001253
+001255
+001256
+001257
+001261
+001262
+001264
+001267
+001271
+001275
+001276
+001278
+001280
+001282
+001283
+001285
+001291
+001295
+001296
+001297
+001300
+001301
+001302
+001303
+001305
+001306
+001307
+001308
+001313
+001317
+001318
+001319
+001320
+001321
+001322
+001328
+001329
+001331
+001335
+001336
+001338
+001339
+001340
+001342
+001344
+001347
+001349
+001351
+001353
+001354
+001355
+001356
+001357
+001358
+001359
+001363
+001366
+001367
+001368
+001369
+001370
+001372
+001373
+001374
+001376
+001377
+001379
+001380
+001381
+001382
+001389
+001391
+001392
+001394
+001396
+001398
+001399
+001401
+001403
+001407
+001410
+001411
+001412
+001415
+001416
+001417
+001419
+001422
+001423
+001424
+001425
+001428
+001429
+001431
+001433
+001435
+001437
+001438
+001440
+001446
+001447
+001448
+001449
+001452
+001454
+001456
+001458
+001459
+001461
+001462
+001469
+001471
+001473
+001474
+001476
+001477
+001478
+001482
+001487
+001489
+001491
+001495
+001496
+001500
+001502
+001503
+001505
+001506
+001507
+001508
+001511
+001513
+001516
+001518
+001519
+001520
+001525
+001527
+001530
+001533
+001534
+001535
+001538
+001540
+001542
+001546
+001547
+001549
+001550
+001551
+001552
+001558
+001560
+001562
+001564
+001566
+001567
+001568
+001569
+001570
+001572
+001573
+001574
+001575
+001578
+001581
+001583
+001584
+001585
+001587
+001589
+001591
+001592
+001596
+001599
+001600
+001601
+001602
+001605
+001606
+001609
+001613
+001615
+001616
+001619
+001620
+001621
+001623
+001624
+001625
+001626
+001629
+001631
+001634
+001635
+001637
+001639
+001641
+001644
+001645
+001646
+001648
+001652
+001655
+001656
+001657
+001658
+001659
+001660
+001663
+001664
+001665
+001666
+001667
+001668
+001670
+001671
+001672
+001674
+001679
+001681
+001687
+001692
+001694
+001695
+001696
+001697
+001698
+001700
+001701
+001702
+001703
+001704
+001705
+001706
+001709
+001710
+001712
+001715
+001716
+001719
+001720
+001722
+001728
+001731
+001735
+001736
+001737
+001740
+001742
+001743
+001744
+001745
+001748
+001751
+001753
+001757
+001760
+001762
+001763
+001764
+001767
+001769
+001770
+001773
+001774
+001776
+001779
+001781
+001783
+001786
+001788
+001790
+001791
+001792
+001794
+001796
+001798
+001802
+001803
+001804
+001805
+001808
+001811
+001812
+001813
+001814
+001815
+001817
+001819
+001820
+001822
+001823
+001824
+001826
+001829
+001831
+001835
+001838
+001839
+001844
+001846
+001848
+001850
+001851
+001852
+001856
+001857
+001859
+001863
+001865
+001866
+001867
+001868
+001869
+001871
+001873
+001874
+001876
+001879
+001880
+001883
+001884
+001885
+001886
+001889
+001890
+001891
+001893
+001895
+001897
+001900
+001905
+001908
+001909
+001910
+001912
+001913
+001914
+001916
+001917
+001919
+001921
+001923
+001924
+001925
+001926
+001929
+001935
+001939
+001942
+001943
+001946
+001947
+001949
+001951
+001953
+001955
+001956
+001957
+001959
+001961
+001965
+001966
+001967
+001968
+001969
+001973
+001974
+001975
+001979
+001983
+001984
+001986
+001987
+001988
+001990
+001991
+001992
+001993
+001994
+001996
+001997
+001998
+002003
+002005
+002007
+002008
+002009
+002010
+002013
+002014
+002016
+002017
+002018
+002026
+002028
+002029
+002031
+002032
+002033
+002035
+002038
+002040
+002041
+002044
+002046
+002048
+002050
+002052
+002053
+002057
+002059
+002060
+002062
+002065
+002066
+002071
+002072
+002073
+002074
+002075
+002076
+002077
+002078
+002079
+002080
+002081
+002084
+002085
+002087
+002089
+002092
+002093
+002097
+002100
+002103
+002105
+002106
+002107
+002110
+002111
+002113
+002115
+002118
+002119
+002121
+002122
+002123
+002127
+002128
+002130
+002131
+002133
+002137
+002138
+002141
+002143
+002144
+002147
+002148
+002149
+002150
+002154
+002157
+002159
+002160
+002161
+002162
+002164
+002167
+002168
+002173
+002175
+002177
+002185
+002188
+002189
+002195
+002198
+002200
+002203
+002204
+002205
+002206
+002207
+002210
+002211
+002216
+002217
+002222
+002223
+002225
+002227
+002229
+002230
+002231
+002232
+002235
+002236
+002239
+002240
+002242
+002243
+002245
+002246
+002250
+002252
+002254
+002258
+002262
+002264
+002269
+002271
+002274
+002275
+002282
+002283
+002286
+002289
+002292
+002294
+002295
+002296
+002297
+002298
+002299
+002301
+002303
+002304
+002309
+002312
+002313
+002314
+002316
+002317
+002319
+002322
+002325
+002326
+002327
+002331
+002336
+002338
+002339
+002341
+002344
+002346
+002349
+002351
+002353
+002356
+002357
+002358
+002360
+002363
+002365
+002370
+002379
+002380
+002381
+002383
+002386
+002388
+002389
+002390
+002394
+002395
+002396
+002397
+002398
+002399
+002400
+002402
+002406
+002408
+002409
+002412
+002414
+002416
+002418
+002421
+002422
+002424
+002426
+002428
+002429
+002430
+002431
+002432
+002434
+002438
+002440
+002446
+002447
+002449
+002451
+002453
+002455
+002457
+002463
+002464
+002467
+002469
+002473
+002474
+002475
+002482
+002484
+002485
+002486
+002487
+002488
+002489
+002495
+002498
+002499
+002503
+002506
+002507
+002509
+002510
+002511
+002515
+002516
+002517
+002521
+002522
+002526
+002527
+002528
+002530
+002531
+002532
+002535
+002536
+002538
+002541
+002543
+002548
+002550
+002551
+002552
+002553
+002556
+002557
+002560
+002562
+002568
+002570
+002573
+002574
+002575
+002576
+002577
+002580
+002581
+002582
+002583
+002587
+002588
+002591
+002592
+002596
+002597
+002601
+002602
+002604
+002607
+002608
+002610
+002612
+002614
+002616
+002617
+002619
+002620
+002622
+002623
+002624
+002626
+002628
+002629
+002630
+002631
+002638
+002639
+002640
+002642
+002644
+002650
+002651
+002652
+002654
+002655
+002656
+002660
+002661
+002663
+002665
+002671
+002672
+002673
+002674
+002676
+002679
+002681
+002685
+002686
+002687
+002688
+002692
+002694
+002698
+002700
+002701
+002703
+002705
+002707
+002708
+002711
+002712
+002716
+002719
+002720
+002724
+002725
+002726
+002728
+002729
+002731
+002733
+002736
+002739
+002740
+002742
+002743
+002746
+002748
+002750
+002752
+002753
+002754
+002756
+002758
+002761
+002764
+002768
+002769
+002770
+002771
+002773
+002777
+002780
+002781
+002787
+002788
+002789
+002790
+002792
+002793
+002797
+002799
+002802
+002805
+002806
+002808
+002809
+002811
+002813
+002814
+002818
+002819
+002821
+002822
+002823
+002824
+002825
+002828
+002829
+002830
+002831
+002832
+002837
+002839
+002840
+002843
+002846
+002849
+002850
+002851
+002852
+002853
+002856
+002857
+002860
+002861
+002862
+002863
+002865
+002871
+002872
+002874
+002876
+002877
+002878
+002882
+002883
+002885
+002887
+002888
+002890
+002892
+002894
+002895
+002897
+002898
+002900
+002902
+002903
+002904
+002905
+002907
+002908
+002909
+002911
+002918
+002920
+002921
+002922
+002923
+002925
+002926
+002927
+002928
+002929
+002930
+002936
+002945
+002948
+002949
+002950
+002951
+002955
+002959
+002961
+002964
+002968
+002970
+002971
+002972
+002973
+002974
+002979
+002980
+002981
+002982
+002983
+002985
+002991
+002993
+002996
+002997
+002998
+002999
+003001
+003006
+003010
+003012
+003014
+003016
+003018
+003019
+003020
+003022
+003025
+003026
+003029
+003030
+003033
+003035
+003036
+003037
+003040
+003041
+003043
+003046
+003048
+003049
+003050
+003052
+003055
+003059
+003060
+003062
+003067
+003068
+003069
+003070
+003071
+003073
+003075
+003076
+003079
+003080
+003081
+003084
+003087
+003091
+003095
+003096
+003097
+003099
+003101
+003104
+003109
+003111
+003113
+003114
+003115
+003119
+003123
+003125
+003128
+003130
+003131
+003132
+003136
+003139
+003141
+003143
+003144
+003148
+003151
+003152
+003153
+003156
+003158
+003160
+003166
+003167
+003168
+003171
+003172
+003173
+003174
+003179
+003180
+003182
+003187
+003190
+003191
+003192
+003193
+003196
+003197
+003198
+003201
+003203
+003206
+003208
+003209
+003212
+003215
+003217
+003220
+003221
+003222
+003224
+003225
+003226
+003227
+003230
+003232
+003234
+003235
+003237
+003238
+003241
+003245
+003246
+003248
+003249
+003251
+003252
+003257
+003263
+003264
+003265
+003266
+003267
+003268
+003275
+003276
+003277
+003278
+003281
+003283
+003286
+003287
+003288
+003289
+003291
+003295
+003297
+003298
+003302
+003304
+003305
+003306
+003309
+003310
+003312
+003314
+003315
+003317
+003318
+003319
+003321
+003322
+003323
+003324
+003326
+003328
+003329
+003332
+003333
+003334
+003340
+003341
+003342
+003345
+003346
+003347
+003348
+003352
+003353
+003357
+003358
+003361
+003364
+003366
+003368
+003371
+003372
+003375
+003378
+003381
+003383
+003384
+003385
+003387
+003388
+003389
+003393
+003394
+003399
+003400
+003402
+003405
+003409
+003411
+003414
+003418
+003423
+003426
+003427
+003428
+003431
+003432
+003434
+003437
+003438
+003440
+003442
+003445
+003446
+003447
+003448
+003454
+003456
+003457
+003459
+003460
+003463
+003467
+003471
+003472
+003473
+003474
+003475
+003476
+003478
+003479
+003480
+003481
+003482
+003483
+003485
+003486
+003488
+003490
+003494
+003495
+003498
+003501
+003502
+003503
+003504
+003505
+003507
+003512
+003513
+003514
+003515
+003517
+003520
+003523
+003526
+003527
+003531
+003532
+003533
+003534
+003535
+003538
+003540
+003541
+003542
+003543
+003544
+003545
+003547
+003552
+003553
+003557
+003558
+003559
+003560
+003561
+003562
+003563
+003568
+003569
+003570
+003571
+003572
+003573
+003574
+003578
+003579
+003581
+003582
+003583
+003584
+003590
+003591
+003592
+003595
+003598
+003600
+003601
+003602
+003607
+003610
+003612
+003613
+003615
+003616
+003617
+003619
+003624
+003626
+003630
+003631
+003633
+003637
+003641
+003643
+003647
+003649
+003650
+003652
+003653
+003659
+003661
+003665
+003666
+003668
+003670
+003672
+003676
+003677
+003680
+003682
+003683
+003686
+003687
+003689
+003692
+003693
+003697
+003701
+003702
+003707
+003710
+003712
+003715
+003716
+003718
+003719
+003720
+003723
+003724
+003725
+003726
+003728
+003730
+003731
+003733
+003734
+003736
+003737
+003738
+003739
+003741
+003742
+003744
+003745
+003746
+003747
+003755
+003756
+003757
+003761
+003762
+003764
+003765
+003766
+003768
+003769
+003770
+003771
+003775
+003776
+003777
+003778
+003782
+003785
+003787
+003789
+003794
+003795
+003799
+003800
+003801
+003802
+003804
+003805
+003810
+003812
+003813
+003815
+003816
+003819
+003822
+003823
+003825
+003829
+003831
+003832
+003833
+003836
+003839
+003840
+003841
+003842
+003843
+003850
+003851
+003852
+003853
+003854
+003858
+003862
+003864
+003867
+003870
+003873
+003875
+003878
+003880
+003881
+003882
+003883
+003884
+003888
+003892
+003893
+003894
+003896
+003897
+003900
+003901
+003902
+003903
+003904
+003906
+003908
+003909
+003910
+003914
+003916
+003917
+003920
+003922
+003925
+003927
+003928
+003929
+003930
+003931
+003933
+003934
+003938
+003940
+003942
+003943
+003944
+003950
+003951
+003952
+003955
+003958
+003959
+003962
+003964
+003967
+003968
+003972
+003975
+003976
+003977
+003978
+003980
+003981
+003982
+003985
+003989
+003995
+003999
+004000
+004001
+004002
+004004
+004006
+004007
+004018
+004021
+004022
+004024
+004026
+004027
+004029
+004030
+004032
+004036
+004038
+004040
+004041
+004042
+004043
+004044
+004045
+004048
+004049
+004050
+004053
+004054
+004055
+004056
+004059
+004061
+004062
+004063
+004064
+004065
+004068
+004070
+004071
+004072
+004074
+004078
+004079
+004080
+004081
+004083
+004084
+004086
+004088
+004090
+004094
+004096
+004097
+004098
+004099
+004101
+004103
+004104
+004107
+004109
+004112
+004114
+004115
+004116
+004118
+004119
+004123
+004124
+004125
+004126
+004127
+004128
+004130
+004132
+004134
+004139
+004144
+004147
+004151
+004153
+004154
+004155
+004156
+004157
+004159
+004160
+004161
+004162
+004165
+004166
+004167
+004172
+004173
+004175
+004176
+004177
+004179
+004180
+004181
+004182
+004183
+004184
+004187
+004188
+004197
+004198
+004199
+004202
+004206
+004207
+004208
+004210
+004211
+004213
+004214
+004216
+004217
+004218
+004219
+004222
+004225
+004226
+004227
+004233
+004234
+004235
+004236
+004238
+004240
+004243
+004245
+004248
+004249
+004250
+004251
+004252
+004254
+004260
+004261
+004262
+004266
+004267
+004268
+004276
+004277
+004278
+004282
+004285
+004288
+004289
+004290
+004294
+004297
+004299
+004301
+004302
+004305
+004306
+004308
+004309
+004311
+004313
+004314
+004316
+004317
+004319
+004320
+004324
+004328
+004330
+004332
+004334
+004335
+004336
+004337
+004340
+004342
+004343
+004344
+004348
+004350
+004353
+004355
+004357
+004358
+004362
+004363
+004366
+004373
+004374
+004375
+004377
+004378
+004381
+004382
+004383
+004385
+004388
+004393
+004394
+004395
+004398
+004399
+004400
+004401
+004402
+004403
+004406
+004407
+004408
+004410
+004412
+004413
+004414
+004415
+004416
+004417
+004418
+004419
+004420
+004422
+004425
+004426
+004427
+004428
+004431
+004435
+004440
+004442
+004443
+004444
+004445
+004447
+004448
+004449
+004451
+004453
+004454
+004456
+004458
+004460
+004461
+004462
+004465
+004467
+004469
+004472
+004473
+004475
+004476
+004477
+004478
+004480
+004482
+004483
+004485
+004486
+004489
+004491
+004492
+004497
+004501
+004503
+004504
+004505
+004506
+004511
+004513
+004515
+004516
+004521
+004522
+004523
+004525
+004529
+004531
+004533
+004534
+004536
+004538
+004541
+004543
+004545
+004546
+004547
+004550
+004554
+004556
+004557
+004559
+004560
+004561
+004564
+004567
+004568
+004569
+004572
+004573
+004575
+004577
+004578
+004580
+004582
+004583
+004586
+004589
+004590
+004593
+004594
+004596
+004598
+004599
+004602
+004603
+004608
+004610
+004613
+004614
+004615
+004616
+004617
+004619
+004620
+004621
+004624
+004629
+004633
+004635
+004637
+004638
+004639
+004640
+004641
+004642
+004645
+004646
+004650
+004657
+004658
+004659
+004661
+004663
+004664
+004665
+004666
+004667
+004668
+004669
+004670
+004677
+004678
+004680
+004681
+004684
+004688
+004690
+004695
+004696
+004697
+004698
+004700
+004703
+004704
+004709
+004711
+004712
+004713
+004716
+004717
+004720
+004721
+004724
+004725
+004726
+004728
+004729
+004730
+004731
+004733
+004734
+004736
+004738
+004739
+004740
+004741
+004744
+004745
+004749
+004751
+004752
+004755
+004756
+004757
+004758
+004759
+004762
+004763
+004764
+004765
+004766
+004767
+004769
+004771
+004772
+004774
+004775
+004778
+004780
+004781
+004784
+004787
+004791
+004795
+004798
+004800
+004802
+004803
+004804
+004806
+004807
+004809
+004810
+004811
+004813
+004817
+004819
+004820
+004821
+004822
+004824
+004827
+004829
+004833
+004835
+004838
+004843
+004844
+004845
+004847
+004851
+004853
+004854
+004855
+004858
+004860
+004861
+004862
+004864
+004865
+004870
+004871
+004874
+004875
+004877
+004880
+004881
+004883
+004884
+004887
+004888
+004889
+004891
+004892
+004893
+004894
+004899
+004900
+004901
+004904
+004906
+004908
+004909
+004914
+004915
+004917
+004918
+004919
+004920
+004921
+004922
+004923
+004924
+004925
+004927
+004930
+004932
+004933
+004934
+004937
+004940
+004941
+004942
+004944
+004945
+004947
+004949
+004952
+004957
+004959
+004964
+004965
+004969
+004970
+004971
+004975
+004978
+004979
+004980
+004981
+004988
+004989
+004993
+004996
+005000
+005002
+005005
+005008
+005009
+005010
+005011
+005012
+005013
+005015
+005017
+005019
+005021
+005022
+005025
+005030
+005031
+005034
+005035
+005038
+005040
+005041
+005043
+005044
+005046
+005048
+005049
+005050
+005051
+005053
+005059
+005060
+005066
+005069
+005070
+005074
+005075
+005076
+005080
+005082
+005083
+005087
+005088
+005089
+005091
+005092
+005095
+005096
+005098
+005099
+005100
+005103
+005105
+005106
+005109
+005112
+005113
+005115
+005117
+005118
+005119
+005120
+005123
+005125
+005126
+005127
+005132
+005133
+005137
+005139
+005140
+005141
+005142
+005147
+005148
+005149
+005151
+005152
+005154
+005155
+005157
+005158
+005162
+005163
+005164
+005165
+005166
+005167
+005170
+005172
+005174
+005178
+005180
+005182
+005184
+005187
+005188
+005192
+005193
+005194
+005196
+005197
+005198
+005200
+005201
+005204
+005205
+005206
+005207
+005211
+005213
+005216
+005218
+005221
+005225
+005226
+005227
+005228
+005232
+005233
+005234
+005235
+005237
+005238
+005240
+005241
+005243
+005247
+005249
+005250
+005251
+005252
+005255
+005256
+005261
+005265
+005266
+005271
+005272
+005275
+005276
+005277
+005279
+005280
+005282
+005284
+005286
+005287
+005289
+005291
+005294
+005295
+005296
+005299
+005300
+005301
+005302
+005308
+005309
+005313
+005316
+005317
+005321
+005322
+005323
+005324
+005329
+005330
+005332
+005333
+005334
+005335
+005339
+005341
+005342
+005347
+005353
+005354
+005356
+005357
+005359
+005361
+005362
+005364
+005366
+005372
+005375
+005376
+005377
+005381
+005382
+005386
+005390
+005392
+005394
+005399
+005400
+005401
+005402
+005403
+005409
+005411
+005412
+005415
+005422
+005425
+005426
+005427
+005428
+005432
+005435
+005437
+005442
+005443
+005444
+005446
+005447
+005449
+005452
+005456
+005458
+005459
+005460
+005462
+005463
+005464
+005466
+005468
+005472
+005473
+005474
+005476
+005477
+005479
+005480
+005482
+005484
+005488
+005490
+005491
+005492
+005493
+005494
+005495
+005498
+005500
+005501
+005502
+005503
+005504
+005505
+005506
+005512
+005513
+005516
+005520
+005523
+005525
+005528
+005529
+005532
+005533
+005534
+005537
+005538
+005540
+005543
+005545
+005546
+005548
+005551
+005553
+005555
+005556
+005557
+005558
+005560
+005561
+005562
+005564
+005565
+005567
+005569
+005570
+005571
+005572
+005575
+005578
+005580
+005581
+005587
+005589
+005594
+005595
+005596
+005597
+005598
+005602
+005604
+005607
+005610
+005612
+005616
+005617
+005619
+005621
+005622
+005623
+005626
+005627
+005628
+005632
+005633
+005634
+005635
+005638
+005642
+005643
+005646
+005649
+005650
+005651
+005656
+005659
+005661
+005663
+005665
+005666
+005667
+005670
+005671
+005673
+005675
+005677
+005678
+005681
+005683
+005684
+005688
+005689
+005690
+005691
+005692
+005694
+005698
+005703
+005706
+005707
+005708
+005709
+005711
+005712
+005717
+005720
+005721
+005722
+005724
+005725
+005726
+005727
+005733
+005734
+005737
+005739
+005744
+005745
+005746
+005748
+005750
+005751
+005753
+005754
+005758
+005759
+005763
+005766
+005767
+005770
+005771
+005772
+005774
+005775
+005776
+005777
+005778
+005785
+005787
+005792
+005793
+005795
+005797
+005798
+005800
+005801
+005802
+005804
+005807
+005808
+005809
+005810
+005816
+005820
+005822
+005823
+005827
+005832
+005833
+005834
+005835
+005837
+005842
+005844
+005846
+005847
+005848
+005849
+005855
+005857
+005858
+005862
+005865
+005866
+005869
+005870
+005871
+005872
+005876
+005880
+005882
+005883
+005886
+005887
+005890
+005891
+005892
+005896
+005898
+005900
+005902
+005904
+005907
+005913
+005915
+005916
+005921
+005922
+005924
+005925
+005926
+005927
+005929
+005931
+005932
+005933
+005934
+005935
+005936
+005937
+005939
+005941
+005942
+005943
+005944
+005945
+005946
+005949
+005950
+005953
+005955
+005957
+005958
+005959
+005962
+005965
+005966
+005967
+005969
+005972
+005973
+005974
+005976
+005977
+005978
+005982
+005986
+005987
+005993
+005994
+005997
+005999
+006002
+006003
+006006
+006007
+006008
+006010
+006013
+006014
+006015
+006016
+006017
+006019
+006021
+006022
+006024
+006031
+006032
+006034
+006036
+006037
+006039
+006040
+006044
+006047
+006048
+006049
+006050
+006051
+006052
+006053
+006054
+006056
+006057
+006059
+006060
+006063
+006064
+006068
+006072
+006075
+006076
+006077
+006080
+006081
+006082
+006083
+006085
+006086
+006087
+006090
+006092
+006093
+006094
+006099
+006101
+006102
+006106
+006109
+006110
+006112
+006113
+006114
+006115
+006116
+006118
+006119
+006121
+006122
+006126
+006127
+006132
+006137
+006138
+006142
+006143
+006144
+006145
+006147
+006149
+006152
+006154
+006155
+006157
+006160
+006164
+006165
+006167
+006168
+006169
+006173
+006178
+006182
+006186
+006191
+006192
+006193
+006194
+006195
+006197
+006199
+006200
+006204
+006205
+006207
+006211
+006213
+006217
+006226
+006227
+006228
+006231
+006232
+006237
+006239
+006242
+006244
+006245
+006246
+006248
+006253
+006255
+006256
+006257
+006263
+006265
+006266
+006268
+006271
+006273
+006274
+006278
+006280
+006283
+006287
+006288
+006292
+006293
+006294
+006297
+006298
+006302
+006303
+006307
+006308
+006310
+006311
+006312
+006313
+006315
+006316
+006317
+006322
+006324
+006326
+006327
+006328
+006331
+006332
+006333
+006334
+006336
+006340
+006342
+006343
+006345
+006347
+006354
+006356
+006358
+006359
+006360
+006361
+006364
+006365
+006368
+006370
+006372
+006373
+006376
+006378
+006379
+006380
+006383
+006384
+006386
+006388
+006389
+006390
+006393
+006394
+006397
+006399
+006401
+006402
+006403
+006405
+006406
+006407
+006408
+006410
+006412
+006413
+006414
+006415
+006416
+006420
+006422
+006423
+006426
+006431
+006432
+006435
+006439
+006441
+006446
+006451
+006452
+006453
+006454
+006457
+006460
+006461
+006464
+006467
+006469
+006471
+006477
+006478
+006479
+006481
+006485
+006487
+006489
+006490
+006491
+006493
+006494
+006496
+006498
+006500
+006502
+006504
+006505
+006508
+006510
+006511
+006513
+006514
+006516
+006517
+006518
+006521
+006522
+006525
+006526
+006527
+006528
+006531
+006533
+006535
+006537
+006539
+006540
+006541
+006544
+006545
+006546
+006552
+006554
+006555
+006557
+006558
+006559
+006561
+006563
+006566
+006567
+006568
+006571
+006573
+006574
+006577
+006579
+006580
+006581
+006582
+006586
+006589
+006590
+006591
+006592
+006594
+006596
+006598
+006600
+006601
+006604
+006607
+006608
+006613
+006614
+006615
+006616
+006620
+006623
+006624
+006629
+006630
+006633
+006634
+006639
+006640
+006641
+006642
+006644
+006646
+006649
+006650
+006651
+006653
+006655
+006656
+006659
+006662
+006663
+006665
+006669
+006672
+006675
+006676
+006680
+006683
+006685
+006686
+006688
+006691
+006692
+006693
+006700
+006701
+006705
+006710
+006711
+006712
+006713
+006715
+006716
+006717
+006720
+006721
+006723
+006724
+006728
+006729
+006732
+006733
+006737
+006741
+006742
+006743
+006744
+006745
+006746
+006749
+006750
+006752
+006754
+006756
+006757
+006758
+006763
+006764
+006767
+006770
+006771
+006774
+006775
+006776
+006778
+006779
+006780
+006785
+006787
+006788
+006790
+006791
+006792
+006793
+006795
+006796
+006798
+006801
+006804
+006807
+006809
+006811
+006812
+006815
+006816
+006817
+006818
+006820
+006823
+006826
+006830
+006831
+006832
+006834
+006837
+006843
+006846
+006851
+006853
+006854
+006856
+006857
+006861
+006863
+006870
+006871
+006872
+006873
+006875
+006877
+006879
+006881
+006882
+006885
+006888
+006889
+006890
+006891
+006894
+006895
+006897
+006898
+006901
+006902
+006904
+006905
+006906
+006907
+006913
+006915
+006920
+006921
+006923
+006925
+006926
+006927
+006928
+006929
+006936
+006937
+006938
+006941
+006942
+006946
+006951
+006954
+006955
+006957
+006960
+006961
+006964
+006967
+006969
+006970
+006973
+006974
+006975
+006977
+006978
+006979
+006980
+006982
+006984
+006985
+006986
+006991
+006992
+006993
+006996
+006997
+006998
+006999
+007000
+007001
+007005
+007010
+007012
+007013
+007014
+007015
+007017
+007019
+007024
+007026
+007027
+007028
+007030
+007032
+007034
+007037
+007041
+007043
+007044
+007047
+007051
+007053
+007055
+007057
+007060
+007061
+007063
+007066
+007067
+007069
+007076
+007081
+007082
+007083
+007085
+007087
+007091
+007094
+007096
+007098
+007099
+007102
+007103
+007106
+007107
+007110
+007111
+007112
+007115
+007116
+007118
+007119
+007120
+007124
+007126
+007127
+007131
+007134
+007135
+007136
+007137
+007142
+007143
+007145
+007151
+007155
+007156
+007157
+007158
+007160
+007161
+007164
+007169
+007170
+007171
+007173
+007175
+007176
+007178
+007179
+007181
+007183
+007186
+007188
+007190
+007192
+007195
+007196
+007198
+007199
+007201
+007202
+007203
+007206
+007207
+007209
+007218
+007220
+007221
+007225
+007226
+007228
+007229
+007231
+007232
+007233
+007235
+007237
+007238
+007239
+007240
+007242
+007246
+007248
+007251
+007252
+007253
+007254
+007255
+007257
+007262
+007264
+007265
+007267
+007268
+007269
+007272
+007273
+007277
+007278
+007281
+007282
+007286
+007287
+007288
+007290
+007291
+007293
+007301
+007303
+007304
+007306
+007307
+007309
+007310
+007312
+007313
+007315
+007316
+007317
+007319
+007320
+007321
+007324
+007326
+007328
+007331
+007332
+007333
+007335
+007337
+007338
+007339
+007340
+007341
+007342
+007345
+007347
+007348
+007349
+007352
+007353
+007354
+007355
+007357
+007358
+007360
+007362
+007364
+007366
+007367
+007368
+007371
+007377
+007378
+007379
+007380
+007382
+007384
+007386
+007387
+007391
+007392
+007393
+007395
+007397
+007399
+007400
+007401
+007402
+007403
+007404
+007405
+007406
+007407
+007409
+007412
+007415
+007418
+007420
+007423
+007426
+007428
+007429
+007430
+007434
+007440
+007441
+007442
+007444
+007447
+007450
+007452
+007453
+007455
+007456
+007459
+007462
+007463
+007464
+007469
+007471
+007472
+007473
+007476
+007478
+007485
+007487
+007488
+007492
+007494
+007495
+007496
+007499
+007500
+007501
+007502
+007504
+007505
+007507
+007508
+007509
+007510
+007512
+007514
+007515
+007516
+007518
+007520
+007522
+007529
+007531
+007532
+007534
+007539
+007541
+007542
+007545
+007548
+007549
+007550
+007552
+007553
+007554
+007556
+007557
+007560
+007561
+007562
+007564
+007567
+007569
+007573
+007574
+007577
+007580
+007581
+007582
+007583
+007584
+007587
+007588
+007589
+007591
+007593
+007595
+007596
+007597
+007598
+007599
+007602
+007604
+007607
+007608
+007609
+007610
+007613
+007616
+007617
+007620
+007623
+007625
+007627
+007628
+007630
+007632
+007634
+007635
+007636
+007638
+007641
+007643
+007644
+007645
+007646
+007648
+007651
+007652
+007658
+007659
+007660
+007661
+007665
+007669
+007674
+007676
+007681
+007684
+007686
+007689
+007690
+007693
+007695
+007698
+007700
+007701
+007703
+007706
+007707
+007708
+007710
+007711
+007714
+007716
+007717
+007719
+007722
+007725
+007726
+007728
+007730
+007733
+007734
+007737
+007738
+007739
+007741
+007744
+007747
+007750
+007752
+007755
+007756
+007757
+007759
+007761
+007764
+007766
+007769
+007770
+007771
+007774
+007778
+007780
+007782
+007783
+007784
+007785
+007787
+007788
+007789
+007792
+007794
+007796
+007797
+007800
+007801
+007802
+007804
+007805
+007806
+007807
+007808
+007811
+007816
+007817
+007818
+007822
+007823
+007825
+007827
+007828
+007829
+007830
+007832
+007835
+007837
+007839
+007842
+007844
+007846
+007848
+007849
+007850
+007851
+007852
+007858
+007860
+007861
+007862
+007866
+007867
+007870
+007871
+007874
+007875
+007879
+007880
+007881
+007882
+007887
+007888
+007891
+007892
+007893
+007894
+007895
+007896
+007903
+007904
+007906
+007907
+007912
+007913
+007917
+007918
+007922
+007927
+007929
+007930
+007934
+007936
+007937
+007938
+007941
+007942
+007944
+007945
+007948
+007949
+007951
+007952
+007955
+007957
+007960
+007961
+007962
+007965
+007966
+007967
+007969
+007972
+007973
+007975
+007977
+007978
+007981
+007982
+007983
+007985
+007986
+007988
+007989
+007990
+007992
+007993
+007994
+007995
+008000
+008003
+008006
+008007
+008010
+008011
+008013
+008014
+008015
+008016
+008018
+008020
+008021
+008022
+008025
+008027
+008028
+008030
+008034
+008035
+008038
+008039
+008041
+008045
+008046
+008047
+008050
+008052
+008054
+008055
+008056
+008058
+008059
+008065
+008066
+008070
+008071
+008073
+008074
+008077
+008078
+008080
+008081
+008088
+008089
+008090
+008092
+008094
+008097
+008099
+008102
+008104
+008109
+008110
+008111
+008113
+008114
+008118
+008119
+008120
+008123
+008124
+008126
+008128
+008129
+008131
+008133
+008134
+008135
+008136
+008143
+008145
+008146
+008147
+008148
+008149
+008152
+008153
+008154
+008155
+008156
+008157
+008158
+008161
+008162
+008165
+008167
+008170
+008172
+008176
+008178
+008179
+008181
+008182
+008183
+008184
+008185
+008187
+008192
+008193
+008194
+008195
+008196
+008198
+008201
+008205
+008206
+008207
+008210
+008212
+008214
+008215
+008217
+008219
+008221
+008227
+008228
+008230
+008231
+008233
+008234
+008237
+008238
+008239
+008240
+008242
+008243
+008245
+008246
+008247
+008249
+008255
+008256
+008257
+008259
+008264
+008265
+008266
+008267
+008270
+008271
+008273
+008274
+008276
+008277
+008278
+008283
+008286
+008287
+008288
+008289
+008290
+008291
+008298
+008303
+008304
+008305
+008308
+008309
+008314
+008321
+008324
+008325
+008328
+008330
+008331
+008333
+008334
+008337
+008339
+008340
+008343
+008344
+008347
+008348
+008350
+008352
+008353
+008354
+008356
+008357
+008358
+008361
+008362
+008363
+008366
+008367
+008369
+008371
+008373
+008375
+008377
+008378
+008379
+008380
+008382
+008383
+008389
+008392
+008393
+008394
+008395
+008396
+008399
+008400
+008401
+008402
+008404
+008405
+008406
+008407
+008408
+008411
+008412
+008414
+008417
+008418
+008419
+008420
+008421
+008428
+008431
+008432
+008435
+008436
+008439
+008440
+008441
+008446
+008447
+008448
+008451
+008455
+008457
+008458
+008459
+008460
+008463
+008464
+008469
+008471
+008473
+008474
+008476
+008479
+008480
+008481
+008486
+008487
+008488
+008489
+008490
+008491
+008493
+008496
+008497
+008500
+008501
+008504
+008505
+008507
+008508
+008510
+008511
+008515
+008516
+008520
+008525
+008527
+008528
+008531
+008532
+008537
+008538
+008539
+008540
+008543
+008544
+008545
+008546
+008547
+008548
+008551
+008552
+008554
+008555
+008560
+008561
+008563
+008565
+008566
+008567
+008569
+008570
+008571
+008574
+008575
+008577
+008578
+008579
+008580
+008583
+008589
+008590
+008591
+008593
+008594
+008597
+008598
+008599
+008600
+008603
+008605
+008609
+008611
+008613
+008614
+008616
+008619
+008622
+008623
+008625
+008626
+008627
+008629
+008630
+008631
+008632
+008634
+008637
+008640
+008641
+008642
+008643
+008646
+008648
+008649
+008650
+008651
+008652
+008656
+008657
+008658
+008659
+008660
+008661
+008662
+008664
+008666
+008668
+008669
+008671
+008672
+008673
+008674
+008675
+008677
+008678
+008679
+008681
+008682
+008684
+008685
+008686
+008689
+008693
+008694
+008696
+008697
+008700
+008703
+008704
+008705
+008707
+008708
+008711
+008712
+008714
+008715
+008719
+008721
+008724
+008726
+008729
+008734
+008735
+008736
+008737
+008740
+008743
+008745
+008746
+008751
+008754
+008758
+008761
+008762
+008763
+008765
+008767
+008774
+008777
+008778
+008779
+008780
+008781
+008782
+008785
+008786
+008787
+008788
+008789
+008791
+008792
+008795
+008797
+008798
+008800
+008802
+008803
+008804
+008807
+008808
+008812
+008816
+008818
+008820
+008821
+008824
+008825
+008827
+008828
+008829
+008830
+008832
+008834
+008839
+008842
+008844
+008845
+008846
+008850
+008851
+008852
+008853
+008855
+008857
+008860
+008861
+008863
+008864
+008866
+008868
+008869
+008870
+008875
+008877
+008881
+008882
+008887
+008889
+008893
+008894
+008895
+008896
+008897
+008898
+008899
+008901
+008902
+008903
+008904
+008906
+008907
+008908
+008910
+008912
+008915
+008916
+008918
+008922
+008924
+008925
+008928
+008934
+008935
+008937
+008938
+008941
+008945
+008946
+008947
+008949
+008950
+008952
+008954
+008956
+008957
+008959
+008963
+008964
+008972
+008974
+008977
+008981
+008984
+008986
+008990
+008991
+008992
+008993
+008994
+008996
+008998
+009001
+009003
+009008
+009009
+009010
+009011
+009012
+009013
+009014
+009017
+009021
+009023
+009025
+009026
+009028
+009030
+009031
+009033
+009038
+009040
+009041
+009043
+009044
+009046
+009047
+009050
+009052
+009054
+009055
+009056
+009057
+009061
+009062
+009065
+009067
+009069
+009070
+009071
+009074
+009075
+009076
+009077
+009081
+009082
+009083
+009084
+009088
+009090
+009092
+009093
+009095
+009096
+009097
+009101
+009102
+009103
+009104
+009107
+009109
+009110
+009111
+009115
+009118
+009119
+009120
+009122
+009124
+009125
+009127
+009130
+009132
+009134
+009135
+009137
+009139
+009140
+009142
+009143
+009145
+009146
+009149
+009152
+009154
+009156
+009158
+009164
+009165
+009167
+009169
+009170
+009171
+009172
+009176
+009182
+009183
+009188
+009190
+009198
+009199
+009201
+009203
+009204
+009206
+009207
+009210
+009211
+009216
+009217
+009219
+009220
+009222
+009223
+009225
+009226
+009228
+009229
+009231
+009232
+009233
+009234
+009235
+009237
+009240
+009241
+009243
+009248
+009253
+009256
+009257
+009258
+009260
+009261
+009262
+009263
+009264
+009265
+009266
+009267
+009274
+009275
+009276
+009277
+009280
+009284
+009292
+009293
+009294
+009297
+009298
+009300
+009301
+009302
+009304
+009305
+009310
+009311
+009313
+009314
+009317
+009319
+009320
+009321
+009322
+009328
+009329
+009332
+009335
+009338
+009340
+009341
+009344
+009345
+009346
+009352
+009353
+009355
+009356
+009357
+009360
+009361
+009363
+009364
+009366
+009367
+009369
+009370
+009372
+009376
+009379
+009380
+009381
+009383
+009384
+009385
+009387
+009390
+009391
+009395
+009396
+009397
+009399
+009400
+009402
+009403
+009404
+009415
+009416
+009423
+009425
+009426
+009427
+009428
+009430
+009431
+009435
+009436
+009441
+009442
+009444
+009447
+009449
+009450
+009451
+009452
+009453
+009462
+009467
+009471
+009473
+009474
+009475
+009478
+009482
+009483
+009485
+009486
+009487
+009489
+009492
+009493
+009495
+009498
+009501
+009503
+009505
+009506
+009509
+009510
+009511
+009513
+009514
+009521
+009522
+009525
+009529
+009530
+009534
+009535
+009536
+009538
+009539
+009544
+009547
+009548
+009552
+009553
+009554
+009555
+009556
+009559
+009561
+009563
+009564
+009569
+009570
+009572
+009574
+009575
+009578
+009581
+009582
+009583
+009589
+009590
+009592
+009593
+009594
+009595
+009599
+009601
+009602
+009604
+009606
+009607
+009608
+009610
+009612
+009616
+009622
+009624
+009625
+009626
+009628
+009630
+009631
+009632
+009633
+009635
+009639
+009640
+009642
+009643
+009645
+009646
+009648
+009651
+009652
+009653
+009657
+009660
+009661
+009662
+009663
+009665
+009669
+009672
+009673
+009674
+009675
+009677
+009680
+009682
+009683
+009688
+009689
+009690
+009694
+009696
+009697
+009701
+009704
+009705
+009708
+009714
+009715
+009716
+009720
+009722
+009723
+009725
+009727
+009728
+009730
+009731
+009736
+009739
+009740
+009741
+009742
+009744
+009750
+009751
+009752
+009753
+009757
+009759
+009760
+009765
+009766
+009768
+009769
+009770
+009771
+009775
+009777
+009779
+009782
+009783
+009784
+009786
+009787
+009788
+009791
+009793
+009795
+009798
+009799
+009802
+009803
+009804
+009806
+009811
+009812
+009814
+009815
+009817
+009818
+009820
+009821
+009824
+009826
+009827
+009829
+009835
+009837
+009838
+009840
+009843
+009844
+009846
+009847
+009849
+009850
+009853
+009854
+009856
+009857
+009861
+009864
+009866
+009871
+009873
+009875
+009876
+009883
+009885
+009888
+009889
+009890
+009891
+009892
+009893
+009895
+009899
+009901
+009903
+009906
+009907
+009909
+009910
+009912
+009914
+009915
+009916
+009919
+009921
+009922
+009924
+009925
+009927
+009928
+009929
+009930
+009931
+009933
+009934
+009936
+009937
+009941
+009943
+009948
+009951
+009952
+009953
+009956
+009957
+009960
+009962
+009963
+000000417653
+000000340898
+000000120077
+000000544719
+000000019932
+000000542350
+000000580562
+000000506534
+000000565650
+000000573546
+000000217780
+000000027439
+000000118742
+000000106043
+000000242089
+000000323959
+000000510430
+000000485865
+000000300303
+000000402794
+000000561648
+000000060196
+000000036755
+000000329217
+000000072606
+000000079247
+000000147551
+000000487286
+000000099984
+000000019719
+000000322249
+000000265233
+000000337985
+000000390571
+000000478967
+000000184161
+000000540483
+000000284771
+000000121493
+000000364006
+000000094439
+000000288472
+000000018766
+000000269704
+000000368667
+000000024294
+000000482468
+000000450741
+000000107168
+000000040926
+000000517719
+000000322777
+000000571948
+000000554978
+000000183004
+000000255741
+000000442345
+000000070261
+000000343948
+000000504020
+000000567438
+000000522061
+000000087767
+000000454039
+000000197163
+000000383470
+000000393857
+000000339105
+000000161098
+000000056240
+000000235473
+000000477410
+000000574402
+000000561750
+000000388873
+000000123765
+000000526598
+000000511075
+000000121901
+000000523527
+000000370405
+000000121110
+000000510314
+000000202880
+000000443400
+000000327624
+000000141304
+000000465092
+000000044540
+000000421469
+000000513295
+000000257117
+000000557345
+000000490638
+000000516268
+000000146237
+000000061524
+000000573954
+000000493189
+000000290137
+000000353446
+000000460403
+000000316229
+000000475441
+000000165043
+000000331419
+000000442556
+000000407593
+000000232790
+000000125539
+000000407038
+000000069312
+000000347879
+000000397673
+000000257490
+000000212646
+000000409134
+000000062831
+000000063147
+000000564580
+000000110507
+000000326639
+000000327551
+000000278763
+000000373748
+000000373021
+000000329644
+000000182215
+000000071322
+000000504396
+000000544322
+000000388374
+000000032456
+000000156370
+000000365618
+000000521472
+000000092624
+000000541264
+000000340647
+000000542502
+000000518610
+000000218155
+000000445768
+000000000312
+000000181992
+000000070754
+000000302361
+000000346310
+000000155167
+000000291214
+000000567454
+000000170017
+000000155739
+000000268938
+000000059309
+000000045655
+000000149331
+000000297872
+000000268266
+000000039779
+000000408101
+000000430476
+000000510304
+000000368442
+000000150283
+000000451356
+000000260048
+000000555309
+000000114250
+000000339453
+000000079303
+000000026622
+000000201019
+000000007643
+000000136078
+000000095258
+000000139496
+000000480861
+000000231104
+000000125063
+000000207041
+000000538879
+000000389183
+000000077187
+000000384718
+000000456876
+000000326716
+000000340612
+000000257972
+000000084821
+000000132485
+000000543376
+000000480179
+000000073591
+000000389677
+000000523766
+000000123855
+000000046883
+000000320963
+000000265414
+000000353220
+000000149464
+000000388188
+000000294002
+000000342442
+000000136415
+000000333365
+000000051076
+000000535393
+000000578713
+000000277188
+000000507668
+000000298112
+000000447726
+000000076117
+000000538938
+000000577344
+000000523735
+000000223426
+000000241797
+000000446130
+000000131731
+000000326690
+000000352305
+000000161648
+000000232051
+000000130651
+000000303232
+000000388449
+000000354291
+000000570196
+000000545447
+000000217793
+000000190150
+000000360617
+000000478029
+000000522143
+000000490160
+000000383432
+000000287535
+000000544085
+000000473741
+000000276703
+000000237284
+000000311550
+000000490978
+000000518098
+000000170968
+000000257796
+000000408815
+000000420629
+000000512923
+000000307246
+000000430583
+000000376090
+000000423804
+000000334700
+000000059114
+000000309338
+000000562393
+000000548291
+000000183210
+000000059322
+000000310242
+000000066943
+000000284860
+000000375202
+000000184578
+000000577096
+000000261272
+000000463859
+000000382652
+000000417626
+000000578482
+000000493851
+000000315861
+000000036331
+000000375802
+000000216482
+000000229885
+000000249363
+000000485187
+000000282437
+000000419378
+000000561442
+000000008290
+000000283278
+000000203062
+000000396811
+000000493000
+000000505126
+000000439781
+000000322783
+000000286388
+000000259040
+000000418885
+000000161473
+000000233977
+000000277592
+000000043609
+000000334080
+000000399784
+000000406205
+000000489358
+000000526840
+000000167479
+000000486870
+000000315622
+000000000502
+000000015839
+000000331223
+000000505510
+000000203775
+000000142826
+000000442185
+000000452027
+000000061209
+000000101033
+000000203616
+000000359722
+000000166532
+000000370986
+000000236593
+000000267950
+000000159269
+000000134327
+000000248457
+000000162717
+000000227358
+000000436992
+000000008644
+000000282316
+000000518006
+000000064962
+000000393125
+000000390017
+000000304518
+000000289027
+000000556597
+000000100594
+000000395627
+000000570693
+000000211299
+000000058483
+000000426629
+000000554860
+000000198600
+000000122194
+000000244096
+000000294491
+000000356368
+000000554316
+000000337815
+000000249656
+000000471086
+000000160276
+000000103856
+000000124390
+000000239502
+000000081317
+000000558646
+000000337711
+000000350789
+000000315160
+000000222791
+000000000071
+000000478736
+000000077118
+000000058758
+000000007174
+000000078580
+000000370417
+000000038628
+000000376017
+000000244721
+000000226518
+000000213091
+000000524838
+000000144831
+000000010211
+000000088123
+000000152470
+000000430467
+000000379462
+000000357235
+000000325684
+000000081363
+000000115292
+000000400633
+000000315992
+000000191675
+000000492123
+000000033068
+000000115681
+000000462517
+000000023821
+000000064152
+000000471507
+000000133279
+000000424219
+000000060316
+000000374340
+000000260330
+000000346290
+000000244784
+000000265597
+000000549763
+000000344669
+000000109699
+000000521245
+000000539908
+000000334997
+000000184504
+000000196664
+000000167758
+000000483142
+000000211508
+000000178911
+000000081315
+000000057308
+000000013914
+000000381858
+000000217645
+000000185646
+000000023541
+000000532673
+000000265826
+000000359030
+000000224111
+000000465163
+000000123770
+000000059641
+000000540863
+000000508207
+000000026348
+000000046356
+000000430495
+000000166126
+000000452198
+000000493828
+000000190896
+000000435750
+000000559657
+000000533253
+000000435764
+000000046761
+000000341792
+000000159740
+000000416528
+000000517780
+000000508969
+000000463628
+000000213356
+000000440811
+000000448253
+000000570246
+000000191005
+000000165162
+000000436172
+000000052368
+000000138434
+000000318464
+000000321500
+000000027352
+000000024095
+000000392394
+000000532568
+000000006874
+000000218312
+000000227845
+000000182849
+000000319136
+000000564142
+000000507091
+000000291894
+000000127214
+000000063230
+000000203870
+000000356379
+000000231471
+000000294814
+000000498354
+000000017751
+000000361309
+000000567937
+000000353906
+000000448795
+000000357289
+000000284551
+000000076971
+000000336966
+000000004978
+000000152526
+000000415665
+000000235276
+000000068789
+000000199956
+000000408243
+000000137717
+000000573885
+000000363885
+000000439963
+000000529117
+000000340876
+000000187963
+000000555296
+000000275868
+000000250372
+000000361132
+000000127304
+000000212082
+000000523183
+000000423354
+000000058735
+000000071796
+000000516623
+000000107438
+000000309114
+000000153128
+000000263135
+000000092771
+000000507334
+000000226567
+000000109212
+000000329908
+000000129599
+000000498650
+000000022309
+000000240682
+000000126869
+000000488139
+000000234938
+000000072843
+000000150196
+000000344261
+000000173142
+000000208991
+000000206231
+000000334453
+000000079733
+000000292421
+000000355657
+000000353605
+000000353384
+000000315824
+000000122460
+000000327713
+000000163879
+000000208288
+000000386189
+000000570171
+000000081544
+000000553878
+000000051948
+000000261789
+000000465018
+000000437354
+000000487038
+000000183352
+000000376875
+000000097182
+000000254808
+000000552811
+000000262285
+000000000955
+000000539436
+000000324403
+000000023677
+000000307272
+000000149892
+000000251439
+000000478857
+000000240976
+000000178017
+000000450886
+000000121235
+000000568060
+000000202329
+000000315072
+000000250210
+000000325279
+000000327281
+000000527587
+000000555365
+000000316396
+000000034920
+000000542173
+000000060730
+000000300815
+000000079490
+000000403004
+000000243000
+000000273445
+000000432201
+000000399308
+000000006589
+000000091795
+000000282372
+000000499786
+000000235200
+000000366016
+000000094455
+000000143749
+000000408333
+000000267224
+000000297921
+000000411384
+000000151291
+000000543490
+000000013574
+000000448626
+000000335411
+000000461121
+000000024699
+000000558467
+000000213546
+000000346904
+000000374685
+000000457337
+000000577065
+000000163175
+000000199390
+000000224554
+000000170309
+000000094538
+000000223121
+000000021688
+000000263467
+000000135763
+000000035796
+000000416936
+000000441387
+000000564188
+000000283163
+000000384675
+000000229566
+000000217596
+000000359472
+000000432276
+000000062200
+000000316882
+000000039598
+000000444203
+000000554442
+000000471020
+000000550543
+000000312465
+000000357003
+000000436002
+000000466774
+000000041938
+000000467911
+000000399183
+000000059110
+000000177937
+000000080928
+000000298979
+000000064425
+000000209176
+000000451940
+000000514771
+000000506007
+000000543166
+000000020825
+000000286348
+000000303541
+000000252724
+000000129313
+000000133750
+000000229605
+000000318039
+000000293304
+000000177802
+000000166076
+000000300615
+000000382951
+000000016193
+000000516224
+000000199029
+000000539478
+000000123176
+000000520996
+000000147539
+000000457555
+000000207204
+000000444382
+000000527908
+000000255197
+000000390520
+000000090020
+000000187659
+000000029287
+000000569729
+000000541550
+000000156216
+000000338688
+000000448355
+000000087743
+000000409338
+000000480652
+000000019828
+000000495542
+000000474785
+000000229832
+000000006197
+000000033888
+000000318550
+000000359751
+000000389487
+000000271588
+000000088448
+000000469658
+000000045959
+000000304654
+000000042267
+000000029252
+000000478215
+000000257673
+000000207030
+000000340445
+000000060093
+000000182895
+000000409489
+000000538001
+000000217584
+000000315348
+000000224042
+000000290259
+000000100271
+000000220819
+000000432307
+000000473468
+000000519676
+000000414202
+000000323019
+000000391016
+000000215215
+000000438805
+000000556120
+000000451501
+000000047975
+000000036501
+000000285908
+000000191806
+000000229569
+000000218606
+000000534988
+000000507313
+000000344051
+000000428460
+000000452841
+000000416240
+000000247873
+000000213895
+000000143511
+000000017613
+000000215563
+000000300189
+000000540496
+000000210057
+000000089225
+000000309883
+000000480001
+000000477470
+000000371978
+000000561931
+000000393159
+000000516167
+000000242885
+000000535981
+000000043256
+000000122303
+000000237000
+000000039553
+000000312718
+000000240123
+000000175156
+000000512731
+000000550853
+000000343229
+000000398575
+000000246717
+000000389474
+000000052145
+000000137970
+000000503385
+000000515457
+000000133237
+000000467502
+000000011324
+000000534130
+000000059527
+000000545124
+000000425578
+000000206899
+000000159525
+000000004904
+000000009231
+000000099922
+000000418565
+000000305480
+000000174167
+000000497760
+000000278922
+000000364249
+000000129995
+000000174412
+000000449310
+000000312627
+000000410855
+000000476127
+000000458365
+000000501116
+000000330408
+000000278732
+000000487191
+000000203635
+000000063644
+000000478005
+000000044524
+000000157385
+000000219313
+000000382089
+000000375130
+000000375140
+000000211935
+000000132494
+000000289212
+000000395204
+000000346678
+000000045573
+000000176249
+000000404652
+000000410110
+000000401045
+000000112440
+000000318533
+000000476499
+000000287025
+000000044491
+000000335415
+000000425644
+000000549954
+000000377394
+000000222921
+000000421681
+000000248085
+000000271999
+000000240173
+000000358462
+000000436651
+000000015895
+000000073837
+000000430551
+000000482202
+000000188718
+000000293532
+000000506062
+000000438341
+000000037205
+000000195916
+000000344702
+000000245135
+000000096983
+000000269206
+000000050101
+000000370448
+000000047293
+000000210988
+000000180179
+000000509269
+000000308167
+000000189742
+000000279511
+000000116511
+000000456453
+000000108338
+000000200727
+000000530212
+000000048143
+000000527193
+000000126610
+000000128324
+000000127204
+000000447688
+000000490055
+000000533961
+000000025060
+000000208730
+000000027756
+000000435811
+000000379936
+000000257690
+000000249688
+000000079127
+000000013414
+000000498615
+000000488004
+000000286614
+000000184862
+000000340489
+000000516214
+000000438255
+000000322376
+000000092752
+000000358359
+000000042196
+000000335033
+000000139344
+000000270593
+000000069572
+000000472226
+000000445427
+000000548593
+000000561647
+000000062661
+000000076087
+000000069733
+000000134590
+000000039978
+000000406699
+000000136846
+000000301827
+000000103230
+000000519815
+000000102665
+000000144560
+000000242695
+000000378506
+000000456344
+000000353931
+000000144357
+000000444273
+000000567863
+000000569674
+000000522807
+000000310344
+000000292907
+000000048530
+000000145411
+000000423842
+000000256250
+000000023378
+000000137281
+000000152474
+000000039390
+000000562291
+000000564938
+000000109046
+000000430681
+000000348235
+000000555318
+000000511553
+000000113150
+000000027734
+000000207913
+000000233748
+000000367788
+000000408873
+000000066505
+000000033213
+000000081611
+000000475768
+000000547192
+000000036557
+000000051866
+000000245232
+000000408660
+000000381254
+000000522315
+000000511168
+000000397599
+000000345903
+000000554934
+000000534548
+000000098394
+000000021202
+000000534723
+000000266914
+000000133314
+000000016673
+000000386766
+000000256742
+000000214698
+000000383857
+000000053345
+000000274036
+000000165053
+000000544035
+000000070685
+000000098709
+000000396317
+000000087058
+000000506439
+000000167206
+000000062263
+000000370116
+000000467311
+000000385426
+000000406033
+000000481571
+000000058281
+000000276848
+000000090501
+000000381463
+000000190407
+000000271791
+000000496411
+000000124190
+000000116732
+000000064313
+000000561303
+000000371348
+000000456629
+000000571504
+000000201732
+000000381282
+000000396165
+000000400027
+000000225055
+000000410585
+000000083260
+000000435145
+000000475238
+000000123891
+000000146685
+000000409184
+000000466132
+000000259983
+000000386194
+000000094813
+000000154119
+000000343066
+000000014514
+000000011630
+000000291980
+000000101772
+000000085962
+000000456690
+000000382905
+000000077854
+000000494346
+000000039196
+000000057866
+000000116783
+000000169893
+000000242721
+000000500650
+000000558759
+000000553867
+000000216841
+000000509504
+000000126728
+000000293720
+000000172475
+000000184330
+000000576944
+000000055955
+000000095243
+000000134194
+000000358630
+000000482740
+000000124152
+000000085867
+000000014396
+000000418989
+000000042144
+000000079460
+000000016364
+000000406071
+000000038930
+000000466263
+000000071857
+000000207282
+000000384085
+000000059666
+000000574720
+000000096157
+000000251476
+000000572055
+000000168879
+000000118783
+000000135023
+000000004212
+000000034687
+000000532744
+000000461687
+000000476005
+000000462052
+000000110000
+000000413242
+000000112951
+000000490893
+000000249909
+000000360205
+000000148274
+000000073163
+000000463615
+000000399045
+000000329939
+000000580121
+000000381947
+000000126994
+000000023361
+000000011294
+000000538843
+000000412453
+000000330993
+000000440161
+000000143110
+000000026665
+000000130528
+000000445814
+000000389721
+000000314597
+000000540899
+000000197666
+000000202810
+000000226840
+000000386497
+000000485532
+000000068049
+000000391011
+000000170327
+000000488812
+000000361108
+000000146769
+000000288000
+000000196321
+000000008179
+000000016784
+000000402980
+000000212501
+000000146202
+000000482957
+000000112757
+000000340185
+000000447487
+000000137028
+000000199003
+000000302852
+000000464111
+000000237685
+000000393744
+000000374375
+000000213174
+000000369638
+000000102307
+000000183611
+000000253693
+000000555356
+000000135411
+000000305347
+000000559701
+000000556011
+000000237090
+000000362713
+000000295336
+000000502724
+000000412613
+000000580693
+000000221322
+000000179963
+000000572427
+000000253942
+000000421539
+000000230837
+000000228442
+000000093391
+000000507819
+000000155299
+000000452186
+000000152461
+000000294244
+000000496210
+000000335975
+000000015963
+000000163759
+000000389582
+000000521201
+000000243818
+000000160317
+000000527337
+000000194679
+000000091051
+000000206377
+000000393982
+000000316152
+000000094381
+000000553056
+000000094535
+000000443006
+000000105601
+000000018425
+000000025853
+000000301405
+000000529023
+000000251062
+000000212868
+000000291321
+000000192080
+000000562721
+000000512254
+000000457651
+000000400617
+000000378912
+000000154556
+000000573635
+000000338105
+000000289889
+000000566076
+000000220686
+000000334561
+000000465095
+000000547435
+000000029170
+000000546933
+000000426538
+000000519831
+000000530888
+000000551607
+000000134346
+000000158906
+000000047151
+000000422434
+000000394974
+000000276853
+000000121326
+000000352370
+000000488154
+000000502738
+000000335085
+000000074159
+000000296128
+000000127785
+000000414819
+000000496099
+000000236332
+000000493375
+000000486013
+000000061395
+000000151651
+000000220782
+000000043353
+000000553378
+000000091747
+000000052629
+000000016931
+000000365008
+000000197335
+000000145994
+000000069549
+000000231889
+000000158878
+000000283355
+000000227554
+000000175672
+000000164036
+000000503178
+000000183811
+000000564631
+000000543203
+000000109319
+000000034749
+000000471562
+000000519089
+000000521610
+000000096057
+000000385567
+000000211317
+000000091264
+000000372412
+000000038290
+000000149890
+000000435703
+000000161515
+000000491274
+000000573875
+000000491959
+000000111811
+000000541532
+000000538957
+000000456782
+000000029711
+000000086630
+000000001869
+000000295250
+000000030588
+000000397986
+000000008603
+000000120790
+000000567801
+000000009599
+000000315607
+000000412616
+000000560235
+000000133636
+000000521917
+000000402598
+000000278899
+000000188062
+000000456037
+000000408263
+000000245717
+000000418099
+000000561861
+000000006871
+000000382261
+000000347557
+000000047198
+000000562330
+000000105280
+000000524991
+000000289821
+000000146751
+000000544288
+000000296651
+000000352828
+000000095879
+000000032193
+000000453313
+000000468178
+000000058851
+000000508015
+000000447204
+000000117969
+000000050972
+000000274613
+000000021175
+000000226363
+000000267242
+000000290600
+000000450066
+000000034972
+000000418394
+000000028690
+000000273932
+000000408098
+000000222261
+000000480280
+000000127037
+000000357626
+000000364234
+000000299409
+000000255622
+000000028976
+000000249659
+000000240764
+000000434850
+000000096185
+000000309599
+000000556481
+000000054448
+000000303387
+000000533217
+000000072810
+000000553962
+000000326475
+000000324139
+000000444571
+000000161762
+000000386762
+000000197300
+000000104814
+000000389964
+000000364956
+000000444735
+000000565608
+000000043376
+000000223004
+000000535592
+000000571774
+000000396421
+000000360449
+000000361888
+000000010495
+000000106769
+000000028758
+000000061326
+000000247368
+000000372548
+000000200143
+000000070780
+000000126687
+000000310607
+000000239728
+000000263859
+000000074430
+000000321097
+000000019239
+000000026538
+000000499719
+000000128932
+000000568687
+000000563989
+000000294284
+000000561047
+000000140073
+000000471665
+000000395584
+000000226801
+000000216952
+000000539302
+000000451359
+000000499989
+000000026365
+000000150893
+000000377854
+000000577710
+000000425061
+000000082138
+000000015346
+000000326935
+000000453517
+000000472557
+000000159075
+000000476871
+000000131579
+000000000797
+000000440894
+000000556472
+000000543264
+000000544005
+000000551952
+000000061904
+000000453646
+000000561448
+000000037358
+000000019435
+000000126983
+000000036914
+000000221833
+000000229942
+000000047395
+000000101713
+000000299024
+000000115973
+000000184698
+000000379654
+000000126272
+000000202272
+000000123862
+000000296388
+000000288724
+000000196804
+000000314725
+000000289712
+000000105291
+000000286998
+000000352188
+000000541768
+000000379014
+000000246650
+000000320508
+000000382118
+000000534756
+000000086835
+000000288262
+000000249529
+000000032367
+000000471056
+000000116894
+000000370929
+000000179154
+000000235187
+000000299654
+000000168031
+000000114203
+000000056910
+000000319469
+000000481171
+000000112240
+000000321666
+000000467685
+000000415376
+000000140512
+000000377411
+000000234785
+000000047879
+000000368626
+000000229564
+000000072740
+000000010229
+000000040348
+000000488327
+000000516945
+000000324130
+000000384188
+000000457708
+000000076026
+000000473573
+000000037548
+000000045026
+000000024393
+000000445371
+000000053369
+000000521894
+000000568115
+000000159451
+000000278535
+000000454654
+000000550104
+000000190022
+000000341218
+000000365927
+000000374107
+000000114521
+000000399269
+000000319990
+000000001999
+000000244222
+000000487783
+000000108470
+000000170425
+000000097543
+000000524773
+000000180960
+000000006447
+000000145952
+000000488232
+000000316342
+000000560440
+000000081117
+000000207056
+000000317036
+000000142426
+000000019845
+000000402847
+000000292823
+000000541223
+000000288055
+000000348483
+000000036750
+000000144814
+000000469343
+000000568554
+000000189593
+000000222426
+000000477887
+000000429602
+000000302713
+000000181876
+000000440625
+000000029194
+000000535856
+000000327575
+000000370258
+000000301236
+000000233566
+000000524216
+000000351553
+000000301238
+000000039859
+000000323020
+000000097363
+000000491272
+000000263120
+000000192594
+000000520435
+000000154995
+000000433892
+000000173365
+000000128248
+000000317476
+000000132528
+000000543332
+000000426049
+000000390684
+000000534001
+000000539746
+000000404626
+000000581717
+000000141501
+000000156784
+000000566146
+000000436835
+000000278237
+000000093571
+000000544263
+000000095096
+000000092558
+000000062337
+000000059063
+000000399249
+000000158277
+000000250385
+000000474378
+000000050480
+000000440899
+000000540642
+000000094119
+000000396581
+000000195444
+000000159203
+000000091933
+000000280515
+000000442667
+000000063820
+000000227779
+000000057068
+000000420389
+000000237390
+000000579909
+000000522034
+000000202522
+000000086797
+000000229088
+000000050727
+000000579276
+000000412545
+000000050552
+000000082140
+000000537157
+000000180387
+000000534024
+000000394021
+000000216387
+000000355534
+000000004705
+000000230129
+000000027852
+000000554767
+000000072666
+000000524369
+000000532439
+000000012986
+000000411821
+000000370739
+000000166450
+000000570755
+000000166995
+000000226091
+000000316696
+000000156396
+000000506138
+000000472065
+000000257036
+000000254150
+000000559051
+000000185448
+000000163897
+000000155376
+000000475033
+000000418761
+000000000025
+000000027108
+000000322558
+000000332078
+000000146656
+000000339469
+000000521285
+000000186615
+000000067490
+000000362498
+000000156928
+000000058462
+000000520696
+000000260275
+000000297112
+000000292962
+000000387295
+000000552571
+000000291016
+000000521357
+000000429318
+000000429818
+000000347177
+000000115404
+000000180713
+000000057671
+000000510910
+000000118330
+000000013000
+000000275115
+000000056580
+000000004760
+000000073602
+000000055715
+000000393661
+000000303257
+000000135332
+000000053898
+000000500139
+000000518816
+000000217064
+000000122213
+000000542042
+000000429491
+000000118683
+000000029508
+000000294925
+000000120478
+000000093411
+000000380959
+000000207739
+000000097195
+000000348143
+000000581726
+000000134199
+000000064708
+000000412676
+000000071409
+000000132612
+000000254392
+000000341137
+000000334216
+000000108964
+000000272857
+000000536795
+000000020039
+000000199203
+000000344238
+000000079453
+000000301012
+000000040272
+000000276575
+000000262940
+000000114087
+000000308121
+000000083906
+000000384844
+000000526594
+000000459898
+000000310181
+000000444363
+000000425052
+000000266336
+000000279747
+000000210434
+000000178550
+000000427876
+000000394739
+000000304092
+000000265070
+000000232287
+000000433168
+000000422473
+000000064507
+000000163394
+000000532159
+000000149878
+000000340109
+000000570516
+000000007506
+000000339403
+000000328350
+000000250808
+000000376785
+000000454195
+000000277319
+000000402234
+000000199150
+000000044112
+000000028389
+000000395230
+000000298290
+000000252280
+000000478386
+000000237587
+000000026323
+000000021343
+000000158798
+000000391415
+000000567186
+000000436707
+000000076912
+000000076525
+000000119423
+000000562113
+000000082263
+000000088005
+000000132689
+000000040569
+000000230014
+000000152341
+000000001171
+000000285093
+000000201405
+000000041455
+000000223612
+000000338012
+000000271063
+000000512892
+000000333412
+000000409512
+000000135545
+000000548824
+000000078410
+000000478312
+000000166864
+000000022032
+000000171753
+000000162343
+000000498960
+000000284930
+000000262098
+000000166127
+000000141224
+000000295887
+000000379070
+000000186103
+000000354445
+000000034231
+000000571955
+000000109136
+000000231381
+000000158760
+000000441212
+000000381832
+000000002209
+000000340654
+000000164141
+000000441054
+000000108677
+000000315474
+000000568110
+000000322246
+000000210642
+000000069136
+000000033329
+000000227484
+000000508931
+000000353761
+000000319160
+000000171235
+000000503715
+000000198022
+000000321195
+000000324689
+000000110374
+000000425254
+000000169849
+000000404066
+000000466265
+000000170550
+000000268185
+000000044251
+000000275830
+000000577223
+000000198477
+000000154443
+000000216790
+000000104550
+000000242642
+000000003178
+000000023351
+000000447328
+000000034827
+000000342132
+000000268570
+000000477698
+000000332411
+000000140850
+000000382046
+000000571953
+000000328783
+000000032751
+000000342688
+000000018461
+000000373341
+000000020164
+000000072133
+000000426824
+000000216103
+000000041993
+000000307379
+000000478577
+000000257451
+000000231952
+000000350331
+000000272679
+000000569096
+000000266099
+000000363415
+000000327881
+000000201903
+000000230057
+000000440729
+000000466352
+000000344038
+000000272745
+000000222948
+000000166323
+000000020398
+000000169763
+000000579568
+000000032271
+000000111660
+000000270269
+000000347042
+000000474545
+000000126701
+000000070336
+000000215600
+000000120987
+000000004318
+000000283220
+000000254267
+000000017324
+000000047700
+000000217379
+000000374785
+000000501790
+000000074573
+000000091135
+000000173451
+000000487631
+000000065028
+000000264936
+000000302298
+000000309802
+000000304347
+000000181681
+000000413723
+000000483737
+000000447842
+000000138133
+000000005362
+000000192576
+000000568647
+000000014820
+000000033017
+000000242257
+000000183249
+000000432160
+000000062020
+000000262009
+000000085288
+000000423039
+000000385316
+000000013279
+000000503401
+000000237920
+000000251318
+000000292384
+000000249429
+000000260307
+000000005111
+000000097686
+000000217108
+000000188696
+000000351787
+000000261500
+000000079268
+000000345462
+000000112737
+000000456275
+000000186201
+000000026025
+000000186578
+000000291144
+000000436882
+000000000540
+000000143758
+000000039685
+000000387150
+000000324406
+000000127093
+000000473712
+000000225191
+000000275380
+000000504673
+000000521256
+000000355796
+000000215549
+000000118997
+000000000263
+000000273918
+000000343481
+000000482407
+000000560967
+000000144453
+000000474390
+000000381008
+000000192885
+000000576191
+000000188173
+000000294545
+000000569931
+000000368044
+000000266627
+000000380949
+000000166430
+000000449529
+000000366591
+000000538451
+000000333280
+000000285214
+000000556406
+000000300558
+000000287541
+000000393557
+000000036326
+000000040056
+000000378985
+000000184763
+000000294104
+000000499621
+000000098631
+000000445982
+000000526534
+000000067563
+000000339844
+000000151848
+000000250434
+000000189404
+000000407487
+000000540858
+000000108020
+000000502604
+000000134119
+000000356083
+000000322350
+000000527597
+000000119449
+000000498610
+000000398214
+000000482626
+000000149738
+000000389378
+000000499164
+000000479399
+000000215803
+000000053716
+000000378723
+000000464787
+000000053916
+000000455015
+000000410231
+000000194203
+000000212138
+000000165094
+000000548240
+000000185373
+000000402757
+000000084440
+000000140053
+000000275837
+000000250564
+000000394352
+000000568040
+000000313286
+000000317532
+000000141994
+000000083125
+000000025972
+000000236769
+000000156985
+000000551571
+000000128168
+000000578225
+000000390083
+000000251793
+000000230345
+000000108442
+000000329919
+000000452011
+000000521726
+000000120046
+000000131400
+000000504487
+000000012620
+000000244683
+000000102668
+000000206112
+000000068212
+000000237954
+000000149228
+000000386661
+000000014880
+000000553267
+000000347224
+000000068518
+000000317274
+000000140736
+000000000753
+000000055402
+000000492671
+000000103428
+000000312220
+000000241809
+000000444464
+000000306327
+000000013517
+000000324104
+000000009673
+000000396404
+000000083725
+000000489276
+000000285679
+000000515040
+000000282791
+000000461123
+000000517018
+000000340734
+000000580041
+000000157610
+000000505343
+000000163106
+000000299641
+000000152000
+000000063123
+000000303233
+000000306535
+000000321673
+000000088967
+000000459451
+000000120088
+000000100836
+000000351428
+000000054264
+000000372983
+000000340333
+000000136453
+000000574476
+000000561027
+000000372247
+000000008006
+000000141414
+000000555668
+000000160901
+000000248481
+000000415190
+000000090867
+000000196518
+000000374649
+000000090782
+000000177468
+000000219249
+000000403020
+000000256690
+000000176732
+000000406948
+000000176316
+000000367400
+000000381729
+000000108395
+000000318722
+000000130228
+000000525248
+000000349376
+000000417577
+000000200752
+000000088835
+000000393979
+000000061867
+000000507535
+000000407349
+000000354519
+000000024629
+000000230484
+000000408556
+000000264962
+000000027105
+000000404792
+000000127647
+000000019158
+000000544856
+000000270098
+000000519365
+000000055432
+000000095320
+000000357511
+000000059735
+000000566486
+000000038177
+000000111152
+000000024023
+000000470933
+000000130733
+000000095430
+000000136539
+000000093971
+000000492075
+000000198560
+000000011146
+000000031736
+000000310473
+000000528198
+000000362973
+000000381256
+000000494404
+000000186255
+000000050355
+000000163928
+000000123757
+000000428055
+000000369568
+000000554642
+000000430298
+000000139192
+000000479200
+000000312800
+000000326824
+000000499728
+000000525691
+000000380106
+000000215320
+000000063206
+000000500664
+000000455480
+000000104381
+000000113935
+000000342660
+000000319005
+000000009709
+000000014008
+000000352861
+000000374563
+000000275603
+000000108240
+000000370790
+000000179544
+000000236349
+000000251425
+000000452381
+000000415408
+000000131533
+000000336967
+000000496081
+000000345630
+000000028957
+000000516022
+000000126021
+000000289005
+000000346562
+000000249676
+000000546133
+000000048394
+000000576464
+000000424445
+000000228460
+000000460567
+000000321059
+000000164104
+000000354631
+000000259452
+000000535978
+000000534151
+000000075898
+000000414482
+000000240241
+000000361842
+000000069121
+000000000597
+000000335683
+000000103667
+000000299010
+000000373252
+000000524628
+000000201125
+000000106397
+000000354804
+000000063446
+000000262092
+000000127743
+000000256091
+000000324483
+000000114101
+000000125298
+000000366831
+000000404781
+000000194540
+000000342323
+000000224753
+000000510915
+000000420291
+000000518551
+000000427386
+000000304015
+000000575978
+000000267951
+000000547783
+000000563739
+000000038465
+000000145369
+000000236515
+000000340422
+000000126943
+000000068620
+000000408492
+000000091858
+000000115182
+000000010759
+000000467909
+000000123053
+000000079610
+000000519112
+000000176668
+000000386525
+000000572171
+000000286745
+000000442600
+000000048630
+000000076460
+000000030418
+000000521804
+000000168239
+000000250593
+000000071093
+000000379470
+000000220339
+000000181571
+000000032682
+000000288378
+000000466024
+000000478072
+000000231341
+000000231617
+000000336445
+000000526301
+000000058640
+000000495609
+000000020052
+000000337844
+000000064510
+000000347253
+000000465835
+000000508567
+000000365514
+000000290836
+000000018864
+000000049331
+000000317391
+000000109427
+000000421596
+000000068595
+000000397863
+000000008936
+000000541514
+000000190568
+000000110258
+000000176226
+000000133741
+000000336511
+000000199354
+000000566608
+000000255842
+000000068821
+000000533751
+000000297191
+000000347460
+000000457726
+000000376283
+000000410912
+000000452263
+000000086121
+000000545749
+000000176098
+000000145820
+000000158196
+000000372250
+000000465559
+000000130032
+000000347313
+000000389255
+000000156461
+000000449152
+000000456315
+000000127603
+000000331919
+000000184355
+000000536963
+000000275028
+000000162813
+000000157465
+000000415475
+000000358555
+000000193044
+000000214719
+000000185002
+000000258000
+000000408303
+000000267552
+000000084137
+000000015485
+000000119600
+000000257988
+000000190646
+000000085036
+000000505264
+000000196610
+000000424220
+000000323468
+000000526342
+000000539141
+000000120018
+000000160848
+000000338327
+000000016466
+000000027763
+000000174312
+000000291114
+000000431426
+000000329494
+000000112845
+000000489475
+000000402357
+000000002684
+000000263883
+000000494749
+000000320353
+000000088109
+000000086901
+000000471315
+000000016664
+000000326442
+000000219633
+000000251736
+000000318467
+000000306878
+000000524392
+000000076916
+000000112040
+000000333722
+000000182423
+000000560623
+000000370678
+000000246955
+000000064157
+000000573733
+000000484180
+000000553320
+000000490741
+000000344422
+000000069860
+000000534881
+000000280024
+000000352312
+000000428761
+000000553682
+000000160927
+000000012756
+000000089999
+000000482128
+000000568469
+000000268071
+000000268231
+000000158873
+000000134242
+000000072546
+000000543291
+000000328316
+000000327502
+000000040455
+000000080406
+000000498890
+000000366021
+000000345499
+000000161873
+000000137589
+000000366262
+000000274631
+000000521059
+000000236218
+000000576422
+000000412855
+000000084495
+000000107751
+000000237207
+000000244005
+000000011818
+000000527501
+000000505113
+000000206662
+000000231786
+000000172404
+000000494240
+000000348793
+000000549287
+000000137154
+000000423637
+000000461609
+000000530377
+000000538413
+000000364992
+000000028333
+000000204536
+000000260586
+000000532085
+000000279208
+000000138148
+000000525591
+000000486009
+000000189017
+000000152197
+000000426470
+000000350988
+000000259945
+000000107542
+000000235871
+000000071526
+000000086408
+000000082565
+000000147300
+000000243090
+000000390232
+000000490670
+000000440302
+000000330088
+000000075084
+000000411184
+000000296769
+000000536781
+000000049551
+000000534107
+000000005967
+000000064961
+000000179906
+000000308659
+000000155035
+000000120935
+000000467369
+000000423448
+000000018792
+000000029913
+000000363171
+000000167693
+000000012319
+000000001737
+000000380912
+000000020392
+000000447948
+000000492727
+000000065156
+000000516768
+000000267880
+000000185432
+000000097733
+000000446603
+000000529950
+000000202587
+000000486101
+000000143661
+000000427438
+000000116656
+000000472551
+000000272940
+000000190395
+000000108541
+000000546242
+000000159707
+000000301977
+000000284018
+000000486350
+000000187732
+000000247369
+000000544395
+000000531283
+000000370749
+000000256560
+000000267704
+000000222053
+000000170850
+000000078068
+000000394159
+000000145738
+000000415500
+000000535860
+000000479711
+000000040433
+000000293689
+000000115660
+000000483442
+000000110634
+000000088513
+000000097250
+000000125266
+000000565269
+000000053893
+000000147108
+000000557023
+000000534016
+000000257617
+000000397445
+000000113812
+000000351268
+000000533603
+000000468722
+000000172059
+000000189388
+000000239520
+000000463814
+000000488789
+000000060671
+000000574114
+000000469392
+000000276015
+000000145518
+000000524676
+000000447549
+000000238525
+000000051291
+000000524471
+000000085353
+000000533171
+000000178957
+000000106585
+000000292986
+000000350040
+000000195081
+000000422286
+000000237797
+000000270070
+000000315407
+000000342887
+000000123099
+000000246958
+000000339591
+000000273106
+000000005913
+000000223342
+000000214845
+000000158372
+000000471407
+000000429505
+000000229156
+000000430710
+000000446069
+000000040201
+000000110250
+000000063873
+000000446974
+000000254009
+000000101031
+000000379760
+000000556660
+000000421406
+000000330607
+000000452695
+000000048939
+000000362312
+000000023954
+000000388824
+000000009707
+000000009060
+000000472169
+000000125684
+000000488406
+000000336900
+000000426309
+000000227241
+000000265211
+000000556638
+000000553162
+000000146824
+000000575633
+000000459342
+000000123415
+000000005745
+000000014027
+000000018513
+000000499950
+000000011188
+000000008876
+000000370235
+000000271419
+000000002315
+000000485926
+000000522959
+000000349185
+000000323797
+000000424111
+000000575005
+000000277145
+000000382631
+000000192337
+000000501540
+000000441045
+000000443513
+000000133104
+000000292283
+000000149834
+000000179953
+000000487952
+000000505530
+000000269394
+000000499391
+000000300476
+000000432414
+000000414022
+000000045710
+000000002621
+000000532445
+000000510617
+000000546632
+000000276918
+000000366295
+000000441292
+000000579700
+000000015870
+000000386788
+000000156098
+000000418113
+000000517851
+000000318564
+000000547745
+000000506901
+000000487942
+000000334743
+000000159320
+000000248948
+000000101826
+000000499693
+000000404886
+000000033489
+000000480661
+000000001501
+000000157267
+000000299923
+000000078336
+000000497736
+000000006397
+000000331076
+000000160930
+000000181697
+000000201508
+000000038238
+000000193293
+000000528731
+000000457233
+000000045663
+000000025803
+000000134502
+000000516026
+000000576902
+000000534426
+000000469786
+000000245713
+000000172148
+000000267697
+000000470411
+000000404783
+000000163666
+000000564151
+000000125160
+000000562054
+000000236389
+000000243251
+000000189245
+000000274931
+000000223909
+000000207097
+000000411313
+000000456827
+000000290511
+000000128250
+000000018975
+000000046004
+000000230150
+000000049058
+000000044937
+000000149598
+000000199719
+000000026162
+000000291683
+000000509534
+000000580200
+000000060482
+000000040283
+000000220344
+000000547431
+000000192886
+000000380171
+000000170250
+000000295398
+000000211381
+000000320374
+000000224548
+000000494466
+000000515050
+000000455698
+000000232484
+000000141201
+000000254366
+000000096315
+000000073721
+000000402425
+000000359182
+000000537526
+000000538838
+000000127710
+000000126909
+000000089166
+000000542814
+000000300032
+000000296706
+000000137385
+000000066767
+000000291038
+000000018148
+000000227667
+000000125503
+000000252382
+000000416544
+000000553793
+000000333424
+000000522438
+000000460378
+000000168609
+000000343847
+000000577632
+000000493805
+000000365703
+000000491611
+000000487953
+000000576809
+000000235600
+000000406920
+000000382717
+000000283818
+000000397518
+000000232091
+000000398525
+000000209692
+000000329963
+000000436214
+000000331535
+000000282855
+000000362198
+000000307708
+000000188727
+000000428067
+000000175867
+000000024234
+000000218647
+000000419080
+000000499353
+000000506540
+000000499007
+000000333463
+000000156171
+000000475610
+000000559271
+000000461774
+000000092631
+000000266168
+000000296996
+000000473475
+000000470057
+000000168562
+000000204674
+000000257382
+000000314574
+000000137925
+000000265324
+000000224248
+000000288700
+000000041984
+000000233614
+000000276332
+000000449011
+000000209772
+000000267088
+000000181393
+000000077979
+000000076014
+000000115816
+000000192804
+000000416193
+000000206909
+000000196413
+000000335566
+000000169883
+000000578193
+000000193621
+000000281127
+000000406657
+000000285450
+000000383213
+000000229107
+000000046805
+000000291117
+000000507362
+000000332663
+000000112938
+000000399358
+000000229142
+000000461967
+000000113112
+000000376320
+000000432686
+000000543872
+000000437575
+000000104965
+000000161503
+000000401235
+000000264256
+000000092529
+000000280787
+000000243386
+000000423209
+000000078000
+000000149440
+000000225133
+000000109265
+000000303685
+000000205206
+000000335326
+000000428340
+000000416668
+000000559656
+000000480894
+000000227724
+000000025241
+000000555673
+000000161354
+000000092514
+000000222295
+000000572475
+000000332193
+000000193166
+000000091954
+000000480752
+000000262756
+000000310240
+000000059118
+000000176263
+000000036725
+000000571553
+000000527379
+000000287651
+000000340893
+000000574059
+000000550129
+000000576505
+000000180095
+000000437034
+000000405248
+000000042135
+000000506198
+000000539419
+000000342494
+000000466020
+000000530266
+000000304240
+000000567423
+000000155097
+000000547752
+000000298956
+000000160952
+000000032252
+000000466202
+000000062250
+000000001139
+000000068125
+000000168512
+000000344171
+000000264381
+000000533808
+000000444670
+000000370634
+000000347865
+000000478738
+000000434968
+000000214150
+000000433483
+000000326073
+000000474964
+000000080582
+000000095651
+000000494248
+000000296108
+000000374337
+000000077926
+000000011948
+000000028039
+000000101091
+000000515213
+000000555446
+000000119357
+000000241407
+000000350975
+000000547796
+000000391689
+000000308327
+000000079481
+000000196307
+000000087936
+000000240423
+000000507642
+000000315156
+000000144176
+000000134474
+000000019062
+000000193046
+000000494895
+000000417596
+000000265243
+000000570807
+000000237315
+000000056190
+000000237443
+000000397479
+000000052256
+000000032301
+000000003224
+000000113504
+000000222494
+000000295233
+000000352649
+000000277048
+000000367329
+000000137661
+000000479886
+000000529087
+000000552383
+000000120670
+000000546070
+000000398220
+000000157377
+000000453545
+000000372775
+000000443646
+000000246248
+000000158977
+000000546463
+000000239697
+000000235751
+000000488345
+000000318723
+000000262376
+000000160560
+000000290719
+000000376321
+000000087697
+000000206577
+000000281394
+000000181518
+000000517975
+000000066798
+000000309100
+000000030535
+000000142746
+000000402970
+000000060018
+000000490046
+000000159542
+000000375573
+000000092425
+000000158883
+000000024693
+000000444691
+000000552142
+000000488260
+000000530535
+000000133909
+000000460145
+000000344197
+000000239254
+000000275977
+000000432723
+000000020796
+000000268577
+000000093314
+000000515022
+000000214574
+000000370783
+000000421558
+000000235522
+000000098197
+000000251860
+000000428389
+000000158863
+000000008128
+000000150932
+000000030925
+000000504013
+000000562737
+000000146722
+000000127424
+000000158899
+000000305414
+000000185549
+000000013150
+000000263400
+000000183734
+000000290570
+000000506078
+000000299089
+000000054521
+000000476282
+000000066878
+000000242096
+000000012556
+000000558318
+000000068866
+000000004278
+000000489399
+000000461339
+000000200857
+000000283530
+000000527830
+000000490535
+000000398385
+000000348247
+000000356535
+000000447999
+000000277524
+000000216393
+000000221927
+000000521953
+000000317206
+000000281052
+000000467262
+000000469977
+000000089384
+000000420066
+000000296781
+000000097367
+000000215149
+000000466885
+000000523433
+000000050837
+000000032688
+000000165609
+000000073661
+000000193560
+000000080960
+000000150996
+000000208648
+000000126907
+000000177214
+000000205520
+000000006647
+000000266696
+000000437467
+000000436975
+000000320812
+000000244418
+000000234343
+000000010733
+000000088915
+000000396084
+000000068738
+000000407737
+000000331119
+000000509800
+000000303056
+000000333321
+000000113952
+000000500214
+000000024769
+000000336340
+000000491662
+000000221937
+000000038186
+000000191242
+000000167166
+000000366086
+000000256364
+000000308100
+000000382154
+000000479427
+000000023199
+000000073104
+000000020512
+000000371106
+000000061564
+000000205350
+000000437947
+000000574384
+000000382148
+000000222137
+000000194551
+000000440461
+000000102996
+000000388026
+000000311251
+000000298461
+000000001739
+000000460863
+000000570001
+000000250417
+000000254033
+000000298558
+000000232262
+000000297277
+000000163568
+000000483375
+000000423380
+000000118710
+000000126305
+000000435795
+000000171678
+000000189853
+000000422899
+000000028069
+000000344930
+000000145083
+000000426016
+000000299372
+000000233079
+000000234794
+000000450464
+000000540176
+000000253784
+000000344483
+000000237743
+000000333746
+000000055468
+000000182217
+000000065891
+000000328121
+000000248771
+000000555549
+000000304466
+000000187752
+000000519985
+000000147778
+000000310804
+000000477878
+000000104790
+000000205150
+000000392723
+000000281267
+000000142245
+000000199410
+000000197850
+000000108129
+000000316723
+000000413240
+000000149192
+000000220601
+000000116740
+000000545804
+000000271917
+000000543713
+000000251124
+000000117064
+000000390710
+000000055613
+000000326433
+000000389630
+000000541274
+000000118950
+000000292140
+000000430473
+000000445461
+000000215315
+000000086840
+000000139007
+000000171221
+000000321753
+000000278287
+000000472938
+000000069428
+000000381112
+000000088176
+000000511587
+000000358345
+000000388693
+000000438985
+000000557848
+000000171733
+000000470697
+000000402818
+000000567118
+000000405621
+000000581008
+000000094353
+000000263479
+000000505965
+000000035717
+000000047563
+000000156977
+000000169934
+000000036082
+000000024403
+000000538309
+000000445075
+000000309925
+000000302547
+000000130973
+000000115642
+000000548792
+000000034580
+000000326511
+000000472913
+000000145280
+000000361124
+000000094890
+000000019874
+000000353915
+000000344935
+000000263246
+000000398097
+000000253777
+000000253658
+000000098808
+000000387855
+000000148400
+000000263780
+000000005418
+000000091784
+000000117019
+000000503331
+000000214295
+000000346121
+000000059142
+000000238345
+000000085131
+000000282229
+000000312343
+000000385425
+000000140630
+000000464081
+000000150787
+000000431479
+000000339943
+000000461788
+000000047451
+000000573001
+000000471962
+000000332499
+000000508488
+000000568549
+000000435686
+000000342394
+000000347377
+000000128102
+000000082921
+000000271395
+000000144157
+000000177167
+000000138529
+000000414764
+000000508634
+000000005755
+000000096689
+000000266133
+000000371260
+000000477718
+000000119535
+000000432363
+000000047936
+000000512757
+000000185667
+000000199204
+000000097564
+000000026865
+000000512037
+000000384700
+000000040087
+000000042696
+000000320171
+000000342932
+000000278491
+000000455557
+000000159952
+000000384302
+000000270558
+000000197305
+000000306506
+000000020515
+000000490511
+000000317019
+000000487009
+000000416279
+000000186121
+000000571909
+000000485683
+000000530919
+000000004068
+000000026609
+000000564508
+000000000699
+000000477590
+000000538359
+000000447623
+000000081054
+000000232931
+000000302242
+000000482841
+000000410589
+000000072216
+000000520422
+000000126536
+000000249309
+000000459361
+000000258554
+000000262393
+000000083754
+000000402331
+000000501842
+000000029122
+000000142942
+000000015528
+000000461331
+000000493581
+000000124992
+000000510333
+000000415077
+000000072052
+000000069426
+000000504338
+000000367362
+000000029345
+000000318299
+000000480345
+000000092795
+000000423837
+000000134066
+000000218648
+000000142364
+000000146432
+000000322557
+000000520898
+000000057676
+000000469988
+000000180505
+000000183719
+000000008373
+000000106902
+000000546708
+000000252844
+000000080782
+000000101146
+000000248834
+000000102610
+000000013497
+000000396415
+000000301296
+000000030156
+000000245481
+000000097892
+000000444235
+000000110683
+000000275695
+000000214109
+000000130005
+000000398040
+000000351841
+000000400581
+000000004093
+000000346581
+000000242757
+000000387685
+000000128291
+000000506837
+000000085625
+000000350083
+000000417440
+000000490153
+000000071646
+000000147501
+000000465257
+000000017198
+000000134863
+000000118529
+000000092534
+000000479376
+000000414106
+000000238713
+000000153136
+000000458123
+000000346093
+000000071330
+000000112372
+000000234000
+000000423630
+000000379155
+000000489961
+000000013333
+000000529597
+000000137842
+000000179948
+000000083568
+000000446383
+000000439288
+000000058413
+000000018040
+000000299115
+000000151268
+000000046345
+000000360157
+000000092549
+000000266646
+000000079298
+000000089834
+000000252549
+000000119630
+000000328494
+000000473665
+000000491508
+000000140783
+000000180271
+000000090058
+000000325775
+000000414848
+000000171380
+000000018496
+000000030383
+000000387083
+000000557399
+000000240698
+000000411666
+000000035529
+000000102863
+000000354863
+000000136260
+000000574747
+000000522891
+000000503277
+000000008385
+000000224247
+000000333430
+000000379314
+000000561570
+000000581797
+000000238022
+000000278525
+000000350013
+000000435163
+000000439053
+000000097165
+000000029709
+000000244246
+000000066087
+000000441083
+000000226517
+000000042960
+000000067752
+000000330253
+000000556021
+000000040966
+000000034777
+000000181920
+000000137094
+000000336770
+000000545128
+000000304725
+000000459201
+000000289293
+000000530163
+000000055601
+000000186322
+000000388214
+000000369144
+000000362247
+000000299573
+000000151050
+000000556356
+000000580142
+000000435569
+000000471790
+000000126590
+000000059528
+000000162181
+000000027452
+000000004208
+000000514230
+000000317054
+000000112770
+000000084592
+000000153666
+000000575776
+000000145873
+000000038079
+000000293265
+000000224483
+000000536198
+000000091797
+000000533502
+000000035722
+000000548565
+000000084168
+000000075173
+000000119199
+000000449945
+000000012183
+000000016725
+000000095063
+000000299488
+000000271574
+000000164667
+000000362769
+000000532463
+000000038310
+000000096064
+000000026943
+000000553659
+000000505927
+000000577213
+000000573374
+000000395744
+000000012895
+000000308527
+000000461245
+000000015667
+000000093565
+000000284274
+000000184446
+000000022926
+000000104811
+000000321403
+000000426758
+000000252133
+000000416543
+000000221430
+000000546279
+000000314993
+000000506224
+000000389303
+000000575293
+000000295068
+000000131207
+000000293751
+000000436627
+000000306303
+000000130914
+000000126260
+000000036864
+000000410992
+000000119456
+000000422469
+000000075267
+000000506394
+000000185464
+000000156769
+000000101310
+000000425055
+000000532810
+000000148002
+000000219792
+000000258878
+000000389041
+000000194276
+000000263014
+000000142102
+000000189063
+000000575202
+000000295756
+000000494508
+000000101341
+000000241372
+000000159742
+000000073195
+000000334074
+000000525376
+000000359897
+000000499789
+000000149027
+000000493161
+000000495348
+000000007498
+000000212782
+000000131570
+000000311031
+000000467959
+000000065336
+000000115599
+000000294669
+000000196719
+000000379518
+000000090373
+000000184879
+000000025660
+000000092134
+000000175122
+000000510782
+000000033902
+000000345567
+000000296858
+000000168084
+000000173080
+000000412612
+000000225246
+000000191972
+000000364176
+000000320964
+000000087135
+000000493438
+000000537861
+000000068377
+000000084123
+000000041087
+000000075344
+000000092016
+000000102466
+000000525208
+000000453132
+000000241248
+000000255036
+000000412847
+000000332654
+000000282009
+000000484074
+000000113442
+000000216740
+000000169097
+000000016839
+000000147576
+000000413275
+000000392851
+000000321766
+000000021782
+000000217091
+000000471521
+000000579402
+000000359086
+000000157153
+000000506586
+000000106935
+000000314672
+000000006730
+000000527118
+000000302383
+000000393805
+000000163723
+000000443349
+000000515962
+000000517920
+000000148862
+000000303197
+000000379343
+000000550310
+000000163125
+000000416819
+000000264940
+000000560173
+000000082005
+000000350425
+000000079846
+000000052925
+000000079191
+000000364064
+000000279775
+000000562106
+000000427467
+000000079498
+000000463600
+000000098437
+000000531970
+000000186429
+000000026936
+000000176918
+000000135338
+000000564682
+000000109012
+000000023797
+000000134137
+000000458413
+000000371179
+000000297859
+000000130226
+000000366558
+000000365351
+000000100661
+000000460533
+000000053426
+000000065490
+000000099892
+000000471513
+000000466942
+000000363508
+000000195911
+000000050125
+000000142719
+000000093327
+000000558435
+000000407150
+000000420658
+000000055049
+000000019306
+000000507783
+000000300047
+000000304065
+000000169217
+000000445601
+000000055496
+000000500888
+000000387388
+000000480421
+000000174868
+000000159926
+000000535389
+000000244451
+000000211641
+000000406514
+000000257894
+000000356029
+000000166575
+000000384836
+000000443254
+000000480790
+000000518605
+000000222755
+000000109340
+000000132621
+000000155849
+000000091487
+000000233553
+000000228721
+000000238700
+000000280508
+000000299444
+000000372022
+000000534308
+000000507113
+000000143664
+000000127006
+000000189885
+000000100087
+000000038769
+000000365464
+000000242664
+000000056885
+000000211918
+000000344817
+000000160250
+000000119283
+000000178871
+000000157087
+000000046656
+000000072995
+000000557127
+000000067053
+000000188918
+000000246356
+000000505666
+000000095360
+000000244349
+000000463875
+000000542548
+000000559166
+000000028506
+000000007139
+000000034732
+000000404437
+000000125853
+000000380983
+000000510449
+000000215679
+000000028071
+000000129166
+000000301667
+000000040011
+000000226896
+000000469834
+000000337594
+000000444311
+000000509839
+000000253094
+000000560459
+000000493329
+000000518524
+000000504194
+000000239854
+000000369170
+000000303706
+000000022002
+000000481254
+000000201270
+000000070502
+000000397213
+000000078200
+000000186868
+000000384849
+000000332217
+000000413879
+000000180925
+000000431901
+000000234516
+000000275835
+000000098989
+000000228560
+000000334121
+000000433021
+000000411177
+000000308436
+000000212342
+000000437209
+000000568886
+000000390290
+000000099063
+000000102906
+000000213399
+000000319676
+000000340699
+000000480687
+000000561735
+000000419604
+000000518481
+000000469556
+000000222659
+000000074465
+000000198545
+000000203349
+000000305374
+000000288986
+000000115515
+000000454174
+000000532304
+000000554756
+000000050995
+000000472506
+000000079955
+000000578977
+000000455044
+000000581220
+000000573291
+000000450893
+000000237224
+000000316275
+000000085568
+000000040946
+000000035012
+000000123289
+000000379340
+000000387924
+000000203868
+000000130070
+000000157314
+000000116196
+000000580586
+000000127997
+000000569865
+000000246586
+000000306522
+000000073726
+000000108326
+000000369982
+000000262965
+000000429485
+000000369977
+000000178157
+000000382438
+000000008351
+000000327433
+000000136461
+000000338607
+000000537139
+000000517597
+000000180447
+000000122869
+000000345275
+000000079628
+000000397675
+000000253940
+000000554286
+000000262727
+000000355740
+000000032244
+000000187675
+000000148286
+000000450217
+000000387470
+000000133200
+000000396051
+000000246787
+000000461522
+000000290024
+000000567013
+000000044962
+000000200922
+000000213623
+000000366792
+000000137583
+000000015400
+000000453319
+000000136132
+000000363639
+000000140375
+000000164183
+000000478837
+000000573246
+000000444888
+000000492267
+000000532107
+000000199389
+000000457434
+000000160110
+000000176863
+000000324831
+000000237655
+000000372673
+000000047071
+000000508761
+000000166993
+000000071345
+000000540925
+000000069977
+000000016046
+000000088634
+000000532985
+000000530860
+000000469644
+000000532426
+000000335521
+000000534117
+000000152385
+000000057095
+000000375811
+000000540860
+000000178145
+000000319865
+000000397459
+000000547742
+000000180046
+000000501889
+000000516189
+000000279477
+000000489900
+000000289486
+000000571548
+000000402559
+000000513778
+000000368348
+000000332543
+000000054837
+000000020947
+000000078113
+000000353624
+000000168482
+000000318616
+000000558594
+000000421254
+000000172319
+000000268737
+000000080792
+000000256220
+000000310472
+000000149151
+000000194616
+000000385695
+000000567899
+000000077095
+000000172173
+000000520858
+000000576157
+000000221891
+000000109869
+000000042614
+000000095561
+000000010077
+000000278222
+000000303928
+000000565788
+000000558055
+000000378029
+000000443591
+000000563040
+000000010327
+000000203129
+000000192816
+000000238147
+000000174700
+000000154259
+000000311206
+000000478374
+000000497162
+000000383205
+000000264396
+000000152192
+000000469096
+000000306383
+000000067414
+000000389101
+000000115151
+000000190323
+000000302982
+000000057016
+000000523564
+000000434915
+000000019060
+000000278793
+000000072602
+000000461799
+000000102620
+000000320877
+000000499997
+000000264828
+000000546739
+000000308221
+000000557252
+000000310706
+000000095822
+000000382164
+000000536292
+000000567416
+000000080739
+000000291932
+000000424866
+000000324442
+000000189504
+000000218716
+000000530479
+000000350214
+000000341801
+000000429833
+000000476406
+000000541219
+000000090310
+000000027530
+000000561565
+000000338834
+000000372316
+000000573932
+000000426261
+000000057107
+000000079905
+000000530952
+000000091909
+000000274629
+000000031578
+000000170888
+000000388212
+000000574790
+000000295540
+000000421208
+000000194676
+000000093264
+000000335781
+000000108156
+000000044291
+000000367285
+000000245638
+000000573184
+000000039317
+000000523154
+000000360826
+000000563511
+000000447976
+000000327332
+000000398622
+000000521968
+000000523445
+000000202438
+000000328088
+000000495734
+000000400353
+000000014488
+000000407372
+000000572028
+000000570111
+000000115070
+000000040930
+000000083953
+000000095621
+000000090777
+000000457348
+000000413121
+000000393288
+000000065353
+000000280911
+000000049024
+000000483107
+000000308892
+000000387669
+000000050810
+000000035357
+000000503541
+000000013938
+000000252839
+000000139564
+000000472157
+000000100744
+000000536820
+000000434665
+000000560587
+000000581249
+000000283382
+000000316359
+000000486968
+000000403916
+000000521232
+000000293851
+000000413172
+000000536095
+000000572889
+000000248163
+000000111992
+000000242039
+000000280187
+000000107188
+000000038180
+000000121152
+000000133827
+000000373866
+000000094678
+000000190187
+000000473964
+000000165543
+000000026436
+000000484215
+000000122172
+000000206395
+000000319322
+000000126020
+000000140946
+000000055753
+000000258337
+000000097255
+000000503718
+000000463787
+000000420496
+000000394523
+000000052644
+000000515376
+000000190546
+000000228784
+000000225093
+000000077123
+000000047204
+000000064884
+000000386650
+000000359904
+000000498383
+000000405630
+000000029018
+000000028293
+000000492163
+000000397668
+000000524263
+000000373731
+000000407378
+000000456106
+000000028110
+000000154770
+000000169026
+000000275027
+000000252525
+000000030631
+000000483266
+000000294053
+000000467925
+000000327808
+000000449721
+000000529777
+000000216083
+000000025765
+000000459219
+000000330676
+000000450457
+000000520840
+000000210453
+000000508725
+000000362062
+000000046071
+000000015614
+000000394065
+000000200720
+000000210480
+000000225337
+000000426282
+000000310564
+000000567189
+000000322023
+000000499537
+000000065080
+000000395425
+000000561622
+000000319899
+000000428788
+000000278393
+000000564629
+000000377619
+000000207264
+000000345498
+000000499871
+000000504158
+000000378672
+000000096535
+000000125286
+000000029327
+000000132773
+000000215124
+000000290761
+000000420627
+000000326472
+000000574983
+000000446481
+000000392015
+000000563711
+000000539716
+000000462677
+000000080549
+000000214106
+000000373089
+000000331093
+000000552395
+000000241410
+000000212381
+000000406068
+000000534578
+000000478090
+000000481357
+000000505933
+000000073906
+000000079355
+000000113077
+000000094121
+000000468351
+000000118081
+000000144897
+000000035401
+000000555472
+000000161578
+000000010822
+000000373284
+000000379448
+000000534776
+000000081622
+000000398540
+000000213141
+000000542988
+000000264676
+000000338978
+000000023096
+000000213268
+000000192291
+000000155671
+000000312960
+000000565110
+000000449007
+000000097159
+000000339129
+000000047403
+000000470780
+000000171468
+000000294380
+000000012372
+000000539784
+000000380058
+000000181453
+000000506898
+000000326264
+000000206391
+000000317244
+000000326028
+000000241779
+000000355462
+000000085779
+000000205762
+000000382386
+000000468884
+000000087338
+000000353072
+000000148705
+000000401231
+000000412880
+000000152774
+000000544786
+000000410305
+000000114164
+000000352936
+000000378865
+000000026097
+000000312153
+000000115967
+000000005095
+000000210372
+000000359189
+000000333303
+000000325666
+000000279025
+000000259093
+000000357508
+000000509518
+000000282871
+000000069670
+000000029180
+000000446861
+000000231206
+000000557442
+000000559218
+000000547391
+000000389426
+000000406103
+000000359037
+000000534331
+000000023501
+000000055966
+000000478032
+000000518814
+000000541631
+000000571048
+000000052951
+000000176442
+000000288824
+000000189568
+000000445004
+000000282790
+000000334234
+000000236568
+000000557698
+000000240904
+000000339100
+000000435783
+000000515719
+000000526701
+000000041713
+000000085163
+000000268688
+000000533179
+000000141331
+000000499125
+000000077745
+000000119016
+000000418144
+000000260433
+000000206913
+000000063587
+000000162692
+000000401561
+000000223950
+000000516823
+000000047406
+000000125412
+000000366485
+000000147453
+000000360869
+000000037509
+000000490475
+000000408417
+000000038321
+000000229114
+000000222726
+000000464006
+000000314277
+000000164420
+000000396420
+000000217433
+000000257134
+000000492156
+000000007095
+000000314865
+000000004785
+000000254250
+000000027660
+000000518933
+000000474906
+000000312679
+000000437303
+000000078286
+000000083407
+000000206541
+000000256474
+000000096986
+000000148634
+000000250226
+000000252968
+000000278161
+000000569070
+000000289128
+000000540694
+000000007616
+000000111369
+000000245503
+000000553998
+000000285890
+000000256075
+000000148700
+000000135772
+000000228957
+000000170774
+000000479805
+000000165298
+000000094550
+000000077304
+000000276549
+000000522611
+000000576801
+000000127555
+000000242570
+000000435466
+000000287437
+000000507017
+000000088229
+000000260844
+000000067917
+000000527363
+000000140758
+000000537925
+000000036639
+000000168839
+000000543112
+000000080596
+000000312054
+000000442585
+000000057345
+000000503292
+000000572761
+000000511224
+000000547186
+000000064411
+000000093232
+000000230302
+000000157279
+000000411082
+000000377955
+000000555771
+000000024416
+000000016113
+000000553108
+000000436837
+000000453357
+000000132432
+000000004762
+000000117060
+000000074060
+000000322992
+000000134383
+000000031893
+000000230610
+000000343048
+000000074213
+000000395432
+000000411775
+000000172727
+000000517656
+000000306313
+000000023137
+000000398648
+000000005554
+000000322630
+000000195137
+000000102904
+000000078880
+000000502630
+000000527925
+000000475244
+000000278293
+000000156151
+000000247110
+000000473420
+000000531044
+000000112747
+000000139436
+000000569801
+000000128503
+000000560392
+000000224874
+000000032102
+000000514541
+000000283700
+000000050624
+000000077924
+000000404983
+000000460728
+000000063320
+000000556345
+000000119748
+000000116100
+000000034811
+000000346591
+000000539359
+000000458846
+000000337435
+000000477673
+000000370280
+000000010702
+000000225834
+000000070493
+000000454680
+000000258538
+000000537188
+000000287322
+000000420852
+000000090307
+000000238272
+000000449066
+000000049315
+000000203459
+000000111010
+000000136077
+000000540843
+000000063079
+000000328433
+000000171120
+000000267259
+000000270326
+000000392145
+000000265084
+000000369689
+000000417164
+000000196131
+000000383884
+000000419150
+000000411851
+000000224371
+000000079011
+000000266093
+000000238511
+000000441231
+000000480241
+000000146563
+000000021136
+000000271240
+000000479809
+000000417284
+000000132210
+000000100689
+000000497127
+000000250834
+000000501379
+000000165431
+000000235081
+000000380305
+000000310703
+000000552761
+000000156827
+000000309519
+000000296038
+000000578168
+000000471107
+000000102275
+000000133908
+000000442181
+000000159427
+000000083960
+000000325523
+000000572372
+000000418596
+000000381037
+000000404424
+000000455081
+000000230915
+000000011926
+000000474399
+000000101180
+000000558639
+000000281779
+000000239581
+000000122560
+000000177109
+000000126825
+000000063370
+000000543877
+000000057250
+000000457060
+000000565691
+000000046408
+000000163306
+000000415269
+000000331126
+000000401384
+000000331203
+000000332131
+000000330054
+000000520389
+000000508815
+000000333245
+000000164428
+000000180397
+000000069952
+000000198997
+000000177847
+000000359546
+000000304079
+000000540107
+000000502513
+000000520109
+000000459755
+000000168718
+000000094118
+000000060005
+000000245419
+000000382517
+000000572937
+000000485614
+000000190680
+000000294581
+000000304657
+000000067115
+000000089087
+000000002342
+000000445276
+000000326805
+000000403907
+000000556278
+000000078621
+000000454382
+000000470473
+000000048256
+000000431194
+000000579394
+000000256141
+000000394776
+000000287725
+000000016317
+000000202764
+000000223777
+000000159250
+000000272773
+000000305277
+000000342342
+000000580510
+000000294349
+000000473260
+000000385172
+000000359701
+000000329152
+000000317732
+000000326891
+000000410603
+000000381027
+000000069536
+000000138768
+000000510230
+000000180402
+000000498138
+000000406189
+000000289575
+000000526132
+000000331688
+000000325668
+000000345161
+000000066263
+000000520617
+000000296318
+000000549773
+000000474526
+000000105552
+000000468287
+000000080982
+000000017604
+000000154289
+000000374360
+000000366148
+000000195079
+000000098143
+000000009988
+000000339790
+000000172582
+000000406841
+000000413346
+000000292123
+000000524115
+000000287574
+000000047599
+000000036718
+000000517089
+000000475529
+000000440444
+000000500495
+000000141441
+000000550534
+000000297009
+000000175390
+000000199849
+000000565313
+000000461333
+000000514601
+000000208727
+000000081476
+000000511724
+000000206770
+000000569188
+000000387515
+000000261344
+000000095363
+000000529360
+000000357800
+000000269160
+000000331349
+000000172265
+000000311082
+000000460964
+000000562595
+000000172637
+000000183806
+000000330532
+000000268710
+000000201477
+000000464737
+000000009214
+000000358391
+000000011887
+000000199732
+000000121547
+000000287890
+000000411291
+000000065829
+000000433733
+000000362127
+000000514798
+000000085926
+000000402969
+000000002985
+000000406056
+000000215709
+000000021671
+000000260716
+000000393292
+000000455808
+000000531309
+000000188520
+000000520220
+000000084701
+000000001840
+000000398548
+000000506664
+000000431812
+000000364589
+000000226308
+000000362071
+000000033697
+000000073830
+000000082775
+000000061049
+000000518438
+000000067255
+000000001224
+000000480950
+000000102735
+000000374696
+000000416049
+000000431297
+000000303986
+000000201758
+000000263147
+000000553678
+000000333363
+000000154111
+000000410648
+000000425522
+000000572604
+000000294499
+000000022582
+000000571415
+000000296975
+000000326684
+000000482022
+000000126030
+000000217395
+000000508923
+000000480951
+000000331311
+000000453899
+000000096517
+000000395735
+000000045165
+000000563898
+000000559252
+000000343231
+000000399558
+000000003148
+000000469713
+000000458836
+000000251181
+000000310716
+000000267708
+000000077014
+000000178193
+000000383652
+000000240784
+000000176858
+000000192266
+000000347811
+000000391637
+000000067956
+000000440286
+000000151101
+000000344998
+000000088192
+000000404007
+000000218405
+000000340332
+000000429762
+000000130681
+000000136265
+000000348669
+000000288075
+000000241963
+000000544516
+000000405582
+000000522008
+000000355108
+000000425218
+000000263770
+000000259824
+000000312841
+000000251502
+000000061237
+000000398986
+000000106335
+000000503647
+000000173132
+000000317323
+000000171179
+000000141770
+000000054936
+000000053139
+000000135681
+000000495641
+000000141532
+000000523673
+000000181948
+000000512316
+000000473651
+000000574200
+000000015273
+000000031339
+000000090872
+000000283054
+000000531944
+000000374897
+000000015474
+000000214450
+000000560898
+000000383158
+000000304069
+000000121779
+000000488658
+000000011422
+000000097862
+000000526565
+000000462062
+000000139049
+000000031606
+000000266961
+000000115222
+000000031878
+000000511642
+000000463279
+000000376492
+000000237699
+000000113455
+000000090718
+000000227289
+000000079926
+000000230665
+000000181212
+000000357994
+000000188805
+000000481130
+000000498196
+000000059710
+000000024924
+000000325856
+000000275660
+000000554142
+000000566249
+000000397117
+000000180445
+000000033358
+000000421804
+000000565769
+000000268855
+000000505288
+000000558541
+000000480876
+000000461744
+000000205362
+000000028930
+000000045366
+000000454554
+000000118401
+000000176522
+000000003849
+000000068740
+000000265378
+000000369609
+000000309087
+000000236572
+000000534957
+000000154880
+000000413297
+000000231338
+000000025974
+000000025743
+000000120285
+000000077858
+000000517830
+000000269109
+000000507329
+000000177420
+000000320788
+000000270574
+000000579035
+000000517534
+000000517879
+000000460460
+000000324278
+000000256549
+000000443278
+000000200817
+000000523081
+000000551559
+000000235802
+000000434457
+000000115229
+000000451588
+000000260232
+000000083029
+000000319038
+000000323896
+000000388113
+000000045966
+000000130981
+000000152525
+000000321119
+000000509154
+000000018316
+000000298900
+000000104290
+000000548662
+000000447811
diff --git a/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20_60_test.txt b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20_60_test.txt
new file mode 100644
index 0000000..713771c
--- /dev/null
+++ b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20_60_test.txt
@@ -0,0 +1,14284 @@
+000001
+000002
+000003
+000004
+000006
+000008
+000010
+000011
+000013
+000014
+000015
+000018
+000022
+000025
+000027
+000028
+000029
+000031
+000037
+000038
+000040
+000043
+000045
+000049
+000053
+000054
+000055
+000056
+000057
+000058
+000059
+000062
+000067
+000068
+000069
+000070
+000071
+000074
+000075
+000076
+000079
+000080
+000082
+000084
+000085
+000086
+000087
+000088
+000090
+000092
+000094
+000096
+000097
+000098
+000100
+000103
+000105
+000106
+000108
+000111
+000114
+000115
+000116
+000119
+000124
+000126
+000127
+000128
+000135
+000136
+000137
+000139
+000144
+000145
+000148
+000149
+000151
+000152
+000155
+000157
+000160
+000166
+000167
+000168
+000172
+000175
+000176
+000178
+000179
+000181
+000182
+000183
+000185
+000186
+000188
+000191
+000195
+000196
+000197
+000199
+000201
+000202
+000204
+000205
+000206
+000212
+000213
+000216
+000217
+000223
+000226
+000227
+000230
+000231
+000234
+000237
+000238
+000239
+000240
+000243
+000247
+000248
+000252
+000253
+000254
+000255
+000258
+000260
+000261
+000264
+000265
+000267
+000271
+000272
+000273
+000274
+000277
+000279
+000280
+000281
+000283
+000284
+000286
+000287
+000290
+000291
+000292
+000293
+000295
+000297
+000299
+000300
+000301
+000309
+000310
+000313
+000314
+000315
+000316
+000319
+000324
+000326
+000327
+000330
+000333
+000335
+000339
+000341
+000342
+000345
+000346
+000348
+000350
+000351
+000353
+000356
+000357
+000358
+000360
+000361
+000362
+000364
+000365
+000366
+000368
+000369
+000371
+000375
+000376
+000377
+000378
+000383
+000384
+000385
+000386
+000388
+000389
+000390
+000392
+000393
+000397
+000398
+000399
+000401
+000402
+000405
+000409
+000410
+000412
+000413
+000414
+000415
+000418
+000421
+000422
+000423
+000425
+000426
+000429
+000432
+000434
+000436
+000437
+000440
+000441
+000442
+000444
+000445
+000447
+000449
+000451
+000452
+000453
+000455
+000456
+000457
+000458
+000465
+000466
+000467
+000471
+000472
+000473
+000475
+000478
+000479
+000481
+000485
+000487
+000488
+000490
+000493
+000495
+000497
+000502
+000504
+000505
+000506
+000507
+000510
+000511
+000512
+000517
+000521
+000527
+000529
+000532
+000533
+000534
+000536
+000538
+000539
+000542
+000546
+000547
+000548
+000551
+000553
+000556
+000557
+000558
+000560
+000561
+000562
+000566
+000567
+000568
+000569
+000570
+000571
+000572
+000573
+000574
+000575
+000576
+000578
+000580
+000584
+000585
+000586
+000587
+000593
+000594
+000595
+000596
+000600
+000602
+000603
+000604
+000606
+000607
+000611
+000614
+000615
+000616
+000617
+000618
+000621
+000623
+000624
+000627
+000629
+000630
+000631
+000634
+000636
+000638
+000639
+000640
+000641
+000642
+000643
+000644
+000646
+000649
+000650
+000651
+000652
+000655
+000658
+000659
+000662
+000664
+000665
+000666
+000668
+000669
+000670
+000673
+000674
+000678
+000679
+000681
+000683
+000687
+000691
+000692
+000693
+000696
+000697
+000698
+000701
+000703
+000704
+000706
+000708
+000715
+000716
+000718
+000719
+000721
+000722
+000723
+000724
+000725
+000727
+000732
+000734
+000735
+000736
+000737
+000741
+000743
+000744
+000745
+000747
+000749
+000751
+000757
+000758
+000759
+000762
+000765
+000766
+000769
+000773
+000775
+000778
+000779
+000781
+000783
+000784
+000785
+000788
+000789
+000790
+000792
+000795
+000798
+000801
+000803
+000807
+000809
+000811
+000813
+000817
+000819
+000821
+000824
+000825
+000833
+000835
+000836
+000837
+000838
+000839
+000840
+000841
+000844
+000846
+000852
+000853
+000856
+000858
+000861
+000864
+000866
+000869
+000870
+000873
+000875
+000877
+000881
+000883
+000884
+000886
+000890
+000891
+000893
+000894
+000897
+000901
+000905
+000907
+000909
+000910
+000913
+000914
+000916
+000922
+000924
+000925
+000927
+000928
+000930
+000932
+000933
+000938
+000939
+000940
+000941
+000942
+000944
+000945
+000952
+000953
+000955
+000956
+000957
+000959
+000960
+000961
+000963
+000968
+000969
+000970
+000974
+000975
+000976
+000978
+000979
+000981
+000983
+000984
+000985
+000986
+000988
+000990
+000992
+000994
+000995
+000998
+001000
+001003
+001005
+001006
+001007
+001013
+001016
+001019
+001020
+001021
+001022
+001023
+001025
+001026
+001029
+001030
+001031
+001032
+001033
+001034
+001035
+001037
+001038
+001039
+001040
+001044
+001046
+001047
+001048
+001049
+001051
+001054
+001055
+001058
+001059
+001063
+001065
+001067
+001070
+001075
+001076
+001080
+001081
+001085
+001086
+001087
+001088
+001089
+001090
+001094
+001095
+001096
+001098
+001099
+001100
+001103
+001105
+001108
+001111
+001114
+001115
+001116
+001117
+001118
+001120
+001122
+001123
+001126
+001128
+001131
+001132
+001133
+001134
+001135
+001138
+001139
+001141
+001146
+001150
+001153
+001155
+001157
+001159
+001162
+001163
+001165
+001167
+001169
+001173
+001177
+001178
+001179
+001180
+001181
+001183
+001188
+001189
+001190
+001193
+001195
+001196
+001197
+001198
+001202
+001208
+001210
+001213
+001216
+001217
+001218
+001219
+001220
+001222
+001223
+001227
+001228
+001232
+001235
+001238
+001242
+001243
+001244
+001245
+001246
+001249
+001251
+001252
+001253
+001255
+001256
+001257
+001261
+001262
+001264
+001267
+001271
+001275
+001276
+001278
+001280
+001282
+001283
+001285
+001291
+001295
+001296
+001297
+001300
+001301
+001302
+001303
+001305
+001306
+001307
+001308
+001313
+001317
+001318
+001319
+001320
+001321
+001322
+001328
+001329
+001331
+001335
+001336
+001338
+001339
+001340
+001342
+001344
+001347
+001349
+001351
+001353
+001354
+001355
+001356
+001357
+001358
+001359
+001363
+001366
+001367
+001368
+001369
+001370
+001372
+001373
+001374
+001376
+001377
+001379
+001380
+001381
+001382
+001389
+001391
+001392
+001394
+001396
+001398
+001399
+001401
+001403
+001407
+001410
+001411
+001412
+001415
+001416
+001417
+001419
+001422
+001423
+001424
+001425
+001428
+001429
+001431
+001433
+001435
+001437
+001438
+001440
+001446
+001447
+001448
+001449
+001452
+001454
+001456
+001458
+001459
+001461
+001462
+001469
+001471
+001473
+001474
+001476
+001477
+001478
+001482
+001487
+001489
+001491
+001495
+001496
+001500
+001502
+001503
+001505
+001506
+001507
+001508
+001511
+001513
+001516
+001518
+001519
+001520
+001525
+001527
+001530
+001533
+001534
+001535
+001538
+001540
+001542
+001546
+001547
+001549
+001550
+001551
+001552
+001558
+001560
+001562
+001564
+001566
+001567
+001568
+001569
+001570
+001572
+001573
+001574
+001575
+001578
+001581
+001583
+001584
+001585
+001587
+001589
+001591
+001592
+001596
+001599
+001600
+001601
+001602
+001605
+001606
+001609
+001613
+001615
+001616
+001619
+001620
+001621
+001623
+001624
+001625
+001626
+001629
+001631
+001634
+001635
+001637
+001639
+001641
+001644
+001645
+001646
+001648
+001652
+001655
+001656
+001657
+001658
+001659
+001660
+001663
+001664
+001665
+001666
+001667
+001668
+001670
+001671
+001672
+001674
+001679
+001681
+001687
+001692
+001694
+001695
+001696
+001697
+001698
+001700
+001701
+001702
+001703
+001704
+001705
+001706
+001709
+001710
+001712
+001715
+001716
+001719
+001720
+001722
+001728
+001731
+001735
+001736
+001737
+001740
+001742
+001743
+001744
+001745
+001748
+001751
+001753
+001757
+001760
+001762
+001763
+001764
+001767
+001769
+001770
+001773
+001774
+001776
+001779
+001781
+001783
+001786
+001788
+001790
+001791
+001792
+001794
+001796
+001798
+001802
+001803
+001804
+001805
+001808
+001811
+001812
+001813
+001814
+001815
+001817
+001819
+001820
+001822
+001823
+001824
+001826
+001829
+001831
+001835
+001838
+001839
+001844
+001846
+001848
+001850
+001851
+001852
+001856
+001857
+001859
+001863
+001865
+001866
+001867
+001868
+001869
+001871
+001873
+001874
+001876
+001879
+001880
+001883
+001884
+001885
+001886
+001889
+001890
+001891
+001893
+001895
+001897
+001900
+001905
+001908
+001909
+001910
+001912
+001913
+001914
+001916
+001917
+001919
+001921
+001923
+001924
+001925
+001926
+001929
+001935
+001939
+001942
+001943
+001946
+001947
+001949
+001951
+001953
+001955
+001956
+001957
+001959
+001961
+001965
+001966
+001967
+001968
+001969
+001973
+001974
+001975
+001979
+001983
+001984
+001986
+001987
+001988
+001990
+001991
+001992
+001993
+001994
+001996
+001997
+001998
+002003
+002005
+002007
+002008
+002009
+002010
+002013
+002014
+002016
+002017
+002018
+002026
+002028
+002029
+002031
+002032
+002033
+002035
+002038
+002040
+002041
+002044
+002046
+002048
+002050
+002052
+002053
+002057
+002059
+002060
+002062
+002065
+002066
+002071
+002072
+002073
+002074
+002075
+002076
+002077
+002078
+002079
+002080
+002081
+002084
+002085
+002087
+002089
+002092
+002093
+002097
+002100
+002103
+002105
+002106
+002107
+002110
+002111
+002113
+002115
+002118
+002119
+002121
+002122
+002123
+002127
+002128
+002130
+002131
+002133
+002137
+002138
+002141
+002143
+002144
+002147
+002148
+002149
+002150
+002154
+002157
+002159
+002160
+002161
+002162
+002164
+002167
+002168
+002173
+002175
+002177
+002185
+002188
+002189
+002195
+002198
+002200
+002203
+002204
+002205
+002206
+002207
+002210
+002211
+002216
+002217
+002222
+002223
+002225
+002227
+002229
+002230
+002231
+002232
+002235
+002236
+002239
+002240
+002242
+002243
+002245
+002246
+002250
+002252
+002254
+002258
+002262
+002264
+002269
+002271
+002274
+002275
+002282
+002283
+002286
+002289
+002292
+002294
+002295
+002296
+002297
+002298
+002299
+002301
+002303
+002304
+002309
+002312
+002313
+002314
+002316
+002317
+002319
+002322
+002325
+002326
+002327
+002331
+002336
+002338
+002339
+002341
+002344
+002346
+002349
+002351
+002353
+002356
+002357
+002358
+002360
+002363
+002365
+002370
+002379
+002380
+002381
+002383
+002386
+002388
+002389
+002390
+002394
+002395
+002396
+002397
+002398
+002399
+002400
+002402
+002406
+002408
+002409
+002412
+002414
+002416
+002418
+002421
+002422
+002424
+002426
+002428
+002429
+002430
+002431
+002432
+002434
+002438
+002440
+002446
+002447
+002449
+002451
+002453
+002455
+002457
+002463
+002464
+002467
+002469
+002473
+002474
+002475
+002482
+002484
+002485
+002486
+002487
+002488
+002489
+002495
+002498
+002499
+002503
+002506
+002507
+002509
+002510
+002511
+002515
+002516
+002517
+002521
+002522
+002526
+002527
+002528
+002530
+002531
+002532
+002535
+002536
+002538
+002541
+002543
+002548
+002550
+002551
+002552
+002553
+002556
+002557
+002560
+002562
+002568
+002570
+002573
+002574
+002575
+002576
+002577
+002580
+002581
+002582
+002583
+002587
+002588
+002591
+002592
+002596
+002597
+002601
+002602
+002604
+002607
+002608
+002610
+002612
+002614
+002616
+002617
+002619
+002620
+002622
+002623
+002624
+002626
+002628
+002629
+002630
+002631
+002638
+002639
+002640
+002642
+002644
+002650
+002651
+002652
+002654
+002655
+002656
+002660
+002661
+002663
+002665
+002671
+002672
+002673
+002674
+002676
+002679
+002681
+002685
+002686
+002687
+002688
+002692
+002694
+002698
+002700
+002701
+002703
+002705
+002707
+002708
+002711
+002712
+002716
+002719
+002720
+002724
+002725
+002726
+002728
+002729
+002731
+002733
+002736
+002739
+002740
+002742
+002743
+002746
+002748
+002750
+002752
+002753
+002754
+002756
+002758
+002761
+002764
+002768
+002769
+002770
+002771
+002773
+002777
+002780
+002781
+002787
+002788
+002789
+002790
+002792
+002793
+002797
+002799
+002802
+002805
+002806
+002808
+002809
+002811
+002813
+002814
+002818
+002819
+002821
+002822
+002823
+002824
+002825
+002828
+002829
+002830
+002831
+002832
+002837
+002839
+002840
+002843
+002846
+002849
+002850
+002851
+002852
+002853
+002856
+002857
+002860
+002861
+002862
+002863
+002865
+002871
+002872
+002874
+002876
+002877
+002878
+002882
+002883
+002885
+002887
+002888
+002890
+002892
+002894
+002895
+002897
+002898
+002900
+002902
+002903
+002904
+002905
+002907
+002908
+002909
+002911
+002918
+002920
+002921
+002922
+002923
+002925
+002926
+002927
+002928
+002929
+002930
+002936
+002945
+002948
+002949
+002950
+002951
+002955
+002959
+002961
+002964
+002968
+002970
+002971
+002972
+002973
+002974
+002979
+002980
+002981
+002982
+002983
+002985
+002991
+002993
+002996
+002997
+002998
+002999
+003001
+003006
+003010
+003012
+003014
+003016
+003018
+003019
+003020
+003022
+003025
+003026
+003029
+003030
+003033
+003035
+003036
+003037
+003040
+003041
+003043
+003046
+003048
+003049
+003050
+003052
+003055
+003059
+003060
+003062
+003067
+003068
+003069
+003070
+003071
+003073
+003075
+003076
+003079
+003080
+003081
+003084
+003087
+003091
+003095
+003096
+003097
+003099
+003101
+003104
+003109
+003111
+003113
+003114
+003115
+003119
+003123
+003125
+003128
+003130
+003131
+003132
+003136
+003139
+003141
+003143
+003144
+003148
+003151
+003152
+003153
+003156
+003158
+003160
+003166
+003167
+003168
+003171
+003172
+003173
+003174
+003179
+003180
+003182
+003187
+003190
+003191
+003192
+003193
+003196
+003197
+003198
+003201
+003203
+003206
+003208
+003209
+003212
+003215
+003217
+003220
+003221
+003222
+003224
+003225
+003226
+003227
+003230
+003232
+003234
+003235
+003237
+003238
+003241
+003245
+003246
+003248
+003249
+003251
+003252
+003257
+003263
+003264
+003265
+003266
+003267
+003268
+003275
+003276
+003277
+003278
+003281
+003283
+003286
+003287
+003288
+003289
+003291
+003295
+003297
+003298
+003302
+003304
+003305
+003306
+003309
+003310
+003312
+003314
+003315
+003317
+003318
+003319
+003321
+003322
+003323
+003324
+003326
+003328
+003329
+003332
+003333
+003334
+003340
+003341
+003342
+003345
+003346
+003347
+003348
+003352
+003353
+003357
+003358
+003361
+003364
+003366
+003368
+003371
+003372
+003375
+003378
+003381
+003383
+003384
+003385
+003387
+003388
+003389
+003393
+003394
+003399
+003400
+003402
+003405
+003409
+003411
+003414
+003418
+003423
+003426
+003427
+003428
+003431
+003432
+003434
+003437
+003438
+003440
+003442
+003445
+003446
+003447
+003448
+003454
+003456
+003457
+003459
+003460
+003463
+003467
+003471
+003472
+003473
+003474
+003475
+003476
+003478
+003479
+003480
+003481
+003482
+003483
+003485
+003486
+003488
+003490
+003494
+003495
+003498
+003501
+003502
+003503
+003504
+003505
+003507
+003512
+003513
+003514
+003515
+003517
+003520
+003523
+003526
+003527
+003531
+003532
+003533
+003534
+003535
+003538
+003540
+003541
+003542
+003543
+003544
+003545
+003547
+003552
+003553
+003557
+003558
+003559
+003560
+003561
+003562
+003563
+003568
+003569
+003570
+003571
+003572
+003573
+003574
+003578
+003579
+003581
+003582
+003583
+003584
+003590
+003591
+003592
+003595
+003598
+003600
+003601
+003602
+003607
+003610
+003612
+003613
+003615
+003616
+003617
+003619
+003624
+003626
+003630
+003631
+003633
+003637
+003641
+003643
+003647
+003649
+003650
+003652
+003653
+003659
+003661
+003665
+003666
+003668
+003670
+003672
+003676
+003677
+003680
+003682
+003683
+003686
+003687
+003689
+003692
+003693
+003697
+003701
+003702
+003707
+003710
+003712
+003715
+003716
+003718
+003719
+003720
+003723
+003724
+003725
+003726
+003728
+003730
+003731
+003733
+003734
+003736
+003737
+003738
+003739
+003741
+003742
+003744
+003745
+003746
+003747
+003755
+003756
+003757
+003761
+003762
+003764
+003765
+003766
+003768
+003769
+003770
+003771
+003775
+003776
+003777
+003778
+003782
+003785
+003787
+003789
+003794
+003795
+003799
+003800
+003801
+003802
+003804
+003805
+003810
+003812
+003813
+003815
+003816
+003819
+003822
+003823
+003825
+003829
+003831
+003832
+003833
+003836
+003839
+003840
+003841
+003842
+003843
+003850
+003851
+003852
+003853
+003854
+003858
+003862
+003864
+003867
+003870
+003873
+003875
+003878
+003880
+003881
+003882
+003883
+003884
+003888
+003892
+003893
+003894
+003896
+003897
+003900
+003901
+003902
+003903
+003904
+003906
+003908
+003909
+003910
+003914
+003916
+003917
+003920
+003922
+003925
+003927
+003928
+003929
+003930
+003931
+003933
+003934
+003938
+003940
+003942
+003943
+003944
+003950
+003951
+003952
+003955
+003958
+003959
+003962
+003964
+003967
+003968
+003972
+003975
+003976
+003977
+003978
+003980
+003981
+003982
+003985
+003989
+003995
+003999
+004000
+004001
+004002
+004004
+004006
+004007
+004018
+004021
+004022
+004024
+004026
+004027
+004029
+004030
+004032
+004036
+004038
+004040
+004041
+004042
+004043
+004044
+004045
+004048
+004049
+004050
+004053
+004054
+004055
+004056
+004059
+004061
+004062
+004063
+004064
+004065
+004068
+004070
+004071
+004072
+004074
+004078
+004079
+004080
+004081
+004083
+004084
+004086
+004088
+004090
+004094
+004096
+004097
+004098
+004099
+004101
+004103
+004104
+004107
+004109
+004112
+004114
+004115
+004116
+004118
+004119
+004123
+004124
+004125
+004126
+004127
+004128
+004130
+004132
+004134
+004139
+004144
+004147
+004151
+004153
+004154
+004155
+004156
+004157
+004159
+004160
+004161
+004162
+004165
+004166
+004167
+004172
+004173
+004175
+004176
+004177
+004179
+004180
+004181
+004182
+004183
+004184
+004187
+004188
+004197
+004198
+004199
+004202
+004206
+004207
+004208
+004210
+004211
+004213
+004214
+004216
+004217
+004218
+004219
+004222
+004225
+004226
+004227
+004233
+004234
+004235
+004236
+004238
+004240
+004243
+004245
+004248
+004249
+004250
+004251
+004252
+004254
+004260
+004261
+004262
+004266
+004267
+004268
+004276
+004277
+004278
+004282
+004285
+004288
+004289
+004290
+004294
+004297
+004299
+004301
+004302
+004305
+004306
+004308
+004309
+004311
+004313
+004314
+004316
+004317
+004319
+004320
+004324
+004328
+004330
+004332
+004334
+004335
+004336
+004337
+004340
+004342
+004343
+004344
+004348
+004350
+004353
+004355
+004357
+004358
+004362
+004363
+004366
+004373
+004374
+004375
+004377
+004378
+004381
+004382
+004383
+004385
+004388
+004393
+004394
+004395
+004398
+004399
+004400
+004401
+004402
+004403
+004406
+004407
+004408
+004410
+004412
+004413
+004414
+004415
+004416
+004417
+004418
+004419
+004420
+004422
+004425
+004426
+004427
+004428
+004431
+004435
+004440
+004442
+004443
+004444
+004445
+004447
+004448
+004449
+004451
+004453
+004454
+004456
+004458
+004460
+004461
+004462
+004465
+004467
+004469
+004472
+004473
+004475
+004476
+004477
+004478
+004480
+004482
+004483
+004485
+004486
+004489
+004491
+004492
+004497
+004501
+004503
+004504
+004505
+004506
+004511
+004513
+004515
+004516
+004521
+004522
+004523
+004525
+004529
+004531
+004533
+004534
+004536
+004538
+004541
+004543
+004545
+004546
+004547
+004550
+004554
+004556
+004557
+004559
+004560
+004561
+004564
+004567
+004568
+004569
+004572
+004573
+004575
+004577
+004578
+004580
+004582
+004583
+004586
+004589
+004590
+004593
+004594
+004596
+004598
+004599
+004602
+004603
+004608
+004610
+004613
+004614
+004615
+004616
+004617
+004619
+004620
+004621
+004624
+004629
+004633
+004635
+004637
+004638
+004639
+004640
+004641
+004642
+004645
+004646
+004650
+004657
+004658
+004659
+004661
+004663
+004664
+004665
+004666
+004667
+004668
+004669
+004670
+004677
+004678
+004680
+004681
+004684
+004688
+004690
+004695
+004696
+004697
+004698
+004700
+004703
+004704
+004709
+004711
+004712
+004713
+004716
+004717
+004720
+004721
+004724
+004725
+004726
+004728
+004729
+004730
+004731
+004733
+004734
+004736
+004738
+004739
+004740
+004741
+004744
+004745
+004749
+004751
+004752
+004755
+004756
+004757
+004758
+004759
+004762
+004763
+004764
+004765
+004766
+004767
+004769
+004771
+004772
+004774
+004775
+004778
+004780
+004781
+004784
+004787
+004791
+004795
+004798
+004800
+004802
+004803
+004804
+004806
+004807
+004809
+004810
+004811
+004813
+004817
+004819
+004820
+004821
+004822
+004824
+004827
+004829
+004833
+004835
+004838
+004843
+004844
+004845
+004847
+004851
+004853
+004854
+004855
+004858
+004860
+004861
+004862
+004864
+004865
+004870
+004871
+004874
+004875
+004877
+004880
+004881
+004883
+004884
+004887
+004888
+004889
+004891
+004892
+004893
+004894
+004899
+004900
+004901
+004904
+004906
+004908
+004909
+004914
+004915
+004917
+004918
+004919
+004920
+004921
+004922
+004923
+004924
+004925
+004927
+004930
+004932
+004933
+004934
+004937
+004940
+004941
+004942
+004944
+004945
+004947
+004949
+004952
+004957
+004959
+004964
+004965
+004969
+004970
+004971
+004975
+004978
+004979
+004980
+004981
+004988
+004989
+004993
+004996
+005000
+005002
+005005
+005008
+005009
+005010
+005011
+005012
+005013
+005015
+005017
+005019
+005021
+005022
+005025
+005030
+005031
+005034
+005035
+005038
+005040
+005041
+005043
+005044
+005046
+005048
+005049
+005050
+005051
+005053
+005059
+005060
+005066
+005069
+005070
+005074
+005075
+005076
+005080
+005082
+005083
+005087
+005088
+005089
+005091
+005092
+005095
+005096
+005098
+005099
+005100
+005103
+005105
+005106
+005109
+005112
+005113
+005115
+005117
+005118
+005119
+005120
+005123
+005125
+005126
+005127
+005132
+005133
+005137
+005139
+005140
+005141
+005142
+005147
+005148
+005149
+005151
+005152
+005154
+005155
+005157
+005158
+005162
+005163
+005164
+005165
+005166
+005167
+005170
+005172
+005174
+005178
+005180
+005182
+005184
+005187
+005188
+005192
+005193
+005194
+005196
+005197
+005198
+005200
+005201
+005204
+005205
+005206
+005207
+005211
+005213
+005216
+005218
+005221
+005225
+005226
+005227
+005228
+005232
+005233
+005234
+005235
+005237
+005238
+005240
+005241
+005243
+005247
+005249
+005250
+005251
+005252
+005255
+005256
+005261
+005265
+005266
+005271
+005272
+005275
+005276
+005277
+005279
+005280
+005282
+005284
+005286
+005287
+005289
+005291
+005294
+005295
+005296
+005299
+005300
+005301
+005302
+005308
+005309
+005313
+005316
+005317
+005321
+005322
+005323
+005324
+005329
+005330
+005332
+005333
+005334
+005335
+005339
+005341
+005342
+005347
+005353
+005354
+005356
+005357
+005359
+005361
+005362
+005364
+005366
+005372
+005375
+005376
+005377
+005381
+005382
+005386
+005390
+005392
+005394
+005399
+005400
+005401
+005402
+005403
+005409
+005411
+005412
+005415
+005422
+005425
+005426
+005427
+005428
+005432
+005435
+005437
+005442
+005443
+005444
+005446
+005447
+005449
+005452
+005456
+005458
+005459
+005460
+005462
+005463
+005464
+005466
+005468
+005472
+005473
+005474
+005476
+005477
+005479
+005480
+005482
+005484
+005488
+005490
+005491
+005492
+005493
+005494
+005495
+005498
+005500
+005501
+005502
+005503
+005504
+005505
+005506
+005512
+005513
+005516
+005520
+005523
+005525
+005528
+005529
+005532
+005533
+005534
+005537
+005538
+005540
+005543
+005545
+005546
+005548
+005551
+005553
+005555
+005556
+005557
+005558
+005560
+005561
+005562
+005564
+005565
+005567
+005569
+005570
+005571
+005572
+005575
+005578
+005580
+005581
+005587
+005589
+005594
+005595
+005596
+005597
+005598
+005602
+005604
+005607
+005610
+005612
+005616
+005617
+005619
+005621
+005622
+005623
+005626
+005627
+005628
+005632
+005633
+005634
+005635
+005638
+005642
+005643
+005646
+005649
+005650
+005651
+005656
+005659
+005661
+005663
+005665
+005666
+005667
+005670
+005671
+005673
+005675
+005677
+005678
+005681
+005683
+005684
+005688
+005689
+005690
+005691
+005692
+005694
+005698
+005703
+005706
+005707
+005708
+005709
+005711
+005712
+005717
+005720
+005721
+005722
+005724
+005725
+005726
+005727
+005733
+005734
+005737
+005739
+005744
+005745
+005746
+005748
+005750
+005751
+005753
+005754
+005758
+005759
+005763
+005766
+005767
+005770
+005771
+005772
+005774
+005775
+005776
+005777
+005778
+005785
+005787
+005792
+005793
+005795
+005797
+005798
+005800
+005801
+005802
+005804
+005807
+005808
+005809
+005810
+005816
+005820
+005822
+005823
+005827
+005832
+005833
+005834
+005835
+005837
+005842
+005844
+005846
+005847
+005848
+005849
+005855
+005857
+005858
+005862
+005865
+005866
+005869
+005870
+005871
+005872
+005876
+005880
+005882
+005883
+005886
+005887
+005890
+005891
+005892
+005896
+005898
+005900
+005902
+005904
+005907
+005913
+005915
+005916
+005921
+005922
+005924
+005925
+005926
+005927
+005929
+005931
+005932
+005933
+005934
+005935
+005936
+005937
+005939
+005941
+005942
+005943
+005944
+005945
+005946
+005949
+005950
+005953
+005955
+005957
+005958
+005959
+005962
+005965
+005966
+005967
+005969
+005972
+005973
+005974
+005976
+005977
+005978
+005982
+005986
+005987
+005993
+005994
+005997
+005999
+006002
+006003
+006006
+006007
+006008
+006010
+006013
+006014
+006015
+006016
+006017
+006019
+006021
+006022
+006024
+006031
+006032
+006034
+006036
+006037
+006039
+006040
+006044
+006047
+006048
+006049
+006050
+006051
+006052
+006053
+006054
+006056
+006057
+006059
+006060
+006063
+006064
+006068
+006072
+006075
+006076
+006077
+006080
+006081
+006082
+006083
+006085
+006086
+006087
+006090
+006092
+006093
+006094
+006099
+006101
+006102
+006106
+006109
+006110
+006112
+006113
+006114
+006115
+006116
+006118
+006119
+006121
+006122
+006126
+006127
+006132
+006137
+006138
+006142
+006143
+006144
+006145
+006147
+006149
+006152
+006154
+006155
+006157
+006160
+006164
+006165
+006167
+006168
+006169
+006173
+006178
+006182
+006186
+006191
+006192
+006193
+006194
+006195
+006197
+006199
+006200
+006204
+006205
+006207
+006211
+006213
+006217
+006226
+006227
+006228
+006231
+006232
+006237
+006239
+006242
+006244
+006245
+006246
+006248
+006253
+006255
+006256
+006257
+006263
+006265
+006266
+006268
+006271
+006273
+006274
+006278
+006280
+006283
+006287
+006288
+006292
+006293
+006294
+006297
+006298
+006302
+006303
+006307
+006308
+006310
+006311
+006312
+006313
+006315
+006316
+006317
+006322
+006324
+006326
+006327
+006328
+006331
+006332
+006333
+006334
+006336
+006340
+006342
+006343
+006345
+006347
+006354
+006356
+006358
+006359
+006360
+006361
+006364
+006365
+006368
+006370
+006372
+006373
+006376
+006378
+006379
+006380
+006383
+006384
+006386
+006388
+006389
+006390
+006393
+006394
+006397
+006399
+006401
+006402
+006403
+006405
+006406
+006407
+006408
+006410
+006412
+006413
+006414
+006415
+006416
+006420
+006422
+006423
+006426
+006431
+006432
+006435
+006439
+006441
+006446
+006451
+006452
+006453
+006454
+006457
+006460
+006461
+006464
+006467
+006469
+006471
+006477
+006478
+006479
+006481
+006485
+006487
+006489
+006490
+006491
+006493
+006494
+006496
+006498
+006500
+006502
+006504
+006505
+006508
+006510
+006511
+006513
+006514
+006516
+006517
+006518
+006521
+006522
+006525
+006526
+006527
+006528
+006531
+006533
+006535
+006537
+006539
+006540
+006541
+006544
+006545
+006546
+006552
+006554
+006555
+006557
+006558
+006559
+006561
+006563
+006566
+006567
+006568
+006571
+006573
+006574
+006577
+006579
+006580
+006581
+006582
+006586
+006589
+006590
+006591
+006592
+006594
+006596
+006598
+006600
+006601
+006604
+006607
+006608
+006613
+006614
+006615
+006616
+006620
+006623
+006624
+006629
+006630
+006633
+006634
+006639
+006640
+006641
+006642
+006644
+006646
+006649
+006650
+006651
+006653
+006655
+006656
+006659
+006662
+006663
+006665
+006669
+006672
+006675
+006676
+006680
+006683
+006685
+006686
+006688
+006691
+006692
+006693
+006700
+006701
+006705
+006710
+006711
+006712
+006713
+006715
+006716
+006717
+006720
+006721
+006723
+006724
+006728
+006729
+006732
+006733
+006737
+006741
+006742
+006743
+006744
+006745
+006746
+006749
+006750
+006752
+006754
+006756
+006757
+006758
+006763
+006764
+006767
+006770
+006771
+006774
+006775
+006776
+006778
+006779
+006780
+006785
+006787
+006788
+006790
+006791
+006792
+006793
+006795
+006796
+006798
+006801
+006804
+006807
+006809
+006811
+006812
+006815
+006816
+006817
+006818
+006820
+006823
+006826
+006830
+006831
+006832
+006834
+006837
+006843
+006846
+006851
+006853
+006854
+006856
+006857
+006861
+006863
+006870
+006871
+006872
+006873
+006875
+006877
+006879
+006881
+006882
+006885
+006888
+006889
+006890
+006891
+006894
+006895
+006897
+006898
+006901
+006902
+006904
+006905
+006906
+006907
+006913
+006915
+006920
+006921
+006923
+006925
+006926
+006927
+006928
+006929
+006936
+006937
+006938
+006941
+006942
+006946
+006951
+006954
+006955
+006957
+006960
+006961
+006964
+006967
+006969
+006970
+006973
+006974
+006975
+006977
+006978
+006979
+006980
+006982
+006984
+006985
+006986
+006991
+006992
+006993
+006996
+006997
+006998
+006999
+007000
+007001
+007005
+007010
+007012
+007013
+007014
+007015
+007017
+007019
+007024
+007026
+007027
+007028
+007030
+007032
+007034
+007037
+007041
+007043
+007044
+007047
+007051
+007053
+007055
+007057
+007060
+007061
+007063
+007066
+007067
+007069
+007076
+007081
+007082
+007083
+007085
+007087
+007091
+007094
+007096
+007098
+007099
+007102
+007103
+007106
+007107
+007110
+007111
+007112
+007115
+007116
+007118
+007119
+007120
+007124
+007126
+007127
+007131
+007134
+007135
+007136
+007137
+007142
+007143
+007145
+007151
+007155
+007156
+007157
+007158
+007160
+007161
+007164
+007169
+007170
+007171
+007173
+007175
+007176
+007178
+007179
+007181
+007183
+007186
+007188
+007190
+007192
+007195
+007196
+007198
+007199
+007201
+007202
+007203
+007206
+007207
+007209
+007218
+007220
+007221
+007225
+007226
+007228
+007229
+007231
+007232
+007233
+007235
+007237
+007238
+007239
+007240
+007242
+007246
+007248
+007251
+007252
+007253
+007254
+007255
+007257
+007262
+007264
+007265
+007267
+007268
+007269
+007272
+007273
+007277
+007278
+007281
+007282
+007286
+007287
+007288
+007290
+007291
+007293
+007301
+007303
+007304
+007306
+007307
+007309
+007310
+007312
+007313
+007315
+007316
+007317
+007319
+007320
+007321
+007324
+007326
+007328
+007331
+007332
+007333
+007335
+007337
+007338
+007339
+007340
+007341
+007342
+007345
+007347
+007348
+007349
+007352
+007353
+007354
+007355
+007357
+007358
+007360
+007362
+007364
+007366
+007367
+007368
+007371
+007377
+007378
+007379
+007380
+007382
+007384
+007386
+007387
+007391
+007392
+007393
+007395
+007397
+007399
+007400
+007401
+007402
+007403
+007404
+007405
+007406
+007407
+007409
+007412
+007415
+007418
+007420
+007423
+007426
+007428
+007429
+007430
+007434
+007440
+007441
+007442
+007444
+007447
+007450
+007452
+007453
+007455
+007456
+007459
+007462
+007463
+007464
+007469
+007471
+007472
+007473
+007476
+007478
+007485
+007487
+007488
+007492
+007494
+007495
+007496
+007499
+007500
+007501
+007502
+007504
+007505
+007507
+007508
+007509
+007510
+007512
+007514
+007515
+007516
+007518
+007520
+007522
+007529
+007531
+007532
+007534
+007539
+007541
+007542
+007545
+007548
+007549
+007550
+007552
+007553
+007554
+007556
+007557
+007560
+007561
+007562
+007564
+007567
+007569
+007573
+007574
+007577
+007580
+007581
+007582
+007583
+007584
+007587
+007588
+007589
+007591
+007593
+007595
+007596
+007597
+007598
+007599
+007602
+007604
+007607
+007608
+007609
+007610
+007613
+007616
+007617
+007620
+007623
+007625
+007627
+007628
+007630
+007632
+007634
+007635
+007636
+007638
+007641
+007643
+007644
+007645
+007646
+007648
+007651
+007652
+007658
+007659
+007660
+007661
+007665
+007669
+007674
+007676
+007681
+007684
+007686
+007689
+007690
+007693
+007695
+007698
+007700
+007701
+007703
+007706
+007707
+007708
+007710
+007711
+007714
+007716
+007717
+007719
+007722
+007725
+007726
+007728
+007730
+007733
+007734
+007737
+007738
+007739
+007741
+007744
+007747
+007750
+007752
+007755
+007756
+007757
+007759
+007761
+007764
+007766
+007769
+007770
+007771
+007774
+007778
+007780
+007782
+007783
+007784
+007785
+007787
+007788
+007789
+007792
+007794
+007796
+007797
+007800
+007801
+007802
+007804
+007805
+007806
+007807
+007808
+007811
+007816
+007817
+007818
+007822
+007823
+007825
+007827
+007828
+007829
+007830
+007832
+007835
+007837
+007839
+007842
+007844
+007846
+007848
+007849
+007850
+007851
+007852
+007858
+007860
+007861
+007862
+007866
+007867
+007870
+007871
+007874
+007875
+007879
+007880
+007881
+007882
+007887
+007888
+007891
+007892
+007893
+007894
+007895
+007896
+007903
+007904
+007906
+007907
+007912
+007913
+007917
+007918
+007922
+007927
+007929
+007930
+007934
+007936
+007937
+007938
+007941
+007942
+007944
+007945
+007948
+007949
+007951
+007952
+007955
+007957
+007960
+007961
+007962
+007965
+007966
+007967
+007969
+007972
+007973
+007975
+007977
+007978
+007981
+007982
+007983
+007985
+007986
+007988
+007989
+007990
+007992
+007993
+007994
+007995
+008000
+008003
+008006
+008007
+008010
+008011
+008013
+008014
+008015
+008016
+008018
+008020
+008021
+008022
+008025
+008027
+008028
+008030
+008034
+008035
+008038
+008039
+008041
+008045
+008046
+008047
+008050
+008052
+008054
+008055
+008056
+008058
+008059
+008065
+008066
+008070
+008071
+008073
+008074
+008077
+008078
+008080
+008081
+008088
+008089
+008090
+008092
+008094
+008097
+008099
+008102
+008104
+008109
+008110
+008111
+008113
+008114
+008118
+008119
+008120
+008123
+008124
+008126
+008128
+008129
+008131
+008133
+008134
+008135
+008136
+008143
+008145
+008146
+008147
+008148
+008149
+008152
+008153
+008154
+008155
+008156
+008157
+008158
+008161
+008162
+008165
+008167
+008170
+008172
+008176
+008178
+008179
+008181
+008182
+008183
+008184
+008185
+008187
+008192
+008193
+008194
+008195
+008196
+008198
+008201
+008205
+008206
+008207
+008210
+008212
+008214
+008215
+008217
+008219
+008221
+008227
+008228
+008230
+008231
+008233
+008234
+008237
+008238
+008239
+008240
+008242
+008243
+008245
+008246
+008247
+008249
+008255
+008256
+008257
+008259
+008264
+008265
+008266
+008267
+008270
+008271
+008273
+008274
+008276
+008277
+008278
+008283
+008286
+008287
+008288
+008289
+008290
+008291
+008298
+008303
+008304
+008305
+008308
+008309
+008314
+008321
+008324
+008325
+008328
+008330
+008331
+008333
+008334
+008337
+008339
+008340
+008343
+008344
+008347
+008348
+008350
+008352
+008353
+008354
+008356
+008357
+008358
+008361
+008362
+008363
+008366
+008367
+008369
+008371
+008373
+008375
+008377
+008378
+008379
+008380
+008382
+008383
+008389
+008392
+008393
+008394
+008395
+008396
+008399
+008400
+008401
+008402
+008404
+008405
+008406
+008407
+008408
+008411
+008412
+008414
+008417
+008418
+008419
+008420
+008421
+008428
+008431
+008432
+008435
+008436
+008439
+008440
+008441
+008446
+008447
+008448
+008451
+008455
+008457
+008458
+008459
+008460
+008463
+008464
+008469
+008471
+008473
+008474
+008476
+008479
+008480
+008481
+008486
+008487
+008488
+008489
+008490
+008491
+008493
+008496
+008497
+008500
+008501
+008504
+008505
+008507
+008508
+008510
+008511
+008515
+008516
+008520
+008525
+008527
+008528
+008531
+008532
+008537
+008538
+008539
+008540
+008543
+008544
+008545
+008546
+008547
+008548
+008551
+008552
+008554
+008555
+008560
+008561
+008563
+008565
+008566
+008567
+008569
+008570
+008571
+008574
+008575
+008577
+008578
+008579
+008580
+008583
+008589
+008590
+008591
+008593
+008594
+008597
+008598
+008599
+008600
+008603
+008605
+008609
+008611
+008613
+008614
+008616
+008619
+008622
+008623
+008625
+008626
+008627
+008629
+008630
+008631
+008632
+008634
+008637
+008640
+008641
+008642
+008643
+008646
+008648
+008649
+008650
+008651
+008652
+008656
+008657
+008658
+008659
+008660
+008661
+008662
+008664
+008666
+008668
+008669
+008671
+008672
+008673
+008674
+008675
+008677
+008678
+008679
+008681
+008682
+008684
+008685
+008686
+008689
+008693
+008694
+008696
+008697
+008700
+008703
+008704
+008705
+008707
+008708
+008711
+008712
+008714
+008715
+008719
+008721
+008724
+008726
+008729
+008734
+008735
+008736
+008737
+008740
+008743
+008745
+008746
+008751
+008754
+008758
+008761
+008762
+008763
+008765
+008767
+008774
+008777
+008778
+008779
+008780
+008781
+008782
+008785
+008786
+008787
+008788
+008789
+008791
+008792
+008795
+008797
+008798
+008800
+008802
+008803
+008804
+008807
+008808
+008812
+008816
+008818
+008820
+008821
+008824
+008825
+008827
+008828
+008829
+008830
+008832
+008834
+008839
+008842
+008844
+008845
+008846
+008850
+008851
+008852
+008853
+008855
+008857
+008860
+008861
+008863
+008864
+008866
+008868
+008869
+008870
+008875
+008877
+008881
+008882
+008887
+008889
+008893
+008894
+008895
+008896
+008897
+008898
+008899
+008901
+008902
+008903
+008904
+008906
+008907
+008908
+008910
+008912
+008915
+008916
+008918
+008922
+008924
+008925
+008928
+008934
+008935
+008937
+008938
+008941
+008945
+008946
+008947
+008949
+008950
+008952
+008954
+008956
+008957
+008959
+008963
+008964
+008972
+008974
+008977
+008981
+008984
+008986
+008990
+008991
+008992
+008993
+008994
+008996
+008998
+009001
+009003
+009008
+009009
+009010
+009011
+009012
+009013
+009014
+009017
+009021
+009023
+009025
+009026
+009028
+009030
+009031
+009033
+009038
+009040
+009041
+009043
+009044
+009046
+009047
+009050
+009052
+009054
+009055
+009056
+009057
+009061
+009062
+009065
+009067
+009069
+009070
+009071
+009074
+009075
+009076
+009077
+009081
+009082
+009083
+009084
+009088
+009090
+009092
+009093
+009095
+009096
+009097
+009101
+009102
+009103
+009104
+009107
+009109
+009110
+009111
+009115
+009118
+009119
+009120
+009122
+009124
+009125
+009127
+009130
+009132
+009134
+009135
+009137
+009139
+009140
+009142
+009143
+009145
+009146
+009149
+009152
+009154
+009156
+009158
+009164
+009165
+009167
+009169
+009170
+009171
+009172
+009176
+009182
+009183
+009188
+009190
+009198
+009199
+009201
+009203
+009204
+009206
+009207
+009210
+009211
+009216
+009217
+009219
+009220
+009222
+009223
+009225
+009226
+009228
+009229
+009231
+009232
+009233
+009234
+009235
+009237
+009240
+009241
+009243
+009248
+009253
+009256
+009257
+009258
+009260
+009261
+009262
+009263
+009264
+009265
+009266
+009267
+009274
+009275
+009276
+009277
+009280
+009284
+009292
+009293
+009294
+009297
+009298
+009300
+009301
+009302
+009304
+009305
+009310
+009311
+009313
+009314
+009317
+009319
+009320
+009321
+009322
+009328
+009329
+009332
+009335
+009338
+009340
+009341
+009344
+009345
+009346
+009352
+009353
+009355
+009356
+009357
+009360
+009361
+009363
+009364
+009366
+009367
+009369
+009370
+009372
+009376
+009379
+009380
+009381
+009383
+009384
+009385
+009387
+009390
+009391
+009395
+009396
+009397
+009399
+009400
+009402
+009403
+009404
+009415
+009416
+009423
+009425
+009426
+009427
+009428
+009430
+009431
+009435
+009436
+009441
+009442
+009444
+009447
+009449
+009450
+009451
+009452
+009453
+009462
+009467
+009471
+009473
+009474
+009475
+009478
+009482
+009483
+009485
+009486
+009487
+009489
+009492
+009493
+009495
+009498
+009501
+009503
+009505
+009506
+009509
+009510
+009511
+009513
+009514
+009521
+009522
+009525
+009529
+009530
+009534
+009535
+009536
+009538
+009539
+009544
+009547
+009548
+009552
+009553
+009554
+009555
+009556
+009559
+009561
+009563
+009564
+009569
+009570
+009572
+009574
+009575
+009578
+009581
+009582
+009583
+009589
+009590
+009592
+009593
+009594
+009595
+009599
+009601
+009602
+009604
+009606
+009607
+009608
+009610
+009612
+009616
+009622
+009624
+009625
+009626
+009628
+009630
+009631
+009632
+009633
+009635
+009639
+009640
+009642
+009643
+009645
+009646
+009648
+009651
+009652
+009653
+009657
+009660
+009661
+009662
+009663
+009665
+009669
+009672
+009673
+009674
+009675
+009677
+009680
+009682
+009683
+009688
+009689
+009690
+009694
+009696
+009697
+009701
+009704
+009705
+009708
+009714
+009715
+009716
+009720
+009722
+009723
+009725
+009727
+009728
+009730
+009731
+009736
+009739
+009740
+009741
+009742
+009744
+009750
+009751
+009752
+009753
+009757
+009759
+009760
+009765
+009766
+009768
+009769
+009770
+009771
+009775
+009777
+009779
+009782
+009783
+009784
+009786
+009787
+009788
+009791
+009793
+009795
+009798
+009799
+009802
+009803
+009804
+009806
+009811
+009812
+009814
+009815
+009817
+009818
+009820
+009821
+009824
+009826
+009827
+009829
+009835
+009837
+009838
+009840
+009843
+009844
+009846
+009847
+009849
+009850
+009853
+009854
+009856
+009857
+009861
+009864
+009866
+009871
+009873
+009875
+009876
+009883
+009885
+009888
+009889
+009890
+009891
+009892
+009893
+009895
+009899
+009901
+009903
+009906
+009907
+009909
+009910
+009912
+009914
+009915
+009916
+009919
+009921
+009922
+009924
+009925
+009927
+009928
+009929
+009930
+009931
+009933
+009934
+009936
+009937
+009941
+009943
+009948
+009951
+009952
+009953
+009956
+009957
+009960
+009962
+009963
+000000385589
+000000532102
+000000201756
+000000421321
+000000509339
+000000547644
+000000117608
+000000051027
+000000396051
+000000354036
+000000265743
+000000033068
+000000305338
+000000108240
+000000202503
+000000213268
+000000474622
+000000053016
+000000452566
+000000548722
+000000393633
+000000219792
+000000412178
+000000345567
+000000119965
+000000521917
+000000466680
+000000325294
+000000143671
+000000368611
+000000127540
+000000492267
+000000438943
+000000392555
+000000525834
+000000281424
+000000413346
+000000220651
+000000434644
+000000046353
+000000140006
+000000574795
+000000231889
+000000433156
+000000386834
+000000133515
+000000001171
+000000293265
+000000466332
+000000270166
+000000443525
+000000125168
+000000072716
+000000476489
+000000134964
+000000480661
+000000315407
+000000371243
+000000242187
+000000375415
+000000406988
+000000262049
+000000289821
+000000194193
+000000019542
+000000365135
+000000319360
+000000059573
+000000022158
+000000493477
+000000453475
+000000561570
+000000137056
+000000284469
+000000073189
+000000514139
+000000444311
+000000297394
+000000105660
+000000475304
+000000222053
+000000157726
+000000529786
+000000511965
+000000383413
+000000341209
+000000245825
+000000533253
+000000527925
+000000075557
+000000052774
+000000415269
+000000108129
+000000287725
+000000121622
+000000514016
+000000441599
+000000206196
+000000564068
+000000160892
+000000214870
+000000172426
+000000480225
+000000303281
+000000016805
+000000403644
+000000269168
+000000562149
+000000473296
+000000008646
+000000192301
+000000539235
+000000265433
+000000117512
+000000575209
+000000359290
+000000425522
+000000466020
+000000467911
+000000149440
+000000532419
+000000388616
+000000058462
+000000546016
+000000074096
+000000344491
+000000326517
+000000536781
+000000274931
+000000489085
+000000030222
+000000533864
+000000467369
+000000303257
+000000397675
+000000190680
+000000496818
+000000301754
+000000415771
+000000303541
+000000016089
+000000097099
+000000267719
+000000121903
+000000579206
+000000512948
+000000006701
+000000064622
+000000362072
+000000262323
+000000087936
+000000052155
+000000062540
+000000048428
+000000423513
+000000328853
+000000081117
+000000327059
+000000131666
+000000314313
+000000218454
+000000044478
+000000241867
+000000458042
+000000436435
+000000030864
+000000475796
+000000484689
+000000217645
+000000083884
+000000048376
+000000209791
+000000328802
+000000227616
+000000411941
+000000485236
+000000330084
+000000270554
+000000192796
+000000125142
+000000001448
+000000163104
+000000517780
+000000040466
+000000027616
+000000311326
+000000494012
+000000436830
+000000052947
+000000380300
+000000194679
+000000132706
+000000520256
+000000370258
+000000253515
+000000123862
+000000215149
+000000322905
+000000021095
+000000191731
+000000528802
+000000265235
+000000344702
+000000516214
+000000219791
+000000428191
+000000102275
+000000288923
+000000078336
+000000260293
+000000040056
+000000192631
+000000446694
+000000284545
+000000508207
+000000469834
+000000035357
+000000182291
+000000083331
+000000000670
+000000013754
+000000218751
+000000507017
+000000487851
+000000240698
+000000164179
+000000543026
+000000528748
+000000237000
+000000185590
+000000208371
+000000069583
+000000021136
+000000485705
+000000153126
+000000081556
+000000203069
+000000543490
+000000212801
+000000117792
+000000099537
+000000365372
+000000577405
+000000489442
+000000096157
+000000238114
+000000235532
+000000200202
+000000426075
+000000360231
+000000563514
+000000063270
+000000523154
+000000198775
+000000294053
+000000125476
+000000478090
+000000173080
+000000420598
+000000043203
+000000373847
+000000025895
+000000105642
+000000333463
+000000125412
+000000066027
+000000489400
+000000255598
+000000561442
+000000530212
+000000115816
+000000552066
+000000490328
+000000149423
+000000128667
+000000082898
+000000543041
+000000558639
+000000273436
+000000125298
+000000177102
+000000499259
+000000033697
+000000160311
+000000115071
+000000264823
+000000145820
+000000410908
+000000266853
+000000479836
+000000002645
+000000141414
+000000404750
+000000063671
+000000418677
+000000212868
+000000076674
+000000107013
+000000443465
+000000505933
+000000143825
+000000363415
+000000123916
+000000215693
+000000524575
+000000530407
+000000429505
+000000486686
+000000457656
+000000085777
+000000067356
+000000123757
+000000438025
+000000144725
+000000512904
+000000441949
+000000265211
+000000458846
+000000193673
+000000515837
+000000093327
+000000562804
+000000153711
+000000528067
+000000159682
+000000480489
+000000067959
+000000472392
+000000471407
+000000549687
+000000515040
+000000320582
+000000571328
+000000032115
+000000170327
+000000123970
+000000423036
+000000202827
+000000537157
+000000132612
+000000413242
+000000556817
+000000569960
+000000393094
+000000170968
+000000420291
+000000431322
+000000467076
+000000377395
+000000447688
+000000545278
+000000191806
+000000514034
+000000340489
+000000416819
+000000101772
+000000456719
+000000257867
+000000453319
+000000144985
+000000503945
+000000403278
+000000268599
+000000398632
+000000130973
+000000444694
+000000343229
+000000432529
+000000524049
+000000097334
+000000134066
+000000332131
+000000489608
+000000502275
+000000468178
+000000075479
+000000005088
+000000078113
+000000187675
+000000311953
+000000513646
+000000087377
+000000011364
+000000487236
+000000416884
+000000262013
+000000026799
+000000207889
+000000323295
+000000282366
+000000315057
+000000041984
+000000379111
+000000520342
+000000077095
+000000386009
+000000553761
+000000279596
+000000318523
+000000476111
+000000260433
+000000444566
+000000393979
+000000320533
+000000394259
+000000400612
+000000019451
+000000013279
+000000225264
+000000279775
+000000515390
+000000410603
+000000148588
+000000494743
+000000032456
+000000282899
+000000490055
+000000575625
+000000036477
+000000135763
+000000031418
+000000206577
+000000388434
+000000463875
+000000092034
+000000038256
+000000444080
+000000317323
+000000037509
+000000130188
+000000577632
+000000117026
+000000014027
+000000354003
+000000058172
+000000490665
+000000558009
+000000194140
+000000260679
+000000525272
+000000214030
+000000181571
+000000573520
+000000042578
+000000469558
+000000232543
+000000006182
+000000236580
+000000434693
+000000212257
+000000188952
+000000140053
+000000048223
+000000130914
+000000023199
+000000102904
+000000192217
+000000569851
+000000325279
+000000410216
+000000395425
+000000044112
+000000250372
+000000368626
+000000423723
+000000431194
+000000386683
+000000238561
+000000571497
+000000026435
+000000151005
+000000170774
+000000201249
+000000212780
+000000332614
+000000212276
+000000399887
+000000069428
+000000054875
+000000342122
+000000365707
+000000311997
+000000414117
+000000301236
+000000081105
+000000206161
+000000108392
+000000353186
+000000137964
+000000433044
+000000100627
+000000392851
+000000033383
+000000224100
+000000022090
+000000567990
+000000052005
+000000001781
+000000012183
+000000556035
+000000343256
+000000394773
+000000348951
+000000253444
+000000241963
+000000523002
+000000338741
+000000337062
+000000428390
+000000161762
+000000557731
+000000234197
+000000100689
+000000193943
+000000419350
+000000114469
+000000328354
+000000491778
+000000405248
+000000009077
+000000424744
+000000195433
+000000360678
+000000573225
+000000295074
+000000353220
+000000120018
+000000118710
+000000019306
+000000531369
+000000416049
+000000170348
+000000123036
+000000120918
+000000429802
+000000326935
+000000436214
+000000186556
+000000241591
+000000132494
+000000313599
+000000576537
+000000106736
+000000092212
+000000458921
+000000030010
+000000007544
+000000090777
+000000505530
+000000012892
+000000308599
+000000478927
+000000000034
+000000196321
+000000366485
+000000431847
+000000306154
+000000066556
+000000341137
+000000366389
+000000008180
+000000208663
+000000447839
+000000469147
+000000472896
+000000576809
+000000518365
+000000233748
+000000147733
+000000562721
+000000383607
+000000333868
+000000370986
+000000158569
+000000125782
+000000352861
+000000527879
+000000148280
+000000532568
+000000163585
+000000562008
+000000093232
+000000020512
+000000068789
+000000369000
+000000299488
+000000128709
+000000210480
+000000351218
+000000460460
+000000324816
+000000008691
+000000342184
+000000526521
+000000244401
+000000269380
+000000289967
+000000052360
+000000232181
+000000453133
+000000341070
+000000093314
+000000102668
+000000504487
+000000152333
+000000468731
+000000052938
+000000503170
+000000109148
+000000396294
+000000148828
+000000548393
+000000004208
+000000447765
+000000396073
+000000510782
+000000302576
+000000110217
+000000034687
+000000464787
+000000240123
+000000161515
+000000350086
+000000314983
+000000525299
+000000237224
+000000511224
+000000240198
+000000510538
+000000214255
+000000538737
+000000076203
+000000543713
+000000096106
+000000327281
+000000473427
+000000332480
+000000564865
+000000377231
+000000259431
+000000146563
+000000430495
+000000513266
+000000079047
+000000462997
+000000483442
+000000480841
+000000019532
+000000369369
+000000153136
+000000496953
+000000494800
+000000201394
+000000240173
+000000513609
+000000037629
+000000527587
+000000063147
+000000269160
+000000154995
+000000152238
+000000260715
+000000521634
+000000499537
+000000179963
+000000104550
+000000405660
+000000391444
+000000134650
+000000287105
+000000546933
+000000084889
+000000148292
+000000163933
+000000390094
+000000473044
+000000098529
+000000246672
+000000329421
+000000237315
+000000572604
+000000266455
+000000116607
+000000041913
+000000030267
+000000434457
+000000083494
+000000375802
+000000186147
+000000561599
+000000429491
+000000402619
+000000568276
+000000129843
+000000471096
+000000297859
+000000142333
+000000095777
+000000388018
+000000535981
+000000362312
+000000487952
+000000324979
+000000448868
+000000464928
+000000406426
+000000199188
+000000393125
+000000338228
+000000276770
+000000553388
+000000053491
+000000202829
+000000460728
+000000208236
+000000226648
+000000213546
+000000456756
+000000153589
+000000537861
+000000407545
+000000375317
+000000496179
+000000347702
+000000454314
+000000244349
+000000097686
+000000539784
+000000485494
+000000018148
+000000159313
+000000411313
+000000357925
+000000224391
+000000033243
+000000316022
+000000555900
+000000247609
+000000371977
+000000194676
+000000363165
+000000031470
+000000146824
+000000019151
+000000577283
+000000417265
+000000483013
+000000193560
+000000108243
+000000176521
+000000302547
+000000164863
+000000155860
+000000039317
+000000388113
+000000223577
+000000144505
+000000226811
+000000396421
+000000159374
+000000232230
+000000462773
+000000208984
+000000515814
+000000378278
+000000426158
+000000103428
+000000440729
+000000206662
+000000541421
+000000133131
+000000073808
+000000498960
+000000508815
+000000356064
+000000466301
+000000003178
+000000242664
+000000121610
+000000447607
+000000464006
+000000006229
+000000027159
+000000194671
+000000307272
+000000151558
+000000418099
+000000361381
+000000459200
+000000387924
+000000070265
+000000221949
+000000010324
+000000182240
+000000007319
+000000349030
+000000198600
+000000482062
+000000128938
+000000459136
+000000474550
+000000323797
+000000291894
+000000516268
+000000154011
+000000382148
+000000301218
+000000289758
+000000570077
+000000240967
+000000226517
+000000288591
+000000008373
+000000442345
+000000080549
+000000004318
+000000017152
+000000137386
+000000193387
+000000291402
+000000475893
+000000008179
+000000129908
+000000047617
+000000064360
+000000003035
+000000046144
+000000250234
+000000124516
+000000057689
+000000393266
+000000406948
+000000154880
+000000181212
+000000312334
+000000577868
+000000288547
+000000412545
+000000110926
+000000156977
+000000146706
+000000456377
+000000109136
+000000342932
+000000290285
+000000409275
+000000263677
+000000060671
+000000398053
+000000186709
+000000035474
+000000275988
+000000356478
+000000187063
+000000496099
+000000118572
+000000551677
+000000555771
+000000020193
+000000485761
+000000072898
+000000127477
+000000514771
+000000344817
+000000540092
+000000071322
+000000499779
+000000283054
+000000546466
+000000463830
+000000507830
+000000534426
+000000343425
+000000455945
+000000096315
+000000367881
+000000238933
+000000581249
+000000200307
+000000086408
+000000206809
+000000546164
+000000389255
+000000533808
+000000079460
+000000192905
+000000426261
+000000097182
+000000456275
+000000359479
+000000291236
+000000007643
+000000361321
+000000345880
+000000327263
+000000173580
+000000542922
+000000203349
+000000384603
+000000153128
+000000418826
+000000344998
+000000186586
+000000018439
+000000164657
+000000212331
+000000140730
+000000211653
+000000306435
+000000533431
+000000335107
+000000305384
+000000309848
+000000147546
+000000333887
+000000190187
+000000089603
+000000175943
+000000066737
+000000411792
+000000504425
+000000376858
+000000431431
+000000381282
+000000565769
+000000496386
+000000161873
+000000501369
+000000296046
+000000468287
+000000301296
+000000152632
+000000148184
+000000305414
+000000022309
+000000066943
+000000089225
+000000512007
+000000554978
+000000115358
+000000132758
+000000267700
+000000128168
+000000558576
+000000429833
+000000179088
+000000177899
+000000533525
+000000302216
+000000423810
+000000403459
+000000570001
+000000148286
+000000243355
+000000051310
+000000440559
+000000319616
+000000470091
+000000247895
+000000286361
+000000369382
+000000435163
+000000256474
+000000038933
+000000403907
+000000143224
+000000542936
+000000319136
+000000424111
+000000047198
+000000227484
+000000081544
+000000185448
+000000421639
+000000058838
+000000021320
+000000511198
+000000052648
+000000493000
+000000357005
+000000118862
+000000392219
+000000326028
+000000343481
+000000082449
+000000231844
+000000089999
+000000184446
+000000019828
+000000147618
+000000396494
+000000501435
+000000025172
+000000296867
+000000103865
+000000257214
+000000085005
+000000306952
+000000490490
+000000187495
+000000086840
+000000180794
+000000285603
+000000369156
+000000130005
+000000285512
+000000506034
+000000523204
+000000369380
+000000349964
+000000061520
+000000136711
+000000485532
+000000321059
+000000397117
+000000411969
+000000218886
+000000458228
+000000151050
+000000463309
+000000388290
+000000498010
+000000431785
+000000130222
+000000006447
+000000109114
+000000190211
+000000083407
+000000473050
+000000428565
+000000380905
+000000197850
+000000078286
+000000372652
+000000131126
+000000066878
+000000058117
+000000032523
+000000161772
+000000015474
+000000241797
+000000378506
+000000228133
+000000175362
+000000344238
+000000115515
+000000287360
+000000278570
+000000199410
+000000063485
+000000242868
+000000212342
+000000279025
+000000038321
+000000301747
+000000333170
+000000201291
+000000293751
+000000275115
+000000467675
+000000558567
+000000318124
+000000059708
+000000543350
+000000278338
+000000574947
+000000251344
+000000424711
+000000327624
+000000229631
+000000562100
+000000337771
+000000219796
+000000071409
+000000260020
+000000254392
+000000480065
+000000137745
+000000428817
+000000425052
+000000459451
+000000090373
+000000350794
+000000233110
+000000463803
+000000148400
+000000351841
+000000347042
+000000049115
+000000337156
+000000404886
+000000415849
+000000367771
+000000469786
+000000133200
+000000032284
+000000322945
+000000242089
+000000436407
+000000531883
+000000026622
+000000239933
+000000203796
+000000118242
+000000411845
+000000008473
+000000040937
+000000062170
+000000042387
+000000273174
+000000327738
+000000573733
+000000208133
+000000324448
+000000259150
+000000036324
+000000389466
+000000280239
+000000281052
+000000239728
+000000473651
+000000145056
+000000343231
+000000533835
+000000014320
+000000035282
+000000271897
+000000522818
+000000191972
+000000475626
+000000189785
+000000430710
+000000477273
+000000118022
+000000218608
+000000313637
+000000122952
+000000342442
+000000499007
+000000044209
+000000132702
+000000190656
+000000010681
+000000118748
+000000036639
+000000136461
+000000199669
+000000191212
+000000308512
+000000292907
+000000149078
+000000184590
+000000362657
+000000066753
+000000447204
+000000093947
+000000092031
+000000329475
+000000360660
+000000458533
+000000316275
+000000030471
+000000297872
+000000309983
+000000346932
+000000570423
+000000326071
+000000501307
+000000201420
+000000391842
+000000188911
+000000191283
+000000410855
+000000162384
+000000453357
+000000467187
+000000140883
+000000015617
+000000268577
+000000346562
+000000188514
+000000372775
+000000048268
+000000531657
+000000433647
+000000497455
+000000575857
+000000546248
+000000274602
+000000326408
+000000230610
+000000200665
+000000221878
+000000426309
+000000557105
+000000343183
+000000063446
+000000083548
+000000166087
+000000167501
+000000144622
+000000224042
+000000304466
+000000168562
+000000295197
+000000338988
+000000338978
+000000556591
+000000205190
+000000301895
+000000265663
+000000350089
+000000420544
+000000192594
+000000022710
+000000262758
+000000198349
+000000247603
+000000367107
+000000294284
+000000212247
+000000042003
+000000110250
+000000088575
+000000158873
+000000229107
+000000576262
+000000457474
+000000198550
+000000407372
+000000320812
+000000103404
+000000490110
+000000371138
+000000297906
+000000164286
+000000147838
+000000029709
+000000380305
+000000117105
+000000119357
+000000033034
+000000334471
+000000091909
+000000045573
+000000390520
+000000514391
+000000383464
+000000151911
+000000082465
+000000447974
+000000196686
+000000548824
+000000467071
+000000079172
+000000118683
+000000540107
+000000483159
+000000484721
+000000343670
+000000131415
+000000334216
+000000417606
+000000090257
+000000016836
+000000136078
+000000229156
+000000127555
+000000499950
+000000278747
+000000414927
+000000393659
+000000399183
+000000088229
+000000022874
+000000448696
+000000054264
+000000101742
+000000557183
+000000137635
+000000440611
+000000554351
+000000574349
+000000139436
+000000280651
+000000555848
+000000388203
+000000180274
+000000073521
+000000392315
+000000550414
+000000384512
+000000484007
+000000042156
+000000211935
+000000573033
+000000125160
+000000399516
+000000332968
+000000227103
+000000298353
+000000344844
+000000007107
+000000392458
+000000487655
+000000092134
+000000411384
+000000281371
+000000361866
+000000338105
+000000371226
+000000549117
+000000568529
+000000374934
+000000265096
+000000090985
+000000132528
+000000108442
+000000564969
+000000541456
+000000242940
+000000324104
+000000196518
+000000320171
+000000555309
+000000126182
+000000000706
+000000310140
+000000063115
+000000320721
+000000219313
+000000130528
+000000499862
+000000156171
+000000389630
+000000253500
+000000058640
+000000381759
+000000563809
+000000073280
+000000563110
+000000186399
+000000462304
+000000560180
+000000439827
+000000031339
+000000292232
+000000355471
+000000416816
+000000495348
+000000275642
+000000548734
+000000533751
+000000575257
+000000093356
+000000026662
+000000276703
+000000574066
+000000326264
+000000136929
+000000378149
+000000184155
+000000280187
+000000026208
+000000157916
+000000255954
+000000044291
+000000158906
+000000077979
+000000356362
+000000248191
+000000501379
+000000088116
+000000102811
+000000188062
+000000353559
+000000395714
+000000314279
+000000510304
+000000414202
+000000346391
+000000135206
+000000279511
+000000314671
+000000134383
+000000301667
+000000408571
+000000162827
+000000261597
+000000565622
+000000142942
+000000338327
+000000075723
+000000421499
+000000080982
+000000479769
+000000502140
+000000246160
+000000285342
+000000451667
+000000252217
+000000298810
+000000256742
+000000509839
+000000526132
+000000235646
+000000015614
+000000174258
+000000427335
+000000522871
+000000560440
+000000427348
+000000486020
+000000091875
+000000292739
+000000236198
+000000399837
+000000322350
+000000035217
+000000132106
+000000530772
+000000382017
+000000409963
+000000421763
+000000490153
+000000298224
+000000016725
+000000101245
+000000556835
+000000240682
+000000331535
+000000244978
+000000308292
+000000550972
+000000522015
+000000559053
+000000299244
+000000151458
+000000538922
+000000466885
+000000233022
+000000514171
+000000532548
+000000046004
+000000258773
+000000180179
+000000256061
+000000536615
+000000508710
+000000497267
+000000402183
+000000006874
+000000233376
+000000427918
+000000289212
+000000255524
+000000244451
+000000418761
+000000111152
+000000085131
+000000411666
+000000070745
+000000018647
+000000483737
+000000260257
+000000564762
+000000102149
+000000384085
+000000529597
+000000557931
+000000449244
+000000312220
+000000579374
+000000144746
+000000461507
+000000241037
+000000166375
+000000010540
+000000379314
+000000145343
+000000442793
+000000143783
+000000480790
+000000288000
+000000319452
+000000329503
+000000207913
+000000186073
+000000535592
+000000404652
+000000534669
+000000534366
+000000237090
+000000540746
+000000386443
+000000349321
+000000471860
+000000070336
+000000572015
+000000243386
+000000127204
+000000324278
+000000080745
+000000397231
+000000157270
+000000442542
+000000342561
+000000276874
+000000556120
+000000024769
+000000023411
+000000253222
+000000484301
+000000036725
+000000302071
+000000402969
+000000040283
+000000327921
+000000143420
+000000237390
+000000072133
+000000387515
+000000503292
+000000341710
+000000070261
+000000111472
+000000476773
+000000045617
+000000062619
+000000500043
+000000378396
+000000509986
+000000391074
+000000197678
+000000362713
+000000359086
+000000515240
+000000138807
+000000576941
+000000371348
+000000108677
+000000174196
+000000163818
+000000423209
+000000325152
+000000132123
+000000567914
+000000180505
+000000568687
+000000008564
+000000242303
+000000038438
+000000072041
+000000155793
+000000337167
+000000220428
+000000308210
+000000284418
+000000191050
+000000209449
+000000083959
+000000266334
+000000434850
+000000276740
+000000147342
+000000427203
+000000331688
+000000273294
+000000098674
+000000035814
+000000523081
+000000037620
+000000115372
+000000475042
+000000505911
+000000013414
+000000315043
+000000502012
+000000291687
+000000264722
+000000040926
+000000551875
+000000475810
+000000402057
+000000022525
+000000011042
+000000397863
+000000544005
+000000476499
+000000416528
+000000363559
+000000399045
+000000169959
+000000319676
+000000420496
+000000060641
+000000509095
+000000185623
+000000580586
+000000512145
+000000166450
+000000155167
+000000414948
+000000333424
+000000137833
+000000188184
+000000460567
+000000154867
+000000239254
+000000138299
+000000308170
+000000571964
+000000293851
+000000257134
+000000565722
+000000349469
+000000184223
+000000176505
+000000401045
+000000150576
+000000530958
+000000420750
+000000248666
+000000379316
+000000470085
+000000412453
+000000278732
+000000112164
+000000460931
+000000418394
+000000249941
+000000427239
+000000164694
+000000375361
+000000195265
+000000221891
+000000429485
+000000529842
+000000183224
+000000346839
+000000415119
+000000189888
+000000246915
+000000559657
+000000362331
+000000197401
+000000283818
+000000495143
+000000438805
+000000094564
+000000199003
+000000087555
+000000318657
+000000510059
+000000303986
+000000098887
+000000430759
+000000101657
+000000353484
+000000129806
+000000548357
+000000519867
+000000136846
+000000230057
+000000025803
+000000097890
+000000524628
+000000292962
+000000122207
+000000198375
+000000513900
+000000256760
+000000160901
+000000166622
+000000061564
+000000554340
+000000443093
+000000458551
+000000435688
+000000380912
+000000240304
+000000029170
+000000405994
+000000050105
+000000384486
+000000512840
+000000217874
+000000473372
+000000311480
+000000557539
+000000029875
+000000509084
+000000285002
+000000321511
+000000275603
+000000300123
+000000231471
+000000136227
+000000005437
+000000532531
+000000056605
+000000149892
+000000078075
+000000497006
+000000279649
+000000013948
+000000510898
+000000033995
+000000052044
+000000322023
+000000039553
+000000146249
+000000011294
+000000214119
+000000115422
+000000340734
+000000266579
+000000212501
+000000089196
+000000069705
+000000262113
+000000398563
+000000479712
+000000278983
+000000375202
+000000224278
+000000571518
+000000404460
+000000535733
+000000096185
+000000168480
+000000312850
+000000099970
+000000467939
+000000507424
+000000253740
+000000011887
+000000475939
+000000361991
+000000553534
+000000061138
+000000357289
+000000540464
+000000083490
+000000081622
+000000558741
+000000361933
+000000172491
+000000404792
+000000411624
+000000558129
+000000568469
+000000069047
+000000289007
+000000123770
+000000518177
+000000075344
+000000230169
+000000416918
+000000024403
+000000139344
+000000101736
+000000339089
+000000154613
+000000093971
+000000235681
+000000485928
+000000023479
+000000523373
+000000522101
+000000539311
+000000204562
+000000385157
+000000263467
+000000171120
+000000409022
+000000549885
+000000066987
+000000181948
+000000259452
+000000282930
+000000101713
+000000161098
+000000096354
+000000395083
+000000027763
+000000567186
+000000484964
+000000074331
+000000199952
+000000158536
+000000268809
+000000403118
+000000573655
+000000466736
+000000155575
+000000361132
+000000100413
+000000224554
+000000547743
+000000548874
+000000069549
+000000187963
+000000143110
+000000059943
+000000058483
+000000569865
+000000063486
+000000561577
+000000038092
+000000145873
+000000422623
+000000370193
+000000574304
+000000016009
+000000440842
+000000067065
+000000184210
+000000569070
+000000428580
+000000315474
+000000097712
+000000377282
+000000337185
+000000379014
+000000247265
+000000558677
+000000161019
+000000275380
+000000412142
+000000098471
+000000370634
+000000491448
+000000428739
+000000255904
+000000114093
+000000053178
+000000347865
+000000472671
+000000355650
+000000244720
+000000560967
+000000521631
+000000377212
+000000026538
+000000006226
+000000106045
+000000487038
+000000526341
+000000319155
+000000168031
+000000313206
+000000254411
+000000404486
+000000400286
+000000140391
+000000026598
+000000065427
+000000285450
+000000381037
+000000571498
+000000235802
+000000508580
+000000303508
+000000107167
+000000486350
+000000538879
+000000078827
+000000081363
+000000167205
+000000375341
+000000230484
+000000000071
+000000308592
+000000329355
+000000293931
+000000092529
+000000188696
+000000565235
+000000495542
+000000177306
+000000353909
+000000579917
+000000191031
+000000309338
+000000209788
+000000463615
+000000564418
+000000320344
+000000005692
+000000474906
+000000020515
+000000023501
+000000211317
+000000229478
+000000234343
+000000150827
+000000095879
+000000288472
+000000179118
+000000180857
+000000220686
+000000092795
+000000527643
+000000393297
+000000175333
+000000144357
+000000022899
+000000019845
+000000046883
+000000176085
+000000107438
+000000475295
+000000553501
+000000256938
+000000264676
+000000512037
+000000094118
+000000188727
+000000535699
+000000484103
+000000330959
+000000316152
+000000270384
+000000002453
+000000035514
+000000360614
+000000004068
+000000261387
+000000425762
+000000315864
+000000488368
+000000468845
+000000065156
+000000237443
+000000020349
+000000199389
+000000099922
+000000090724
+000000309494
+000000062942
+000000364187
+000000177148
+000000023400
+000000064390
+000000337815
+000000392643
+000000166995
+000000383026
+000000464715
+000000383866
+000000419406
+000000572886
+000000298525
+000000153618
+000000571694
+000000124462
+000000213141
+000000079230
+000000227069
+000000108840
+000000163309
+000000058385
+000000048474
+000000268938
+000000489900
+000000474084
+000000492378
+000000307299
+000000259475
+000000025972
+000000262937
+000000278222
+000000201241
+000000001455
+000000387470
+000000009975
+000000391632
+000000529203
+000000037717
+000000542713
+000000340642
+000000407150
+000000103228
+000000530999
+000000184951
+000000493994
+000000180479
+000000251736
+000000114164
+000000285961
+000000486240
+000000031602
+000000432201
+000000436975
+000000334614
+000000577524
+000000448078
+000000393080
+000000025241
+000000404243
+000000498650
+000000171328
+000000514846
+000000305277
+000000389586
+000000159525
+000000184633
+000000032271
+000000021397
+000000486964
+000000555065
+000000355870
+000000557848
+000000388026
+000000087058
+000000300476
+000000058758
+000000523374
+000000152353
+000000248324
+000000458208
+000000176863
+000000531252
+000000021671
+000000189388
+000000307194
+000000571219
+000000334944
+000000432276
+000000068359
+000000073075
+000000019981
+000000010645
+000000543877
+000000540529
+000000391436
+000000021964
+000000503424
+000000049798
+000000225398
+000000522406
+000000073721
+000000247369
+000000324764
+000000477111
+000000290570
+000000504550
+000000352505
+000000335106
+000000425218
+000000325143
+000000190915
+000000144497
+000000219756
+000000104935
+000000362123
+000000154633
+000000397404
+000000528555
+000000159203
+000000447976
+000000542146
+000000474600
+000000330586
+000000572055
+000000381944
+000000039196
+000000016664
+000000294002
+000000067563
+000000178592
+000000244056
+000000264663
+000000125658
+000000579560
+000000217780
+000000198477
+000000363489
+000000235600
+000000220089
+000000430467
+000000463814
+000000321385
+000000466403
+000000513811
+000000567440
+000000213897
+000000463305
+000000350988
+000000184763
+000000192681
+000000332724
+000000125244
+000000262965
+000000284274
+000000005554
+000000472690
+000000026685
+000000022582
+000000485234
+000000013605
+000000072628
+000000078880
+000000038791
+000000452198
+000000365903
+000000556420
+000000386788
+000000167741
+000000399981
+000000464937
+000000015987
+000000266696
+000000561545
+000000114549
+000000367900
+000000303177
+000000061524
+000000078982
+000000434968
+000000466665
+000000391088
+000000095833
+000000263883
+000000342060
+000000076454
+000000178550
+000000195739
+000000182398
+000000141224
+000000433483
+000000577213
+000000351948
+000000380493
+000000345813
+000000575354
+000000437206
+000000213356
+000000341048
+000000190466
+000000287601
+000000218155
+000000216998
+000000230837
+000000503277
+000000094045
+000000490643
+000000436195
+000000002209
+000000353624
+000000407378
+000000418885
+000000041565
+000000065829
+000000160510
+000000368309
+000000050810
+000000159850
+000000369736
+000000499789
+000000168852
+000000156928
+000000237667
+000000516430
+000000075791
+000000090244
+000000248779
+000000389426
+000000202264
+000000415839
+000000442868
+000000314126
+000000504657
+000000463633
+000000534564
+000000382418
+000000389986
+000000267224
+000000058849
+000000228025
+000000409134
+000000175017
+000000389213
+000000522462
+000000235751
+000000371814
+000000189539
+000000225191
+000000168512
+000000501651
+000000452381
+000000005820
+000000311882
+000000248163
+000000280799
+000000263400
+000000071137
+000000433196
+000000342715
+000000066628
+000000292266
+000000201125
+000000233614
+000000235522
+000000501494
+000000121920
+000000247599
+000000330022
+000000322095
+000000574208
+000000460198
+000000121016
+000000560623
+000000239943
+000000011188
+000000226664
+000000096689
+000000094978
+000000093506
+000000273253
+000000470797
+000000156461
+000000065582
+000000081081
+000000534659
+000000272940
+000000444691
+000000148884
+000000059106
+000000475236
+000000504013
+000000332385
+000000079481
+000000075090
+000000045366
+000000381832
+000000124994
+000000337555
+000000257732
+000000041938
+000000327132
+000000120067
+000000320391
+000000188329
+000000366648
+000000546463
+000000087204
+000000302572
+000000546058
+000000321097
+000000513704
+000000054718
+000000216952
+000000288986
+000000481130
+000000311304
+000000529012
+000000373511
+000000370783
+000000466499
+000000295068
+000000004673
+000000019239
+000000039978
+000000176222
+000000397892
+000000168289
+000000242619
+000000519831
+000000263699
+000000565310
+000000019131
+000000201405
+000000450841
+000000519676
+000000212814
+000000240782
+000000327988
+000000516263
+000000536235
+000000523819
+000000229942
+000000473506
+000000419893
+000000183517
+000000305287
+000000158088
+000000129957
+000000168405
+000000106335
+000000472907
+000000406657
+000000168422
+000000554168
+000000071911
+000000195508
+000000415190
+000000450318
+000000373021
+000000046025
+000000204420
+000000154111
+000000267586
+000000271999
+000000507908
+000000178871
+000000218846
+000000508846
+000000541944
+000000223777
+000000054521
+000000350214
+000000205214
+000000015802
+000000477887
+000000172285
+000000261360
+000000029817
+000000485343
+000000044592
+000000362973
+000000181103
+000000009413
+000000253863
+000000254965
+000000522285
+000000502141
+000000151291
+000000447549
+000000306281
+000000553531
+000000152795
+000000206475
+000000570807
+000000531575
+000000286388
+000000261281
+000000166056
+000000332007
+000000560020
+000000525691
+000000282365
+000000289187
+000000111992
+000000471468
+000000471226
+000000134231
+000000084123
+000000231020
+000000148002
+000000189853
+000000235366
+000000194908
+000000459898
+000000242039
+000000532147
+000000380292
+000000145083
+000000356586
+000000044544
+000000010403
+000000064961
+000000074139
+000000370117
+000000241410
+000000504020
+000000147293
+000000264158
+000000329494
+000000304038
+000000234000
+000000206387
+000000197237
+000000561066
+000000505510
+000000447439
+000000094550
+000000133741
+000000008333
+000000497855
+000000479886
+000000044911
+000000289128
+000000136790
+000000459190
+000000110058
+000000499104
+000000382261
+000000163608
+000000293012
+000000121997
+000000206429
+000000072955
+000000134346
+000000111319
+000000216579
+000000477846
+000000204436
+000000496424
+000000346678
+000000033386
+000000482371
+000000280157
+000000249429
+000000001907
+000000475195
+000000413115
+000000013879
+000000401785
+000000175699
+000000022926
+000000355806
+000000402425
+000000501204
+000000196775
+000000480950
+000000478736
+000000450457
+000000405843
+000000026879
+000000328881
+000000340036
+000000066445
+000000322553
+000000323959
+000000405314
+000000136652
+000000131533
+000000274585
+000000220948
+000000572283
+000000122460
+000000471332
+000000187537
+000000119600
+000000570196
+000000318722
+000000515457
+000000237721
+000000092187
+000000274629
+000000527830
+000000108408
+000000099474
+000000064455
+000000143174
+000000122947
+000000445915
+000000026981
+000000547752
+000000098501
+000000460964
+000000426777
+000000373284
+000000477410
+000000228382
+000000360540
+000000278280
+000000528868
+000000438341
+000000522566
+000000545293
+000000202112
+000000547966
+000000452014
+000000077847
+000000440160
+000000446018
+000000246154
+000000327433
+000000420629
+000000103966
+000000264540
+000000149228
+000000255279
+000000580142
+000000285649
+000000371245
+000000266961
+000000500214
+000000048825
+000000256220
+000000390341
+000000491959
+000000109635
+000000555976
+000000530163
+000000503938
+000000287585
+000000526225
+000000164515
+000000123843
+000000353543
+000000481254
+000000253049
+000000477106
+000000347936
+000000168698
+000000185117
+000000152662
+000000091195
+000000558132
+000000364234
+000000109622
+000000170908
+000000064152
+000000157860
+000000067832
+000000052256
+000000531115
+000000456876
+000000228861
+000000016716
+000000125353
+000000342380
+000000251577
+000000411821
+000000183771
+000000079369
+000000221003
+000000398214
+000000093707
+000000345498
+000000033017
+000000536199
+000000075267
+000000268688
+000000295250
+000000251183
+000000255448
+000000345429
+000000240608
+000000301494
+000000050125
+000000193435
+000000133571
+000000178389
+000000043338
+000000418144
+000000563898
+000000053892
+000000536576
+000000355534
+000000259824
+000000099388
+000000182423
+000000234713
+000000329939
+000000225558
+000000229596
+000000283278
+000000258174
+000000240273
+000000115740
+000000336900
+000000074069
+000000100607
+000000388347
+000000028333
+000000079589
+000000068203
+000000025060
+000000518245
+000000098631
+000000500471
+000000545308
+000000436632
+000000581021
+000000337551
+000000247723
+000000454053
+000000311011
+000000101180
+000000153987
+000000472405
+000000259983
+000000130438
+000000460863
+000000494835
+000000257529
+000000227185
+000000251585
+000000117578
+000000344181
+000000492291
+000000568554
+000000218601
+000000058674
+000000165609
+000000227779
+000000460296
+000000408333
+000000144814
+000000425612
+000000486139
+000000415275
+000000245846
+000000437336
+000000372433
+000000294104
+000000514541
+000000471097
+000000353997
+000000331405
+000000069698
+000000087064
+000000052644
+000000104758
+000000466390
+000000393288
+000000474186
+000000397599
+000000207027
+000000570111
+000000504265
+000000564682
+000000572937
+000000432428
+000000576727
+000000009699
+000000178009
+000000091520
+000000555668
+000000490711
+000000478386
+000000110683
+000000378583
+000000107454
+000000476754
+000000208991
+000000092679
+000000463724
+000000291016
+000000426049
+000000427782
+000000449793
+000000407349
+000000220630
+000000218917
+000000127668
+000000150300
+000000176316
+000000345497
+000000529549
+000000337594
+000000410648
+000000543541
+000000421346
+000000403821
+000000426477
+000000502534
+000000429455
+000000336320
+000000469556
+000000427129
+000000115191
+000000566135
+000000327105
+000000581285
+000000260400
+000000088560
+000000258538
+000000176796
+000000496210
+000000512023
+000000390915
+000000569079
+000000262900
+000000000142
+000000335289
+000000021447
+000000532744
+000000250434
+000000381251
+000000158196
+000000028367
+000000219974
+000000386497
+000000300267
+000000362482
+000000274196
+000000414764
+000000273607
+000000548848
+000000262608
+000000546070
+000000264193
+000000175527
+000000327794
+000000144831
+000000430473
+000000360617
+000000126610
+000000199304
+000000138094
+000000457453
+000000241779
+000000374130
+000000325154
+000000049801
+000000556801
+000000296471
+000000055443
+000000141501
+000000112747
+000000563511
+000000134119
+000000432307
+000000113455
+000000406033
+000000494895
+000000346904
+000000078023
+000000257036
+000000470951
+000000221190
+000000141448
+000000311899
+000000371861
+000000220823
+000000468277
+000000577887
+000000450004
+000000489961
+000000381865
+000000094175
+000000068625
+000000071221
+000000123336
+000000340445
+000000093923
+000000062200
+000000576327
+000000512920
+000000039288
+000000576771
+000000046408
+000000268586
+000000533750
+000000103403
+000000114087
+000000122560
+000000055955
+000000399672
+000000276332
+000000110111
+000000363570
+000000286376
+000000076835
+000000255194
+000000332182
+000000489218
+000000038920
+000000543239
+000000569103
+000000121779
+000000419080
+000000382399
+000000390785
+000000310749
+000000383652
+000000200274
+000000224364
+000000429818
+000000254292
+000000431569
+000000088868
+000000240414
+000000009381
+000000492156
+000000262347
+000000394131
+000000494550
+000000116526
+000000444346
+000000506664
+000000298427
+000000114068
+000000277498
+000000246237
+000000301238
+000000203618
+000000078820
+000000329078
+000000330916
+000000321402
+000000494508
+000000239194
+000000400336
+000000047071
+000000502758
+000000088606
+000000198545
+000000068597
+000000496920
+000000501002
+000000329379
+000000115222
+000000555711
+000000382629
+000000499983
+000000575325
+000000008876
+000000478738
+000000343968
+000000261389
+000000534716
+000000366171
+000000545124
+000000479390
+000000106194
+000000335326
+000000091300
+000000555356
+000000560355
+000000052145
+000000476904
+000000205762
+000000008469
+000000048630
+000000028494
+000000504187
+000000553851
+000000471790
+000000516189
+000000422899
+000000447840
+000000110000
+000000018295
+000000506903
+000000377300
+000000252810
+000000535284
+000000231952
+000000128170
+000000249529
+000000119596
+000000211641
+000000004809
+000000150996
+000000261439
+000000348829
+000000527501
+000000329118
+000000096535
+000000086459
+000000516244
+000000043128
+000000418069
+000000407039
+000000199029
+000000131067
+000000148318
+000000105688
+000000059641
+000000213652
+000000048256
+000000137842
+000000270247
+000000381109
+000000369170
+000000385646
+000000071214
+000000206913
+000000387506
+000000392394
+000000271588
+000000113326
+000000558736
+000000115749
+000000071440
+000000373704
+000000184879
+000000494690
+000000180271
+000000230148
+000000567754
+000000309087
+000000561931
+000000344924
+000000428788
+000000567118
+000000218405
+000000474378
+000000205150
+000000556811
+000000165162
+000000231828
+000000225133
+000000060400
+000000383432
+000000260275
+000000552305
+000000374087
+000000009231
+000000241407
+000000190646
+000000327337
+000000313176
+000000494679
+000000086946
+000000475238
+000000094119
+000000080596
+000000253784
+000000224111
+000000461283
+000000533989
+000000296858
+000000241623
+000000477485
+000000333586
+000000144259
+000000402590
+000000430583
+000000521256
+000000073733
+000000281674
+000000332489
+000000057999
+000000242379
+000000414324
+000000487631
+000000209015
+000000473964
+000000267950
+000000539551
+000000193787
+000000216393
+000000455333
+000000310789
+000000521357
+000000054448
+000000110200
+000000048273
+000000457737
+000000365540
+000000552432
+000000538243
+000000198064
+000000453545
+000000022087
+000000548464
+000000205362
+000000030448
+000000231280
+000000459716
+000000415077
+000000202531
+000000462080
+000000541893
+000000333557
+000000461669
+000000232484
+000000294008
+000000032102
+000000131015
+000000559252
+000000318464
+000000121987
+000000240323
+000000487953
+000000192500
+000000226084
+000000426912
+000000110869
+000000305427
+000000127391
+000000290137
+000000099382
+000000494077
+000000016784
+000000434234
+000000504673
+000000280368
+000000570403
+000000358425
+000000113504
+000000037563
+000000083626
+000000374999
+000000226966
+000000021782
+000000326293
+000000534045
+000000550394
+000000001777
+000000569584
+000000204683
+000000085291
+000000206878
+000000301714
+000000128248
+000000324165
+000000404585
+000000136539
+000000568040
+000000240804
+000000036764
+000000268737
+000000114521
+000000335033
+000000097080
+000000467959
+000000378985
+000000431165
+000000299089
+000000484173
+000000380343
+000000020541
+000000011146
+000000376785
+000000363727
+000000352671
+000000089087
+000000393258
+000000376492
+000000033144
+000000538309
+000000430523
+000000440286
+000000105601
+000000010495
+000000488154
+000000171221
+000000442326
+000000354804
+000000473438
+000000515062
+000000151922
+000000408221
+000000461477
+000000052818
+000000090192
+000000063777
+000000016317
+000000424220
+000000326454
+000000436694
+000000034827
+000000112327
+000000361221
+000000124874
+000000385666
+000000133279
+000000342478
+000000499922
+000000238345
+000000159427
+000000129737
+000000270639
+000000394021
+000000578485
+000000553034
+000000183217
+000000336445
+000000099649
+000000065612
+000000068125
+000000107607
+000000120088
+000000096360
+000000104313
+000000360512
+000000148802
+000000059614
+000000481723
+000000379966
+000000094663
+000000306222
+000000026731
+000000012268
+000000189593
+000000384302
+000000487401
+000000371953
+000000254033
+000000071502
+000000451300
+000000038769
+000000152247
+000000306506
+000000533217
+000000482740
+000000530127
+000000132972
+000000508567
+000000516623
+000000530494
+000000435569
+000000100435
+000000536963
+000000431340
+000000383348
+000000113325
+000000154895
+000000395735
+000000574384
+000000281634
+000000523470
+000000481057
+000000384503
+000000321666
+000000426538
+000000058073
+000000268583
+000000376811
+000000159250
+000000572171
+000000223384
+000000060970
+000000097165
+000000053369
+000000050827
+000000145978
+000000039067
+000000567899
+000000016680
+000000260883
+000000428026
+000000085625
+000000234699
+000000233079
+000000356083
+000000100583
+000000270325
+000000443390
+000000007616
+000000306722
+000000479203
+000000545128
+000000501062
+000000431686
+000000333605
+000000467956
+000000494039
+000000267182
+000000008953
+000000052388
+000000382089
+000000497162
+000000100449
+000000256549
+000000317019
+000000121152
+000000467037
+000000346093
+000000429991
+000000553793
+000000513733
+000000205846
+000000352188
+000000312679
+000000183603
+000000409414
+000000423935
+000000487589
+000000434884
+000000242118
+000000327713
+000000556715
+000000523189
+000000258770
+000000581797
+000000535651
+000000353282
+000000105172
+000000423065
+000000082745
+000000186599
+000000288700
+000000185002
+000000007224
+000000552073
+000000221937
+000000565110
+000000567438
+000000507028
+000000374218
+000000035894
+000000566249
+000000563040
+000000270650
+000000051716
+000000557342
+000000107620
+000000433063
+000000505269
+000000232123
+000000168898
+000000398628
+000000155884
+000000412868
+000000102168
+000000142746
+000000474399
+000000320351
+000000097871
+000000384849
+000000571948
+000000074533
+000000415746
+000000234785
+000000410493
+000000102863
+000000547435
+000000436199
+000000098989
+000000252525
+000000515125
+000000398040
+000000471107
+000000207043
+000000312343
+000000070097
+000000094121
+000000305821
+000000357024
+000000072832
+000000081365
+000000036755
+000000237685
+000000159446
+000000103554
+000000321903
+000000493793
+000000324390
+000000401835
+000000296988
+000000149835
+000000163076
+000000284043
+000000104381
+000000174412
+000000523433
+000000481911
+000000138896
+000000082293
+000000217108
+000000528232
+000000502724
+000000379070
+000000064256
+000000480583
+000000055806
+000000396120
+000000410110
+000000194616
+000000104811
+000000005355
+000000109445
+000000252208
+000000101826
+000000095749
+000000102735
+000000370235
+000000139740
+000000188918
+000000064510
+000000353948
+000000132485
+000000061562
+000000111824
+000000176732
+000000061076
+000000325523
+000000248730
+000000338889
+000000362175
+000000524500
+000000291509
+000000254143
+000000315128
+000000195860
+000000040557
+000000226368
+000000377394
+000000115404
+000000268342
+000000390215
+000000145518
+000000276343
+000000335929
+000000359722
+000000427464
+000000018089
+000000275027
+000000319401
+000000314277
+000000111492
+000000256365
+000000427610
+000000260099
+000000157715
+000000413626
+000000189605
+000000522959
+000000153907
+000000160560
+000000543492
+000000228074
+000000497001
+000000384612
+000000140918
+000000361124
+000000517674
+000000212384
+000000005344
+000000444363
+000000075190
+000000025853
+000000174238
+000000255365
+000000138192
+000000144897
+000000527363
+000000202326
+000000340096
+000000505469
+000000466132
+000000155790
+000000073661
+000000208513
+000000072495
+000000544263
+000000131965
+000000149298
+000000192891
+000000555355
+000000338878
+000000161277
+000000059666
+000000444382
+000000085518
+000000075857
+000000038290
+000000175210
+000000065628
+000000507249
+000000435703
+000000118417
+000000061582
+000000168686
+000000205424
+000000547297
+000000297242
+000000228105
+000000552681
+000000053999
+000000329127
+000000005754
+000000024699
+000000149444
+000000330098
+000000347235
+000000268396
+000000125586
+000000233430
+000000434372
+000000200642
+000000008385
+000000568700
+000000241599
+000000014759
+000000346437
+000000260942
+000000211498
+000000511546
+000000187119
+000000263574
+000000266666
+000000017324
+000000500816
+000000097543
+000000132814
+000000319645
+000000563764
+000000108085
+000000120743
+000000246592
+000000042161
+000000079355
+000000210221
+000000239520
+000000411851
+000000514798
+000000158179
+000000502223
+000000286591
+000000279331
+000000517340
+000000117918
+000000059278
+000000537772
+000000014276
+000000203616
+000000094381
+000000171472
+000000531970
+000000088915
+000000404424
+000000569375
+000000285817
+000000465559
+000000277146
+000000289712
+000000191675
+000000493329
+000000014880
+000000546114
+000000444453
+000000224371
+000000110540
+000000314440
+000000294581
+000000442809
+000000476300
+000000282351
+000000411104
+000000063378
+000000043331
+000000089320
+000000505666
+000000447485
+000000537960
+000000172059
+000000491102
+000000144925
+000000217395
+000000115851
+000000158977
+000000288707
+000000255067
+000000184713
+000000075361
+000000362198
+000000150126
+000000296286
+000000554426
+000000236457
+000000474471
+000000361693
+000000196018
+000000097195
+000000085914
+000000578915
+000000230428
+000000063123
+000000035767
+000000217379
+000000067396
+000000488278
+000000169701
+000000179603
+000000115113
+000000456690
+000000571504
+000000553867
+000000110603
+000000481357
+000000283867
+000000087403
+000000207041
+000000417638
+000000331236
+000000465285
+000000217793
+000000335415
+000000027793
+000000360721
+000000355792
+000000540176
+000000278525
+000000215795
+000000335566
+000000038681
+000000224908
+000000167152
+000000144561
+000000546242
+000000187752
+000000176086
+000000029465
+000000376114
+000000189737
+000000265070
+000000512022
+000000309850
+000000471814
+000000252544
+000000565641
+000000232371
+000000381008
+000000035796
+000000149371
+000000527468
+000000291973
+000000520660
+000000478577
+000000483862
+000000007713
+000000048892
+000000169448
+000000394115
+000000049027
+000000419150
+000000480951
+000000524263
+000000291348
+000000456483
+000000040102
+000000076525
+000000339100
+000000214391
+000000368268
+000000339403
+000000284771
+000000099642
+000000066144
+000000117789
+000000296108
+000000186429
+000000243066
+000000406329
+000000389445
+000000347313
+000000277524
+000000218554
+000000553248
+000000478597
+000000379645
+000000265589
+000000169849
+000000107257
+000000059735
+000000262599
+000000532612
+000000566486
+000000563658
+000000043266
+000000442743
+000000285678
+000000353662
+000000010444
+000000420754
+000000234220
+000000419383
+000000240802
+000000377421
+000000233337
+000000099387
+000000311475
+000000077123
+000000173515
+000000183201
+000000499621
+000000200922
+000000385805
+000000007155
+000000087481
+000000371841
+000000235200
+000000337365
+000000167479
+000000471118
+000000147879
+000000222858
+000000362159
+000000047293
+000000290106
+000000288724
+000000322992
+000000349376
+000000446036
+000000187654
+000000016839
+000000446147
+000000174529
+000000103667
+000000526927
+000000048756
+000000420276
+000000368253
+000000519870
+000000429407
+000000245852
+000000550912
+000000069536
+000000015346
+000000553747
+000000140073
+000000223426
+000000516828
+000000026936
+000000208724
+000000162357
+000000040011
+000000258834
+000000541957
+000000578168
+000000005435
+000000297023
+000000215534
+000000289754
+000000534573
+000000087743
+000000331419
+000000189547
+000000369991
+000000197067
+000000172568
+000000070493
+000000062864
+000000534756
+000000341275
+000000346591
+000000347819
+000000429762
+000000551129
+000000451515
+000000056364
+000000579487
+000000539746
+000000139889
+000000189922
+000000058547
+000000512785
+000000392015
+000000348585
+000000193363
+000000225751
+000000370362
+000000171086
+000000238562
+000000538090
+000000472656
+000000473665
+000000484604
+000000409774
+000000386539
+000000133104
+000000521240
+000000328969
+000000260011
+000000280687
+000000120077
+000000157279
+000000301657
+000000540496
+000000059151
+000000318006
+000000199255
+000000306313
+000000575896
+000000394801
+000000519112
+000000270269
+000000095243
+000000136561
+000000193168
+000000318924
+000000289782
+000000259040
+000000436941
+000000004785
+000000276848
+000000580027
+000000575978
+000000578238
+000000319005
+000000378795
+000000335610
+000000358494
+000000521288
+000000525529
+000000015667
+000000427956
+000000029345
+000000557823
+000000555062
+000000550410
+000000040930
+000000455934
+000000316178
+000000021569
+000000263600
+000000408418
+000000354019
+000000507362
+000000081484
+000000266436
+000000037705
+000000413121
+000000167695
+000000110369
+000000178747
+000000524369
+000000072050
+000000428109
+000000129328
+000000321195
+000000465069
+000000300189
+000000530952
+000000472258
+000000053569
+000000358492
+000000549668
+000000076014
+000000333365
+000000450305
+000000182500
+000000418606
+000000215521
+000000333245
+000000311564
+000000179454
+000000037377
+000000343198
+000000467131
+000000492055
+000000457233
+000000550627
+000000136271
+000000504382
+000000356379
+000000225070
+000000085685
+000000191390
+000000150908
+000000220821
+000000463856
+000000333722
+000000364420
+000000462954
+000000391011
+000000510564
+000000177609
+000000147303
+000000220777
+000000042641
+000000382905
+000000132689
+000000463825
+000000360318
+000000365927
+000000527603
+000000485342
+000000538557
+000000107511
+000000342490
+000000446481
+000000224557
+000000383073
+000000292047
+000000484214
+000000085886
+000000359569
+000000379470
+000000028293
+000000255622
+000000386154
+000000292271
+000000317054
+000000535856
+000000306975
+000000087620
+000000441212
+000000343410
+000000558362
+000000201717
+000000535393
+000000442185
+000000220399
+000000339974
+000000302325
+000000129599
+000000149878
+000000127093
+000000526342
+000000505418
+000000172319
+000000499835
+000000325175
+000000347925
+000000237920
+000000576581
+000000468443
+000000082375
+000000263783
+000000445601
+000000277145
+000000025743
+000000455698
+000000251318
+000000444082
+000000041802
+000000120827
+000000222726
+000000427888
+000000458048
+000000513573
+000000231206
+000000088875
+000000112053
+000000379038
+000000134590
+000000388824
+000000336966
+000000204536
+000000208690
+000000480744
+000000236142
+000000458778
+000000304698
+000000388011
+000000006936
+000000433472
+000000359118
+000000554316
+000000446413
+000000480876
+000000286751
+000000260307
+000000114363
+000000568237
+000000255197
+000000503232
+000000384740
+000000390086
+000000518551
+000000198022
+000000418565
+000000110251
+000000312603
+000000097021
+000000014592
+000000398525
+000000093786
+000000511390
+000000092181
+000000059710
+000000484734
+000000061683
+000000405523
+000000296769
+000000445276
+000000534016
+000000285686
+000000198139
+000000115241
+000000521674
+000000008311
+000000101031
+000000001737
+000000296169
+000000136681
+000000534151
+000000529511
+000000358391
+000000448795
+000000409884
+000000194459
+000000517656
+000000061904
+000000310607
+000000081508
+000000254549
+000000018333
+000000069312
+000000432372
+000000014821
+000000320788
+000000541219
+000000079498
+000000211299
+000000564142
+000000388374
+000000075455
+000000310473
+000000238563
+000000156695
+000000093571
+000000262736
+000000231393
+000000536884
+000000560366
+000000320353
+000000170888
+000000452412
+000000036331
+000000015049
+000000330914
+000000273874
+000000156985
+000000528131
+000000237726
+000000312886
+000000042534
+000000047916
+000000032082
+000000555107
+000000311031
+000000478072
+000000482534
+000000380525
+000000132686
+000000496059
+000000371595
+000000066348
+000000454898
+000000321395
+000000554442
+000000267008
+000000576307
+000000329012
+000000172148
+000000425283
+000000086797
+000000303358
+000000505927
+000000243090
+000000093581
+000000181920
+000000277916
+000000021202
+000000216820
+000000260581
+000000067255
+000000246181
+000000378692
+000000017451
+000000092549
+000000545274
+000000440641
+000000437947
+000000308739
+000000567013
+000000392145
+000000389011
+000000168053
+000000157377
+000000476055
+000000237262
+000000400124
+000000252144
+000000267259
+000000083029
+000000061959
+000000057068
+000000511002
+000000016113
+000000033358
+000000491228
+000000134160
+000000315160
+000000482671
+000000533281
+000000496845
+000000125313
+000000427319
+000000374171
+000000055402
+000000128256
+000000196521
+000000186868
+000000277778
+000000548792
+000000345725
+000000501229
+000000152255
+000000256565
+000000350331
+000000029794
+000000243251
+000000240589
+000000436138
+000000511658
+000000461687
+000000027009
+000000298290
+000000530888
+000000308120
+000000111553
+000000002068
+000000421811
+000000043558
+000000009673
+000000177763
+000000326731
+000000009599
+000000393422
+000000017198
+000000498770
+000000054009
+000000193105
+000000318683
+000000262933
+000000368348
+000000339094
+000000498138
+000000123753
+000000264962
+000000441169
+000000518524
+000000140691
+000000292302
+000000094307
+000000032703
+000000505507
+000000126687
+000000545447
+000000380812
+000000371149
+000000329602
+000000505343
+000000071675
+000000264539
+000000148761
+000000561357
+000000271791
+000000085543
+000000531873
+000000126260
+000000004760
+000000399489
+000000042868
+000000430122
+000000167330
+000000099295
+000000464649
+000000496554
+000000109699
+000000073904
+000000509677
+000000322557
+000000153666
+000000346004
+000000577417
+000000050206
+000000404635
+000000308192
+000000074465
+000000519046
+000000326079
+000000036557
+000000059527
+000000403705
+000000466839
+000000270722
+000000019874
+000000173620
+000000104790
+000000541631
+000000337602
+000000075963
+000000418596
+000000545749
+000000263479
+000000194847
+000000282600
+000000163106
+000000070502
+000000405582
+000000271395
+000000113935
+000000206203
+000000386189
+000000491508
+000000146656
+000000552927
+000000329946
+000000408660
+000000368731
+000000308436
+000000290002
+000000462770
+000000534723
+000000463338
+000000558436
+000000141834
+000000168317
+000000304015
+000000319785
+000000162112
+000000358134
+000000447726
+000000157673
+000000568495
+000000150049
+000000570755
+000000249273
+000000259233
+000000086877
+000000119423
+000000238022
+000000378814
+000000030915
+000000362824
+000000450160
+000000005340
+000000131400
+000000579802
+000000089614
+000000466242
+000000411257
+000000201770
+000000202587
+000000292140
+000000120285
+000000555684
+000000037638
+000000355760
+000000117094
+000000423770
+000000119748
+000000564883
+000000265414
+000000448436
+000000074213
+000000449195
+000000351553
+000000209176
+000000531499
+000000392631
+000000549002
+000000032289
+000000076971
+000000040946
+000000039406
+000000266646
+000000506146
+000000249365
+000000381463
+000000287695
+000000434771
+000000236399
+000000510515
+000000253233
+000000092752
+000000215549
+000000125056
+000000318039
+000000411778
+000000402818
+000000282871
+000000074591
+000000227468
+000000314755
+000000257243
+000000047563
+000000397173
+000000030383
+000000023996
+000000419908
+000000207542
+000000313789
+000000543264
+000000127424
+000000100594
+000000157153
+000000400555
+000000325441
+000000320222
+000000567106
+000000298699
+000000420410
+000000155402
+000000541550
+000000261500
+000000329124
+000000130006
+000000178131
+000000337189
+000000062500
+000000024023
+000000430476
+000000239854
+000000148705
+000000240976
+000000580121
+000000508923
+000000229140
+000000251167
+000000442585
+000000171753
+000000352305
+000000097734
+000000222983
+000000356690
+000000352377
+000000002964
+000000172507
+000000156020
+000000181524
+000000016246
+000000434183
+000000381961
+000000472913
+000000210097
+000000100503
+000000577926
+000000235081
+000000530406
+000000496991
+000000305476
+000000217799
+000000295540
+000000411700
+000000037205
+000000102906
+000000393583
+000000552156
+000000421539
+000000412525
+000000551571
+000000141994
+000000046071
+000000156436
+000000119267
+000000165160
+000000153031
+000000158028
+000000097367
+000000394159
+000000424258
+000000367449
+000000421804
+000000007730
+000000042919
+000000488360
+000000064798
+000000349104
+000000221737
+000000509679
+000000277914
+000000401561
+000000359840
+000000136983
+000000149364
+000000441147
+000000196064
+000000021061
+000000265378
+000000314801
+000000558555
+000000402973
+000000370790
+000000270379
+000000574242
+000000433892
+000000471020
+000000486870
+000000282437
+000000288267
+000000390087
+000000367362
+000000480181
+000000506439
+000000082565
+000000017166
+000000110611
+000000371978
+000000548331
+000000539419
+000000314738
+000000524621
+000000080495
+000000437510
+000000550534
+000000527337
+000000434328
+000000051278
+000000172158
+000000018975
+000000373731
+000000076117
+000000382164
+000000049434
+000000182927
+000000084440
+000000423048
+000000470002
+000000110634
+000000226552
+000000519138
+000000039779
+000000252492
+000000467137
+000000321673
+000000465324
+000000471155
+000000316917
+000000087338
+000000544094
+000000412551
+000000270574
+000000203178
+000000278414
+000000542042
+000000096440
+000000281924
+000000401235
+000000128250
+000000207980
+000000496513
+000000482596
+000000571441
+000000349939
+000000368667
+000000253940
+000000289067
+000000211175
+000000484425
+000000388449
+000000035594
+000000121235
+000000360329
+000000244928
+000000062427
+000000553962
+000000044267
+000000530649
+000000197576
+000000402775
+000000246650
+000000072052
+000000481571
+000000043997
+000000273352
+000000205851
+000000429408
+000000104594
+000000284818
+000000568115
+000000374516
+000000449330
+000000335411
+000000564920
+000000518816
+000000198164
+000000169026
+000000220819
+000000450217
+000000230915
+000000153047
+000000058701
+000000166092
+000000544288
+000000333710
+000000207549
+000000532009
+000000199339
+000000097564
+000000552811
+000000256787
+000000162813
+000000371991
+000000406699
+000000549261
+000000462527
+000000091460
+000000042960
+000000286482
+000000577321
+000000041001
+000000049542
+000000039640
+000000053423
+000000023981
+000000192529
+000000251360
+000000353284
+000000274422
+000000508555
+000000297944
+000000159598
+000000320374
+000000140713
+000000532673
+000000491850
+000000080328
+000000395678
+000000337497
+000000445075
+000000299641
+000000185384
+000000068457
+000000261520
+000000177366
+000000384826
+000000118399
+000000544856
+000000316755
+000000038274
+000000363248
+000000392972
+000000128644
+000000200351
+000000472506
+000000445371
+000000038134
+000000560898
+000000116894
+000000499852
+000000479556
+000000234819
+000000179159
+000000106379
+000000318550
+000000529532
+000000027658
+000000198560
+000000574720
+000000526029
+000000047983
+000000498007
+000000042366
+000000067888
+000000366591
+000000168010
+000000331093
+000000249556
+000000469092
+000000083950
+000000472598
+000000245540
+000000136704
+000000248948
+000000491274
+000000239808
+000000381254
+000000568238
+000000564659
+000000431357
+000000185436
+000000250564
+000000415434
+000000172658
+000000286254
+000000045325
+000000278240
+000000221914
+000000448145
+000000542084
+000000356010
+000000515962
+000000211837
+000000393857
+000000167045
+000000128215
+000000214719
+000000580693
+000000546918
+000000360128
+000000571903
+000000135459
+000000334391
+000000551441
+000000416668
+000000575267
+000000226518
+000000062020
+000000204556
+000000506982
+000000539404
+000000399195
+000000531283
+000000570516
+000000174167
+000000319693
+000000199484
+000000279919
+000000289100
+000000462798
+000000277788
+000000266536
+000000085926
+000000287407
+000000215196
+000000492075
+000000533961
+000000353906
+000000359595
+000000076841
+000000158017
+000000253094
+000000179558
+000000569674
+000000141532
+000000321403
+000000004477
+000000322796
+000000465327
+000000056240
+000000204216
+000000223466
+000000048641
+000000252968
+000000105537
+000000524257
+000000456453
+000000330253
+000000404748
+000000261596
+000000340654
+000000346334
+000000553271
+000000115119
+000000523445
+000000288372
+000000379502
+000000283530
+000000080792
+000000021269
+000000580718
+000000090867
+000000580162
+000000459515
+000000548183
+000000038213
+000000027829
+000000092526
+000000274019
+000000185821
+000000191931
+000000144796
+000000201270
+000000341065
+000000209671
+000000232050
+000000145476
+000000441445
+000000263859
+000000573105
+000000323019
+000000384010
+000000318247
+000000069670
+000000084592
+000000257958
+000000453649
+000000131579
+000000218283
+000000266627
+000000309241
+000000465018
+000000363885
+000000233366
+000000147576
+000000036850
+000000136962
+000000510622
+000000345630
+000000556406
+000000033213
+000000531910
+000000557357
+000000580334
+000000481290
+000000340422
+000000533502
+000000057381
+000000242210
+000000500765
+000000145994
+000000291038
+000000543203
+000000147778
+000000073922
+000000106935
+000000203545
+000000425578
+000000423480
+000000520858
+000000023368
+000000160900
+000000118330
+000000432615
+000000451800
+000000456931
+000000133874
+000000193621
+000000150948
+000000364491
+000000219905
+000000020465
+000000521610
+000000199956
+000000241955
+000000152020
+000000526565
+000000365709
+000000352191
+000000046686
+000000310181
+000000180445
+000000287219
+000000383341
+000000403746
+000000222029
+000000498657
+000000262376
+000000094590
+000000285493
+000000103746
+000000152472
+000000497158
+000000497207
+000000559695
+000000544071
+000000454680
+000000440694
+000000232931
+000000267531
+000000268266
+000000494480
+000000098394
+000000525432
+000000287437
+000000414667
+000000472666
+000000428599
+000000128175
+000000308327
+000000302361
+000000129006
+000000015599
+000000333323
+000000205461
+000000150196
+000000088835
+000000425690
+000000433200
+000000245750
+000000051429
+000000444888
+000000485951
+000000355022
+000000412571
+000000183435
+000000505062
+000000553682
+000000108908
+000000147976
+000000068866
+000000270938
+000000578748
+000000318108
+000000368827
+000000530919
+000000271215
+000000027734
+000000149376
+000000506209
+000000409184
+000000353175
+000000487421
+000000278045
+000000309100
+000000034580
+000000246955
+000000568675
+000000539509
+000000332078
+000000254938
+000000435466
+000000233873
+000000008401
+000000327551
+000000333290
+000000341218
+000000232790
+000000319398
+000000504140
+000000311991
+000000422121
+000000089725
+000000473475
+000000074159
+000000492292
+000000021254
+000000189634
+000000166598
+000000452813
+000000222599
+000000541816
+000000362346
+000000361406
+000000480652
+000000174560
+000000163897
+000000253749
+000000268231
+000000460730
+000000564951
+000000326805
+000000564629
+000000559754
+000000232031
+000000383991
+000000421469
+000000477831
+000000306540
+000000575908
+000000580152
+000000398818
+000000527243
+000000548662
+000000415322
+000000163879
+000000190664
+000000330676
+000000401907
+000000473260
+000000292283
+000000181697
+000000458721
+000000235871
+000000044993
+000000458567
+000000231178
+000000231542
+000000469287
+000000056190
+000000460723
+000000515719
+000000043256
+000000234938
+000000173883
+000000237510
+000000036745
+000000377920
+000000296318
+000000349896
+000000524991
+000000461819
+000000272188
+000000458123
+000000153142
+000000076087
+000000139007
+000000405752
+000000365880
+000000032286
+000000051334
+000000276945
+000000562330
+000000142786
+000000461331
+000000561938
+000000197289
+000000477698
+000000115356
+000000117743
+000000430230
+000000531607
+000000008644
+000000535355
+000000238843
+000000412613
+000000099984
+000000136235
+000000053022
+000000147108
+000000339210
+000000395744
+000000203103
+000000389964
+000000122108
+000000400617
+000000321119
+000000374340
+000000461092
+000000285679
+000000062250
+000000557205
+000000573184
+000000469137
+000000275977
+000000352205
+000000070213
+000000479427
+000000480894
+000000061133
+000000101522
+000000400752
+000000411658
+000000114256
+000000277563
+000000046805
+000000171380
+000000372234
+000000384401
+000000138529
+000000461339
+000000285093
+000000065025
+000000300040
+000000049315
+000000357003
+000000101310
+000000187566
+000000155172
+000000048252
+000000259910
+000000023309
+000000106243
+000000363639
+000000324483
+000000430391
+000000029252
+000000431921
+000000112938
+000000308659
+000000040201
+000000120491
+000000224759
+000000440461
+000000298698
+000000010407
+000000027660
+000000522008
+000000290165
+000000567375
+000000404235
+000000358048
+000000122936
+000000241273
+000000237190
+000000108264
+000000116740
+000000450066
+000000126685
+000000015528
+000000259093
+000000334234
+000000320403
+000000274684
+000000469713
+000000133496
+000000380949
+000000523673
+000000581731
+000000510680
+000000537139
+000000279837
+000000034793
+000000194798
+000000417596
+000000552571
+000000347377
+000000473929
+000000024393
+000000527845
+000000544322
+000000181518
+000000126964
+000000109265
+000000173652
+000000005253
+000000029406
+000000097210
+000000268777
+000000201368
+000000221055
+000000117060
+000000173046
+000000323468
+000000383726
+000000455010
+000000020039
+000000579447
+000000382438
+000000409454
+000000274562
+000000157168
+000000344051
+000000045634
+000000417653
+000000347724
+000000504396
+000000151915
+000000565245
+000000437034
+000000436411
+000000031043
+000000119283
+000000433413
+000000522108
+000000296698
+000000563989
+000000504690
+000000234990
+000000208350
+000000430804
+000000335810
+000000015203
+000000097172
+000000168099
+000000182895
+000000200143
+000000182903
+000000235038
+000000032724
+000000547186
+000000022142
+000000020013
+000000441856
+000000502441
+000000350040
+000000192886
+000000317391
+000000032665
+000000197597
+000000274521
+000000577223
+000000422029
+000000156370
+000000367319
+000000067577
+000000143749
+000000285448
+000000344402
+000000178958
+000000160490
+000000139541
+000000334561
+000000007095
+000000044079
+000000565608
+000000118584
+000000262654
+000000187037
+000000395987
+000000105120
+000000152789
+000000118598
+000000185373
+000000153980
+000000508761
+000000576413
+000000425112
+000000050261
+000000423039
+000000303308
+000000372316
+000000503331
+000000303056
+000000490509
+000000466202
+000000149022
+000000411184
+000000569729
+000000090307
+000000464737
+000000044227
+000000516237
+000000357511
+000000223612
+000000041455
+000000441054
+000000281034
+000000013352
+000000249309
+000000026323
+000000130070
+000000392892
+000000188175
+000000026671
+000000321079
+000000087177
+000000149381
+000000236593
+000000052886
+000000470411
+000000067941
+000000298475
+000000512322
+000000148516
+000000544026
+000000370739
+000000440656
+000000460378
+000000449152
+000000028582
+000000155299
+000000205350
+000000488403
+000000002684
+000000278899
+000000365032
+000000509367
+000000095078
+000000435665
+000000576153
+000000025535
+000000288316
+000000428340
+000000239174
+000000327020
+000000284018
+000000408390
+000000246787
+000000174423
+000000104282
+000000554767
+000000459749
+000000564188
+000000474785
+000000527193
+000000042844
+000000199736
+000000446354
+000000322249
+000000469096
+000000325221
+000000307708
+000000501377
+000000024629
+000000470975
+000000482202
+000000567454
+000000437138
+000000431825
+000000531765
+000000096064
+000000293532
+000000505539
+000000194352
+000000004471
+000000254432
+000000231581
+000000544449
+000000063820
+000000224753
+000000171179
+000000454649
+000000286998
+000000538155
+000000214109
+000000546716
+000000426948
+000000035105
+000000261503
+000000516026
+000000347557
+000000231654
+000000237085
+000000479809
+000000528112
+000000017604
+000000225093
+000000579394
+000000127781
+000000209772
+000000329508
+000000227289
+000000054728
+000000391684
+000000041688
+000000031569
+000000322097
+000000078068
+000000528116
+000000206899
+000000475441
+000000515213
+000000576573
+000000250226
+000000370224
+000000224848
+000000275970
+000000439834
+000000423630
+000000310094
+000000196610
+000000171058
+000000201019
+000000038257
+000000047975
+000000357537
+000000222755
+000000010935
+000000252459
+000000381318
+000000277613
+000000333378
+000000250993
+000000551170
+000000219196
+000000423005
+000000154168
+000000382652
+000000390571
+000000054691
+000000369776
+000000300147
+000000037709
+000000471665
+000000494684
+000000493187
+000000122584
+000000092514
+000000528941
+000000188850
+000000064070
+000000003148
+000000524245
+000000571415
+000000395170
+000000212381
+000000162200
+000000373789
+000000403421
+000000484215
+000000526956
+000000016206
+000000221089
+000000071589
+000000518548
+000000132249
+000000260445
+000000289005
+000000577857
+000000080406
+000000079191
+000000172582
+000000144453
+000000363325
+000000565650
+000000551542
+000000434634
+000000156459
+000000136415
+000000479711
+000000444869
+000000529087
+000000019047
+000000027534
+000000186103
+000000383923
+000000547192
+000000450247
+000000018513
+000000326201
+000000543409
+000000512923
+000000576191
+000000509800
+000000015653
+000000242212
+000000139496
+000000245481
+000000168096
+000000004278
+000000253382
+000000462023
+000000018781
+000000338168
+000000199598
+000000263780
+000000196131
+000000096244
+000000048840
+000000423454
+000000044663
+000000170428
+000000075735
+000000313069
+000000467604
+000000073837
+000000045594
+000000302219
+000000162223
+000000341513
+000000501756
+000000432744
+000000079955
+000000091797
+000000523195
+000000330284
+000000265713
+000000519407
+000000089126
+000000460576
+000000476871
+000000185513
+000000076042
+000000258890
+000000099297
+000000115151
+000000416326
+000000422783
+000000395230
+000000410992
+000000467662
+000000118485
+000000021343
+000000164104
+000000437209
+000000506321
+000000216790
+000000087504
+000000202966
+000000355860
+000000076985
+000000202507
+000000489916
+000000339453
+000000579781
+000000408243
+000000281127
+000000391063
+000000467311
+000000368874
+000000428278
+000000528631
+000000302656
+000000254003
+000000260882
+000000338736
+000000181393
+000000341809
+000000303685
+000000377411
+000000104930
+000000223836
+000000090317
+000000264695
+000000049073
+000000145155
+000000391492
+000000471562
+000000006647
+000000415629
+000000092909
+000000332217
+000000527118
+000000528019
+000000380016
+000000488345
+000000524838
+000000446861
+000000064425
+000000312960
+000000237459
+000000157288
+000000468351
+000000288055
+000000188973
+000000407972
+000000256075
+000000480057
+000000304627
+000000160952
+000000218447
+000000023542
+000000086901
+000000246717
+000000018766
+000000351154
+000000104756
+000000505655
+000000554032
+000000010229
+000000104906
+000000149546
+000000538671
+000000205206
+000000035438
+000000309843
+000000211560
+000000484573
+000000114153
+000000255181
+000000466523
+000000517597
+000000161752
+000000258788
+000000043545
+000000072629
+000000250387
+000000417164
+000000399297
+000000447020
+000000410655
+000000447948
+000000236406
+000000552149
+000000173211
+000000200401
+000000146700
+000000475244
+000000312943
+000000538888
+000000451909
+000000344744
+000000270593
+000000259976
+000000376283
+000000358343
+000000285214
+000000286877
+000000215910
+000000486869
+000000420371
+000000193785
+000000371106
+000000015595
+000000490496
+000000106043
+000000315609
+000000241868
+000000157815
+000000431967
+000000448861
+000000575916
+000000297921
+000000362804
+000000355667
+000000508809
+000000226053
+000000543385
+000000227413
+000000451066
+000000564580
+000000498615
+000000182112
+000000380191
+000000094538
+000000146929
+000000279066
+000000289618
+000000521285
+000000038310
+000000048742
+000000386648
+000000562328
+000000260056
+000000115574
+000000175390
+000000270381
+000000492785
+000000093604
+000000360525
+000000219544
+000000389101
+000000412330
+000000212181
+000000125684
+000000409166
+000000158831
+000000255036
+000000576157
+000000241248
+000000501385
+000000228527
+000000307480
+000000458365
+000000079247
+000000008170
+000000013703
+000000127785
+000000563404
+000000317532
+000000141331
+000000409808
+000000112845
+000000136411
+000000503178
+000000375400
+000000476140
+000000551607
+000000136077
+000000257379
+000000518215
+000000087767
+000000028287
+000000212089
+000000507440
+000000543224
+000000344456
+000000265074
+000000269109
+000000460503
+000000226170
+000000201421
+000000127743
+000000269508
+000000551952
+000000489475
+000000029154
+000000527846
+000000252043
+000000467262
+000000185151
+000000159411
+000000445982
+000000372548
+000000042956
+000000500650
+000000107935
+000000497736
+000000277048
+000000394640
+000000240259
+000000297112
+000000336811
+000000361309
+000000127316
+000000149331
+000000245419
+000000031437
+000000402970
+000000369977
+000000580161
+000000299780
+000000050578
+000000262285
+000000507536
+000000145174
+000000275695
+000000294814
+000000003270
+000000059114
+000000034915
+000000475007
+000000264389
+000000361108
+000000167092
+000000293108
+000000439095
+000000102589
+000000142378
+000000026665
+000000369482
+000000483375
+000000565996
+000000179209
+000000372618
+000000330357
+000000291528
+000000435811
+000000356718
+000000480409
+000000208712
+000000402887
+000000129059
+000000127866
+000000382482
+000000004620
+000000560754
+000000578713
+000000017183
+000000424431
+000000021688
+000000406957
+000000421578
+000000553320
+000000370417
+000000517211
+000000344171
+000000430885
+000000340559
+000000574200
+000000139130
+000000531906
+000000292087
+000000004754
+000000375580
+000000420330
+000000197499
+000000067956
+000000382102
+000000488139
+000000194203
+000000315268
+000000069136
+000000513241
+000000127377
+000000405214
+000000038294
+000000557023
+000000281003
+000000434804
+000000264870
+000000317534
+000000297520
+000000543728
+000000510910
+000000575704
+000000091234
+000000385346
+000000402757
+000000302513
+000000113271
+000000309968
+000000016377
+000000462553
+000000017625
+000000401822
+000000042853
+000000007781
+000000265277
+000000140118
+000000556278
+000000367754
+000000484287
+000000122724
+000000472169
+000000545534
+000000434039
+000000575005
+000000420461
+000000302713
+000000225473
+000000237100
+000000208589
+000000113168
+000000201758
+000000270070
+000000146202
+000000555549
+000000068717
+000000158883
+000000133377
+000000396625
+000000179011
+000000219158
+000000004931
+000000536579
+000000332377
+000000416284
+000000535389
+000000302275
+000000282377
+000000160927
+000000379077
+000000383762
+000000302634
+000000157206
+000000426282
+000000149834
+000000124471
+000000451953
+000000323119
+000000167422
+000000017179
+000000091719
+000000494445
+000000406189
+000000189885
+000000564726
+000000354955
+000000450551
+000000144484
+000000274804
+000000499837
+000000069952
+000000106585
+000000381426
+000000142400
+000000350073
+000000540483
+000000257270
+000000411182
+000000181260
+000000195715
+000000488150
+000000540695
+000000532684
+000000289486
+000000285076
+000000355796
+000000448702
+000000216841
+000000269206
+000000240783
+000000507535
+000000163497
+000000020906
+000000392152
+000000053426
+000000452979
+000000075565
+000000390232
+000000051339
+000000441045
+000000531309
+000000076781
+000000106383
+000000562745
+000000346190
+000000438255
+000000556030
+000000276066
+000000376321
+000000000438
+000000430925
+000000033329
+000000373312
+000000236218
+000000064309
+000000145369
+000000579366
+000000562737
+000000252373
+000000378029
+000000388693
+000000152980
+000000550310
+000000189742
+000000382012
+000000378765
+000000393379
+000000480001
+000000166903
+000000474713
+000000110395
+000000196002
+000000150819
+000000169763
+000000424307
+000000427376
+000000156098
+000000500662
+000000406056
+000000023954
+000000034231
+000000330041
+000000492894
+000000000154
+000000117064
+000000206068
+000000448876
+000000510644
+000000501540
+000000068712
+000000097868
+000000129656
+000000091858
+000000562054
+000000503761
+000000443583
+000000330368
+000000159332
+000000511724
+000000442220
+000000413879
+000000296833
+000000483352
+000000442614
+000000282741
+000000223112
+000000250417
+000000391674
+000000561750
+000000387875
+000000097180
+000000002279
+000000214067
+000000304374
+000000143941
+000000474502
+000000532085
+000000236568
+000000130228
+000000077304
+000000094439
+000000391486
+000000439015
+000000343571
+000000408057
+000000368154
+000000260738
+000000069978
+000000111361
+000000039993
+000000371739
+000000266503
+000000406841
+000000437303
+000000412508
+000000384420
+000000057095
+000000370929
+000000359365
+000000271907
+000000508291
+000000444670
+000000136265
+000000483266
+000000154289
+000000563929
+000000391831
+000000226734
+000000563342
+000000139144
+000000126907
+000000365329
+000000449681
+000000426179
+000000189903
+000000398758
+000000167891
+000000328350
+000000525248
+000000253506
+000000166076
+000000537925
+000000353275
+000000156113
+000000488866
+000000456563
+000000535748
+000000510154
+000000542154
+000000501116
+000000339529
+000000494240
+000000501723
+000000160317
+000000077745
+000000052629
+000000336449
+000000214137
+000000576801
+000000177010
+000000439609
+000000374685
+000000340476
+000000010900
+000000165298
+000000547759
+000000551609
+000000084591
+000000386766
+000000036409
+000000470366
+000000018312
+000000375962
+000000412575
+000000176298
+000000181207
+000000238511
+000000028506
+000000041284
+000000210372
+000000115973
+000000406103
+000000007856
+000000574747
+000000190872
+000000378035
+000000070685
+000000405836
+000000342683
+000000237954
+000000539141
+000000303387
+000000169097
+000000397075
+000000370448
+000000070271
+000000281779
+000000051168
+000000230619
+000000105683
+000000566016
+000000215124
+000000576822
+000000566699
+000000108020
+000000238272
+000000320972
+000000486788
+000000548958
+000000156197
+000000231104
+000000223599
+000000151268
+000000012372
+000000317036
+000000074082
+000000288824
+000000424445
+000000366558
+000000579326
+000000040890
+000000068242
+000000403951
+000000001688
+000000173897
+000000453509
+000000172404
+000000049058
+000000158798
+000000373753
+000000567390
+000000399558
+000000177420
+000000500422
+000000317208
+000000415475
+000000243135
+000000193094
+000000402331
+000000215231
+000000064423
+000000277496
+000000292209
+000000080445
+000000083696
+000000026609
+000000134327
+000000333826
+000000500664
+000000305705
+000000117379
+000000199011
+000000522034
+000000037999
+000000416543
+000000289972
+000000250834
+000000325666
+000000538359
+000000486388
+000000360869
+000000528903
+000000381107
+000000417716
+000000328088
+000000352828
+000000117454
+000000476321
+000000443320
+000000525443
+000000484674
+000000238902
+000000417602
+000000259346
+000000435758
+000000556345
+000000186233
+000000206395
+000000386799
+000000008958
+000000129187
+000000168185
+000000397673
+000000558246
+000000556597
+000000121356
+000000202886
+000000143980
+000000177604
+000000351359
+000000467197
+000000574415
+000000010219
+000000116196
+000000475108
+000000059454
+000000089820
+000000498081
+000000184504
+000000027270
+000000007174
+000000451559
+000000366493
+000000207030
+000000005540
+000000067414
+000000482561
+000000480831
+000000459899
+000000421254
+000000466681
+000000021048
+000000136168
+000000467062
+000000039628
+000000230150
+000000449066
+000000122303
+000000335781
+000000322558
+000000558153
+000000497335
+000000469988
+000000443591
+000000001306
+000000210333
+000000551802
+000000146981
+000000472181
+000000105291
+000000260716
+000000070923
+000000114504
+000000490511
+000000186968
+000000418506
+000000015274
+000000157314
+000000444982
+000000030160
+000000291158
+000000520341
+000000332403
+000000117931
+000000131952
+000000166126
+000000431708
+000000319468
+000000539908
+000000169200
+000000339634
+000000322349
+000000088846
+000000064915
+000000337321
+000000421307
+000000149738
+000000046009
+000000517453
+000000228518
+000000252269
+000000273618
+000000332723
+000000456369
+000000475610
+000000026997
+000000395424
+000000136338
+000000403265
+000000143522
+000000269260
+000000227554
+000000191689
+000000366099
+000000054534
+000000010546
+000000091933
+000000178175
+000000257029
+000000473815
+000000156974
+000000571531
+000000180418
+000000070754
+000000567837
+000000442143
+000000048939
+000000189405
+000000335521
+000000529950
+000000059738
+000000256250
+000000572765
+000000453287
+000000231596
+000000526598
+000000415054
+000000397479
+000000320808
+000000362062
+000000559656
+000000558817
+000000329908
+000000320112
+000000392618
+000000281267
+000000296511
+000000208288
+000000246382
+000000382780
+000000213999
+000000384700
+000000197305
+000000078059
+000000395432
+000000271729
+000000567937
+000000510611
+000000317134
+000000154745
+000000441083
+000000526972
+000000080987
+000000157267
+000000433705
+000000312724
+000000537526
+000000153674
+000000554207
+000000396317
+000000086031
+000000215586
+000000374111
+000000291665
+000000274678
+000000545101
+000000126392
+000000005095
+000000010471
+000000063729
+000000277932
+000000488004
+000000255582
+000000324436
+000000563817
+000000111004
+000000340103
+000000444203
+000000330607
+000000296128
+000000448255
+000000098729
+000000532426
+000000093708
+000000373089
+000000373375
+000000047406
+000000020052
+000000539553
+000000068821
+000000298979
+000000498354
+000000249549
+000000461993
+000000263779
+000000001392
+000000502593
+000000563711
+000000572804
+000000462517
+000000538368
+000000477973
+000000455290
+000000337711
+000000347115
+000000342323
+000000262940
+000000038198
+000000176408
+000000328373
+000000536392
+000000296348
+000000214367
+000000230578
+000000568562
+000000296703
+000000149598
+000000227270
+000000284578
+000000421658
+000000112240
+000000512736
+000000331349
+000000195079
+000000424694
+000000174312
+000000036718
+000000474073
+000000441943
+000000071784
+000000158354
+000000205520
+000000558955
+000000558759
+000000546279
+000000288983
+000000177937
+000000227526
+000000161185
+000000493074
+000000185545
+000000502730
+000000133161
+000000118950
+000000246233
+000000012249
+000000253492
+000000501038
+000000366831
+000000254911
+000000283984
+000000015565
+000000550455
+000000028389
+000000435923
+000000409889
+000000244227
+000000406920
+000000050482
+000000376564
+000000580562
+000000183131
+000000282674
+000000460950
+000000352649
+000000059152
+000000509901
+000000160648
+000000203062
+000000030925
+000000337985
+000000461744
+000000464111
+000000275913
+000000099086
+000000450741
+000000002618
+000000047255
+000000028451
+000000474526
+000000268394
+000000345839
+000000390684
+000000461799
+000000067463
+000000258460
+000000018864
+000000167322
+000000248116
+000000468615
+000000453313
+000000009148
+000000303959
+000000317476
+000000049024
+000000571990
+000000158878
+000000175156
+000000206909
+000000419064
+000000047451
+000000152470
+000000543447
+000000058431
+000000046634
+000000191005
+000000146388
+000000332654
+000000547783
+000000173202
+000000495457
+000000299082
+000000411668
+000000121902
+000000001999
+000000208678
+000000200495
+000000454039
+000000285908
+000000295049
+000000212203
+000000388761
+000000144157
+000000504325
+000000327580
+000000367836
+000000466024
+000000178157
+000000358814
+000000504194
+000000507091
+000000183949
+000000366086
+000000491991
+000000557442
+000000015273
+000000218648
+000000365168
+000000060196
+000000469644
+000000457041
+000000556491
+000000518030
+000000529840
+000000067057
+000000179019
+000000140044
+000000436802
+000000203459
+000000187979
+000000309802
+000000221322
+000000109046
+000000506901
+000000523564
+000000544035
+000000163568
+000000475550
+000000463787
+000000195911
+000000525693
+000000080147
+000000059987
+000000446751
+000000265233
+000000063888
+000000061395
+000000335072
+000000026551
+000000117170
+000000235959
+000000459755
+000000207097
+000000387293
+000000256841
+000000338607
+000000578659
+000000068377
+000000341801
+000000266168
+000000399276
+000000126381
+000000169712
+000000153392
+000000471507
+000000204682
+000000472832
+000000374947
+000000540899
+000000090006
+000000047599
+000000568614
+000000106296
+000000151482
+000000442416
+000000140067
+000000076962
+000000248238
+000000076254
+000000433420
+000000297191
+000000461245
+000000176283
+000000030769
+000000485926
+000000198921
+000000190323
+000000189504
+000000238525
+000000278161
+000000580585
+000000045071
+000000175347
+000000286576
+000000504868
+000000220339
+000000076654
+000000358462
+000000025751
+000000362944
+000000204830
+000000306724
+000000141616
+000000201477
+000000232618
+000000372959
+000000075319
+000000228373
+000000554439
+000000053597
+000000503028
+000000289507
+000000211963
+000000550518
+000000412857
+000000197437
+000000067027
+000000280024
+000000385864
+000000542384
+000000494141
+000000178017
+000000408303
+000000511075
+000000310861
+000000044083
+000000137211
+000000115266
+000000501054
+000000035962
+000000128409
+000000448319
+000000566076
+000000322777
+000000038083
+000000449467
+000000322226
+000000162675
+000000450558
+000000452341
+000000424218
+000000054589
+000000045188
+000000478368
+000000389705
+000000307054
+000000464964
+000000290600
+000000506540
+000000421762
+000000333024
+000000452694
+000000243446
+000000510339
+000000345161
+000000485083
+000000001168
+000000264396
+000000133697
+000000054305
+000000440811
+000000408815
+000000509563
+000000251690
+000000189197
+000000019158
+000000174103
+000000278452
+000000344483
+000000256091
+000000271574
+000000533784
+000000467522
+000000413942
+000000067115
+000000088870
+000000438479
+000000168963
+000000323178
+000000444735
+000000090782
+000000324901
+000000154443
+000000340305
+000000231364
+000000035529
+000000012551
+000000313557
+000000505919
+000000527379
+000000045962
+000000302982
+000000177449
+000000057250
+000000235838
+000000446322
+000000125435
+000000094487
+000000499693
+000000260668
+000000394483
+000000510915
+000000575293
+000000233829
+000000133278
+000000207455
+000000477143
+000000267571
+000000468604
+000000480752
+000000148862
+000000489995
+000000304347
+000000188544
+000000270502
+000000147615
+000000214507
+000000316089
+000000122421
+000000310706
+000000380284
+000000244839
+000000359106
+000000390552
+000000566331
+000000321500
+000000095526
+000000283163
+000000314725
+000000458189
+000000518605
+000000566864
+000000076899
+000000003014
+000000398385
+000000217156
+000000417626
+000000427467
+000000292991
+000000517508
+000000222696
+000000329865
+000000276325
+000000389474
+000000224777
+000000573756
+000000023699
+000000534331
+000000423837
+000000536412
+000000401173
+000000441382
+000000412616
+000000137811
+000000410585
+000000416960
+000000575206
+000000382154
+000000399784
+000000486372
+000000193044
+000000391415
+000000275542
+000000030646
+000000175609
+000000072004
+000000501039
+000000143111
+000000130032
+000000492102
+000000242297
+000000088192
+000000023096
+000000382997
+000000186308
+000000323114
+000000301012
+000000324308
+000000574324
+000000366385
+000000460568
+000000344854
+000000375914
+000000240279
+000000363214
+000000505145
+000000407767
+000000073417
+000000079423
+000000088080
+000000293980
+000000487245
+000000224109
+000000217511
+000000040380
+000000484282
+000000187559
+000000505546
+000000534983
+000000100863
+000000065353
+000000372489
+000000057298
+000000393242
+000000291347
+000000415360
+000000179544
+000000094502
+000000226681
+000000560587
+000000220843
+000000084821
+000000548126
+000000119016
+000000518440
+000000326978
+000000142684
+000000354819
+000000104898
+000000045026
+000000147300
+000000245503
+000000576430
+000000398850
+000000431812
+000000156772
+000000082658
+000000083217
+000000112739
+000000482128
+000000082678
+000000144723
+000000154259
+000000185464
+000000161220
+000000305703
+000000450856
+000000429727
+000000308222
+000000359030
+000000280257
+000000508488
+000000536729
+000000302531
+000000291822
+000000264268
+000000293880
+000000115087
+000000449007
+000000105113
+000000545053
+000000190033
+000000521964
+000000374890
+000000040433
+000000365073
+000000436354
+000000062604
+000000461162
+000000210684
+000000490991
+000000564493
+000000027175
+000000421144
+000000432877
+000000093639
+000000200008
+000000355568
+000000382318
+000000216740
+000000027343
+000000079269
+000000305142
+000000504454
+000000466827
+000000051791
+000000435363
+000000142364
+000000240784
+000000447623
+000000436665
+000000155751
+000000318533
+000000144718
+000000536973
+000000088123
+000000327502
+000000365041
+000000330237
+000000435764
+000000362333
+000000200952
+000000037743
+000000462071
+000000474038
+000000141805
+000000176060
+000000288169
+000000374396
+000000565365
+000000478837
+000000437923
+000000166987
+000000562989
+000000287541
+000000348651
+000000402357
+000000419979
+000000246248
+000000424978
+000000320964
+000000544395
+000000547745
+000000524115
+000000122117
+000000388214
+000000478029
+000000555405
+000000317474
+000000121812
+000000027215
+000000354515
+000000349425
+000000156151
+000000220915
+000000158854
+000000533011
+000000358482
+000000048663
+000000466532
+000000450493
+000000027756
+000000131118
+000000451501
+000000121994
+000000293435
+000000424152
+000000272747
+000000565332
+000000057016
+000000462875
+000000065139
+000000410002
+000000581302
+000000084701
+000000299654
+000000007522
+000000487299
+000000168239
+000000437467
+000000499588
+000000079268
+000000255089
+000000484136
+000000222137
+000000503401
+000000225943
+000000012647
+000000368581
+000000318564
+000000576709
+000000397445
+000000569495
+000000296404
+000000065842
+000000049551
+000000221927
+000000332461
+000000517983
+000000007139
+000000205716
+000000121493
+000000228565
+000000293468
+000000571850
+000000335085
+000000459475
+000000155671
+000000018874
+000000430590
+000000312054
+000000244721
+000000442667
+000000315348
+000000387546
+000000474964
+000000578652
+000000253236
+000000049591
+000000411775
+000000367509
+000000521064
+000000017651
+000000312141
+000000053893
+000000126701
+000000450370
+000000132964
+000000207598
+000000257576
+000000312153
+000000557127
+000000398884
+000000071044
+000000520109
+000000553764
+000000449073
+000000369703
+000000256141
+000000057395
+000000098720
+000000185848
+000000330408
+000000026348
+000000358883
+000000056713
+000000249659
+000000123070
+000000477718
+000000423984
+000000282840
+000000548565
+000000286724
+000000391689
+000000575356
+000000483487
+000000222948
+000000023821
+000000167713
+000000543291
+000000479805
+000000281617
+000000168994
+000000232723
+000000572980
+000000500495
+000000309181
+000000422654
+000000398172
+000000427438
+000000467727
+000000111746
+000000216817
+000000562648
+000000442952
+000000300994
+000000344935
+000000189939
+000000434412
+000000117897
+000000074041
+000000563739
+000000026762
+000000325790
+000000269017
+000000164183
+000000358667
+000000021614
+000000060170
+000000256560
+000000112329
+000000251785
+000000269344
+000000539089
+000000353446
+000000069302
+000000388211
+000000097159
+000000350069
+000000457337
+000000418110
+000000395723
+000000262851
+000000351686
+000000226896
+000000442686
+000000311167
+000000056772
+000000267106
+000000267704
+000000259337
+000000027108
+000000162646
+000000362599
+000000030631
+000000228714
+000000390567
+000000469658
+000000580942
+000000241971
+000000331224
+000000440444
+000000196255
+000000415680
+000000379987
+000000533603
+000000503385
+000000034063
+000000311251
+000000267788
+000000509176
+000000064884
+000000157886
+000000483107
+000000067075
+000000250833
+000000069959
+000000328246
+000000092801
+000000334476
+000000094416
+000000307892
+000000353408
+000000105782
+000000140456
+000000326209
+000000050322
+000000283968
+000000225055
+000000199243
+000000331919
+000000257934
+000000080960
+000000326639
+000000534001
+000000365514
+000000225738
+000000462639
+000000351061
+000000439537
+000000068826
+000000303962
+000000253796
+000000427189
+000000253578
+000000523766
+000000433110
+000000064697
+000000148394
+000000140285
+000000016193
+000000461609
+000000079555
+000000245717
+000000424866
+000000365008
+000000446870
+000000409394
+000000016776
+000000288262
+000000048271
+000000432500
+000000415818
+000000080928
+000000404983
+000000444571
+000000413723
+000000543393
+000000389672
+000000047544
+000000503321
+000000100591
+000000469977
+000000373748
+000000154023
+000000157385
+000000353221
+000000411958
+000000093487
+000000264436
+000000150378
+000000224238
+000000241483
+000000479591
+000000432675
+000000239338
+000000279208
+000000468722
+000000190927
+000000314481
+000000356369
+000000522933
+000000428029
+000000004212
+000000388309
+000000139734
+000000531362
+000000406857
+000000451359
+000000187609
+000000383157
+000000091264
+000000313957
+000000291117
+000000094753
+000000497930
+000000072666
+000000317563
+000000203440
+000000287574
+000000394441
+000000252844
+000000508412
+000000557824
+000000238117
+000000246267
+000000284930
+000000426482
+000000494404
+000000012556
+000000306718
+000000023797
+000000276853
+000000297574
+000000558467
+000000275028
+000000102080
+000000296706
+000000122869
+000000295668
+000000379340
+000000245864
+000000480729
+000000419062
+000000492882
+000000492371
+000000246931
+000000402668
+000000354278
+000000161156
+000000214316
+000000541463
+000000102466
+000000493210
+000000110002
+000000357996
+000000178520
+000000429318
+000000445528
+000000139564
+000000090349
+000000578900
+000000161356
+000000044964
+000000566336
+000000235790
+000000307773
+000000097255
+000000159269
+000000155582
+000000254706
+000000171758
+000000170250
+000000373063
+000000251425
+000000464322
+000000062337
+000000527908
+000000305940
+000000226011
+000000007398
+000000293304
+000000132503
+000000083547
+000000292435
+000000558886
+000000157505
+000000384909
+000000453558
+000000221478
+000000303361
+000000009452
+000000294925
+000000184325
+000000241347
+000000352425
+000000381998
+000000257632
+000000452695
+000000366148
+000000178156
+000000013938
+000000184037
+000000386194
+000000131527
+000000129592
+000000020398
+000000318462
+000000520435
+000000093393
+000000532439
+000000159021
+000000437196
+000000466599
+000000452756
+000000249688
+000000177109
+000000282855
+000000258337
+000000523691
+000000465156
+000000142668
+000000484341
+000000559051
+000000487279
+000000126311
+000000273068
+000000108904
+000000469343
+000000180387
+000000548957
+000000195081
+000000206109
+000000328499
+000000342549
+000000354519
+000000524216
+000000063251
+000000549535
+000000123749
+000000030156
+000000466450
+000000156458
+000000486825
+000000236484
+000000217433
+000000009062
+000000162693
+000000493902
+000000004904
+000000305480
+000000425254
+000000455381
+000000326712
+000000068114
+000000411291
+000000475529
+000000294854
+000000581346
+000000545832
+000000344667
+000000389441
+000000366103
+000000522891
+000000188173
+000000492170
+000000097733
+000000545309
+000000574025
+000000228784
+000000089166
+000000486609
+000000531481
+000000345786
+000000481171
+000000094813
+000000464130
+000000359715
+000000067331
+000000448944
+000000541264
+000000321766
+000000578225
+000000061867
+000000306535
+000000126590
+000000084890
+000000277072
+000000507642
+000000024290
+000000561735
+000000060093
+000000425400
+000000182403
+000000444337
+000000513445
+000000123421
+000000121876
+000000043190
+000000375140
+000000021451
+000000047949
+000000089318
+000000371489
+000000549135
+000000244222
+000000358586
+000000501947
+000000201409
+000000146465
+000000316396
+000000503949
+000000438737
+000000008562
+000000325012
+000000286614
+000000441655
+000000002545
+000000083328
+000000386633
+000000052035
+000000147551
+000000367788
+000000496118
+000000129587
+000000219524
+000000550739
+000000289767
+000000177802
+000000400568
+000000059079
+000000312662
+000000044247
+000000252711
+000000258499
+000000113089
+000000275663
+000000312292
+000000156039
+000000459770
+000000289864
+000000566027
+000000093428
+000000388962
+000000507819
+000000094455
+000000568005
+000000346872
+000000186116
+000000031062
+000000192620
+000000459471
+000000374887
+000000510617
+000000360844
+000000036713
+000000565264
+000000234590
+000000518438
+000000490670
+000000030588
+000000240087
+000000179154
+000000415570
+000000484446
+000000555013
+000000123176
+000000462192
+000000539848
+000000296038
+000000096070
+000000071345
+000000190150
+000000137278
+000000573732
+000000218113
+000000344353
+000000172350
+000000142510
+000000149192
+000000477580
+000000376029
+000000529133
+000000207880
+000000540959
+000000569349
+000000055458
+000000230091
+000000521667
+000000103447
+000000170730
+000000401507
+000000580200
+000000519815
+000000084442
+000000267184
+000000123035
+000000381988
+000000165921
+000000316882
+000000383372
+000000077924
+000000304710
+000000173315
+000000187659
+000000371260
+000000579664
+000000015542
+000000491976
+000000500321
+000000057350
+000000079069
+000000168533
+000000216083
+000000092674
+000000536402
+000000483142
+000000277592
+000000179180
+000000315491
+000000273164
+000000145856
+000000402683
+000000256546
+000000466856
+000000385513
+000000581180
+000000031979
+000000564836
+000000332663
+000000118081
+000000373782
+000000126728
+000000260418
+000000007179
+000000169947
+000000059322
+000000145825
+000000421681
+000000121110
+000000160848
+000000195797
+000000351910
+000000415670
+000000379235
+000000506971
+000000079453
+000000040272
+000000342682
+000000386426
+000000126305
+000000263120
+000000380959
+000000073163
+000000125499
+000000171155
+000000180333
+000000458649
+000000073387
+000000254304
+000000249291
+000000047281
+000000462429
+000000303233
+000000227523
+000000194276
+000000496752
+000000149890
+000000137661
+000000079733
+000000522175
+000000061338
+000000325850
+000000420303
+000000231341
+000000207264
+000000161144
+000000428995
+000000101190
+000000317206
+000000487353
+000000442600
+000000243127
+000000018461
+000000190407
+000000095427
+000000087677
+000000429844
+000000230050
+000000329217
+000000263770
+000000104098
+000000320508
+000000203601
+000000031000
+000000041713
+000000402806
+000000270354
+000000572349
+000000222928
+000000495014
+000000565077
+000000113442
+000000155457
+000000559700
+000000313757
+000000150924
+000000416976
+000000090442
+000000542640
+000000253777
+000000340876
+000000129456
+000000356949
+000000463285
+000000385971
+000000351268
+000000041438
+000000572487
+000000167696
+000000230152
+000000519836
+000000493805
+000000014271
+000000252280
+000000345380
+000000096884
+000000549188
+000000517018
+000000411877
+000000446218
+000000120385
+000000005755
+000000533261
+000000188733
+000000380058
+000000365618
+000000024433
+000000202298
+000000128291
+000000431479
+000000173150
+000000391828
+000000556021
+000000417410
+000000453517
+000000525462
+000000164935
+000000059110
+000000140252
+000000560186
+000000236323
+000000035778
+000000162596
+000000050601
+000000511165
+000000274184
+000000109340
+000000558771
+000000498994
+000000324403
+000000525376
+000000301827
+000000052494
+000000467468
+000000497600
+000000119449
+000000426022
+000000009185
+000000019447
+000000523161
+000000310868
+000000364757
+000000087414
+000000252956
+000000107351
+000000072535
+000000344672
+000000447811
+000000063353
+000000013150
+000000424376
+000000272040
+000000372794
+000000323602
+000000152857
+000000444582
+000000030518
+000000339790
+000000304949
+000000519607
+000000465095
+000000526840
+000000539556
+000000067572
+000000496093
+000000515376
+000000460353
+000000037024
+000000513430
+000000029180
+000000538742
+000000239697
+000000511168
+000000525591
+000000021338
+000000554740
+000000315404
+000000378586
+000000218990
+000000047161
+000000079035
+000000456569
+000000210448
+000000303476
+000000556472
+000000150301
+000000471962
+000000344197
+000000459342
+000000310053
+000000399703
+000000140243
+000000572183
+000000412842
+000000399249
+000000550853
+000000545867
+000000525152
+000000453646
+000000367285
+000000206541
+000000179462
+000000178801
+000000441387
+000000229569
+000000044741
+000000341792
+000000150225
+000000253282
+000000135319
+000000197266
+000000237655
+000000012386
+000000562291
+000000445004
+000000270612
+000000263477
+000000322670
+000000316677
+000000431997
+000000113495
+000000223950
+000000331126
+000000015839
+000000032039
+000000495349
+000000331059
+000000279154
+000000553081
+000000572427
+000000363574
+000000045966
+000000023630
+000000109586
+000000043506
+000000224012
+000000556903
+000000318117
+000000517920
+000000509504
+000000473728
+000000144847
+000000532669
+000000244615
+000000097131
+000000388235
+000000272282
+000000021175
+000000263723
+000000206676
+000000100087
+000000085225
+000000114259
+000000523316
+000000414882
+000000375376
+000000170607
+000000138133
+000000446372
+000000549287
+000000301977
+000000279027
+000000536103
+000000130226
+000000282002
+000000138186
+000000138556
+000000244124
+000000213499
+000000185930
+000000171235
+000000140513
+000000434923
+000000489810
+000000431159
+000000398004
+000000189864
+000000093866
+000000259027
+000000142420
+000000396784
+000000453563
+000000473208
+000000518481
+000000232287
+000000526874
+000000472130
+000000060018
+000000169893
+000000254522
+000000500139
+000000008603
+000000387150
+000000110298
+000000067837
+000000363880
+000000239565
+000000478967
+000000489072
+000000337546
+000000069283
+000000434027
+000000074430
+000000031893
+000000147289
+000000509157
+000000417144
+000000348555
+000000107150
+000000503404
+000000264482
+000000229564
+000000410979
+000000172232
+000000155269
+000000079303
+000000366016
+000000484225
+000000046104
+000000463417
+000000165766
+000000426733
+000000434316
+000000207056
+000000398507
+000000162692
+000000144224
+000000457121
+000000041837
+000000284253
+000000219492
+000000113150
+000000366262
+000000128932
+000000056717
+000000509534
+000000493386
+000000465200
+000000485187
+000000505592
+000000061837
+000000182849
+000000246199
+000000243187
+000000189330
+000000319098
+000000236632
+000000458879
+000000224117
+000000132798
+000000319469
+000000053142
+000000117514
+000000200377
+000000323790
+000000506394
+000000153997
+000000476268
+000000310459
+000000002315
+000000402717
+000000333240
+000000294545
+000000453438
+000000285597
+000000136599
+000000357219
+000000394776
+000000521804
+000000142826
+000000050994
+000000216551
+000000420085
+000000397668
+000000160243
+000000361356
+000000398999
+000000422253
+000000562856
+000000521232
+000000142102
+000000170579
+000000310502
+000000014686
+000000065098
+000000168482
+000000092558
+000000185819
+000000273561
+000000069733
+000000285400
+000000100661
+000000543872
+000000581481
+000000184862
+000000256576
+000000102671
+000000227667
+000000379378
+000000339816
+000000085288
+000000058123
+000000242100
+000000314993
+000000206618
+000000334194
+000000565186
+000000128172
+000000254150
+000000265597
+000000324277
+000000158899
+000000264256
+000000119750
+000000369250
+000000062745
+000000111789
+000000054607
+000000214106
+000000356755
+000000416405
+000000576944
+000000291587
+000000291330
+000000050531
+000000354376
+000000505082
+000000354897
+000000378068
+000000064765
+000000338472
+000000069121
+000000503227
+000000461480
+000000407019
+000000116100
+000000396404
+000000473712
+000000104191
+000000206749
+000000579176
+000000036187
+000000284551
+000000016931
+000000443400
+000000194034
+000000116572
+000000375226
+000000403425
+000000298203
+000000173132
+000000160276
+000000171467
+000000293378
+000000175672
+000000225598
+000000445491
+000000294451
+000000338242
+000000046609
+000000573926
+000000505113
+000000382517
+000000436559
+000000301628
+000000023361
+000000510592
+000000459281
+000000060269
+000000489719
+000000158760
+000000416026
+000000380756
+000000348850
+000000508634
+000000014488
+000000044509
+000000147174
+000000147256
+000000207205
+000000282790
+000000491881
+000000242695
+000000522554
+000000384738
+000000462105
+000000141524
+000000063079
+000000302026
+000000071429
+000000278064
+000000145266
+000000316059
+000000254568
+000000123523
+000000267770
+000000296975
+000000044404
+000000324831
+000000178022
+000000089765
+000000334121
+000000251439
+000000106915
+000000028914
+000000507113
+000000431818
+000000527059
+000000132210
+000000215873
+000000063644
+000000109012
+000000521245
+000000018045
+000000118401
+000000246677
+000000155388
+000000431696
+000000324303
+000000425626
+000000195296
+000000373700
+000000057868
+000000568131
+000000574834
+000000524520
+000000101146
+000000549854
+000000558927
+000000298900
+000000271986
+000000281562
+000000329919
+000000490741
+000000344229
+000000196413
+000000334208
+000000307246
+000000324139
+000000043210
+000000265872
+000000025649
+000000104432
+000000126869
+000000509588
+000000151371
+000000176462
+000000322911
+000000344521
+000000003849
+000000100722
+000000033167
+000000030967
+000000189583
+000000516732
+000000330243
+000000566935
+000000327149
+000000239263
+000000164909
+000000121326
+000000108541
+000000374453
+000000288799
+000000107886
+000000221966
+000000579276
+000000198997
+000000116444
+000000088871
+000000512254
+000000289170
+000000531752
+000000278922
+000000423354
+000000492506
+000000064313
+000000565543
+000000461123
+000000379936
+000000312465
+000000411455
+000000063214
+000000159926
+000000525459
+000000312446
+000000082904
+000000055296
+000000364006
+000000052368
+000000244246
+000000348854
+000000104395
+000000046426
+000000279997
+000000388082
+000000012620
+000000248457
+000000543805
+000000077854
+000000465049
+000000108602
+000000096986
+000000085036
+000000271122
+000000090020
+000000160163
+000000046260
+000000529348
+000000327766
+000000415823
+000000277693
+000000573941
+000000385921
+000000320974
+000000057107
+000000493375
+000000134324
+000000028649
+000000157610
+000000119535
+000000547391
+000000444912
+000000332166
+000000387393
+000000503806
+000000303250
+000000388325
+000000284070
+000000462736
+000000546739
+000000044520
+000000194411
+000000521473
+000000010211
+000000285646
+000000000094
+000000429865
+000000564465
+000000479325
+000000290259
+000000210048
+000000169121
+000000062915
+000000242570
+000000287967
+000000323460
+000000241758
+000000333412
+000000490986
+000000000597
+000000333321
+000000221194
+000000363525
+000000330139
+000000065345
+000000573635
+000000075162
+000000260844
+000000064086
+000000392330
+000000193293
+000000403295
+000000278601
+000000145755
+000000144633
+000000078621
+000000325153
+000000508489
+000000580510
+000000255866
+000000126536
+000000564483
+000000224907
+000000082775
+000000152525
+000000121901
+000000094353
+000000340128
+000000523677
+000000224905
+000000094563
+000000099063
+000000501612
+000000316132
+000000018316
+000000090065
+000000082005
+000000081001
+000000478032
+000000407509
+000000011552
+000000434915
+000000555358
+000000259296
+000000558850
+000000358650
+000000355248
+000000142207
+000000500952
+000000281385
+000000026943
+000000026097
+000000083658
+000000320182
+000000442680
+000000305805
+000000061794
+000000516167
+000000415408
+000000569101
+000000478057
+000000257894
+000000388820
+000000107481
+000000455808
+000000032639
+000000475651
+000000500432
+000000410742
+000000123289
+000000251476
+000000175539
+000000083906
+000000443789
+000000163975
+000000536321
+000000390951
+000000097250
+000000436707
+000000346121
+000000499786
+000000370697
+000000543166
+000000372673
+000000037716
+000000480991
+000000116656
+000000543376
+000000011948
+000000306327
+000000100901
+000000513424
+000000484180
+000000537720
+000000184470
+000000369217
+000000091487
+000000024045
+000000151848
+000000530367
+000000013893
+000000314396
+000000059471
+000000478007
+000000380821
+000000273918
+000000118342
+000000202522
+000000461217
+000000155263
+000000299115
+000000322325
+000000373140
+000000384164
+000000421558
+000000031606
+000000001840
+000000022861
+000000444087
+000000529824
+000000180767
+000000530863
+000000454961
+000000015379
+000000273859
+000000161648
+000000075786
+000000496683
+000000019719
+000000203881
+000000446345
+000000288592
+000000191305
+000000265324
+000000435698
+000000134474
+000000019753
+000000474800
+000000396581
+000000521605
+000000079224
+000000104544
+000000109653
+000000557114
+000000411750
+000000042144
+000000417242
+000000520220
+000000200727
+000000146917
+000000155739
+000000573932
+000000448355
+000000576550
+000000460344
+000000375811
+000000267242
+000000240904
+000000321194
+000000005076
+000000123831
+000000146237
+000000485683
+000000021364
+000000342342
+000000300047
+000000385567
+000000181057
+000000207739
+000000170803
+000000104114
+000000358915
+000000205234
+000000496089
+000000195991
+000000368044
+000000102252
+000000076460
+000000321713
+000000218255
+000000561681
+000000241214
+000000101315
+000000291214
+000000406451
+000000127214
+000000456629
+000000546708
+000000468029
+000000090225
+000000463613
+000000085568
+000000142426
+000000038186
+000000228558
+000000381256
+000000284010
+000000057676
+000000110442
+000000573963
+000000493507
+000000172637
+000000578005
+000000163175
+000000550298
+000000035694
+000000517830
+000000498980
+000000205270
+000000339591
+000000328041
+000000350842
+000000557197
+000000017629
+000000007498
+000000161578
+000000291980
+000000544649
+000000000540
+000000024238
+000000343898
+000000190022
+000000039733
+000000402448
+000000524676
+000000110723
+000000315861
+000000130171
+000000002822
+000000569286
+000000574790
+000000046323
+000000444235
+000000114479
+000000575643
+000000070794
+000000553447
+000000074544
+000000297502
+000000561861
+000000297166
+000000428712
+000000540860
+000000110073
+000000467873
+000000259297
+000000172143
+000000336517
+000000201903
+000000181852
+000000124157
+000000486777
+000000293966
+000000408479
+000000221430
+000000143557
+000000197177
+000000096161
+000000266442
+000000167123
+000000033939
+000000102322
+000000356029
+000000293448
+000000090501
+000000534988
+000000348206
+000000231200
+000000561047
+000000318299
+000000501790
+000000299923
+000000425063
+000000402847
+000000189812
+000000518901
+000000566863
+000000547597
+000000438481
+000000534593
+000000267898
+000000305652
+000000483530
+000000287302
+000000342688
+000000556562
+000000561818
+000000452841
+000000330529
+000000108110
+000000245953
+000000147539
+000000016111
+000000272926
+000000488002
+000000266336
+000000460145
+000000452186
+000000539406
+000000538938
+000000048719
+000000026025
+000000143501
+000000162181
+000000013356
+000000425644
+000000462807
+000000353915
+000000487114
+000000571953
+000000422296
+000000195916
+000000135338
+000000093007
+000000479578
+000000223477
+000000437948
+000000462062
+000000073906
+000000027377
+000000334413
+000000073414
+000000269394
+000000232262
+000000290719
+000000553931
+000000235259
+000000480979
+000000128829
+000000539436
+000000273106
+000000412855
+000000240764
+000000201825
+000000447233
+000000456782
+000000226595
+000000010058
+000000445325
+000000350789
+000000280787
+000000000757
+000000506062
+000000117922
+000000487333
+000000306989
+000000340893
+000000514628
+000000151405
+000000551811
+000000498649
+000000384986
+000000472444
+000000201492
+000000471534
+000000385036
+000000538465
+000000265331
+000000452027
+000000098773
+000000252137
+000000355819
+000000340345
+000000231338
+000000014850
+000000560173
+000000207811
+000000308121
+000000138982
+000000016233
+000000393922
+000000100318
+000000365351
+000000176737
+000000309925
+000000318837
+000000528496
+000000510430
+000000431323
+000000186245
+000000468977
+000000160110
+000000192080
+000000197222
+000000136141
+000000181699
+000000306522
+000000274494
+000000025316
+000000419378
+000000051101
+000000310804
+000000024693
+000000183187
+000000293259
+000000170238
+000000471315
+000000521117
+000000201126
+000000329280
+000000183786
+000000041891
+000000163011
+000000203870
+000000234883
+000000219594
+000000477494
+000000133827
+000000210642
+000000051525
+000000059142
+000000561647
+000000135023
+000000138057
+000000538828
+000000416604
+000000459219
+000000159075
+000000208834
+000000491305
+000000180280
+000000282791
+000000087792
+000000228794
+000000448985
+000000576774
+000000034684
+000000389303
+000000483587
+000000145153
+000000394756
+000000283382
+000000226744
+000000363494
+000000463279
+000000268215
+000000503616
+000000038079
+000000126120
+000000567423
+000000180167
+000000454068
+000000118625
+000000348143
+000000126272
+000000152866
+000000081317
+000000261344
+000000112719
+000000159320
+000000422382
+000000046152
+000000333048
+000000337502
+000000568647
+000000334772
+000000222047
+000000039395
+000000092749
+000000534849
+000000030065
+000000250808
+000000068738
+000000489358
+000000549897
+000000543354
+000000293591
+000000289889
+000000316342
+000000000072
+000000425061
+000000031736
+000000174351
+000000315072
+000000225253
+000000208166
+000000015485
+000000349875
+000000381729
+000000391685
+000000189017
+000000324406
+000000226291
+000000321702
+000000575149
+000000253480
+000000451738
+000000198947
+000000570693
+000000156784
+000000378865
+000000183253
+000000027032
+000000098709
+000000350084
+000000092614
+000000482841
+000000399893
+000000507334
+000000004229
+000000303232
+000000383205
+000000427560
+000000222426
+000000294244
+000000071673
+000000490289
+000000161349
+000000182469
+000000229132
+000000328316
+000000227517
+000000006753
+000000496081
+000000036326
+000000319406
+000000253260
+000000344236
+000000260048
+000000406874
+000000360910
+000000278491
+000000249891
+000000009214
+000000088513
+000000564271
+000000005967
+000000051289
+000000223650
+000000081315
+000000206385
+000000326891
+000000336511
+000000089754
+000000128136
+000000419856
+000000133908
+000000027903
+000000063540
+000000379448
+000000434291
+000000014483
+000000520898
+000000039399
+000000218561
+000000174740
+000000027104
+000000301506
+000000181506
+000000512731
+000000102996
+000000344422
+000000137717
+000000249272
+000000369689
+000000202010
+000000018040
+000000456045
+000000394663
+000000487009
+000000525118
+000000218208
+000000573954
+000000126020
+000000404988
+000000378007
+000000468777
+000000051473
+000000210057
+000000359872
+000000127603
+000000340647
+000000495975
+000000092868
+000000552520
+000000109542
+000000214845
+000000447231
+000000020882
+000000394065
+000000512424
+000000458682
+000000431901
+000000068152
+000000304147
+000000084493
+000000537382
+000000004762
+000000472582
+000000108470
+000000249663
+000000178957
+000000406328
+000000084873
+000000553671
+000000208318
+000000265134
+000000298252
+000000528074
+000000457824
+000000201406
+000000254609
+000000071295
+000000222006
+000000200263
+000000488789
+000000006589
+000000099997
+000000423172
+000000461030
+000000309195
+000000387685
+000000246958
+000000460757
+000000277172
+000000106165
+000000184116
+000000138653
+000000466941
+000000391403
+000000063845
+000000142741
+000000189063
+000000360449
+000000154189
+000000389378
+000000522477
+000000059108
+000000441323
+000000114926
+000000544516
+000000534935
+000000060868
+000000531944
+000000222276
+000000189038
+000000369982
+000000400581
+000000570110
+000000577176
+000000360101
+000000203483
+000000331203
+000000361669
+000000154167
+000000051948
+000000093411
+000000425010
+000000436837
+000000046760
+000000104421
+000000529802
+000000486968
+000000025230
+000000523278
+000000422705
+000000519555
+000000109036
+000000572935
+000000083161
+000000166338
+000000299448
+000000011630
+000000516455
+000000082138
+000000477878
+000000570171
+000000443349
+000000234697
+000000261071
+000000107542
+000000444537
+000000573246
+000000261273
+000000413871
+000000152253
+000000215304
+000000261205
+000000083619
+000000393362
+000000189559
+000000527631
+000000025727
+000000159280
+000000009060
+000000166320
+000000348235
+000000491914
+000000548296
+000000391426
+000000418372
+000000085122
+000000019388
+000000265243
+000000400668
+000000480421
+000000517690
+000000426824
+000000366577
+000000507122
+000000302200
+000000294098
+000000291321
+000000558318
+000000307033
+000000170584
+000000322443
+000000561622
+000000248402
+000000237743
+000000056580
+000000206363
+000000515512
+000000116291
+000000477470
+000000432723
+000000543855
+000000420594
+000000554860
+000000201555
+000000446661
+000000562770
+000000039884
+000000320963
+000000366174
+000000013517
+000000230129
+000000281163
+000000281508
+000000108556
+000000102348
+000000396420
+000000178239
+000000211508
+000000304657
+000000467925
+000000039150
+000000544495
+000000407369
+000000283849
+000000247873
+000000383857
+000000338012
+000000175612
+000000455548
+000000007202
+000000200946
+000000036508
+000000436436
+000000297552
+000000446069
+000000038180
+000000170976
+000000248370
+000000167621
+000000075881
+000000170425
+000000301970
+000000092771
+000000236515
+000000535766
+000000472821
+000000276506
+000000443443
+000000299055
+000000432160
+000000089955
+000000175122
+000000256337
+000000369568
+000000215679
+000000497642
+000000536292
+000000430065
+000000398674
+000000309135
+000000009287
+000000549459
+000000271461
+000000574668
+000000351428
+000000509806
+000000221183
+000000454326
+000000348584
+000000350035
+000000302458
+000000377955
+000000368825
+000000045040
+000000492123
+000000395928
+000000199641
+000000211408
+000000425898
+000000411832
+000000461450
+000000013452
+000000236123
+000000329830
+000000215135
+000000256800
+000000331329
+000000258073
+000000418391
+000000558966
+000000547662
+000000455549
+000000223342
+000000195225
+000000568315
+000000494749
+000000488796
+000000375130
+000000451952
+000000440302
+000000244003
+000000494383
+000000082464
+000000480179
+000000031673
+000000349734
+000000384362
+000000126021
+000000402820
+000000434735
+000000324689
+000000285890
+000000370405
+000000451356
+000000475465
+000000185210
+000000073109
+000000069535
+000000134137
+000000396084
+000000540210
+000000249982
+000000347879
+000000155849
+000000032688
+000000301405
+000000052503
+000000047724
+000000226363
+000000186121
+000000435795
+000000092081
+000000320947
+000000532304
+000000495641
+000000287331
+000000238858
+000000579405
+000000402235
+000000372156
+000000227164
+000000419532
+000000215596
+000000426518
+000000186615
+000000111182
+000000173279
+000000034086
+000000483620
+000000015709
+000000081206
+000000036207
+000000492924
+000000503935
+000000353901
+000000072995
+000000372471
+000000368924
+000000380171
+000000239752
+000000215600
+000000030803
+000000403004
+000000564074
+000000513237
+000000430298
+000000491272
+000000154212
+000000211381
+000000476005
+000000263913
+000000263333
+000000570395
+000000403950
+000000510230
+000000043308
+000000302924
+000000118777
+000000347811
+000000436284
+000000123855
+000000526645
+000000349607
+000000149179
+000000137970
+000000563168
+000000387855
+000000420852
+000000297009
+000000023378
+000000417284
+000000060316
+000000463970
+000000112865
+000000166575
+000000289204
+000000164565
+000000123799
+000000492674
+000000569838
+000000171090
+000000554934
+000000447645
+000000009707
+000000504338
+000000436002
+000000043165
+000000530059
+000000073045
+000000542173
+000000102912
+000000361842
+000000549122
+000000533898
+000000406926
+000000287094
+000000366536
+000000115967
+000000556616
+000000046118
+000000025765
+000000245965
+000000329806
+000000212602
+000000369279
+000000245938
+000000119428
+000000511148
+000000097194
+000000120670
+000000296157
+000000065891
+000000559047
+000000134194
+000000074126
+000000521593
+000000452908
+000000263454
+000000002624
+000000097892
+000000425004
+000000137057
+000000217811
+000000563340
+000000494453
+000000399600
+000000206783
+000000493828
+000000112372
+000000277319
+000000434043
+000000449945
+000000356662
+000000061660
+000000408393
+000000211350
+000000151651
+000000229324
+000000478480
+000000365517
+000000050239
+000000201670
+000000318723
+000000183112
+000000012887
+000000118529
+000000578147
+000000314602
+000000204241
+000000047638
+000000072546
+000000418726
+000000491384
+000000030235
+000000006631
+000000148479
+000000057071
+000000015927
+000000441292
+000000243910
+000000541226
+000000044928
+000000477590
+000000248771
+000000184443
+000000224246
+000000393145
+000000233164
+000000129313
+000000255076
+000000260172
+000000312450
+000000506736
+000000046065
+000000015085
+000000571656
+000000079926
+000000235006
+000000114748
+000000276105
+000000083557
+000000040934
+000000376868
+000000095063
+000000428847
+000000376982
+000000394334
+000000377619
+000000019528
+000000393159
+000000548875
+000000179667
+000000349046
+000000454892
+000000375198
+000000456037
+000000536169
+000000044780
+000000543332
+000000411043
+000000226801
+000000100757
+000000425219
+000000387202
+000000499727
+000000549763
+000000255741
+000000090872
+000000046898
+000000361275
+000000225565
+000000255368
+000000433941
+000000092631
+000000486013
+000000293689
+000000444626
+000000107814
+000000283945
+000000295294
+000000493296
+000000278237
+000000111103
+000000217091
+000000328421
+000000496411
+000000512157
+000000089884
+000000281868
+000000251630
+000000435902
+000000421986
+000000580003
+000000142323
+000000112805
+000000448492
+000000274570
+000000424105
+000000367786
+000000340170
+000000136375
+000000032301
+000000008005
+000000209356
+000000118027
+000000378844
+000000254009
+000000456709
+000000303647
+000000494398
+000000152461
+000000455117
+000000101110
+000000015036
+000000486905
+000000281887
+000000078243
+000000206384
+000000082350
+000000266914
+000000182401
+000000055432
+000000126825
+000000331692
+000000149005
+000000124294
+000000547858
+000000373341
+000000488764
+000000362521
+000000540694
+000000294491
+000000484364
+000000115777
+000000326445
+000000359546
+000000166864
+000000400936
+000000433853
+000000522021
+000000286058
+000000386695
+000000185072
+000000118386
+000000550104
+000000274036
+000000250958
+000000544639
+000000322824
+000000038930
+000000350013
+000000333087
+000000178145
+000000087581
+000000319965
+000000489328
+000000514685
+000000119630
+000000232005
+000000359904
+000000440663
+000000054355
+000000184679
+000000134640
+000000173887
+000000575367
+000000252549
+000000309599
+000000547742
+000000024287
+000000152208
+000000250385
+000000242717
+000000530342
+000000208163
+000000242867
+000000483836
+000000179896
+000000354631
+000000305441
+000000183287
+000000507101
+000000474155
+000000091051
+000000106241
+000000414022
+000000329895
+000000450407
+000000126994
+000000034019
+000000443254
+000000156812
+000000555366
+000000421677
+000000527453
+000000296781
+000000369470
+000000511343
+000000372983
+000000289575
+000000424392
+000000372966
+000000157087
+000000387717
+000000444598
+000000286010
+000000160115
+000000273045
+000000232085
+000000223734
+000000363488
+000000354291
+000000534024
+000000129995
+000000015618
+000000536375
+000000060959
+000000246530
+000000379404
+000000513983
+000000229507
+000000167541
+000000229142
+000000096339
+000000115384
+000000129782
+000000501842
+000000354734
+000000023677
+000000005469
+000000152000
+000000284649
+000000244442
+000000217090
+000000145680
+000000287223
+000000395397
+000000474390
+000000358685
+000000262009
+000000503183
+000000407927
+000000226567
+000000157707
+000000415376
+000000279081
+000000063661
+000000319766
+000000576496
+000000255470
+000000436383
+000000379246
+000000083730
+000000422434
+000000369820
+000000539716
+000000439940
+000000064779
+000000516945
+000000267416
+000000523527
+000000015953
+000000472938
+000000157980
+000000139075
+000000077378
+000000443003
+000000091275
+000000114863
+000000360317
+000000010432
+000000237797
+000000080535
+000000162577
+000000351770
+000000394352
+000000083953
+000000382951
+000000478164
+000000242642
+000000110381
+000000351787
+000000073039
+000000304092
+000000357635
+000000064708
+000000160220
+000000322749
+000000142470
+000000520027
+000000115718
+000000125853
+000000547422
+000000413996
+000000248732
+000000050837
+000000580579
+000000221833
+000000428329
+000000226695
+000000529475
+000000111636
+000000135845
+000000138768
+000000026454
+000000035401
+000000256660
+000000081474
+000000048665
+000000407737
+000000457519
+000000439781
+000000221446
+000000260586
+000000404050
+000000383562
+000000145549
+000000045959
+000000434221
+000000358630
+000000414848
+000000544577
+000000415447
+000000571048
+000000462984
+000000533688
+000000085353
+000000365034
+000000541880
+000000354445
+000000036750
+000000577631
+000000212646
+000000565311
+000000371326
+000000274156
+000000333746
+000000380951
+000000280508
+000000185667
+000000279877
+000000495884
+000000520840
+000000421848
+000000160331
+000000495443
+000000535143
+000000080634
+000000240755
+000000076912
+000000381112
+000000243627
+000000340898
+000000063230
+000000036068
+000000067757
+000000202810
+000000038465
+000000109824
+000000425573
+000000257211
+000000523267
+000000011297
+000000213623
+000000505132
+000000135772
+000000094535
+000000417588
+000000241934
+000000453310
+000000323896
+000000228552
+000000531563
+000000425458
+000000562106
+000000150040
+000000571263
+000000485291
+000000316161
+000000339256
+000000005111
+000000008356
+000000536894
+000000526701
+000000013524
+000000391016
+000000465174
+000000333823
+000000316675
+000000576638
+000000510706
+000000017089
+000000004978
+000000192410
+000000131087
+000000379836
+000000371179
+000000491336
+000000163125
+000000374337
+000000134111
+000000435751
+000000420446
+000000130651
+000000192576
+000000009988
+000000140080
+000000132773
+000000220654
+000000457717
+000000174499
+000000348348
+000000525208
+000000340703
+000000223121
+000000468736
+000000141302
+000000359182
+000000404783
+000000126502
+000000149338
+000000292421
+000000174700
+000000176263
+000000454554
+000000367959
+000000406968
+000000340208
+000000499680
+000000057919
+000000581749
+000000182217
+000000487286
+000000337274
+000000273445
+000000264697
+000000488564
+000000044491
+000000036012
+000000384718
+000000312199
+000000014049
+000000317274
+000000460038
+000000031566
+000000354303
+000000087890
+000000373796
+000000579035
+000000409181
+000000457584
+000000378455
+000000514251
+000000537540
+000000225546
+000000154119
+000000047105
+000000476609
+000000270284
+000000521068
+000000508220
+000000287535
+000000174417
+000000359868
+000000042696
+000000381385
+000000337522
+000000099996
+000000001442
+000000028007
+000000476848
+000000559166
+000000236904
+000000032391
+000000380588
+000000155003
+000000220321
+000000141304
+000000227512
+000000073019
+000000426087
+000000447378
+000000448012
+000000080690
+000000242885
+000000000307
+000000559780
+000000100021
+000000536517
+000000267160
+000000227687
+000000563261
+000000505733
+000000455081
+000000236572
+000000188079
+000000465155
+000000569188
+000000164461
+000000557360
+000000183990
+000000060730
+000000135332
+000000269306
+000000058735
+000000479447
+000000154307
+000000016364
+000000039828
+000000265531
+000000169934
+000000445461
+000000147453
+000000112440
+000000173843
+000000365578
+000000386762
+000000106397
+000000230661
+000000417542
+000000567444
+000000108210
+000000502422
+000000490042
+000000050910
+000000157099
+000000068502
+000000283144
+000000428761
+000000494911
+000000204514
+000000266069
+000000133237
+000000217574
diff --git a/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20_80_test.txt b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20_80_test.txt
new file mode 100644
index 0000000..6a8d2d2
--- /dev/null
+++ b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_20_80_test.txt
@@ -0,0 +1,19952 @@
+000001
+000002
+000003
+000004
+000006
+000008
+000010
+000011
+000013
+000014
+000015
+000018
+000022
+000025
+000027
+000028
+000029
+000031
+000037
+000038
+000040
+000043
+000045
+000049
+000053
+000054
+000055
+000056
+000057
+000058
+000059
+000062
+000067
+000068
+000069
+000070
+000071
+000074
+000075
+000076
+000079
+000080
+000082
+000084
+000085
+000086
+000087
+000088
+000090
+000092
+000094
+000096
+000097
+000098
+000100
+000103
+000105
+000106
+000108
+000111
+000114
+000115
+000116
+000119
+000124
+000126
+000127
+000128
+000135
+000136
+000137
+000139
+000144
+000145
+000148
+000149
+000151
+000152
+000155
+000157
+000160
+000166
+000167
+000168
+000172
+000175
+000176
+000178
+000179
+000181
+000182
+000183
+000185
+000186
+000188
+000191
+000195
+000196
+000197
+000199
+000201
+000202
+000204
+000205
+000206
+000212
+000213
+000216
+000217
+000223
+000226
+000227
+000230
+000231
+000234
+000237
+000238
+000239
+000240
+000243
+000247
+000248
+000252
+000253
+000254
+000255
+000258
+000260
+000261
+000264
+000265
+000267
+000271
+000272
+000273
+000274
+000277
+000279
+000280
+000281
+000283
+000284
+000286
+000287
+000290
+000291
+000292
+000293
+000295
+000297
+000299
+000300
+000301
+000309
+000310
+000313
+000314
+000315
+000316
+000319
+000324
+000326
+000327
+000330
+000333
+000335
+000339
+000341
+000342
+000345
+000346
+000348
+000350
+000351
+000353
+000356
+000357
+000358
+000360
+000361
+000362
+000364
+000365
+000366
+000368
+000369
+000371
+000375
+000376
+000377
+000378
+000383
+000384
+000385
+000386
+000388
+000389
+000390
+000392
+000393
+000397
+000398
+000399
+000401
+000402
+000405
+000409
+000410
+000412
+000413
+000414
+000415
+000418
+000421
+000422
+000423
+000425
+000426
+000429
+000432
+000434
+000436
+000437
+000440
+000441
+000442
+000444
+000445
+000447
+000449
+000451
+000452
+000453
+000455
+000456
+000457
+000458
+000465
+000466
+000467
+000471
+000472
+000473
+000475
+000478
+000479
+000481
+000485
+000487
+000488
+000490
+000493
+000495
+000497
+000502
+000504
+000505
+000506
+000507
+000510
+000511
+000512
+000517
+000521
+000527
+000529
+000532
+000533
+000534
+000536
+000538
+000539
+000542
+000546
+000547
+000548
+000551
+000553
+000556
+000557
+000558
+000560
+000561
+000562
+000566
+000567
+000568
+000569
+000570
+000571
+000572
+000573
+000574
+000575
+000576
+000578
+000580
+000584
+000585
+000586
+000587
+000593
+000594
+000595
+000596
+000600
+000602
+000603
+000604
+000606
+000607
+000611
+000614
+000615
+000616
+000617
+000618
+000621
+000623
+000624
+000627
+000629
+000630
+000631
+000634
+000636
+000638
+000639
+000640
+000641
+000642
+000643
+000644
+000646
+000649
+000650
+000651
+000652
+000655
+000658
+000659
+000662
+000664
+000665
+000666
+000668
+000669
+000670
+000673
+000674
+000678
+000679
+000681
+000683
+000687
+000691
+000692
+000693
+000696
+000697
+000698
+000701
+000703
+000704
+000706
+000708
+000715
+000716
+000718
+000719
+000721
+000722
+000723
+000724
+000725
+000727
+000732
+000734
+000735
+000736
+000737
+000741
+000743
+000744
+000745
+000747
+000749
+000751
+000757
+000758
+000759
+000762
+000765
+000766
+000769
+000773
+000775
+000778
+000779
+000781
+000783
+000784
+000785
+000788
+000789
+000790
+000792
+000795
+000798
+000801
+000803
+000807
+000809
+000811
+000813
+000817
+000819
+000821
+000824
+000825
+000833
+000835
+000836
+000837
+000838
+000839
+000840
+000841
+000844
+000846
+000852
+000853
+000856
+000858
+000861
+000864
+000866
+000869
+000870
+000873
+000875
+000877
+000881
+000883
+000884
+000886
+000890
+000891
+000893
+000894
+000897
+000901
+000905
+000907
+000909
+000910
+000913
+000914
+000916
+000922
+000924
+000925
+000927
+000928
+000930
+000932
+000933
+000938
+000939
+000940
+000941
+000942
+000944
+000945
+000952
+000953
+000955
+000956
+000957
+000959
+000960
+000961
+000963
+000968
+000969
+000970
+000974
+000975
+000976
+000978
+000979
+000981
+000983
+000984
+000985
+000986
+000988
+000990
+000992
+000994
+000995
+000998
+001000
+001003
+001005
+001006
+001007
+001013
+001016
+001019
+001020
+001021
+001022
+001023
+001025
+001026
+001029
+001030
+001031
+001032
+001033
+001034
+001035
+001037
+001038
+001039
+001040
+001044
+001046
+001047
+001048
+001049
+001051
+001054
+001055
+001058
+001059
+001063
+001065
+001067
+001070
+001075
+001076
+001080
+001081
+001085
+001086
+001087
+001088
+001089
+001090
+001094
+001095
+001096
+001098
+001099
+001100
+001103
+001105
+001108
+001111
+001114
+001115
+001116
+001117
+001118
+001120
+001122
+001123
+001126
+001128
+001131
+001132
+001133
+001134
+001135
+001138
+001139
+001141
+001146
+001150
+001153
+001155
+001157
+001159
+001162
+001163
+001165
+001167
+001169
+001173
+001177
+001178
+001179
+001180
+001181
+001183
+001188
+001189
+001190
+001193
+001195
+001196
+001197
+001198
+001202
+001208
+001210
+001213
+001216
+001217
+001218
+001219
+001220
+001222
+001223
+001227
+001228
+001232
+001235
+001238
+001242
+001243
+001244
+001245
+001246
+001249
+001251
+001252
+001253
+001255
+001256
+001257
+001261
+001262
+001264
+001267
+001271
+001275
+001276
+001278
+001280
+001282
+001283
+001285
+001291
+001295
+001296
+001297
+001300
+001301
+001302
+001303
+001305
+001306
+001307
+001308
+001313
+001317
+001318
+001319
+001320
+001321
+001322
+001328
+001329
+001331
+001335
+001336
+001338
+001339
+001340
+001342
+001344
+001347
+001349
+001351
+001353
+001354
+001355
+001356
+001357
+001358
+001359
+001363
+001366
+001367
+001368
+001369
+001370
+001372
+001373
+001374
+001376
+001377
+001379
+001380
+001381
+001382
+001389
+001391
+001392
+001394
+001396
+001398
+001399
+001401
+001403
+001407
+001410
+001411
+001412
+001415
+001416
+001417
+001419
+001422
+001423
+001424
+001425
+001428
+001429
+001431
+001433
+001435
+001437
+001438
+001440
+001446
+001447
+001448
+001449
+001452
+001454
+001456
+001458
+001459
+001461
+001462
+001469
+001471
+001473
+001474
+001476
+001477
+001478
+001482
+001487
+001489
+001491
+001495
+001496
+001500
+001502
+001503
+001505
+001506
+001507
+001508
+001511
+001513
+001516
+001518
+001519
+001520
+001525
+001527
+001530
+001533
+001534
+001535
+001538
+001540
+001542
+001546
+001547
+001549
+001550
+001551
+001552
+001558
+001560
+001562
+001564
+001566
+001567
+001568
+001569
+001570
+001572
+001573
+001574
+001575
+001578
+001581
+001583
+001584
+001585
+001587
+001589
+001591
+001592
+001596
+001599
+001600
+001601
+001602
+001605
+001606
+001609
+001613
+001615
+001616
+001619
+001620
+001621
+001623
+001624
+001625
+001626
+001629
+001631
+001634
+001635
+001637
+001639
+001641
+001644
+001645
+001646
+001648
+001652
+001655
+001656
+001657
+001658
+001659
+001660
+001663
+001664
+001665
+001666
+001667
+001668
+001670
+001671
+001672
+001674
+001679
+001681
+001687
+001692
+001694
+001695
+001696
+001697
+001698
+001700
+001701
+001702
+001703
+001704
+001705
+001706
+001709
+001710
+001712
+001715
+001716
+001719
+001720
+001722
+001728
+001731
+001735
+001736
+001737
+001740
+001742
+001743
+001744
+001745
+001748
+001751
+001753
+001757
+001760
+001762
+001763
+001764
+001767
+001769
+001770
+001773
+001774
+001776
+001779
+001781
+001783
+001786
+001788
+001790
+001791
+001792
+001794
+001796
+001798
+001802
+001803
+001804
+001805
+001808
+001811
+001812
+001813
+001814
+001815
+001817
+001819
+001820
+001822
+001823
+001824
+001826
+001829
+001831
+001835
+001838
+001839
+001844
+001846
+001848
+001850
+001851
+001852
+001856
+001857
+001859
+001863
+001865
+001866
+001867
+001868
+001869
+001871
+001873
+001874
+001876
+001879
+001880
+001883
+001884
+001885
+001886
+001889
+001890
+001891
+001893
+001895
+001897
+001900
+001905
+001908
+001909
+001910
+001912
+001913
+001914
+001916
+001917
+001919
+001921
+001923
+001924
+001925
+001926
+001929
+001935
+001939
+001942
+001943
+001946
+001947
+001949
+001951
+001953
+001955
+001956
+001957
+001959
+001961
+001965
+001966
+001967
+001968
+001969
+001973
+001974
+001975
+001979
+001983
+001984
+001986
+001987
+001988
+001990
+001991
+001992
+001993
+001994
+001996
+001997
+001998
+002003
+002005
+002007
+002008
+002009
+002010
+002013
+002014
+002016
+002017
+002018
+002026
+002028
+002029
+002031
+002032
+002033
+002035
+002038
+002040
+002041
+002044
+002046
+002048
+002050
+002052
+002053
+002057
+002059
+002060
+002062
+002065
+002066
+002071
+002072
+002073
+002074
+002075
+002076
+002077
+002078
+002079
+002080
+002081
+002084
+002085
+002087
+002089
+002092
+002093
+002097
+002100
+002103
+002105
+002106
+002107
+002110
+002111
+002113
+002115
+002118
+002119
+002121
+002122
+002123
+002127
+002128
+002130
+002131
+002133
+002137
+002138
+002141
+002143
+002144
+002147
+002148
+002149
+002150
+002154
+002157
+002159
+002160
+002161
+002162
+002164
+002167
+002168
+002173
+002175
+002177
+002185
+002188
+002189
+002195
+002198
+002200
+002203
+002204
+002205
+002206
+002207
+002210
+002211
+002216
+002217
+002222
+002223
+002225
+002227
+002229
+002230
+002231
+002232
+002235
+002236
+002239
+002240
+002242
+002243
+002245
+002246
+002250
+002252
+002254
+002258
+002262
+002264
+002269
+002271
+002274
+002275
+002282
+002283
+002286
+002289
+002292
+002294
+002295
+002296
+002297
+002298
+002299
+002301
+002303
+002304
+002309
+002312
+002313
+002314
+002316
+002317
+002319
+002322
+002325
+002326
+002327
+002331
+002336
+002338
+002339
+002341
+002344
+002346
+002349
+002351
+002353
+002356
+002357
+002358
+002360
+002363
+002365
+002370
+002379
+002380
+002381
+002383
+002386
+002388
+002389
+002390
+002394
+002395
+002396
+002397
+002398
+002399
+002400
+002402
+002406
+002408
+002409
+002412
+002414
+002416
+002418
+002421
+002422
+002424
+002426
+002428
+002429
+002430
+002431
+002432
+002434
+002438
+002440
+002446
+002447
+002449
+002451
+002453
+002455
+002457
+002463
+002464
+002467
+002469
+002473
+002474
+002475
+002482
+002484
+002485
+002486
+002487
+002488
+002489
+002495
+002498
+002499
+002503
+002506
+002507
+002509
+002510
+002511
+002515
+002516
+002517
+002521
+002522
+002526
+002527
+002528
+002530
+002531
+002532
+002535
+002536
+002538
+002541
+002543
+002548
+002550
+002551
+002552
+002553
+002556
+002557
+002560
+002562
+002568
+002570
+002573
+002574
+002575
+002576
+002577
+002580
+002581
+002582
+002583
+002587
+002588
+002591
+002592
+002596
+002597
+002601
+002602
+002604
+002607
+002608
+002610
+002612
+002614
+002616
+002617
+002619
+002620
+002622
+002623
+002624
+002626
+002628
+002629
+002630
+002631
+002638
+002639
+002640
+002642
+002644
+002650
+002651
+002652
+002654
+002655
+002656
+002660
+002661
+002663
+002665
+002671
+002672
+002673
+002674
+002676
+002679
+002681
+002685
+002686
+002687
+002688
+002692
+002694
+002698
+002700
+002701
+002703
+002705
+002707
+002708
+002711
+002712
+002716
+002719
+002720
+002724
+002725
+002726
+002728
+002729
+002731
+002733
+002736
+002739
+002740
+002742
+002743
+002746
+002748
+002750
+002752
+002753
+002754
+002756
+002758
+002761
+002764
+002768
+002769
+002770
+002771
+002773
+002777
+002780
+002781
+002787
+002788
+002789
+002790
+002792
+002793
+002797
+002799
+002802
+002805
+002806
+002808
+002809
+002811
+002813
+002814
+002818
+002819
+002821
+002822
+002823
+002824
+002825
+002828
+002829
+002830
+002831
+002832
+002837
+002839
+002840
+002843
+002846
+002849
+002850
+002851
+002852
+002853
+002856
+002857
+002860
+002861
+002862
+002863
+002865
+002871
+002872
+002874
+002876
+002877
+002878
+002882
+002883
+002885
+002887
+002888
+002890
+002892
+002894
+002895
+002897
+002898
+002900
+002902
+002903
+002904
+002905
+002907
+002908
+002909
+002911
+002918
+002920
+002921
+002922
+002923
+002925
+002926
+002927
+002928
+002929
+002930
+002936
+002945
+002948
+002949
+002950
+002951
+002955
+002959
+002961
+002964
+002968
+002970
+002971
+002972
+002973
+002974
+002979
+002980
+002981
+002982
+002983
+002985
+002991
+002993
+002996
+002997
+002998
+002999
+003001
+003006
+003010
+003012
+003014
+003016
+003018
+003019
+003020
+003022
+003025
+003026
+003029
+003030
+003033
+003035
+003036
+003037
+003040
+003041
+003043
+003046
+003048
+003049
+003050
+003052
+003055
+003059
+003060
+003062
+003067
+003068
+003069
+003070
+003071
+003073
+003075
+003076
+003079
+003080
+003081
+003084
+003087
+003091
+003095
+003096
+003097
+003099
+003101
+003104
+003109
+003111
+003113
+003114
+003115
+003119
+003123
+003125
+003128
+003130
+003131
+003132
+003136
+003139
+003141
+003143
+003144
+003148
+003151
+003152
+003153
+003156
+003158
+003160
+003166
+003167
+003168
+003171
+003172
+003173
+003174
+003179
+003180
+003182
+003187
+003190
+003191
+003192
+003193
+003196
+003197
+003198
+003201
+003203
+003206
+003208
+003209
+003212
+003215
+003217
+003220
+003221
+003222
+003224
+003225
+003226
+003227
+003230
+003232
+003234
+003235
+003237
+003238
+003241
+003245
+003246
+003248
+003249
+003251
+003252
+003257
+003263
+003264
+003265
+003266
+003267
+003268
+003275
+003276
+003277
+003278
+003281
+003283
+003286
+003287
+003288
+003289
+003291
+003295
+003297
+003298
+003302
+003304
+003305
+003306
+003309
+003310
+003312
+003314
+003315
+003317
+003318
+003319
+003321
+003322
+003323
+003324
+003326
+003328
+003329
+003332
+003333
+003334
+003340
+003341
+003342
+003345
+003346
+003347
+003348
+003352
+003353
+003357
+003358
+003361
+003364
+003366
+003368
+003371
+003372
+003375
+003378
+003381
+003383
+003384
+003385
+003387
+003388
+003389
+003393
+003394
+003399
+003400
+003402
+003405
+003409
+003411
+003414
+003418
+003423
+003426
+003427
+003428
+003431
+003432
+003434
+003437
+003438
+003440
+003442
+003445
+003446
+003447
+003448
+003454
+003456
+003457
+003459
+003460
+003463
+003467
+003471
+003472
+003473
+003474
+003475
+003476
+003478
+003479
+003480
+003481
+003482
+003483
+003485
+003486
+003488
+003490
+003494
+003495
+003498
+003501
+003502
+003503
+003504
+003505
+003507
+003512
+003513
+003514
+003515
+003517
+003520
+003523
+003526
+003527
+003531
+003532
+003533
+003534
+003535
+003538
+003540
+003541
+003542
+003543
+003544
+003545
+003547
+003552
+003553
+003557
+003558
+003559
+003560
+003561
+003562
+003563
+003568
+003569
+003570
+003571
+003572
+003573
+003574
+003578
+003579
+003581
+003582
+003583
+003584
+003590
+003591
+003592
+003595
+003598
+003600
+003601
+003602
+003607
+003610
+003612
+003613
+003615
+003616
+003617
+003619
+003624
+003626
+003630
+003631
+003633
+003637
+003641
+003643
+003647
+003649
+003650
+003652
+003653
+003659
+003661
+003665
+003666
+003668
+003670
+003672
+003676
+003677
+003680
+003682
+003683
+003686
+003687
+003689
+003692
+003693
+003697
+003701
+003702
+003707
+003710
+003712
+003715
+003716
+003718
+003719
+003720
+003723
+003724
+003725
+003726
+003728
+003730
+003731
+003733
+003734
+003736
+003737
+003738
+003739
+003741
+003742
+003744
+003745
+003746
+003747
+003755
+003756
+003757
+003761
+003762
+003764
+003765
+003766
+003768
+003769
+003770
+003771
+003775
+003776
+003777
+003778
+003782
+003785
+003787
+003789
+003794
+003795
+003799
+003800
+003801
+003802
+003804
+003805
+003810
+003812
+003813
+003815
+003816
+003819
+003822
+003823
+003825
+003829
+003831
+003832
+003833
+003836
+003839
+003840
+003841
+003842
+003843
+003850
+003851
+003852
+003853
+003854
+003858
+003862
+003864
+003867
+003870
+003873
+003875
+003878
+003880
+003881
+003882
+003883
+003884
+003888
+003892
+003893
+003894
+003896
+003897
+003900
+003901
+003902
+003903
+003904
+003906
+003908
+003909
+003910
+003914
+003916
+003917
+003920
+003922
+003925
+003927
+003928
+003929
+003930
+003931
+003933
+003934
+003938
+003940
+003942
+003943
+003944
+003950
+003951
+003952
+003955
+003958
+003959
+003962
+003964
+003967
+003968
+003972
+003975
+003976
+003977
+003978
+003980
+003981
+003982
+003985
+003989
+003995
+003999
+004000
+004001
+004002
+004004
+004006
+004007
+004018
+004021
+004022
+004024
+004026
+004027
+004029
+004030
+004032
+004036
+004038
+004040
+004041
+004042
+004043
+004044
+004045
+004048
+004049
+004050
+004053
+004054
+004055
+004056
+004059
+004061
+004062
+004063
+004064
+004065
+004068
+004070
+004071
+004072
+004074
+004078
+004079
+004080
+004081
+004083
+004084
+004086
+004088
+004090
+004094
+004096
+004097
+004098
+004099
+004101
+004103
+004104
+004107
+004109
+004112
+004114
+004115
+004116
+004118
+004119
+004123
+004124
+004125
+004126
+004127
+004128
+004130
+004132
+004134
+004139
+004144
+004147
+004151
+004153
+004154
+004155
+004156
+004157
+004159
+004160
+004161
+004162
+004165
+004166
+004167
+004172
+004173
+004175
+004176
+004177
+004179
+004180
+004181
+004182
+004183
+004184
+004187
+004188
+004197
+004198
+004199
+004202
+004206
+004207
+004208
+004210
+004211
+004213
+004214
+004216
+004217
+004218
+004219
+004222
+004225
+004226
+004227
+004233
+004234
+004235
+004236
+004238
+004240
+004243
+004245
+004248
+004249
+004250
+004251
+004252
+004254
+004260
+004261
+004262
+004266
+004267
+004268
+004276
+004277
+004278
+004282
+004285
+004288
+004289
+004290
+004294
+004297
+004299
+004301
+004302
+004305
+004306
+004308
+004309
+004311
+004313
+004314
+004316
+004317
+004319
+004320
+004324
+004328
+004330
+004332
+004334
+004335
+004336
+004337
+004340
+004342
+004343
+004344
+004348
+004350
+004353
+004355
+004357
+004358
+004362
+004363
+004366
+004373
+004374
+004375
+004377
+004378
+004381
+004382
+004383
+004385
+004388
+004393
+004394
+004395
+004398
+004399
+004400
+004401
+004402
+004403
+004406
+004407
+004408
+004410
+004412
+004413
+004414
+004415
+004416
+004417
+004418
+004419
+004420
+004422
+004425
+004426
+004427
+004428
+004431
+004435
+004440
+004442
+004443
+004444
+004445
+004447
+004448
+004449
+004451
+004453
+004454
+004456
+004458
+004460
+004461
+004462
+004465
+004467
+004469
+004472
+004473
+004475
+004476
+004477
+004478
+004480
+004482
+004483
+004485
+004486
+004489
+004491
+004492
+004497
+004501
+004503
+004504
+004505
+004506
+004511
+004513
+004515
+004516
+004521
+004522
+004523
+004525
+004529
+004531
+004533
+004534
+004536
+004538
+004541
+004543
+004545
+004546
+004547
+004550
+004554
+004556
+004557
+004559
+004560
+004561
+004564
+004567
+004568
+004569
+004572
+004573
+004575
+004577
+004578
+004580
+004582
+004583
+004586
+004589
+004590
+004593
+004594
+004596
+004598
+004599
+004602
+004603
+004608
+004610
+004613
+004614
+004615
+004616
+004617
+004619
+004620
+004621
+004624
+004629
+004633
+004635
+004637
+004638
+004639
+004640
+004641
+004642
+004645
+004646
+004650
+004657
+004658
+004659
+004661
+004663
+004664
+004665
+004666
+004667
+004668
+004669
+004670
+004677
+004678
+004680
+004681
+004684
+004688
+004690
+004695
+004696
+004697
+004698
+004700
+004703
+004704
+004709
+004711
+004712
+004713
+004716
+004717
+004720
+004721
+004724
+004725
+004726
+004728
+004729
+004730
+004731
+004733
+004734
+004736
+004738
+004739
+004740
+004741
+004744
+004745
+004749
+004751
+004752
+004755
+004756
+004757
+004758
+004759
+004762
+004763
+004764
+004765
+004766
+004767
+004769
+004771
+004772
+004774
+004775
+004778
+004780
+004781
+004784
+004787
+004791
+004795
+004798
+004800
+004802
+004803
+004804
+004806
+004807
+004809
+004810
+004811
+004813
+004817
+004819
+004820
+004821
+004822
+004824
+004827
+004829
+004833
+004835
+004838
+004843
+004844
+004845
+004847
+004851
+004853
+004854
+004855
+004858
+004860
+004861
+004862
+004864
+004865
+004870
+004871
+004874
+004875
+004877
+004880
+004881
+004883
+004884
+004887
+004888
+004889
+004891
+004892
+004893
+004894
+004899
+004900
+004901
+004904
+004906
+004908
+004909
+004914
+004915
+004917
+004918
+004919
+004920
+004921
+004922
+004923
+004924
+004925
+004927
+004930
+004932
+004933
+004934
+004937
+004940
+004941
+004942
+004944
+004945
+004947
+004949
+004952
+004957
+004959
+004964
+004965
+004969
+004970
+004971
+004975
+004978
+004979
+004980
+004981
+004988
+004989
+004993
+004996
+005000
+005002
+005005
+005008
+005009
+005010
+005011
+005012
+005013
+005015
+005017
+005019
+005021
+005022
+005025
+005030
+005031
+005034
+005035
+005038
+005040
+005041
+005043
+005044
+005046
+005048
+005049
+005050
+005051
+005053
+005059
+005060
+005066
+005069
+005070
+005074
+005075
+005076
+005080
+005082
+005083
+005087
+005088
+005089
+005091
+005092
+005095
+005096
+005098
+005099
+005100
+005103
+005105
+005106
+005109
+005112
+005113
+005115
+005117
+005118
+005119
+005120
+005123
+005125
+005126
+005127
+005132
+005133
+005137
+005139
+005140
+005141
+005142
+005147
+005148
+005149
+005151
+005152
+005154
+005155
+005157
+005158
+005162
+005163
+005164
+005165
+005166
+005167
+005170
+005172
+005174
+005178
+005180
+005182
+005184
+005187
+005188
+005192
+005193
+005194
+005196
+005197
+005198
+005200
+005201
+005204
+005205
+005206
+005207
+005211
+005213
+005216
+005218
+005221
+005225
+005226
+005227
+005228
+005232
+005233
+005234
+005235
+005237
+005238
+005240
+005241
+005243
+005247
+005249
+005250
+005251
+005252
+005255
+005256
+005261
+005265
+005266
+005271
+005272
+005275
+005276
+005277
+005279
+005280
+005282
+005284
+005286
+005287
+005289
+005291
+005294
+005295
+005296
+005299
+005300
+005301
+005302
+005308
+005309
+005313
+005316
+005317
+005321
+005322
+005323
+005324
+005329
+005330
+005332
+005333
+005334
+005335
+005339
+005341
+005342
+005347
+005353
+005354
+005356
+005357
+005359
+005361
+005362
+005364
+005366
+005372
+005375
+005376
+005377
+005381
+005382
+005386
+005390
+005392
+005394
+005399
+005400
+005401
+005402
+005403
+005409
+005411
+005412
+005415
+005422
+005425
+005426
+005427
+005428
+005432
+005435
+005437
+005442
+005443
+005444
+005446
+005447
+005449
+005452
+005456
+005458
+005459
+005460
+005462
+005463
+005464
+005466
+005468
+005472
+005473
+005474
+005476
+005477
+005479
+005480
+005482
+005484
+005488
+005490
+005491
+005492
+005493
+005494
+005495
+005498
+005500
+005501
+005502
+005503
+005504
+005505
+005506
+005512
+005513
+005516
+005520
+005523
+005525
+005528
+005529
+005532
+005533
+005534
+005537
+005538
+005540
+005543
+005545
+005546
+005548
+005551
+005553
+005555
+005556
+005557
+005558
+005560
+005561
+005562
+005564
+005565
+005567
+005569
+005570
+005571
+005572
+005575
+005578
+005580
+005581
+005587
+005589
+005594
+005595
+005596
+005597
+005598
+005602
+005604
+005607
+005610
+005612
+005616
+005617
+005619
+005621
+005622
+005623
+005626
+005627
+005628
+005632
+005633
+005634
+005635
+005638
+005642
+005643
+005646
+005649
+005650
+005651
+005656
+005659
+005661
+005663
+005665
+005666
+005667
+005670
+005671
+005673
+005675
+005677
+005678
+005681
+005683
+005684
+005688
+005689
+005690
+005691
+005692
+005694
+005698
+005703
+005706
+005707
+005708
+005709
+005711
+005712
+005717
+005720
+005721
+005722
+005724
+005725
+005726
+005727
+005733
+005734
+005737
+005739
+005744
+005745
+005746
+005748
+005750
+005751
+005753
+005754
+005758
+005759
+005763
+005766
+005767
+005770
+005771
+005772
+005774
+005775
+005776
+005777
+005778
+005785
+005787
+005792
+005793
+005795
+005797
+005798
+005800
+005801
+005802
+005804
+005807
+005808
+005809
+005810
+005816
+005820
+005822
+005823
+005827
+005832
+005833
+005834
+005835
+005837
+005842
+005844
+005846
+005847
+005848
+005849
+005855
+005857
+005858
+005862
+005865
+005866
+005869
+005870
+005871
+005872
+005876
+005880
+005882
+005883
+005886
+005887
+005890
+005891
+005892
+005896
+005898
+005900
+005902
+005904
+005907
+005913
+005915
+005916
+005921
+005922
+005924
+005925
+005926
+005927
+005929
+005931
+005932
+005933
+005934
+005935
+005936
+005937
+005939
+005941
+005942
+005943
+005944
+005945
+005946
+005949
+005950
+005953
+005955
+005957
+005958
+005959
+005962
+005965
+005966
+005967
+005969
+005972
+005973
+005974
+005976
+005977
+005978
+005982
+005986
+005987
+005993
+005994
+005997
+005999
+006002
+006003
+006006
+006007
+006008
+006010
+006013
+006014
+006015
+006016
+006017
+006019
+006021
+006022
+006024
+006031
+006032
+006034
+006036
+006037
+006039
+006040
+006044
+006047
+006048
+006049
+006050
+006051
+006052
+006053
+006054
+006056
+006057
+006059
+006060
+006063
+006064
+006068
+006072
+006075
+006076
+006077
+006080
+006081
+006082
+006083
+006085
+006086
+006087
+006090
+006092
+006093
+006094
+006099
+006101
+006102
+006106
+006109
+006110
+006112
+006113
+006114
+006115
+006116
+006118
+006119
+006121
+006122
+006126
+006127
+006132
+006137
+006138
+006142
+006143
+006144
+006145
+006147
+006149
+006152
+006154
+006155
+006157
+006160
+006164
+006165
+006167
+006168
+006169
+006173
+006178
+006182
+006186
+006191
+006192
+006193
+006194
+006195
+006197
+006199
+006200
+006204
+006205
+006207
+006211
+006213
+006217
+006226
+006227
+006228
+006231
+006232
+006237
+006239
+006242
+006244
+006245
+006246
+006248
+006253
+006255
+006256
+006257
+006263
+006265
+006266
+006268
+006271
+006273
+006274
+006278
+006280
+006283
+006287
+006288
+006292
+006293
+006294
+006297
+006298
+006302
+006303
+006307
+006308
+006310
+006311
+006312
+006313
+006315
+006316
+006317
+006322
+006324
+006326
+006327
+006328
+006331
+006332
+006333
+006334
+006336
+006340
+006342
+006343
+006345
+006347
+006354
+006356
+006358
+006359
+006360
+006361
+006364
+006365
+006368
+006370
+006372
+006373
+006376
+006378
+006379
+006380
+006383
+006384
+006386
+006388
+006389
+006390
+006393
+006394
+006397
+006399
+006401
+006402
+006403
+006405
+006406
+006407
+006408
+006410
+006412
+006413
+006414
+006415
+006416
+006420
+006422
+006423
+006426
+006431
+006432
+006435
+006439
+006441
+006446
+006451
+006452
+006453
+006454
+006457
+006460
+006461
+006464
+006467
+006469
+006471
+006477
+006478
+006479
+006481
+006485
+006487
+006489
+006490
+006491
+006493
+006494
+006496
+006498
+006500
+006502
+006504
+006505
+006508
+006510
+006511
+006513
+006514
+006516
+006517
+006518
+006521
+006522
+006525
+006526
+006527
+006528
+006531
+006533
+006535
+006537
+006539
+006540
+006541
+006544
+006545
+006546
+006552
+006554
+006555
+006557
+006558
+006559
+006561
+006563
+006566
+006567
+006568
+006571
+006573
+006574
+006577
+006579
+006580
+006581
+006582
+006586
+006589
+006590
+006591
+006592
+006594
+006596
+006598
+006600
+006601
+006604
+006607
+006608
+006613
+006614
+006615
+006616
+006620
+006623
+006624
+006629
+006630
+006633
+006634
+006639
+006640
+006641
+006642
+006644
+006646
+006649
+006650
+006651
+006653
+006655
+006656
+006659
+006662
+006663
+006665
+006669
+006672
+006675
+006676
+006680
+006683
+006685
+006686
+006688
+006691
+006692
+006693
+006700
+006701
+006705
+006710
+006711
+006712
+006713
+006715
+006716
+006717
+006720
+006721
+006723
+006724
+006728
+006729
+006732
+006733
+006737
+006741
+006742
+006743
+006744
+006745
+006746
+006749
+006750
+006752
+006754
+006756
+006757
+006758
+006763
+006764
+006767
+006770
+006771
+006774
+006775
+006776
+006778
+006779
+006780
+006785
+006787
+006788
+006790
+006791
+006792
+006793
+006795
+006796
+006798
+006801
+006804
+006807
+006809
+006811
+006812
+006815
+006816
+006817
+006818
+006820
+006823
+006826
+006830
+006831
+006832
+006834
+006837
+006843
+006846
+006851
+006853
+006854
+006856
+006857
+006861
+006863
+006870
+006871
+006872
+006873
+006875
+006877
+006879
+006881
+006882
+006885
+006888
+006889
+006890
+006891
+006894
+006895
+006897
+006898
+006901
+006902
+006904
+006905
+006906
+006907
+006913
+006915
+006920
+006921
+006923
+006925
+006926
+006927
+006928
+006929
+006936
+006937
+006938
+006941
+006942
+006946
+006951
+006954
+006955
+006957
+006960
+006961
+006964
+006967
+006969
+006970
+006973
+006974
+006975
+006977
+006978
+006979
+006980
+006982
+006984
+006985
+006986
+006991
+006992
+006993
+006996
+006997
+006998
+006999
+007000
+007001
+007005
+007010
+007012
+007013
+007014
+007015
+007017
+007019
+007024
+007026
+007027
+007028
+007030
+007032
+007034
+007037
+007041
+007043
+007044
+007047
+007051
+007053
+007055
+007057
+007060
+007061
+007063
+007066
+007067
+007069
+007076
+007081
+007082
+007083
+007085
+007087
+007091
+007094
+007096
+007098
+007099
+007102
+007103
+007106
+007107
+007110
+007111
+007112
+007115
+007116
+007118
+007119
+007120
+007124
+007126
+007127
+007131
+007134
+007135
+007136
+007137
+007142
+007143
+007145
+007151
+007155
+007156
+007157
+007158
+007160
+007161
+007164
+007169
+007170
+007171
+007173
+007175
+007176
+007178
+007179
+007181
+007183
+007186
+007188
+007190
+007192
+007195
+007196
+007198
+007199
+007201
+007202
+007203
+007206
+007207
+007209
+007218
+007220
+007221
+007225
+007226
+007228
+007229
+007231
+007232
+007233
+007235
+007237
+007238
+007239
+007240
+007242
+007246
+007248
+007251
+007252
+007253
+007254
+007255
+007257
+007262
+007264
+007265
+007267
+007268
+007269
+007272
+007273
+007277
+007278
+007281
+007282
+007286
+007287
+007288
+007290
+007291
+007293
+007301
+007303
+007304
+007306
+007307
+007309
+007310
+007312
+007313
+007315
+007316
+007317
+007319
+007320
+007321
+007324
+007326
+007328
+007331
+007332
+007333
+007335
+007337
+007338
+007339
+007340
+007341
+007342
+007345
+007347
+007348
+007349
+007352
+007353
+007354
+007355
+007357
+007358
+007360
+007362
+007364
+007366
+007367
+007368
+007371
+007377
+007378
+007379
+007380
+007382
+007384
+007386
+007387
+007391
+007392
+007393
+007395
+007397
+007399
+007400
+007401
+007402
+007403
+007404
+007405
+007406
+007407
+007409
+007412
+007415
+007418
+007420
+007423
+007426
+007428
+007429
+007430
+007434
+007440
+007441
+007442
+007444
+007447
+007450
+007452
+007453
+007455
+007456
+007459
+007462
+007463
+007464
+007469
+007471
+007472
+007473
+007476
+007478
+007485
+007487
+007488
+007492
+007494
+007495
+007496
+007499
+007500
+007501
+007502
+007504
+007505
+007507
+007508
+007509
+007510
+007512
+007514
+007515
+007516
+007518
+007520
+007522
+007529
+007531
+007532
+007534
+007539
+007541
+007542
+007545
+007548
+007549
+007550
+007552
+007553
+007554
+007556
+007557
+007560
+007561
+007562
+007564
+007567
+007569
+007573
+007574
+007577
+007580
+007581
+007582
+007583
+007584
+007587
+007588
+007589
+007591
+007593
+007595
+007596
+007597
+007598
+007599
+007602
+007604
+007607
+007608
+007609
+007610
+007613
+007616
+007617
+007620
+007623
+007625
+007627
+007628
+007630
+007632
+007634
+007635
+007636
+007638
+007641
+007643
+007644
+007645
+007646
+007648
+007651
+007652
+007658
+007659
+007660
+007661
+007665
+007669
+007674
+007676
+007681
+007684
+007686
+007689
+007690
+007693
+007695
+007698
+007700
+007701
+007703
+007706
+007707
+007708
+007710
+007711
+007714
+007716
+007717
+007719
+007722
+007725
+007726
+007728
+007730
+007733
+007734
+007737
+007738
+007739
+007741
+007744
+007747
+007750
+007752
+007755
+007756
+007757
+007759
+007761
+007764
+007766
+007769
+007770
+007771
+007774
+007778
+007780
+007782
+007783
+007784
+007785
+007787
+007788
+007789
+007792
+007794
+007796
+007797
+007800
+007801
+007802
+007804
+007805
+007806
+007807
+007808
+007811
+007816
+007817
+007818
+007822
+007823
+007825
+007827
+007828
+007829
+007830
+007832
+007835
+007837
+007839
+007842
+007844
+007846
+007848
+007849
+007850
+007851
+007852
+007858
+007860
+007861
+007862
+007866
+007867
+007870
+007871
+007874
+007875
+007879
+007880
+007881
+007882
+007887
+007888
+007891
+007892
+007893
+007894
+007895
+007896
+007903
+007904
+007906
+007907
+007912
+007913
+007917
+007918
+007922
+007927
+007929
+007930
+007934
+007936
+007937
+007938
+007941
+007942
+007944
+007945
+007948
+007949
+007951
+007952
+007955
+007957
+007960
+007961
+007962
+007965
+007966
+007967
+007969
+007972
+007973
+007975
+007977
+007978
+007981
+007982
+007983
+007985
+007986
+007988
+007989
+007990
+007992
+007993
+007994
+007995
+008000
+008003
+008006
+008007
+008010
+008011
+008013
+008014
+008015
+008016
+008018
+008020
+008021
+008022
+008025
+008027
+008028
+008030
+008034
+008035
+008038
+008039
+008041
+008045
+008046
+008047
+008050
+008052
+008054
+008055
+008056
+008058
+008059
+008065
+008066
+008070
+008071
+008073
+008074
+008077
+008078
+008080
+008081
+008088
+008089
+008090
+008092
+008094
+008097
+008099
+008102
+008104
+008109
+008110
+008111
+008113
+008114
+008118
+008119
+008120
+008123
+008124
+008126
+008128
+008129
+008131
+008133
+008134
+008135
+008136
+008143
+008145
+008146
+008147
+008148
+008149
+008152
+008153
+008154
+008155
+008156
+008157
+008158
+008161
+008162
+008165
+008167
+008170
+008172
+008176
+008178
+008179
+008181
+008182
+008183
+008184
+008185
+008187
+008192
+008193
+008194
+008195
+008196
+008198
+008201
+008205
+008206
+008207
+008210
+008212
+008214
+008215
+008217
+008219
+008221
+008227
+008228
+008230
+008231
+008233
+008234
+008237
+008238
+008239
+008240
+008242
+008243
+008245
+008246
+008247
+008249
+008255
+008256
+008257
+008259
+008264
+008265
+008266
+008267
+008270
+008271
+008273
+008274
+008276
+008277
+008278
+008283
+008286
+008287
+008288
+008289
+008290
+008291
+008298
+008303
+008304
+008305
+008308
+008309
+008314
+008321
+008324
+008325
+008328
+008330
+008331
+008333
+008334
+008337
+008339
+008340
+008343
+008344
+008347
+008348
+008350
+008352
+008353
+008354
+008356
+008357
+008358
+008361
+008362
+008363
+008366
+008367
+008369
+008371
+008373
+008375
+008377
+008378
+008379
+008380
+008382
+008383
+008389
+008392
+008393
+008394
+008395
+008396
+008399
+008400
+008401
+008402
+008404
+008405
+008406
+008407
+008408
+008411
+008412
+008414
+008417
+008418
+008419
+008420
+008421
+008428
+008431
+008432
+008435
+008436
+008439
+008440
+008441
+008446
+008447
+008448
+008451
+008455
+008457
+008458
+008459
+008460
+008463
+008464
+008469
+008471
+008473
+008474
+008476
+008479
+008480
+008481
+008486
+008487
+008488
+008489
+008490
+008491
+008493
+008496
+008497
+008500
+008501
+008504
+008505
+008507
+008508
+008510
+008511
+008515
+008516
+008520
+008525
+008527
+008528
+008531
+008532
+008537
+008538
+008539
+008540
+008543
+008544
+008545
+008546
+008547
+008548
+008551
+008552
+008554
+008555
+008560
+008561
+008563
+008565
+008566
+008567
+008569
+008570
+008571
+008574
+008575
+008577
+008578
+008579
+008580
+008583
+008589
+008590
+008591
+008593
+008594
+008597
+008598
+008599
+008600
+008603
+008605
+008609
+008611
+008613
+008614
+008616
+008619
+008622
+008623
+008625
+008626
+008627
+008629
+008630
+008631
+008632
+008634
+008637
+008640
+008641
+008642
+008643
+008646
+008648
+008649
+008650
+008651
+008652
+008656
+008657
+008658
+008659
+008660
+008661
+008662
+008664
+008666
+008668
+008669
+008671
+008672
+008673
+008674
+008675
+008677
+008678
+008679
+008681
+008682
+008684
+008685
+008686
+008689
+008693
+008694
+008696
+008697
+008700
+008703
+008704
+008705
+008707
+008708
+008711
+008712
+008714
+008715
+008719
+008721
+008724
+008726
+008729
+008734
+008735
+008736
+008737
+008740
+008743
+008745
+008746
+008751
+008754
+008758
+008761
+008762
+008763
+008765
+008767
+008774
+008777
+008778
+008779
+008780
+008781
+008782
+008785
+008786
+008787
+008788
+008789
+008791
+008792
+008795
+008797
+008798
+008800
+008802
+008803
+008804
+008807
+008808
+008812
+008816
+008818
+008820
+008821
+008824
+008825
+008827
+008828
+008829
+008830
+008832
+008834
+008839
+008842
+008844
+008845
+008846
+008850
+008851
+008852
+008853
+008855
+008857
+008860
+008861
+008863
+008864
+008866
+008868
+008869
+008870
+008875
+008877
+008881
+008882
+008887
+008889
+008893
+008894
+008895
+008896
+008897
+008898
+008899
+008901
+008902
+008903
+008904
+008906
+008907
+008908
+008910
+008912
+008915
+008916
+008918
+008922
+008924
+008925
+008928
+008934
+008935
+008937
+008938
+008941
+008945
+008946
+008947
+008949
+008950
+008952
+008954
+008956
+008957
+008959
+008963
+008964
+008972
+008974
+008977
+008981
+008984
+008986
+008990
+008991
+008992
+008993
+008994
+008996
+008998
+009001
+009003
+009008
+009009
+009010
+009011
+009012
+009013
+009014
+009017
+009021
+009023
+009025
+009026
+009028
+009030
+009031
+009033
+009038
+009040
+009041
+009043
+009044
+009046
+009047
+009050
+009052
+009054
+009055
+009056
+009057
+009061
+009062
+009065
+009067
+009069
+009070
+009071
+009074
+009075
+009076
+009077
+009081
+009082
+009083
+009084
+009088
+009090
+009092
+009093
+009095
+009096
+009097
+009101
+009102
+009103
+009104
+009107
+009109
+009110
+009111
+009115
+009118
+009119
+009120
+009122
+009124
+009125
+009127
+009130
+009132
+009134
+009135
+009137
+009139
+009140
+009142
+009143
+009145
+009146
+009149
+009152
+009154
+009156
+009158
+009164
+009165
+009167
+009169
+009170
+009171
+009172
+009176
+009182
+009183
+009188
+009190
+009198
+009199
+009201
+009203
+009204
+009206
+009207
+009210
+009211
+009216
+009217
+009219
+009220
+009222
+009223
+009225
+009226
+009228
+009229
+009231
+009232
+009233
+009234
+009235
+009237
+009240
+009241
+009243
+009248
+009253
+009256
+009257
+009258
+009260
+009261
+009262
+009263
+009264
+009265
+009266
+009267
+009274
+009275
+009276
+009277
+009280
+009284
+009292
+009293
+009294
+009297
+009298
+009300
+009301
+009302
+009304
+009305
+009310
+009311
+009313
+009314
+009317
+009319
+009320
+009321
+009322
+009328
+009329
+009332
+009335
+009338
+009340
+009341
+009344
+009345
+009346
+009352
+009353
+009355
+009356
+009357
+009360
+009361
+009363
+009364
+009366
+009367
+009369
+009370
+009372
+009376
+009379
+009380
+009381
+009383
+009384
+009385
+009387
+009390
+009391
+009395
+009396
+009397
+009399
+009400
+009402
+009403
+009404
+009415
+009416
+009423
+009425
+009426
+009427
+009428
+009430
+009431
+009435
+009436
+009441
+009442
+009444
+009447
+009449
+009450
+009451
+009452
+009453
+009462
+009467
+009471
+009473
+009474
+009475
+009478
+009482
+009483
+009485
+009486
+009487
+009489
+009492
+009493
+009495
+009498
+009501
+009503
+009505
+009506
+009509
+009510
+009511
+009513
+009514
+009521
+009522
+009525
+009529
+009530
+009534
+009535
+009536
+009538
+009539
+009544
+009547
+009548
+009552
+009553
+009554
+009555
+009556
+009559
+009561
+009563
+009564
+009569
+009570
+009572
+009574
+009575
+009578
+009581
+009582
+009583
+009589
+009590
+009592
+009593
+009594
+009595
+009599
+009601
+009602
+009604
+009606
+009607
+009608
+009610
+009612
+009616
+009622
+009624
+009625
+009626
+009628
+009630
+009631
+009632
+009633
+009635
+009639
+009640
+009642
+009643
+009645
+009646
+009648
+009651
+009652
+009653
+009657
+009660
+009661
+009662
+009663
+009665
+009669
+009672
+009673
+009674
+009675
+009677
+009680
+009682
+009683
+009688
+009689
+009690
+009694
+009696
+009697
+009701
+009704
+009705
+009708
+009714
+009715
+009716
+009720
+009722
+009723
+009725
+009727
+009728
+009730
+009731
+009736
+009739
+009740
+009741
+009742
+009744
+009750
+009751
+009752
+009753
+009757
+009759
+009760
+009765
+009766
+009768
+009769
+009770
+009771
+009775
+009777
+009779
+009782
+009783
+009784
+009786
+009787
+009788
+009791
+009793
+009795
+009798
+009799
+009802
+009803
+009804
+009806
+009811
+009812
+009814
+009815
+009817
+009818
+009820
+009821
+009824
+009826
+009827
+009829
+009835
+009837
+009838
+009840
+009843
+009844
+009846
+009847
+009849
+009850
+009853
+009854
+009856
+009857
+009861
+009864
+009866
+009871
+009873
+009875
+009876
+009883
+009885
+009888
+009889
+009890
+009891
+009892
+009893
+009895
+009899
+009901
+009903
+009906
+009907
+009909
+009910
+009912
+009914
+009915
+009916
+009919
+009921
+009922
+009924
+009925
+009927
+009928
+009929
+009930
+009931
+009933
+009934
+009936
+009937
+009941
+009943
+009948
+009951
+009952
+009953
+009956
+009957
+009960
+009962
+009963
+000000194540
+000000453620
+000000446974
+000000495048
+000000229241
+000000152298
+000000229848
+000000309292
+000000077178
+000000352533
+000000469834
+000000321960
+000000411321
+000000319594
+000000444382
+000000323115
+000000124471
+000000096958
+000000517973
+000000501909
+000000455299
+000000259188
+000000235518
+000000190664
+000000577787
+000000098008
+000000411654
+000000302230
+000000219594
+000000062831
+000000137892
+000000215600
+000000299987
+000000123921
+000000018670
+000000382210
+000000230057
+000000571641
+000000113495
+000000057699
+000000316650
+000000486114
+000000099269
+000000325775
+000000094096
+000000468357
+000000472666
+000000353624
+000000014297
+000000437356
+000000067959
+000000065156
+000000064884
+000000279089
+000000398869
+000000159411
+000000546454
+000000326903
+000000522316
+000000004318
+000000361148
+000000487286
+000000398579
+000000554252
+000000223599
+000000283809
+000000009185
+000000357424
+000000474699
+000000403639
+000000002531
+000000538223
+000000256189
+000000397997
+000000077924
+000000333876
+000000038652
+000000194194
+000000521804
+000000351359
+000000034086
+000000042314
+000000280051
+000000360910
+000000101689
+000000576581
+000000057454
+000000125755
+000000126272
+000000127681
+000000078772
+000000398925
+000000442809
+000000451798
+000000025470
+000000549626
+000000294744
+000000206434
+000000335463
+000000539056
+000000173742
+000000344765
+000000452186
+000000324403
+000000130337
+000000563904
+000000026622
+000000175954
+000000194352
+000000046104
+000000228669
+000000003286
+000000198164
+000000160250
+000000563275
+000000438628
+000000090122
+000000036187
+000000174560
+000000375691
+000000372482
+000000056032
+000000103510
+000000083454
+000000202810
+000000387515
+000000041027
+000000250735
+000000381384
+000000278646
+000000449963
+000000068601
+000000234341
+000000367007
+000000250490
+000000448172
+000000322175
+000000191249
+000000516668
+000000569645
+000000298622
+000000389340
+000000496374
+000000506748
+000000431164
+000000433405
+000000281052
+000000193759
+000000345047
+000000308582
+000000098732
+000000094702
+000000078286
+000000170371
+000000052257
+000000150196
+000000485550
+000000147256
+000000306103
+000000110442
+000000313244
+000000021095
+000000321195
+000000380620
+000000374337
+000000553793
+000000416356
+000000232091
+000000074601
+000000434179
+000000481889
+000000291019
+000000171678
+000000167042
+000000558966
+000000008431
+000000335807
+000000243205
+000000081810
+000000054305
+000000164725
+000000081017
+000000224891
+000000490286
+000000363100
+000000048665
+000000560750
+000000439630
+000000339715
+000000316700
+000000143392
+000000069325
+000000080147
+000000194208
+000000371978
+000000134935
+000000140053
+000000403020
+000000047001
+000000201727
+000000424604
+000000488880
+000000182423
+000000562648
+000000225834
+000000329475
+000000243160
+000000301425
+000000460565
+000000090261
+000000147537
+000000271002
+000000475550
+000000312630
+000000353536
+000000093114
+000000500646
+000000557985
+000000526359
+000000219687
+000000294264
+000000500515
+000000160510
+000000382724
+000000118422
+000000578580
+000000193664
+000000237777
+000000103119
+000000561894
+000000385157
+000000497351
+000000072111
+000000526486
+000000360013
+000000340706
+000000563280
+000000007890
+000000175539
+000000240873
+000000259346
+000000009527
+000000225490
+000000058134
+000000413121
+000000174358
+000000127976
+000000491778
+000000567787
+000000217247
+000000378090
+000000135741
+000000389977
+000000502724
+000000428345
+000000044767
+000000064779
+000000448518
+000000177924
+000000374360
+000000015074
+000000238858
+000000308536
+000000104756
+000000305084
+000000108408
+000000499349
+000000373341
+000000215563
+000000439689
+000000239853
+000000232781
+000000346207
+000000387150
+000000074517
+000000032082
+000000303670
+000000100083
+000000412468
+000000008350
+000000045204
+000000280850
+000000079255
+000000418818
+000000301754
+000000172784
+000000193105
+000000406205
+000000008721
+000000535389
+000000032757
+000000495379
+000000252646
+000000242291
+000000379340
+000000040466
+000000500525
+000000341257
+000000042748
+000000485300
+000000022415
+000000372652
+000000276218
+000000268068
+000000460813
+000000017089
+000000068397
+000000465302
+000000384375
+000000259819
+000000019022
+000000474373
+000000393266
+000000204216
+000000491384
+000000499594
+000000420658
+000000247979
+000000287841
+000000296009
+000000002429
+000000023917
+000000576072
+000000429791
+000000152980
+000000473391
+000000260172
+000000180800
+000000011420
+000000535013
+000000000094
+000000321878
+000000435389
+000000413799
+000000073387
+000000326408
+000000183202
+000000075591
+000000170139
+000000422779
+000000314370
+000000484881
+000000425556
+000000408303
+000000552066
+000000370613
+000000538164
+000000137420
+000000228478
+000000470055
+000000371151
+000000288313
+000000494486
+000000158883
+000000218846
+000000231338
+000000207686
+000000269738
+000000304347
+000000533228
+000000281464
+000000530599
+000000360868
+000000543291
+000000544601
+000000425470
+000000025717
+000000115967
+000000054358
+000000509750
+000000254001
+000000181217
+000000340976
+000000313015
+000000274068
+000000294973
+000000224908
+000000539915
+000000009843
+000000446935
+000000321385
+000000348221
+000000466787
+000000071647
+000000121901
+000000268668
+000000079686
+000000308507
+000000361685
+000000212263
+000000246248
+000000314447
+000000014759
+000000523081
+000000543490
+000000484627
+000000448571
+000000025673
+000000528071
+000000484964
+000000566193
+000000414112
+000000229088
+000000431922
+000000532239
+000000414848
+000000038733
+000000556648
+000000217623
+000000081981
+000000348989
+000000019306
+000000383576
+000000176160
+000000051047
+000000556703
+000000550864
+000000304484
+000000363224
+000000135193
+000000047775
+000000270650
+000000073861
+000000320796
+000000333181
+000000290774
+000000433446
+000000121110
+000000282366
+000000523466
+000000374249
+000000452807
+000000047178
+000000032275
+000000545053
+000000485247
+000000362713
+000000006753
+000000158702
+000000198832
+000000355950
+000000409438
+000000221833
+000000317537
+000000521245
+000000187878
+000000528432
+000000365645
+000000512007
+000000137378
+000000030148
+000000097914
+000000157883
+000000316882
+000000559271
+000000006247
+000000274085
+000000050360
+000000476114
+000000482730
+000000088282
+000000525903
+000000014432
+000000170930
+000000288000
+000000118777
+000000471534
+000000039884
+000000384849
+000000088988
+000000554037
+000000536392
+000000184550
+000000483442
+000000558836
+000000507939
+000000478778
+000000190466
+000000268938
+000000115973
+000000212440
+000000576593
+000000285200
+000000200274
+000000317134
+000000543330
+000000104326
+000000397307
+000000422192
+000000068633
+000000349130
+000000272480
+000000460422
+000000273808
+000000230070
+000000526794
+000000489900
+000000036238
+000000546337
+000000562645
+000000194726
+000000558771
+000000344758
+000000285342
+000000141518
+000000410855
+000000045071
+000000554168
+000000044080
+000000090791
+000000087929
+000000335492
+000000194742
+000000136373
+000000197934
+000000045404
+000000403705
+000000271924
+000000376919
+000000206363
+000000553682
+000000549668
+000000575496
+000000245243
+000000333556
+000000544582
+000000183204
+000000580510
+000000474499
+000000392330
+000000502726
+000000451597
+000000511343
+000000544556
+000000154384
+000000561201
+000000248912
+000000433951
+000000346754
+000000305287
+000000361356
+000000062376
+000000138785
+000000112590
+000000235061
+000000153666
+000000016111
+000000380016
+000000288824
+000000530729
+000000260929
+000000076518
+000000479447
+000000420594
+000000458586
+000000447270
+000000300880
+000000333683
+000000051473
+000000312868
+000000544516
+000000083914
+000000080853
+000000280324
+000000283152
+000000129576
+000000366792
+000000487766
+000000402359
+000000348186
+000000215878
+000000108876
+000000452312
+000000274792
+000000168331
+000000481609
+000000232050
+000000270096
+000000213351
+000000280018
+000000085404
+000000419856
+000000141414
+000000369086
+000000536045
+000000340003
+000000458621
+000000437714
+000000379177
+000000333048
+000000029323
+000000446481
+000000520636
+000000094753
+000000295016
+000000115266
+000000132654
+000000566837
+000000013678
+000000422452
+000000564162
+000000421321
+000000486609
+000000017065
+000000230078
+000000563739
+000000506357
+000000547097
+000000223942
+000000114139
+000000028239
+000000032126
+000000059403
+000000086412
+000000424326
+000000237781
+000000142333
+000000298141
+000000108303
+000000020052
+000000049234
+000000157209
+000000578387
+000000558362
+000000085998
+000000289211
+000000031971
+000000505899
+000000316342
+000000338607
+000000409333
+000000113593
+000000277172
+000000532126
+000000450391
+000000134673
+000000492810
+000000436130
+000000124367
+000000459401
+000000475567
+000000160422
+000000211918
+000000221949
+000000383250
+000000301486
+000000340511
+000000352724
+000000078336
+000000193435
+000000364705
+000000441212
+000000268826
+000000233064
+000000242368
+000000521031
+000000050125
+000000332115
+000000548375
+000000002753
+000000326210
+000000459471
+000000398214
+000000236243
+000000042960
+000000504657
+000000372868
+000000033904
+000000571683
+000000061338
+000000234713
+000000349030
+000000012319
+000000268393
+000000264733
+000000049878
+000000237399
+000000177917
+000000467578
+000000431775
+000000563764
+000000447501
+000000226821
+000000299067
+000000316855
+000000371051
+000000504673
+000000353427
+000000249549
+000000219179
+000000374950
+000000051941
+000000124577
+000000314734
+000000304905
+000000124836
+000000140006
+000000256091
+000000308798
+000000222664
+000000359567
+000000176442
+000000426172
+000000545982
+000000288471
+000000014306
+000000341985
+000000290566
+000000307262
+000000007090
+000000043256
+000000240976
+000000484200
+000000255385
+000000162357
+000000276664
+000000072717
+000000406103
+000000092601
+000000048572
+000000028069
+000000100223
+000000326935
+000000248730
+000000473438
+000000462553
+000000016848
+000000333412
+000000118302
+000000073733
+000000581749
+000000138070
+000000507329
+000000023875
+000000470988
+000000211485
+000000422654
+000000315057
+000000061672
+000000526414
+000000209068
+000000354734
+000000422656
+000000496100
+000000208730
+000000320600
+000000352484
+000000218447
+000000249272
+000000483525
+000000151911
+000000487778
+000000036091
+000000388568
+000000253094
+000000013383
+000000242422
+000000262736
+000000026421
+000000044337
+000000319120
+000000156974
+000000391063
+000000253834
+000000511358
+000000538609
+000000348651
+000000202548
+000000333368
+000000189997
+000000325932
+000000521236
+000000418113
+000000478759
+000000187119
+000000416281
+000000523433
+000000505243
+000000123310
+000000516212
+000000221966
+000000380493
+000000461189
+000000369509
+000000543026
+000000514064
+000000281910
+000000556745
+000000411455
+000000063715
+000000399650
+000000408623
+000000574251
+000000578108
+000000530384
+000000501874
+000000174901
+000000153162
+000000044491
+000000305100
+000000384302
+000000452524
+000000180445
+000000101315
+000000479666
+000000222913
+000000384036
+000000498022
+000000403295
+000000436162
+000000298109
+000000399862
+000000393692
+000000464923
+000000192357
+000000059527
+000000387562
+000000292931
+000000522616
+000000402683
+000000155904
+000000027159
+000000268052
+000000282691
+000000108020
+000000128709
+000000403730
+000000493618
+000000489400
+000000548662
+000000488403
+000000560172
+000000361618
+000000262954
+000000453351
+000000392991
+000000122460
+000000402788
+000000368706
+000000462978
+000000134902
+000000054691
+000000569997
+000000329903
+000000274262
+000000366049
+000000029405
+000000574388
+000000553388
+000000415949
+000000416918
+000000493386
+000000461221
+000000516828
+000000149566
+000000395268
+000000492156
+000000257615
+000000556715
+000000145460
+000000344259
+000000186585
+000000522034
+000000350230
+000000301381
+000000265708
+000000106639
+000000108240
+000000518901
+000000577333
+000000263779
+000000100698
+000000078562
+000000474656
+000000470746
+000000150324
+000000149202
+000000471394
+000000038890
+000000204026
+000000383866
+000000154659
+000000138915
+000000467022
+000000269445
+000000244014
+000000436321
+000000578702
+000000465374
+000000118550
+000000267762
+000000243262
+000000329343
+000000364006
+000000016543
+000000468884
+000000028930
+000000496818
+000000013150
+000000109730
+000000120164
+000000448574
+000000040433
+000000481125
+000000378117
+000000256575
+000000160490
+000000078260
+000000301837
+000000353662
+000000224483
+000000473420
+000000062219
+000000026764
+000000462987
+000000387900
+000000092526
+000000023588
+000000257073
+000000364491
+000000077486
+000000378558
+000000313162
+000000149602
+000000413401
+000000147915
+000000072041
+000000240709
+000000551986
+000000497001
+000000115151
+000000411832
+000000308592
+000000508555
+000000504425
+000000282328
+000000566785
+000000077563
+000000136894
+000000350069
+000000324507
+000000019532
+000000461953
+000000124874
+000000384793
+000000079247
+000000173228
+000000541147
+000000190547
+000000412641
+000000327198
+000000509339
+000000453509
+000000442952
+000000417284
+000000547633
+000000016206
+000000007856
+000000048271
+000000153618
+000000209071
+000000570465
+000000011990
+000000225191
+000000407378
+000000157279
+000000581204
+000000176192
+000000310070
+000000322407
+000000135525
+000000005469
+000000189993
+000000220321
+000000326064
+000000393836
+000000331419
+000000189017
+000000447349
+000000482562
+000000082565
+000000396337
+000000505891
+000000418155
+000000296151
+000000061137
+000000158005
+000000436992
+000000388042
+000000262940
+000000422026
+000000130970
+000000506162
+000000534274
+000000018312
+000000265531
+000000333290
+000000220915
+000000135332
+000000126964
+000000126563
+000000363191
+000000578041
+000000514581
+000000473665
+000000067647
+000000096755
+000000490118
+000000160860
+000000097589
+000000473260
+000000284252
+000000343972
+000000005355
+000000280043
+000000199133
+000000116353
+000000390073
+000000216820
+000000304587
+000000161935
+000000319465
+000000551802
+000000570395
+000000155546
+000000064659
+000000404229
+000000572495
+000000437264
+000000337502
+000000239283
+000000092196
+000000575915
+000000043892
+000000274570
+000000024721
+000000510581
+000000346596
+000000220449
+000000523322
+000000366086
+000000230665
+000000499134
+000000494154
+000000093971
+000000122954
+000000246717
+000000073680
+000000359118
+000000448034
+000000315128
+000000266800
+000000221190
+000000480739
+000000328433
+000000176118
+000000434699
+000000372156
+000000152000
+000000499168
+000000558817
+000000392850
+000000543942
+000000458141
+000000148839
+000000190393
+000000113369
+000000394334
+000000184902
+000000143501
+000000365858
+000000024104
+000000073726
+000000209931
+000000244965
+000000558371
+000000341778
+000000072629
+000000160201
+000000208200
+000000033888
+000000123757
+000000197941
+000000358266
+000000498152
+000000178022
+000000182349
+000000027901
+000000097492
+000000442929
+000000372316
+000000081315
+000000553764
+000000413736
+000000285023
+000000176863
+000000096582
+000000292386
+000000129030
+000000490153
+000000021286
+000000412616
+000000300072
+000000196281
+000000152914
+000000437604
+000000455444
+000000278086
+000000419942
+000000312662
+000000428067
+000000571955
+000000303703
+000000462736
+000000055955
+000000259758
+000000421944
+000000278293
+000000526767
+000000279649
+000000116570
+000000199719
+000000536103
+000000312887
+000000127555
+000000476599
+000000553320
+000000505343
+000000044038
+000000442220
+000000325668
+000000003244
+000000426520
+000000211484
+000000122498
+000000249227
+000000151722
+000000512240
+000000200327
+000000466042
+000000415499
+000000312282
+000000540103
+000000223023
+000000134532
+000000241527
+000000084448
+000000430684
+000000056675
+000000125429
+000000231596
+000000243386
+000000115005
+000000097028
+000000193661
+000000461267
+000000118477
+000000258753
+000000267184
+000000120790
+000000509588
+000000051799
+000000526756
+000000205861
+000000069428
+000000022145
+000000356028
+000000358291
+000000283054
+000000230428
+000000513850
+000000061761
+000000128831
+000000310660
+000000091374
+000000093778
+000000168031
+000000504454
+000000573623
+000000307784
+000000365446
+000000146121
+000000096568
+000000156197
+000000318528
+000000300632
+000000576549
+000000532128
+000000503479
+000000183803
+000000337379
+000000319688
+000000316250
+000000508467
+000000448471
+000000007954
+000000458178
+000000544005
+000000244096
+000000240662
+000000423362
+000000008292
+000000173819
+000000457717
+000000504020
+000000022340
+000000126513
+000000191359
+000000385969
+000000473555
+000000306569
+000000208147
+000000117016
+000000360485
+000000498583
+000000517780
+000000205762
+000000422286
+000000285897
+000000571443
+000000030462
+000000192410
+000000043308
+000000149834
+000000229302
+000000461042
+000000550019
+000000425117
+000000468203
+000000429573
+000000336966
+000000243218
+000000277550
+000000499789
+000000104589
+000000051525
+000000180672
+000000539233
+000000067786
+000000205906
+000000229315
+000000462549
+000000194753
+000000040569
+000000518899
+000000027718
+000000414439
+000000400299
+000000317565
+000000238623
+000000370329
+000000342203
+000000088123
+000000378396
+000000247050
+000000481552
+000000404140
+000000134863
+000000459428
+000000553671
+000000512797
+000000503541
+000000541532
+000000273294
+000000384603
+000000108718
+000000181216
+000000460344
+000000409088
+000000069826
+000000573527
+000000536935
+000000253388
+000000257426
+000000080367
+000000062716
+000000286877
+000000310047
+000000253970
+000000528341
+000000275997
+000000039589
+000000149223
+000000352978
+000000557825
+000000039698
+000000325524
+000000490665
+000000067143
+000000408543
+000000262307
+000000475475
+000000358939
+000000022951
+000000549287
+000000166998
+000000481172
+000000504868
+000000434884
+000000147879
+000000460910
+000000449073
+000000087767
+000000355193
+000000482879
+000000040248
+000000036693
+000000419473
+000000026879
+000000021595
+000000084679
+000000094307
+000000142896
+000000569610
+000000153856
+000000560604
+000000448255
+000000411142
+000000558809
+000000468205
+000000429215
+000000333739
+000000237772
+000000556980
+000000549709
+000000264362
+000000501418
+000000352508
+000000403144
+000000139758
+000000076015
+000000398172
+000000229171
+000000041561
+000000037477
+000000569384
+000000241916
+000000200339
+000000382564
+000000422611
+000000067868
+000000192266
+000000140883
+000000386313
+000000449007
+000000319912
+000000506444
+000000384952
+000000200495
+000000191325
+000000102815
+000000180971
+000000329830
+000000536535
+000000042144
+000000088723
+000000354645
+000000518610
+000000546242
+000000042215
+000000521232
+000000373089
+000000390552
+000000427376
+000000521808
+000000391084
+000000295850
+000000018040
+000000226567
+000000557127
+000000415376
+000000114153
+000000158555
+000000325666
+000000363343
+000000375960
+000000409767
+000000083059
+000000261175
+000000458123
+000000481710
+000000064259
+000000443829
+000000554455
+000000546463
+000000307464
+000000012803
+000000233748
+000000205460
+000000445950
+000000545900
+000000394801
+000000486788
+000000316229
+000000454388
+000000461600
+000000334234
+000000516167
+000000288453
+000000520342
+000000345813
+000000374033
+000000579544
+000000314265
+000000183836
+000000005142
+000000486350
+000000165160
+000000066164
+000000483330
+000000082258
+000000537005
+000000305370
+000000397673
+000000175731
+000000356790
+000000199930
+000000289852
+000000557059
+000000267583
+000000338242
+000000390322
+000000581481
+000000516766
+000000256151
+000000174239
+000000260400
+000000203349
+000000381998
+000000302353
+000000349511
+000000100202
+000000094168
+000000100812
+000000125311
+000000172010
+000000475887
+000000279477
+000000286141
+000000410979
+000000521631
+000000123289
+000000034096
+000000265566
+000000206705
+000000527631
+000000055323
+000000472097
+000000131714
+000000470821
+000000358667
+000000277848
+000000163309
+000000166987
+000000204174
+000000519985
+000000432673
+000000046852
+000000343680
+000000067572
+000000381318
+000000193751
+000000109858
+000000070939
+000000277162
+000000119115
+000000251315
+000000338159
+000000288639
+000000360536
+000000291484
+000000086650
+000000440371
+000000540347
+000000307871
+000000296046
+000000192301
+000000209906
+000000398393
+000000226913
+000000260899
+000000484457
+000000235253
+000000021599
+000000379545
+000000010822
+000000236515
+000000235871
+000000160393
+000000568396
+000000161807
+000000153997
+000000102670
+000000536039
+000000296867
+000000423742
+000000127892
+000000523536
+000000224557
+000000039881
+000000191997
+000000401971
+000000149444
+000000323008
+000000335766
+000000276703
+000000167131
+000000007944
+000000097693
+000000112059
+000000199570
+000000298252
+000000448413
+000000511580
+000000160498
+000000267719
+000000110484
+000000355263
+000000054171
+000000259040
+000000109869
+000000045594
+000000054918
+000000370513
+000000212649
+000000252373
+000000554310
+000000004068
+000000066566
+000000568675
+000000353997
+000000232376
+000000543112
+000000058732
+000000034687
+000000446807
+000000540872
+000000238117
+000000200008
+000000227526
+000000091778
+000000043092
+000000135029
+000000313585
+000000054363
+000000126235
+000000386350
+000000322141
+000000552502
+000000391828
+000000139372
+000000005383
+000000440625
+000000046014
+000000435755
+000000397362
+000000452558
+000000347253
+000000140984
+000000164179
+000000433647
+000000549188
+000000106915
+000000416816
+000000251425
+000000316407
+000000558640
+000000244857
+000000565650
+000000043966
+000000112562
+000000132303
+000000183693
+000000284155
+000000252420
+000000481254
+000000369185
+000000430533
+000000456606
+000000029090
+000000166723
+000000538247
+000000002106
+000000209570
+000000282741
+000000043288
+000000119428
+000000284448
+000000393730
+000000257673
+000000246672
+000000559754
+000000208166
+000000459716
+000000534941
+000000047781
+000000084454
+000000013703
+000000344422
+000000056007
+000000295668
+000000271068
+000000386964
+000000178796
+000000115942
+000000355180
+000000363986
+000000033074
+000000088950
+000000141834
+000000418144
+000000330004
+000000413665
+000000094381
+000000528084
+000000392972
+000000535993
+000000517582
+000000331417
+000000435833
+000000241844
+000000567220
+000000219524
+000000322768
+000000247871
+000000153040
+000000534019
+000000140391
+000000100207
+000000287881
+000000302243
+000000578324
+000000535049
+000000101894
+000000534983
+000000373662
+000000505709
+000000063668
+000000299488
+000000369207
+000000446861
+000000388245
+000000190135
+000000339054
+000000454956
+000000329602
+000000553271
+000000013948
+000000195699
+000000380520
+000000075267
+000000282425
+000000068502
+000000395723
+000000079441
+000000071206
+000000021364
+000000537540
+000000543281
+000000396685
+000000517674
+000000408425
+000000301764
+000000015978
+000000199653
+000000249418
+000000005862
+000000114652
+000000256196
+000000364589
+000000483418
+000000243187
+000000505111
+000000134119
+000000450493
+000000479539
+000000064954
+000000538359
+000000047229
+000000561479
+000000116196
+000000097543
+000000177085
+000000435923
+000000146672
+000000300470
+000000050356
+000000520100
+000000394259
+000000419532
+000000469317
+000000006701
+000000470174
+000000136458
+000000527625
+000000501062
+000000376320
+000000006949
+000000041913
+000000491448
+000000476321
+000000471056
+000000235522
+000000563048
+000000254431
+000000451033
+000000190646
+000000415771
+000000134128
+000000418885
+000000166468
+000000357859
+000000473612
+000000425522
+000000330041
+000000237685
+000000327549
+000000355210
+000000479670
+000000326936
+000000486290
+000000149331
+000000294934
+000000281371
+000000283744
+000000110536
+000000217433
+000000329150
+000000276961
+000000333887
+000000087561
+000000541562
+000000521726
+000000039987
+000000332543
+000000080105
+000000000715
+000000491510
+000000466627
+000000452459
+000000391269
+000000189646
+000000364973
+000000123445
+000000554439
+000000023996
+000000428778
+000000566668
+000000375054
+000000346672
+000000488386
+000000205152
+000000002964
+000000065891
+000000519840
+000000437810
+000000038079
+000000477434
+000000295201
+000000139639
+000000336102
+000000113040
+000000068198
+000000391652
+000000330621
+000000046071
+000000201919
+000000034701
+000000270193
+000000369357
+000000205266
+000000452922
+000000364044
+000000029473
+000000198550
+000000394186
+000000405174
+000000287858
+000000048199
+000000136559
+000000229832
+000000093666
+000000234236
+000000060706
+000000444565
+000000263281
+000000033943
+000000049542
+000000013061
+000000477718
+000000205572
+000000387102
+000000503235
+000000047974
+000000404702
+000000427350
+000000043338
+000000209006
+000000265378
+000000535981
+000000263744
+000000181224
+000000280176
+000000294353
+000000276549
+000000574735
+000000143980
+000000328890
+000000257341
+000000292792
+000000299968
+000000368142
+000000361739
+000000100547
+000000149192
+000000566432
+000000202764
+000000385259
+000000150444
+000000044922
+000000118330
+000000221095
+000000287575
+000000268233
+000000451800
+000000484739
+000000093519
+000000032102
+000000199243
+000000017301
+000000124004
+000000057166
+000000176363
+000000123837
+000000312153
+000000153574
+000000360525
+000000398758
+000000337551
+000000341275
+000000581797
+000000216905
+000000402598
+000000142426
+000000262204
+000000561543
+000000304315
+000000384822
+000000325294
+000000080745
+000000437435
+000000016825
+000000378644
+000000113205
+000000108751
+000000436837
+000000499636
+000000163234
+000000156695
+000000393794
+000000293108
+000000476634
+000000383885
+000000344857
+000000292719
+000000073019
+000000081033
+000000243627
+000000064005
+000000160192
+000000264365
+000000015944
+000000472109
+000000426282
+000000111737
+000000354380
+000000360068
+000000077380
+000000136917
+000000574324
+000000071796
+000000083002
+000000073239
+000000108894
+000000340995
+000000181948
+000000086555
+000000573778
+000000411368
+000000124835
+000000102987
+000000198043
+000000471711
+000000030401
+000000403525
+000000364399
+000000024851
+000000200195
+000000408854
+000000134755
+000000394089
+000000453357
+000000391388
+000000275038
+000000119145
+000000504336
+000000566336
+000000513643
+000000218204
+000000242261
+000000011504
+000000515377
+000000547431
+000000400567
+000000484282
+000000039663
+000000172658
+000000213342
+000000522667
+000000322427
+000000417586
+000000252679
+000000287886
+000000087230
+000000484304
+000000309775
+000000525988
+000000314792
+000000557186
+000000188733
+000000242642
+000000575254
+000000165854
+000000015474
+000000094084
+000000485139
+000000140918
+000000298299
+000000275020
+000000245112
+000000119923
+000000500321
+000000440623
+000000481012
+000000491381
+000000201125
+000000072222
+000000377007
+000000288847
+000000352829
+000000520851
+000000474472
+000000203827
+000000244425
+000000306113
+000000311383
+000000389418
+000000415222
+000000389429
+000000263845
+000000076802
+000000535355
+000000005345
+000000346262
+000000368729
+000000258352
+000000480438
+000000021740
+000000226801
+000000389775
+000000453602
+000000090429
+000000506576
+000000465537
+000000108442
+000000246609
+000000035282
+000000436410
+000000375904
+000000335860
+000000153392
+000000169803
+000000578411
+000000138299
+000000072752
+000000449330
+000000285890
+000000524838
+000000126610
+000000053388
+000000042355
+000000369250
+000000471202
+000000217156
+000000247874
+000000194357
+000000512904
+000000096101
+000000161772
+000000405563
+000000476220
+000000154621
+000000029074
+000000060874
+000000259136
+000000516244
+000000510684
+000000327505
+000000037433
+000000301628
+000000193271
+000000344654
+000000332691
+000000299103
+000000168741
+000000308775
+000000150049
+000000172582
+000000390956
+000000430160
+000000435488
+000000433987
+000000136461
+000000262013
+000000223270
+000000191740
+000000216091
+000000530097
+000000233843
+000000035664
+000000194956
+000000498610
+000000097371
+000000244016
+000000309633
+000000398729
+000000321810
+000000542042
+000000323925
+000000052183
+000000481185
+000000018460
+000000166082
+000000295756
+000000539509
+000000381615
+000000127342
+000000320451
+000000114101
+000000452381
+000000447548
+000000401390
+000000565264
+000000239728
+000000502911
+000000288547
+000000441258
+000000365507
+000000172051
+000000293493
+000000078982
+000000499922
+000000340333
+000000463680
+000000516623
+000000502284
+000000199634
+000000304698
+000000198001
+000000149641
+000000107277
+000000534081
+000000148908
+000000497010
+000000462164
+000000011758
+000000136384
+000000133050
+000000047952
+000000240605
+000000572993
+000000163608
+000000365027
+000000098674
+000000241350
+000000256589
+000000580431
+000000099466
+000000302806
+000000065861
+000000208815
+000000082124
+000000056852
+000000139625
+000000171472
+000000322911
+000000518481
+000000087398
+000000313599
+000000556025
+000000371654
+000000224776
+000000143123
+000000109114
+000000111361
+000000418761
+000000202832
+000000363165
+000000232618
+000000072800
+000000250043
+000000341040
+000000509504
+000000421102
+000000025529
+000000235498
+000000093947
+000000375714
+000000247348
+000000423454
+000000138189
+000000179454
+000000125971
+000000495542
+000000488476
+000000291973
+000000160560
+000000285832
+000000062398
+000000407487
+000000282828
+000000508488
+000000450407
+000000163723
+000000521968
+000000046004
+000000379101
+000000309568
+000000557731
+000000517089
+000000055010
+000000043851
+000000467397
+000000388770
+000000096202
+000000214255
+000000293793
+000000406001
+000000248370
+000000345701
+000000383762
+000000512769
+000000403774
+000000433052
+000000428148
+000000061919
+000000554283
+000000188824
+000000219590
+000000083730
+000000561570
+000000179025
+000000457737
+000000197749
+000000019047
+000000289128
+000000139049
+000000499785
+000000521379
+000000141278
+000000239089
+000000234274
+000000564302
+000000267088
+000000382368
+000000368679
+000000522566
+000000212824
+000000217090
+000000226595
+000000249240
+000000099626
+000000057777
+000000148614
+000000142890
+000000375194
+000000055580
+000000205887
+000000530497
+000000473215
+000000311899
+000000111606
+000000213021
+000000347097
+000000463825
+000000471156
+000000005577
+000000159103
+000000407150
+000000537596
+000000143767
+000000228552
+000000132689
+000000575355
+000000044830
+000000471658
+000000354517
+000000301201
+000000158897
+000000202273
+000000040675
+000000437509
+000000177325
+000000568647
+000000415746
+000000039406
+000000179963
+000000479941
+000000339403
+000000075565
+000000302547
+000000486994
+000000014366
+000000567410
+000000023735
+000000459449
+000000130328
+000000119608
+000000029226
+000000177492
+000000354606
+000000148986
+000000383884
+000000057689
+000000447902
+000000509115
+000000401393
+000000281994
+000000011527
+000000307246
+000000223790
+000000429460
+000000259721
+000000264193
+000000359840
+000000378844
+000000203506
+000000191042
+000000312412
+000000372870
+000000558741
+000000367528
+000000091891
+000000051453
+000000197257
+000000532102
+000000419892
+000000366171
+000000471097
+000000205206
+000000183287
+000000424258
+000000195406
+000000069121
+000000523735
+000000294877
+000000483266
+000000104809
+000000185002
+000000428208
+000000547524
+000000269612
+000000504013
+000000063764
+000000445338
+000000024672
+000000334463
+000000390513
+000000575822
+000000250951
+000000512140
+000000201348
+000000064149
+000000395678
+000000227554
+000000289972
+000000465266
+000000286910
+000000484260
+000000128312
+000000364307
+000000409744
+000000568879
+000000033131
+000000506812
+000000162249
+000000562834
+000000005180
+000000270603
+000000153142
+000000075230
+000000143941
+000000463969
+000000362247
+000000341232
+000000222261
+000000190407
+000000231996
+000000405541
+000000044336
+000000364032
+000000558642
+000000526701
+000000200202
+000000019635
+000000393423
+000000497211
+000000467720
+000000040896
+000000141604
+000000013452
+000000515062
+000000095375
+000000471851
+000000396932
+000000253426
+000000102793
+000000067420
+000000066445
+000000496106
+000000533917
+000000478349
+000000037629
+000000085291
+000000346138
+000000280498
+000000540270
+000000486026
+000000183292
+000000442657
+000000054643
+000000414607
+000000560332
+000000338419
+000000049860
+000000563665
+000000045617
+000000030160
+000000453775
+000000184667
+000000074430
+000000458073
+000000352869
+000000023981
+000000143933
+000000224100
+000000460287
+000000473208
+000000160317
+000000388347
+000000091719
+000000359563
+000000558153
+000000301494
+000000290704
+000000025216
+000000392224
+000000380343
+000000411358
+000000357641
+000000015109
+000000567801
+000000102735
+000000128248
+000000341054
+000000195042
+000000513708
+000000301334
+000000104150
+000000184698
+000000292587
+000000515058
+000000520337
+000000349947
+000000096713
+000000520898
+000000075628
+000000149381
+000000224248
+000000488790
+000000283840
+000000556345
+000000410655
+000000478528
+000000249982
+000000345899
+000000516008
+000000332078
+000000338475
+000000581136
+000000020619
+000000486825
+000000326028
+000000496268
+000000178592
+000000223872
+000000476772
+000000048001
+000000535856
+000000503022
+000000454898
+000000356362
+000000478835
+000000027272
+000000368581
+000000062619
+000000284649
+000000114250
+000000534756
+000000557174
+000000503401
+000000515662
+000000464188
+000000097427
+000000010655
+000000436407
+000000467311
+000000411666
+000000204804
+000000231448
+000000197507
+000000241027
+000000249141
+000000510985
+000000476642
+000000340103
+000000191175
+000000294008
+000000289187
+000000351976
+000000275970
+000000402590
+000000391371
+000000166430
+000000361736
+000000438448
+000000315297
+000000174351
+000000176085
+000000040796
+000000038574
+000000256722
+000000471697
+000000266336
+000000429366
+000000079453
+000000041123
+000000161370
+000000017896
+000000309883
+000000387546
+000000037862
+000000260299
+000000193044
+000000465294
+000000053022
+000000357733
+000000220089
+000000463702
+000000252132
+000000460931
+000000230094
+000000198560
+000000014557
+000000541367
+000000504907
+000000162213
+000000370562
+000000163362
+000000178520
+000000201756
+000000315521
+000000030391
+000000436172
+000000100594
+000000580234
+000000546693
+000000536402
+000000295480
+000000487438
+000000474383
+000000032183
+000000574025
+000000247181
+000000210404
+000000529140
+000000128528
+000000340393
+000000534900
+000000434457
+000000385426
+000000228527
+000000452684
+000000198563
+000000012673
+000000282351
+000000072018
+000000476191
+000000559356
+000000386637
+000000186586
+000000399164
+000000522574
+000000398073
+000000235600
+000000069340
+000000462589
+000000319706
+000000068738
+000000283261
+000000114202
+000000564573
+000000560326
+000000344932
+000000375347
+000000080756
+000000485731
+000000094025
+000000018276
+000000261461
+000000170516
+000000568599
+000000331152
+000000552796
+000000398957
+000000028288
+000000524773
+000000552520
+000000311690
+000000095381
+000000479481
+000000391074
+000000367177
+000000338581
+000000320222
+000000296064
+000000178637
+000000034624
+000000022420
+000000047367
+000000441738
+000000474637
+000000282143
+000000462712
+000000402786
+000000435709
+000000518110
+000000001366
+000000179667
+000000226400
+000000229407
+000000253716
+000000352814
+000000424139
+000000111996
+000000295051
+000000380714
+000000193578
+000000418115
+000000319160
+000000375027
+000000216677
+000000036567
+000000137578
+000000357003
+000000521674
+000000566491
+000000341707
+000000538073
+000000181079
+000000536058
+000000278411
+000000255578
+000000458522
+000000001906
+000000218012
+000000295443
+000000264976
+000000155263
+000000071090
+000000581708
+000000439911
+000000122786
+000000119581
+000000227061
+000000298525
+000000518524
+000000195513
+000000172923
+000000215744
+000000103161
+000000394663
+000000262748
+000000290420
+000000530127
+000000457871
+000000255365
+000000543713
+000000465204
+000000318523
+000000161051
+000000054009
+000000161129
+000000395775
+000000266885
+000000547783
+000000016466
+000000364485
+000000572441
+000000289654
+000000059556
+000000012711
+000000108326
+000000085348
+000000562712
+000000162411
+000000092032
+000000570196
+000000459281
+000000536169
+000000371260
+000000020837
+000000062864
+000000139740
+000000182015
+000000159754
+000000262851
+000000087229
+000000202531
+000000149306
+000000122953
+000000281131
+000000129415
+000000033213
+000000390923
+000000088835
+000000012484
+000000012887
+000000316708
+000000244349
+000000046927
+000000532267
+000000068300
+000000220353
+000000188345
+000000058407
+000000438985
+000000562688
+000000510059
+000000090373
+000000043093
+000000108314
+000000007787
+000000261720
+000000385082
+000000552824
+000000134815
+000000314845
+000000355647
+000000479836
+000000552305
+000000317274
+000000336357
+000000019647
+000000490110
+000000420183
+000000044663
+000000247487
+000000177102
+000000338741
+000000152353
+000000414984
+000000122588
+000000006066
+000000243967
+000000424572
+000000196311
+000000423010
+000000573263
+000000272713
+000000002529
+000000255546
+000000023141
+000000045808
+000000226262
+000000002284
+000000279877
+000000553021
+000000382673
+000000003789
+000000059406
+000000033204
+000000000562
+000000022257
+000000116556
+000000031736
+000000294549
+000000271701
+000000328797
+000000456412
+000000507910
+000000160952
+000000278222
+000000062740
+000000036508
+000000113599
+000000487952
+000000395684
+000000573341
+000000196888
+000000330429
+000000473972
+000000463596
+000000478007
+000000390110
+000000035529
+000000479886
+000000581008
+000000081476
+000000232865
+000000153811
+000000444744
+000000135730
+000000351597
+000000317615
+000000259952
+000000313789
+000000268628
+000000130006
+000000337219
+000000013991
+000000080431
+000000208350
+000000386584
+000000510456
+000000040621
+000000455325
+000000157282
+000000133281
+000000190798
+000000433063
+000000313705
+000000564680
+000000156977
+000000529802
+000000240784
+000000461687
+000000306540
+000000247098
+000000103017
+000000088915
+000000423534
+000000092624
+000000552336
+000000577405
+000000160900
+000000556360
+000000543183
+000000327153
+000000060093
+000000297872
+000000255827
+000000424560
+000000112517
+000000494679
+000000322992
+000000567423
+000000255904
+000000492025
+000000497501
+000000097564
+000000313946
+000000079121
+000000205556
+000000120369
+000000196192
+000000261504
+000000349588
+000000215534
+000000027734
+000000005967
+000000423770
+000000084440
+000000439651
+000000045836
+000000213525
+000000130269
+000000284218
+000000249348
+000000076988
+000000429735
+000000060730
+000000189885
+000000143859
+000000463844
+000000253904
+000000177148
+000000424088
+000000434968
+000000008761
+000000526782
+000000337120
+000000423541
+000000268548
+000000475985
+000000044261
+000000431426
+000000247895
+000000073830
+000000277319
+000000353130
+000000092138
+000000478184
+000000030270
+000000122047
+000000401785
+000000559656
+000000391481
+000000029891
+000000237617
+000000424307
+000000564068
+000000099139
+000000320963
+000000045026
+000000543413
+000000117788
+000000428788
+000000020913
+000000403951
+000000499033
+000000431197
+000000102503
+000000313928
+000000282583
+000000185549
+000000044842
+000000003270
+000000561514
+000000063270
+000000124607
+000000331764
+000000154123
+000000018442
+000000260738
+000000144725
+000000130065
+000000237667
+000000233970
+000000292283
+000000175333
+000000085215
+000000379892
+000000426690
+000000564629
+000000517321
+000000024577
+000000519271
+000000109894
+000000296348
+000000238007
+000000402609
+000000347529
+000000338289
+000000289575
+000000523883
+000000377893
+000000442774
+000000553773
+000000491250
+000000373170
+000000131415
+000000202260
+000000071965
+000000545411
+000000574476
+000000258770
+000000284348
+000000471226
+000000158878
+000000283715
+000000361430
+000000505530
+000000324165
+000000129257
+000000259591
+000000165795
+000000490062
+000000486170
+000000550372
+000000019074
+000000357734
+000000187886
+000000293418
+000000531374
+000000444644
+000000203541
+000000294689
+000000442181
+000000371684
+000000089384
+000000336310
+000000435787
+000000207250
+000000151282
+000000561785
+000000032176
+000000234147
+000000513103
+000000351975
+000000208845
+000000241407
+000000322443
+000000162295
+000000493753
+000000525587
+000000183137
+000000110013
+000000541893
+000000465213
+000000123336
+000000463724
+000000525272
+000000452861
+000000560052
+000000218886
+000000455632
+000000411881
+000000561750
+000000260135
+000000239808
+000000143089
+000000098631
+000000268215
+000000212276
+000000030023
+000000375503
+000000299974
+000000548088
+000000321308
+000000382514
+000000172319
+000000484346
+000000025697
+000000152866
+000000449936
+000000568549
+000000496415
+000000225751
+000000028766
+000000288723
+000000305441
+000000560591
+000000020013
+000000365582
+000000036417
+000000185072
+000000276004
+000000069523
+000000180917
+000000328452
+000000175347
+000000407216
+000000236399
+000000232186
+000000306638
+000000404666
+000000055169
+000000322353
+000000066853
+000000228085
+000000072810
+000000294615
+000000375654
+000000408815
+000000386834
+000000016784
+000000210368
+000000402954
+000000486300
+000000502752
+000000021435
+000000548528
+000000274803
+000000205121
+000000055467
+000000279990
+000000451407
+000000512736
+000000558190
+000000409098
+000000556641
+000000146583
+000000121232
+000000258265
+000000442980
+000000456009
+000000310342
+000000011262
+000000237190
+000000154423
+000000322203
+000000304950
+000000406616
+000000080906
+000000397599
+000000032699
+000000118158
+000000175889
+000000558864
+000000164759
+000000284324
+000000314929
+000000381413
+000000504690
+000000177974
+000000064893
+000000151458
+000000577221
+000000288799
+000000448868
+000000032703
+000000050206
+000000194847
+000000432035
+000000299952
+000000374685
+000000119353
+000000037986
+000000110048
+000000504140
+000000490010
+000000162018
+000000271461
+000000141496
+000000219349
+000000121316
+000000123389
+000000544449
+000000520087
+000000067752
+000000551952
+000000323133
+000000061582
+000000317806
+000000065247
+000000227289
+000000294688
+000000007945
+000000332020
+000000340934
+000000071055
+000000388284
+000000332461
+000000443605
+000000283818
+000000214870
+000000490509
+000000460100
+000000145290
+000000134294
+000000380756
+000000080782
+000000423141
+000000095915
+000000476715
+000000112164
+000000265843
+000000204800
+000000282871
+000000006773
+000000174889
+000000218990
+000000289212
+000000108019
+000000078572
+000000184862
+000000018555
+000000157815
+000000493333
+000000413419
+000000173132
+000000563985
+000000498786
+000000578848
+000000162200
+000000315654
+000000114174
+000000292324
+000000570209
+000000207059
+000000464006
+000000431977
+000000208824
+000000398813
+000000329765
+000000279692
+000000578107
+000000165610
+000000469556
+000000042534
+000000083968
+000000287360
+000000486543
+000000281756
+000000154650
+000000023320
+000000157744
+000000098871
+000000040011
+000000029252
+000000192816
+000000458048
+000000485933
+000000093232
+000000132373
+000000390184
+000000088538
+000000227497
+000000468538
+000000395928
+000000370857
+000000104879
+000000323336
+000000297187
+000000545162
+000000263446
+000000369991
+000000051763
+000000056647
+000000039171
+000000398986
+000000061911
+000000516432
+000000547003
+000000401910
+000000433892
+000000487734
+000000286482
+000000445075
+000000002843
+000000235268
+000000559658
+000000541288
+000000354766
+000000481530
+000000004936
+000000507113
+000000067779
+000000126021
+000000053369
+000000438667
+000000132638
+000000358555
+000000066767
+000000371486
+000000192594
+000000071283
+000000525807
+000000224246
+000000373348
+000000414680
+000000376819
+000000505132
+000000222492
+000000466680
+000000516540
+000000379378
+000000341941
+000000210201
+000000479134
+000000137717
+000000128667
+000000050261
+000000326770
+000000346964
+000000326564
+000000400166
+000000572110
+000000109921
+000000039553
+000000211346
+000000046029
+000000211963
+000000105580
+000000318247
+000000000164
+000000543322
+000000079268
+000000209322
+000000004265
+000000409457
+000000414244
+000000081841
+000000451287
+000000427886
+000000407050
+000000077936
+000000146202
+000000352917
+000000239263
+000000213156
+000000201299
+000000313951
+000000148773
+000000127282
+000000268213
+000000477647
+000000424637
+000000341437
+000000428299
+000000237797
+000000062770
+000000457060
+000000150032
+000000480948
+000000052925
+000000214724
+000000493814
+000000560367
+000000005913
+000000105102
+000000304078
+000000171758
+000000461123
+000000508568
+000000438905
+000000469457
+000000058231
+000000420461
+000000079172
+000000485374
+000000540354
+000000415447
+000000478016
+000000007107
+000000466136
+000000384883
+000000400966
+000000202178
+000000347276
+000000477494
+000000385627
+000000281019
+000000291614
+000000274800
+000000239350
+000000386700
+000000113556
+000000069583
+000000201758
+000000382438
+000000280508
+000000132362
+000000162223
+000000478374
+000000416325
+000000377434
+000000202797
+000000511569
+000000250385
+000000271476
+000000399472
+000000318815
+000000200116
+000000273253
+000000130070
+000000062957
+000000179896
+000000150300
+000000019023
+000000202326
+000000015850
+000000437895
+000000347587
+000000442727
+000000505849
+000000174964
+000000470970
+000000553542
+000000578843
+000000422691
+000000151848
+000000357633
+000000570659
+000000281382
+000000244949
+000000244401
+000000144305
+000000174892
+000000051268
+000000120642
+000000522465
+000000154912
+000000247269
+000000189387
+000000229525
+000000462023
+000000367900
+000000554981
+000000189197
+000000167613
+000000344667
+000000558798
+000000423036
+000000373440
+000000330402
+000000408445
+000000289199
+000000260347
+000000416909
+000000081611
+000000195151
+000000267950
+000000124152
+000000554106
+000000346741
+000000120399
+000000339059
+000000366733
+000000275202
+000000299495
+000000398554
+000000132503
+000000180569
+000000428109
+000000481057
+000000489031
+000000517534
+000000435811
+000000453998
+000000173464
+000000291822
+000000465825
+000000288923
+000000336314
+000000205967
+000000396165
+000000292741
+000000040988
+000000093875
+000000058753
+000000128222
+000000343863
+000000252188
+000000486122
+000000493652
+000000355603
+000000544649
+000000461799
+000000314671
+000000294837
+000000047507
+000000163175
+000000562989
+000000127161
+000000457275
+000000480057
+000000451133
+000000343498
+000000132422
+000000108655
+000000345630
+000000179544
+000000331864
+000000504235
+000000089603
+000000106557
+000000292347
+000000067994
+000000103435
+000000239114
+000000021782
+000000089848
+000000345567
+000000392457
+000000161543
+000000057222
+000000536579
+000000154414
+000000579664
+000000150827
+000000529532
+000000397143
+000000404296
+000000078320
+000000440810
+000000168356
+000000576583
+000000255842
+000000297181
+000000123891
+000000243504
+000000364187
+000000504608
+000000333868
+000000471816
+000000279208
+000000181571
+000000141532
+000000280123
+000000214919
+000000011305
+000000231471
+000000245638
+000000441949
+000000101190
+000000344238
+000000112639
+000000150920
+000000032603
+000000044604
+000000153607
+000000573726
+000000543957
+000000529477
+000000398271
+000000371652
+000000521288
+000000145873
+000000428175
+000000296706
+000000484033
+000000458574
+000000302661
+000000051540
+000000015374
+000000526565
+000000469509
+000000185821
+000000357024
+000000197408
+000000535151
+000000563301
+000000230991
+000000356742
+000000523096
+000000309163
+000000191964
+000000024924
+000000378583
+000000389624
+000000024744
+000000539820
+000000046024
+000000199502
+000000574028
+000000199339
+000000244246
+000000036445
+000000343410
+000000100974
+000000214574
+000000218772
+000000263883
+000000462517
+000000543732
+000000039317
+000000215231
+000000221829
+000000010058
+000000210983
+000000341075
+000000399489
+000000124331
+000000360277
+000000145444
+000000469786
+000000254325
+000000381192
+000000358020
+000000523212
+000000476889
+000000539423
+000000213740
+000000089405
+000000030803
+000000147576
+000000385313
+000000069214
+000000258732
+000000572897
+000000415275
+000000395221
+000000056772
+000000014352
+000000208919
+000000341714
+000000560756
+000000543992
+000000001573
+000000064070
+000000054013
+000000019093
+000000250268
+000000319917
+000000453643
+000000301014
+000000125684
+000000444207
+000000257353
+000000195947
+000000475804
+000000140108
+000000117897
+000000250579
+000000437283
+000000144334
+000000289100
+000000515893
+000000470798
+000000121902
+000000531334
+000000137211
+000000367233
+000000437789
+000000356665
+000000475659
+000000348555
+000000118918
+000000474004
+000000440067
+000000541157
+000000246792
+000000454068
+000000036012
+000000096685
+000000065793
+000000304710
+000000412267
+000000223832
+000000107751
+000000079722
+000000123770
+000000383660
+000000228091
+000000068685
+000000533961
+000000094455
+000000081354
+000000235744
+000000044079
+000000199257
+000000267274
+000000577948
+000000361197
+000000403913
+000000424218
+000000494056
+000000269431
+000000112286
+000000159740
+000000545689
+000000055493
+000000089521
+000000379735
+000000376131
+000000318157
+000000159850
+000000269621
+000000208991
+000000062348
+000000300898
+000000257461
+000000178192
+000000429318
+000000154155
+000000317891
+000000463279
+000000100303
+000000214137
+000000390439
+000000523869
+000000239254
+000000124236
+000000186699
+000000081206
+000000394697
+000000573206
+000000547743
+000000174500
+000000415048
+000000076103
+000000350898
+000000221666
+000000050018
+000000104053
+000000365999
+000000515019
+000000359037
+000000440663
+000000108914
+000000419712
+000000578619
+000000170413
+000000370537
+000000429312
+000000142088
+000000237886
+000000397735
+000000308436
+000000479563
+000000379659
+000000070755
+000000250293
+000000538544
+000000172366
+000000170425
+000000466681
+000000541053
+000000556597
+000000000590
+000000093683
+000000426445
+000000194034
+000000543393
+000000227069
+000000162914
+000000241525
+000000311385
+000000092909
+000000242083
+000000208690
+000000107150
+000000457825
+000000064507
+000000472022
+000000559780
+000000058979
+000000217893
+000000287151
+000000298189
+000000228309
+000000250849
+000000021622
+000000219329
+000000502593
+000000466242
+000000457587
+000000414651
+000000392229
+000000435145
+000000107860
+000000302038
+000000059573
+000000292533
+000000140435
+000000569584
+000000183528
+000000568062
+000000117428
+000000458139
+000000443525
+000000502459
+000000455083
+000000318381
+000000110090
+000000476520
+000000059798
+000000145549
+000000402507
+000000515670
+000000306499
+000000423744
+000000279065
+000000252217
+000000101473
+000000282176
+000000058553
+000000319098
+000000122653
+000000564120
+000000281273
+000000005994
+000000082198
+000000036652
+000000041550
+000000164435
+000000138192
+000000392030
+000000276488
+000000196974
+000000199458
+000000311290
+000000473745
+000000093590
+000000273421
+000000277563
+000000266833
+000000012204
+000000546695
+000000534857
+000000385552
+000000429408
+000000073549
+000000502419
+000000309499
+000000284127
+000000324415
+000000407911
+000000460950
+000000061599
+000000144633
+000000552253
+000000209920
+000000246071
+000000536375
+000000008223
+000000262113
+000000129656
+000000069200
+000000259666
+000000271157
+000000149645
+000000252277
+000000036953
+000000473348
+000000023696
+000000154597
+000000148343
+000000042871
+000000210584
+000000259391
+000000225456
+000000237110
+000000491856
+000000374106
+000000007852
+000000196307
+000000049286
+000000506964
+000000507819
+000000232031
+000000299077
+000000043388
+000000236234
+000000230236
+000000121812
+000000296134
+000000196924
+000000193398
+000000421658
+000000222427
+000000362312
+000000304605
+000000282730
+000000080916
+000000160214
+000000081363
+000000299353
+000000396461
+000000250778
+000000475893
+000000555668
+000000093832
+000000530187
+000000083441
+000000473044
+000000335913
+000000318726
+000000198375
+000000498649
+000000190052
+000000002697
+000000258834
+000000204680
+000000488796
+000000193673
+000000452535
+000000375473
+000000140122
+000000260685
+000000579534
+000000158017
+000000167698
+000000188136
+000000268518
+000000432598
+000000454210
+000000336621
+000000491628
+000000172637
+000000133909
+000000193449
+000000013605
+000000156740
+000000320877
+000000032677
+000000341809
+000000302278
+000000307936
+000000520389
+000000117360
+000000270017
+000000087876
+000000358136
+000000434602
+000000331146
+000000360529
+000000453400
+000000419711
+000000504599
+000000267175
+000000334789
+000000123421
+000000180186
+000000318924
+000000436464
+000000195911
+000000140691
+000000157052
+000000210881
+000000572888
+000000137227
+000000009919
+000000296108
+000000394776
+000000407809
+000000498547
+000000185614
+000000363169
+000000412978
+000000500877
+000000365003
+000000185698
+000000019484
+000000243820
+000000482696
+000000378087
+000000342819
+000000384164
+000000559618
+000000005151
+000000077102
+000000356888
+000000216962
+000000414122
+000000413070
+000000074624
+000000084889
+000000467502
+000000011172
+000000520683
+000000236016
+000000275977
+000000313724
+000000086932
+000000388026
+000000356400
+000000422301
+000000121997
+000000306524
+000000257660
+000000508530
+000000228043
+000000307054
+000000445004
+000000513933
+000000016246
+000000103863
+000000337068
+000000057843
+000000059528
+000000463546
+000000038000
+000000448613
+000000226097
+000000348573
+000000185281
+000000003511
+000000308100
+000000225070
+000000277798
+000000474446
+000000150114
+000000400869
+000000559585
+000000579807
+000000520852
+000000315647
+000000472034
+000000173620
+000000266043
+000000021451
+000000002886
+000000449675
+000000006091
+000000491290
+000000334056
+000000247131
+000000544691
+000000140244
+000000378416
+000000033413
+000000127229
+000000579446
+000000381195
+000000241431
+000000420404
+000000140682
+000000158700
+000000277788
+000000386539
+000000455557
+000000540679
+000000274804
+000000113009
+000000538356
+000000519234
+000000380248
+000000527963
+000000039716
+000000356253
+000000563762
+000000233430
+000000018395
+000000070780
+000000543164
+000000064736
+000000064516
+000000231492
+000000441313
+000000533825
+000000303308
+000000169217
+000000257105
+000000555905
+000000317656
+000000114152
+000000306047
+000000078085
+000000432125
+000000297009
+000000002309
+000000499204
+000000072275
+000000214306
+000000399452
+000000456236
+000000190133
+000000470348
+000000302789
+000000141448
+000000530085
+000000011364
+000000192403
+000000212082
+000000141994
+000000500650
+000000112988
+000000005649
+000000542934
+000000230578
+000000253382
+000000491850
+000000354608
+000000501648
+000000006406
+000000577590
+000000456563
+000000023538
+000000095033
+000000431995
+000000393421
+000000301012
+000000044266
+000000137938
+000000095939
+000000524642
+000000208338
+000000555273
+000000115384
+000000528151
+000000009768
+000000227935
+000000036523
+000000441045
+000000163728
+000000208008
+000000404826
+000000336937
+000000415768
+000000469343
+000000569865
+000000376564
+000000253177
+000000336872
+000000037024
+000000152020
+000000136132
+000000271930
+000000433460
+000000041152
+000000132668
+000000075458
+000000408730
+000000206934
+000000285679
+000000188692
+000000408475
+000000472582
+000000188973
+000000107620
+000000537139
+000000413539
+000000191242
+000000144484
+000000531337
+000000025009
+000000224168
+000000543672
+000000191806
+000000334774
+000000129739
+000000196594
+000000156100
+000000499771
+000000459786
+000000543833
+000000459176
+000000568555
+000000402243
+000000380292
+000000554860
+000000424623
+000000545632
+000000560000
+000000536433
+000000079446
+000000099913
+000000450790
+000000217395
+000000311991
+000000258819
+000000215167
+000000278763
+000000361205
+000000140073
+000000343425
+000000108964
+000000306191
+000000562507
+000000001138
+000000068203
+000000325545
+000000415054
+000000071255
+000000190722
+000000165868
+000000288610
+000000299489
+000000287221
+000000332109
+000000232863
+000000309033
+000000237207
+000000497006
+000000528654
+000000399672
+000000139952
+000000381961
+000000291894
+000000324171
+000000362973
+000000400985
+000000315319
+000000303546
+000000423396
+000000213596
+000000041103
+000000577946
+000000488584
+000000389731
+000000381947
+000000059174
+000000552114
+000000035864
+000000216952
+000000340561
+000000171736
+000000372613
+000000431431
+000000362349
+000000251049
+000000148479
+000000109622
+000000369355
+000000067307
+000000169794
+000000192616
+000000460833
+000000262393
+000000163370
+000000485843
+000000033042
+000000477671
+000000516026
+000000035768
+000000216197
+000000487002
+000000230702
+000000174740
+000000260516
+000000208121
+000000308297
+000000063729
+000000084890
+000000053091
+000000415378
+000000097334
+000000367362
+000000561064
+000000092558
+000000329127
+000000384675
+000000384523
+000000562341
+000000043645
+000000433607
+000000191972
+000000402373
+000000094353
+000000229478
+000000080562
+000000244159
+000000578683
+000000553034
+000000171639
+000000214388
+000000202414
+000000221894
+000000387615
+000000046997
+000000467645
+000000477542
+000000389378
+000000524286
+000000212501
+000000139734
+000000394972
+000000365329
+000000073602
+000000425653
+000000254520
+000000241503
+000000173978
+000000288560
+000000272343
+000000546631
+000000439988
+000000449594
+000000199923
+000000489949
+000000061698
+000000532397
+000000110019
+000000194054
+000000549168
+000000213077
+000000330529
+000000247318
+000000453563
+000000456483
+000000347879
+000000350988
+000000278393
+000000052153
+000000272269
+000000154119
+000000527578
+000000263002
+000000184099
+000000275197
+000000114926
+000000443465
+000000324139
+000000111455
+000000418480
+000000207205
+000000129485
+000000247130
+000000545308
+000000502808
+000000235403
+000000068162
+000000330098
+000000398419
+000000370842
+000000440381
+000000527759
+000000295053
+000000232181
+000000581731
+000000295134
+000000457843
+000000288161
+000000534308
+000000305991
+000000029122
+000000493235
+000000048273
+000000404905
+000000344051
+000000138204
+000000078059
+000000200311
+000000357810
+000000308979
+000000203069
+000000059000
+000000334732
+000000021190
+000000390795
+000000551663
+000000449770
+000000256899
+000000010471
+000000134474
+000000392458
+000000389312
+000000480179
+000000147551
+000000179209
+000000451720
+000000568041
+000000235646
+000000337297
+000000056364
+000000415008
+000000289309
+000000002989
+000000470539
+000000271960
+000000316396
+000000086020
+000000287535
+000000450886
+000000472870
+000000457584
+000000373568
+000000542173
+000000079224
+000000550532
+000000573670
+000000289644
+000000505713
+000000441507
+000000522891
+000000004471
+000000347568
+000000022651
+000000150691
+000000540210
+000000065088
+000000251318
+000000451468
+000000234699
+000000098003
+000000164696
+000000361564
+000000325505
+000000226552
+000000099988
+000000325149
+000000250299
+000000478282
+000000366096
+000000066064
+000000492037
+000000292047
+000000508821
+000000434372
+000000067339
+000000472415
+000000380348
+000000368154
+000000075843
+000000564451
+000000406199
+000000550993
+000000532510
+000000198611
+000000027769
+000000333463
+000000514915
+000000192886
+000000434328
+000000296388
+000000027329
+000000135900
+000000350270
+000000537939
+000000415604
+000000350842
+000000493435
+000000417804
+000000517548
+000000317062
+000000464271
+000000404046
+000000289260
+000000015126
+000000283220
+000000102174
+000000477273
+000000096689
+000000446670
+000000275661
+000000066001
+000000258304
+000000544786
+000000436585
+000000543090
+000000124135
+000000358678
+000000212181
+000000459190
+000000011422
+000000099393
+000000080219
+000000004038
+000000218589
+000000204288
+000000115599
+000000243910
+000000464558
+000000466532
+000000010851
+000000093707
+000000200231
+000000421639
+000000503277
+000000097862
+000000411685
+000000035899
+000000102315
+000000332159
+000000548848
+000000051871
+000000579206
+000000226693
+000000430285
+000000559427
+000000117179
+000000440133
+000000463417
+000000196321
+000000239376
+000000025241
+000000369638
+000000467500
+000000160996
+000000176007
+000000047877
+000000386154
+000000324381
+000000117722
+000000175122
+000000546934
+000000195179
+000000055443
+000000174499
+000000385485
+000000002347
+000000530259
+000000472690
+000000009038
+000000339796
+000000346547
+000000095185
+000000035668
+000000196018
+000000405141
+000000221743
+000000262576
+000000282372
+000000245864
+000000012996
+000000515136
+000000009186
+000000193855
+000000333365
+000000061184
+000000293574
+000000546124
+000000254745
+000000177258
+000000354853
+000000307278
+000000105280
+000000099443
+000000094487
+000000245451
+000000331249
+000000079634
+000000046728
+000000534573
+000000087456
+000000044702
+000000541422
+000000119630
+000000184578
+000000533589
+000000288025
+000000094550
+000000139075
+000000392747
+000000306782
+000000526132
+000000106371
+000000532810
+000000137004
+000000543200
+000000550862
+000000354515
+000000008234
+000000412767
+000000249974
+000000235575
+000000049984
+000000423815
+000000331216
+000000413784
+000000217306
+000000159280
+000000255076
+000000344903
+000000346876
+000000330181
+000000568554
+000000343774
+000000198421
+000000541677
+000000545016
+000000268340
+000000314983
+000000320582
+000000354519
+000000567383
+000000325153
+000000100187
+000000000620
+000000503292
+000000133609
+000000520232
+000000137763
+000000562433
+000000121249
+000000398040
+000000510898
+000000280814
+000000379535
+000000504932
+000000092801
+000000045663
+000000260418
+000000406189
+000000296303
+000000553487
+000000299640
+000000307514
+000000104127
+000000096110
+000000119802
+000000397181
+000000403265
+000000310376
+000000563805
+000000525591
+000000073567
+000000406753
+000000491272
+000000193194
+000000075735
+000000375645
+000000089725
+000000358252
+000000095561
+000000126161
+000000306557
+000000566189
+000000392020
+000000451066
+000000266370
+000000111727
+000000494466
+000000318405
+000000089638
+000000561375
+000000153845
+000000398767
+000000306444
+000000308302
+000000258226
+000000236632
+000000377854
+000000566998
+000000421499
+000000544395
+000000444691
+000000479586
+000000335975
+000000403518
+000000193892
+000000419051
+000000049058
+000000394159
+000000304654
+000000077467
+000000035769
+000000035217
+000000543268
+000000099546
+000000377421
+000000066351
+000000370362
+000000192780
+000000304466
+000000085846
+000000555298
+000000076117
+000000170326
+000000119276
+000000133573
+000000113985
+000000293130
+000000289005
+000000573570
+000000357881
+000000229605
+000000559958
+000000293368
+000000562037
+000000030222
+000000232127
+000000513993
+000000135875
+000000020512
+000000380247
+000000571048
+000000393291
+000000530081
+000000284818
+000000279829
+000000456453
+000000423513
+000000155107
+000000530713
+000000383652
+000000473888
+000000422350
+000000051866
+000000376457
+000000276631
+000000456942
+000000399195
+000000071646
+000000530684
+000000550030
+000000565608
+000000311370
+000000090724
+000000491018
+000000375962
+000000024699
+000000298558
+000000550308
+000000447976
+000000109708
+000000187464
+000000318290
+000000468778
+000000216841
+000000546301
+000000246592
+000000206377
+000000042972
+000000161185
+000000366353
+000000200952
+000000124654
+000000411313
+000000451836
+000000132316
+000000509800
+000000003067
+000000166766
+000000325587
+000000082464
+000000141228
+000000223836
+000000455311
+000000121826
+000000227193
+000000253438
+000000353461
+000000018973
+000000559657
+000000281376
+000000257451
+000000119207
+000000330607
+000000573791
+000000396548
+000000151017
+000000460728
+000000419696
+000000343749
+000000166482
+000000069978
+000000259336
+000000432956
+000000353839
+000000503227
+000000273497
+000000216740
+000000177339
+000000336511
+000000453755
+000000205781
+000000010903
+000000313148
+000000372009
+000000100604
+000000061076
+000000086596
+000000178175
+000000085798
+000000518883
+000000402569
+000000076266
+000000377056
+000000463157
+000000198600
+000000457611
+000000546428
+000000405264
+000000093948
+000000047944
+000000085777
+000000523981
+000000515376
+000000543947
+000000429560
+000000185513
+000000040187
+000000357649
+000000419273
+000000211653
+000000336385
+000000033182
+000000276332
+000000406725
+000000499631
+000000290600
+000000438932
+000000303041
+000000193452
+000000299244
+000000094890
+000000543028
+000000134538
+000000001840
+000000001306
+000000510820
+000000424174
+000000517386
+000000283557
+000000146451
+000000342126
+000000508567
+000000196299
+000000158873
+000000015599
+000000302823
+000000125761
+000000028728
+000000558927
+000000101873
+000000110000
+000000546074
+000000221753
+000000315256
+000000538422
+000000270556
+000000478344
+000000144430
+000000042416
+000000289583
+000000185820
+000000468276
+000000377008
+000000518521
+000000168533
+000000335289
+000000270612
+000000355022
+000000228029
+000000320703
+000000085926
+000000432053
+000000143416
+000000451934
+000000153542
+000000183199
+000000361638
+000000240637
+000000184557
+000000074201
+000000234000
+000000097778
+000000098029
+000000495162
+000000395822
+000000080590
+000000505553
+000000163431
+000000183701
+000000130681
+000000485099
+000000524710
+000000177516
+000000102662
+000000328275
+000000327726
+000000463110
+000000391745
+000000405959
+000000033842
+000000141827
+000000457448
+000000012612
+000000016757
+000000201291
+000000016716
+000000264212
+000000300407
+000000179088
+000000119617
+000000469721
+000000478057
+000000380854
+000000434753
+000000473134
+000000297426
+000000105330
+000000209808
+000000075110
+000000168817
+000000113082
+000000302713
+000000219493
+000000445395
+000000355186
+000000419062
+000000203849
+000000271729
+000000051289
+000000003671
+000000518030
+000000134389
+000000196244
+000000297440
+000000206225
+000000160615
+000000015653
+000000408417
+000000428304
+000000207264
+000000401868
+000000157342
+000000069312
+000000052384
+000000140243
+000000422434
+000000323896
+000000166853
+000000120918
+000000199736
+000000451854
+000000416468
+000000448355
+000000420575
+000000380885
+000000468834
+000000560830
+000000529083
+000000306536
+000000523373
+000000305093
+000000340024
+000000562030
+000000524131
+000000141331
+000000074534
+000000544380
+000000529350
+000000445774
+000000342688
+000000319687
+000000512276
+000000412615
+000000180274
+000000055544
+000000445528
+000000565476
+000000220819
+000000021614
+000000284259
+000000453711
+000000218406
+000000405214
+000000113139
+000000062279
+000000533011
+000000155457
+000000309338
+000000287988
+000000038681
+000000260206
+000000251690
+000000423785
+000000165299
+000000111789
+000000051012
+000000114399
+000000543882
+000000546343
+000000327660
+000000531044
+000000487361
+000000393155
+000000139004
+000000351149
+000000137833
+000000065457
+000000335433
+000000473462
+000000020757
+000000083369
+000000520109
+000000420253
+000000264110
+000000172376
+000000562335
+000000508663
+000000405523
+000000362744
+000000354277
+000000265208
+000000505825
+000000123017
+000000100591
+000000538604
+000000187483
+000000224594
+000000087620
+000000152751
+000000173777
+000000014329
+000000371911
+000000302503
+000000153368
+000000319676
+000000197444
+000000058851
+000000207507
+000000395714
+000000516945
+000000556616
+000000430804
+000000059082
+000000216726
+000000119966
+000000431874
+000000015704
+000000184504
+000000192744
+000000551677
+000000539746
+000000569887
+000000447907
+000000437849
+000000042526
+000000570141
+000000186719
+000000294499
+000000425266
+000000141247
+000000416297
+000000126389
+000000223766
+000000421229
+000000142420
+000000316871
+000000257774
+000000114854
+000000032655
+000000269419
+000000437938
+000000107424
+000000327105
+000000117743
+000000432395
+000000071718
+000000035916
+000000469152
+000000439399
+000000236000
+000000107108
+000000498489
+000000265447
+000000317798
+000000468996
+000000008064
+000000176551
+000000542384
+000000394759
+000000183293
+000000492302
+000000261139
+000000535313
+000000242297
+000000169365
+000000093866
+000000336353
+000000085625
+000000009723
+000000375180
+000000278496
+000000562973
+000000024204
+000000419848
+000000362026
+000000227843
+000000240782
+000000458132
+000000265895
+000000017873
+000000426831
+000000203618
+000000506628
+000000277048
+000000133698
+000000430476
+000000312997
+000000102171
+000000195211
+000000378985
+000000561783
+000000015155
+000000026725
+000000444392
+000000302634
+000000112069
+000000227220
+000000110298
+000000452622
+000000335539
+000000258315
+000000278449
+000000030423
+000000047161
+000000547966
+000000037705
+000000567018
+000000419384
+000000027270
+000000305472
+000000141807
+000000540633
+000000092107
+000000091670
+000000260293
+000000415670
+000000381031
+000000383637
+000000368349
+000000325856
+000000453762
+000000260748
+000000053139
+000000059738
+000000434894
+000000435886
+000000122597
+000000194289
+000000002209
+000000326477
+000000427771
+000000527056
+000000164036
+000000233236
+000000022112
+000000562574
+000000448876
+000000562999
+000000222367
+000000442249
+000000239352
+000000048530
+000000481407
+000000469389
+000000101632
+000000478087
+000000059385
+000000400333
+000000167581
+000000006800
+000000148358
+000000301762
+000000498809
+000000293751
+000000003794
+000000292087
+000000469671
+000000111004
+000000261481
+000000080495
+000000272800
+000000340684
+000000213008
+000000350165
+000000475857
+000000121612
+000000417588
+000000218917
+000000386661
+000000561066
+000000230318
+000000351759
+000000053999
+000000569079
+000000542069
+000000511572
+000000419117
+000000251121
+000000049315
+000000569919
+000000313518
+000000444348
+000000111341
+000000188696
+000000052644
+000000050736
+000000230837
+000000340876
+000000063230
+000000327550
+000000557324
+000000197236
+000000197262
+000000307323
+000000577710
+000000072811
+000000432327
+000000319359
+000000339966
+000000156876
+000000125633
+000000473866
+000000419497
+000000387442
+000000541229
+000000421792
+000000239613
+000000123704
+000000538209
+000000329644
+000000507017
+000000540664
+000000433301
+000000086426
+000000576981
+000000225265
+000000138910
+000000131587
+000000305652
+000000343254
+000000141477
+000000411405
+000000146638
+000000524520
+000000241410
+000000260978
+000000156812
+000000313737
+000000274633
+000000504382
+000000307564
+000000151229
+000000427859
+000000032629
+000000467951
+000000139333
+000000535874
+000000160437
+000000304523
+000000267321
+000000379014
+000000159151
+000000239315
+000000472026
+000000551063
+000000013731
+000000523669
+000000227428
+000000445433
+000000197336
+000000434201
+000000144250
+000000421578
+000000002448
+000000363061
+000000177449
+000000179983
+000000401652
+000000089318
+000000028253
+000000265277
+000000535284
+000000023158
+000000427586
+000000494386
+000000048641
+000000035367
+000000494618
+000000106326
+000000162300
+000000534672
+000000265414
+000000359772
+000000051176
+000000308047
+000000165818
+000000580538
+000000320611
+000000155035
+000000102609
+000000499662
+000000488368
+000000155884
+000000022448
+000000347790
+000000087414
+000000390684
+000000141366
+000000560392
+000000543276
+000000423222
+000000320808
+000000308735
+000000434066
+000000168175
+000000487741
+000000120254
+000000373729
+000000342132
+000000566644
+000000404437
+000000040304
+000000269434
+000000168096
+000000369438
+000000511241
+000000456610
+000000571948
+000000095828
+000000107969
+000000521587
+000000387360
+000000331372
+000000175310
+000000426602
+000000307550
+000000223089
+000000303006
+000000054764
+000000021254
+000000514209
+000000421611
+000000415413
+000000072632
+000000379596
+000000180129
+000000534901
+000000255067
+000000032665
+000000503856
+000000363194
+000000389699
+000000111760
+000000263574
+000000066881
+000000309880
+000000132210
+000000364437
+000000230321
+000000220371
+000000237100
+000000476585
+000000548565
+000000392961
+000000402770
+000000007643
+000000455015
+000000357509
+000000477617
+000000556120
+000000020929
+000000051095
+000000565077
+000000145369
+000000047281
+000000251702
+000000369433
+000000142684
+000000379226
+000000333075
+000000083494
+000000189063
+000000074316
+000000271148
+000000447043
+000000090006
+000000158053
+000000169529
+000000385805
+000000050355
+000000086459
+000000307272
+000000559560
+000000214664
+000000540097
+000000275530
+000000099647
+000000458058
+000000169097
+000000469644
+000000036796
+000000079966
+000000100523
+000000074096
+000000079506
+000000455010
+000000022409
+000000303537
+000000074357
+000000283780
+000000085171
+000000277984
+000000016955
+000000496089
+000000027609
+000000227502
+000000038769
+000000261648
+000000100926
+000000276036
+000000025202
+000000209186
+000000395667
+000000073310
+000000046085
+000000195739
+000000151482
+000000214150
+000000502148
+000000463102
+000000160308
+000000480015
+000000219361
+000000361255
+000000200724
+000000484215
+000000547614
+000000564418
+000000446870
+000000450321
+000000083147
+000000372390
+000000234938
+000000517656
+000000523682
+000000007028
+000000004760
+000000172229
+000000467177
+000000518081
+000000026025
+000000252761
+000000047873
+000000267531
+000000341335
+000000509607
+000000214875
+000000182240
+000000233703
+000000510642
+000000561453
+000000484257
+000000439692
+000000052357
+000000467262
+000000100781
+000000046805
+000000448161
+000000251343
+000000268190
+000000491662
+000000578950
+000000427467
+000000276836
+000000048905
+000000404235
+000000124707
+000000129579
+000000263968
+000000040426
+000000395975
+000000373284
+000000435185
+000000236246
+000000054334
+000000495915
+000000178690
+000000163803
+000000166653
+000000527260
+000000260443
+000000394623
+000000491888
+000000226611
+000000258555
+000000129001
+000000286914
+000000471118
+000000443259
+000000005678
+000000139887
+000000300343
+000000125167
+000000541463
+000000178436
+000000086108
+000000220137
+000000040283
+000000424111
+000000009195
+000000315043
+000000477064
+000000505062
+000000581118
+000000334208
+000000421745
+000000564188
+000000490578
+000000228884
+000000181103
+000000563355
+000000355863
+000000296157
+000000241364
+000000202436
+000000486315
+000000452881
+000000317981
+000000504325
+000000579035
+000000471507
+000000418757
+000000473003
+000000384693
+000000289338
+000000175609
+000000428992
+000000443391
+000000332614
+000000315474
+000000568110
+000000362769
+000000473506
+000000085790
+000000299409
+000000404350
+000000046535
+000000557609
+000000288481
+000000051737
+000000196876
+000000202998
+000000254009
+000000426143
+000000405836
+000000577738
+000000401010
+000000163101
+000000371841
+000000416197
+000000055085
+000000498738
+000000345137
+000000246199
+000000253480
+000000174745
+000000124157
+000000530952
+000000120743
+000000132081
+000000108679
+000000516412
+000000504896
+000000536656
+000000270379
+000000528591
+000000380128
+000000070794
+000000523564
+000000165162
+000000162813
+000000279136
+000000412101
+000000264079
+000000527623
+000000285910
+000000376283
+000000155845
+000000140114
+000000264676
+000000321665
+000000348091
+000000335749
+000000267135
+000000396097
+000000573520
+000000213288
+000000248836
+000000330408
+000000116141
+000000144349
+000000479805
+000000257176
+000000192436
+000000200455
+000000137386
+000000012766
+000000045356
+000000239038
+000000371958
+000000430101
+000000340184
+000000043376
+000000235953
+000000383991
+000000519558
+000000529188
+000000473072
+000000400752
+000000305231
+000000123646
+000000523114
+000000481725
+000000089051
+000000495502
+000000282440
+000000140999
+000000525420
+000000452813
+000000106636
+000000323466
+000000151291
+000000512731
+000000287934
+000000284488
+000000189290
+000000045237
+000000445143
+000000457732
+000000314724
+000000287585
+000000316047
+000000400870
+000000119101
+000000406957
+000000402425
+000000499125
+000000316514
+000000038891
+000000143236
+000000432372
+000000280235
+000000088759
+000000151945
+000000079394
+000000255684
+000000235537
+000000212628
+000000549378
+000000162427
+000000217574
+000000156066
+000000154530
+000000392611
+000000455660
+000000066737
+000000418297
+000000466965
+000000322625
+000000274776
+000000072120
+000000554982
+000000106397
+000000031671
+000000010136
+000000095292
+000000410375
+000000287369
+000000394330
+000000014774
+000000012326
+000000287967
+000000456275
+000000095363
+000000217448
+000000337232
+000000496847
+000000306621
+000000120615
+000000173069
+000000221430
+000000079906
+000000085939
+000000214184
+000000026503
+000000280424
+000000210259
+000000076912
+000000045912
+000000072216
+000000149791
+000000457566
+000000547745
+000000488789
+000000357194
+000000056753
+000000514504
+000000406857
+000000255272
+000000531983
+000000061867
+000000337522
+000000202587
+000000254432
+000000356828
+000000388795
+000000018938
+000000215592
+000000503137
+000000106671
+000000466425
+000000022324
+000000461450
+000000044749
+000000372427
+000000282283
+000000025803
+000000234786
+000000416467
+000000369485
+000000195927
+000000171315
+000000116740
+000000252193
+000000457924
+000000260720
+000000498722
+000000470112
+000000247157
+000000576430
+000000553507
+000000300392
+000000477590
+000000134768
+000000478164
+000000288714
+000000539683
+000000301046
+000000223777
+000000535860
+000000436975
+000000177010
+000000535145
+000000488866
+000000009091
+000000446421
+000000129951
+000000572980
+000000523772
+000000233030
+000000482766
+000000185963
+000000256322
+000000407975
+000000530906
+000000307981
+000000257458
+000000125266
+000000258894
+000000511168
+000000333710
+000000534914
+000000195356
+000000531873
+000000286724
+000000349621
+000000137096
+000000113725
+000000005965
+000000052368
+000000103554
+000000357626
+000000344171
+000000278313
+000000189539
+000000449152
+000000088117
+000000017216
+000000372489
+000000412545
+000000137100
+000000485234
+000000308575
+000000504005
+000000000025
+000000321344
+000000273494
+000000237179
+000000028576
+000000331326
+000000493428
+000000203870
+000000144486
+000000225738
+000000551877
+000000569450
+000000127167
+000000564061
+000000175341
+000000262098
+000000428847
+000000134320
+000000228953
+000000499871
+000000074894
+000000338403
+000000104114
+000000440528
+000000554900
+000000091267
+000000407869
+000000168812
+000000110697
+000000420765
+000000575755
+000000573954
+000000081782
+000000359843
+000000202199
+000000152795
+000000028385
+000000351566
+000000346702
+000000212814
+000000334197
+000000327315
+000000523818
+000000154711
+000000475033
+000000336354
+000000299163
+000000174386
+000000557220
+000000423275
+000000166244
+000000340332
+000000570339
+000000460703
+000000359521
+000000072546
+000000267504
+000000335304
+000000379564
+000000285421
+000000005486
+000000246852
+000000059471
+000000424542
+000000132497
+000000491336
+000000500060
+000000199826
+000000066822
+000000058117
+000000333605
+000000163975
+000000328315
+000000418393
+000000115718
+000000067776
+000000163372
+000000542699
+000000109425
+000000530001
+000000411104
+000000125598
+000000029402
+000000525529
+000000312355
+000000492580
+000000543686
+000000150830
+000000375093
+000000073583
+000000363525
+000000490322
+000000232890
+000000004885
+000000581205
+000000341957
+000000257029
+000000440049
+000000081105
+000000440811
+000000150378
+000000279122
+000000550722
+000000014483
+000000382653
+000000350421
+000000089273
+000000299675
+000000190575
+000000202128
+000000325221
+000000331162
+000000121602
+000000361811
+000000506198
+000000124911
+000000110169
+000000426040
+000000389445
+000000437530
+000000400417
+000000116134
+000000225198
+000000476005
+000000070411
+000000523959
+000000353974
+000000336900
+000000009236
+000000299466
+000000292266
+000000505888
+000000156216
+000000544130
+000000026002
+000000381944
+000000184828
+000000501498
+000000294605
+000000415976
+000000217135
+000000532766
+000000290400
+000000223474
+000000341139
+000000547066
+000000140328
+000000534168
+000000568982
+000000266932
+000000143247
+000000019719
+000000093992
+000000327530
+000000511345
+000000334809
+000000351553
+000000350799
+000000496081
+000000140919
+000000416610
+000000306454
+000000492102
+000000311337
+000000098944
+000000189742
+000000009211
+000000515457
+000000311480
+000000514901
+000000207142
+000000409181
+000000391444
+000000323592
+000000205270
+000000316161
+000000081000
+000000546379
+000000365980
+000000014998
+000000143256
+000000093712
+000000324584
+000000429818
+000000026472
+000000571462
+000000441672
+000000140866
+000000449467
+000000528342
+000000506151
+000000404785
+000000066878
+000000392585
+000000563601
+000000240478
+000000141160
+000000280023
+000000161287
+000000033727
+000000150427
+000000463600
+000000349918
+000000138166
+000000373332
+000000264363
+000000125499
+000000100959
+000000161047
+000000163045
+000000430469
+000000108536
+000000250311
+000000127785
+000000524881
+000000572825
+000000548423
+000000577631
+000000060464
+000000195507
+000000188727
+000000217671
+000000299923
+000000290395
+000000101522
+000000579057
+000000158122
+000000379470
+000000035427
+000000531391
+000000471839
+000000033798
+000000544709
+000000473573
+000000222983
+000000099927
+000000315860
+000000025192
+000000275612
+000000398924
+000000266099
+000000260048
+000000472314
+000000520843
+000000369831
+000000345118
+000000390087
+000000465174
+000000033571
+000000079869
+000000126182
+000000191731
+000000156499
+000000519046
+000000093363
+000000126894
+000000377284
+000000333291
+000000228244
+000000046408
+000000222227
+000000472169
+000000484689
+000000475413
+000000403374
+000000183972
+000000320471
+000000417373
+000000432744
+000000102739
+000000247668
+000000579053
+000000079069
+000000034689
+000000073467
+000000364369
+000000556399
+000000429844
+000000322246
+000000319931
+000000069564
+000000396622
+000000245472
+000000074549
+000000031994
+000000363621
+000000496429
+000000418009
+000000299654
+000000432886
+000000548874
+000000237743
+000000540694
+000000561660
+000000394269
+000000300102
+000000150365
+000000021872
+000000027879
+000000091933
+000000301238
+000000218809
+000000207330
+000000485683
+000000368924
+000000498346
+000000364343
+000000153126
+000000459463
+000000073264
+000000186729
+000000435920
+000000310344
+000000050636
+000000492123
+000000193881
+000000373810
+000000571047
+000000287427
+000000308527
+000000186615
+000000172135
+000000213539
+000000451172
+000000424866
+000000114947
+000000525265
+000000574668
+000000375840
+000000506673
+000000230017
+000000251262
+000000551908
+000000309850
+000000039993
+000000378189
+000000569926
+000000511658
+000000237968
+000000061882
+000000064454
+000000426558
+000000467705
+000000407545
+000000255480
+000000440334
+000000209374
+000000064836
+000000399408
+000000497034
+000000439837
+000000059309
+000000449176
+000000317833
+000000040130
+000000479301
+000000115866
+000000311251
+000000165499
+000000141616
+000000037662
+000000581739
+000000428231
+000000221533
+000000373880
+000000281508
+000000034423
+000000118579
+000000244451
+000000456372
+000000419979
+000000421451
+000000430467
+000000480443
+000000238049
+000000039978
+000000091264
+000000145512
+000000379235
+000000388011
+000000040418
+000000562504
+000000182217
+000000381485
+000000475667
+000000082003
+000000393805
+000000282603
+000000146981
+000000427083
+000000067065
+000000103098
+000000456142
+000000385494
+000000411727
+000000041938
+000000359432
+000000450596
+000000018801
+000000522008
+000000443093
+000000036059
+000000157084
+000000448078
+000000417653
+000000551358
+000000460353
+000000296040
+000000481130
+000000446471
+000000029698
+000000114503
+000000391685
+000000136415
+000000276413
+000000272040
+000000084214
+000000069302
+000000524369
+000000581829
+000000105804
+000000054589
+000000181920
+000000033633
+000000011241
+000000332015
+000000469181
+000000186268
+000000483074
+000000128215
+000000411773
+000000211115
+000000440938
+000000539908
+000000162113
+000000187518
+000000240755
+000000094351
+000000422172
+000000163444
+000000441173
+000000309553
+000000434183
+000000018874
+000000285649
+000000403013
+000000530342
+000000527337
+000000031745
+000000086435
+000000342184
+000000181057
+000000015745
+000000487299
+000000373461
+000000326820
+000000560623
+000000181028
+000000033167
+000000172911
+000000458649
+000000201748
+000000433202
+000000137339
+000000418637
+000000496118
+000000001813
+000000553154
+000000004296
+000000456377
+000000362737
+000000349153
+000000269862
+000000220896
+000000021060
+000000022194
+000000351183
+000000385316
+000000269089
+000000210568
+000000029559
+000000436023
+000000271051
+000000043331
+000000020349
+000000233528
+000000144959
+000000166811
+000000342999
+000000495419
+000000438478
+000000565857
+000000028209
+000000347313
+000000169322
+000000430142
+000000066516
+000000402847
+000000110324
+000000224273
+000000347878
+000000538934
+000000311914
+000000221659
+000000233110
+000000383873
+000000555814
+000000504827
+000000228163
+000000500664
+000000314556
+000000325523
+000000220889
+000000266058
+000000082904
+000000259431
+000000155380
+000000104392
+000000400936
+000000572121
+000000128014
+000000431228
+000000100395
+000000221554
+000000313880
+000000044911
+000000090961
+000000562029
+000000262093
+000000219619
+000000311553
+000000091461
+000000395405
+000000433854
+000000232931
+000000138069
+000000427639
+000000143792
+000000551636
+000000101127
+000000511736
+000000370728
+000000239581
+000000361132
+000000496301
+000000295889
+000000533511
+000000267898
+000000136227
+000000527193
+000000412755
+000000351268
+000000572602
+000000436467
+000000356369
+000000577161
+000000471846
+000000085212
+000000179124
+000000079191
+000000049573
+000000376065
+000000306490
+000000041087
+000000358584
+000000297091
+000000382939
+000000353221
+000000154419
+000000363303
+000000373731
+000000020541
+000000218807
+000000537422
+000000121322
+000000143245
+000000207925
+000000283168
+000000366510
+000000176271
+000000168032
+000000010580
+000000543513
+000000140042
+000000510154
+000000566486
+000000209040
+000000478885
+000000010414
+000000408479
+000000305705
+000000237081
+000000260817
+000000015156
+000000171075
+000000325862
+000000032456
+000000315181
+000000487735
+000000143621
+000000055607
+000000284028
+000000440611
+000000578524
+000000097868
+000000028853
+000000006355
+000000330173
+000000391216
+000000422466
+000000553931
+000000160429
+000000044294
+000000234555
+000000435832
+000000459189
+000000391251
+000000135475
+000000047293
+000000229107
+000000204390
+000000034571
+000000253171
+000000210097
+000000397138
+000000401616
+000000474401
+000000479191
+000000453664
+000000470361
+000000227484
+000000500139
+000000068745
+000000187654
+000000527375
+000000429620
+000000427726
+000000553554
+000000277916
+000000218788
+000000189559
+000000326056
+000000001926
+000000017604
+000000248559
+000000224971
+000000298481
+000000501947
+000000249363
+000000116126
+000000480225
+000000394271
+000000093603
+000000331535
+000000269996
+000000341502
+000000128172
+000000243361
+000000467369
+000000548498
+000000574130
+000000550353
+000000089166
+000000385533
+000000189893
+000000427007
+000000518548
+000000308332
+000000145994
+000000218868
+000000398628
+000000565715
+000000498768
+000000534128
+000000420406
+000000246779
+000000127337
+000000043673
+000000108470
+000000385307
+000000292827
+000000581744
+000000100037
+000000522406
+000000324488
+000000512023
+000000291206
+000000562904
+000000123066
+000000101826
+000000514464
+000000121884
+000000243280
+000000530958
+000000136375
+000000508414
+000000063970
+000000233746
+000000412187
+000000298672
+000000371548
+000000127477
+000000388674
+000000224052
+000000277161
+000000540617
+000000131509
+000000169562
+000000253777
+000000354376
+000000314188
+000000418722
+000000089238
+000000265707
+000000322594
+000000314396
+000000462191
+000000176330
+000000074082
+000000219832
+000000028978
+000000094021
+000000460226
+000000575128
+000000127921
+000000511390
+000000513646
+000000447147
+000000253848
+000000134590
+000000579659
+000000491959
+000000142545
+000000252611
+000000551607
+000000028273
+000000120335
+000000045361
+000000286525
+000000152664
+000000499738
+000000104550
+000000219546
+000000575202
+000000314993
+000000091804
+000000272882
+000000352208
+000000186709
+000000202279
+000000527064
+000000545447
+000000216954
+000000359030
+000000079762
+000000446864
+000000160463
+000000300571
+000000287094
+000000115544
+000000084689
+000000219905
+000000478738
+000000365031
+000000089062
+000000033802
+000000267870
+000000058254
+000000031135
+000000461428
+000000022090
+000000170937
+000000512037
+000000140292
+000000459794
+000000382318
+000000037717
+000000517929
+000000211501
+000000036850
+000000491408
+000000142182
+000000503385
+000000564283
+000000047290
+000000000612
+000000456315
+000000461442
+000000067057
+000000373346
+000000174103
+000000182243
+000000416315
+000000200986
+000000534578
+000000416774
+000000064622
+000000091341
+000000361406
+000000443512
+000000445915
+000000311895
+000000052637
+000000566016
+000000484280
+000000167621
+000000132861
+000000005362
+000000281774
+000000145815
+000000143051
+000000220224
+000000067565
+000000303392
+000000125184
+000000313600
+000000344038
+000000290098
+000000068032
+000000258290
+000000375294
+000000310450
+000000138755
+000000076187
+000000053037
+000000136332
+000000448985
+000000264618
+000000553812
+000000275035
+000000078580
+000000405747
+000000290938
+000000400722
+000000299780
+000000516868
+000000123580
+000000352000
+000000161941
+000000530226
+000000015542
+000000307814
+000000049551
+000000111556
+000000511828
+000000079955
+000000054160
+000000103059
+000000445002
+000000008686
+000000265597
+000000155849
+000000173680
+000000276871
+000000360831
+000000175293
+000000218648
+000000200302
+000000564978
+000000347058
+000000479331
+000000239427
+000000232484
+000000386361
+000000557508
+000000490993
+000000238525
+000000091040
+000000240904
+000000561988
+000000365592
+000000562897
+000000000263
+000000292570
+000000368218
+000000312960
+000000016009
+000000258460
+000000021443
+000000195790
+000000524954
+000000221681
+000000050771
+000000533568
+000000296471
+000000418198
+000000247167
+000000204683
+000000462709
+000000298914
+000000501957
+000000499867
+000000121610
+000000350063
+000000028494
+000000552610
+000000404545
+000000254864
+000000423710
+000000535952
+000000407879
+000000382924
+000000298900
+000000207880
+000000256250
+000000011147
+000000325801
+000000219916
+000000237054
+000000427909
+000000494055
+000000244011
+000000006672
+000000418391
+000000028071
+000000214391
+000000558955
+000000460145
+000000371132
+000000166589
+000000195712
+000000094436
+000000114726
+000000446603
+000000144495
+000000430472
+000000421406
+000000511425
+000000192796
+000000538398
+000000010449
+000000350617
+000000373727
+000000050480
+000000172899
+000000251219
+000000173865
+000000004189
+000000478215
+000000285978
+000000338472
+000000494282
+000000295903
+000000567179
+000000239957
+000000312403
+000000295540
+000000555939
+000000481252
+000000158831
+000000223366
+000000281127
+000000238881
+000000120466
+000000558567
+000000002684
+000000054533
+000000128224
+000000006428
+000000083060
+000000437080
+000000453545
+000000213349
+000000487906
+000000027706
+000000325874
+000000390311
+000000182020
+000000490624
+000000197597
+000000158498
+000000482671
+000000478032
+000000167741
+000000538759
+000000462110
+000000059036
+000000133827
+000000484641
+000000316725
+000000515213
+000000112372
+000000437336
+000000343418
+000000283196
+000000231267
+000000174048
+000000334170
+000000087110
+000000248018
+000000306303
+000000023815
+000000145666
+000000040893
+000000333140
+000000031673
+000000466305
+000000366408
+000000543118
+000000465080
+000000230867
+000000175699
+000000195671
+000000175440
+000000576822
+000000190187
+000000419350
+000000409192
+000000060483
+000000357921
+000000370448
+000000099580
+000000052497
+000000542527
+000000365703
+000000146611
+000000278535
+000000051198
+000000550350
+000000138079
+000000126014
+000000437318
+000000201241
+000000239596
+000000334373
+000000083368
+000000487391
+000000329411
+000000328504
+000000471376
+000000312608
+000000049877
+000000566450
+000000350724
+000000438167
+000000526029
+000000084165
+000000370763
+000000114087
+000000047406
+000000040404
+000000282707
+000000472258
+000000420287
+000000339684
+000000006415
+000000369132
+000000478006
+000000352117
+000000580392
+000000337277
+000000286751
+000000325441
+000000220111
+000000555211
+000000356029
+000000412190
+000000334328
+000000203691
+000000180960
+000000330088
+000000561442
+000000399920
+000000306830
+000000153031
+000000467908
+000000033009
+000000223648
+000000385001
+000000569024
+000000105208
+000000159952
+000000499532
+000000533197
+000000531697
+000000315348
+000000523914
+000000277145
+000000453885
+000000059918
+000000336088
+000000545671
+000000452334
+000000027439
+000000236714
+000000428291
+000000348480
+000000249429
+000000453756
+000000327590
+000000222276
+000000402779
+000000366406
+000000435452
+000000549714
+000000214563
+000000153283
+000000324764
+000000083260
+000000004319
+000000176479
+000000293340
+000000479914
+000000301799
+000000355870
+000000299205
+000000227358
+000000141993
+000000332654
+000000099671
+000000483432
+000000099424
+000000500118
+000000209701
+000000107831
+000000317103
+000000263407
+000000234083
+000000186145
+000000079798
+000000459037
+000000274518
+000000378311
+000000388157
+000000132454
+000000207654
+000000206913
+000000572923
+000000268577
+000000356257
+000000312368
+000000247263
+000000029838
+000000362046
+000000428310
+000000005615
+000000025121
+000000479467
+000000568687
+000000038276
+000000198108
+000000183888
+000000355748
+000000489358
+000000492853
+000000516471
+000000522741
+000000315824
+000000122007
+000000128346
+000000468894
+000000204612
+000000387264
+000000199358
+000000468830
+000000495348
+000000417265
+000000243580
+000000227858
+000000187283
+000000161193
+000000464993
+000000009721
+000000125017
+000000060360
+000000454961
+000000103865
+000000549224
+000000291897
+000000560262
+000000127028
+000000416426
+000000046506
+000000163939
+000000296098
+000000577321
+000000420344
+000000558860
+000000415408
+000000041482
+000000015174
+000000469880
+000000433786
+000000350008
+000000203621
+000000013144
+000000408227
+000000098832
+000000444598
+000000510838
+000000455691
+000000368086
+000000571504
+000000126651
+000000026765
+000000257211
+000000185623
+000000359865
+000000570115
+000000218334
+000000266825
+000000364234
+000000113879
+000000362175
+000000393254
+000000213554
+000000208633
+000000436665
+000000178550
+000000549373
+000000398097
+000000203076
+000000298353
+000000538064
+000000223477
+000000023774
+000000026551
+000000533004
+000000400408
+000000149364
+000000037109
+000000106193
+000000099415
+000000431479
+000000184994
+000000103843
+000000450136
+000000143557
+000000215855
+000000562382
+000000217252
+000000217091
+000000110251
+000000579629
+000000198022
+000000534247
+000000256474
+000000103386
+000000136077
+000000558317
+000000298151
+000000153055
+000000205124
+000000518772
+000000225253
+000000514781
+000000517985
+000000121241
+000000444390
+000000019916
+000000205533
+000000406170
+000000167166
+000000293489
+000000089694
+000000493000
+000000575867
+000000424342
+000000436882
+000000440935
+000000500196
+000000003595
+000000514541
+000000218608
+000000426911
+000000464898
+000000259115
+000000278860
+000000074253
+000000231536
+000000550872
+000000064009
+000000122415
+000000057023
+000000180889
+000000512989
+000000024091
+000000289610
+000000438061
+000000343596
+000000560004
+000000327433
+000000215124
+000000530447
+000000322979
+000000371315
+000000561563
+000000409184
+000000011506
+000000134199
+000000471840
+000000110250
+000000543332
+000000302077
+000000578009
+000000483530
+000000136233
+000000268533
+000000373536
+000000207455
+000000022374
+000000534553
+000000509210
+000000509807
+000000357004
+000000339916
+000000283181
+000000215910
+000000347505
+000000518816
+000000110926
+000000325567
+000000512948
+000000147826
+000000284373
+000000199188
+000000106392
+000000396528
+000000020917
+000000090830
+000000340703
+000000059278
+000000424146
+000000493851
+000000433472
+000000453159
+000000534121
+000000068183
+000000350073
+000000191304
+000000112453
+000000014628
+000000334161
+000000207043
+000000526840
+000000416279
+000000467347
+000000240194
+000000436185
+000000388082
+000000281017
+000000517294
+000000252956
+000000414111
+000000529360
+000000165376
+000000321980
+000000165686
+000000277433
+000000192891
+000000166622
+000000402908
+000000383414
+000000146449
+000000235651
+000000159463
+000000108431
+000000233566
+000000249688
+000000025895
+000000510707
+000000374087
+000000166092
+000000480572
+000000340958
+000000518605
+000000408143
+000000259489
+000000354897
+000000528311
+000000037582
+000000300930
+000000240813
+000000263924
+000000026943
+000000105594
+000000375185
+000000207060
+000000449793
+000000452479
+000000442600
+000000209016
+000000406595
+000000324979
+000000560412
+000000163054
+000000391525
+000000110204
+000000263120
+000000319155
+000000488303
+000000279025
+000000317474
+000000257020
+000000316132
+000000006720
+000000186323
+000000527379
+000000075663
+000000046615
+000000197792
+000000122020
+000000204339
+000000497736
+000000342550
+000000293520
+000000042868
+000000482393
+000000210684
+000000386540
+000000270703
+000000314822
+000000517315
+000000318071
+000000500891
+000000323056
+000000241623
+000000317244
+000000325781
+000000259087
+000000338978
+000000375802
+000000326712
+000000253962
+000000389672
+000000468029
+000000422959
+000000041730
+000000157242
+000000165930
+000000027235
+000000280857
+000000034793
+000000463619
+000000291597
+000000260056
+000000467314
+000000568572
+000000332968
+000000197561
+000000231450
+000000410915
+000000332193
+000000558673
+000000456873
+000000358482
+000000275663
+000000453622
+000000272615
+000000287509
+000000436470
+000000405068
+000000427395
+000000090782
+000000190495
+000000568495
+000000206161
+000000139067
+000000065024
+000000224364
+000000336174
+000000018505
+000000335688
+000000044267
+000000244328
+000000080040
+000000118344
+000000210057
+000000010935
+000000303685
+000000565365
+000000210794
+000000406920
+000000579673
+000000285998
+000000523470
+000000179477
+000000253940
+000000432998
+000000086399
+000000537761
+000000084034
+000000377212
+000000047198
+000000175583
+000000009866
+000000130032
+000000102668
+000000368348
+000000291347
+000000568256
+000000499353
+000000415823
+000000012570
+000000233834
+000000466001
+000000144723
+000000021338
+000000406328
+000000106498
+000000153710
+000000581821
+000000112342
+000000366704
+000000155793
+000000410561
+000000399981
+000000440894
+000000221937
+000000116207
+000000524676
+000000196295
+000000299066
+000000287695
+000000518245
+000000129921
+000000554152
+000000014458
+000000434763
+000000473964
+000000452441
+000000293011
+000000390365
+000000017345
+000000164001
+000000480241
+000000580200
+000000553586
+000000343185
+000000082554
+000000472146
+000000085764
+000000518242
+000000569582
+000000225623
+000000336901
+000000298132
+000000408116
+000000566699
+000000147615
+000000233075
+000000381957
+000000008170
+000000535732
+000000320508
+000000339591
+000000048900
+000000558736
+000000019380
+000000232746
+000000537727
+000000218208
+000000088784
+000000246307
+000000571990
+000000174866
+000000143874
+000000241289
+000000488553
+000000365305
+000000479399
+000000511053
+000000133908
+000000118543
+000000356856
+000000135822
+000000309531
+000000097217
+000000410603
+000000458282
+000000022582
+000000411177
+000000215873
+000000581593
+000000259458
+000000400606
+000000331119
+000000092031
+000000072133
+000000183642
+000000197201
+000000240783
+000000249649
+000000316669
+000000409454
+000000136795
+000000361905
+000000329151
+000000127141
+000000504851
+000000489810
+000000269693
+000000573406
+000000462954
+000000026190
+000000052947
+000000020997
+000000138549
+000000399378
+000000147342
+000000035599
+000000219443
+000000506321
+000000326594
+000000423189
+000000320282
+000000364580
+000000420366
+000000343193
+000000227178
+000000121235
+000000536972
+000000242113
+000000569319
+000000207622
+000000471814
+000000195797
+000000019818
+000000374651
+000000082512
+000000280267
+000000101559
+000000550761
+000000356368
+000000076971
+000000530782
+000000464018
+000000277594
+000000304818
+000000041846
+000000139270
+000000514457
+000000077187
+000000230190
+000000530777
+000000418882
+000000189853
+000000352861
+000000353378
+000000248381
+000000551609
+000000237390
+000000247880
+000000448555
+000000485958
+000000434893
+000000394244
+000000061316
+000000385174
+000000580822
+000000500952
+000000212089
+000000117454
+000000135158
+000000086842
+000000154209
+000000254986
+000000525376
+000000001386
+000000514271
+000000335967
+000000408393
+000000496920
+000000354761
+000000327149
+000000107384
+000000015811
+000000116226
+000000034455
+000000042384
+000000231846
+000000578972
+000000318616
+000000214450
+000000344672
+000000395995
+000000411208
+000000024990
+000000047916
+000000557344
+000000039963
+000000579998
+000000573935
+000000394957
+000000552594
+000000059997
+000000212801
+000000524975
+000000245874
+000000576153
+000000187559
+000000147743
+000000514902
+000000133152
+000000049625
+000000402668
+000000554698
+000000513445
+000000481532
+000000566331
+000000117094
+000000258661
+000000126486
+000000093246
+000000536474
+000000100836
+000000554066
+000000303970
+000000543728
+000000134242
+000000009599
+000000387903
+000000343012
+000000299781
+000000356740
+000000260966
+000000344703
+000000142557
+000000382447
+000000542611
+000000478155
+000000254240
+000000401124
+000000330807
+000000576369
+000000572430
+000000302221
+000000503472
+000000267242
+000000409658
+000000143975
+000000203754
+000000129908
+000000095737
+000000491204
+000000527906
+000000000089
+000000272217
+000000130598
+000000387482
+000000087593
+000000481452
+000000460937
+000000202748
+000000151231
+000000094501
+000000093427
+000000070923
+000000573518
+000000332007
+000000477104
+000000435988
+000000261360
+000000326572
+000000489909
+000000541712
+000000106736
+000000343231
+000000430523
+000000095062
+000000441425
+000000099314
+000000275700
+000000132768
+000000240586
+000000301783
+000000500765
+000000081365
+000000475523
+000000211178
+000000411931
+000000249861
+000000314277
+000000275695
+000000424445
+000000135694
+000000289545
+000000003862
+000000165426
+000000563098
+000000515754
+000000270290
+000000429793
+000000014285
+000000448923
+000000573997
+000000442031
+000000054421
+000000360844
+000000240423
+000000348957
+000000576944
+000000239885
+000000313950
+000000235984
+000000028367
+000000030073
+000000283445
+000000313957
+000000225175
+000000299550
+000000119267
+000000558786
+000000270239
+000000387792
+000000477497
+000000555755
+000000246154
+000000211935
+000000461350
+000000000597
+000000469762
+000000070346
+000000555685
+000000281224
+000000333888
+000000060526
+000000270388
+000000316178
+000000144897
+000000231161
+000000335982
+000000078407
+000000520561
+000000489399
+000000124300
+000000457263
+000000395907
+000000264540
+000000010681
+000000313971
+000000180202
+000000506095
+000000501138
+000000526850
+000000281365
+000000413971
+000000554083
+000000418151
+000000148827
+000000028011
+000000116625
+000000530038
+000000494217
+000000084415
+000000430688
+000000526704
+000000268992
+000000477137
+000000118051
+000000224905
+000000416193
+000000124067
+000000123938
+000000294098
+000000456782
+000000238125
+000000088374
+000000008356
+000000432307
+000000321646
+000000137788
+000000138397
+000000494749
+000000447302
+000000402199
+000000381204
+000000527587
+000000071264
+000000191962
+000000315268
+000000580334
+000000163125
+000000285130
+000000423723
+000000530668
+000000428446
+000000297152
+000000560427
+000000574402
+000000085302
+000000476008
+000000331822
+000000222244
+000000248948
+000000179318
+000000186090
+000000205947
+000000112899
+000000332166
+000000469191
+000000570569
+000000466664
+000000396415
+000000370235
+000000218761
+000000453283
+000000410002
+000000554098
+000000279071
+000000562394
+000000278240
+000000195969
+000000472581
+000000092186
+000000003877
+000000528970
+000000310611
+000000099321
+000000291158
+000000346591
+000000372172
+000000480951
+000000548512
+000000133237
+000000568717
+000000349607
+000000537648
+000000095427
+000000151466
+000000195559
+000000048692
+000000284860
+000000063478
+000000304483
+000000546716
+000000120210
+000000446383
+000000556551
+000000051355
+000000297829
+000000057500
+000000557342
+000000303233
+000000537127
+000000074964
+000000231500
+000000118806
+000000443916
+000000492674
+000000307892
+000000514391
+000000558759
+000000140797
+000000256549
+000000071936
+000000089738
+000000185436
+000000160142
+000000532304
+000000001099
+000000479867
+000000128736
+000000372618
+000000116223
+000000039758
+000000510328
+000000570019
+000000236406
+000000108392
+000000369345
+000000185432
+000000451539
+000000310770
+000000431169
+000000404748
+000000540923
+000000310672
+000000249058
+000000281122
+000000086234
+000000129254
+000000548331
+000000286212
+000000573337
+000000047597
+000000264389
+000000581220
+000000018952
+000000016317
+000000136142
+000000504470
+000000459793
+000000316142
+000000410576
+000000308310
+000000230169
+000000297175
+000000576771
+000000008180
+000000577604
+000000238511
+000000512157
+000000029755
+000000375232
+000000291816
+000000107571
+000000411872
+000000576676
+000000378637
+000000413056
+000000323598
+000000484401
+000000578734
+000000296975
+000000266348
+000000026068
+000000217760
+000000317659
+000000546378
+000000189520
+000000391011
+000000132499
+000000152782
+000000501379
+000000018467
+000000186747
+000000483628
+000000026800
+000000155937
+000000088870
+000000521285
+000000482545
+000000076313
+000000292995
+000000272728
+000000071678
+000000158686
+000000278793
+000000128175
+000000370278
+000000321500
+000000132621
+000000057676
+000000064307
+000000160259
+000000072901
+000000058864
+000000172910
+000000549962
+000000529511
+000000181260
+000000271488
+000000458846
+000000016161
+000000563771
+000000513266
+000000238292
+000000381985
+000000129407
+000000333247
+000000212533
+000000100558
+000000369776
+000000437354
+000000359081
+000000472392
+000000017152
+000000384563
+000000363423
+000000513430
+000000540122
+000000252810
+000000353608
+000000412855
+000000105975
+000000276634
+000000425218
+000000564861
+000000048185
+000000537248
+000000524247
+000000286429
+000000461758
+000000536369
+000000094499
+000000466771
+000000488201
+000000362831
+000000246102
+000000104542
+000000468178
+000000430159
+000000004978
+000000409066
+000000351494
+000000099342
+000000234470
+000000015180
+000000281221
+000000510680
+000000169502
+000000124940
+000000564759
+000000285817
+000000027550
+000000276146
+000000114363
+000000133030
+000000503595
+000000365596
+000000251408
+000000455374
+000000030486
+000000261597
+000000390232
+000000428736
+000000514241
+000000565940
+000000327624
+000000355760
+000000158952
+000000404984
+000000219246
+000000433770
+000000225257
+000000492882
+000000235176
+000000201928
+000000276479
+000000580718
+000000393979
+000000398999
+000000579548
+000000242505
+000000288627
+000000466058
+000000250243
+000000233366
+000000058241
+000000568886
+000000365073
+000000392480
+000000318108
+000000196462
+000000320964
+000000411775
+000000126305
+000000152789
+000000097890
+000000299372
+000000259594
+000000113112
+000000426049
+000000170623
+000000383726
+000000101715
+000000502140
+000000276582
+000000041398
+000000487632
+000000451529
+000000276913
+000000152531
+000000485290
+000000531045
+000000465695
+000000277914
+000000511002
+000000165373
+000000200583
+000000509806
+000000242210
+000000309206
+000000134111
+000000415077
+000000565929
+000000436949
+000000419474
+000000065098
+000000473137
+000000099423
+000000246327
+000000262180
+000000455674
+000000557762
+000000313176
+000000540899
+000000486388
+000000008953
+000000261757
+000000164170
+000000294920
+000000368347
+000000407434
+000000442144
+000000181524
+000000186399
+000000564465
+000000280651
+000000290289
+000000322824
+000000154880
+000000042740
+000000430531
+000000103806
+000000531752
+000000133515
+000000082405
+000000117742
+000000250210
+000000518257
+000000329014
+000000064114
+000000092683
+000000423354
+000000205863
+000000091543
+000000330388
+000000227675
+000000348854
+000000046118
+000000147586
+000000136027
+000000326719
+000000350484
+000000075311
+000000076307
+000000324635
+000000478837
+000000537213
+000000404585
+000000110111
+000000168455
+000000019358
+000000269306
+000000074041
+000000317402
+000000128409
+000000088031
+000000433125
+000000374800
+000000230900
+000000096473
+000000000384
+000000204981
+000000281748
+000000500904
+000000562401
+000000166200
+000000309044
+000000034831
+000000134657
+000000431950
+000000375815
+000000049554
+000000544322
+000000062510
+000000517565
+000000407185
+000000567609
+000000223035
+000000472620
+000000461340
+000000229740
+000000077074
+000000173832
+000000537692
+000000249130
+000000147545
+000000313799
+000000487487
+000000108430
+000000386029
+000000315491
+000000102632
+000000184633
+000000121525
+000000431008
+000000373700
+000000349263
+000000382629
+000000306258
+000000429593
+000000216072
+000000214106
+000000052619
+000000369969
+000000492243
+000000348871
+000000409443
+000000443635
+000000554340
+000000523513
+000000570418
+000000197266
+000000449296
+000000078536
+000000347150
+000000226681
+000000274591
+000000027046
+000000263412
+000000201420
+000000520787
+000000522135
+000000029304
+000000291004
+000000030471
+000000460507
+000000214030
+000000415314
+000000059231
+000000004256
+000000070965
+000000426842
+000000436963
+000000168500
+000000171733
+000000447574
+000000476754
+000000404361
+000000033912
+000000388130
+000000031339
+000000324365
+000000351301
+000000396420
+000000293027
+000000474526
+000000171449
+000000310714
+000000036639
+000000297984
+000000010037
+000000087581
+000000453009
+000000240080
+000000542431
+000000291784
+000000410581
+000000502223
+000000519407
+000000467956
+000000530202
+000000222137
+000000051639
+000000315407
+000000024880
+000000307995
+000000165936
+000000177090
+000000119195
+000000308612
+000000453676
+000000146760
+000000202913
+000000297233
+000000542391
+000000087567
+000000432486
+000000047928
+000000388481
+000000136539
+000000018461
+000000100128
+000000446506
+000000428761
+000000156914
+000000515630
+000000294734
+000000149422
+000000145680
+000000374028
+000000379315
+000000418110
+000000569989
+000000209288
+000000560908
+000000402368
+000000567444
+000000223121
+000000235536
+000000403459
+000000251790
+000000556999
+000000308327
+000000286010
+000000115145
+000000440434
+000000039010
+000000274203
+000000392145
+000000090867
+000000065072
+000000062263
+000000310501
+000000159924
+000000065741
+000000141180
+000000435267
+000000418193
+000000197840
+000000422894
+000000097976
+000000256081
+000000319393
+000000395259
+000000223500
+000000018233
+000000358642
+000000562106
+000000571357
+000000552018
+000000244784
+000000400204
+000000274585
+000000153128
+000000395293
+000000566700
+000000417830
+000000264823
+000000079143
+000000127585
+000000310140
+000000358566
+000000136185
+000000484044
+000000504487
+000000131099
+000000391154
+000000077137
+000000230987
+000000027974
+000000073417
+000000507424
+000000185866
+000000347865
+000000171086
+000000028750
+000000457381
+000000033753
+000000356216
+000000149440
+000000527891
+000000101426
+000000553108
+000000383270
+000000308829
+000000104349
+000000496210
+000000258950
+000000022954
+000000263178
+000000204556
+000000493793
+000000206784
+000000050151
+000000130215
+000000068821
+000000472938
+000000500981
+000000360637
+000000177109
+000000184202
+000000037709
+000000365707
+000000286594
+000000270102
+000000139237
+000000521240
+000000019239
+000000344222
+000000132612
+000000488002
+000000305480
+000000439015
+000000198518
+000000347936
+000000184116
+000000242467
+000000193095
+000000170327
+000000108429
+000000512351
+000000553867
+000000566489
+000000223404
+000000168060
+000000273442
+000000213765
+000000558248
+000000565870
+000000039067
+000000511024
+000000068152
+000000399006
+000000461024
+000000309935
+000000555245
+000000277289
+000000378901
+000000079146
+000000559166
+000000247265
+000000200365
+000000468373
+000000015260
+000000553558
+000000322302
+000000294814
+000000059123
+000000352445
+000000060982
+000000472896
+000000342130
+000000278414
+000000284336
+000000206793
+000000005724
+000000472707
+000000520027
+000000253395
+000000148301
+000000262118
+000000421346
+000000231837
+000000118584
+000000068235
+000000450129
+000000189583
+000000341797
+000000430495
+000000355860
+000000105120
+000000456323
+000000502380
+000000475425
+000000296996
+000000152208
+000000507830
+000000156609
+000000543166
+000000096360
+000000006809
+000000277375
+000000378077
+000000279957
+000000577455
+000000023400
+000000511724
+000000519731
+000000082131
+000000232716
+000000004278
+000000257102
+000000175871
+000000531622
+000000493683
+000000546975
+000000011554
+000000327717
+000000367990
+000000292512
+000000073906
+000000338200
+000000426528
+000000055840
+000000125252
+000000261387
+000000213429
+000000197192
+000000072729
+000000467939
+000000099388
+000000373789
+000000136561
+000000231337
+000000528915
+000000381759
+000000384213
+000000321427
+000000306758
+000000424297
+000000554934
+000000081622
+000000352143
+000000112904
+000000259498
+000000293342
+000000372548
+000000108836
+000000367771
+000000171429
+000000240589
+000000321508
+000000024023
+000000517454
+000000050422
+000000348829
+000000363464
+000000500471
+000000450330
+000000531860
+000000569214
+000000535143
+000000562879
+000000182645
+000000146582
+000000406359
+000000022104
+000000059194
+000000472226
+000000016119
+000000260715
+000000369982
+000000058681
+000000503331
+000000260445
+000000427464
+000000325903
+000000032646
+000000458984
+000000495903
+000000031043
+000000315104
+000000180067
+000000466095
+000000229342
+000000215549
+000000286348
+000000181518
+000000405248
+000000417802
+000000377649
+000000326639
+000000326080
+000000240247
+000000215405
+000000014377
+000000400251
+000000174845
+000000001153
+000000079610
+000000468742
+000000252198
+000000230296
+000000564912
+000000371773
+000000420650
+000000538963
+000000310061
+000000014027
+000000323812
+000000263393
+000000516080
+000000100975
+000000197568
+000000246650
+000000535753
+000000526536
+000000141304
+000000097806
+000000070033
+000000096107
+000000009398
+000000532083
+000000262009
+000000305546
+000000292301
+000000002451
+000000050099
+000000463303
+000000267942
+000000245505
+000000126733
+000000407091
+000000328421
+000000098220
+000000386927
+000000269260
+000000295057
+000000197661
+000000292617
+000000387329
+000000275611
+000000211771
+000000018011
+000000157822
+000000093356
+000000145192
+000000160901
+000000100757
+000000430122
+000000499007
+000000181030
+000000449901
+000000151801
+000000291845
+000000577320
+000000132453
+000000256742
+000000008401
+000000374994
+000000291683
+000000061735
+000000365624
+000000282336
+000000338050
+000000033034
+000000166450
+000000002591
+000000285686
+000000506311
+000000332219
+000000193889
+000000489605
+000000165100
+000000079667
+000000403329
+000000441182
+000000226866
+000000042222
+000000432723
+000000477719
+000000177214
+000000233428
+000000574471
+000000300882
+000000057095
+000000087204
+000000112440
+000000268454
+000000430598
+000000283916
+000000358209
+000000171155
+000000311205
+000000081299
+000000000133
+000000542786
+000000442125
+000000354569
+000000420629
+000000135914
+000000473604
+000000555900
+000000494835
+000000573885
+000000080067
+000000267932
+000000463876
+000000171380
+000000024507
+000000562139
+000000231341
+000000301232
+000000322557
+000000483587
+000000360762
+000000469075
+000000559159
+000000279479
+000000532963
+000000001803
+000000308715
+000000304716
+000000530905
+000000414948
+000000109654
+000000370423
+000000505729
+000000367424
+000000312718
+000000292916
+000000467762
+000000479711
+000000149423
+000000362373
+000000224178
+000000570917
+000000308730
+000000159109
+000000475610
+000000570351
+000000247873
+000000320160
+000000041671
+000000327367
+000000143420
+000000050556
+000000040966
+000000550853
+000000579065
+000000085893
+000000130163
+000000294119
+000000297415
+000000105737
+000000049851
+000000515717
+000000011313
+000000563817
+000000439445
+000000454708
+000000137278
+000000058658
+000000284674
+000000537920
+000000091130
+000000391842
+000000395344
+000000021268
+000000375737
+000000097172
+000000119748
+000000209048
+000000294978
+000000099159
+000000054300
+000000281123
+000000164515
+000000566414
+000000171468
+000000084314
+000000066398
+000000578164
+000000326111
+000000268146
+000000199021
+000000327281
+000000449394
+000000058172
+000000571690
+000000478576
+000000411182
+000000493682
+000000299665
+000000366461
+000000208164
+000000330040
+000000332976
+000000002608
+000000535457
+000000279561
+000000105139
+000000194362
+000000346004
+000000360273
+000000566968
+000000554364
+000000083548
+000000141201
+000000357612
+000000118478
+000000555318
+000000313605
+000000059106
+000000276694
+000000021089
+000000337062
+000000526187
+000000073661
+000000244122
+000000192440
+000000559556
+000000504069
+000000005745
+000000502441
+000000486313
+000000328814
+000000337274
+000000265648
+000000581668
+000000048256
+000000298788
+000000505661
+000000099539
+000000339352
+000000513312
+000000007781
+000000049974
+000000411068
+000000135845
+000000512786
+000000557374
+000000487114
+000000181699
+000000015379
+000000345867
+000000386164
+000000133741
+000000366389
+000000508814
+000000458950
+000000312054
+000000357537
+000000101084
+000000030722
+000000316008
+000000410225
+000000123035
+000000546944
+000000251639
+000000004338
+000000139355
+000000206341
+000000557252
+000000369789
+000000300040
+000000208724
+000000371326
+000000117922
+000000029680
+000000514682
+000000212321
+000000292416
+000000255598
+000000469737
+000000291742
+000000302528
+000000147042
+000000334413
+000000412780
+000000489961
+000000294854
+000000048376
+000000338168
+000000300179
+000000319899
+000000336113
+000000473448
+000000388616
+000000566502
+000000545263
+000000563511
+000000096535
+000000442557
+000000121350
+000000324845
+000000051434
+000000446372
+000000000626
+000000428041
+000000015809
+000000121904
+000000261496
+000000001155
+000000521867
+000000059451
+000000316755
+000000482134
+000000254989
+000000429776
+000000500699
+000000060362
+000000572886
+000000304725
+000000044569
+000000559218
+000000129806
+000000242427
+000000392555
+000000054870
+000000091576
+000000291655
+000000472130
+000000580600
+000000008093
+000000488775
+000000253992
+000000523002
+000000181885
+000000137552
+000000139970
+000000016680
+000000000939
+000000480489
+000000155575
+000000301449
+000000549101
+000000009425
+000000310716
+000000266093
+000000168784
+000000190378
+000000171942
+000000011887
+000000402887
+000000034827
+000000547742
+000000129782
+000000109483
+000000152788
+000000252968
+000000442886
+000000459967
+000000493295
+000000417144
+000000100901
+000000138086
+000000508710
+000000062386
+000000349603
+000000322349
+000000347649
+000000057345
+000000307573
+000000306798
+000000480553
+000000188520
+000000136962
+000000569900
+000000059710
+000000543790
+000000252381
+000000502828
+000000293611
+000000043417
+000000244683
+000000337969
+000000571585
+000000412666
+000000378790
+000000212759
+000000568398
+000000514180
+000000470697
+000000276620
+000000227117
+000000204436
+000000487159
+000000141946
+000000246328
+000000546708
+000000432201
+000000506736
+000000370405
+000000022309
+000000531093
+000000236349
+000000533751
+000000480876
+000000541771
+000000145061
+000000101686
+000000399851
+000000296267
+000000469356
+000000288358
+000000452502
+000000127871
+000000131352
+000000060316
+000000331268
+000000267497
+000000241149
+000000220486
+000000069745
+000000133622
+000000357944
+000000203137
+000000385646
+000000552814
+000000422328
+000000128076
+000000000762
+000000154801
+000000298810
+000000554859
+000000269429
+000000119357
+000000090058
+000000548416
+000000015690
+000000541813
+000000500921
+000000060140
+000000530019
+000000138536
+000000162199
+000000137794
+000000301218
+000000513240
+000000461331
+000000346872
+000000181771
+000000290314
+000000428739
+000000092439
+000000093604
+000000387470
+000000217989
+000000156073
+000000110507
+000000496121
+000000535748
+000000331919
+000000479214
+000000206662
+000000459147
+000000347557
+000000033527
+000000526030
+000000357584
+000000244923
+000000576421
+000000156628
+000000288472
+000000404997
+000000190391
+000000281567
+000000130506
+000000004809
+000000100753
+000000172608
+000000556823
+000000480467
+000000555574
+000000460279
+000000079469
+000000510304
+000000433285
+000000306288
+000000332891
+000000232337
+000000307949
+000000456356
+000000282239
+000000285493
+000000187659
+000000494808
+000000182897
+000000001228
+000000168317
+000000484301
+000000243173
+000000352188
+000000048358
+000000345980
+000000566920
+000000255470
+000000122987
+000000558318
+000000240646
+000000145843
+000000139130
+000000404795
+000000431997
+000000462527
+000000519250
+000000024319
+000000120644
+000000284018
+000000445200
+000000013770
+000000169401
+000000321666
+000000406841
+000000257137
+000000155177
+000000539235
+000000206405
+000000188329
+000000110665
+000000062053
+000000087249
+000000433763
+000000246070
+000000003148
+000000577447
+000000524822
+000000042285
+000000437303
+000000083393
+000000405604
+000000214853
+000000159296
+000000431923
+000000257685
+000000164224
+000000075829
+000000252771
+000000444537
+000000074927
+000000261077
+000000108810
+000000045101
+000000482195
+000000566583
+000000043340
+000000571885
+000000052979
+000000297944
+000000065025
+000000382503
+000000423058
+000000400353
+000000124759
+000000352234
+000000325356
+000000395053
+000000169907
+000000188631
+000000077346
+000000334587
+000000346540
+000000118852
+000000244571
+000000192217
+000000549328
+000000173825
+000000138573
+000000514280
+000000373666
+000000109145
+000000086924
+000000504670
+000000448309
+000000173211
+000000144747
+000000400592
+000000334658
+000000141219
+000000054218
+000000267704
+000000242982
+000000333583
+000000488066
+000000549629
+000000440755
+000000328407
+000000261235
+000000487018
+000000135338
+000000523161
+000000235259
+000000365032
+000000417602
+000000089541
+000000063573
+000000559400
+000000441965
+000000054038
+000000416976
+000000109783
+000000429971
+000000342417
+000000067697
+000000494248
+000000298623
+000000426988
+000000000584
+000000343284
+000000387244
+000000294491
+000000114219
+000000247703
+000000174417
+000000426906
+000000311890
+000000527243
+000000289712
+000000307263
+000000124280
+000000309405
+000000346932
+000000173533
+000000507812
+000000442743
+000000178748
+000000105576
+000000147659
+000000550552
+000000471860
+000000118909
+000000544044
+000000403421
+000000064317
+000000534037
+000000550745
+000000103228
+000000390693
+000000184830
+000000075723
+000000038539
+000000337167
+000000488601
+000000392170
+000000199956
+000000294226
+000000465838
+000000143749
+000000544626
+000000031625
+000000378795
+000000477233
+000000329613
+000000426546
+000000538779
+000000257323
+000000395644
+000000407355
+000000574635
+000000372412
+000000453013
+000000089754
+000000581256
+000000237920
+000000039598
+000000211641
+000000247369
+000000505911
+000000298573
+000000267889
+000000359337
+000000365729
+000000080395
+000000504125
+000000058245
+000000545734
+000000020747
+000000094984
+000000024294
+000000413172
+000000266386
+000000219760
+000000068748
+000000190094
+000000096082
+000000392167
+000000547297
+000000302680
+000000524389
+000000534266
+000000366713
+000000550333
+000000130438
+000000196413
+000000105247
+000000245345
+000000180578
+000000573653
+000000078880
+000000516439
+000000001261
+000000102841
+000000403389
+000000458483
+000000229813
+000000028329
+000000097883
+000000122952
+000000198477
+000000299563
+000000084442
+000000218988
+000000358239
+000000306395
+000000405838
+000000577657
+000000304849
+000000139456
+000000574114
+000000374999
+000000563337
+000000578046
+000000053893
+000000474333
+000000048708
+000000054755
+000000023251
+000000549821
+000000205577
+000000120966
+000000043764
+000000198590
+000000186703
+000000460148
+000000376144
+000000409754
+000000044404
+000000019579
+000000446322
+000000349888
+000000481571
+000000276507
+000000166464
+000000422461
+000000286903
+000000018495
+000000327808
+000000211112
+000000122109
+000000074630
+000000362091
+000000405278
+000000378451
+000000140043
+000000105177
+000000403038
+000000337902
+000000128649
+000000084815
+000000019397
+000000560358
+000000015930
+000000569286
+000000203603
+000000318811
+000000532610
+000000375728
+000000284771
+000000262376
+000000506614
+000000257713
+000000553267
+000000257391
+000000149228
+000000068305
+000000207889
+000000502407
+000000418394
+000000462353
+000000101781
+000000000605
+000000144534
+000000197097
+000000485605
+000000234948
+000000068789
+000000503926
+000000223031
+000000200922
+000000285234
+000000430047
+000000007040
+000000303597
+000000251167
+000000095880
+000000425155
+000000461619
+000000453016
+000000445594
+000000473516
+000000289282
+000000487421
+000000027151
+000000019131
+000000173897
+000000321242
+000000134562
+000000039976
+000000476773
+000000207739
+000000328088
+000000148516
+000000009077
+000000471332
+000000442416
+000000320947
+000000528358
+000000199671
+000000579374
+000000029816
+000000375529
+000000443575
+000000548661
+000000311475
+000000373111
+000000278714
+000000048742
+000000164691
+000000564884
+000000055966
+000000347957
+000000196210
+000000082894
+000000310707
+000000157921
+000000540858
+000000336457
+000000500043
+000000077901
+000000355387
+000000378655
+000000568529
+000000316963
+000000125160
+000000301102
+000000183692
+000000410641
+000000534284
+000000402909
+000000146249
+000000398053
+000000000208
+000000280678
+000000529777
+000000163933
+000000231393
+000000317763
+000000036221
+000000391972
+000000092016
+000000193254
+000000040181
+000000493507
+000000532603
+000000264686
+000000259477
+000000355106
+000000092729
+000000031247
+000000536294
+000000014385
+000000548821
+000000522195
+000000287289
+000000434043
+000000399702
+000000137056
+000000327205
+000000446036
+000000015709
+000000206731
+000000082324
+000000548550
+000000085543
+000000038092
+000000013273
+000000404406
+000000013121
+000000078313
+000000244847
+000000334073
+000000003178
+000000424018
+000000209191
+000000210371
+000000487409
+000000047563
+000000141224
+000000095749
+000000156567
+000000152657
+000000474347
+000000147856
+000000533603
+000000148067
+000000548875
+000000093765
+000000009857
+000000022564
+000000347113
+000000152733
+000000144027
+000000350623
+000000450464
+000000304789
+000000193954
+000000472925
+000000348315
+000000180239
+000000221696
+000000327468
+000000054448
+000000311568
+000000292810
+000000211299
+000000328499
+000000371313
+000000269508
+000000180079
+000000385675
+000000247536
+000000412781
+000000340145
+000000196663
+000000495692
+000000371046
+000000364517
+000000373381
+000000369973
+000000289507
+000000376828
+000000471235
+000000316596
+000000240972
+000000107438
+000000346645
+000000250196
+000000156326
+000000374043
+000000042578
+000000119016
+000000572937
+000000369095
+000000249556
+000000439141
+000000279305
+000000233780
+000000375407
+000000512576
+000000266655
+000000459058
+000000319449
+000000391637
+000000339089
+000000074913
+000000339634
+000000537825
+000000356755
+000000083906
+000000311954
+000000554699
+000000183957
+000000389004
+000000525432
+000000134383
+000000568089
+000000132170
+000000393508
+000000192651
+000000095281
+000000360512
+000000486686
+000000266168
+000000449484
+000000385842
+000000262030
+000000160625
+000000116312
+000000167205
+000000441199
+000000201406
+000000058677
+000000114340
+000000434141
+000000456350
+000000017105
+000000028655
+000000045366
+000000213207
+000000118625
+000000231899
+000000538846
+000000514771
+000000320972
+000000026323
+000000365514
+000000416078
+000000135894
+000000503598
+000000518601
+000000070491
+000000205607
+000000302076
+000000367271
+000000323729
+000000067052
+000000529597
+000000224056
+000000075326
+000000512424
+000000476664
+000000277831
+000000164172
+000000140352
+000000086476
+000000421661
+000000209772
+000000095814
+000000004537
+000000091942
+000000342139
+000000107542
+000000291016
+000000574153
+000000412518
+000000466373
+000000058834
+000000576774
+000000201074
+000000404271
+000000413198
+000000275027
+000000139181
+000000315609
+000000533042
+000000222755
+000000500092
+000000106351
+000000547192
+000000240074
+000000480239
+000000229666
+000000554316
+000000443937
+000000156301
+000000433225
+000000222228
+000000568276
+000000250204
+000000341856
+000000182968
+000000137206
+000000484332
+000000171179
+000000406786
+000000458170
+000000337985
+000000140067
+000000461283
+000000576496
+000000406142
+000000252269
+000000123008
+000000125955
+000000236725
+000000523863
+000000080556
+000000137927
+000000475529
+000000007179
+000000415841
+000000563024
+000000127623
+000000161506
+000000165750
+000000569729
+000000437510
+000000397445
+000000077980
+000000122343
+000000256309
+000000329762
+000000086226
+000000113391
+000000438737
+000000286511
+000000531444
+000000546639
+000000080792
+000000533688
+000000212587
+000000381729
+000000066156
+000000377371
+000000328041
+000000498156
+000000115642
+000000229132
+000000264699
+000000446422
+000000567657
+000000257117
+000000006481
+000000467726
+000000288435
+000000428712
+000000570111
+000000501540
+000000184679
+000000257617
+000000553304
+000000391041
+000000353028
+000000190022
+000000490328
+000000534124
+000000542936
+000000091079
+000000418226
+000000302147
+000000087383
+000000091883
+000000569716
+000000373664
+000000322174
+000000224805
+000000536412
+000000552563
+000000375140
+000000066144
+000000492292
+000000201261
+000000045625
+000000005277
+000000329179
+000000463134
+000000018191
+000000413699
+000000455255
+000000196291
+000000374649
+000000041688
+000000045422
+000000190150
+000000292289
+000000501323
+000000232588
+000000171500
+000000008531
+000000059949
+000000119534
+000000569223
+000000373218
+000000274613
+000000466145
+000000113461
+000000431503
+000000040878
+000000531552
+000000325944
+000000441058
+000000256560
+000000225867
+000000145628
+000000220339
+000000096440
+000000235437
+000000322987
+000000045582
+000000202448
+000000002295
+000000119760
+000000528011
+000000408057
+000000419052
+000000143323
+000000000560
+000000050101
+000000144881
+000000316842
+000000541109
+000000481290
+000000299785
+000000228376
+000000379070
+000000128201
+000000545476
+000000220922
+000000506296
+000000420052
+000000445427
+000000248649
+000000365251
+000000171413
+000000332724
+000000398385
+000000131312
+000000474369
+000000151277
+000000515195
+000000534789
+000000286998
+000000345275
+000000517936
+000000552740
+000000113660
+000000268430
+000000559816
+000000300232
+000000285433
+000000098739
+000000067573
+000000236572
+000000070626
+000000050995
+000000260580
+000000030519
+000000076916
+000000423039
+000000384700
+000000531875
+000000002276
+000000341741
+000000498615
+000000364249
+000000056289
+000000372247
+000000228074
+000000212525
+000000325143
+000000272282
+000000202226
+000000539302
+000000084284
+000000087266
+000000397404
+000000086951
+000000085143
+000000144357
+000000220408
+000000274562
+000000168482
+000000362944
+000000241622
+000000549729
+000000309175
+000000251439
+000000377177
+000000397315
+000000562633
+000000428502
+000000061492
+000000370103
+000000321062
+000000147894
+000000342988
+000000203778
+000000131579
+000000045962
+000000196619
+000000299712
+000000478005
+000000181348
+000000169318
+000000434900
+000000039779
+000000420300
+000000044734
+000000255622
+000000121779
+000000411247
+000000191994
+000000196484
+000000109482
+000000527497
+000000280187
+000000481796
+000000311566
+000000263769
+000000326824
+000000173907
+000000455657
+000000327047
+000000240691
+000000025115
+000000552289
+000000187979
+000000222696
+000000526342
+000000250684
+000000428113
+000000058405
+000000189648
+000000100586
+000000131416
+000000236769
+000000419224
+000000377879
+000000077785
+000000393297
+000000292907
+000000197053
+000000136993
+000000370170
+000000063320
+000000225516
+000000342885
+000000251627
+000000182575
+000000561687
+000000298193
+000000554770
+000000118065
+000000541538
+000000507067
+000000025172
+000000103419
+000000270269
+000000335376
+000000344197
+000000361481
+000000284153
+000000242615
+000000037539
+000000532568
+000000571779
+000000528555
+000000442982
+000000379767
+000000171936
+000000325558
+000000149298
+000000063587
+000000538001
+000000333240
+000000510923
+000000489218
+000000253675
+000000227035
+000000209794
+000000072026
+000000001681
+000000015906
+000000555627
+000000406093
+000000326959
+000000311961
+000000265851
+000000506664
+000000321035
+000000499324
+000000579405
+000000367120
+000000235062
+000000335316
+000000081323
+000000381256
+000000131126
+000000578343
+000000371138
+000000158965
+000000173515
+000000091784
+000000572183
+000000303959
+000000486254
+000000226518
+000000108923
+000000448856
+000000499983
+000000463583
+000000442218
+000000480664
+000000510172
+000000091454
+000000228758
+000000538411
+000000343183
+000000117514
+000000322394
+000000092480
+000000077667
+000000429261
+000000399154
+000000072466
+000000358391
+000000197125
+000000467447
+000000511236
+000000063050
+000000256950
+000000373539
+000000575483
+000000533502
+000000512022
+000000553719
+000000336749
+000000365879
+000000483142
+000000047066
+000000558616
+000000402528
+000000572084
+000000555739
+000000073685
+000000180333
+000000403004
+000000309257
+000000051429
+000000323399
+000000342363
+000000572206
+000000548957
+000000156020
+000000257996
+000000000394
+000000567186
+000000486013
+000000192320
+000000346880
+000000046323
+000000335072
+000000519605
+000000263623
+000000330112
+000000320812
+000000232115
+000000278043
+000000435688
+000000038064
+000000481009
+000000083878
+000000048710
+000000517719
+000000495291
+000000050961
+000000203034
+000000419996
+000000543877
+000000227802
+000000324642
+000000017909
+000000190783
+000000144275
+000000560409
+000000115859
+000000141265
+000000580541
+000000131565
+000000572734
+000000451727
+000000273314
+000000312143
+000000385844
+000000297257
+000000371295
+000000144796
+000000024125
+000000152992
+000000383158
+000000285397
+000000166527
+000000102625
+000000350706
+000000144176
+000000336718
+000000182377
+000000117160
+000000104125
+000000517586
+000000207234
+000000100022
+000000421804
+000000205940
+000000167642
+000000100215
+000000326892
+000000494911
+000000292001
+000000133295
+000000551129
+000000304777
+000000198921
+000000283441
+000000235352
+000000337771
+000000286478
+000000516205
+000000581010
+000000047333
+000000153219
+000000350733
+000000236312
+000000164453
+000000301927
+000000374107
+000000006725
+000000176969
+000000130456
+000000182369
+000000440650
+000000006673
+000000204448
+000000040018
+000000373574
+000000224306
+000000493048
+000000376712
+000000572260
+000000294475
+000000216716
+000000129675
+000000564823
+000000305738
+000000190734
+000000563340
+000000537220
+000000358883
+000000291830
+000000509677
+000000044606
+000000233954
+000000393046
+000000376946
+000000193529
+000000032964
+000000192327
+000000188831
+000000293362
+000000466736
+000000462080
+000000308686
+000000458891
+000000121677
+000000150480
+000000112836
+000000567438
+000000023575
+000000112770
+000000174113
+000000173883
+000000472065
+000000551244
+000000383594
+000000411958
+000000459093
+000000197251
+000000260857
+000000051021
+000000098325
+000000237505
+000000303765
+000000085914
+000000392928
+000000436145
+000000228211
+000000158306
+000000238238
+000000478577
+000000550133
+000000002434
+000000428029
+000000014025
+000000479629
+000000038310
+000000490031
+000000384040
+000000040056
+000000332549
+000000305427
+000000365313
+000000187888
+000000519135
+000000163528
+000000539439
+000000569725
+000000469619
+000000371808
+000000528488
+000000445565
+000000213172
+000000518324
+000000446881
+000000063171
+000000469873
+000000287953
+000000032244
+000000255036
+000000533678
+000000494141
+000000054492
+000000229035
+000000400560
+000000378183
+000000072485
+000000366493
+000000088272
+000000189542
+000000554081
+000000113935
+000000444107
+000000228506
+000000333842
+000000335976
+000000419228
+000000203661
+000000261236
+000000016030
+000000362764
+000000116783
+000000188952
+000000109638
+000000503814
+000000153103
+000000407717
+000000349737
+000000138871
+000000388511
+000000500099
+000000236323
+000000568113
+000000136699
+000000520862
+000000417220
+000000342665
+000000497500
+000000329703
+000000432144
+000000230490
+000000173968
+000000123753
+000000045573
+000000087936
+000000043319
+000000283199
+000000078113
+000000248341
+000000255654
+000000528892
+000000222513
+000000383341
+000000399275
+000000011202
+000000195459
+000000144497
+000000257867
+000000456344
+000000222083
+000000504554
+000000294284
+000000185773
+000000435686
+000000137028
+000000235642
+000000161054
+000000047544
+000000050443
+000000411624
+000000405058
+000000067563
+000000523426
+000000109629
+000000494879
+000000071099
+000000114068
+000000010476
+000000147131
+000000186578
+000000185116
+000000021688
+000000312056
+000000062038
+000000311011
+000000323054
+000000014821
+000000109863
+000000203062
+000000516372
+000000157032
+000000044263
+000000010540
+000000409652
+000000012556
+000000346391
+000000344763
+000000144797
+000000353935
+000000345989
+000000179965
+000000193943
+000000385188
+000000437710
+000000221865
+000000295068
+000000407891
+000000275380
+000000488928
+000000179814
+000000247234
+000000038190
+000000077990
+000000104801
+000000299732
+000000096183
+000000004904
+000000354530
+000000091566
+000000501842
+000000027285
+000000157158
+000000204682
+000000420490
+000000073061
+000000523034
+000000412612
+000000532504
+000000298680
+000000052151
+000000131015
+000000135907
+000000119199
+000000081259
+000000236425
+000000069768
+000000338105
+000000537526
+000000529256
+000000318385
+000000472462
+000000065085
+000000063888
+000000180580
+000000360535
+000000283064
+000000348637
+000000150669
+000000226805
+000000310302
+000000201368
+000000539406
+000000501966
+000000553447
+000000350789
+000000169712
+000000516237
+000000328316
+000000154382
+000000183435
+000000489608
+000000215062
+000000422623
+000000029005
+000000320182
+000000473705
+000000168405
+000000382148
+000000262897
+000000253265
+000000296696
+000000043345
+000000174698
+000000039468
+000000561613
+000000099222
+000000462519
+000000464196
+000000047879
+000000033994
+000000360209
+000000261129
+000000464928
+000000571738
+000000154610
+000000046775
+000000034761
+000000201405
+000000425526
+000000573132
+000000256337
+000000277998
+000000315428
+000000156367
+000000097367
+000000255930
+000000506034
+000000435957
+000000571514
+000000322121
+000000551881
+000000322002
+000000071023
+000000453625
+000000334050
+000000356948
+000000510782
+000000311953
+000000379654
+000000388018
+000000528516
+000000048663
+000000091113
+000000354165
+000000040946
+000000473500
+000000334944
+000000325211
+000000380239
+000000161762
+000000129980
+000000033751
+000000044372
+000000295564
+000000304092
+000000497488
+000000138117
+000000468351
+000000493947
+000000497158
+000000443944
+000000373782
+000000022230
+000000228434
+000000130399
+000000021343
+000000058609
+000000366136
+000000126701
+000000520657
+000000047746
+000000305833
+000000476268
+000000073453
+000000183786
+000000469092
+000000259976
+000000550405
+000000443984
+000000000009
+000000120181
+000000150594
+000000424470
+000000324831
+000000245230
+000000058735
+000000023679
+000000374641
+000000508105
+000000515364
+000000125928
+000000152857
+000000558576
+000000436295
+000000553981
+000000432522
+000000321173
+000000183898
+000000407334
+000000493761
+000000562242
+000000044251
+000000276918
+000000374516
+000000130492
+000000332545
+000000508412
+000000003823
+000000180505
+000000178526
+000000335092
+000000209292
+000000030646
+000000288707
+000000060245
+000000558602
+000000332202
+000000135438
+000000494480
+000000542959
+000000078068
+000000146149
+000000066355
+000000522101
+000000008791
+000000041588
+000000079269
+000000234749
+000000103280
+000000483737
+000000458208
+000000277888
+000000107167
+000000051152
+000000088116
+000000497593
+000000082118
+000000272738
+000000439143
+000000560841
+000000005340
+000000496424
+000000057350
+000000287400
+000000181485
+000000447738
+000000285568
+000000422705
+000000560472
+000000492970
+000000033489
+000000061054
+000000171376
+000000463613
+000000535393
+000000458313
+000000240742
+000000302275
+000000157748
+000000340170
+000000520251
+000000524014
+000000286614
+000000054924
+000000123749
+000000581662
+000000459755
+000000066360
+000000129310
+000000000643
+000000025951
+000000480841
+000000191095
+000000467572
+000000240965
+000000549413
+000000277440
+000000515904
+000000146614
+000000159551
+000000507511
+000000554750
+000000244465
+000000398567
+000000491508
+000000168690
+000000171176
+000000268885
+000000340547
+000000150874
+000000025485
+000000334637
+000000213538
+000000559614
+000000416819
+000000562474
+000000223154
+000000101418
+000000265052
+000000472557
+000000308812
+000000358633
+000000342323
+000000169045
+000000469531
+000000136271
+000000511781
+000000208318
+000000449528
+000000501175
+000000072020
+000000520840
+000000230515
+000000186734
+000000092331
+000000560459
+000000351989
+000000385379
+000000417926
+000000057870
+000000326891
+000000096315
+000000121857
+000000569464
+000000202086
+000000321097
+000000366799
+000000250993
+000000374340
+000000194729
+000000083328
+000000079628
+000000433420
+000000292912
+000000538336
+000000553118
+000000567627
+000000557227
+000000397813
+000000448308
+000000000438
+000000270605
+000000480583
+000000128170
+000000513466
+000000199952
+000000420363
+000000144718
+000000057242
+000000224819
+000000320273
+000000410675
+000000407927
+000000242911
+000000199011
+000000228857
+000000265361
+000000516957
+000000343484
+000000054517
+000000456658
+000000363489
+000000428787
+000000416766
+000000523919
+000000173315
+000000535579
+000000271283
+000000048939
+000000009113
+000000580851
+000000082898
+000000408805
+000000113839
+000000364742
+000000232720
+000000359086
+000000297414
+000000033383
+000000318550
+000000342958
+000000445175
+000000366648
+000000290962
+000000104891
+000000058089
+000000167649
+000000345536
+000000040455
+000000292033
+000000061502
+000000331871
+000000208806
+000000206541
+000000206676
+000000215679
+000000093403
+000000170107
+000000564099
+000000108617
+000000360869
+000000446266
+000000406050
+000000203492
+000000464440
+000000277239
+000000242868
+000000020888
+000000345786
+000000514018
+000000544815
+000000427335
+000000129957
+000000458042
+000000106537
+000000413626
+000000379241
+000000273736
+000000219523
+000000190680
+000000311974
+000000359201
+000000036557
+000000300380
+000000408258
+000000258878
+000000159310
+000000058462
+000000490694
+000000304391
+000000086323
+000000028039
+000000311087
+000000295688
+000000528756
+000000142246
+000000463961
+000000528956
+000000433941
+000000241369
+000000097200
+000000099645
+000000204806
+000000020281
+000000526801
+000000036729
+000000209299
+000000220205
+000000368874
+000000542485
+000000068420
+000000293679
+000000054961
+000000295823
+000000354603
+000000080406
+000000319725
+000000026221
+000000093331
+000000414772
+000000463360
+000000448944
+000000427654
+000000393982
+000000435665
+000000300103
+000000109924
+000000463305
+000000173068
+000000343455
+000000106150
+000000152003
+000000556746
+000000136711
+000000409217
+000000076462
+000000346867
+000000478648
+000000379869
+000000375226
+000000273142
+000000256946
+000000412868
+000000326209
+000000379966
+000000338903
+000000408221
+000000099498
+000000306486
+000000527445
+000000180119
+000000015107
+000000279437
+000000297876
+000000086652
+000000366116
+000000141343
+000000052978
+000000288905
+000000410912
+000000361928
+000000152004
+000000093279
+000000447487
+000000478736
+000000465457
+000000400999
+000000313345
+000000001522
+000000295317
+000000300034
+000000027656
+000000321583
+000000449574
+000000364725
+000000211230
+000000439840
+000000029994
+000000316766
+000000352807
+000000528550
+000000366695
+000000224109
+000000009539
+000000054606
+000000098729
+000000494155
+000000498890
+000000048977
+000000194180
+000000402123
+000000380912
+000000051376
+000000374218
+000000319283
+000000059708
+000000305277
+000000128299
+000000006220
+000000216682
+000000217108
+000000228994
+000000176060
+000000374796
+000000064239
+000000529345
+000000257497
+000000327332
+000000022525
+000000254549
+000000136396
+000000351242
+000000183205
+000000481370
+000000199363
+000000412330
+000000145682
+000000353582
+000000244141
+000000411478
+000000511430
+000000254237
+000000019888
+000000212974
+000000521064
+000000570215
+000000433504
+000000314725
+000000132814
+000000447363
+000000393445
+000000115080
+000000304250
+000000107633
+000000323020
+000000457586
+000000021671
+000000423620
+000000537337
+000000297640
+000000245733
+000000469281
+000000016251
+000000346990
+000000465301
+000000306031
+000000022256
+000000581153
+000000199204
+000000033386
+000000422785
+000000410105
+000000572536
+000000111706
+000000506378
+000000081307
+000000328951
+000000469103
+000000471665
+000000305501
+000000016383
+000000511403
+000000072605
+000000125586
+000000349337
+000000178403
+000000570066
+000000356662
+000000316152
+000000415196
+000000216894
+000000314093
+000000003866
+000000272490
+000000547592
+000000518179
+000000478077
+000000416641
+000000068380
+000000057551
+000000130993
+000000394715
+000000462071
+000000571036
+000000369482
+000000435163
+000000097195
+000000021020
+000000451449
+000000088192
+000000200710
+000000403424
+000000261185
+000000557283
+000000159269
+000000544026
+000000169872
+000000522489
+000000558009
+000000340345
+000000455103
+000000579303
+000000385674
+000000003782
+000000066056
+000000038865
+000000070685
+000000362643
+000000433055
+000000043367
+000000337146
+000000360302
+000000343154
+000000552927
+000000164348
+000000439303
+000000396984
+000000397117
+000000422161
+000000116010
+000000548608
+000000541299
+000000404578
+000000382745
+000000199203
+000000035774
+000000519723
+000000557768
+000000440899
+000000480683
+000000361842
+000000383012
+000000112697
+000000299444
+000000260393
+000000245757
+000000510617
+000000552938
+000000469614
+000000485614
+000000186193
+000000444399
+000000144139
+000000017551
+000000544719
+000000502863
+000000257894
+000000406298
+000000102665
+000000382905
+000000210276
+000000368910
+000000097496
+000000279104
+000000342862
+000000022174
+000000270250
+000000045526
+000000565564
+000000388911
+000000500200
+000000213997
+000000030855
+000000217379
+000000022775
+000000026247
+000000421969
+000000354804
+000000576040
+000000402447
+000000098887
+000000052546
+000000506605
+000000113114
+000000372855
+000000380138
+000000295864
+000000299089
+000000363639
+000000374563
+000000520553
+000000089978
+000000543447
+000000449327
+000000484344
+000000107776
+000000382022
+000000432212
+000000328838
+000000507421
+000000130786
+000000511644
+000000367814
+000000310680
+000000035573
+000000098767
+000000377003
+000000119750
+000000129059
+000000415209
+000000167647
+000000038353
+000000556461
+000000234285
+000000215330
+000000083014
+000000486362
+000000523309
+000000541264
+000000258040
+000000186280
+000000158196
+000000317227
+000000555405
+000000264316
+000000058758
+000000007722
+000000401458
+000000252459
+000000364917
+000000222145
+000000425837
+000000252137
+000000205477
+000000413996
+000000285603
+000000518807
+000000376047
+000000574077
+000000335810
+000000087652
+000000540820
+000000423804
+000000387887
+000000309983
+000000425175
+000000014488
+000000184705
+000000124188
+000000541550
+000000574795
+000000265589
+000000372514
+000000143329
+000000507958
+000000343534
+000000387924
+000000102488
+000000473726
+000000096884
+000000224289
+000000257513
+000000436814
+000000378765
+000000432534
+000000140730
+000000436435
+000000011390
+000000383185
+000000544215
+000000391703
+000000076042
+000000555022
+000000456045
+000000292032
+000000277907
+000000063123
+000000013146
+000000459466
+000000534268
+000000217779
+000000461989
+000000267259
+000000214204
+000000361933
+000000041284
+000000105293
+000000564330
+000000551956
+000000284170
+000000011100
+000000334777
+000000522933
+000000106120
+000000355276
+000000191931
+000000086356
+000000483690
+000000355123
+000000202138
+000000469810
+000000522249
+000000182366
+000000141501
+000000434857
+000000168837
+000000224821
+000000183253
+000000074213
+000000555446
+000000389667
+000000385417
+000000018781
+000000128277
+000000192259
+000000010166
+000000536963
+000000001213
+000000524062
+000000110855
+000000403118
+000000578737
+000000209441
+000000084200
+000000375382
+000000272870
+000000139914
+000000297441
+000000147398
+000000466967
+000000031979
+000000285646
+000000324012
+000000558342
+000000402820
+000000215691
+000000173547
+000000559366
+000000356061
+000000522959
+000000515814
+000000522977
+000000547493
+000000411814
+000000322845
+000000132528
+000000416368
+000000025708
+000000260510
+000000179159
+000000026294
+000000379678
+000000215521
+000000393867
+000000242362
+000000500967
+000000248769
+000000407566
+000000575857
+000000151761
+000000118673
+000000543706
+000000069410
+000000442400
+000000298732
+000000018299
+000000205791
+000000031798
+000000395480
+000000490496
+000000320081
+000000460208
+000000377395
+000000309491
+000000232262
+000000325894
+000000293228
+000000091553
+000000552016
+000000560489
+000000246761
+000000313956
+000000222006
+000000008062
+000000399298
+000000101180
+000000002776
+000000095258
+000000562289
+000000293810
+000000463875
+000000576801
+000000124601
+000000037746
+000000263770
+000000056332
+000000164499
+000000196524
+000000184763
+000000246089
+000000494192
+000000277496
+000000416668
+000000211508
+000000429591
+000000106660
+000000162688
+000000053425
+000000377397
+000000526295
+000000549324
+000000384332
+000000502686
+000000311516
+000000525459
+000000020030
+000000368667
+000000338012
+000000244992
+000000174511
+000000011726
+000000046809
+000000100084
+000000004212
+000000008473
+000000528200
+000000373374
+000000223752
+000000501227
+000000087334
+000000441432
+000000363214
+000000554619
+000000486306
+000000315743
+000000422816
+000000345745
+000000097339
+000000187566
+000000030447
+000000172805
+000000343967
+000000340829
+000000001393
+000000223426
+000000292927
+000000004579
+000000536010
+000000265244
+000000428191
+000000015802
+000000436508
+000000521428
+000000101713
+000000110381
+000000313063
+000000197289
+000000182050
+000000300086
+000000386841
+000000432417
+000000322771
+000000267988
+000000084363
+000000079822
+000000036484
+000000047807
+000000474571
+000000391000
+000000456719
+000000468829
+000000156943
+000000426994
+000000248847
+000000491294
+000000260808
+000000580162
+000000241974
+000000022226
+000000352252
+000000475306
+000000231609
+000000199946
+000000471562
+000000428975
+000000371179
+000000294159
+000000366094
+000000146509
+000000168225
+000000185210
+000000550597
+000000393054
+000000312343
+000000318789
+000000006631
+000000267700
+000000105733
+000000083407
+000000016494
+000000066859
+000000167152
+000000201421
+000000256741
+000000361153
+000000363494
+000000001907
+000000566844
+000000171181
+000000451381
+000000031470
+000000429221
+000000073163
+000000284652
+000000474378
+000000472930
+000000416405
+000000081998
+000000268715
+000000095908
+000000160848
+000000470256
+000000383026
+000000073066
+000000563494
+000000258788
+000000072821
+000000576212
+000000210672
+000000476851
+000000065139
+000000451482
+000000326731
+000000112240
+000000310058
+000000368588
+000000232394
+000000528019
+000000464715
+000000304627
+000000479591
+000000555065
+000000008564
+000000392302
+000000094538
+000000089870
+000000501307
+000000077847
+000000021645
+000000526675
+000000396224
+000000571279
+000000259235
+000000487141
+000000260248
+000000243190
+000000302219
+000000463318
+000000029154
+000000074465
+000000366255
+000000539848
+000000078909
+000000346309
+000000252280
+000000093893
+000000430872
+000000235043
+000000085779
+000000047629
+000000242665
+000000456369
+000000168512
+000000316585
+000000108193
+000000467988
+000000016046
+000000107907
+000000063081
+000000204832
+000000411845
+000000456756
+000000095569
+000000140671
+000000016931
+000000023368
+000000133923
+000000526319
+000000009148
+000000036962
+000000302678
+000000104594
+000000412599
+000000453972
+000000465285
+000000425550
+000000213268
+000000059063
+000000149973
+000000005010
+000000492354
+000000499997
+000000295074
+000000356974
+000000293900
+000000036260
+000000163348
+000000418826
+000000439654
+000000280687
+000000556660
+000000274019
+000000461030
+000000512145
+000000019723
+000000081398
+000000117170
+000000289223
+000000050105
+000000307502
+000000061072
+000000103430
+000000395831
+000000114178
+000000106920
+000000222397
+000000238915
+000000086884
+000000327918
+000000142322
+000000349936
+000000500432
+000000196775
+000000576290
+000000222395
+000000217521
+000000492627
+000000241934
+000000219680
+000000542685
+000000358841
+000000175135
+000000369869
+000000159888
+000000364932
+000000521059
+000000138807
+000000075857
+000000532535
+000000568171
+000000335521
+000000237413
+000000416604
+000000018098
+000000265472
+000000203975
+000000103628
+000000519432
+000000383464
+000000552571
+000000522129
+000000255124
+000000531563
+000000237645
+000000100486
+000000332499
+000000259824
+000000223033
+000000062745
+000000199940
+000000524656
+000000508612
+000000425063
+000000026812
+000000413602
+000000039371
+000000142942
+000000308156
+000000108851
+000000399791
+000000002346
+000000258155
+000000474760
+000000019828
+000000352205
+000000236457
+000000092998
+000000407593
+000000156370
+000000042471
+000000397459
+000000327304
+000000250868
+000000216507
+000000275668
+000000361253
+000000432286
+000000121443
+000000538973
+000000100972
+000000387379
+000000214471
+000000000283
+000000236792
+000000403863
+000000285007
+000000365618
+000000260618
+000000482433
+000000063726
+000000074078
+000000524115
+000000453565
+000000239882
+000000459879
+000000083586
+000000107454
+000000159332
+000000347042
+000000471680
+000000003014
+000000394133
+000000353803
+000000306169
+000000138435
+000000313254
+000000082488
+000000368875
+000000252711
+000000096497
+000000194313
+000000261511
+000000067956
+000000371435
+000000211243
+000000305278
+000000490680
+000000365841
+000000382631
+000000084648
+000000440461
+000000433900
+000000422810
+000000014804
+000000374672
+000000151358
+000000102718
+000000385085
+000000268737
+000000306435
+000000182078
+000000484674
+000000137475
+000000230545
+000000438999
+000000231604
+000000052572
+000000526425
+000000580586
+000000508481
+000000519628
+000000391102
+000000514294
+000000497439
+000000451053
+000000157707
+000000330329
+000000581089
+000000347665
+000000431146
+000000475641
+000000203756
+000000206068
+000000171221
+000000572487
+000000292579
+000000145629
+000000459342
+000000376785
+000000263276
+000000019528
+000000365540
+000000313617
+000000257328
+000000547869
+000000039420
+000000309114
+000000574166
+000000534366
+000000507714
+000000117718
+000000143736
+000000208509
+000000484069
+000000086031
+000000024393
+000000441992
+000000130518
+000000223988
+000000570205
+000000010432
+000000459749
+000000166320
+000000099997
+000000248995
+000000551434
+000000074827
+000000181393
+000000546164
+000000452789
+000000212780
+000000038257
+000000400918
+000000218343
+000000001355
+000000130610
+000000303922
+000000117918
+000000031796
+000000072892
+000000287407
+000000211498
+000000299115
+000000178553
+000000157283
+000000315399
+000000413723
+000000272068
+000000470808
+000000251860
+000000306089
+000000198796
+000000193410
+000000066761
+000000211613
+000000214698
+000000117784
+000000543178
+000000169757
+000000241058
+000000371873
+000000576675
+000000015567
+000000221380
+000000503059
+000000314935
+000000386080
+000000205089
+000000088675
+000000398093
+000000104811
+000000507148
+000000493504
+000000306080
+000000472157
+000000360759
+000000478386
+000000255631
+000000425254
+000000544299
+000000330716
+000000110621
+000000266579
+000000252272
+000000517521
+000000061642
+000000523370
+000000281609
+000000422866
+000000286575
+000000094317
+000000125603
+000000534107
+000000004706
+000000298354
+000000097240
+000000309241
+000000341801
+000000198545
+000000197576
+000000424219
+000000101874
+000000015947
+000000369058
+000000254938
+000000373073
+000000504396
+000000309279
+000000317555
+000000456931
+000000450561
+000000237425
+000000305526
+000000373076
+000000187823
+000000253096
+000000052012
+000000581036
+000000194676
+000000433568
+000000408955
+000000388504
+000000280536
+000000246181
+000000103773
+000000291493
+000000450584
+000000518156
+000000320098
+000000072258
+000000416049
+000000114807
+000000304941
+000000287716
+000000227769
+000000577853
+000000476173
+000000070660
+000000385916
+000000565269
+000000484013
+000000121622
+000000112053
+000000205214
+000000551275
+000000310459
+000000206749
+000000393228
+000000413435
+000000030588
+000000532941
+000000485291
+000000110257
+000000250909
+000000389753
+000000097255
+000000307759
+000000010478
+000000262283
+000000216393
+000000487631
+000000007398
+000000164710
+000000228893
+000000447170
+000000295336
+000000011926
+000000211837
+000000315607
+000000465095
+000000207041
+000000389705
+000000094163
+000000422037
+000000017076
+000000543194
+000000494220
+000000517878
+000000137666
+000000541338
+000000204289
+000000184470
+000000349915
+000000088634
+000000214955
+000000501718
+000000423337
+000000579447
+000000165587
+000000161705
+000000080065
+000000212679
+000000404486
+000000339266
+000000178980
+000000247124
+000000510652
+000000287495
+000000386257
+000000127078
+000000248469
+000000371807
+000000569188
+000000227137
+000000183210
+000000338327
+000000438904
+000000282711
+000000209356
+000000435909
+000000126983
+000000518592
+000000077745
+000000377609
+000000567686
+000000563711
+000000005154
+000000538058
+000000119535
+000000194276
+000000145935
+000000551571
+000000255224
+000000305082
+000000387616
+000000128475
+000000129995
+000000018211
+000000205703
+000000221427
+000000360678
+000000270195
+000000060269
+000000032403
+000000402818
+000000540100
+000000162861
+000000249663
+000000138116
+000000140118
+000000357511
+000000556420
+000000397231
+000000277338
+000000319337
+000000384085
+000000253342
+000000203382
+000000278280
+000000080948
+000000295753
+000000011630
+000000183537
+000000054805
+000000169181
+000000526418
+000000404222
+000000059596
+000000356380
+000000187213
+000000323515
+000000378541
+000000047658
+000000130142
+000000453310
+000000292986
+000000500467
+000000408048
+000000333376
+000000512394
+000000489920
+000000192905
+000000565954
+000000544410
+000000278747
+000000512254
+000000130528
+000000173565
+000000416440
+000000203481
+000000073075
+000000494300
+000000236279
+000000159240
+000000178801
+000000005595
+000000214848
+000000149184
+000000026732
+000000116526
+000000436504
+000000336697
+000000037638
+000000527338
+000000081474
+000000513733
+000000126907
+000000508899
+000000581196
+000000564836
+000000093959
+000000296169
+000000109012
+000000541279
+000000310867
+000000381109
+000000517600
+000000342206
+000000559639
+000000220096
+000000064150
+000000488422
+000000570620
+000000332861
+000000054133
+000000148588
+000000577926
+000000243120
+000000463464
+000000420713
+000000081512
+000000112811
+000000572565
+000000167848
+000000579366
+000000336324
+000000354019
+000000454680
+000000094439
+000000145518
+000000442609
+000000193560
+000000285548
+000000374162
+000000134081
+000000357342
+000000575257
+000000250108
+000000104130
+000000393432
+000000262285
+000000305702
+000000504338
+000000390086
+000000200500
+000000251047
+000000499588
+000000180588
+000000173856
+000000123862
+000000327059
+000000062937
+000000316482
+000000436141
+000000428152
+000000324383
+000000405207
+000000016518
+000000314179
+000000362231
+000000027859
+000000240393
+000000448795
+000000306718
+000000379936
+000000253942
+000000383616
+000000034193
+000000277700
+000000093402
+000000166864
+000000457453
+000000449845
+000000212602
+000000148766
+000000461841
+000000391067
+000000323498
+000000312359
+000000474471
+000000360191
+000000226102
+000000405090
+000000157866
+000000416981
+000000003192
+000000175212
+000000048934
+000000569722
+000000475939
+000000343068
+000000528181
+000000495039
+000000174167
+000000273103
+000000076899
+000000081994
+000000071526
+000000267788
+000000379760
+000000140946
+000000144259
+000000287578
+000000031382
+000000327876
+000000205234
+000000135411
+000000092217
+000000500764
+000000407039
+000000219589
+000000076846
+000000042641
+000000547618
+000000107766
+000000108212
+000000008045
+000000224753
+000000322847
+000000338357
+000000550952
+000000441232
+000000537844
+000000317683
+000000321702
+000000389303
+000000314718
+000000566324
+000000445723
+000000158384
+000000331868
+000000351903
+000000291574
+000000399746
+000000078359
+000000576301
+000000574208
+000000038474
+000000235328
+000000060203
+000000402621
+000000471191
+000000043579
+000000568963
+000000195345
+000000545111
+000000500233
+000000413058
+000000180040
+000000460263
+000000008644
+000000074159
+000000441969
+000000520635
+000000260275
+000000578368
+000000358103
+000000110798
+000000490385
+000000404254
+000000279939
+000000228834
+000000417458
+000000552681
+000000090801
+000000292051
+000000185158
+000000114184
+000000499237
+000000363358
+000000142826
+000000313888
+000000000540
+000000365298
+000000313593
+000000291518
+000000570333
+000000132002
+000000116270
+000000009620
+000000276892
+000000112577
+000000207431
+000000208649
+000000202966
+000000255006
+000000086573
+000000362120
+000000077417
+000000555336
+000000467579
+000000082790
+000000236074
+000000279844
+000000481851
+000000474283
+000000136245
+000000479769
+000000565405
+000000331541
+000000120285
+000000087458
+000000506582
+000000504248
+000000426377
+000000193031
+000000140545
+000000432064
+000000421254
+000000483855
+000000068125
+000000058123
+000000460408
+000000158497
+000000163602
+000000261344
+000000312435
+000000383348
+000000160276
+000000270074
+000000537890
+000000342715
+000000371822
+000000574066
+000000295776
+000000372022
+000000055466
+000000065336
+000000187424
+000000491084
+000000504030
+000000405400
+000000262159
+000000539089
+000000246530
+000000438479
+000000302432
+000000113244
+000000266487
+000000089906
+000000352377
+000000075557
+000000285800
+000000576695
+000000128932
+000000199390
+000000486972
+000000290974
+000000166762
+000000386414
+000000377416
+000000310972
+000000543203
+000000172669
+000000571513
+000000135125
+000000492137
+000000251988
+000000425473
+000000143783
+000000542202
+000000514440
+000000325486
+000000552585
+000000126127
+000000279386
+000000176728
+000000026108
+000000268742
+000000563514
+000000197155
+000000452566
+000000442443
+000000558813
+000000419334
+000000483611
+000000037367
+000000167092
+000000557357
+000000532548
+000000181506
+000000320403
+000000414236
+000000192631
+000000285748
+000000473779
+000000354278
+000000417455
+000000508990
+000000452412
+000000351218
+000000085856
+000000369128
+000000135071
+000000493375
+000000200794
+000000125286
+000000394756
+000000519836
+000000236174
+000000253049
+000000049738
+000000264058
+000000165609
+000000403558
+000000145101
+000000126943
+000000454644
+000000198752
+000000379409
+000000450963
+000000439374
+000000000714
+000000390757
+000000566697
+000000576030
+000000336770
+000000231768
+000000447087
+000000256220
+000000499957
+000000070710
+000000026611
+000000064308
+000000065716
+000000311997
+000000571544
+000000018571
+000000332069
+000000306313
+000000084259
+000000039628
+000000155892
+000000401140
+000000067587
+000000482626
+000000008583
+000000148968
+000000457656
+000000308703
+000000381112
+000000469009
+000000008922
+000000295887
+000000241836
+000000451131
+000000576638
+000000569101
+000000489029
+000000302071
+000000373748
+000000547662
+000000265225
+000000388066
+000000370417
+000000018414
+000000372862
+000000573277
+000000255770
+000000259354
+000000187675
+000000244754
+000000111348
+000000027466
+000000333807
+000000561394
+000000111878
+000000201270
+000000554408
+000000490670
+000000496766
+000000421471
+000000491269
+000000367716
+000000044878
+000000418968
+000000155739
+000000297108
+000000345476
+000000146186
+000000324443
+000000255279
+000000475007
+000000110431
+000000130030
+000000197407
+000000462304
+000000264127
+000000004125
+000000346093
+000000567389
+000000204052
+000000368117
+000000468615
+000000568378
+000000275028
+000000107109
+000000322822
+000000470414
+000000128607
+000000406557
+000000021202
+000000319005
+000000399516
+000000519598
+000000111702
+000000369770
+000000078800
+000000295433
+000000405004
+000000187963
+000000072898
+000000069496
+000000182096
+000000075846
+000000169197
+000000205125
+000000082122
+000000331093
+000000152632
+000000014446
+000000540342
+000000020063
+000000544782
+000000066518
+000000209176
+000000144330
+000000181443
+000000394036
+000000188514
+000000329141
+000000476383
+000000542509
+000000120585
+000000039926
+000000575816
+000000037725
+000000096901
+000000154279
+000000023378
+000000127304
+000000564812
+000000431526
+000000350961
+000000494684
+000000070657
+000000274213
+000000044913
+000000245996
+000000041565
+000000184879
+000000013140
+000000105113
+000000528875
+000000369379
+000000502877
+000000206685
+000000000138
+000000317464
+000000357771
+000000245371
+000000123330
+000000425400
+000000349212
+000000383163
+000000283881
+000000482525
+000000056250
+000000347115
+000000512912
+000000151975
+000000207980
+000000373848
+000000374451
+000000097844
+000000336839
+000000208718
+000000504158
+000000118237
+000000166126
+000000389190
+000000144202
+000000465220
+000000527866
+000000301147
+000000226170
+000000355110
+000000435046
+000000380089
+000000412592
+000000093411
+000000246382
+000000175033
+000000003442
+000000505625
+000000023544
+000000052502
+000000391403
+000000114341
+000000243645
+000000497856
+000000573576
+000000166056
+000000255181
+000000353275
+000000311066
+000000104865
+000000271548
+000000037210
+000000168522
+000000384261
+000000221763
+000000520341
+000000160944
+000000002217
+000000123136
+000000166575
+000000462811
+000000353186
+000000358255
+000000315434
+000000085353
+000000526433
+000000270186
+000000312212
+000000025765
+000000140513
+000000233873
+000000506898
+000000534716
+000000265839
+000000078200
+000000200483
+000000289889
+000000547227
+000000050994
+000000210267
+000000475441
+000000030674
+000000222047
+000000366702
+000000488894
+000000322735
+000000396029
+000000559358
+000000492069
+000000315517
+000000023309
+000000213534
+000000155743
+000000460099
+000000101761
+000000305414
+000000409042
+000000111432
+000000111549
+000000216685
+000000426053
+000000132306
+000000406657
+000000025535
+000000145199
+000000532107
+000000435328
+000000463495
+000000129566
+000000297639
+000000516214
+000000195916
+000000058731
+000000124516
+000000490857
+000000009452
+000000442197
+000000352841
+000000050239
+000000426309
+000000214024
+000000407864
+000000047451
+000000475258
+000000304827
+000000350134
+000000218984
+000000341894
+000000192655
+000000410305
+000000293944
+000000230268
+000000361866
+000000493300
+000000035094
+000000177193
+000000319543
+000000187752
+000000018513
+000000010466
+000000083738
+000000193148
+000000487256
+000000130966
+000000397269
+000000256223
+000000318990
+000000448854
+000000306095
+000000121152
+000000027216
+000000060641
+000000246145
+000000076872
+000000278923
+000000342159
+000000455506
+000000573931
+000000129187
+000000480790
+000000575911
+000000346121
+000000333746
+000000375980
+000000148634
+000000457860
+000000502089
+000000197609
+000000521964
+000000379077
+000000257327
+000000268071
+000000397075
+000000185117
+000000124428
+000000289031
+000000523374
+000000069532
+000000058674
+000000317323
+000000466570
+000000406976
+000000334995
+000000222426
+000000516791
+000000382641
+000000285236
+000000363885
+000000109046
+000000107607
+000000284383
+000000121016
+000000552112
+000000021001
+000000431915
+000000324448
+000000082468
+000000367835
+000000021138
+000000473712
+000000464321
+000000219121
+000000502422
+000000380477
+000000539507
+000000580631
+000000397527
+000000254360
+000000016377
+000000092464
+000000573456
+000000170976
+000000526804
+000000315232
+000000219657
+000000487295
+000000093639
+000000027298
+000000545385
+000000296892
+000000072887
+000000143003
+000000363341
+000000259951
+000000211381
+000000178382
+000000519460
+000000065427
+000000526896
+000000054490
+000000181007
+000000418175
+000000498138
+000000165955
+000000323149
+000000478859
+000000489183
+000000485926
+000000256003
+000000372294
+000000581715
+000000226517
+000000365168
+000000104381
+000000472639
+000000532403
+000000024498
+000000272188
+000000244853
+000000253699
+000000395998
+000000491098
+000000062209
+000000560020
+000000539158
+000000357169
+000000505933
+000000167355
+000000537685
+000000229541
+000000413206
+000000133314
+000000194140
+000000324266
+000000253863
+000000528738
+000000094118
+000000489072
+000000134194
+000000458778
+000000421562
+000000489117
+000000421469
+000000355430
+000000106878
+000000568281
+000000294236
+000000394595
+000000335233
+000000095349
+000000168832
+000000226527
+000000226220
+000000187282
+000000222444
+000000105040
+000000543182
+000000524130
+000000038090
+000000455381
+000000369778
+000000283631
+000000374171
+000000329748
+000000102320
+000000201318
+000000145313
+000000211294
+000000401838
+000000229131
+000000402183
+000000104541
+000000215581
+000000169448
+000000394211
+000000441169
+000000560818
+000000235699
+000000072989
+000000424039
+000000146465
+000000430940
+000000029709
+000000127084
+000000359968
+000000164186
+000000310242
+000000467959
+000000056668
+000000411155
+000000497731
+000000372673
+000000114142
+000000060180
+000000443887
+000000474003
+000000360589
+000000530047
+000000487194
+000000259484
+000000138137
+000000437852
+000000469558
+000000489475
+000000169026
+000000492371
+000000316157
+000000546846
+000000366485
+000000008785
+000000097194
+000000264016
+000000093535
+000000250164
+000000157726
+000000166678
+000000472133
+000000505033
+000000218405
+000000410622
+000000072935
+000000428407
+000000263008
+000000413115
+000000276387
+000000226267
+000000169991
+000000269799
+000000573973
+000000470691
+000000106356
+000000048037
+000000242644
+000000108315
+000000147526
+000000075325
+000000248221
+000000042865
+000000453785
+000000535808
+000000321690
+000000392584
+000000544687
+000000386799
+000000459084
+000000424161
+000000244878
+000000090882
+000000184773
+000000091262
+000000450558
+000000289460
+000000376422
+000000515755
+000000207625
+000000310181
+000000352553
+000000400571
+000000442536
+000000139327
+000000565367
+000000102466
+000000482234
+000000371927
+000000529864
+000000246041
+000000404243
+000000318189
+000000176985
+000000255368
+000000427493
+000000171742
+000000411851
+000000025145
+000000160085
+000000349237
+000000221478
+000000027146
+000000146388
+000000087743
+000000472617
+000000372937
+000000178671
+000000127129
+000000555387
+000000089884
+000000384698
+000000096339
+000000553039
+000000471822
+000000116444
+000000136599
+000000335733
+000000341070
+000000471497
+000000303387
+000000371157
+000000521205
+000000000312
+000000464737
+000000572307
+000000098304
+000000359569
+000000493459
+000000299039
+000000098629
+000000385658
+000000097892
+000000340155
+000000409050
+000000138207
+000000432877
+000000136181
+000000045181
+000000530494
+000000070932
+000000133329
+000000300267
+000000359070
+000000471345
+000000161156
+000000531575
+000000197091
+000000088146
+000000319122
+000000132520
+000000562559
+000000433196
+000000092165
+000000089745
+000000040205
+000000079111
+000000499317
+000000203098
+000000194231
+000000095667
+000000420523
+000000331350
+000000094052
+000000100626
+000000029875
+000000174632
+000000050031
+000000137301
+000000447645
+000000507781
+000000364803
+000000544577
+000000141524
+000000487824
+000000060126
+000000345040
+000000306249
+000000339815
+000000065358
+000000282229
+000000302019
+000000581501
+000000562328
+000000131162
+000000445906
+000000401907
+000000260716
+000000217378
+000000439423
+000000339100
+000000470521
+000000304815
+000000273561
+000000550298
+000000227960
+000000513573
+000000208288
+000000285074
+000000527464
+000000321089
+000000431154
+000000367615
+000000236484
+000000008691
+000000200654
+000000480407
+000000137595
+000000208589
+000000220843
+000000420750
+000000473571
+000000121184
+000000422152
+000000571031
+000000174932
+000000383640
+000000350953
+000000232375
+000000271888
+000000487310
+000000496294
+000000477580
+000000277795
+000000400625
+000000359200
+000000522312
+000000251531
+000000222408
+000000516458
+000000467675
+000000303708
+000000252610
+000000321969
+000000495681
+000000137118
+000000166130
+000000484090
+000000183445
+000000070122
+000000322897
+000000556817
+000000348056
+000000065884
+000000127866
+000000462404
+000000351967
+000000498537
+000000485532
+000000296931
+000000351210
+000000188311
+000000410908
+000000197029
+000000466262
+000000252617
+000000195317
+000000326264
+000000388768
+000000016243
+000000043190
+000000428214
+000000473720
+000000222831
+000000189330
+000000076856
+000000467089
+000000346302
+000000015085
+000000163081
+000000006721
+000000027452
+000000115156
+000000428266
+000000530600
+000000344807
+000000237954
+000000367509
+000000311965
+000000560311
+000000522315
+000000201670
+000000266038
+000000327551
+000000433156
+000000521370
+000000270284
+000000045558
+000000221400
+000000124182
+000000340893
+000000490317
+000000262172
+000000128373
+000000039659
+000000512013
+000000104309
+000000498007
+000000075886
+000000068331
+000000017921
+000000513241
+000000464339
+000000291039
+000000224740
+000000534849
+000000476080
+000000050810
+000000014766
+000000185373
+000000283863
+000000461963
+000000166533
+000000323483
+000000065465
+000000237476
+000000391588
+000000184210
+000000535050
+000000175743
+000000023821
+000000248919
+000000319795
+000000579846
+000000572978
+000000303668
+000000331688
+000000450856
+000000162677
+000000367899
+000000224243
+000000320707
+000000186737
+000000506146
+000000389065
+000000057068
+000000403325
+000000474675
+000000371587
+000000463309
+000000009231
+000000448951
+000000435569
+000000442441
+000000082716
+000000512123
+000000495677
+000000531910
+000000293851
+000000311488
+000000105008
+000000287998
+000000381257
+000000496918
+000000569602
+000000083565
+000000128256
+000000165639
+000000115404
+000000101785
+000000002621
+000000415901
+000000570938
+000000393814
+000000052835
+000000007139
+000000148034
+000000283382
+000000053208
+000000157153
+000000363326
+000000435218
+000000136212
+000000459361
+000000356733
+000000229975
+000000474817
+000000561622
+000000509534
+000000315790
+000000273436
+000000194620
+000000300216
+000000490598
+000000089792
+000000269458
+000000130545
+000000151892
+000000430759
+000000357812
+000000079465
+000000341411
+000000460091
+000000449726
+000000463327
+000000323507
+000000122959
+000000356213
+000000435882
+000000125683
+000000562875
+000000511461
+000000168725
+000000314139
+000000580027
+000000198943
+000000342707
+000000520610
+000000057868
+000000485342
+000000074533
+000000320374
+000000197689
+000000454907
+000000354938
+000000247984
+000000545867
+000000253665
+000000251246
+000000571366
+000000520405
+000000022014
+000000049801
+000000559151
+000000239555
+000000137861
+000000448662
+000000430731
+000000444694
+000000036262
+000000137573
+000000253764
+000000196064
+000000187537
+000000531958
+000000121530
+000000018333
+000000387748
+000000081826
+000000225704
+000000556956
+000000346938
+000000211909
+000000058640
+000000020289
+000000198255
+000000286932
+000000038026
+000000249810
+000000548953
+000000524518
+000000145623
+000000002093
+000000542060
+000000059540
+000000097964
+000000423782
+000000373641
+000000034975
+000000568531
+000000153879
+000000359897
+000000250607
+000000144951
+000000494895
+000000038274
+000000065258
+000000176174
+000000226559
+000000198621
+000000515527
+000000404388
+000000494970
+000000344920
+000000051369
+000000230582
+000000077402
+000000444670
+000000539071
+000000153506
+000000123855
+000000109390
+000000220471
+000000199688
+000000432510
+000000462953
+000000359239
+000000231392
+000000097238
+000000565886
+000000036326
+000000190156
+000000533364
+000000320893
+000000433705
+000000071563
+000000159320
+000000157876
+000000567693
+000000193781
+000000478105
+000000332463
+000000087890
+000000559733
+000000027727
+000000529069
+000000471413
+000000137583
+000000424632
+000000032301
+000000367951
+000000369721
+000000386788
+000000471504
+000000336445
+000000059454
+000000110034
+000000370748
+000000223671
+000000271117
+000000392394
+000000218982
+000000230449
+000000010800
+000000490471
+000000212331
+000000464622
+000000057999
+000000086875
+000000481648
+000000227540
+000000103018
+000000357391
+000000427471
+000000301045
+000000430148
+000000273324
+000000553129
+000000113293
+000000301646
+000000314602
+000000519482
+000000436265
+000000362371
+000000560898
+000000118089
+000000168999
+000000549366
+000000243251
+000000268586
+000000415646
+000000000599
+000000260721
+000000186182
+000000551718
+000000275271
+000000021361
+000000050725
+000000172265
+000000450457
+000000483179
+000000154202
+000000301956
+000000426629
+000000261758
+000000108156
+000000542488
+000000504152
+000000521712
+000000355568
+000000560152
+000000147778
+000000048910
+000000093314
+000000018531
+000000104739
+000000514806
+000000166338
+000000267284
+000000081484
+000000257786
+000000291589
+000000297620
+000000077648
+000000404750
+000000187952
+000000263503
+000000307299
+000000347925
+000000408542
+000000044277
+000000274422
+000000577065
+000000358620
+000000570608
+000000358653
+000000468619
+000000520256
+000000512630
+000000556030
+000000086468
+000000019013
+000000491623
+000000392219
+000000321217
+000000031980
+000000253785
+000000111211
+000000490986
+000000497207
+000000309135
+000000381382
+000000554341
+000000106440
+000000465359
+000000024095
+000000166296
+000000437967
+000000474964
+000000354746
+000000555356
+000000528748
+000000324442
+000000340065
+000000509468
+000000326293
+000000168260
+000000077697
+000000581177
+000000502620
+000000430238
+000000390518
+000000182385
+000000455808
+000000140850
+000000235652
+000000554145
+000000071726
+000000293012
+000000323468
+000000435475
+000000146656
+000000324450
+000000349695
+000000341035
+000000336452
+000000286774
+000000258823
+000000037743
+000000276069
+000000241919
+000000328494
+000000462908
+000000070688
+000000391175
+000000058838
+000000552901
+000000068377
+000000376767
+000000245997
+000000298691
+000000502749
+000000363308
+000000135748
+000000041984
+000000318044
+000000215221
+000000522462
+000000073494
+000000160421
+000000214133
+000000179558
+000000056036
+000000006936
+000000263714
+000000361888
+000000423356
+000000475244
+000000426205
+000000575228
+000000454862
+000000199354
+000000475316
+000000425135
+000000580579
+000000457068
+000000138124
+000000334470
+000000332690
+000000456690
+000000051334
+000000154306
+000000199855
+000000166087
+000000530201
+000000262092
+000000229596
+000000411138
+000000147267
+000000565582
+000000071855
+000000074555
+000000124232
+000000461701
+000000429833
+000000508209
+000000459136
+000000123642
+000000565220
+000000505386
+000000148044
+000000092315
+000000370138
+000000247034
+000000021048
+000000577884
+000000257021
+000000260942
+000000347267
+000000515106
+000000148286
+000000074942
+000000189774
+000000485161
+000000545727
+000000210065
+000000488390
+000000248319
+000000461522
+000000070502
+000000542715
+000000268356
+000000274170
+000000531499
+000000392062
+000000158028
+000000066943
+000000359853
+000000409108
+000000291509
+000000198620
+000000199575
+000000099968
+000000561326
+000000543494
+000000103710
+000000142413
+000000263434
+000000232341
+000000146917
+000000310546
+000000224111
+000000472621
+000000572443
+000000487528
+000000203163
+000000198610
+000000387517
+000000161578
+000000009262
+000000490872
+000000283945
+000000023731
+000000221446
+000000124812
+000000159198
+000000214608
+000000321942
+000000364176
+000000389006
+000000460068
+000000474031
+000000520696
+000000421560
+000000245503
+000000034915
+000000483375
+000000561681
+000000325154
+000000477831
+000000538744
+000000480712
+000000427606
+000000075285
+000000517777
+000000243066
+000000342100
+000000014880
+000000211164
+000000321403
+000000363247
+000000552432
+000000580693
+000000282523
+000000281351
+000000551998
+000000529087
+000000357992
+000000461939
+000000024045
+000000343225
+000000466332
+000000398799
+000000022518
+000000211317
+000000048895
+000000298172
+000000470318
+000000263913
+000000057708
+000000384844
+000000259233
+000000444626
+000000381629
+000000271122
+000000494079
+000000371255
+000000429061
+000000538844
+000000122688
+000000125539
+000000497030
+000000350067
+000000546854
+000000335415
+000000132793
+000000196131
+000000447328
+000000516880
+000000475645
+000000473728
+000000503826
+000000154867
+000000420721
+000000442043
+000000445573
+000000194288
+000000091463
+000000260099
+000000560309
+000000279322
+000000305075
+000000014954
+000000445537
+000000385939
+000000545135
+000000340036
+000000053569
+000000526321
+000000327713
+000000128254
+000000466580
+000000505038
+000000024845
+000000413346
+000000434850
+000000418623
+000000511050
+000000384823
+000000253715
+000000420971
+000000081964
+000000471342
+000000019980
+000000249682
+000000229142
+000000213203
+000000254706
+000000495304
+000000303986
+000000223687
+000000351528
+000000491558
+000000069952
+000000142622
+000000335935
+000000435425
+000000383282
+000000472318
+000000026598
+000000203472
+000000245662
+000000037394
+000000011156
+000000073973
+000000216601
+000000270688
+000000033111
+000000569769
+000000130324
+000000373219
+000000432150
+000000444682
+000000002759
+000000385185
+000000385667
+000000482037
+000000570947
+000000192931
+000000081042
+000000498125
+000000571964
+000000139008
+000000145188
+000000494346
+000000237844
+000000563391
+000000137109
+000000212842
+000000208868
+000000266385
+000000389308
+000000492816
+000000274574
+000000218647
+000000543350
+000000552136
+000000414045
+000000425201
+000000527845
+000000034757
+000000208971
+000000385786
+000000268403
+000000465591
+000000062337
+000000509379
+000000446354
+000000409918
+000000185041
+000000434145
+000000435270
+000000254169
+000000080634
+000000225604
+000000265074
+000000321879
+000000158378
+000000335507
+000000545160
+000000021718
+000000575307
+000000434148
+000000118378
+000000460944
+000000178157
+000000009050
+000000541856
+000000318657
+000000495457
+000000393125
+000000543805
+000000174896
+000000512968
+000000232790
+000000091909
+000000413879
+000000169701
+000000484103
+000000447374
+000000486376
+000000317962
+000000293304
+000000405882
+000000030947
+000000361959
+000000079472
+000000167393
+000000235751
+000000401642
+000000277072
+000000349447
+000000008749
+000000453010
+000000252147
+000000214048
+000000238029
+000000109752
+000000185819
+000000005115
+000000110603
+000000288378
+000000274682
+000000120811
+000000419908
+000000041186
+000000220823
+000000442585
+000000288986
+000000489834
+000000070062
+000000579043
+000000559497
+000000264406
+000000553081
+000000156891
+000000337594
+000000125853
+000000316001
+000000265771
+000000416125
+000000102885
+000000104792
+000000540508
+000000016741
+000000268195
+000000205560
+000000459164
+000000304973
+000000072832
+000000261780
+000000420615
+000000096046
+000000020418
+000000190667
+000000239933
+000000195840
+000000540257
+000000371928
+000000505384
+000000394478
+000000038465
+000000515878
+000000125821
+000000224396
+000000404996
+000000580296
+000000054607
+000000011719
+000000082511
+000000269477
+000000102754
+000000139258
+000000179154
+000000208267
+000000195401
+000000061524
+000000262323
+000000441292
+000000130875
+000000063879
+000000325783
+000000150367
+000000253263
+000000479935
+000000370739
+000000266696
+000000007220
+000000371280
+000000080566
+000000105762
+000000166565
+000000263723
+000000173532
+000000223833
+000000383213
+000000536252
+000000003703
+000000537982
+000000144760
+000000528579
+000000540959
+000000095390
+000000384993
+000000234091
+000000164183
+000000579539
+000000560967
+000000121659
+000000303257
+000000014504
+000000457214
+000000147618
+000000248132
+000000183224
+000000275795
+000000372723
+000000143370
+000000286639
+000000525904
+000000183217
+000000035097
+000000471731
+000000492383
+000000357865
+000000106148
+000000438341
+000000187099
+000000507535
+000000497099
+000000253219
+000000304949
+000000329245
+000000471905
+000000551344
+000000037479
+000000036277
+000000085268
+000000380115
+000000274632
+000000547752
+000000108669
+000000312220
+000000418385
+000000563404
+000000493197
+000000344308
+000000308512
+000000261022
+000000260399
+000000548906
+000000048428
+000000480950
+000000497788
+000000577934
+000000109216
+000000205854
+000000510915
+000000561931
+000000418333
+000000219544
+000000284464
+000000138653
+000000446126
+000000203616
+000000463555
+000000139403
+000000547155
+000000415218
+000000072995
+000000458617
+000000532747
+000000472348
+000000208513
+000000573830
+000000391460
+000000023954
+000000493843
+000000477226
+000000389255
+000000287443
+000000209092
+000000308555
+000000268067
+000000110797
+000000508292
+000000356052
+000000388413
+000000073837
+000000202935
+000000069750
+000000112235
+000000144884
+000000489497
+000000022621
+000000395169
+000000275270
+000000555797
+000000004830
+000000573330
+000000502112
+000000548278
+000000351686
+000000344229
+000000411282
+000000236593
+000000280731
+000000454203
+000000300189
+000000573733
+000000382310
+000000258270
+000000149078
+000000375464
+000000370117
+000000310053
+000000146965
+000000545611
+000000231868
+000000149817
+000000224777
+000000265331
+000000360020
+000000371945
+000000507769
+000000198227
+000000387909
+000000507908
+000000266976
+000000165492
+000000319785
+000000183088
+000000022178
+000000057091
+000000402858
+000000540567
+000000197805
+000000536322
+000000475743
+000000027326
+000000100542
+000000069364
+000000036544
+000000024136
+000000163180
+000000279331
+000000416026
+000000350310
+000000437102
+000000180123
+000000352985
+000000580957
+000000222209
+000000048143
+000000505903
+000000514251
+000000459942
+000000109434
+000000332131
+000000432799
+000000055630
+000000207573
+000000342703
+000000344924
+000000422534
+000000107903
+000000028349
+000000554217
+000000396578
+000000038256
+000000223612
+000000294421
+000000252839
+000000509679
+000000240434
+000000197177
+000000071631
+000000205338
+000000063845
+000000201723
+000000062292
+000000518664
+000000472521
+000000084964
+000000189813
+000000393638
+000000313240
+000000283190
+000000410278
+000000163559
+000000160232
+000000240441
+000000279777
+000000019151
+000000450741
+000000187647
+000000370130
+000000422939
+000000563647
+000000479427
+000000233959
+000000394065
+000000220688
+000000575625
+000000224371
+000000374628
+000000498967
+000000490741
+000000512920
+000000022545
+000000189998
+000000345499
+000000352080
+000000519894
+000000029575
+000000176249
+000000493828
+000000437093
+000000047882
+000000501047
+000000450275
+000000423768
+000000039770
+000000141015
+000000457981
+000000445371
+000000436027
+000000389011
+000000181627
+000000492051
+000000378618
+000000058281
+000000353504
+000000274684
+000000208712
+000000006447
+000000532988
+000000026665
+000000087363
+000000518455
+000000205025
+000000274629
+000000407372
+000000195639
+000000577128
+000000245006
+000000198436
+000000537944
+000000511642
+000000464744
+000000403535
+000000067297
+000000562740
+000000460022
+000000383382
+000000043944
+000000342478
+000000470935
+000000490511
+000000002244
+000000386936
+000000112915
+000000272203
+000000410262
+000000542084
+000000520950
+000000061925
+000000322762
+000000224548
+000000252411
+000000445556
+000000339453
+000000154301
+000000036409
+000000106053
+000000484364
+000000262608
+000000520902
+000000389487
+000000149295
+000000341635
+000000352214
+000000557187
+000000208535
+000000483941
+000000507362
+000000331224
+000000156098
+000000463132
+000000454325
+000000025421
+000000485529
+000000572604
+000000301296
+000000505510
+000000498532
+000000464814
+000000400555
+000000152693
+000000250966
+000000526013
+000000503943
+000000080397
+000000128644
+000000308895
+000000245317
+000000506587
+000000264320
+000000039499
+000000565303
+000000014073
+000000258909
+000000406543
+000000154167
+000000412853
+000000490264
+000000083986
+000000360408
+000000114175
+000000457481
+000000490615
+000000473196
+000000302643
+000000038920
+000000259198
+000000002296
+000000073904
+000000116250
+000000425859
+000000402027
+000000369331
+000000146751
+000000242248
+000000323421
+000000027162
+000000269843
+000000009172
+000000453313
+000000225891
+000000336313
+000000565311
+000000298699
+000000126642
+000000485628
+000000418565
+000000200503
+000000547636
+000000340215
+000000226713
+000000248232
+000000344196
+000000432997
+000000515022
+000000337435
+000000176462
+000000104930
+000000303148
+000000360902
+000000425690
+000000400443
+000000258027
+000000293705
+000000315702
+000000445411
+000000356746
+000000562737
+000000168531
+000000387153
+000000218283
+000000000486
+000000548545
+000000418181
+000000392015
+000000539141
+000000087232
+000000045721
+000000475318
+000000394550
+000000500136
+000000519578
+000000523978
+000000015073
+000000185646
+000000537720
+000000356921
+000000487359
+000000138514
+000000308117
+000000542138
+000000139748
+000000502860
+000000309519
+000000344491
+000000056341
+000000578454
+000000337949
+000000561577
+000000244671
+000000458388
+000000143040
+000000531765
+000000022636
+000000095418
+000000185193
+000000573815
+000000199003
+000000307932
+000000000071
+000000300993
+000000374102
+000000527597
+000000064708
+000000309710
+000000277481
+000000355492
+000000100435
+000000481298
+000000312199
+000000371977
+000000035435
+000000258073
+000000186298
+000000094678
+000000305409
+000000574901
+000000139796
+000000256841
+000000467873
+000000464498
+000000260844
+000000386189
+000000413551
+000000293254
+000000573300
+000000248337
+000000141108
+000000295059
+000000423172
+000000541314
+000000046503
+000000260464
+000000109036
+000000178901
+000000133279
+000000153561
+000000299930
+000000137918
+000000284867
+000000107482
+000000560809
+000000408532
+000000215132
+000000196460
+000000568315
+000000043876
+000000567706
+000000107656
+000000069816
+000000361351
+000000316677
+000000059641
+000000243231
+000000077760
+000000258528
+000000136575
+000000217874
+000000031812
+000000269386
+000000561199
+000000460863
+000000030357
+000000062075
+000000101456
+000000189351
+000000129821
+000000444233
+000000051894
+000000545428
+000000188805
+000000020517
+000000034304
+000000169154
+000000392618
+000000433536
+000000025853
+000000563403
+000000507536
+000000139721
+000000362123
+000000458166
+000000383406
+000000369735
+000000303388
+000000294451
+000000565116
+000000026733
+000000048850
+000000348924
+000000569001
+000000031345
+000000425359
+000000569088
+000000337161
+000000091966
+000000010145
+000000503210
+000000369820
+000000531327
+000000151830
+000000069136
+000000090753
+000000563040
+000000515212
+000000232661
+000000565514
+000000220777
+000000298475
+000000436383
+000000379314
+000000055429
+000000079230
+000000142276
+000000365121
+000000131075
+000000241868
+000000016669
+000000019637
+000000257270
+000000054401
+000000227316
+000000482753
+000000326454
+000000004396
+000000109011
+000000496059
+000000325423
+000000235916
+000000185296
+000000371595
+000000165855
+000000038902
+000000188434
+000000238272
+000000284884
+000000280242
+000000308849
+000000521869
+000000161356
+000000245481
+000000492606
+000000533253
+000000065986
+000000444869
+000000029285
+000000102996
+000000231087
+000000520736
+000000185464
+000000564074
+000000321753
+000000279391
+000000225943
+000000103676
+000000060970
+000000384909
+000000033297
+000000316293
+000000454690
+000000501723
+000000412571
+000000570423
+000000395230
+000000042585
+000000210997
+000000230915
+000000115132
+000000127914
+000000514424
+000000396909
+000000155714
+000000127377
+000000215847
+000000409099
+000000238184
+000000006473
+000000157465
+000000258538
+000000436199
+000000391031
+000000454963
+000000131019
+000000340327
+000000259519
+000000391656
+000000323475
+000000407972
+000000428079
+000000256154
+000000342325
+000000433853
+000000194193
+000000302579
+000000365911
+000000495460
+000000387906
+000000084548
+000000481391
+000000044934
+000000059479
+000000020650
+000000348825
+000000181849
+000000154289
+000000189842
+000000227453
+000000122560
+000000314801
+000000581021
+000000250578
+000000088925
+000000524905
+000000533898
+000000311882
+000000449781
+000000029342
+000000198312
+000000537188
+000000271063
+000000053616
+000000077444
+000000044776
+000000536183
+000000059996
+000000165231
+000000038046
+000000350506
+000000455275
+000000231984
+000000035696
+000000533250
+000000122099
+000000540763
+000000094502
+000000254134
+000000084493
+000000382997
+000000110829
+000000015274
+000000498729
+000000370765
+000000259910
+000000447877
+000000179476
+000000406926
+000000399235
+000000342380
+000000066976
+000000441415
+000000246981
+000000234785
+000000434316
+000000194459
+000000466599
+000000184396
+000000223540
+000000472823
+000000243857
+000000350253
+000000208163
+000000226555
+000000528112
+000000438973
+000000268130
+000000237510
+000000523854
+000000435795
+000000525208
+000000438802
+000000521357
+000000147291
+000000512982
+000000138270
+000000335781
+000000082833
+000000219158
+000000175593
+000000312627
+000000026227
+000000226679
+000000443589
+000000105291
+000000152461
+000000192529
+000000321394
+000000405843
+000000018425
+000000002849
+000000085904
+000000485397
+000000300615
+000000125168
+000000435902
+000000450217
+000000231657
+000000370899
+000000567278
+000000198969
+000000425077
+000000236316
+000000460446
+000000096244
+000000295558
+000000525118
+000000150908
+000000280157
+000000129771
+000000069405
+000000509563
+000000419271
+000000096251
+000000234277
+000000441605
+000000257382
+000000202886
+000000423508
+000000478609
+000000455345
+000000338558
+000000001869
+000000205916
+000000359592
+000000295626
+000000026547
+000000146541
+000000187279
+000000318006
+000000186868
+000000192620
+000000446152
+000000540564
+000000153723
+000000090192
+000000335362
+000000375130
+000000388136
+000000345245
+000000496431
+000000506327
+000000216371
+000000335085
+000000175991
+000000055873
+000000107188
+000000133146
+000000315944
+000000300705
+000000213675
+000000253733
+000000425052
+000000020818
+000000261349
+000000439518
+000000045325
+000000535902
+000000014049
+000000570022
+000000398494
+000000013414
+000000271577
+000000106644
+000000307480
+000000492016
+000000100711
+000000565641
+000000578005
+000000157249
+000000406295
+000000119444
+000000496093
+000000164855
+000000131128
+000000485080
+000000342060
+000000403180
+000000243773
+000000051028
+000000218142
+000000053136
+000000008602
+000000084996
+000000028343
+000000578652
+000000173080
+000000113326
+000000498368
+000000379987
+000000284043
+000000068422
+000000200638
+000000011505
+000000543840
+000000209604
+000000486964
+000000143984
+000000173208
+000000512840
+000000178415
+000000381463
+000000352398
+000000346752
+000000187724
+000000323387
+000000037620
+000000569652
+000000066154
+000000512872
+000000399532
+000000312446
+000000070239
+000000077542
+000000343603
+000000573635
+000000509839
+000000574837
+000000481162
+000000408829
+000000099030
+000000569823
+000000153150
+000000127802
+000000094828
+000000529383
+000000125042
+000000302325
+000000034137
+000000030409
+000000463889
+000000564123
+000000386377
+000000000196
+000000034013
+000000337585
+000000167740
+000000144049
+000000561861
+000000186451
+000000286044
+000000027534
+000000423116
+000000020207
+000000311478
+000000085462
+000000065855
+000000336593
+000000549098
+000000150442
+000000229387
+000000508398
+000000367319
+000000323553
+000000313337
+000000238563
+000000211260
+000000564726
+000000161835
+000000419666
+000000580051
+000000414202
+000000240836
+000000140783
+000000220842
+000000314125
+000000556035
+000000121987
+000000477389
+000000036741
+000000441655
+000000082140
+000000044291
+000000526695
+000000572765
+000000119614
+000000360849
+000000164655
+000000202426
+000000572575
+000000223122
+000000332512
+000000452272
+000000246787
+000000181179
+000000402717
+000000191283
+000000238453
+000000462429
+000000050536
+000000182755
+000000518440
+000000261205
+000000113089
+000000130981
+000000424694
+000000537782
+000000118199
+000000116289
+000000170483
+000000426611
+000000529012
+000000056478
+000000412992
+000000213976
+000000091766
+000000450653
+000000265713
+000000105865
+000000417171
+000000070589
+000000185200
+000000557183
+000000198383
+000000351840
+000000581450
+000000448012
+000000263677
+000000018917
+000000047724
+000000099086
+000000288372
+000000148239
+000000478490
+000000452198
+000000490055
+000000200817
+000000482007
+000000521256
+000000225055
+000000368647
+000000476086
+000000195296
+000000187565
+000000468801
+000000012386
+000000274894
+000000523560
+000000138999
+000000315631
+000000192390
+000000410110
+000000009017
+000000516088
+000000430473
+000000140080
+000000217780
+000000015750
+000000280911
+000000400534
+000000054728
+000000014883
+000000211521
+000000260453
+000000283530
+000000488723
+000000039852
+000000331444
+000000533545
+000000253131
+000000027406
+000000232230
+000000398037
+000000518287
+000000088560
+000000073064
+000000158179
+000000527994
+000000309022
+000000199029
+000000341397
+000000298224
+000000031885
+000000127316
+000000484812
+000000138161
+000000179953
+000000521988
+000000109995
+000000496166
+000000536248
+000000472907
+000000503424
+000000082287
+000000545749
+000000382558
+000000488154
+000000451698
+000000267540
+000000561004
+000000023363
+000000218811
+000000131613
+000000061959
+000000030769
+000000017867
+000000384750
+000000016089
+000000210279
+000000250225
+000000270004
+000000390782
+000000421791
+000000544856
+000000347727
+000000524216
+000000285597
+000000225238
+000000010046
+000000395557
+000000022072
+000000403556
+000000026762
+000000112805
+000000528184
+000000572024
+000000221330
+000000241675
+000000267543
+000000019349
+000000121101
+000000460460
+000000140664
+000000533431
+000000277141
+000000329351
+000000148965
+000000185091
+000000046142
+000000004694
+000000138684
+000000143174
+000000246955
+000000134227
+000000256107
+000000202522
+000000039726
+000000160108
+000000560360
+000000453472
+000000041776
+000000439095
+000000523189
+000000284681
+000000086464
+000000470366
+000000174097
+000000143186
+000000318533
+000000501126
+000000517981
+000000497855
+000000227103
+000000006229
+000000434264
+000000284930
+000000354059
+000000550649
+000000034164
+000000098302
+000000558555
+000000114256
+000000113945
+000000535369
+000000454731
+000000076484
+000000363806
+000000294297
+000000389654
+000000181351
+000000318618
+000000388457
+000000089268
+000000358868
+000000244836
+000000417596
+000000010324
+000000523445
+000000024234
+000000566849
+000000237286
+000000201675
+000000025751
+000000467096
+000000490871
+000000510320
+000000572786
+000000282855
+000000159374
+000000142601
+000000071221
+000000113897
+000000152724
+000000245135
+000000463739
+000000334700
+000000010928
+000000292435
+000000093793
+000000559262
+000000022080
+000000549687
+000000246076
+000000370193
+000000438922
+000000131527
+000000021639
+000000444082
+000000412464
+000000228712
+000000343135
+000000264828
+000000532624
+000000183827
+000000242885
+000000220704
+000000049673
+000000539436
+000000102671
+000000008333
+000000060671
+000000010256
+000000323128
+000000380983
+000000496746
+000000535592
+000000218255
+000000252544
+000000092134
+000000065829
+000000569320
+000000002389
+000000539784
+000000407683
+000000174771
+000000252850
+000000434735
+000000344353
+000000236568
+000000380951
+000000163897
+000000003425
+000000548061
+000000330959
+000000026131
+000000459914
+000000219196
+000000057359
+000000281003
+000000383372
+000000559449
+000000184951
+000000232453
+000000414082
+000000036622
+000000370831
+000000209036
+000000368780
+000000391646
+000000579255
+000000447231
+000000473057
+000000165555
+000000009509
+000000461976
+000000379401
+000000482084
+000000517879
+000000513406
+000000566368
+000000236604
+000000043997
+000000380742
+000000402619
+000000021397
+000000007276
+000000523055
+000000462802
+000000161854
+000000291236
+000000014736
+000000221578
+000000070000
+000000454195
+000000418505
+000000484225
+000000517670
+000000365123
+000000350086
+000000539551
+000000203160
+000000561393
+000000012892
+000000173843
+000000178958
+000000116100
+000000118710
+000000151493
+000000343481
+000000019589
+000000490555
+000000000711
+000000168643
+000000207196
+000000115481
+000000382652
+000000292123
+000000181493
+000000352305
+000000399618
+000000029170
+000000525691
+000000089765
+000000245938
+000000529562
+000000326849
+000000330499
+000000206300
+000000181207
+000000411065
+000000326978
+000000392627
+000000423005
+000000257214
+000000145856
+000000244367
+000000082212
+000000176696
+000000006608
+000000044592
+000000269395
+000000470068
+000000077429
+000000378186
+000000358216
+000000349791
+000000297921
+000000081862
+000000396326
+000000050485
+000000056961
+000000376684
+000000574443
+000000540860
+000000428340
+000000538879
+000000239395
+000000464649
+000000365034
+000000484982
+000000117447
+000000207833
+000000258517
+000000092207
+000000035401
+000000525615
+000000231253
+000000220270
+000000570981
+000000045153
+000000060792
+000000231905
+000000564926
+000000415787
+000000163928
+000000070415
+000000146503
+000000242717
+000000406601
+000000281394
+000000355450
+000000254304
+000000332537
+000000533261
+000000418070
+000000509733
+000000494583
+000000021384
+000000337185
+000000278961
+000000358586
+000000577283
+000000225537
+000000032625
+000000312494
+000000461172
+000000036914
+000000576011
+000000237077
+000000370258
+000000081787
+000000485236
+000000020164
+000000489743
+000000259417
+000000032039
+000000344875
+000000340943
+000000173379
+000000054386
+000000542255
+000000128337
+000000337479
+000000298067
+000000112865
+000000021076
+000000027935
+000000060167
+000000009127
+000000248833
+000000011643
+000000371489
+000000325992
+000000336517
+000000011294
+000000062552
+000000399887
+000000128612
+000000348348
+000000162414
+000000099311
+000000249309
+000000269287
+000000222266
+000000187465
+000000202931
+000000399297
+000000305975
+000000093809
+000000069670
+000000258113
+000000369594
+000000521634
+000000578821
+000000340422
+000000133200
+000000415434
+000000497733
+000000038186
+000000253170
+000000462062
+000000517018
+000000135866
+000000167622
+000000406230
+000000125242
+000000465530
+000000436564
+000000339228
+000000113045
+000000311067
+000000381914
+000000290259
+000000447688
+000000355904
+000000426548
+000000513690
+000000338864
+000000473475
+000000076522
+000000414156
+000000109224
+000000121112
+000000526972
+000000190216
+000000509269
+000000066348
+000000059882
+000000176732
+000000467187
+000000138258
+000000130651
+000000236629
+000000286019
+000000257847
+000000081317
+000000378149
+000000394900
+000000184184
+000000559051
+000000089225
+000000264033
+000000402639
+000000478375
+000000450117
+000000356836
+000000493316
+000000402969
+000000238562
+000000010229
+000000239801
+000000040201
+000000217272
+000000086839
+000000542777
+000000052282
+000000037044
+000000029345
+000000567013
+000000151583
+000000519683
+000000528080
+000000547769
+000000360660
+000000379129
+000000365479
+000000136235
+000000305703
+000000527720
+000000147736
+000000438567
+000000444235
+000000478090
+000000509986
+000000291980
+000000065135
+000000094359
+000000503294
+000000159013
+000000037035
+000000176086
+000000134137
+000000083473
+000000520489
+000000452931
+000000144693
+000000533329
+000000089999
+000000536127
+000000232717
+000000484960
+000000425127
+000000150374
+000000156090
+000000489700
+000000332613
+000000477878
+000000032375
+000000048630
+000000531309
+000000013432
+000000148375
+000000112757
+000000504980
+000000185474
+000000379502
+000000183658
+000000023448
+000000505657
+000000543192
+000000181947
+000000085647
+000000257196
+000000072233
+000000187495
+000000519649
+000000570755
+000000021698
+000000066960
+000000238639
+000000454649
+000000450959
+000000246999
+000000457394
+000000352835
+000000133485
+000000301405
+000000238700
+000000498319
+000000446088
+000000163076
+000000163879
+000000065564
+000000371871
+000000338949
+000000240506
+000000326445
+000000545659
+000000508440
+000000188712
+000000231374
+000000535455
+000000499166
+000000317532
+000000105620
+000000572889
+000000324710
+000000182673
+000000180055
+000000031597
+000000305564
+000000279608
+000000166043
+000000162598
+000000344521
+000000548795
+000000113150
+000000259572
+000000294330
+000000416718
+000000249357
+000000279775
+000000302052
+000000206387
+000000389168
+000000451818
+000000491502
+000000524991
+000000459770
+000000484353
+000000546517
+000000246245
+000000020972
+000000205563
+000000334216
+000000401532
+000000149188
+000000139953
+000000110325
+000000340611
+000000360126
+000000451337
+000000138155
+000000353412
+000000207898
+000000099115
+000000137704
+000000175604
+000000453178
+000000497528
+000000426824
+000000127997
+000000357255
+000000113701
+000000145841
+000000099844
+000000146805
+000000084651
+000000457521
+000000014764
+000000313555
+000000434771
+000000203455
+000000038999
+000000029449
+000000518510
+000000578894
+000000285612
+000000090317
+000000027104
+000000333555
+000000231325
+000000274665
+000000203843
+000000037563
+000000580041
+000000534808
+000000565691
+000000068697
+000000569529
+000000425762
+000000333087
+000000393719
+000000072715
+000000049713
+000000495902
+000000343551
+000000469816
+000000092323
+000000239654
+000000299411
+000000051476
+000000216241
+000000577808
+000000486732
+000000071322
+000000575753
+000000102724
+000000216194
+000000273371
+000000475808
+000000036618
+000000503660
+000000437209
+000000291348
+000000207509
+000000480991
+000000404050
+000000052038
+000000466207
+000000556202
+000000098480
+000000366254
+000000177977
+000000278291
+000000030001
+000000061826
+000000119909
+000000106901
+000000058841
+000000205986
+000000152987
+000000395007
+000000195538
+000000484007
+000000147303
+000000194820
+000000305215
+000000499157
+000000134223
+000000078554
+000000136681
+000000538309
+000000218454
+000000496613
+000000373857
diff --git a/datasets/voc_coco_ann/ImageSets/Main/voc_coco_2500_test.txt b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_2500_test.txt
new file mode 100644
index 0000000..85eaaa0
--- /dev/null
+++ b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_2500_test.txt
@@ -0,0 +1,7452 @@
+000001
+000002
+000003
+000004
+000006
+000008
+000010
+000011
+000013
+000014
+000015
+000018
+000022
+000025
+000027
+000028
+000029
+000031
+000037
+000038
+000040
+000043
+000045
+000049
+000053
+000054
+000055
+000056
+000057
+000058
+000059
+000062
+000067
+000068
+000069
+000070
+000071
+000074
+000075
+000076
+000079
+000080
+000082
+000084
+000085
+000086
+000087
+000088
+000090
+000092
+000094
+000096
+000097
+000098
+000100
+000103
+000105
+000106
+000108
+000111
+000114
+000115
+000116
+000119
+000124
+000126
+000127
+000128
+000135
+000136
+000137
+000139
+000144
+000145
+000148
+000149
+000151
+000152
+000155
+000157
+000160
+000166
+000167
+000168
+000172
+000175
+000176
+000178
+000179
+000181
+000182
+000183
+000185
+000186
+000188
+000191
+000195
+000196
+000197
+000199
+000201
+000202
+000204
+000205
+000206
+000212
+000213
+000216
+000217
+000223
+000226
+000227
+000230
+000231
+000234
+000237
+000238
+000239
+000240
+000243
+000247
+000248
+000252
+000253
+000254
+000255
+000258
+000260
+000261
+000264
+000265
+000267
+000271
+000272
+000273
+000274
+000277
+000279
+000280
+000281
+000283
+000284
+000286
+000287
+000290
+000291
+000292
+000293
+000295
+000297
+000299
+000300
+000301
+000309
+000310
+000313
+000314
+000315
+000316
+000319
+000324
+000326
+000327
+000330
+000333
+000335
+000339
+000341
+000342
+000345
+000346
+000348
+000350
+000351
+000353
+000356
+000357
+000358
+000360
+000361
+000362
+000364
+000365
+000366
+000368
+000369
+000371
+000375
+000376
+000377
+000378
+000383
+000384
+000385
+000386
+000388
+000389
+000390
+000392
+000393
+000397
+000398
+000399
+000401
+000402
+000405
+000409
+000410
+000412
+000413
+000414
+000415
+000418
+000421
+000422
+000423
+000425
+000426
+000429
+000432
+000434
+000436
+000437
+000440
+000441
+000442
+000444
+000445
+000447
+000449
+000451
+000452
+000453
+000455
+000456
+000457
+000458
+000465
+000466
+000467
+000471
+000472
+000473
+000475
+000478
+000479
+000481
+000485
+000487
+000488
+000490
+000493
+000495
+000497
+000502
+000504
+000505
+000506
+000507
+000510
+000511
+000512
+000517
+000521
+000527
+000529
+000532
+000533
+000534
+000536
+000538
+000539
+000542
+000546
+000547
+000548
+000551
+000553
+000556
+000557
+000558
+000560
+000561
+000562
+000566
+000567
+000568
+000569
+000570
+000571
+000572
+000573
+000574
+000575
+000576
+000578
+000580
+000584
+000585
+000586
+000587
+000593
+000594
+000595
+000596
+000600
+000602
+000603
+000604
+000606
+000607
+000611
+000614
+000615
+000616
+000617
+000618
+000621
+000623
+000624
+000627
+000629
+000630
+000631
+000634
+000636
+000638
+000639
+000640
+000641
+000642
+000643
+000644
+000646
+000649
+000650
+000651
+000652
+000655
+000658
+000659
+000662
+000664
+000665
+000666
+000668
+000669
+000670
+000673
+000674
+000678
+000679
+000681
+000683
+000687
+000691
+000692
+000693
+000696
+000697
+000698
+000701
+000703
+000704
+000706
+000708
+000715
+000716
+000718
+000719
+000721
+000722
+000723
+000724
+000725
+000727
+000732
+000734
+000735
+000736
+000737
+000741
+000743
+000744
+000745
+000747
+000749
+000751
+000757
+000758
+000759
+000762
+000765
+000766
+000769
+000773
+000775
+000778
+000779
+000781
+000783
+000784
+000785
+000788
+000789
+000790
+000792
+000795
+000798
+000801
+000803
+000807
+000809
+000811
+000813
+000817
+000819
+000821
+000824
+000825
+000833
+000835
+000836
+000837
+000838
+000839
+000840
+000841
+000844
+000846
+000852
+000853
+000856
+000858
+000861
+000864
+000866
+000869
+000870
+000873
+000875
+000877
+000881
+000883
+000884
+000886
+000890
+000891
+000893
+000894
+000897
+000901
+000905
+000907
+000909
+000910
+000913
+000914
+000916
+000922
+000924
+000925
+000927
+000928
+000930
+000932
+000933
+000938
+000939
+000940
+000941
+000942
+000944
+000945
+000952
+000953
+000955
+000956
+000957
+000959
+000960
+000961
+000963
+000968
+000969
+000970
+000974
+000975
+000976
+000978
+000979
+000981
+000983
+000984
+000985
+000986
+000988
+000990
+000992
+000994
+000995
+000998
+001000
+001003
+001005
+001006
+001007
+001013
+001016
+001019
+001020
+001021
+001022
+001023
+001025
+001026
+001029
+001030
+001031
+001032
+001033
+001034
+001035
+001037
+001038
+001039
+001040
+001044
+001046
+001047
+001048
+001049
+001051
+001054
+001055
+001058
+001059
+001063
+001065
+001067
+001070
+001075
+001076
+001080
+001081
+001085
+001086
+001087
+001088
+001089
+001090
+001094
+001095
+001096
+001098
+001099
+001100
+001103
+001105
+001108
+001111
+001114
+001115
+001116
+001117
+001118
+001120
+001122
+001123
+001126
+001128
+001131
+001132
+001133
+001134
+001135
+001138
+001139
+001141
+001146
+001150
+001153
+001155
+001157
+001159
+001162
+001163
+001165
+001167
+001169
+001173
+001177
+001178
+001179
+001180
+001181
+001183
+001188
+001189
+001190
+001193
+001195
+001196
+001197
+001198
+001202
+001208
+001210
+001213
+001216
+001217
+001218
+001219
+001220
+001222
+001223
+001227
+001228
+001232
+001235
+001238
+001242
+001243
+001244
+001245
+001246
+001249
+001251
+001252
+001253
+001255
+001256
+001257
+001261
+001262
+001264
+001267
+001271
+001275
+001276
+001278
+001280
+001282
+001283
+001285
+001291
+001295
+001296
+001297
+001300
+001301
+001302
+001303
+001305
+001306
+001307
+001308
+001313
+001317
+001318
+001319
+001320
+001321
+001322
+001328
+001329
+001331
+001335
+001336
+001338
+001339
+001340
+001342
+001344
+001347
+001349
+001351
+001353
+001354
+001355
+001356
+001357
+001358
+001359
+001363
+001366
+001367
+001368
+001369
+001370
+001372
+001373
+001374
+001376
+001377
+001379
+001380
+001381
+001382
+001389
+001391
+001392
+001394
+001396
+001398
+001399
+001401
+001403
+001407
+001410
+001411
+001412
+001415
+001416
+001417
+001419
+001422
+001423
+001424
+001425
+001428
+001429
+001431
+001433
+001435
+001437
+001438
+001440
+001446
+001447
+001448
+001449
+001452
+001454
+001456
+001458
+001459
+001461
+001462
+001469
+001471
+001473
+001474
+001476
+001477
+001478
+001482
+001487
+001489
+001491
+001495
+001496
+001500
+001502
+001503
+001505
+001506
+001507
+001508
+001511
+001513
+001516
+001518
+001519
+001520
+001525
+001527
+001530
+001533
+001534
+001535
+001538
+001540
+001542
+001546
+001547
+001549
+001550
+001551
+001552
+001558
+001560
+001562
+001564
+001566
+001567
+001568
+001569
+001570
+001572
+001573
+001574
+001575
+001578
+001581
+001583
+001584
+001585
+001587
+001589
+001591
+001592
+001596
+001599
+001600
+001601
+001602
+001605
+001606
+001609
+001613
+001615
+001616
+001619
+001620
+001621
+001623
+001624
+001625
+001626
+001629
+001631
+001634
+001635
+001637
+001639
+001641
+001644
+001645
+001646
+001648
+001652
+001655
+001656
+001657
+001658
+001659
+001660
+001663
+001664
+001665
+001666
+001667
+001668
+001670
+001671
+001672
+001674
+001679
+001681
+001687
+001692
+001694
+001695
+001696
+001697
+001698
+001700
+001701
+001702
+001703
+001704
+001705
+001706
+001709
+001710
+001712
+001715
+001716
+001719
+001720
+001722
+001728
+001731
+001735
+001736
+001737
+001740
+001742
+001743
+001744
+001745
+001748
+001751
+001753
+001757
+001760
+001762
+001763
+001764
+001767
+001769
+001770
+001773
+001774
+001776
+001779
+001781
+001783
+001786
+001788
+001790
+001791
+001792
+001794
+001796
+001798
+001802
+001803
+001804
+001805
+001808
+001811
+001812
+001813
+001814
+001815
+001817
+001819
+001820
+001822
+001823
+001824
+001826
+001829
+001831
+001835
+001838
+001839
+001844
+001846
+001848
+001850
+001851
+001852
+001856
+001857
+001859
+001863
+001865
+001866
+001867
+001868
+001869
+001871
+001873
+001874
+001876
+001879
+001880
+001883
+001884
+001885
+001886
+001889
+001890
+001891
+001893
+001895
+001897
+001900
+001905
+001908
+001909
+001910
+001912
+001913
+001914
+001916
+001917
+001919
+001921
+001923
+001924
+001925
+001926
+001929
+001935
+001939
+001942
+001943
+001946
+001947
+001949
+001951
+001953
+001955
+001956
+001957
+001959
+001961
+001965
+001966
+001967
+001968
+001969
+001973
+001974
+001975
+001979
+001983
+001984
+001986
+001987
+001988
+001990
+001991
+001992
+001993
+001994
+001996
+001997
+001998
+002003
+002005
+002007
+002008
+002009
+002010
+002013
+002014
+002016
+002017
+002018
+002026
+002028
+002029
+002031
+002032
+002033
+002035
+002038
+002040
+002041
+002044
+002046
+002048
+002050
+002052
+002053
+002057
+002059
+002060
+002062
+002065
+002066
+002071
+002072
+002073
+002074
+002075
+002076
+002077
+002078
+002079
+002080
+002081
+002084
+002085
+002087
+002089
+002092
+002093
+002097
+002100
+002103
+002105
+002106
+002107
+002110
+002111
+002113
+002115
+002118
+002119
+002121
+002122
+002123
+002127
+002128
+002130
+002131
+002133
+002137
+002138
+002141
+002143
+002144
+002147
+002148
+002149
+002150
+002154
+002157
+002159
+002160
+002161
+002162
+002164
+002167
+002168
+002173
+002175
+002177
+002185
+002188
+002189
+002195
+002198
+002200
+002203
+002204
+002205
+002206
+002207
+002210
+002211
+002216
+002217
+002222
+002223
+002225
+002227
+002229
+002230
+002231
+002232
+002235
+002236
+002239
+002240
+002242
+002243
+002245
+002246
+002250
+002252
+002254
+002258
+002262
+002264
+002269
+002271
+002274
+002275
+002282
+002283
+002286
+002289
+002292
+002294
+002295
+002296
+002297
+002298
+002299
+002301
+002303
+002304
+002309
+002312
+002313
+002314
+002316
+002317
+002319
+002322
+002325
+002326
+002327
+002331
+002336
+002338
+002339
+002341
+002344
+002346
+002349
+002351
+002353
+002356
+002357
+002358
+002360
+002363
+002365
+002370
+002379
+002380
+002381
+002383
+002386
+002388
+002389
+002390
+002394
+002395
+002396
+002397
+002398
+002399
+002400
+002402
+002406
+002408
+002409
+002412
+002414
+002416
+002418
+002421
+002422
+002424
+002426
+002428
+002429
+002430
+002431
+002432
+002434
+002438
+002440
+002446
+002447
+002449
+002451
+002453
+002455
+002457
+002463
+002464
+002467
+002469
+002473
+002474
+002475
+002482
+002484
+002485
+002486
+002487
+002488
+002489
+002495
+002498
+002499
+002503
+002506
+002507
+002509
+002510
+002511
+002515
+002516
+002517
+002521
+002522
+002526
+002527
+002528
+002530
+002531
+002532
+002535
+002536
+002538
+002541
+002543
+002548
+002550
+002551
+002552
+002553
+002556
+002557
+002560
+002562
+002568
+002570
+002573
+002574
+002575
+002576
+002577
+002580
+002581
+002582
+002583
+002587
+002588
+002591
+002592
+002596
+002597
+002601
+002602
+002604
+002607
+002608
+002610
+002612
+002614
+002616
+002617
+002619
+002620
+002622
+002623
+002624
+002626
+002628
+002629
+002630
+002631
+002638
+002639
+002640
+002642
+002644
+002650
+002651
+002652
+002654
+002655
+002656
+002660
+002661
+002663
+002665
+002671
+002672
+002673
+002674
+002676
+002679
+002681
+002685
+002686
+002687
+002688
+002692
+002694
+002698
+002700
+002701
+002703
+002705
+002707
+002708
+002711
+002712
+002716
+002719
+002720
+002724
+002725
+002726
+002728
+002729
+002731
+002733
+002736
+002739
+002740
+002742
+002743
+002746
+002748
+002750
+002752
+002753
+002754
+002756
+002758
+002761
+002764
+002768
+002769
+002770
+002771
+002773
+002777
+002780
+002781
+002787
+002788
+002789
+002790
+002792
+002793
+002797
+002799
+002802
+002805
+002806
+002808
+002809
+002811
+002813
+002814
+002818
+002819
+002821
+002822
+002823
+002824
+002825
+002828
+002829
+002830
+002831
+002832
+002837
+002839
+002840
+002843
+002846
+002849
+002850
+002851
+002852
+002853
+002856
+002857
+002860
+002861
+002862
+002863
+002865
+002871
+002872
+002874
+002876
+002877
+002878
+002882
+002883
+002885
+002887
+002888
+002890
+002892
+002894
+002895
+002897
+002898
+002900
+002902
+002903
+002904
+002905
+002907
+002908
+002909
+002911
+002918
+002920
+002921
+002922
+002923
+002925
+002926
+002927
+002928
+002929
+002930
+002936
+002945
+002948
+002949
+002950
+002951
+002955
+002959
+002961
+002964
+002968
+002970
+002971
+002972
+002973
+002974
+002979
+002980
+002981
+002982
+002983
+002985
+002991
+002993
+002996
+002997
+002998
+002999
+003001
+003006
+003010
+003012
+003014
+003016
+003018
+003019
+003020
+003022
+003025
+003026
+003029
+003030
+003033
+003035
+003036
+003037
+003040
+003041
+003043
+003046
+003048
+003049
+003050
+003052
+003055
+003059
+003060
+003062
+003067
+003068
+003069
+003070
+003071
+003073
+003075
+003076
+003079
+003080
+003081
+003084
+003087
+003091
+003095
+003096
+003097
+003099
+003101
+003104
+003109
+003111
+003113
+003114
+003115
+003119
+003123
+003125
+003128
+003130
+003131
+003132
+003136
+003139
+003141
+003143
+003144
+003148
+003151
+003152
+003153
+003156
+003158
+003160
+003166
+003167
+003168
+003171
+003172
+003173
+003174
+003179
+003180
+003182
+003187
+003190
+003191
+003192
+003193
+003196
+003197
+003198
+003201
+003203
+003206
+003208
+003209
+003212
+003215
+003217
+003220
+003221
+003222
+003224
+003225
+003226
+003227
+003230
+003232
+003234
+003235
+003237
+003238
+003241
+003245
+003246
+003248
+003249
+003251
+003252
+003257
+003263
+003264
+003265
+003266
+003267
+003268
+003275
+003276
+003277
+003278
+003281
+003283
+003286
+003287
+003288
+003289
+003291
+003295
+003297
+003298
+003302
+003304
+003305
+003306
+003309
+003310
+003312
+003314
+003315
+003317
+003318
+003319
+003321
+003322
+003323
+003324
+003326
+003328
+003329
+003332
+003333
+003334
+003340
+003341
+003342
+003345
+003346
+003347
+003348
+003352
+003353
+003357
+003358
+003361
+003364
+003366
+003368
+003371
+003372
+003375
+003378
+003381
+003383
+003384
+003385
+003387
+003388
+003389
+003393
+003394
+003399
+003400
+003402
+003405
+003409
+003411
+003414
+003418
+003423
+003426
+003427
+003428
+003431
+003432
+003434
+003437
+003438
+003440
+003442
+003445
+003446
+003447
+003448
+003454
+003456
+003457
+003459
+003460
+003463
+003467
+003471
+003472
+003473
+003474
+003475
+003476
+003478
+003479
+003480
+003481
+003482
+003483
+003485
+003486
+003488
+003490
+003494
+003495
+003498
+003501
+003502
+003503
+003504
+003505
+003507
+003512
+003513
+003514
+003515
+003517
+003520
+003523
+003526
+003527
+003531
+003532
+003533
+003534
+003535
+003538
+003540
+003541
+003542
+003543
+003544
+003545
+003547
+003552
+003553
+003557
+003558
+003559
+003560
+003561
+003562
+003563
+003568
+003569
+003570
+003571
+003572
+003573
+003574
+003578
+003579
+003581
+003582
+003583
+003584
+003590
+003591
+003592
+003595
+003598
+003600
+003601
+003602
+003607
+003610
+003612
+003613
+003615
+003616
+003617
+003619
+003624
+003626
+003630
+003631
+003633
+003637
+003641
+003643
+003647
+003649
+003650
+003652
+003653
+003659
+003661
+003665
+003666
+003668
+003670
+003672
+003676
+003677
+003680
+003682
+003683
+003686
+003687
+003689
+003692
+003693
+003697
+003701
+003702
+003707
+003710
+003712
+003715
+003716
+003718
+003719
+003720
+003723
+003724
+003725
+003726
+003728
+003730
+003731
+003733
+003734
+003736
+003737
+003738
+003739
+003741
+003742
+003744
+003745
+003746
+003747
+003755
+003756
+003757
+003761
+003762
+003764
+003765
+003766
+003768
+003769
+003770
+003771
+003775
+003776
+003777
+003778
+003782
+003785
+003787
+003789
+003794
+003795
+003799
+003800
+003801
+003802
+003804
+003805
+003810
+003812
+003813
+003815
+003816
+003819
+003822
+003823
+003825
+003829
+003831
+003832
+003833
+003836
+003839
+003840
+003841
+003842
+003843
+003850
+003851
+003852
+003853
+003854
+003858
+003862
+003864
+003867
+003870
+003873
+003875
+003878
+003880
+003881
+003882
+003883
+003884
+003888
+003892
+003893
+003894
+003896
+003897
+003900
+003901
+003902
+003903
+003904
+003906
+003908
+003909
+003910
+003914
+003916
+003917
+003920
+003922
+003925
+003927
+003928
+003929
+003930
+003931
+003933
+003934
+003938
+003940
+003942
+003943
+003944
+003950
+003951
+003952
+003955
+003958
+003959
+003962
+003964
+003967
+003968
+003972
+003975
+003976
+003977
+003978
+003980
+003981
+003982
+003985
+003989
+003995
+003999
+004000
+004001
+004002
+004004
+004006
+004007
+004018
+004021
+004022
+004024
+004026
+004027
+004029
+004030
+004032
+004036
+004038
+004040
+004041
+004042
+004043
+004044
+004045
+004048
+004049
+004050
+004053
+004054
+004055
+004056
+004059
+004061
+004062
+004063
+004064
+004065
+004068
+004070
+004071
+004072
+004074
+004078
+004079
+004080
+004081
+004083
+004084
+004086
+004088
+004090
+004094
+004096
+004097
+004098
+004099
+004101
+004103
+004104
+004107
+004109
+004112
+004114
+004115
+004116
+004118
+004119
+004123
+004124
+004125
+004126
+004127
+004128
+004130
+004132
+004134
+004139
+004144
+004147
+004151
+004153
+004154
+004155
+004156
+004157
+004159
+004160
+004161
+004162
+004165
+004166
+004167
+004172
+004173
+004175
+004176
+004177
+004179
+004180
+004181
+004182
+004183
+004184
+004187
+004188
+004197
+004198
+004199
+004202
+004206
+004207
+004208
+004210
+004211
+004213
+004214
+004216
+004217
+004218
+004219
+004222
+004225
+004226
+004227
+004233
+004234
+004235
+004236
+004238
+004240
+004243
+004245
+004248
+004249
+004250
+004251
+004252
+004254
+004260
+004261
+004262
+004266
+004267
+004268
+004276
+004277
+004278
+004282
+004285
+004288
+004289
+004290
+004294
+004297
+004299
+004301
+004302
+004305
+004306
+004308
+004309
+004311
+004313
+004314
+004316
+004317
+004319
+004320
+004324
+004328
+004330
+004332
+004334
+004335
+004336
+004337
+004340
+004342
+004343
+004344
+004348
+004350
+004353
+004355
+004357
+004358
+004362
+004363
+004366
+004373
+004374
+004375
+004377
+004378
+004381
+004382
+004383
+004385
+004388
+004393
+004394
+004395
+004398
+004399
+004400
+004401
+004402
+004403
+004406
+004407
+004408
+004410
+004412
+004413
+004414
+004415
+004416
+004417
+004418
+004419
+004420
+004422
+004425
+004426
+004427
+004428
+004431
+004435
+004440
+004442
+004443
+004444
+004445
+004447
+004448
+004449
+004451
+004453
+004454
+004456
+004458
+004460
+004461
+004462
+004465
+004467
+004469
+004472
+004473
+004475
+004476
+004477
+004478
+004480
+004482
+004483
+004485
+004486
+004489
+004491
+004492
+004497
+004501
+004503
+004504
+004505
+004506
+004511
+004513
+004515
+004516
+004521
+004522
+004523
+004525
+004529
+004531
+004533
+004534
+004536
+004538
+004541
+004543
+004545
+004546
+004547
+004550
+004554
+004556
+004557
+004559
+004560
+004561
+004564
+004567
+004568
+004569
+004572
+004573
+004575
+004577
+004578
+004580
+004582
+004583
+004586
+004589
+004590
+004593
+004594
+004596
+004598
+004599
+004602
+004603
+004608
+004610
+004613
+004614
+004615
+004616
+004617
+004619
+004620
+004621
+004624
+004629
+004633
+004635
+004637
+004638
+004639
+004640
+004641
+004642
+004645
+004646
+004650
+004657
+004658
+004659
+004661
+004663
+004664
+004665
+004666
+004667
+004668
+004669
+004670
+004677
+004678
+004680
+004681
+004684
+004688
+004690
+004695
+004696
+004697
+004698
+004700
+004703
+004704
+004709
+004711
+004712
+004713
+004716
+004717
+004720
+004721
+004724
+004725
+004726
+004728
+004729
+004730
+004731
+004733
+004734
+004736
+004738
+004739
+004740
+004741
+004744
+004745
+004749
+004751
+004752
+004755
+004756
+004757
+004758
+004759
+004762
+004763
+004764
+004765
+004766
+004767
+004769
+004771
+004772
+004774
+004775
+004778
+004780
+004781
+004784
+004787
+004791
+004795
+004798
+004800
+004802
+004803
+004804
+004806
+004807
+004809
+004810
+004811
+004813
+004817
+004819
+004820
+004821
+004822
+004824
+004827
+004829
+004833
+004835
+004838
+004843
+004844
+004845
+004847
+004851
+004853
+004854
+004855
+004858
+004860
+004861
+004862
+004864
+004865
+004870
+004871
+004874
+004875
+004877
+004880
+004881
+004883
+004884
+004887
+004888
+004889
+004891
+004892
+004893
+004894
+004899
+004900
+004901
+004904
+004906
+004908
+004909
+004914
+004915
+004917
+004918
+004919
+004920
+004921
+004922
+004923
+004924
+004925
+004927
+004930
+004932
+004933
+004934
+004937
+004940
+004941
+004942
+004944
+004945
+004947
+004949
+004952
+004957
+004959
+004964
+004965
+004969
+004970
+004971
+004975
+004978
+004979
+004980
+004981
+004988
+004989
+004993
+004996
+005000
+005002
+005005
+005008
+005009
+005010
+005011
+005012
+005013
+005015
+005017
+005019
+005021
+005022
+005025
+005030
+005031
+005034
+005035
+005038
+005040
+005041
+005043
+005044
+005046
+005048
+005049
+005050
+005051
+005053
+005059
+005060
+005066
+005069
+005070
+005074
+005075
+005076
+005080
+005082
+005083
+005087
+005088
+005089
+005091
+005092
+005095
+005096
+005098
+005099
+005100
+005103
+005105
+005106
+005109
+005112
+005113
+005115
+005117
+005118
+005119
+005120
+005123
+005125
+005126
+005127
+005132
+005133
+005137
+005139
+005140
+005141
+005142
+005147
+005148
+005149
+005151
+005152
+005154
+005155
+005157
+005158
+005162
+005163
+005164
+005165
+005166
+005167
+005170
+005172
+005174
+005178
+005180
+005182
+005184
+005187
+005188
+005192
+005193
+005194
+005196
+005197
+005198
+005200
+005201
+005204
+005205
+005206
+005207
+005211
+005213
+005216
+005218
+005221
+005225
+005226
+005227
+005228
+005232
+005233
+005234
+005235
+005237
+005238
+005240
+005241
+005243
+005247
+005249
+005250
+005251
+005252
+005255
+005256
+005261
+005265
+005266
+005271
+005272
+005275
+005276
+005277
+005279
+005280
+005282
+005284
+005286
+005287
+005289
+005291
+005294
+005295
+005296
+005299
+005300
+005301
+005302
+005308
+005309
+005313
+005316
+005317
+005321
+005322
+005323
+005324
+005329
+005330
+005332
+005333
+005334
+005335
+005339
+005341
+005342
+005347
+005353
+005354
+005356
+005357
+005359
+005361
+005362
+005364
+005366
+005372
+005375
+005376
+005377
+005381
+005382
+005386
+005390
+005392
+005394
+005399
+005400
+005401
+005402
+005403
+005409
+005411
+005412
+005415
+005422
+005425
+005426
+005427
+005428
+005432
+005435
+005437
+005442
+005443
+005444
+005446
+005447
+005449
+005452
+005456
+005458
+005459
+005460
+005462
+005463
+005464
+005466
+005468
+005472
+005473
+005474
+005476
+005477
+005479
+005480
+005482
+005484
+005488
+005490
+005491
+005492
+005493
+005494
+005495
+005498
+005500
+005501
+005502
+005503
+005504
+005505
+005506
+005512
+005513
+005516
+005520
+005523
+005525
+005528
+005529
+005532
+005533
+005534
+005537
+005538
+005540
+005543
+005545
+005546
+005548
+005551
+005553
+005555
+005556
+005557
+005558
+005560
+005561
+005562
+005564
+005565
+005567
+005569
+005570
+005571
+005572
+005575
+005578
+005580
+005581
+005587
+005589
+005594
+005595
+005596
+005597
+005598
+005602
+005604
+005607
+005610
+005612
+005616
+005617
+005619
+005621
+005622
+005623
+005626
+005627
+005628
+005632
+005633
+005634
+005635
+005638
+005642
+005643
+005646
+005649
+005650
+005651
+005656
+005659
+005661
+005663
+005665
+005666
+005667
+005670
+005671
+005673
+005675
+005677
+005678
+005681
+005683
+005684
+005688
+005689
+005690
+005691
+005692
+005694
+005698
+005703
+005706
+005707
+005708
+005709
+005711
+005712
+005717
+005720
+005721
+005722
+005724
+005725
+005726
+005727
+005733
+005734
+005737
+005739
+005744
+005745
+005746
+005748
+005750
+005751
+005753
+005754
+005758
+005759
+005763
+005766
+005767
+005770
+005771
+005772
+005774
+005775
+005776
+005777
+005778
+005785
+005787
+005792
+005793
+005795
+005797
+005798
+005800
+005801
+005802
+005804
+005807
+005808
+005809
+005810
+005816
+005820
+005822
+005823
+005827
+005832
+005833
+005834
+005835
+005837
+005842
+005844
+005846
+005847
+005848
+005849
+005855
+005857
+005858
+005862
+005865
+005866
+005869
+005870
+005871
+005872
+005876
+005880
+005882
+005883
+005886
+005887
+005890
+005891
+005892
+005896
+005898
+005900
+005902
+005904
+005907
+005913
+005915
+005916
+005921
+005922
+005924
+005925
+005926
+005927
+005929
+005931
+005932
+005933
+005934
+005935
+005936
+005937
+005939
+005941
+005942
+005943
+005944
+005945
+005946
+005949
+005950
+005953
+005955
+005957
+005958
+005959
+005962
+005965
+005966
+005967
+005969
+005972
+005973
+005974
+005976
+005977
+005978
+005982
+005986
+005987
+005993
+005994
+005997
+005999
+006002
+006003
+006006
+006007
+006008
+006010
+006013
+006014
+006015
+006016
+006017
+006019
+006021
+006022
+006024
+006031
+006032
+006034
+006036
+006037
+006039
+006040
+006044
+006047
+006048
+006049
+006050
+006051
+006052
+006053
+006054
+006056
+006057
+006059
+006060
+006063
+006064
+006068
+006072
+006075
+006076
+006077
+006080
+006081
+006082
+006083
+006085
+006086
+006087
+006090
+006092
+006093
+006094
+006099
+006101
+006102
+006106
+006109
+006110
+006112
+006113
+006114
+006115
+006116
+006118
+006119
+006121
+006122
+006126
+006127
+006132
+006137
+006138
+006142
+006143
+006144
+006145
+006147
+006149
+006152
+006154
+006155
+006157
+006160
+006164
+006165
+006167
+006168
+006169
+006173
+006178
+006182
+006186
+006191
+006192
+006193
+006194
+006195
+006197
+006199
+006200
+006204
+006205
+006207
+006211
+006213
+006217
+006226
+006227
+006228
+006231
+006232
+006237
+006239
+006242
+006244
+006245
+006246
+006248
+006253
+006255
+006256
+006257
+006263
+006265
+006266
+006268
+006271
+006273
+006274
+006278
+006280
+006283
+006287
+006288
+006292
+006293
+006294
+006297
+006298
+006302
+006303
+006307
+006308
+006310
+006311
+006312
+006313
+006315
+006316
+006317
+006322
+006324
+006326
+006327
+006328
+006331
+006332
+006333
+006334
+006336
+006340
+006342
+006343
+006345
+006347
+006354
+006356
+006358
+006359
+006360
+006361
+006364
+006365
+006368
+006370
+006372
+006373
+006376
+006378
+006379
+006380
+006383
+006384
+006386
+006388
+006389
+006390
+006393
+006394
+006397
+006399
+006401
+006402
+006403
+006405
+006406
+006407
+006408
+006410
+006412
+006413
+006414
+006415
+006416
+006420
+006422
+006423
+006426
+006431
+006432
+006435
+006439
+006441
+006446
+006451
+006452
+006453
+006454
+006457
+006460
+006461
+006464
+006467
+006469
+006471
+006477
+006478
+006479
+006481
+006485
+006487
+006489
+006490
+006491
+006493
+006494
+006496
+006498
+006500
+006502
+006504
+006505
+006508
+006510
+006511
+006513
+006514
+006516
+006517
+006518
+006521
+006522
+006525
+006526
+006527
+006528
+006531
+006533
+006535
+006537
+006539
+006540
+006541
+006544
+006545
+006546
+006552
+006554
+006555
+006557
+006558
+006559
+006561
+006563
+006566
+006567
+006568
+006571
+006573
+006574
+006577
+006579
+006580
+006581
+006582
+006586
+006589
+006590
+006591
+006592
+006594
+006596
+006598
+006600
+006601
+006604
+006607
+006608
+006613
+006614
+006615
+006616
+006620
+006623
+006624
+006629
+006630
+006633
+006634
+006639
+006640
+006641
+006642
+006644
+006646
+006649
+006650
+006651
+006653
+006655
+006656
+006659
+006662
+006663
+006665
+006669
+006672
+006675
+006676
+006680
+006683
+006685
+006686
+006688
+006691
+006692
+006693
+006700
+006701
+006705
+006710
+006711
+006712
+006713
+006715
+006716
+006717
+006720
+006721
+006723
+006724
+006728
+006729
+006732
+006733
+006737
+006741
+006742
+006743
+006744
+006745
+006746
+006749
+006750
+006752
+006754
+006756
+006757
+006758
+006763
+006764
+006767
+006770
+006771
+006774
+006775
+006776
+006778
+006779
+006780
+006785
+006787
+006788
+006790
+006791
+006792
+006793
+006795
+006796
+006798
+006801
+006804
+006807
+006809
+006811
+006812
+006815
+006816
+006817
+006818
+006820
+006823
+006826
+006830
+006831
+006832
+006834
+006837
+006843
+006846
+006851
+006853
+006854
+006856
+006857
+006861
+006863
+006870
+006871
+006872
+006873
+006875
+006877
+006879
+006881
+006882
+006885
+006888
+006889
+006890
+006891
+006894
+006895
+006897
+006898
+006901
+006902
+006904
+006905
+006906
+006907
+006913
+006915
+006920
+006921
+006923
+006925
+006926
+006927
+006928
+006929
+006936
+006937
+006938
+006941
+006942
+006946
+006951
+006954
+006955
+006957
+006960
+006961
+006964
+006967
+006969
+006970
+006973
+006974
+006975
+006977
+006978
+006979
+006980
+006982
+006984
+006985
+006986
+006991
+006992
+006993
+006996
+006997
+006998
+006999
+007000
+007001
+007005
+007010
+007012
+007013
+007014
+007015
+007017
+007019
+007024
+007026
+007027
+007028
+007030
+007032
+007034
+007037
+007041
+007043
+007044
+007047
+007051
+007053
+007055
+007057
+007060
+007061
+007063
+007066
+007067
+007069
+007076
+007081
+007082
+007083
+007085
+007087
+007091
+007094
+007096
+007098
+007099
+007102
+007103
+007106
+007107
+007110
+007111
+007112
+007115
+007116
+007118
+007119
+007120
+007124
+007126
+007127
+007131
+007134
+007135
+007136
+007137
+007142
+007143
+007145
+007151
+007155
+007156
+007157
+007158
+007160
+007161
+007164
+007169
+007170
+007171
+007173
+007175
+007176
+007178
+007179
+007181
+007183
+007186
+007188
+007190
+007192
+007195
+007196
+007198
+007199
+007201
+007202
+007203
+007206
+007207
+007209
+007218
+007220
+007221
+007225
+007226
+007228
+007229
+007231
+007232
+007233
+007235
+007237
+007238
+007239
+007240
+007242
+007246
+007248
+007251
+007252
+007253
+007254
+007255
+007257
+007262
+007264
+007265
+007267
+007268
+007269
+007272
+007273
+007277
+007278
+007281
+007282
+007286
+007287
+007288
+007290
+007291
+007293
+007301
+007303
+007304
+007306
+007307
+007309
+007310
+007312
+007313
+007315
+007316
+007317
+007319
+007320
+007321
+007324
+007326
+007328
+007331
+007332
+007333
+007335
+007337
+007338
+007339
+007340
+007341
+007342
+007345
+007347
+007348
+007349
+007352
+007353
+007354
+007355
+007357
+007358
+007360
+007362
+007364
+007366
+007367
+007368
+007371
+007377
+007378
+007379
+007380
+007382
+007384
+007386
+007387
+007391
+007392
+007393
+007395
+007397
+007399
+007400
+007401
+007402
+007403
+007404
+007405
+007406
+007407
+007409
+007412
+007415
+007418
+007420
+007423
+007426
+007428
+007429
+007430
+007434
+007440
+007441
+007442
+007444
+007447
+007450
+007452
+007453
+007455
+007456
+007459
+007462
+007463
+007464
+007469
+007471
+007472
+007473
+007476
+007478
+007485
+007487
+007488
+007492
+007494
+007495
+007496
+007499
+007500
+007501
+007502
+007504
+007505
+007507
+007508
+007509
+007510
+007512
+007514
+007515
+007516
+007518
+007520
+007522
+007529
+007531
+007532
+007534
+007539
+007541
+007542
+007545
+007548
+007549
+007550
+007552
+007553
+007554
+007556
+007557
+007560
+007561
+007562
+007564
+007567
+007569
+007573
+007574
+007577
+007580
+007581
+007582
+007583
+007584
+007587
+007588
+007589
+007591
+007593
+007595
+007596
+007597
+007598
+007599
+007602
+007604
+007607
+007608
+007609
+007610
+007613
+007616
+007617
+007620
+007623
+007625
+007627
+007628
+007630
+007632
+007634
+007635
+007636
+007638
+007641
+007643
+007644
+007645
+007646
+007648
+007651
+007652
+007658
+007659
+007660
+007661
+007665
+007669
+007674
+007676
+007681
+007684
+007686
+007689
+007690
+007693
+007695
+007698
+007700
+007701
+007703
+007706
+007707
+007708
+007710
+007711
+007714
+007716
+007717
+007719
+007722
+007725
+007726
+007728
+007730
+007733
+007734
+007737
+007738
+007739
+007741
+007744
+007747
+007750
+007752
+007755
+007756
+007757
+007759
+007761
+007764
+007766
+007769
+007770
+007771
+007774
+007778
+007780
+007782
+007783
+007784
+007785
+007787
+007788
+007789
+007792
+007794
+007796
+007797
+007800
+007801
+007802
+007804
+007805
+007806
+007807
+007808
+007811
+007816
+007817
+007818
+007822
+007823
+007825
+007827
+007828
+007829
+007830
+007832
+007835
+007837
+007839
+007842
+007844
+007846
+007848
+007849
+007850
+007851
+007852
+007858
+007860
+007861
+007862
+007866
+007867
+007870
+007871
+007874
+007875
+007879
+007880
+007881
+007882
+007887
+007888
+007891
+007892
+007893
+007894
+007895
+007896
+007903
+007904
+007906
+007907
+007912
+007913
+007917
+007918
+007922
+007927
+007929
+007930
+007934
+007936
+007937
+007938
+007941
+007942
+007944
+007945
+007948
+007949
+007951
+007952
+007955
+007957
+007960
+007961
+007962
+007965
+007966
+007967
+007969
+007972
+007973
+007975
+007977
+007978
+007981
+007982
+007983
+007985
+007986
+007988
+007989
+007990
+007992
+007993
+007994
+007995
+008000
+008003
+008006
+008007
+008010
+008011
+008013
+008014
+008015
+008016
+008018
+008020
+008021
+008022
+008025
+008027
+008028
+008030
+008034
+008035
+008038
+008039
+008041
+008045
+008046
+008047
+008050
+008052
+008054
+008055
+008056
+008058
+008059
+008065
+008066
+008070
+008071
+008073
+008074
+008077
+008078
+008080
+008081
+008088
+008089
+008090
+008092
+008094
+008097
+008099
+008102
+008104
+008109
+008110
+008111
+008113
+008114
+008118
+008119
+008120
+008123
+008124
+008126
+008128
+008129
+008131
+008133
+008134
+008135
+008136
+008143
+008145
+008146
+008147
+008148
+008149
+008152
+008153
+008154
+008155
+008156
+008157
+008158
+008161
+008162
+008165
+008167
+008170
+008172
+008176
+008178
+008179
+008181
+008182
+008183
+008184
+008185
+008187
+008192
+008193
+008194
+008195
+008196
+008198
+008201
+008205
+008206
+008207
+008210
+008212
+008214
+008215
+008217
+008219
+008221
+008227
+008228
+008230
+008231
+008233
+008234
+008237
+008238
+008239
+008240
+008242
+008243
+008245
+008246
+008247
+008249
+008255
+008256
+008257
+008259
+008264
+008265
+008266
+008267
+008270
+008271
+008273
+008274
+008276
+008277
+008278
+008283
+008286
+008287
+008288
+008289
+008290
+008291
+008298
+008303
+008304
+008305
+008308
+008309
+008314
+008321
+008324
+008325
+008328
+008330
+008331
+008333
+008334
+008337
+008339
+008340
+008343
+008344
+008347
+008348
+008350
+008352
+008353
+008354
+008356
+008357
+008358
+008361
+008362
+008363
+008366
+008367
+008369
+008371
+008373
+008375
+008377
+008378
+008379
+008380
+008382
+008383
+008389
+008392
+008393
+008394
+008395
+008396
+008399
+008400
+008401
+008402
+008404
+008405
+008406
+008407
+008408
+008411
+008412
+008414
+008417
+008418
+008419
+008420
+008421
+008428
+008431
+008432
+008435
+008436
+008439
+008440
+008441
+008446
+008447
+008448
+008451
+008455
+008457
+008458
+008459
+008460
+008463
+008464
+008469
+008471
+008473
+008474
+008476
+008479
+008480
+008481
+008486
+008487
+008488
+008489
+008490
+008491
+008493
+008496
+008497
+008500
+008501
+008504
+008505
+008507
+008508
+008510
+008511
+008515
+008516
+008520
+008525
+008527
+008528
+008531
+008532
+008537
+008538
+008539
+008540
+008543
+008544
+008545
+008546
+008547
+008548
+008551
+008552
+008554
+008555
+008560
+008561
+008563
+008565
+008566
+008567
+008569
+008570
+008571
+008574
+008575
+008577
+008578
+008579
+008580
+008583
+008589
+008590
+008591
+008593
+008594
+008597
+008598
+008599
+008600
+008603
+008605
+008609
+008611
+008613
+008614
+008616
+008619
+008622
+008623
+008625
+008626
+008627
+008629
+008630
+008631
+008632
+008634
+008637
+008640
+008641
+008642
+008643
+008646
+008648
+008649
+008650
+008651
+008652
+008656
+008657
+008658
+008659
+008660
+008661
+008662
+008664
+008666
+008668
+008669
+008671
+008672
+008673
+008674
+008675
+008677
+008678
+008679
+008681
+008682
+008684
+008685
+008686
+008689
+008693
+008694
+008696
+008697
+008700
+008703
+008704
+008705
+008707
+008708
+008711
+008712
+008714
+008715
+008719
+008721
+008724
+008726
+008729
+008734
+008735
+008736
+008737
+008740
+008743
+008745
+008746
+008751
+008754
+008758
+008761
+008762
+008763
+008765
+008767
+008774
+008777
+008778
+008779
+008780
+008781
+008782
+008785
+008786
+008787
+008788
+008789
+008791
+008792
+008795
+008797
+008798
+008800
+008802
+008803
+008804
+008807
+008808
+008812
+008816
+008818
+008820
+008821
+008824
+008825
+008827
+008828
+008829
+008830
+008832
+008834
+008839
+008842
+008844
+008845
+008846
+008850
+008851
+008852
+008853
+008855
+008857
+008860
+008861
+008863
+008864
+008866
+008868
+008869
+008870
+008875
+008877
+008881
+008882
+008887
+008889
+008893
+008894
+008895
+008896
+008897
+008898
+008899
+008901
+008902
+008903
+008904
+008906
+008907
+008908
+008910
+008912
+008915
+008916
+008918
+008922
+008924
+008925
+008928
+008934
+008935
+008937
+008938
+008941
+008945
+008946
+008947
+008949
+008950
+008952
+008954
+008956
+008957
+008959
+008963
+008964
+008972
+008974
+008977
+008981
+008984
+008986
+008990
+008991
+008992
+008993
+008994
+008996
+008998
+009001
+009003
+009008
+009009
+009010
+009011
+009012
+009013
+009014
+009017
+009021
+009023
+009025
+009026
+009028
+009030
+009031
+009033
+009038
+009040
+009041
+009043
+009044
+009046
+009047
+009050
+009052
+009054
+009055
+009056
+009057
+009061
+009062
+009065
+009067
+009069
+009070
+009071
+009074
+009075
+009076
+009077
+009081
+009082
+009083
+009084
+009088
+009090
+009092
+009093
+009095
+009096
+009097
+009101
+009102
+009103
+009104
+009107
+009109
+009110
+009111
+009115
+009118
+009119
+009120
+009122
+009124
+009125
+009127
+009130
+009132
+009134
+009135
+009137
+009139
+009140
+009142
+009143
+009145
+009146
+009149
+009152
+009154
+009156
+009158
+009164
+009165
+009167
+009169
+009170
+009171
+009172
+009176
+009182
+009183
+009188
+009190
+009198
+009199
+009201
+009203
+009204
+009206
+009207
+009210
+009211
+009216
+009217
+009219
+009220
+009222
+009223
+009225
+009226
+009228
+009229
+009231
+009232
+009233
+009234
+009235
+009237
+009240
+009241
+009243
+009248
+009253
+009256
+009257
+009258
+009260
+009261
+009262
+009263
+009264
+009265
+009266
+009267
+009274
+009275
+009276
+009277
+009280
+009284
+009292
+009293
+009294
+009297
+009298
+009300
+009301
+009302
+009304
+009305
+009310
+009311
+009313
+009314
+009317
+009319
+009320
+009321
+009322
+009328
+009329
+009332
+009335
+009338
+009340
+009341
+009344
+009345
+009346
+009352
+009353
+009355
+009356
+009357
+009360
+009361
+009363
+009364
+009366
+009367
+009369
+009370
+009372
+009376
+009379
+009380
+009381
+009383
+009384
+009385
+009387
+009390
+009391
+009395
+009396
+009397
+009399
+009400
+009402
+009403
+009404
+009415
+009416
+009423
+009425
+009426
+009427
+009428
+009430
+009431
+009435
+009436
+009441
+009442
+009444
+009447
+009449
+009450
+009451
+009452
+009453
+009462
+009467
+009471
+009473
+009474
+009475
+009478
+009482
+009483
+009485
+009486
+009487
+009489
+009492
+009493
+009495
+009498
+009501
+009503
+009505
+009506
+009509
+009510
+009511
+009513
+009514
+009521
+009522
+009525
+009529
+009530
+009534
+009535
+009536
+009538
+009539
+009544
+009547
+009548
+009552
+009553
+009554
+009555
+009556
+009559
+009561
+009563
+009564
+009569
+009570
+009572
+009574
+009575
+009578
+009581
+009582
+009583
+009589
+009590
+009592
+009593
+009594
+009595
+009599
+009601
+009602
+009604
+009606
+009607
+009608
+009610
+009612
+009616
+009622
+009624
+009625
+009626
+009628
+009630
+009631
+009632
+009633
+009635
+009639
+009640
+009642
+009643
+009645
+009646
+009648
+009651
+009652
+009653
+009657
+009660
+009661
+009662
+009663
+009665
+009669
+009672
+009673
+009674
+009675
+009677
+009680
+009682
+009683
+009688
+009689
+009690
+009694
+009696
+009697
+009701
+009704
+009705
+009708
+009714
+009715
+009716
+009720
+009722
+009723
+009725
+009727
+009728
+009730
+009731
+009736
+009739
+009740
+009741
+009742
+009744
+009750
+009751
+009752
+009753
+009757
+009759
+009760
+009765
+009766
+009768
+009769
+009770
+009771
+009775
+009777
+009779
+009782
+009783
+009784
+009786
+009787
+009788
+009791
+009793
+009795
+009798
+009799
+009802
+009803
+009804
+009806
+009811
+009812
+009814
+009815
+009817
+009818
+009820
+009821
+009824
+009826
+009827
+009829
+009835
+009837
+009838
+009840
+009843
+009844
+009846
+009847
+009849
+009850
+009853
+009854
+009856
+009857
+009861
+009864
+009866
+009871
+009873
+009875
+009876
+009883
+009885
+009888
+009889
+009890
+009891
+009892
+009893
+009895
+009899
+009901
+009903
+009906
+009907
+009909
+009910
+009912
+009914
+009915
+009916
+009919
+009921
+009922
+009924
+009925
+009927
+009928
+009929
+009930
+009931
+009933
+009934
+009936
+009937
+009941
+009943
+009948
+009951
+009952
+009953
+009956
+009957
+009960
+009962
+009963
+000000490111
+000000140130
+000000440827
+000000017152
+000000404486
+000000521064
+000000410915
+000000364842
+000000267942
+000000046185
+000000203858
+000000329566
+000000135978
+000000295408
+000000144812
+000000391627
+000000307980
+000000093571
+000000034938
+000000222056
+000000288586
+000000546337
+000000197200
+000000301344
+000000516000
+000000260167
+000000364249
+000000515050
+000000474330
+000000302052
+000000363630
+000000254750
+000000257502
+000000157634
+000000085452
+000000487942
+000000575918
+000000064139
+000000427376
+000000339256
+000000250367
+000000331607
+000000281508
+000000272217
+000000220218
+000000410657
+000000532631
+000000348951
+000000433225
+000000377620
+000000336634
+000000380089
+000000214519
+000000123643
+000000167533
+000000045422
+000000234388
+000000248678
+000000106805
+000000069236
+000000016673
+000000254986
+000000566236
+000000235244
+000000383721
+000000127540
+000000518552
+000000425945
+000000210480
+000000158311
+000000362659
+000000380714
+000000111165
+000000132094
+000000384476
+000000411261
+000000491778
+000000193251
+000000279881
+000000260445
+000000571964
+000000066800
+000000408660
+000000304937
+000000402619
+000000519369
+000000353384
+000000023368
+000000081155
+000000519626
+000000257544
+000000403114
+000000451172
+000000098773
+000000175116
+000000221040
+000000303197
+000000254100
+000000103583
+000000267910
+000000215135
+000000081031
+000000056190
+000000461902
+000000014377
+000000330284
+000000291245
+000000040572
+000000009452
+000000365578
+000000500877
+000000098439
+000000099382
+000000562037
+000000473647
+000000272132
+000000575704
+000000419696
+000000395397
+000000172398
+000000431407
+000000235006
+000000561137
+000000569384
+000000446045
+000000546016
+000000200642
+000000416766
+000000245852
+000000399513
+000000461916
+000000463464
+000000254981
+000000411778
+000000466132
+000000388457
+000000253831
+000000070477
+000000520663
+000000388812
+000000100547
+000000497006
+000000174889
+000000483275
+000000152776
+000000330391
+000000385781
+000000008006
+000000280157
+000000109824
+000000508577
+000000194089
+000000307857
+000000012461
+000000353102
+000000541893
+000000350069
+000000553998
+000000090392
+000000429052
+000000443334
+000000422253
+000000532525
+000000232371
+000000505784
+000000045180
+000000526898
+000000408418
+000000404227
+000000500130
+000000331076
+000000184202
+000000249856
+000000073981
+000000430710
+000000441943
+000000113944
+000000305075
+000000304605
+000000497804
+000000262691
+000000171086
+000000240195
+000000130786
+000000376153
+000000183416
+000000100607
+000000568341
+000000054691
+000000050773
+000000397473
+000000461007
+000000369630
+000000566314
+000000163351
+000000511165
+000000167498
+000000234653
+000000120067
+000000294535
+000000292289
+000000214210
+000000500474
+000000392537
+000000573732
+000000492566
+000000019349
+000000135319
+000000419449
+000000110084
+000000316396
+000000167740
+000000543354
+000000138836
+000000408263
+000000174474
+000000002521
+000000564940
+000000211905
+000000505663
+000000581021
+000000320857
+000000476871
+000000545749
+000000175948
+000000439303
+000000012319
+000000118073
+000000030535
+000000468351
+000000280424
+000000087593
+000000248481
+000000462875
+000000366256
+000000184401
+000000550126
+000000453602
+000000015400
+000000399680
+000000372807
+000000574901
+000000137589
+000000021384
+000000071502
+000000159598
+000000106241
+000000439126
+000000553808
+000000298132
+000000533293
+000000468777
+000000416741
+000000263477
+000000563024
+000000524263
+000000283516
+000000227468
+000000351976
+000000085777
+000000348247
+000000174802
+000000512254
+000000338215
+000000190872
+000000572935
+000000044663
+000000123599
+000000009725
+000000521884
+000000146824
+000000406628
+000000460094
+000000039312
+000000021795
+000000416739
+000000351139
+000000141201
+000000454336
+000000578734
+000000205520
+000000189033
+000000218844
+000000083331
+000000466352
+000000174011
+000000153094
+000000428773
+000000536433
+000000569584
+000000118131
+000000192171
+000000193895
+000000414700
+000000187397
+000000546846
+000000364642
+000000493978
+000000187384
+000000112577
+000000466374
+000000570742
+000000248457
+000000574837
+000000376691
+000000287574
+000000386179
+000000047597
+000000186336
+000000158494
+000000510652
+000000289758
+000000443179
+000000254117
+000000551062
+000000154610
+000000314167
+000000136078
+000000179896
+000000099317
+000000433021
+000000393633
+000000089196
+000000065047
+000000237911
+000000018040
+000000275644
+000000391321
+000000275279
+000000453649
+000000579700
+000000499957
+000000549517
+000000280911
+000000058385
+000000002388
+000000022087
+000000525189
+000000176734
+000000536474
+000000300121
+000000085632
+000000194362
+000000229774
+000000226247
+000000327449
+000000371353
+000000248187
+000000462148
+000000298900
+000000376457
+000000348562
+000000509518
+000000230152
+000000100166
+000000281003
+000000561620
+000000069047
+000000328499
+000000406056
+000000541587
+000000291206
+000000494248
+000000111180
+000000287027
+000000193369
+000000297018
+000000160243
+000000420544
+000000187560
+000000502380
+000000116511
+000000151573
+000000366984
+000000063115
+000000035701
+000000101692
+000000536318
+000000176289
+000000551507
+000000134066
+000000265713
+000000360871
+000000211823
+000000457016
+000000525815
+000000460576
+000000013517
+000000400406
+000000390215
+000000578418
+000000020825
+000000239581
+000000295728
+000000495322
+000000395469
+000000039770
+000000334174
+000000093666
+000000421703
+000000468171
+000000012204
+000000110800
+000000381112
+000000115887
+000000344491
+000000496102
+000000385969
+000000575199
+000000132453
+000000504160
+000000103017
+000000399746
+000000131516
+000000172899
+000000393922
+000000000706
+000000390627
+000000189864
+000000168898
+000000515374
+000000385765
+000000478643
+000000448533
+000000511527
+000000429990
+000000044524
+000000397742
+000000321242
+000000018350
+000000006016
+000000071796
+000000378769
+000000478184
+000000313518
+000000482081
+000000495502
+000000419612
+000000170250
+000000411845
+000000174901
+000000278983
+000000542694
+000000371643
+000000254418
+000000321666
+000000023199
+000000228133
+000000349201
+000000577333
+000000340958
+000000309338
+000000057965
+000000262393
+000000042868
+000000417039
+000000300216
+000000293061
+000000189542
+000000131126
+000000109835
+000000391347
+000000395432
+000000422416
+000000409394
+000000110540
+000000011758
+000000389101
+000000088652
+000000403518
+000000302458
+000000322175
+000000404738
+000000333415
+000000104900
+000000263727
+000000136793
+000000247699
+000000478009
+000000533715
+000000526030
+000000309257
+000000456799
+000000518638
+000000541408
+000000459374
+000000014759
+000000517139
+000000188026
+000000135900
+000000184435
+000000157249
+000000044998
+000000315909
+000000477847
+000000488764
+000000085867
+000000217645
+000000442542
+000000242345
+000000192217
+000000090612
+000000091227
+000000001869
+000000332724
+000000546171
+000000346367
+000000153283
+000000317512
+000000313557
+000000491753
+000000401835
+000000576153
+000000054171
+000000134863
+000000060710
+000000431825
+000000579632
+000000049542
+000000092050
+000000403482
+000000078820
+000000535788
+000000577484
+000000375066
+000000168194
+000000085163
+000000045599
+000000489585
+000000184402
+000000197091
+000000477497
+000000168185
+000000376684
+000000340476
+000000127802
+000000422954
+000000148306
+000000050422
+000000396294
+000000287890
+000000405742
+000000358312
+000000304240
+000000274156
+000000083002
+000000323502
+000000554486
+000000250498
+000000245534
+000000479647
+000000193281
+000000287565
+000000080045
+000000415680
+000000151247
+000000276192
+000000223950
+000000101146
+000000017600
+000000274360
+000000181103
+000000367767
+000000097806
+000000131159
+000000371222
+000000312997
+000000065124
+000000127353
+000000520858
+000000267697
+000000408048
+000000484364
+000000351104
+000000186881
+000000242103
+000000382898
+000000249623
+000000113654
+000000010217
+000000501085
+000000277550
+000000568700
+000000009478
+000000460251
+000000284794
+000000453132
+000000480583
+000000197384
+000000269199
+000000562559
+000000564646
+000000514230
+000000320951
+000000075190
+000000082091
+000000449011
+000000355819
+000000446422
+000000428991
+000000572331
+000000417588
+000000535327
+000000415493
+000000476589
+000000263274
+000000043176
+000000109873
+000000258710
+000000067868
+000000189634
+000000390365
+000000208371
+000000551661
+000000549703
+000000554658
+000000057350
+000000434201
+000000175991
+000000345177
+000000119333
+000000247895
+000000325664
+000000223004
+000000459898
+000000476300
+000000096360
+000000468356
+000000105172
+000000451647
+000000134951
+000000479129
+000000366290
+000000384362
+000000208845
+000000018425
+000000158923
+000000420303
+000000021338
+000000480272
+000000043203
+000000101895
+000000165106
+000000306365
+000000315193
+000000522008
+000000225202
+000000390895
+000000132935
+000000355426
+000000457020
+000000330959
+000000517282
+000000341737
+000000107167
+000000527720
+000000458629
+000000204603
+000000083060
+000000514437
+000000172143
+000000571787
+000000083325
+000000437893
+000000426053
+000000167700
+000000344672
+000000453802
+000000200665
+000000004794
+000000264017
+000000270354
+000000097777
+000000556326
+000000164095
+000000225546
+000000014276
+000000146760
+000000352208
+000000057339
+000000361481
+000000263901
+000000521887
+000000307662
+000000034141
+000000015107
+000000207738
+000000027032
+000000087217
+000000079589
+000000117897
+000000457121
+000000458326
+000000306327
+000000280688
+000000581739
+000000406170
+000000575606
+000000293782
+000000169273
+000000162596
+000000315226
+000000233808
+000000006874
+000000187972
+000000125633
+000000499532
+000000320808
+000000011605
+000000310419
+000000560138
+000000120935
+000000257167
+000000239283
+000000265161
+000000579224
+000000235575
+000000118764
+000000573966
+000000191812
+000000242100
+000000537025
+000000482093
+000000361033
+000000380951
+000000220834
+000000485406
+000000098143
+000000570333
+000000305464
+000000574057
+000000137094
+000000487191
+000000127914
+000000101456
+000000518729
+000000135680
+000000171154
+000000433460
+000000066066
+000000140513
+000000052761
+000000541456
+000000311099
+000000458921
+000000474713
+000000021994
+000000003481
+000000295199
+000000102168
+000000158456
+000000544301
+000000251229
+000000575496
+000000234516
+000000159310
+000000134715
+000000207507
+000000332315
+000000226244
+000000142622
+000000208984
+000000317555
+000000284469
+000000098693
+000000410002
+000000136233
+000000230070
+000000403335
+000000480409
+000000028698
+000000255622
+000000098001
+000000577278
+000000042540
+000000365232
+000000223598
+000000350879
+000000451701
+000000000982
+000000500782
+000000194054
+000000426948
+000000581712
+000000472296
+000000375751
+000000192532
+000000184446
+000000088575
+000000547297
+000000360617
+000000478670
+000000581223
+000000372726
+000000019145
+000000190035
+000000280429
+000000507684
+000000516628
+000000398792
+000000082921
+000000251379
+000000468178
+000000043566
+000000357229
+000000208244
+000000507910
+000000443701
+000000496321
+000000333739
+000000287554
+000000242142
+000000237262
+000000114202
+000000163142
+000000490843
+000000190322
+000000489072
+000000360672
+000000241974
+000000134685
+000000399183
+000000562208
+000000282351
+000000011010
+000000259721
+000000578748
+000000535526
+000000239943
+000000352945
+000000468912
+000000294080
+000000326731
+000000293342
+000000195712
+000000019239
+000000386321
+000000174869
+000000267950
+000000346295
+000000546232
+000000027433
+000000343066
+000000129872
+000000571721
+000000181042
+000000360371
+000000485080
+000000240463
+000000580777
+000000431948
+000000159888
+000000430753
+000000317806
+000000142245
+000000526782
+000000401336
+000000191573
+000000385842
+000000021097
+000000093570
+000000442659
+000000154633
+000000524975
+000000576941
+000000276528
+000000534855
+000000485843
+000000284354
+000000319452
+000000289107
+000000457825
+000000144349
+000000220697
+000000386704
+000000307932
+000000331749
+000000311567
+000000344174
+000000452861
+000000233485
+000000240698
+000000082363
+000000369509
+000000305713
+000000554699
+000000245314
+000000282834
+000000349609
+000000439493
+000000134724
+000000286153
+000000492472
+000000540103
+000000257732
+000000085483
+000000392585
+000000486541
+000000432226
+000000478374
+000000513295
+000000327159
+000000494998
+000000292242
+000000216785
+000000141805
+000000120046
+000000053916
+000000301762
+000000284010
+000000466118
+000000105116
+000000455345
+000000454969
+000000042469
+000000415322
+000000040878
+000000412453
+000000332448
+000000414122
+000000558942
+000000104589
+000000122994
+000000202784
+000000423425
+000000454110
+000000487245
+000000407091
+000000480793
+000000310242
+000000173289
+000000172889
+000000074901
+000000437948
+000000519089
+000000347957
+000000303361
+000000190952
+000000163803
+000000395667
+000000306560
+000000196047
+000000349185
+000000331354
+000000524916
+000000521806
+000000277788
+000000127976
+000000064001
+000000554800
+000000471691
+000000379477
+000000484474
+000000514846
+000000118401
+000000218984
+000000076804
+000000070097
+000000024393
+000000394974
+000000551285
+000000562393
+000000152483
+000000030222
+000000141343
+000000203541
+000000006241
+000000359567
+000000404618
+000000085302
+000000118158
+000000352807
+000000475564
+000000394866
+000000480926
+000000149423
+000000349401
+000000539562
+000000191212
+000000212384
+000000493386
+000000189539
+000000047172
+000000185276
+000000372816
+000000024922
+000000220665
+000000558128
+000000496064
+000000415222
+000000446945
+000000446733
+000000106498
+000000076042
+000000015036
+000000124383
+000000023400
+000000086008
+000000131531
+000000473069
+000000553189
+000000000620
+000000220685
+000000265839
+000000224907
+000000310861
+000000235642
+000000453164
+000000325012
+000000130138
+000000574324
+000000241204
+000000373578
+000000074039
+000000369144
+000000389152
+000000432144
+000000185512
+000000514457
+000000429802
+000000112320
+000000317391
+000000557610
+000000059042
+000000497736
+000000384523
+000000319228
+000000533179
+000000516114
+000000531316
+000000153047
+000000522554
+000000140285
+000000341121
+000000217760
+000000044038
+000000167467
+000000227103
+000000505965
+000000030805
+000000391041
+000000338357
+000000020261
+000000552929
+000000558741
+000000234883
+000000539556
+000000553506
+000000139144
+000000463876
+000000312141
+000000347210
+000000015301
+000000490741
+000000303726
+000000523183
+000000088967
+000000257668
+000000249141
+000000072901
+000000309280
+000000330067
+000000082844
+000000191731
+000000344374
+000000394972
+000000213843
+000000016704
+000000088116
+000000294992
+000000523664
+000000211113
+000000505086
+000000536366
+000000124246
+000000050727
+000000268848
+000000506220
+000000487279
+000000259519
+000000496604
+000000204514
+000000099671
+000000215910
+000000300102
+000000211436
+000000367362
+000000217511
+000000520109
+000000453563
+000000166370
+000000549821
+000000329141
+000000536576
+000000464903
+000000126129
+000000256760
+000000030012
+000000092059
+000000071917
+000000096554
+000000389946
+000000391914
+000000514116
+000000571372
+000000177247
+000000091543
+000000184633
+000000444206
+000000272970
+000000453428
+000000050018
+000000382629
+000000349486
+000000547460
+000000080556
+000000332027
+000000483043
+000000341917
+000000305084
+000000318385
+000000574281
+000000193347
+000000351521
+000000325799
+000000082003
+000000487525
+000000340653
+000000038238
+000000022704
+000000043919
+000000073686
+000000052357
+000000208727
+000000330916
+000000284348
+000000543178
+000000131171
+000000185072
+000000461650
+000000104426
+000000538513
+000000574983
+000000406332
+000000465776
+000000550844
+000000472907
+000000493682
+000000294305
+000000103843
+000000080303
+000000296286
+000000395627
+000000496746
+000000484287
+000000544086
+000000406050
+000000362599
+000000416909
+000000556648
+000000347058
+000000267998
+000000576581
+000000289968
+000000242972
+000000483159
+000000013835
+000000045663
+000000005453
+000000117179
+000000169598
+000000471322
+000000198997
+000000270195
+000000116291
+000000482720
+000000214801
+000000470553
+000000089395
+000000321500
+000000568531
+000000449106
+000000289912
+000000577623
+000000015085
+000000097890
+000000102006
+000000112486
+000000088868
+000000531607
+000000358020
+000000390757
+000000178634
+000000010645
+000000020137
+000000525549
+000000358190
+000000569349
+000000091780
+000000438314
+000000239007
+000000281365
+000000250225
+000000146917
+000000369179
+000000076841
+000000205781
+000000413602
+000000303178
+000000567407
+000000285914
+000000351034
+000000574463
+000000427975
+000000429407
+000000433792
+000000495460
+000000127282
+000000476282
+000000320707
+000000394165
+000000165422
+000000183786
+000000451706
+000000255950
+000000058407
+000000469531
+000000283181
+000000487018
+000000055735
+000000425304
+000000138806
+000000053064
+000000170204
+000000044609
+000000275001
+000000258509
+000000213963
+000000180160
+000000366049
+000000485938
+000000556622
+000000189083
+000000371991
+000000135305
+000000018183
+000000574471
+000000408492
+000000418333
+000000027626
+000000131128
+000000313156
+000000396337
+000000407118
+000000017769
+000000155743
+000000384401
+000000260893
+000000522807
+000000151358
+000000144161
+000000545308
+000000120918
+000000401877
+000000317365
+000000480863
+000000224701
+000000026365
+000000555020
+000000093427
+000000385864
+000000497777
+000000469632
+000000450217
+000000050360
+000000560898
+000000041246
+000000279187
+000000508750
+000000233746
+000000048848
+000000445638
+000000066568
+000000352081
+000000159716
+000000472821
+000000437543
+000000412880
+000000542202
+000000379754
+000000534151
+000000410924
+000000431750
+000000372252
+000000487487
+000000300979
+000000566837
+000000118957
+000000149398
+000000320173
+000000293385
+000000536369
+000000331978
+000000536317
+000000245540
+000000524144
+000000299216
+000000319038
+000000229302
+000000329963
+000000450318
+000000294832
+000000196497
+000000080445
+000000396260
+000000358482
+000000047316
+000000092601
+000000410531
+000000125755
+000000413736
+000000334995
+000000163497
+000000580142
+000000495738
+000000065993
+000000033891
+000000090138
+000000269634
+000000284494
+000000366136
+000000387615
+000000172658
+000000201004
+000000285023
+000000177939
+000000199319
+000000535501
+000000162915
+000000413475
+000000031000
+000000081001
+000000409512
+000000158261
+000000235200
+000000022191
+000000509482
+000000360826
+000000053436
+000000360231
+000000549629
+000000312887
+000000054924
+000000076351
+000000412330
+000000276740
+000000230721
+000000408029
+000000047629
+000000195531
+000000467484
+000000123836
+000000329939
+000000246958
+000000260503
+000000305634
+000000570259
+000000236767
+000000398712
+000000252610
+000000106896
+000000054052
+000000442416
+000000309694
+000000000757
+000000524694
+000000572349
+000000070502
+000000325944
+000000581749
+000000477671
+000000100698
+000000334566
+000000557119
+000000001213
+000000547863
+000000233366
+000000053597
+000000207549
+000000246688
+000000521729
+000000035677
+000000284259
+000000011554
+000000377416
+000000349164
+000000238201
+000000050239
+000000479693
+000000476812
+000000521352
+000000442133
+000000007852
+000000303962
+000000546561
+000000079878
+000000306094
+000000047255
+000000113126
+000000206192
+000000442060
+000000017235
+000000331024
+000000200817
+000000163253
+000000006871
+000000236572
+000000302503
+000000228525
+000000250578
+000000417089
+000000064150
+000000006160
+000000214845
+000000365135
+000000010421
+000000529408
+000000046883
+000000490509
+000000234749
+000000393258
+000000517586
+000000080818
+000000201419
+000000217383
+000000431168
+000000032039
+000000559151
+000000127710
+000000340109
+000000044446
+000000322560
+000000483241
+000000237263
+000000179317
+000000215826
+000000419211
+000000010196
+000000432529
+000000244401
+000000523513
+000000039520
+000000346190
+000000334568
+000000235953
+000000489538
+000000323182
+000000408101
+000000162688
+000000571938
+000000570110
+000000029091
+000000290024
+000000451482
+000000348479
+000000341168
+000000044606
+000000259040
+000000089268
+000000352959
+000000510216
+000000188826
+000000519683
+000000061936
+000000015750
+000000573623
+000000190898
+000000093852
+000000531490
+000000420852
+000000419064
+000000550699
+000000559356
+000000503252
+000000102912
+000000220086
+000000196650
+000000087901
+000000346540
+000000140730
+000000228460
+000000254841
+000000073790
+000000409414
+000000354695
+000000000753
+000000099927
+000000142592
+000000144224
+000000431696
+000000242379
+000000094084
+000000245274
+000000386633
+000000404338
+000000159707
+000000039181
+000000424018
+000000239038
+000000529777
+000000531289
+000000350597
+000000153105
+000000235038
+000000287099
+000000146451
+000000386350
+000000015179
+000000320804
+000000286760
+000000499110
+000000443513
+000000247157
+000000052068
+000000316019
+000000297665
+000000335885
+000000571990
+000000280731
+000000285000
+000000117958
+000000264962
+000000570586
+000000147293
+000000222983
+000000427129
+000000059540
+000000126392
+000000167152
+000000066034
+000000025809
+000000064313
+000000334234
+000000376916
+000000337962
+000000230600
+000000233022
+000000172085
+000000476652
+000000365464
+000000502730
+000000115037
+000000384693
+000000506595
+000000578659
+000000218606
+000000260668
+000000129675
+000000076896
+000000434053
+000000096057
+000000379529
+000000029504
+000000220353
+000000185225
+000000169947
+000000425569
+000000068595
+000000450452
+000000186585
+000000356828
+000000185821
+000000462164
+000000140438
+000000035529
+000000198650
+000000010256
+000000422268
+000000345357
+000000554136
+000000139958
+000000509247
+000000459942
+000000302872
+000000462982
+000000145573
+000000366704
+000000435988
+000000320182
+000000493209
+000000071241
+000000225191
+000000301727
+000000451809
+000000139049
+000000075415
+000000244909
+000000138904
+000000117170
+000000150040
+000000130795
+000000459841
+000000180522
+000000533250
+000000470113
+000000281924
+000000042135
+000000510258
+000000384173
+000000490337
+000000093014
+000000562849
+000000030791
+000000411257
+000000443778
+000000373015
+000000470055
+000000210951
+000000142581
+000000254250
+000000448703
+000000119460
+000000568131
+000000568529
+000000557114
+000000214701
+000000142999
+000000026171
+000000017892
+000000087638
+000000268231
+000000138270
+000000538413
+000000538819
+000000348146
+000000488790
+000000238114
+000000330593
+000000549887
+000000083161
+000000502425
+000000543376
+000000058250
+000000000955
+000000143070
+000000461522
+000000570516
+000000273497
+000000173688
+000000319685
+000000295269
+000000396010
+000000349104
+000000254400
+000000434234
+000000325423
+000000063882
+000000155709
+000000200654
+000000200263
+000000479762
+000000445515
+000000185494
+000000406805
+000000190323
+000000301262
+000000571808
+000000277435
+000000151092
+000000403644
+000000526675
+000000477617
+000000482062
+000000436111
+000000007224
+000000279182
+000000077472
+000000577029
+000000244222
+000000496268
+000000464649
+000000130005
+000000059110
+000000538001
+000000054572
+000000113089
+000000306718
+000000313644
+000000081512
+000000352445
+000000564735
+000000341529
+000000557442
+000000114549
+000000251191
+000000058431
+000000304849
+000000429602
+000000355270
+000000581835
+000000046152
+000000531111
+000000111660
+000000318006
+000000052384
+000000322226
+000000117360
+000000285388
+000000194676
+000000094145
+000000250833
+000000150685
+000000474019
+000000174567
+000000244816
+000000515196
+000000246915
+000000273156
+000000538451
+000000098631
+000000066348
+000000469173
+000000111152
+000000029698
+000000173897
+000000170413
+000000304864
+000000200720
+000000014850
+000000551622
+000000047178
+000000454623
+000000457146
+000000442394
+000000173607
+000000358901
+000000004278
+000000392004
+000000229990
+000000509806
+000000221003
+000000038257
+000000276218
+000000189245
+000000568628
+000000050636
+000000556230
+000000151523
+000000062257
+000000442724
+000000319061
+000000295626
+000000125853
+000000113442
+000000215215
+000000174932
+000000566699
+000000083614
+000000414482
+000000105344
+000000221477
+000000490578
+000000039012
+000000418595
+000000478742
+000000499958
+000000398563
+000000344259
+000000537803
+000000018874
+000000328842
+000000093601
+000000068620
+000000422623
+000000513237
+000000569495
+000000479390
+000000194885
+000000483382
+000000231415
+000000324313
+000000563803
+000000030151
+000000492354
+000000180495
+000000210193
+000000253261
+000000065426
+000000437714
+000000119419
+000000188218
+000000053893
+000000103386
+000000170440
+000000269590
+000000264936
+000000273772
+000000199390
+000000262369
+000000506766
+000000317310
+000000085338
+000000059399
+000000522438
+000000565109
+000000308096
+000000475361
+000000466265
+000000237085
+000000471085
+000000035012
+000000452854
+000000378066
+000000320125
+000000336579
+000000362329
+000000068300
+000000228749
+000000528544
+000000456037
+000000341899
+000000325558
+000000306178
+000000338248
+000000183980
+000000257489
+000000580121
+000000462052
+000000373796
+000000192216
+000000367893
+000000262933
+000000088902
+000000431573
+000000231828
+000000400235
+000000379155
+000000385174
+000000149668
+000000074060
+000000353133
+000000089912
+000000266115
+000000369568
+000000303148
+000000134294
+000000386640
+000000352334
+000000034830
+000000017946
+000000182927
+000000361253
+000000277433
+000000187279
+000000369386
+000000406328
+000000423010
+000000274184
+000000473468
+000000543660
+000000214367
+000000210048
+000000576307
+000000410054
+000000420290
+000000002068
+000000166575
+000000340612
+000000305887
+000000227667
+000000544380
+000000454195
+000000125070
+000000085765
+000000203359
+000000524500
+000000094538
+000000027353
+000000494690
+000000003782
+000000305347
+000000258362
+000000483330
+000000397109
+000000398362
+000000519578
+000000446126
+000000411436
+000000217068
+000000190537
+000000336001
+000000496121
+000000407289
+000000405209
+000000143736
+000000526966
+000000345567
+000000112657
+000000029671
+000000450914
+000000212566
+000000334826
+000000201308
+000000489209
+000000162230
+000000236792
+000000303937
+000000185820
+000000534923
+000000364656
+000000569672
+000000168329
+000000285200
+000000315160
+000000531000
+000000231326
+000000285683
+000000156827
+000000203835
+000000290314
+000000569645
+000000005253
+000000508612
+000000319398
+000000235034
+000000492965
+000000301628
+000000234709
+000000189587
+000000116250
+000000434723
+000000303257
+000000071647
+000000164751
+000000012101
+000000100722
+000000227568
+000000322615
+000000325586
+000000471932
+000000387102
+000000157181
+000000348499
+000000274629
+000000079722
+000000117512
+000000161545
+000000496618
+000000051174
+000000433229
+000000229138
+000000359472
+000000490842
+000000371997
+000000378923
+000000355767
+000000441241
+000000526645
+000000011719
+000000104544
+000000136077
+000000549685
+000000074331
+000000099647
+000000199943
+000000407768
+000000465467
+000000182179
+000000391214
+000000400552
+000000344483
+000000016836
+000000485462
+000000491844
+000000302432
+000000018312
+000000392629
+000000176263
+000000262748
+000000310804
+000000388027
+000000069215
+000000224895
+000000295201
+000000415340
+000000193465
+000000458622
+000000421321
+000000479578
+000000227891
+000000155269
+000000215069
+000000293334
+000000112329
+000000163615
+000000083987
+000000009945
+000000070931
+000000118806
+000000575523
+000000419963
+000000125063
+000000201928
+000000168686
+000000317534
+000000581655
+000000162577
+000000499418
+000000151100
+000000091113
+000000358266
+000000203035
+000000534578
+000000466596
+000000091728
+000000167599
+000000445569
+000000503637
+000000202764
+000000284274
+000000158370
+000000541938
+000000250365
+000000023929
+000000014073
+000000493187
+000000443093
+000000173684
+000000157300
+000000321373
+000000561102
+000000300189
+000000168994
+000000138166
+000000569529
+000000104809
+000000553867
+000000389622
+000000565476
+000000390086
+000000310140
+000000359148
+000000144167
+000000508582
+000000299771
+000000525988
+000000307550
+000000491932
+000000541193
+000000139634
+000000467522
+000000454644
+000000067779
+000000056397
+000000184274
+000000238605
+000000534168
+000000235404
+000000068623
+000000147236
+000000408571
+000000487359
+000000393486
+000000315278
+000000314597
+000000573926
+000000357386
+000000568982
+000000195806
+000000092674
+000000146249
+000000064865
+000000440286
+000000244074
+000000480755
+000000067496
+000000573527
+000000441678
+000000316443
+000000188416
+000000099741
+000000240129
+000000512864
+000000224891
+000000363410
+000000042086
+000000342808
+000000549328
+000000087007
+000000014504
+000000157188
+000000290836
+000000310094
+000000289187
+000000469844
+000000362677
+000000390287
+000000086908
+000000468623
+000000514772
+000000558181
+000000358343
+000000303647
+000000334772
+000000236268
+000000044420
+000000313412
+000000096445
+000000266853
+000000093331
+000000285089
+000000096901
+000000208875
+000000220821
+000000337247
+000000454854
+000000077603
+000000051198
+000000013843
+000000055085
+000000397044
+000000549478
+000000493384
+000000514055
+000000504099
+000000469265
+000000007867
+000000541631
+000000420754
+000000530064
+000000260516
+000000343445
+000000125683
+000000388136
+000000396193
+000000117191
+000000560750
+000000296604
+000000318741
+000000171733
+000000200627
+000000007288
+000000051176
+000000250802
+000000405400
+000000297138
+000000437209
+000000217458
+000000115599
+000000424174
+000000551031
+000000288729
+000000065816
+000000376919
+000000078457
+000000557227
+000000060513
+000000293265
+000000091942
+000000118851
+000000545534
+000000008934
+000000180167
+000000399532
+000000567495
+000000425536
+000000208801
+000000359140
+000000407545
+000000457726
+000000425582
+000000185117
+000000288316
+000000415670
+000000451798
+000000547985
+000000152663
+000000384260
+000000454232
+000000504336
+000000160429
+000000171002
+000000057345
+000000264730
+000000104790
+000000544719
+000000520980
+000000312355
+000000496829
+000000050954
+000000184223
+000000172303
+000000299010
+000000132306
+000000549400
+000000217043
+000000531171
+000000332574
+000000125473
+000000091844
+000000335874
+000000257513
+000000362711
+000000428304
+000000535688
+000000546739
+000000041251
+000000234942
+000000157067
+000000251502
+000000112805
+000000262031
+000000532926
+000000505879
+000000473673
+000000185549
+000000252986
+000000540162
+000000211030
+000000378068
+000000509188
+000000205304
+000000515773
+000000191854
+000000317325
+000000401946
+000000037746
+000000183771
+000000335749
+000000295932
+000000284993
+000000250909
+000000069266
+000000501947
+000000309382
+000000188136
+000000553984
+000000475651
+000000384258
+000000207779
+000000400443
+000000010580
+000000093264
+000000348668
+000000543010
+000000207056
+000000226539
+000000281442
+000000187434
+000000262704
+000000173647
+000000249227
+000000176521
+000000255859
+000000537671
+000000001840
+000000218863
+000000195600
+000000236717
+000000547612
+000000216613
+000000433413
+000000012377
+000000507122
+000000414711
+000000529511
+000000553192
+000000367558
+000000099751
+000000460944
+000000421986
+000000197599
+000000490596
+000000228025
+000000382751
+000000140456
+000000350629
+000000131015
+000000339404
+000000459575
+000000026578
+000000534593
+000000148588
+000000058816
+000000238858
+000000573062
+000000165543
+000000544427
+000000552927
+000000213554
+000000127980
+000000520343
+000000532445
+000000577552
+000000366558
+000000222726
+000000439602
+000000563904
+000000138148
+000000569101
+000000422121
+000000120987
+000000478071
+000000427016
+000000116453
+000000099984
+000000307981
+000000063764
+000000003518
+000000144897
+000000211116
+000000243745
+000000032271
+000000505389
+000000168999
+000000365831
+000000537389
+000000279104
+000000069956
+000000530649
+000000416841
+000000206391
+000000280007
+000000327551
+000000080219
+000000548464
+000000020947
+000000520154
+000000168482
+000000026323
+000000065612
+000000274017
+000000451952
+000000161569
+000000493438
+000000245938
+000000325932
+000000502459
+000000465780
+000000491305
+000000504184
+000000483941
+000000404066
+000000261072
+000000015690
+000000023320
+000000053426
+000000178307
+000000344314
+000000439519
+000000159831
+000000255654
+000000554037
+000000178748
+000000102010
+000000484948
+000000211230
+000000558401
+000000159585
+000000048664
+000000572206
+000000513424
+000000055443
+000000157221
+000000580284
+000000502407
+000000066283
+000000402969
+000000010241
+000000333868
+000000074947
+000000151922
+000000123946
+000000110759
+000000056572
+000000305445
+000000295233
+000000392879
+000000363783
+000000438427
+000000183788
+000000134343
+000000546021
+000000323634
+000000254818
+000000237131
+000000040699
+000000387202
+000000289862
+000000120473
+000000119965
+000000462080
+000000574051
+000000094272
+000000289344
+000000469080
+000000262466
+000000521201
+000000186586
+000000503183
+000000486072
+000000499716
+000000202989
+000000124142
+000000079530
+000000370697
+000000086770
+000000059738
+000000267256
+000000549644
+000000460988
+000000001063
+000000233075
+000000321468
+000000030647
+000000491611
+000000546088
+000000045153
+000000489920
+000000026183
+000000227293
+000000100322
+000000458568
+000000149422
+000000442894
+000000216194
+000000555882
+000000111988
+000000214816
+000000279780
+000000108338
+000000181938
+000000499237
+000000200945
+000000110681
+000000263246
+000000154414
+000000045468
+000000402020
+000000188474
+000000460099
+000000567572
+000000380058
+000000295857
+000000265096
+000000239145
+000000049473
+000000289242
+000000025145
+000000550627
+000000570209
+000000298252
+000000140512
+000000458208
+000000347128
+000000422427
+000000256668
+000000535661
+000000473171
+000000344261
+000000496431
+000000201035
+000000351759
+000000094884
+000000527759
+000000038323
+000000323468
+000000455395
+000000103520
+000000466681
+000000306407
+000000405041
+000000220344
+000000145480
+000000066151
+000000439178
+000000406068
+000000488360
+000000137227
+000000138227
+000000257558
+000000045204
+000000549409
+000000213399
+000000414577
+000000564550
+000000432851
+000000399668
+000000052490
+000000242869
+000000219158
+000000569389
+000000158906
+000000277885
+000000078536
+000000466222
+000000346265
+000000131747
+000000438810
+000000326325
diff --git a/datasets/voc_coco_ann/ImageSets/Main/voc_coco_5000_test.txt b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_5000_test.txt
new file mode 100644
index 0000000..5f0f88a
--- /dev/null
+++ b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_5000_test.txt
@@ -0,0 +1,9952 @@
+000001
+000002
+000003
+000004
+000006
+000008
+000010
+000011
+000013
+000014
+000015
+000018
+000022
+000025
+000027
+000028
+000029
+000031
+000037
+000038
+000040
+000043
+000045
+000049
+000053
+000054
+000055
+000056
+000057
+000058
+000059
+000062
+000067
+000068
+000069
+000070
+000071
+000074
+000075
+000076
+000079
+000080
+000082
+000084
+000085
+000086
+000087
+000088
+000090
+000092
+000094
+000096
+000097
+000098
+000100
+000103
+000105
+000106
+000108
+000111
+000114
+000115
+000116
+000119
+000124
+000126
+000127
+000128
+000135
+000136
+000137
+000139
+000144
+000145
+000148
+000149
+000151
+000152
+000155
+000157
+000160
+000166
+000167
+000168
+000172
+000175
+000176
+000178
+000179
+000181
+000182
+000183
+000185
+000186
+000188
+000191
+000195
+000196
+000197
+000199
+000201
+000202
+000204
+000205
+000206
+000212
+000213
+000216
+000217
+000223
+000226
+000227
+000230
+000231
+000234
+000237
+000238
+000239
+000240
+000243
+000247
+000248
+000252
+000253
+000254
+000255
+000258
+000260
+000261
+000264
+000265
+000267
+000271
+000272
+000273
+000274
+000277
+000279
+000280
+000281
+000283
+000284
+000286
+000287
+000290
+000291
+000292
+000293
+000295
+000297
+000299
+000300
+000301
+000309
+000310
+000313
+000314
+000315
+000316
+000319
+000324
+000326
+000327
+000330
+000333
+000335
+000339
+000341
+000342
+000345
+000346
+000348
+000350
+000351
+000353
+000356
+000357
+000358
+000360
+000361
+000362
+000364
+000365
+000366
+000368
+000369
+000371
+000375
+000376
+000377
+000378
+000383
+000384
+000385
+000386
+000388
+000389
+000390
+000392
+000393
+000397
+000398
+000399
+000401
+000402
+000405
+000409
+000410
+000412
+000413
+000414
+000415
+000418
+000421
+000422
+000423
+000425
+000426
+000429
+000432
+000434
+000436
+000437
+000440
+000441
+000442
+000444
+000445
+000447
+000449
+000451
+000452
+000453
+000455
+000456
+000457
+000458
+000465
+000466
+000467
+000471
+000472
+000473
+000475
+000478
+000479
+000481
+000485
+000487
+000488
+000490
+000493
+000495
+000497
+000502
+000504
+000505
+000506
+000507
+000510
+000511
+000512
+000517
+000521
+000527
+000529
+000532
+000533
+000534
+000536
+000538
+000539
+000542
+000546
+000547
+000548
+000551
+000553
+000556
+000557
+000558
+000560
+000561
+000562
+000566
+000567
+000568
+000569
+000570
+000571
+000572
+000573
+000574
+000575
+000576
+000578
+000580
+000584
+000585
+000586
+000587
+000593
+000594
+000595
+000596
+000600
+000602
+000603
+000604
+000606
+000607
+000611
+000614
+000615
+000616
+000617
+000618
+000621
+000623
+000624
+000627
+000629
+000630
+000631
+000634
+000636
+000638
+000639
+000640
+000641
+000642
+000643
+000644
+000646
+000649
+000650
+000651
+000652
+000655
+000658
+000659
+000662
+000664
+000665
+000666
+000668
+000669
+000670
+000673
+000674
+000678
+000679
+000681
+000683
+000687
+000691
+000692
+000693
+000696
+000697
+000698
+000701
+000703
+000704
+000706
+000708
+000715
+000716
+000718
+000719
+000721
+000722
+000723
+000724
+000725
+000727
+000732
+000734
+000735
+000736
+000737
+000741
+000743
+000744
+000745
+000747
+000749
+000751
+000757
+000758
+000759
+000762
+000765
+000766
+000769
+000773
+000775
+000778
+000779
+000781
+000783
+000784
+000785
+000788
+000789
+000790
+000792
+000795
+000798
+000801
+000803
+000807
+000809
+000811
+000813
+000817
+000819
+000821
+000824
+000825
+000833
+000835
+000836
+000837
+000838
+000839
+000840
+000841
+000844
+000846
+000852
+000853
+000856
+000858
+000861
+000864
+000866
+000869
+000870
+000873
+000875
+000877
+000881
+000883
+000884
+000886
+000890
+000891
+000893
+000894
+000897
+000901
+000905
+000907
+000909
+000910
+000913
+000914
+000916
+000922
+000924
+000925
+000927
+000928
+000930
+000932
+000933
+000938
+000939
+000940
+000941
+000942
+000944
+000945
+000952
+000953
+000955
+000956
+000957
+000959
+000960
+000961
+000963
+000968
+000969
+000970
+000974
+000975
+000976
+000978
+000979
+000981
+000983
+000984
+000985
+000986
+000988
+000990
+000992
+000994
+000995
+000998
+001000
+001003
+001005
+001006
+001007
+001013
+001016
+001019
+001020
+001021
+001022
+001023
+001025
+001026
+001029
+001030
+001031
+001032
+001033
+001034
+001035
+001037
+001038
+001039
+001040
+001044
+001046
+001047
+001048
+001049
+001051
+001054
+001055
+001058
+001059
+001063
+001065
+001067
+001070
+001075
+001076
+001080
+001081
+001085
+001086
+001087
+001088
+001089
+001090
+001094
+001095
+001096
+001098
+001099
+001100
+001103
+001105
+001108
+001111
+001114
+001115
+001116
+001117
+001118
+001120
+001122
+001123
+001126
+001128
+001131
+001132
+001133
+001134
+001135
+001138
+001139
+001141
+001146
+001150
+001153
+001155
+001157
+001159
+001162
+001163
+001165
+001167
+001169
+001173
+001177
+001178
+001179
+001180
+001181
+001183
+001188
+001189
+001190
+001193
+001195
+001196
+001197
+001198
+001202
+001208
+001210
+001213
+001216
+001217
+001218
+001219
+001220
+001222
+001223
+001227
+001228
+001232
+001235
+001238
+001242
+001243
+001244
+001245
+001246
+001249
+001251
+001252
+001253
+001255
+001256
+001257
+001261
+001262
+001264
+001267
+001271
+001275
+001276
+001278
+001280
+001282
+001283
+001285
+001291
+001295
+001296
+001297
+001300
+001301
+001302
+001303
+001305
+001306
+001307
+001308
+001313
+001317
+001318
+001319
+001320
+001321
+001322
+001328
+001329
+001331
+001335
+001336
+001338
+001339
+001340
+001342
+001344
+001347
+001349
+001351
+001353
+001354
+001355
+001356
+001357
+001358
+001359
+001363
+001366
+001367
+001368
+001369
+001370
+001372
+001373
+001374
+001376
+001377
+001379
+001380
+001381
+001382
+001389
+001391
+001392
+001394
+001396
+001398
+001399
+001401
+001403
+001407
+001410
+001411
+001412
+001415
+001416
+001417
+001419
+001422
+001423
+001424
+001425
+001428
+001429
+001431
+001433
+001435
+001437
+001438
+001440
+001446
+001447
+001448
+001449
+001452
+001454
+001456
+001458
+001459
+001461
+001462
+001469
+001471
+001473
+001474
+001476
+001477
+001478
+001482
+001487
+001489
+001491
+001495
+001496
+001500
+001502
+001503
+001505
+001506
+001507
+001508
+001511
+001513
+001516
+001518
+001519
+001520
+001525
+001527
+001530
+001533
+001534
+001535
+001538
+001540
+001542
+001546
+001547
+001549
+001550
+001551
+001552
+001558
+001560
+001562
+001564
+001566
+001567
+001568
+001569
+001570
+001572
+001573
+001574
+001575
+001578
+001581
+001583
+001584
+001585
+001587
+001589
+001591
+001592
+001596
+001599
+001600
+001601
+001602
+001605
+001606
+001609
+001613
+001615
+001616
+001619
+001620
+001621
+001623
+001624
+001625
+001626
+001629
+001631
+001634
+001635
+001637
+001639
+001641
+001644
+001645
+001646
+001648
+001652
+001655
+001656
+001657
+001658
+001659
+001660
+001663
+001664
+001665
+001666
+001667
+001668
+001670
+001671
+001672
+001674
+001679
+001681
+001687
+001692
+001694
+001695
+001696
+001697
+001698
+001700
+001701
+001702
+001703
+001704
+001705
+001706
+001709
+001710
+001712
+001715
+001716
+001719
+001720
+001722
+001728
+001731
+001735
+001736
+001737
+001740
+001742
+001743
+001744
+001745
+001748
+001751
+001753
+001757
+001760
+001762
+001763
+001764
+001767
+001769
+001770
+001773
+001774
+001776
+001779
+001781
+001783
+001786
+001788
+001790
+001791
+001792
+001794
+001796
+001798
+001802
+001803
+001804
+001805
+001808
+001811
+001812
+001813
+001814
+001815
+001817
+001819
+001820
+001822
+001823
+001824
+001826
+001829
+001831
+001835
+001838
+001839
+001844
+001846
+001848
+001850
+001851
+001852
+001856
+001857
+001859
+001863
+001865
+001866
+001867
+001868
+001869
+001871
+001873
+001874
+001876
+001879
+001880
+001883
+001884
+001885
+001886
+001889
+001890
+001891
+001893
+001895
+001897
+001900
+001905
+001908
+001909
+001910
+001912
+001913
+001914
+001916
+001917
+001919
+001921
+001923
+001924
+001925
+001926
+001929
+001935
+001939
+001942
+001943
+001946
+001947
+001949
+001951
+001953
+001955
+001956
+001957
+001959
+001961
+001965
+001966
+001967
+001968
+001969
+001973
+001974
+001975
+001979
+001983
+001984
+001986
+001987
+001988
+001990
+001991
+001992
+001993
+001994
+001996
+001997
+001998
+002003
+002005
+002007
+002008
+002009
+002010
+002013
+002014
+002016
+002017
+002018
+002026
+002028
+002029
+002031
+002032
+002033
+002035
+002038
+002040
+002041
+002044
+002046
+002048
+002050
+002052
+002053
+002057
+002059
+002060
+002062
+002065
+002066
+002071
+002072
+002073
+002074
+002075
+002076
+002077
+002078
+002079
+002080
+002081
+002084
+002085
+002087
+002089
+002092
+002093
+002097
+002100
+002103
+002105
+002106
+002107
+002110
+002111
+002113
+002115
+002118
+002119
+002121
+002122
+002123
+002127
+002128
+002130
+002131
+002133
+002137
+002138
+002141
+002143
+002144
+002147
+002148
+002149
+002150
+002154
+002157
+002159
+002160
+002161
+002162
+002164
+002167
+002168
+002173
+002175
+002177
+002185
+002188
+002189
+002195
+002198
+002200
+002203
+002204
+002205
+002206
+002207
+002210
+002211
+002216
+002217
+002222
+002223
+002225
+002227
+002229
+002230
+002231
+002232
+002235
+002236
+002239
+002240
+002242
+002243
+002245
+002246
+002250
+002252
+002254
+002258
+002262
+002264
+002269
+002271
+002274
+002275
+002282
+002283
+002286
+002289
+002292
+002294
+002295
+002296
+002297
+002298
+002299
+002301
+002303
+002304
+002309
+002312
+002313
+002314
+002316
+002317
+002319
+002322
+002325
+002326
+002327
+002331
+002336
+002338
+002339
+002341
+002344
+002346
+002349
+002351
+002353
+002356
+002357
+002358
+002360
+002363
+002365
+002370
+002379
+002380
+002381
+002383
+002386
+002388
+002389
+002390
+002394
+002395
+002396
+002397
+002398
+002399
+002400
+002402
+002406
+002408
+002409
+002412
+002414
+002416
+002418
+002421
+002422
+002424
+002426
+002428
+002429
+002430
+002431
+002432
+002434
+002438
+002440
+002446
+002447
+002449
+002451
+002453
+002455
+002457
+002463
+002464
+002467
+002469
+002473
+002474
+002475
+002482
+002484
+002485
+002486
+002487
+002488
+002489
+002495
+002498
+002499
+002503
+002506
+002507
+002509
+002510
+002511
+002515
+002516
+002517
+002521
+002522
+002526
+002527
+002528
+002530
+002531
+002532
+002535
+002536
+002538
+002541
+002543
+002548
+002550
+002551
+002552
+002553
+002556
+002557
+002560
+002562
+002568
+002570
+002573
+002574
+002575
+002576
+002577
+002580
+002581
+002582
+002583
+002587
+002588
+002591
+002592
+002596
+002597
+002601
+002602
+002604
+002607
+002608
+002610
+002612
+002614
+002616
+002617
+002619
+002620
+002622
+002623
+002624
+002626
+002628
+002629
+002630
+002631
+002638
+002639
+002640
+002642
+002644
+002650
+002651
+002652
+002654
+002655
+002656
+002660
+002661
+002663
+002665
+002671
+002672
+002673
+002674
+002676
+002679
+002681
+002685
+002686
+002687
+002688
+002692
+002694
+002698
+002700
+002701
+002703
+002705
+002707
+002708
+002711
+002712
+002716
+002719
+002720
+002724
+002725
+002726
+002728
+002729
+002731
+002733
+002736
+002739
+002740
+002742
+002743
+002746
+002748
+002750
+002752
+002753
+002754
+002756
+002758
+002761
+002764
+002768
+002769
+002770
+002771
+002773
+002777
+002780
+002781
+002787
+002788
+002789
+002790
+002792
+002793
+002797
+002799
+002802
+002805
+002806
+002808
+002809
+002811
+002813
+002814
+002818
+002819
+002821
+002822
+002823
+002824
+002825
+002828
+002829
+002830
+002831
+002832
+002837
+002839
+002840
+002843
+002846
+002849
+002850
+002851
+002852
+002853
+002856
+002857
+002860
+002861
+002862
+002863
+002865
+002871
+002872
+002874
+002876
+002877
+002878
+002882
+002883
+002885
+002887
+002888
+002890
+002892
+002894
+002895
+002897
+002898
+002900
+002902
+002903
+002904
+002905
+002907
+002908
+002909
+002911
+002918
+002920
+002921
+002922
+002923
+002925
+002926
+002927
+002928
+002929
+002930
+002936
+002945
+002948
+002949
+002950
+002951
+002955
+002959
+002961
+002964
+002968
+002970
+002971
+002972
+002973
+002974
+002979
+002980
+002981
+002982
+002983
+002985
+002991
+002993
+002996
+002997
+002998
+002999
+003001
+003006
+003010
+003012
+003014
+003016
+003018
+003019
+003020
+003022
+003025
+003026
+003029
+003030
+003033
+003035
+003036
+003037
+003040
+003041
+003043
+003046
+003048
+003049
+003050
+003052
+003055
+003059
+003060
+003062
+003067
+003068
+003069
+003070
+003071
+003073
+003075
+003076
+003079
+003080
+003081
+003084
+003087
+003091
+003095
+003096
+003097
+003099
+003101
+003104
+003109
+003111
+003113
+003114
+003115
+003119
+003123
+003125
+003128
+003130
+003131
+003132
+003136
+003139
+003141
+003143
+003144
+003148
+003151
+003152
+003153
+003156
+003158
+003160
+003166
+003167
+003168
+003171
+003172
+003173
+003174
+003179
+003180
+003182
+003187
+003190
+003191
+003192
+003193
+003196
+003197
+003198
+003201
+003203
+003206
+003208
+003209
+003212
+003215
+003217
+003220
+003221
+003222
+003224
+003225
+003226
+003227
+003230
+003232
+003234
+003235
+003237
+003238
+003241
+003245
+003246
+003248
+003249
+003251
+003252
+003257
+003263
+003264
+003265
+003266
+003267
+003268
+003275
+003276
+003277
+003278
+003281
+003283
+003286
+003287
+003288
+003289
+003291
+003295
+003297
+003298
+003302
+003304
+003305
+003306
+003309
+003310
+003312
+003314
+003315
+003317
+003318
+003319
+003321
+003322
+003323
+003324
+003326
+003328
+003329
+003332
+003333
+003334
+003340
+003341
+003342
+003345
+003346
+003347
+003348
+003352
+003353
+003357
+003358
+003361
+003364
+003366
+003368
+003371
+003372
+003375
+003378
+003381
+003383
+003384
+003385
+003387
+003388
+003389
+003393
+003394
+003399
+003400
+003402
+003405
+003409
+003411
+003414
+003418
+003423
+003426
+003427
+003428
+003431
+003432
+003434
+003437
+003438
+003440
+003442
+003445
+003446
+003447
+003448
+003454
+003456
+003457
+003459
+003460
+003463
+003467
+003471
+003472
+003473
+003474
+003475
+003476
+003478
+003479
+003480
+003481
+003482
+003483
+003485
+003486
+003488
+003490
+003494
+003495
+003498
+003501
+003502
+003503
+003504
+003505
+003507
+003512
+003513
+003514
+003515
+003517
+003520
+003523
+003526
+003527
+003531
+003532
+003533
+003534
+003535
+003538
+003540
+003541
+003542
+003543
+003544
+003545
+003547
+003552
+003553
+003557
+003558
+003559
+003560
+003561
+003562
+003563
+003568
+003569
+003570
+003571
+003572
+003573
+003574
+003578
+003579
+003581
+003582
+003583
+003584
+003590
+003591
+003592
+003595
+003598
+003600
+003601
+003602
+003607
+003610
+003612
+003613
+003615
+003616
+003617
+003619
+003624
+003626
+003630
+003631
+003633
+003637
+003641
+003643
+003647
+003649
+003650
+003652
+003653
+003659
+003661
+003665
+003666
+003668
+003670
+003672
+003676
+003677
+003680
+003682
+003683
+003686
+003687
+003689
+003692
+003693
+003697
+003701
+003702
+003707
+003710
+003712
+003715
+003716
+003718
+003719
+003720
+003723
+003724
+003725
+003726
+003728
+003730
+003731
+003733
+003734
+003736
+003737
+003738
+003739
+003741
+003742
+003744
+003745
+003746
+003747
+003755
+003756
+003757
+003761
+003762
+003764
+003765
+003766
+003768
+003769
+003770
+003771
+003775
+003776
+003777
+003778
+003782
+003785
+003787
+003789
+003794
+003795
+003799
+003800
+003801
+003802
+003804
+003805
+003810
+003812
+003813
+003815
+003816
+003819
+003822
+003823
+003825
+003829
+003831
+003832
+003833
+003836
+003839
+003840
+003841
+003842
+003843
+003850
+003851
+003852
+003853
+003854
+003858
+003862
+003864
+003867
+003870
+003873
+003875
+003878
+003880
+003881
+003882
+003883
+003884
+003888
+003892
+003893
+003894
+003896
+003897
+003900
+003901
+003902
+003903
+003904
+003906
+003908
+003909
+003910
+003914
+003916
+003917
+003920
+003922
+003925
+003927
+003928
+003929
+003930
+003931
+003933
+003934
+003938
+003940
+003942
+003943
+003944
+003950
+003951
+003952
+003955
+003958
+003959
+003962
+003964
+003967
+003968
+003972
+003975
+003976
+003977
+003978
+003980
+003981
+003982
+003985
+003989
+003995
+003999
+004000
+004001
+004002
+004004
+004006
+004007
+004018
+004021
+004022
+004024
+004026
+004027
+004029
+004030
+004032
+004036
+004038
+004040
+004041
+004042
+004043
+004044
+004045
+004048
+004049
+004050
+004053
+004054
+004055
+004056
+004059
+004061
+004062
+004063
+004064
+004065
+004068
+004070
+004071
+004072
+004074
+004078
+004079
+004080
+004081
+004083
+004084
+004086
+004088
+004090
+004094
+004096
+004097
+004098
+004099
+004101
+004103
+004104
+004107
+004109
+004112
+004114
+004115
+004116
+004118
+004119
+004123
+004124
+004125
+004126
+004127
+004128
+004130
+004132
+004134
+004139
+004144
+004147
+004151
+004153
+004154
+004155
+004156
+004157
+004159
+004160
+004161
+004162
+004165
+004166
+004167
+004172
+004173
+004175
+004176
+004177
+004179
+004180
+004181
+004182
+004183
+004184
+004187
+004188
+004197
+004198
+004199
+004202
+004206
+004207
+004208
+004210
+004211
+004213
+004214
+004216
+004217
+004218
+004219
+004222
+004225
+004226
+004227
+004233
+004234
+004235
+004236
+004238
+004240
+004243
+004245
+004248
+004249
+004250
+004251
+004252
+004254
+004260
+004261
+004262
+004266
+004267
+004268
+004276
+004277
+004278
+004282
+004285
+004288
+004289
+004290
+004294
+004297
+004299
+004301
+004302
+004305
+004306
+004308
+004309
+004311
+004313
+004314
+004316
+004317
+004319
+004320
+004324
+004328
+004330
+004332
+004334
+004335
+004336
+004337
+004340
+004342
+004343
+004344
+004348
+004350
+004353
+004355
+004357
+004358
+004362
+004363
+004366
+004373
+004374
+004375
+004377
+004378
+004381
+004382
+004383
+004385
+004388
+004393
+004394
+004395
+004398
+004399
+004400
+004401
+004402
+004403
+004406
+004407
+004408
+004410
+004412
+004413
+004414
+004415
+004416
+004417
+004418
+004419
+004420
+004422
+004425
+004426
+004427
+004428
+004431
+004435
+004440
+004442
+004443
+004444
+004445
+004447
+004448
+004449
+004451
+004453
+004454
+004456
+004458
+004460
+004461
+004462
+004465
+004467
+004469
+004472
+004473
+004475
+004476
+004477
+004478
+004480
+004482
+004483
+004485
+004486
+004489
+004491
+004492
+004497
+004501
+004503
+004504
+004505
+004506
+004511
+004513
+004515
+004516
+004521
+004522
+004523
+004525
+004529
+004531
+004533
+004534
+004536
+004538
+004541
+004543
+004545
+004546
+004547
+004550
+004554
+004556
+004557
+004559
+004560
+004561
+004564
+004567
+004568
+004569
+004572
+004573
+004575
+004577
+004578
+004580
+004582
+004583
+004586
+004589
+004590
+004593
+004594
+004596
+004598
+004599
+004602
+004603
+004608
+004610
+004613
+004614
+004615
+004616
+004617
+004619
+004620
+004621
+004624
+004629
+004633
+004635
+004637
+004638
+004639
+004640
+004641
+004642
+004645
+004646
+004650
+004657
+004658
+004659
+004661
+004663
+004664
+004665
+004666
+004667
+004668
+004669
+004670
+004677
+004678
+004680
+004681
+004684
+004688
+004690
+004695
+004696
+004697
+004698
+004700
+004703
+004704
+004709
+004711
+004712
+004713
+004716
+004717
+004720
+004721
+004724
+004725
+004726
+004728
+004729
+004730
+004731
+004733
+004734
+004736
+004738
+004739
+004740
+004741
+004744
+004745
+004749
+004751
+004752
+004755
+004756
+004757
+004758
+004759
+004762
+004763
+004764
+004765
+004766
+004767
+004769
+004771
+004772
+004774
+004775
+004778
+004780
+004781
+004784
+004787
+004791
+004795
+004798
+004800
+004802
+004803
+004804
+004806
+004807
+004809
+004810
+004811
+004813
+004817
+004819
+004820
+004821
+004822
+004824
+004827
+004829
+004833
+004835
+004838
+004843
+004844
+004845
+004847
+004851
+004853
+004854
+004855
+004858
+004860
+004861
+004862
+004864
+004865
+004870
+004871
+004874
+004875
+004877
+004880
+004881
+004883
+004884
+004887
+004888
+004889
+004891
+004892
+004893
+004894
+004899
+004900
+004901
+004904
+004906
+004908
+004909
+004914
+004915
+004917
+004918
+004919
+004920
+004921
+004922
+004923
+004924
+004925
+004927
+004930
+004932
+004933
+004934
+004937
+004940
+004941
+004942
+004944
+004945
+004947
+004949
+004952
+004957
+004959
+004964
+004965
+004969
+004970
+004971
+004975
+004978
+004979
+004980
+004981
+004988
+004989
+004993
+004996
+005000
+005002
+005005
+005008
+005009
+005010
+005011
+005012
+005013
+005015
+005017
+005019
+005021
+005022
+005025
+005030
+005031
+005034
+005035
+005038
+005040
+005041
+005043
+005044
+005046
+005048
+005049
+005050
+005051
+005053
+005059
+005060
+005066
+005069
+005070
+005074
+005075
+005076
+005080
+005082
+005083
+005087
+005088
+005089
+005091
+005092
+005095
+005096
+005098
+005099
+005100
+005103
+005105
+005106
+005109
+005112
+005113
+005115
+005117
+005118
+005119
+005120
+005123
+005125
+005126
+005127
+005132
+005133
+005137
+005139
+005140
+005141
+005142
+005147
+005148
+005149
+005151
+005152
+005154
+005155
+005157
+005158
+005162
+005163
+005164
+005165
+005166
+005167
+005170
+005172
+005174
+005178
+005180
+005182
+005184
+005187
+005188
+005192
+005193
+005194
+005196
+005197
+005198
+005200
+005201
+005204
+005205
+005206
+005207
+005211
+005213
+005216
+005218
+005221
+005225
+005226
+005227
+005228
+005232
+005233
+005234
+005235
+005237
+005238
+005240
+005241
+005243
+005247
+005249
+005250
+005251
+005252
+005255
+005256
+005261
+005265
+005266
+005271
+005272
+005275
+005276
+005277
+005279
+005280
+005282
+005284
+005286
+005287
+005289
+005291
+005294
+005295
+005296
+005299
+005300
+005301
+005302
+005308
+005309
+005313
+005316
+005317
+005321
+005322
+005323
+005324
+005329
+005330
+005332
+005333
+005334
+005335
+005339
+005341
+005342
+005347
+005353
+005354
+005356
+005357
+005359
+005361
+005362
+005364
+005366
+005372
+005375
+005376
+005377
+005381
+005382
+005386
+005390
+005392
+005394
+005399
+005400
+005401
+005402
+005403
+005409
+005411
+005412
+005415
+005422
+005425
+005426
+005427
+005428
+005432
+005435
+005437
+005442
+005443
+005444
+005446
+005447
+005449
+005452
+005456
+005458
+005459
+005460
+005462
+005463
+005464
+005466
+005468
+005472
+005473
+005474
+005476
+005477
+005479
+005480
+005482
+005484
+005488
+005490
+005491
+005492
+005493
+005494
+005495
+005498
+005500
+005501
+005502
+005503
+005504
+005505
+005506
+005512
+005513
+005516
+005520
+005523
+005525
+005528
+005529
+005532
+005533
+005534
+005537
+005538
+005540
+005543
+005545
+005546
+005548
+005551
+005553
+005555
+005556
+005557
+005558
+005560
+005561
+005562
+005564
+005565
+005567
+005569
+005570
+005571
+005572
+005575
+005578
+005580
+005581
+005587
+005589
+005594
+005595
+005596
+005597
+005598
+005602
+005604
+005607
+005610
+005612
+005616
+005617
+005619
+005621
+005622
+005623
+005626
+005627
+005628
+005632
+005633
+005634
+005635
+005638
+005642
+005643
+005646
+005649
+005650
+005651
+005656
+005659
+005661
+005663
+005665
+005666
+005667
+005670
+005671
+005673
+005675
+005677
+005678
+005681
+005683
+005684
+005688
+005689
+005690
+005691
+005692
+005694
+005698
+005703
+005706
+005707
+005708
+005709
+005711
+005712
+005717
+005720
+005721
+005722
+005724
+005725
+005726
+005727
+005733
+005734
+005737
+005739
+005744
+005745
+005746
+005748
+005750
+005751
+005753
+005754
+005758
+005759
+005763
+005766
+005767
+005770
+005771
+005772
+005774
+005775
+005776
+005777
+005778
+005785
+005787
+005792
+005793
+005795
+005797
+005798
+005800
+005801
+005802
+005804
+005807
+005808
+005809
+005810
+005816
+005820
+005822
+005823
+005827
+005832
+005833
+005834
+005835
+005837
+005842
+005844
+005846
+005847
+005848
+005849
+005855
+005857
+005858
+005862
+005865
+005866
+005869
+005870
+005871
+005872
+005876
+005880
+005882
+005883
+005886
+005887
+005890
+005891
+005892
+005896
+005898
+005900
+005902
+005904
+005907
+005913
+005915
+005916
+005921
+005922
+005924
+005925
+005926
+005927
+005929
+005931
+005932
+005933
+005934
+005935
+005936
+005937
+005939
+005941
+005942
+005943
+005944
+005945
+005946
+005949
+005950
+005953
+005955
+005957
+005958
+005959
+005962
+005965
+005966
+005967
+005969
+005972
+005973
+005974
+005976
+005977
+005978
+005982
+005986
+005987
+005993
+005994
+005997
+005999
+006002
+006003
+006006
+006007
+006008
+006010
+006013
+006014
+006015
+006016
+006017
+006019
+006021
+006022
+006024
+006031
+006032
+006034
+006036
+006037
+006039
+006040
+006044
+006047
+006048
+006049
+006050
+006051
+006052
+006053
+006054
+006056
+006057
+006059
+006060
+006063
+006064
+006068
+006072
+006075
+006076
+006077
+006080
+006081
+006082
+006083
+006085
+006086
+006087
+006090
+006092
+006093
+006094
+006099
+006101
+006102
+006106
+006109
+006110
+006112
+006113
+006114
+006115
+006116
+006118
+006119
+006121
+006122
+006126
+006127
+006132
+006137
+006138
+006142
+006143
+006144
+006145
+006147
+006149
+006152
+006154
+006155
+006157
+006160
+006164
+006165
+006167
+006168
+006169
+006173
+006178
+006182
+006186
+006191
+006192
+006193
+006194
+006195
+006197
+006199
+006200
+006204
+006205
+006207
+006211
+006213
+006217
+006226
+006227
+006228
+006231
+006232
+006237
+006239
+006242
+006244
+006245
+006246
+006248
+006253
+006255
+006256
+006257
+006263
+006265
+006266
+006268
+006271
+006273
+006274
+006278
+006280
+006283
+006287
+006288
+006292
+006293
+006294
+006297
+006298
+006302
+006303
+006307
+006308
+006310
+006311
+006312
+006313
+006315
+006316
+006317
+006322
+006324
+006326
+006327
+006328
+006331
+006332
+006333
+006334
+006336
+006340
+006342
+006343
+006345
+006347
+006354
+006356
+006358
+006359
+006360
+006361
+006364
+006365
+006368
+006370
+006372
+006373
+006376
+006378
+006379
+006380
+006383
+006384
+006386
+006388
+006389
+006390
+006393
+006394
+006397
+006399
+006401
+006402
+006403
+006405
+006406
+006407
+006408
+006410
+006412
+006413
+006414
+006415
+006416
+006420
+006422
+006423
+006426
+006431
+006432
+006435
+006439
+006441
+006446
+006451
+006452
+006453
+006454
+006457
+006460
+006461
+006464
+006467
+006469
+006471
+006477
+006478
+006479
+006481
+006485
+006487
+006489
+006490
+006491
+006493
+006494
+006496
+006498
+006500
+006502
+006504
+006505
+006508
+006510
+006511
+006513
+006514
+006516
+006517
+006518
+006521
+006522
+006525
+006526
+006527
+006528
+006531
+006533
+006535
+006537
+006539
+006540
+006541
+006544
+006545
+006546
+006552
+006554
+006555
+006557
+006558
+006559
+006561
+006563
+006566
+006567
+006568
+006571
+006573
+006574
+006577
+006579
+006580
+006581
+006582
+006586
+006589
+006590
+006591
+006592
+006594
+006596
+006598
+006600
+006601
+006604
+006607
+006608
+006613
+006614
+006615
+006616
+006620
+006623
+006624
+006629
+006630
+006633
+006634
+006639
+006640
+006641
+006642
+006644
+006646
+006649
+006650
+006651
+006653
+006655
+006656
+006659
+006662
+006663
+006665
+006669
+006672
+006675
+006676
+006680
+006683
+006685
+006686
+006688
+006691
+006692
+006693
+006700
+006701
+006705
+006710
+006711
+006712
+006713
+006715
+006716
+006717
+006720
+006721
+006723
+006724
+006728
+006729
+006732
+006733
+006737
+006741
+006742
+006743
+006744
+006745
+006746
+006749
+006750
+006752
+006754
+006756
+006757
+006758
+006763
+006764
+006767
+006770
+006771
+006774
+006775
+006776
+006778
+006779
+006780
+006785
+006787
+006788
+006790
+006791
+006792
+006793
+006795
+006796
+006798
+006801
+006804
+006807
+006809
+006811
+006812
+006815
+006816
+006817
+006818
+006820
+006823
+006826
+006830
+006831
+006832
+006834
+006837
+006843
+006846
+006851
+006853
+006854
+006856
+006857
+006861
+006863
+006870
+006871
+006872
+006873
+006875
+006877
+006879
+006881
+006882
+006885
+006888
+006889
+006890
+006891
+006894
+006895
+006897
+006898
+006901
+006902
+006904
+006905
+006906
+006907
+006913
+006915
+006920
+006921
+006923
+006925
+006926
+006927
+006928
+006929
+006936
+006937
+006938
+006941
+006942
+006946
+006951
+006954
+006955
+006957
+006960
+006961
+006964
+006967
+006969
+006970
+006973
+006974
+006975
+006977
+006978
+006979
+006980
+006982
+006984
+006985
+006986
+006991
+006992
+006993
+006996
+006997
+006998
+006999
+007000
+007001
+007005
+007010
+007012
+007013
+007014
+007015
+007017
+007019
+007024
+007026
+007027
+007028
+007030
+007032
+007034
+007037
+007041
+007043
+007044
+007047
+007051
+007053
+007055
+007057
+007060
+007061
+007063
+007066
+007067
+007069
+007076
+007081
+007082
+007083
+007085
+007087
+007091
+007094
+007096
+007098
+007099
+007102
+007103
+007106
+007107
+007110
+007111
+007112
+007115
+007116
+007118
+007119
+007120
+007124
+007126
+007127
+007131
+007134
+007135
+007136
+007137
+007142
+007143
+007145
+007151
+007155
+007156
+007157
+007158
+007160
+007161
+007164
+007169
+007170
+007171
+007173
+007175
+007176
+007178
+007179
+007181
+007183
+007186
+007188
+007190
+007192
+007195
+007196
+007198
+007199
+007201
+007202
+007203
+007206
+007207
+007209
+007218
+007220
+007221
+007225
+007226
+007228
+007229
+007231
+007232
+007233
+007235
+007237
+007238
+007239
+007240
+007242
+007246
+007248
+007251
+007252
+007253
+007254
+007255
+007257
+007262
+007264
+007265
+007267
+007268
+007269
+007272
+007273
+007277
+007278
+007281
+007282
+007286
+007287
+007288
+007290
+007291
+007293
+007301
+007303
+007304
+007306
+007307
+007309
+007310
+007312
+007313
+007315
+007316
+007317
+007319
+007320
+007321
+007324
+007326
+007328
+007331
+007332
+007333
+007335
+007337
+007338
+007339
+007340
+007341
+007342
+007345
+007347
+007348
+007349
+007352
+007353
+007354
+007355
+007357
+007358
+007360
+007362
+007364
+007366
+007367
+007368
+007371
+007377
+007378
+007379
+007380
+007382
+007384
+007386
+007387
+007391
+007392
+007393
+007395
+007397
+007399
+007400
+007401
+007402
+007403
+007404
+007405
+007406
+007407
+007409
+007412
+007415
+007418
+007420
+007423
+007426
+007428
+007429
+007430
+007434
+007440
+007441
+007442
+007444
+007447
+007450
+007452
+007453
+007455
+007456
+007459
+007462
+007463
+007464
+007469
+007471
+007472
+007473
+007476
+007478
+007485
+007487
+007488
+007492
+007494
+007495
+007496
+007499
+007500
+007501
+007502
+007504
+007505
+007507
+007508
+007509
+007510
+007512
+007514
+007515
+007516
+007518
+007520
+007522
+007529
+007531
+007532
+007534
+007539
+007541
+007542
+007545
+007548
+007549
+007550
+007552
+007553
+007554
+007556
+007557
+007560
+007561
+007562
+007564
+007567
+007569
+007573
+007574
+007577
+007580
+007581
+007582
+007583
+007584
+007587
+007588
+007589
+007591
+007593
+007595
+007596
+007597
+007598
+007599
+007602
+007604
+007607
+007608
+007609
+007610
+007613
+007616
+007617
+007620
+007623
+007625
+007627
+007628
+007630
+007632
+007634
+007635
+007636
+007638
+007641
+007643
+007644
+007645
+007646
+007648
+007651
+007652
+007658
+007659
+007660
+007661
+007665
+007669
+007674
+007676
+007681
+007684
+007686
+007689
+007690
+007693
+007695
+007698
+007700
+007701
+007703
+007706
+007707
+007708
+007710
+007711
+007714
+007716
+007717
+007719
+007722
+007725
+007726
+007728
+007730
+007733
+007734
+007737
+007738
+007739
+007741
+007744
+007747
+007750
+007752
+007755
+007756
+007757
+007759
+007761
+007764
+007766
+007769
+007770
+007771
+007774
+007778
+007780
+007782
+007783
+007784
+007785
+007787
+007788
+007789
+007792
+007794
+007796
+007797
+007800
+007801
+007802
+007804
+007805
+007806
+007807
+007808
+007811
+007816
+007817
+007818
+007822
+007823
+007825
+007827
+007828
+007829
+007830
+007832
+007835
+007837
+007839
+007842
+007844
+007846
+007848
+007849
+007850
+007851
+007852
+007858
+007860
+007861
+007862
+007866
+007867
+007870
+007871
+007874
+007875
+007879
+007880
+007881
+007882
+007887
+007888
+007891
+007892
+007893
+007894
+007895
+007896
+007903
+007904
+007906
+007907
+007912
+007913
+007917
+007918
+007922
+007927
+007929
+007930
+007934
+007936
+007937
+007938
+007941
+007942
+007944
+007945
+007948
+007949
+007951
+007952
+007955
+007957
+007960
+007961
+007962
+007965
+007966
+007967
+007969
+007972
+007973
+007975
+007977
+007978
+007981
+007982
+007983
+007985
+007986
+007988
+007989
+007990
+007992
+007993
+007994
+007995
+008000
+008003
+008006
+008007
+008010
+008011
+008013
+008014
+008015
+008016
+008018
+008020
+008021
+008022
+008025
+008027
+008028
+008030
+008034
+008035
+008038
+008039
+008041
+008045
+008046
+008047
+008050
+008052
+008054
+008055
+008056
+008058
+008059
+008065
+008066
+008070
+008071
+008073
+008074
+008077
+008078
+008080
+008081
+008088
+008089
+008090
+008092
+008094
+008097
+008099
+008102
+008104
+008109
+008110
+008111
+008113
+008114
+008118
+008119
+008120
+008123
+008124
+008126
+008128
+008129
+008131
+008133
+008134
+008135
+008136
+008143
+008145
+008146
+008147
+008148
+008149
+008152
+008153
+008154
+008155
+008156
+008157
+008158
+008161
+008162
+008165
+008167
+008170
+008172
+008176
+008178
+008179
+008181
+008182
+008183
+008184
+008185
+008187
+008192
+008193
+008194
+008195
+008196
+008198
+008201
+008205
+008206
+008207
+008210
+008212
+008214
+008215
+008217
+008219
+008221
+008227
+008228
+008230
+008231
+008233
+008234
+008237
+008238
+008239
+008240
+008242
+008243
+008245
+008246
+008247
+008249
+008255
+008256
+008257
+008259
+008264
+008265
+008266
+008267
+008270
+008271
+008273
+008274
+008276
+008277
+008278
+008283
+008286
+008287
+008288
+008289
+008290
+008291
+008298
+008303
+008304
+008305
+008308
+008309
+008314
+008321
+008324
+008325
+008328
+008330
+008331
+008333
+008334
+008337
+008339
+008340
+008343
+008344
+008347
+008348
+008350
+008352
+008353
+008354
+008356
+008357
+008358
+008361
+008362
+008363
+008366
+008367
+008369
+008371
+008373
+008375
+008377
+008378
+008379
+008380
+008382
+008383
+008389
+008392
+008393
+008394
+008395
+008396
+008399
+008400
+008401
+008402
+008404
+008405
+008406
+008407
+008408
+008411
+008412
+008414
+008417
+008418
+008419
+008420
+008421
+008428
+008431
+008432
+008435
+008436
+008439
+008440
+008441
+008446
+008447
+008448
+008451
+008455
+008457
+008458
+008459
+008460
+008463
+008464
+008469
+008471
+008473
+008474
+008476
+008479
+008480
+008481
+008486
+008487
+008488
+008489
+008490
+008491
+008493
+008496
+008497
+008500
+008501
+008504
+008505
+008507
+008508
+008510
+008511
+008515
+008516
+008520
+008525
+008527
+008528
+008531
+008532
+008537
+008538
+008539
+008540
+008543
+008544
+008545
+008546
+008547
+008548
+008551
+008552
+008554
+008555
+008560
+008561
+008563
+008565
+008566
+008567
+008569
+008570
+008571
+008574
+008575
+008577
+008578
+008579
+008580
+008583
+008589
+008590
+008591
+008593
+008594
+008597
+008598
+008599
+008600
+008603
+008605
+008609
+008611
+008613
+008614
+008616
+008619
+008622
+008623
+008625
+008626
+008627
+008629
+008630
+008631
+008632
+008634
+008637
+008640
+008641
+008642
+008643
+008646
+008648
+008649
+008650
+008651
+008652
+008656
+008657
+008658
+008659
+008660
+008661
+008662
+008664
+008666
+008668
+008669
+008671
+008672
+008673
+008674
+008675
+008677
+008678
+008679
+008681
+008682
+008684
+008685
+008686
+008689
+008693
+008694
+008696
+008697
+008700
+008703
+008704
+008705
+008707
+008708
+008711
+008712
+008714
+008715
+008719
+008721
+008724
+008726
+008729
+008734
+008735
+008736
+008737
+008740
+008743
+008745
+008746
+008751
+008754
+008758
+008761
+008762
+008763
+008765
+008767
+008774
+008777
+008778
+008779
+008780
+008781
+008782
+008785
+008786
+008787
+008788
+008789
+008791
+008792
+008795
+008797
+008798
+008800
+008802
+008803
+008804
+008807
+008808
+008812
+008816
+008818
+008820
+008821
+008824
+008825
+008827
+008828
+008829
+008830
+008832
+008834
+008839
+008842
+008844
+008845
+008846
+008850
+008851
+008852
+008853
+008855
+008857
+008860
+008861
+008863
+008864
+008866
+008868
+008869
+008870
+008875
+008877
+008881
+008882
+008887
+008889
+008893
+008894
+008895
+008896
+008897
+008898
+008899
+008901
+008902
+008903
+008904
+008906
+008907
+008908
+008910
+008912
+008915
+008916
+008918
+008922
+008924
+008925
+008928
+008934
+008935
+008937
+008938
+008941
+008945
+008946
+008947
+008949
+008950
+008952
+008954
+008956
+008957
+008959
+008963
+008964
+008972
+008974
+008977
+008981
+008984
+008986
+008990
+008991
+008992
+008993
+008994
+008996
+008998
+009001
+009003
+009008
+009009
+009010
+009011
+009012
+009013
+009014
+009017
+009021
+009023
+009025
+009026
+009028
+009030
+009031
+009033
+009038
+009040
+009041
+009043
+009044
+009046
+009047
+009050
+009052
+009054
+009055
+009056
+009057
+009061
+009062
+009065
+009067
+009069
+009070
+009071
+009074
+009075
+009076
+009077
+009081
+009082
+009083
+009084
+009088
+009090
+009092
+009093
+009095
+009096
+009097
+009101
+009102
+009103
+009104
+009107
+009109
+009110
+009111
+009115
+009118
+009119
+009120
+009122
+009124
+009125
+009127
+009130
+009132
+009134
+009135
+009137
+009139
+009140
+009142
+009143
+009145
+009146
+009149
+009152
+009154
+009156
+009158
+009164
+009165
+009167
+009169
+009170
+009171
+009172
+009176
+009182
+009183
+009188
+009190
+009198
+009199
+009201
+009203
+009204
+009206
+009207
+009210
+009211
+009216
+009217
+009219
+009220
+009222
+009223
+009225
+009226
+009228
+009229
+009231
+009232
+009233
+009234
+009235
+009237
+009240
+009241
+009243
+009248
+009253
+009256
+009257
+009258
+009260
+009261
+009262
+009263
+009264
+009265
+009266
+009267
+009274
+009275
+009276
+009277
+009280
+009284
+009292
+009293
+009294
+009297
+009298
+009300
+009301
+009302
+009304
+009305
+009310
+009311
+009313
+009314
+009317
+009319
+009320
+009321
+009322
+009328
+009329
+009332
+009335
+009338
+009340
+009341
+009344
+009345
+009346
+009352
+009353
+009355
+009356
+009357
+009360
+009361
+009363
+009364
+009366
+009367
+009369
+009370
+009372
+009376
+009379
+009380
+009381
+009383
+009384
+009385
+009387
+009390
+009391
+009395
+009396
+009397
+009399
+009400
+009402
+009403
+009404
+009415
+009416
+009423
+009425
+009426
+009427
+009428
+009430
+009431
+009435
+009436
+009441
+009442
+009444
+009447
+009449
+009450
+009451
+009452
+009453
+009462
+009467
+009471
+009473
+009474
+009475
+009478
+009482
+009483
+009485
+009486
+009487
+009489
+009492
+009493
+009495
+009498
+009501
+009503
+009505
+009506
+009509
+009510
+009511
+009513
+009514
+009521
+009522
+009525
+009529
+009530
+009534
+009535
+009536
+009538
+009539
+009544
+009547
+009548
+009552
+009553
+009554
+009555
+009556
+009559
+009561
+009563
+009564
+009569
+009570
+009572
+009574
+009575
+009578
+009581
+009582
+009583
+009589
+009590
+009592
+009593
+009594
+009595
+009599
+009601
+009602
+009604
+009606
+009607
+009608
+009610
+009612
+009616
+009622
+009624
+009625
+009626
+009628
+009630
+009631
+009632
+009633
+009635
+009639
+009640
+009642
+009643
+009645
+009646
+009648
+009651
+009652
+009653
+009657
+009660
+009661
+009662
+009663
+009665
+009669
+009672
+009673
+009674
+009675
+009677
+009680
+009682
+009683
+009688
+009689
+009690
+009694
+009696
+009697
+009701
+009704
+009705
+009708
+009714
+009715
+009716
+009720
+009722
+009723
+009725
+009727
+009728
+009730
+009731
+009736
+009739
+009740
+009741
+009742
+009744
+009750
+009751
+009752
+009753
+009757
+009759
+009760
+009765
+009766
+009768
+009769
+009770
+009771
+009775
+009777
+009779
+009782
+009783
+009784
+009786
+009787
+009788
+009791
+009793
+009795
+009798
+009799
+009802
+009803
+009804
+009806
+009811
+009812
+009814
+009815
+009817
+009818
+009820
+009821
+009824
+009826
+009827
+009829
+009835
+009837
+009838
+009840
+009843
+009844
+009846
+009847
+009849
+009850
+009853
+009854
+009856
+009857
+009861
+009864
+009866
+009871
+009873
+009875
+009876
+009883
+009885
+009888
+009889
+009890
+009891
+009892
+009893
+009895
+009899
+009901
+009903
+009906
+009907
+009909
+009910
+009912
+009914
+009915
+009916
+009919
+009921
+009922
+009924
+009925
+009927
+009928
+009929
+009930
+009931
+009933
+009934
+009936
+009937
+009941
+009943
+009948
+009951
+009952
+009953
+009956
+009957
+009960
+009962
+009963
+000000222492
+000000574392
+000000043979
+000000391403
+000000027433
+000000564465
+000000414984
+000000058248
+000000254604
+000000233538
+000000460148
+000000091797
+000000403525
+000000455136
+000000428943
+000000109334
+000000400872
+000000481876
+000000492719
+000000549409
+000000165916
+000000544009
+000000522477
+000000028494
+000000453998
+000000362038
+000000172899
+000000385864
+000000116424
+000000223342
+000000007028
+000000040087
+000000333485
+000000264838
+000000408101
+000000233337
+000000210221
+000000375992
+000000089603
+000000516214
+000000018292
+000000256953
+000000517545
+000000336872
+000000393638
+000000264389
+000000427376
+000000073014
+000000561756
+000000032779
+000000532495
+000000202935
+000000356064
+000000055544
+000000458326
+000000433066
+000000007224
+000000453328
+000000570742
+000000471691
+000000455117
+000000390559
+000000375086
+000000208669
+000000244222
+000000204826
+000000262654
+000000267217
+000000486122
+000000125318
+000000512757
+000000460987
+000000324442
+000000234000
+000000486043
+000000251183
+000000562338
+000000511138
+000000248191
+000000344408
+000000100853
+000000520851
+000000576608
+000000113128
+000000574901
+000000563404
+000000337505
+000000524502
+000000563683
+000000426687
+000000434394
+000000556910
+000000048134
+000000376144
+000000050636
+000000425052
+000000077842
+000000400836
+000000012902
+000000449007
+000000158000
+000000472444
+000000329077
+000000250684
+000000570171
+000000154363
+000000012883
+000000121601
+000000266451
+000000293782
+000000248948
+000000222276
+000000574130
+000000112897
+000000023797
+000000341511
+000000396194
+000000568628
+000000554994
+000000276575
+000000168250
+000000202829
+000000356083
+000000125377
+000000556021
+000000485654
+000000348315
+000000487114
+000000094045
+000000512968
+000000409909
+000000480057
+000000435090
+000000268406
+000000555900
+000000125586
+000000253740
+000000093581
+000000161539
+000000383888
+000000210048
+000000543734
+000000094025
+000000546079
+000000203137
+000000574147
+000000469531
+000000217103
+000000311478
+000000254432
+000000234733
+000000412996
+000000311882
+000000503416
+000000567245
+000000292177
+000000042828
+000000137730
+000000497484
+000000120067
+000000105208
+000000440729
+000000185866
+000000308806
+000000105750
+000000120127
+000000410096
+000000039390
+000000523513
+000000532773
+000000381204
+000000064703
+000000224929
+000000115692
+000000510144
+000000459037
+000000406189
+000000137578
+000000471043
+000000369126
+000000489815
+000000112887
+000000260685
+000000358343
+000000154414
+000000408048
+000000483159
+000000527164
+000000520197
+000000369991
+000000249656
+000000085288
+000000257053
+000000339295
+000000214261
+000000419696
+000000516598
+000000350842
+000000343968
+000000565077
+000000029345
+000000280540
+000000144115
+000000073591
+000000146131
+000000426838
+000000485890
+000000236792
+000000058797
+000000259297
+000000106970
+000000548388
+000000262986
+000000284649
+000000337472
+000000502425
+000000261955
+000000409842
+000000018940
+000000577278
+000000230838
+000000461245
+000000016161
+000000354530
+000000378709
+000000027466
+000000521473
+000000015174
+000000416569
+000000473491
+000000047388
+000000289987
+000000388374
+000000075190
+000000103296
+000000290285
+000000530860
+000000529023
+000000254414
+000000014819
+000000521682
+000000081033
+000000431355
+000000472595
+000000187537
+000000176522
+000000270326
+000000195172
+000000181697
+000000194180
+000000534130
+000000145520
+000000010217
+000000396010
+000000306108
+000000385842
+000000009060
+000000389608
+000000574922
+000000571395
+000000041251
+000000062500
+000000512254
+000000426828
+000000472349
+000000166762
+000000040902
+000000115412
+000000206216
+000000141756
+000000088448
+000000245750
+000000397693
+000000228025
+000000023759
+000000408333
+000000074573
+000000003481
+000000207097
+000000160560
+000000407072
+000000401820
+000000265059
+000000043873
+000000340185
+000000322125
+000000070079
+000000365514
+000000489605
+000000123509
+000000034739
+000000520610
+000000207811
+000000462984
+000000531444
+000000167166
+000000571372
+000000388581
+000000137283
+000000309880
+000000351938
+000000147838
+000000148808
+000000396165
+000000553162
+000000374486
+000000194551
+000000563311
+000000329541
+000000452852
+000000283261
+000000374347
+000000184713
+000000219916
+000000175212
+000000349164
+000000313979
+000000529542
+000000073414
+000000066283
+000000279503
+000000391652
+000000395169
+000000446249
+000000430804
+000000543916
+000000572478
+000000241617
+000000152514
+000000299785
+000000432636
+000000090818
+000000282994
+000000063403
+000000012181
+000000059708
+000000428120
+000000125184
+000000345401
+000000115088
+000000277722
+000000099317
+000000075212
+000000313990
+000000507362
+000000155569
+000000455103
+000000070586
+000000166706
+000000434668
+000000101657
+000000385666
+000000085302
+000000558276
+000000221546
+000000260097
+000000182243
+000000200794
+000000575257
+000000044604
+000000458189
+000000026227
+000000205846
+000000493384
+000000269946
+000000571880
+000000501314
+000000381318
+000000415964
+000000214008
+000000331753
+000000009908
+000000406155
+000000500984
+000000030791
+000000068697
+000000008773
+000000564902
+000000452566
+000000506965
+000000553501
+000000312841
+000000508412
+000000538411
+000000495790
+000000198367
+000000536820
+000000400133
+000000532267
+000000044038
+000000530583
+000000245243
+000000298461
+000000033652
+000000138303
+000000374947
+000000224874
+000000330329
+000000148004
+000000050461
+000000046365
+000000138192
+000000242345
+000000442428
+000000258119
+000000412978
+000000301506
+000000183276
+000000363559
+000000557901
+000000432226
+000000177619
+000000306264
+000000206398
+000000558435
+000000073981
+000000309402
+000000261071
+000000200654
+000000562208
+000000409443
+000000455343
+000000397512
+000000295057
+000000329724
+000000487421
+000000244074
+000000396260
+000000563809
+000000318161
+000000386111
+000000266920
+000000079905
+000000553306
+000000254117
+000000525860
+000000307781
+000000232905
+000000393508
+000000268826
+000000015987
+000000080738
+000000436172
+000000055066
+000000441483
+000000055465
+000000102610
+000000329235
+000000289758
+000000146917
+000000387513
+000000124331
+000000213623
+000000539067
+000000129257
+000000268688
+000000068212
+000000457121
+000000376153
+000000520663
+000000197300
+000000519475
+000000153126
+000000188522
+000000016544
+000000427632
+000000573518
+000000088846
+000000407970
+000000014921
+000000343068
+000000179921
+000000002495
+000000564475
+000000579544
+000000572015
+000000416145
+000000225751
+000000207629
+000000551279
+000000505226
+000000037746
+000000182015
+000000311082
+000000334073
+000000346309
+000000553108
+000000104898
+000000343599
+000000329355
+000000040699
+000000284688
+000000387563
+000000060688
+000000170960
+000000266562
+000000242757
+000000079298
+000000581662
+000000034121
+000000228794
+000000415967
+000000113861
+000000316383
+000000198786
+000000382386
+000000173474
+000000010449
+000000503771
+000000332113
+000000144809
+000000378401
+000000077926
+000000010909
+000000563046
+000000530396
+000000413287
+000000063508
+000000392629
+000000161348
+000000517851
+000000058736
+000000359033
+000000171185
+000000050655
+000000029023
+000000136185
+000000489624
+000000131884
+000000255954
+000000168999
+000000527243
+000000265096
+000000292982
+000000408873
+000000242709
+000000444337
+000000334194
+000000300534
+000000227451
+000000431236
+000000524247
+000000478406
+000000530406
+000000464176
+000000022834
+000000295668
+000000063370
+000000372861
+000000049184
+000000130651
+000000478981
+000000577484
+000000532247
+000000470085
+000000333067
+000000210086
+000000273324
+000000080739
+000000114926
+000000163729
+000000439969
+000000104756
+000000509095
+000000161506
+000000350649
+000000049567
+000000370697
+000000267256
+000000029794
+000000201814
+000000366558
+000000244003
+000000172702
+000000413300
+000000492318
+000000526966
+000000048795
+000000352802
+000000247184
+000000179261
+000000441147
+000000179620
+000000349603
+000000032990
+000000573246
+000000107262
+000000563647
+000000506169
+000000031946
+000000303944
+000000169466
+000000229599
+000000267416
+000000065793
+000000427152
+000000568440
+000000386497
+000000493148
+000000025145
+000000046634
+000000174845
+000000533431
+000000340208
+000000580951
+000000377294
+000000579545
+000000428975
+000000359203
+000000278045
+000000504748
+000000373753
+000000320947
+000000471235
+000000192098
+000000362071
+000000184908
+000000221380
+000000184161
+000000493136
+000000158779
+000000315609
+000000253890
+000000573791
+000000139702
+000000363486
+000000474155
+000000070758
+000000309848
+000000154610
+000000321308
+000000505849
+000000344924
+000000468538
+000000309241
+000000101702
+000000504970
+000000456652
+000000441169
+000000094890
+000000421533
+000000481042
+000000065072
+000000010196
+000000292818
+000000248310
+000000507479
+000000291038
+000000441738
+000000184698
+000000343972
+000000192436
+000000010395
+000000321665
+000000531944
+000000471085
+000000103510
+000000424731
+000000286751
+000000113089
+000000534686
+000000074336
+000000555590
+000000215488
+000000130981
+000000173532
+000000015618
+000000238299
+000000031566
+000000130637
+000000306365
+000000384036
+000000350933
+000000361376
+000000149381
+000000355748
+000000551896
+000000277055
+000000419942
+000000075090
+000000296707
+000000218854
+000000251125
+000000170930
+000000004936
+000000564861
+000000062562
+000000024351
+000000300815
+000000196524
+000000147216
+000000040531
+000000251736
+000000515287
+000000151651
+000000464238
+000000359872
+000000574384
+000000092017
+000000436436
+000000000996
+000000066066
+000000557664
+000000285825
+000000402235
+000000184633
+000000408098
+000000193599
+000000567982
+000000171467
+000000070164
+000000235366
+000000453260
+000000528372
+000000463303
+000000180925
+000000158233
+000000398895
+000000176462
+000000561436
+000000154207
+000000558741
+000000508612
+000000118060
+000000220782
+000000472445
+000000570755
+000000402313
+000000196064
+000000514902
+000000444173
+000000576030
+000000190440
+000000153618
+000000439423
+000000246955
+000000567189
+000000081081
+000000137661
+000000555358
+000000574592
+000000059582
+000000151842
+000000196852
+000000435894
+000000104825
+000000402908
+000000012319
+000000317365
+000000252137
+000000220453
+000000302243
+000000077477
+000000079710
+000000547036
+000000537862
+000000216837
+000000390785
+000000411191
+000000565788
+000000190133
+000000292512
+000000483013
+000000097260
+000000155108
+000000513712
+000000317962
+000000403950
+000000508818
+000000436464
+000000270079
+000000298395
+000000038046
+000000305414
+000000520208
+000000436287
+000000371348
+000000040085
+000000229385
+000000160283
+000000153307
+000000232127
+000000519138
+000000539071
+000000056312
+000000382148
+000000118108
+000000353568
+000000031971
+000000525932
+000000157634
+000000270354
+000000492853
+000000137842
+000000578977
+000000423343
+000000415340
+000000211350
+000000100698
+000000557609
+000000581835
+000000041284
+000000575354
+000000507533
+000000547858
+000000247167
+000000185070
+000000531873
+000000546647
+000000182658
+000000521712
+000000453509
+000000126642
+000000256734
+000000220838
+000000250802
+000000002024
+000000580671
+000000446391
+000000427150
+000000209539
+000000293228
+000000138806
+000000092645
+000000044039
+000000076674
+000000477643
+000000045173
+000000184578
+000000155741
+000000446764
+000000043376
+000000133995
+000000209068
+000000370399
+000000572675
+000000443281
+000000039926
+000000437810
+000000348555
+000000455246
+000000171639
+000000423990
+000000318385
+000000379285
+000000273156
+000000284684
+000000027903
+000000410932
+000000293265
+000000188252
+000000106383
+000000169959
+000000055443
+000000230837
+000000313596
+000000578481
+000000110759
+000000257958
+000000115649
+000000361798
+000000018293
+000000392879
+000000425304
+000000111318
+000000295379
+000000324308
+000000563840
+000000168260
+000000388298
+000000156555
+000000254022
+000000360541
+000000284133
+000000524168
+000000173490
+000000391674
+000000469514
+000000262159
+000000486159
+000000543985
+000000116182
+000000503318
+000000198349
+000000399618
+000000168225
+000000267978
+000000268809
+000000319412
+000000069309
+000000450305
+000000244923
+000000265840
+000000369016
+000000173742
+000000478670
+000000279066
+000000092034
+000000476313
+000000455325
+000000452516
+000000094535
+000000286361
+000000018647
+000000557227
+000000489031
+000000157249
+000000423391
+000000336933
+000000223035
+000000302572
+000000571839
+000000157834
+000000565765
+000000106644
+000000328246
+000000104191
+000000085962
+000000413346
+000000546451
+000000021294
+000000323583
+000000124516
+000000152192
+000000106490
+000000313946
+000000557114
+000000159831
+000000533843
+000000126296
+000000149546
+000000267708
+000000219361
+000000056878
+000000282186
+000000155482
+000000132330
+000000455010
+000000543872
+000000002240
+000000367400
+000000147196
+000000076409
+000000466591
+000000431750
+000000490842
+000000321666
+000000367814
+000000121326
+000000085212
+000000219249
+000000328847
+000000521222
+000000428686
+000000516766
+000000276781
+000000338289
+000000027009
+000000515390
+000000349447
+000000561938
+000000344314
+000000266857
+000000189853
+000000213366
+000000191120
+000000281878
+000000007796
+000000202827
+000000125435
+000000290889
+000000191174
+000000563155
+000000087876
+000000397479
+000000098720
+000000291655
+000000096328
+000000076988
+000000280324
+000000051076
+000000275529
+000000069325
+000000466430
+000000019980
+000000192780
+000000201419
+000000396304
+000000335433
+000000466856
+000000388652
+000000498091
+000000021254
+000000432395
+000000575916
+000000141910
+000000554759
+000000347312
+000000542549
+000000092280
+000000572183
+000000072898
+000000427013
+000000462519
+000000421544
+000000574250
+000000026946
+000000462639
+000000050552
+000000383721
+000000031568
+000000131894
+000000224895
+000000375054
+000000465786
+000000305496
+000000495797
+000000545749
+000000130032
+000000316856
+000000364374
+000000119529
+000000186233
+000000385743
+000000298893
+000000500765
+000000275868
+000000496887
+000000123891
+000000049445
+000000044609
+000000490322
+000000016209
+000000516768
+000000345535
+000000071684
+000000185276
+000000561818
+000000313710
+000000078000
+000000146901
+000000208690
+000000384883
+000000040418
+000000413341
+000000382652
+000000438448
+000000203481
+000000559618
+000000568455
+000000544746
+000000079878
+000000286285
+000000309753
+000000523183
+000000398661
+000000532686
+000000278923
+000000450914
+000000313555
+000000002388
+000000313420
+000000039371
+000000333586
+000000099316
+000000310419
+000000491642
+000000531023
+000000185512
+000000116746
+000000384698
+000000526796
+000000267624
+000000277162
+000000323804
+000000170862
+000000010256
+000000101684
+000000480861
+000000013428
+000000166403
+000000188132
+000000187279
+000000157815
+000000083950
+000000071621
+000000026799
+000000090718
+000000382006
+000000175236
+000000028698
+000000174868
+000000227960
+000000385236
+000000258788
+000000140736
+000000335885
+000000057945
+000000570598
+000000536894
+000000459190
+000000087504
+000000083959
+000000387909
+000000311068
+000000458599
+000000442332
+000000475304
+000000038252
+000000552352
+000000303281
+000000425153
+000000243283
+000000445887
+000000192266
+000000356725
+000000518530
+000000326770
+000000304818
+000000282419
+000000553154
+000000483945
+000000324989
+000000271324
+000000443723
+000000164583
+000000453875
+000000361108
+000000212257
+000000138397
+000000009199
+000000075369
+000000430821
+000000132342
+000000473208
+000000342988
+000000541532
+000000527623
+000000427083
+000000272991
+000000257176
+000000259798
+000000351948
+000000442416
+000000376017
+000000557442
+000000564123
+000000061564
+000000509986
+000000253732
+000000188062
+000000448696
+000000044083
+000000575483
+000000461681
+000000468287
+000000006450
+000000127647
+000000069955
+000000119706
+000000066761
+000000289575
+000000337917
+000000080798
+000000080749
+000000089232
+000000484651
+000000031411
+000000531970
+000000019447
+000000416476
+000000431923
+000000074331
+000000107880
+000000208724
+000000052774
+000000027326
+000000315916
+000000195559
+000000077380
+000000257379
+000000393379
+000000169849
+000000023623
+000000302185
+000000530064
+000000257497
+000000092526
+000000469609
+000000541255
+000000260899
+000000382017
+000000436105
+000000125201
+000000236399
+000000057903
+000000046650
+000000051948
+000000465441
+000000280799
+000000476562
+000000289333
+000000173289
+000000248649
+000000091553
+000000553388
+000000580003
+000000376811
+000000118918
+000000250440
+000000127540
+000000483771
+000000238822
+000000078621
+000000496100
+000000439398
+000000107783
+000000069163
+000000179477
+000000002544
+000000296730
+000000175270
+000000219443
+000000009975
+000000375573
+000000419327
+000000136181
+000000010077
+000000186785
+000000337771
+000000194193
+000000242362
+000000262325
+000000162598
+000000565311
+000000522450
+000000263333
+000000470361
+000000219204
+000000263901
+000000191242
+000000286820
+000000425400
+000000533825
+000000507946
+000000261481
+000000521216
+000000203667
+000000376747
+000000341065
+000000405527
+000000015386
+000000402004
+000000089322
+000000449901
+000000547422
+000000511379
+000000281564
+000000311868
+000000439859
+000000174171
+000000266310
+000000375926
+000000532083
+000000147873
+000000094502
+000000426602
+000000511425
+000000131587
+000000456483
+000000547614
+000000142207
+000000487551
+000000131570
+000000481425
+000000206548
+000000023400
+000000366162
+000000469181
+000000130270
+000000304828
+000000478922
+000000188922
+000000466787
+000000020652
+000000505895
+000000042321
+000000543961
+000000082465
+000000418333
+000000317019
+000000164121
+000000426146
+000000476873
+000000305634
+000000052951
+000000574443
+000000484346
+000000005635
+000000330391
+000000450959
+000000444770
+000000430473
+000000398622
+000000393583
+000000349212
+000000556837
+000000147246
+000000441816
+000000401393
+000000131126
+000000147030
+000000194419
+000000147826
+000000293378
+000000277807
+000000379580
+000000552336
+000000121828
+000000554136
+000000338521
+000000026445
+000000518701
+000000328499
+000000179611
+000000490118
+000000097974
+000000000387
+000000039315
+000000512974
+000000483357
+000000480239
+000000118299
+000000405196
+000000282834
+000000538465
+000000328890
+000000027626
+000000287094
+000000060409
+000000017625
+000000571938
+000000514034
+000000436665
+000000028978
+000000534349
+000000540186
+000000222829
+000000385916
+000000357612
+000000109319
+000000231020
+000000571695
+000000159707
+000000345062
+000000427888
+000000368764
+000000369669
+000000006874
+000000350988
+000000033656
+000000132303
+000000039697
+000000071217
+000000416972
+000000057340
+000000394801
+000000547131
+000000289864
+000000271964
+000000573756
+000000313644
+000000168718
+000000573576
+000000409744
+000000422954
+000000205474
+000000296283
+000000411792
+000000437093
+000000301262
+000000355622
+000000045701
+000000038816
+000000330914
+000000546620
+000000244218
+000000211756
+000000569674
+000000120199
+000000575594
+000000138456
+000000245534
+000000494508
+000000549287
+000000072041
+000000275102
+000000563601
+000000042578
+000000523390
+000000312887
+000000449073
+000000526391
+000000218608
+000000208830
+000000104320
+000000115777
+000000268390
+000000443701
+000000049369
+000000553588
+000000345870
+000000211346
+000000172627
+000000192577
+000000116250
+000000362365
+000000302325
+000000083754
+000000382951
+000000134951
+000000113956
+000000558850
+000000487766
+000000142656
+000000471226
+000000552876
+000000132699
+000000100244
+000000182240
+000000388744
+000000252000
+000000460866
+000000537720
+000000394288
+000000375654
+000000017676
+000000085281
+000000446084
+000000203937
+000000318789
+000000346876
+000000434870
+000000470762
+000000181351
+000000556999
+000000169766
+000000373532
+000000046171
+000000363806
+000000095148
+000000511523
+000000419979
+000000074328
+000000276387
+000000140021
+000000122352
+000000219655
+000000234847
+000000064779
+000000220823
+000000115887
+000000549182
+000000420059
+000000079611
+000000277543
+000000462968
+000000151178
+000000378723
+000000012377
+000000201460
+000000413240
+000000303453
+000000180179
+000000287496
+000000234942
+000000068158
+000000156832
+000000484260
+000000356474
+000000003131
+000000414700
+000000186880
+000000224777
+000000195081
+000000352305
+000000543631
+000000222424
+000000326035
+000000497736
+000000046009
+000000050948
+000000024637
+000000098501
+000000101127
+000000513497
+000000206410
+000000436875
+000000071093
+000000360408
+000000508567
+000000558736
+000000379376
+000000123193
+000000109730
+000000442473
+000000171349
+000000148343
+000000380058
+000000145284
+000000531499
+000000362711
+000000552929
+000000336937
+000000048252
+000000252348
+000000423172
+000000026762
+000000352649
+000000530163
+000000421009
+000000023729
+000000571287
+000000427943
+000000110447
+000000292921
+000000521549
+000000303507
+000000338370
+000000116526
+000000101692
+000000187610
+000000540925
+000000202880
+000000332815
+000000540257
+000000344942
+000000446006
+000000189785
+000000541964
+000000367449
+000000551206
+000000537553
+000000488796
+000000349782
+000000118342
+000000411871
+000000379378
+000000089714
+000000153094
+000000316723
+000000260581
+000000461092
+000000176142
+000000340637
+000000332027
+000000515050
+000000295116
+000000063409
+000000052256
+000000126345
+000000201420
+000000373189
+000000246499
+000000208894
+000000576307
+000000019484
+000000238933
+000000094954
+000000416356
+000000044767
+000000069496
+000000173279
+000000535844
+000000237844
+000000378912
+000000343193
+000000251524
+000000402071
+000000413497
+000000220621
+000000132447
+000000004245
+000000486541
+000000044749
+000000402905
+000000572978
+000000068411
+000000499913
+000000399001
+000000419560
+000000028293
+000000342494
+000000501038
+000000298141
+000000263320
+000000351116
+000000106194
+000000012923
+000000417458
+000000523426
+000000112805
+000000560052
+000000051941
+000000180971
+000000157860
+000000038092
+000000355688
+000000136542
+000000097339
+000000384332
+000000242695
+000000252340
+000000216098
+000000230763
+000000471634
+000000521674
+000000409833
+000000506270
+000000410375
+000000333823
+000000302278
+000000259337
+000000067261
+000000146774
+000000552460
+000000385114
+000000115191
+000000276852
+000000335799
+000000072995
+000000421321
+000000476120
+000000118927
+000000404988
+000000325862
+000000391154
+000000246586
+000000078828
+000000418002
+000000388721
+000000381003
+000000578485
+000000340884
+000000077979
+000000207779
+000000354380
+000000318736
+000000179191
+000000210680
+000000417957
+000000457133
+000000403145
+000000135680
+000000187560
+000000108548
+000000248009
+000000579034
+000000462192
+000000258191
+000000254418
+000000119418
+000000446045
+000000192269
+000000554145
+000000026800
+000000009186
+000000211837
+000000574720
+000000575121
+000000428208
+000000139067
+000000375198
+000000303549
+000000367106
+000000486994
+000000451909
+000000532958
+000000055290
+000000335976
+000000448053
+000000333245
+000000101675
+000000142182
+000000029268
+000000168482
+000000524662
+000000257513
+000000320376
+000000099553
+000000180079
+000000574747
+000000045204
+000000561681
+000000459898
+000000278601
+000000174457
+000000196210
+000000043176
+000000218215
+000000579326
+000000202392
+000000426824
+000000165202
+000000202783
+000000373022
+000000070491
+000000502863
+000000521887
+000000225738
+000000486170
+000000529117
+000000116370
+000000279264
+000000180857
+000000332943
+000000125056
+000000494085
+000000578786
+000000151005
+000000229569
+000000211529
+000000564432
+000000060316
+000000225121
+000000266133
+000000476489
+000000318405
+000000151054
+000000443591
+000000285612
+000000409525
+000000106557
+000000199203
+000000400792
+000000376970
+000000460296
+000000171768
+000000116845
+000000489374
+000000177284
+000000026247
+000000328454
+000000238022
+000000260232
+000000169154
+000000502297
+000000306327
+000000304605
+000000486989
+000000195916
+000000441225
+000000135900
+000000222015
+000000108243
+000000478597
+000000348675
+000000143329
+000000391492
+000000372427
+000000567613
+000000275642
+000000167581
+000000409889
+000000083986
+000000449699
+000000119210
+000000199204
+000000138032
+000000292868
+000000321673
+000000370763
+000000576290
+000000563764
+000000132686
+000000310342
+000000118724
+000000132523
+000000502178
+000000323123
+000000330402
+000000033939
+000000367767
+000000127282
+000000194538
+000000541264
+000000568286
+000000066767
+000000106154
+000000179763
+000000113845
+000000339966
+000000309850
+000000053317
+000000246218
+000000027329
+000000213554
+000000403535
+000000122172
+000000338963
+000000488135
+000000535688
+000000513999
+000000267988
+000000425461
+000000358566
+000000124215
+000000250234
+000000262979
+000000417384
+000000470808
+000000477143
+000000369721
+000000404147
+000000473503
+000000453785
+000000483941
+000000456569
+000000231503
+000000306191
+000000163628
+000000079528
+000000572894
+000000323499
+000000161169
+000000084158
+000000153259
+000000265748
+000000413602
+000000055521
+000000281774
+000000307030
+000000438851
+000000103272
+000000101160
+000000302634
+000000332182
+000000190861
+000000406926
+000000374677
+000000341874
+000000246540
+000000337511
+000000534593
+000000528875
+000000328743
+000000276195
+000000267552
+000000377282
+000000064313
+000000581262
+000000117841
+000000430805
+000000472836
+000000453926
+000000298914
+000000009288
+000000364860
+000000052956
+000000320788
+000000514217
+000000207916
+000000267284
+000000275335
+000000452783
+000000453885
+000000116444
+000000148859
+000000331329
+000000513505
+000000013914
+000000461939
+000000572859
+000000341804
+000000444672
+000000197759
+000000488812
+000000009398
+000000348924
+000000248018
+000000550643
+000000314929
+000000128813
+000000302035
+000000301409
+000000260808
+000000229315
+000000366527
+000000493720
+000000164461
+000000036477
+000000342561
+000000241916
+000000388511
+000000522285
+000000333502
+000000242597
+000000233808
+000000232987
+000000239082
+000000079322
+000000264539
+000000125782
+000000179019
+000000537222
+000000561495
+000000564707
+000000453626
+000000074963
+000000325894
+000000544719
+000000103058
+000000040896
+000000258396
+000000109427
+000000476140
+000000189983
+000000480489
+000000505493
+000000054961
+000000482432
+000000044913
+000000219590
+000000572260
+000000365911
+000000015155
+000000078554
+000000557059
+000000224907
+000000018864
+000000029648
+000000007205
+000000411877
+000000575128
+000000373783
+000000222003
+000000551607
+000000574152
+000000446603
+000000534001
+000000462773
+000000024805
+000000149295
+000000355767
+000000404273
+000000007931
+000000547411
+000000176622
+000000360660
+000000269749
+000000435758
+000000083548
+000000351057
+000000378278
+000000419879
+000000473260
+000000486655
+000000280189
+000000014759
+000000390474
+000000071917
+000000544786
+000000510976
+000000005046
+000000496618
+000000072077
+000000137320
+000000283168
+000000298172
+000000474543
+000000478105
+000000496166
+000000542950
+000000269380
+000000028451
+000000361321
+000000554756
+000000465204
+000000080818
+000000324642
+000000030447
+000000548930
+000000525568
+000000205572
+000000336354
+000000110257
+000000153585
+000000388008
+000000031024
+000000433019
+000000479357
+000000338363
+000000544427
+000000073782
+000000265161
+000000299722
+000000063958
+000000064557
+000000052490
+000000066753
+000000474347
+000000539056
+000000329535
+000000437318
+000000186881
+000000447549
+000000131074
+000000091973
+000000232790
+000000558707
+000000316157
+000000230094
+000000185820
+000000132313
+000000157238
+000000538058
+000000029680
+000000206416
+000000193403
+000000228518
+000000274360
+000000397832
+000000366001
+000000108242
+000000361381
+000000491914
+000000523876
+000000455290
+000000353902
+000000168194
+000000007361
+000000176363
+000000502534
+000000115845
+000000317474
+000000146127
+000000186991
+000000007498
+000000457460
+000000381426
+000000194194
+000000173932
+000000080535
+000000538944
+000000505597
+000000511358
+000000119292
+000000435923
+000000222726
+000000505592
+000000242465
+000000200941
+000000061138
+000000022090
+000000293810
+000000190022
+000000044818
+000000286442
+000000160000
+000000031418
+000000409108
+000000427805
+000000045356
+000000213652
+000000489916
+000000144182
+000000482037
+000000170968
+000000084389
+000000403644
+000000054038
+000000242096
+000000428026
+000000025014
+000000001205
+000000106902
+000000291333
+000000542130
+000000110324
+000000217919
+000000375192
+000000093014
+000000396998
+000000276528
+000000568256
+000000450771
+000000053842
+000000553682
+000000269508
+000000068502
+000000353300
+000000196111
+000000456563
+000000251167
+000000112928
+000000531143
+000000032271
+000000278753
+000000188215
+000000562382
+000000285307
+000000034892
+000000079111
+000000277375
+000000345238
+000000425055
+000000182773
+000000437435
+000000260829
+000000144275
+000000402507
+000000571641
+000000357830
+000000351621
+000000491611
+000000119525
+000000027353
+000000211230
+000000549720
+000000024744
+000000506327
+000000572372
+000000101522
+000000133125
+000000058231
+000000080974
+000000001737
+000000098328
+000000142322
+000000223289
+000000200642
+000000202832
+000000487534
+000000146126
+000000338427
+000000574471
+000000156754
+000000511706
+000000476300
+000000014276
+000000168246
+000000565365
+000000041119
+000000014017
+000000523772
+000000356028
+000000415849
+000000559565
+000000506842
+000000215718
+000000259354
+000000324832
+000000189083
+000000418818
+000000063726
+000000357235
+000000073685
+000000110308
+000000580538
+000000030446
+000000093603
+000000317640
+000000299573
+000000270554
+000000573196
+000000276015
+000000267055
+000000549232
+000000215812
+000000133636
+000000074982
+000000170413
+000000060554
+000000479394
+000000502808
+000000427239
+000000460988
+000000096111
+000000138164
+000000472097
+000000405108
+000000162357
+000000472671
+000000102345
+000000329245
+000000185848
+000000138896
+000000204436
+000000051993
+000000370749
+000000163351
+000000315792
+000000043438
+000000414870
+000000537461
+000000438004
+000000234794
+000000446303
+000000436941
+000000197745
+000000163192
+000000051277
+000000200548
+000000442724
+000000343630
+000000158311
+000000169726
+000000376187
+000000213650
+000000174866
+000000529549
+000000494115
+000000129699
+000000372495
+000000177339
+000000222191
+000000316514
+000000286702
+000000012321
+000000112359
+000000255524
+000000490579
+000000027439
+000000196974
+000000242073
+000000026735
+000000216218
+000000277435
+000000453164
+000000145087
+000000361905
+000000439123
+000000379313
+000000076652
+000000472700
+000000555472
+000000136881
+000000486072
+000000078283
+000000247265
+000000132682
+000000028260
+000000262009
+000000423909
+000000283530
+000000303804
+000000229884
+000000310440
+000000076835
+000000528261
+000000050727
+000000023433
+000000112327
+000000559262
+000000141448
+000000107776
+000000076454
+000000223470
+000000152209
+000000235722
+000000379443
+000000342797
+000000527728
+000000519626
+000000507815
+000000271712
+000000250533
+000000036324
+000000531111
+000000258040
+000000507326
+000000398628
+000000505126
+000000164095
+000000191050
+000000281853
+000000266136
+000000176090
+000000090830
+000000067961
+000000250066
+000000292181
+000000001448
+000000299017
+000000103673
+000000564247
+000000066263
+000000311999
+000000278064
+000000481753
+000000407063
+000000504766
+000000433647
+000000546114
+000000556540
+000000153561
+000000180402
+000000347235
+000000295960
+000000041547
+000000139796
+000000366353
+000000324774
+000000246672
+000000113216
+000000227779
+000000439493
+000000121318
+000000259296
+000000210267
+000000469894
+000000499237
+000000084440
+000000202298
+000000380138
+000000062263
+000000120197
+000000086584
+000000492163
+000000518215
+000000030276
+000000186116
+000000563444
+000000213113
+000000474019
+000000364266
+000000172889
+000000128222
+000000174167
+000000228156
+000000296769
+000000207089
+000000117139
+000000072899
+000000296225
+000000220306
+000000230966
+000000462602
+000000543392
+000000331282
+000000365703
+000000414401
+000000313334
+000000368659
+000000564812
+000000404748
+000000140999
+000000186586
+000000551934
+000000512086
+000000466827
+000000553678
+000000147615
+000000272783
+000000214280
+000000503637
+000000421676
+000000537157
+000000485605
+000000000661
+000000416300
+000000369543
+000000254250
+000000188479
+000000050624
+000000227568
+000000000144
+000000005180
+000000355263
+000000190322
+000000213399
+000000271148
+000000428125
+000000425179
+000000484948
+000000505687
+000000544380
+000000543376
+000000108961
+000000532631
+000000490688
+000000444582
+000000361923
+000000026812
+000000089481
+000000472392
+000000331129
+000000465545
+000000476889
+000000578411
+000000187887
+000000322847
+000000196817
+000000407334
+000000016046
+000000528944
+000000411700
+000000394334
+000000174239
+000000452195
+000000581749
+000000292271
+000000148358
+000000564629
+000000425573
+000000404795
+000000270303
+000000431573
+000000476967
+000000491662
+000000318224
+000000166575
+000000250387
+000000348931
+000000015963
+000000081942
+000000357734
+000000219329
+000000416774
+000000295269
+000000223374
+000000333876
+000000383562
+000000147293
+000000366461
+000000307352
+000000182377
+000000546164
+000000359140
+000000061230
+000000195343
+000000066988
+000000015049
+000000333824
+000000235239
+000000008789
+000000183657
+000000105040
+000000104865
+000000334995
+000000050482
+000000105670
+000000226206
+000000498665
+000000127342
+000000094538
+000000302997
+000000217672
+000000330532
+000000262013
+000000578796
+000000014967
+000000076138
+000000289889
+000000035400
+000000149712
+000000172040
+000000526227
+000000089834
+000000203858
+000000097028
+000000071914
+000000520843
+000000002451
+000000532037
+000000574281
+000000320125
+000000421969
+000000272217
+000000328065
+000000430472
+000000443583
+000000011552
+000000375226
+000000466321
+000000543762
+000000542988
+000000092514
+000000432851
+000000565117
+000000159880
+000000005344
+000000176034
+000000024323
+000000071429
+000000502665
+000000104232
+000000215908
+000000257416
+000000358675
+000000364642
+000000342394
+000000493067
+000000427886
+000000023929
+000000531910
+000000234697
+000000325684
+000000567198
+000000437599
+000000155884
+000000434016
+000000108000
+000000140210
+000000468670
+000000216254
+000000074555
+000000124157
+000000079559
+000000003314
+000000334109
+000000026997
+000000170832
+000000098478
+000000581038
+000000030381
+000000064150
+000000166130
+000000093590
+000000281442
+000000495291
+000000426976
+000000044937
+000000464859
+000000327794
+000000153998
+000000057739
+000000007040
+000000515196
+000000216928
+000000078760
+000000218011
+000000363474
+000000418938
+000000177609
+000000020512
+000000420819
+000000046786
+000000257847
+000000500228
+000000128568
+000000413871
+000000234699
+000000428304
+000000162213
+000000146685
+000000460043
+000000207264
+000000525265
+000000017152
+000000026376
+000000379155
+000000139436
+000000544582
+000000531415
+000000347702
+000000255385
+000000518883
+000000096958
+000000548593
+000000415665
+000000556282
+000000046615
+000000356478
+000000445601
+000000404910
+000000067118
+000000039312
+000000049473
+000000493235
+000000081307
+000000360329
+000000230000
+000000054323
+000000388066
+000000315453
+000000183201
+000000061919
+000000157789
+000000270295
+000000548875
+000000507329
+000000414819
+000000571553
+000000508815
+000000195890
+000000400204
+000000329150
+000000398884
+000000332732
+000000455878
+000000033144
+000000549317
+000000397473
+000000078572
+000000504382
+000000194671
+000000267531
+000000284778
+000000527520
+000000128932
+000000451798
+000000543028
+000000458610
+000000258501
+000000566837
+000000171086
+000000447596
+000000543534
+000000221234
+000000554523
+000000365729
+000000257020
+000000140761
+000000294615
+000000102057
+000000008934
+000000233948
+000000313757
+000000551542
+000000415209
+000000301628
+000000443223
+000000151307
+000000032639
+000000257529
+000000061562
+000000311469
+000000295473
+000000533715
+000000558942
+000000390290
+000000446428
+000000425536
+000000227732
+000000123066
+000000002570
+000000371149
+000000355228
+000000546065
+000000577212
+000000028982
+000000578482
+000000389914
+000000069564
+000000179409
+000000221561
+000000289197
+000000170579
+000000272487
+000000530855
+000000314055
+000000142113
+000000551677
+000000196663
+000000046883
+000000411475
+000000014850
+000000280123
+000000441382
+000000136002
+000000194140
+000000462736
+000000565235
+000000135875
+000000392555
+000000196594
+000000287384
+000000392537
+000000234997
+000000169468
+000000273053
+000000416467
+000000468604
+000000157825
+000000296110
+000000121328
+000000018183
+000000183719
+000000528516
+000000206377
+000000077282
+000000005154
+000000306169
+000000302982
+000000412874
+000000075829
+000000140682
+000000365592
+000000379891
+000000348616
+000000403518
+000000358134
+000000020818
+000000318039
+000000546016
+000000188621
+000000236629
+000000397291
+000000190981
+000000065490
+000000539158
+000000015693
+000000579781
+000000412753
+000000206793
+000000503935
+000000044250
+000000022287
+000000065889
+000000074938
+000000079971
+000000401037
+000000024136
+000000125252
+000000131128
+000000050965
+000000576343
+000000218113
+000000295756
+000000105866
+000000180767
+000000278280
+000000288874
+000000518918
+000000254808
+000000476634
+000000295887
+000000346890
+000000577447
+000000485928
+000000407118
+000000463596
+000000202587
+000000543239
+000000398548
+000000127495
+000000252549
+000000408542
+000000240501
+000000238554
+000000242120
+000000067593
+000000261066
+000000362785
+000000471086
+000000481889
+000000495609
+000000257211
+000000006773
+000000404635
+000000080408
+000000216841
+000000406857
+000000021097
+000000380678
+000000008228
+000000283583
+000000275515
+000000195368
+000000177810
+000000384957
+000000508466
+000000199678
+000000282316
+000000222686
+000000240119
+000000296844
+000000397181
+000000327500
+000000230428
+000000158028
+000000108316
+000000424978
+000000459325
+000000158642
+000000170207
+000000437543
+000000416325
+000000309720
+000000483955
+000000352533
+000000575079
+000000402619
+000000451151
+000000448702
+000000040272
+000000416936
+000000472896
+000000320403
+000000020137
+000000153980
+000000183080
+000000201477
+000000447378
+000000071718
+000000095300
+000000195860
+000000008418
+000000268866
+000000298809
+000000387388
+000000305441
+000000431401
+000000285562
+000000099540
+000000446459
+000000406332
+000000465530
+000000243745
+000000213391
+000000536292
+000000355223
+000000132485
+000000185248
+000000301875
+000000544253
+000000165231
+000000366956
+000000172910
+000000568963
+000000562870
+000000016839
+000000273188
+000000030803
+000000214634
+000000482631
+000000317169
+000000197499
+000000135438
+000000278660
+000000163370
+000000238843
+000000534035
+000000470907
+000000083473
+000000357644
+000000460156
+000000233395
+000000461774
+000000455422
+000000411385
+000000405718
+000000450856
+000000058106
+000000028039
+000000430710
+000000341075
+000000134346
+000000514514
+000000455395
+000000237851
+000000219544
+000000223988
+000000237100
+000000581392
+000000320182
+000000340103
+000000005754
+000000209824
+000000113630
+000000136153
+000000288723
+000000119145
+000000065628
+000000091778
+000000178248
+000000238713
+000000504020
+000000236717
+000000389677
+000000398540
+000000447020
+000000514241
+000000487774
+000000282675
+000000027734
+000000455674
+000000253784
+000000209671
+000000156499
+000000181756
+000000214367
+000000251476
+000000331354
+000000500422
+000000571535
+000000123410
+000000326640
+000000082779
+000000360910
+000000559591
+000000495460
+000000057173
+000000021671
+000000221307
+000000346290
+000000094351
+000000465060
+000000498100
+000000088634
+000000414711
+000000242940
+000000549629
+000000256950
+000000526956
+000000348146
+000000198997
+000000179519
+000000171154
+000000065612
+000000283970
+000000401944
+000000492037
+000000214320
+000000176935
+000000498152
+000000577091
+000000196473
+000000542715
+000000122235
+000000018531
+000000460022
+000000260503
+000000347967
+000000298956
+000000062540
+000000143420
+000000158514
+000000294267
+000000256860
+000000053436
+000000580766
+000000217596
+000000319685
+000000026435
+000000203349
+000000374201
+000000420673
+000000479417
+000000395120
+000000382751
+000000539915
+000000011196
+000000465138
+000000147108
+000000203486
+000000262471
+000000334311
+000000461819
+000000305374
+000000472461
+000000450004
+000000089503
+000000043266
+000000507516
+000000572051
+000000331978
+000000233780
+000000272051
+000000512845
+000000265713
+000000084949
+000000205875
+000000353275
+000000258509
+000000189351
+000000326011
+000000155035
+000000488845
+000000431240
+000000193074
+000000340642
+000000043464
+000000347233
+000000300644
+000000088652
+000000462974
+000000384424
+000000517109
+000000485406
+000000311424
+000000236484
+000000260257
+000000180575
+000000330621
+000000558090
+000000399532
+000000466450
+000000317512
+000000483045
+000000465776
+000000131527
+000000256091
+000000046428
+000000170654
+000000428837
+000000575511
+000000221985
+000000172350
+000000408029
+000000066708
+000000399680
+000000131015
+000000304973
+000000387903
+000000028942
+000000553772
+000000275660
+000000128690
+000000237263
+000000280249
+000000349875
+000000457146
+000000573062
+000000556030
+000000537671
+000000163743
+000000402359
+000000139130
+000000092674
+000000042422
+000000252829
+000000536235
+000000186828
+000000216176
+000000117396
+000000023093
+000000147256
+000000278242
+000000093565
+000000041913
+000000285929
+000000040181
+000000549687
+000000013835
+000000091966
+000000512920
+000000227480
+000000177167
+000000265636
+000000143862
+000000093570
+000000257255
+000000494072
+000000554310
+000000176912
+000000524773
+000000452968
+000000282808
+000000063835
+000000149422
+000000343596
+000000279511
+000000557931
+000000482984
+000000558181
+000000486290
+000000572055
+000000215679
+000000515202
+000000018874
+000000317286
+000000058250
+000000355069
+000000196521
+000000136111
+000000050356
+000000254479
+000000400552
+000000453948
+000000441906
+000000520229
+000000225704
+000000303423
+000000209015
+000000029357
+000000038314
+000000511446
+000000451172
+000000435988
+000000557315
+000000155355
+000000156533
+000000196719
+000000345497
+000000424326
+000000541219
+000000352959
+000000100417
+000000421986
+000000145479
+000000252610
+000000439537
+000000088045
+000000046359
+000000451706
+000000183806
+000000450849
+000000219619
+000000455353
+000000183603
+000000457394
+000000315521
+000000157497
+000000556726
+000000405376
+000000155540
+000000538190
+000000392062
+000000296867
+000000136587
+000000459361
+000000306258
+000000537919
+000000458204
+000000093786
+000000256806
+000000363570
+000000035123
+000000224273
+000000535786
+000000125412
+000000477434
+000000483656
+000000434829
+000000227523
+000000361193
+000000067143
+000000393696
+000000184446
+000000168839
+000000170041
+000000151268
+000000244872
+000000066046
+000000254989
+000000026958
+000000443391
+000000146249
+000000237041
+000000519077
+000000407509
+000000230582
+000000208644
+000000502084
+000000208310
+000000054171
+000000287108
+000000364064
+000000433921
+000000221045
+000000468912
+000000475810
+000000449529
+000000429228
+000000263783
+000000328054
+000000135976
+000000006211
+000000133517
+000000312630
+000000151053
+000000421999
+000000253675
+000000106241
+000000193044
+000000290608
+000000387318
+000000337297
+000000377595
+000000388290
+000000225943
+000000545308
+000000294487
+000000465049
+000000140988
+000000324914
+000000404596
+000000262677
+000000169934
+000000010907
+000000014282
+000000491430
+000000105396
+000000253261
+000000169313
+000000575376
+000000386700
+000000083331
+000000260330
+000000229813
+000000190395
+000000200817
+000000558711
+000000579437
+000000070588
+000000205543
+000000454956
+000000057350
+000000129431
+000000435037
+000000190872
+000000499716
+000000163608
+000000070688
+000000199669
+000000415203
+000000083547
+000000137717
+000000050961
+000000282365
+000000183253
+000000450886
+000000499779
+000000573885
+000000560358
+000000518521
+000000435783
+000000412842
+000000146730
+000000323812
+000000115292
+000000205781
+000000283982
+000000026731
+000000407975
+000000384085
+000000082457
+000000203069
+000000515195
+000000047936
+000000333376
+000000077472
+000000444082
+000000477389
+000000230050
+000000436837
+000000558362
+000000168185
+000000573483
+000000089223
+000000063540
+000000160860
+000000517879
+000000147553
+000000246530
+000000338248
+000000329966
+000000246197
+000000391684
+000000200133
+000000555814
+000000192259
+000000029091
+000000137591
+000000038697
+000000271577
+000000280530
+000000088575
+000000353102
+000000480948
+000000295197
+000000190575
+000000425187
+000000173211
+000000195790
+000000178415
+000000371953
+000000541456
+000000515423
+000000101862
+000000279154
+000000369125
+000000304706
+000000544301
+000000166127
+000000517626
+000000460422
+000000353709
+000000285388
+000000468960
+000000551609
+000000045478
+000000525462
+000000226459
+000000073726
+000000287027
+000000477052
+000000272111
+000000391726
+000000350328
+000000363605
+000000343571
+000000058726
+000000117191
+000000115299
+000000226583
+000000498319
+000000463338
+000000416841
+000000282479
+000000132935
+000000255453
+000000406959
+000000122007
+000000110374
+000000505965
+000000581362
+000000168010
+000000282328
+000000355193
+000000095516
+000000526898
+000000490046
+000000378089
+000000085338
+000000301012
+000000064798
+000000333106
+000000402820
+000000226084
+000000027235
+000000218274
+000000118413
+000000346938
+000000066027
+000000245419
+000000381122
+000000556120
+000000432201
+000000445446
+000000153589
+000000236199
+000000055085
+000000025535
+000000029753
+000000237872
+000000289067
+000000367788
+000000438922
+000000159754
+000000313345
+000000439932
+000000498994
+000000083599
+000000294131
+000000232410
+000000049733
+000000313148
+000000039884
+000000025743
+000000226461
+000000314376
+000000314833
+000000080339
+000000375169
+000000281617
+000000322692
+000000474279
+000000042614
+000000434097
+000000020915
+000000283043
+000000176414
+000000471905
+000000337338
+000000400311
+000000037509
+000000299811
+000000410608
+000000174623
+000000141166
+000000109653
+000000158088
+000000164710
+000000069236
+000000300989
+000000295049
+000000557573
+000000493161
+000000138124
+000000444336
+000000454068
+000000560186
+000000335459
+000000453390
+000000432619
+000000505825
+000000175231
+000000295250
+000000545440
+000000310094
+000000270758
+000000108602
+000000500921
+000000078536
+000000386253
+000000027879
+000000378059
+000000303177
+000000361119
+000000402829
+000000091728
+000000212239
+000000091454
+000000154011
+000000467727
+000000132306
+000000300147
+000000576829
+000000132814
+000000084165
+000000069200
+000000329182
+000000390086
+000000394715
+000000335807
+000000443869
+000000417544
+000000368293
+000000369144
+000000318381
+000000510681
+000000269199
+000000206958
+000000347933
+000000330529
+000000313412
+000000014974
+000000569325
+000000042333
+000000070285
+000000495457
+000000239943
+000000522880
+000000384261
+000000095320
+000000262608
+000000204458
+000000543322
+000000113126
+000000339634
+000000189461
+000000501062
+000000327567
+000000429407
+000000215565
+000000460068
+000000505389
+000000139490
+000000182316
+000000232085
+000000498650
+000000090058
+000000511828
+000000107427
+000000130778
+000000505486
+000000137925
+000000427767
+000000214975
+000000468237
+000000007867
+000000563920
+000000335047
+000000393989
+000000051898
+000000194956
+000000133791
+000000295932
+000000258288
+000000031437
+000000103430
+000000492647
+000000455311
+000000558128
+000000435994
+000000044291
+000000237697
+000000053999
+000000289004
+000000394504
+000000444340
+000000464951
+000000099342
+000000018191
+000000257988
+000000551796
+000000266115
+000000263881
+000000378790
+000000092244
+000000381945
+000000296134
+000000036382
+000000551349
+000000409098
+000000459982
+000000434463
+000000303761
+000000364467
+000000436859
+000000379836
+000000070479
+000000294138
+000000091942
+000000448917
+000000458836
+000000288602
+000000232618
+000000337690
+000000213535
+000000311567
+000000003812
+000000122874
+000000406286
+000000466774
+000000317795
+000000454623
+000000100322
+000000112622
+000000055735
+000000074554
+000000401785
+000000276004
+000000460964
+000000568425
+000000047512
+000000045574
+000000346437
+000000095097
+000000076207
+000000317134
+000000158770
+000000553813
+000000118242
+000000576727
+000000316250
+000000358255
+000000244141
+000000226677
+000000444626
+000000310870
+000000574947
+000000008267
+000000191332
+000000241974
+000000553867
+000000405886
+000000146149
+000000081116
+000000134242
+000000429620
+000000032416
+000000304827
+000000218334
+000000242290
+000000385667
+000000105152
+000000548512
+000000235642
+000000209449
+000000124018
+000000390693
+000000103236
+000000008473
+000000475881
+000000313655
+000000272219
+000000293334
+000000091280
+000000005669
+000000365530
+000000166437
+000000138133
+000000091113
+000000204716
+000000221194
+000000206290
+000000555739
+000000496121
+000000190043
+000000015006
+000000213364
+000000401835
+000000345462
+000000430260
+000000131107
+000000482667
+000000325012
+000000542804
+000000316359
+000000374785
+000000287044
+000000542384
+000000580406
+000000375211
+000000517600
+000000127543
+000000267515
+000000344402
+000000473348
+000000468238
+000000291102
+000000025809
+000000281191
+000000311583
+000000494911
+000000148394
+000000200862
+000000389304
+000000344817
+000000186587
+000000475425
+000000501648
+000000027829
+000000548704
+000000241887
+000000013843
+000000106165
+000000494192
+000000443443
+000000521370
+000000269634
+000000557119
+000000508748
+000000182056
+000000224878
+000000050725
+000000013145
+000000341048
+000000074403
+000000101418
+000000416909
+000000377973
+000000507642
+000000432529
+000000190407
+000000371280
+000000087677
+000000239306
+000000036068
+000000384151
+000000364133
+000000531044
+000000224278
+000000419963
+000000496064
+000000364249
+000000516957
+000000506198
+000000412857
+000000251128
+000000149835
+000000482730
+000000288729
+000000556035
+000000074794
+000000305253
+000000264017
+000000285686
+000000409566
+000000070626
+000000028750
+000000111988
+000000515826
+000000240195
+000000364705
+000000403394
+000000403028
+000000191686
+000000532527
+000000444598
+000000502758
+000000137154
+000000444311
+000000314865
+000000579374
+000000096360
+000000400612
+000000098001
+000000134028
+000000212690
+000000293341
+000000467062
+000000568082
+000000030222
+000000241934
+000000018983
+000000198992
+000000398808
+000000324450
+000000255578
+000000321355
+000000073688
+000000577512
+000000078071
+000000154173
+000000241919
+000000365927
+000000543790
+000000144635
+000000153987
+000000183187
+000000461507
+000000540642
+000000040966
+000000268433
+000000047409
+000000016735
+000000453297
+000000136271
+000000314497
+000000351787
+000000363554
+000000253233
+000000181662
+000000088669
+000000414482
+000000212814
+000000274792
+000000174247
+000000552866
+000000159682
+000000286874
+000000465294
+000000496267
+000000469142
+000000562745
+000000302872
+000000091397
+000000533525
+000000242248
+000000136097
+000000140352
+000000228376
+000000104900
+000000517794
+000000411954
+000000437588
+000000019901
+000000517081
+000000123415
+000000538133
+000000460812
+000000416884
+000000341725
+000000396193
+000000254100
+000000476685
+000000262098
+000000475361
+000000580161
+000000046323
+000000250261
+000000575909
+000000092714
+000000499007
+000000213438
+000000040551
+000000251408
+000000206362
+000000428452
+000000381865
+000000412722
+000000474832
+000000532852
+000000377300
+000000018888
+000000571787
+000000470426
+000000334826
+000000541893
+000000105660
+000000422310
+000000443512
+000000507313
+000000425595
+000000311099
+000000335589
+000000431168
+000000223467
+000000147915
+000000149602
+000000499957
+000000231992
+000000126595
+000000387267
+000000040730
+000000042929
+000000193363
+000000488853
+000000377208
+000000286787
+000000461758
+000000076264
+000000443880
+000000192763
+000000066493
+000000018496
+000000020268
+000000503482
+000000135775
+000000216517
+000000045247
+000000267160
+000000527963
+000000426482
+000000014514
+000000359678
+000000088445
+000000218283
+000000297520
+000000372635
+000000172911
+000000407365
+000000221477
+000000381382
+000000207797
+000000162230
+000000269366
+000000501756
+000000515814
+000000235200
+000000149630
+000000186323
+000000076899
+000000564120
+000000050105
+000000263120
+000000203107
+000000507684
+000000223902
+000000166766
+000000222603
+000000040433
+000000054513
+000000157669
+000000044251
+000000166915
+000000028914
+000000290962
+000000475042
+000000169309
+000000274254
+000000556638
+000000457461
+000000242972
+000000323008
+000000552901
+000000313209
+000000575786
+000000386633
+000000150212
+000000197278
+000000409333
+000000026865
+000000430783
+000000344894
+000000206318
+000000164103
+000000192500
+000000126894
+000000167533
+000000326925
+000000160308
+000000526645
+000000256037
+000000183980
+000000550699
+000000039987
+000000167906
+000000409027
+000000095747
+000000536786
+000000261115
+000000174412
+000000420237
+000000531308
+000000417471
+000000092248
+000000576430
+000000099988
+000000444348
+000000544288
+000000129546
+000000517586
+000000530086
+000000356755
+000000180624
+000000117026
+000000118764
+000000425035
+000000551341
+000000291582
+000000526695
+000000081372
+000000361618
+000000047316
+000000320008
+000000546963
+000000110559
+000000392394
+000000263968
+000000000873
+000000515962
+000000436411
+000000139004
+000000370562
+000000504591
+000000085122
+000000186614
+000000127976
+000000200008
+000000332215
+000000069535
+000000205595
+000000052360
+000000512157
+000000400443
+000000279747
+000000022448
+000000057222
+000000028864
+000000029698
+000000408578
+000000288700
+000000397773
+000000158848
+000000024294
+000000307449
+000000284025
+000000410231
+000000051268
+000000142130
+000000484074
+000000168609
+000000374326
+000000330284
+000000118625
+000000390352
+000000563921
+000000007852
+000000311997
+000000301749
+000000451219
+000000560750
+000000245922
+000000151387
+000000306444
+000000409855
+000000089541
+000000008006
+000000065270
+000000390341
+000000176086
+000000312246
+000000264434
+000000197262
+000000553184
+000000480893
+000000502441
+000000515062
+000000381947
+000000173882
+000000242549
+000000028728
+000000296651
+000000223977
+000000213203
+000000421944
+000000056161
+000000401831
+000000021061
+000000013160
+000000398407
+000000471573
+000000286524
+000000083696
+000000279388
+000000231364
+000000493500
+000000084493
+000000007855
+000000521634
+000000206998
+000000367131
+000000121525
+000000114164
+000000276918
+000000540464
+000000075076
+000000182511
+000000145700
+000000568529
+000000221245
+000000413058
+000000513606
+000000018792
+000000552938
+000000528544
+000000212786
+000000448856
+000000347590
+000000159392
+000000160243
+000000023679
+000000208319
+000000206528
+000000092826
+000000352334
+000000195650
+000000011390
+000000535860
+000000570779
+000000023699
+000000029346
+000000291321
+000000362218
+000000075563
+000000182175
+000000143096
+000000386958
+000000198764
+000000208043
+000000330959
+000000504184
+000000359760
+000000423508
+000000329865
+000000431481
+000000406068
+000000411695
+000000071549
+000000008603
+000000010928
+000000391521
+000000202913
+000000470366
+000000004497
+000000075811
+000000411703
+000000217378
+000000175948
+000000560152
+000000363505
+000000220244
+000000323820
+000000134294
+000000203405
+000000196168
+000000497267
+000000332562
+000000154817
+000000250367
+000000415818
+000000415976
+000000554442
+000000221874
+000000275263
+000000557720
+000000049027
+000000048692
+000000142534
+000000231581
+000000299640
+000000473134
+000000087783
+000000077304
+000000413784
+000000177877
+000000157168
+000000262347
+000000300343
+000000164189
+000000349133
+000000029600
+000000557220
+000000410599
+000000189387
+000000553248
+000000452027
+000000494998
+000000047938
+000000228133
+000000326849
+000000312886
+000000327770
+000000260942
+000000399183
+000000280236
+000000488997
+000000517534
+000000448653
+000000172006
+000000304165
+000000359897
+000000412571
+000000436584
+000000047545
+000000305887
+000000362608
+000000202329
+000000549907
+000000508174
+000000104028
+000000063879
+000000270070
+000000276740
+000000166869
+000000322560
+000000123901
+000000407019
+000000141051
+000000092634
+000000577821
+000000396116
+000000188696
+000000194009
+000000069215
+000000180447
+000000333126
+000000390087
+000000300392
+000000174964
+000000008958
+000000314965
+000000443179
+000000377745
+000000563138
+000000251044
+000000167510
+000000397863
+000000477336
+000000084410
+000000456690
+000000238090
+000000479886
+000000103307
+000000376919
+000000207059
+000000226897
+000000438943
+000000568495
+000000154023
+000000519874
+000000154686
+000000030529
+000000301039
+000000008320
+000000317806
+000000378769
+000000140813
+000000130563
+000000000208
+000000343847
+000000365446
+000000088967
+000000042228
+000000436949
+000000340995
+000000486968
+000000352744
+000000128015
+000000363523
+000000564361
+000000448351
+000000292734
+000000404148
+000000521667
+000000323369
+000000329014
+000000559958
+000000422029
+000000130970
+000000236048
+000000249649
+000000114748
+000000040596
+000000530741
+000000524014
+000000118976
+000000353146
+000000328652
+000000035857
+000000416741
+000000042086
+000000073064
+000000107511
+000000179667
+000000509819
+000000139486
+000000271934
+000000452881
+000000451940
+000000578553
+000000225075
+000000451758
+000000459987
+000000373284
+000000188819
+000000004338
+000000337969
+000000165106
+000000425945
+000000208974
+000000329895
+000000502223
+000000192118
+000000318183
+000000158906
+000000434644
+000000365301
+000000095554
+000000428502
+000000292209
+000000238639
+000000443373
+000000181207
+000000231492
+000000096808
+000000334381
+000000520683
+000000451482
+000000046612
+000000381968
+000000514171
+000000423362
+000000549728
+000000061422
+000000505269
+000000177102
+000000183204
+000000292347
+000000169352
+000000233537
+000000120875
+000000176263
+000000035222
+000000451409
+000000042641
+000000131531
+000000277914
+000000257489
+000000433919
+000000085998
+000000050810
+000000510264
+000000021698
+000000289107
+000000046467
+000000341529
+000000168754
+000000310897
+000000479036
+000000034761
+000000298475
+000000184274
+000000555405
+000000393258
+000000373036
+000000366085
+000000153288
+000000193781
+000000218312
+000000027270
+000000265631
+000000515843
+000000342550
+000000009721
+000000365471
+000000539951
+000000257732
+000000352129
+000000335864
+000000538819
+000000365351
+000000150364
+000000193895
+000000436383
+000000551663
+000000049957
+000000499862
+000000030421
+000000118399
+000000366577
+000000360589
+000000543413
+000000263147
+000000553931
+000000459440
+000000543182
+000000365707
+000000067420
+000000474003
+000000232173
+000000289354
+000000440559
+000000465579
+000000023542
+000000406001
+000000046656
+000000327149
+000000155921
+000000442210
+000000285325
+000000536199
+000000035571
+000000520758
+000000443780
+000000173533
+000000176811
+000000517670
+000000430760
+000000458682
+000000286591
+000000524263
+000000368284
+000000473124
+000000040686
+000000106379
+000000221478
+000000019145
+000000283945
+000000550555
+000000475651
+000000024938
+000000541408
+000000574324
+000000279810
+000000404262
+000000058253
+000000304240
+000000449826
+000000011422
+000000233075
+000000130714
+000000078782
+000000193398
+000000142757
+000000563816
+000000545274
+000000294418
+000000550527
+000000150932
+000000185962
+000000285748
+000000510377
+000000338736
+000000270898
+000000058407
+000000085777
+000000076159
+000000058838
+000000453895
+000000198832
+000000179124
+000000301646
+000000013482
+000000574166
+000000465874
+000000495738
+000000496065
+000000581481
+000000569866
+000000117179
+000000356948
+000000317690
+000000309280
+000000091104
+000000217811
+000000139698
+000000239398
+000000341957
+000000530117
+000000341198
+000000079501
+000000061395
+000000369139
+000000530479
+000000285263
+000000362796
+000000578276
+000000552016
+000000295952
+000000248601
+000000187559
+000000483275
+000000576464
+000000176479
+000000019836
+000000180522
+000000539129
+000000201004
+000000266487
+000000557187
+000000171632
+000000538533
+000000392850
+000000394043
+000000126323
+000000535448
+000000084168
+000000307550
+000000279208
+000000473468
+000000177109
+000000035961
+000000448571
+000000446265
+000000030647
+000000373776
+000000352208
+000000511403
+000000346006
+000000064866
+000000244616
+000000570483
+000000367881
+000000553447
+000000030931
+000000475371
+000000331105
+000000190094
+000000332723
+000000483628
+000000127093
+000000144320
+000000488775
+000000359132
+000000506971
+000000173695
+000000476417
+000000329765
+000000579700
+000000429865
+000000267812
+000000530202
+000000429559
+000000449176
+000000005692
+000000074538
+000000220981
+000000123083
+000000487098
+000000240565
+000000351829
+000000422026
+000000504338
+000000520765
+000000085637
+000000447765
+000000458950
+000000170730
+000000187329
+000000221003
+000000571876
+000000220205
+000000454210
+000000144812
+000000090137
+000000173688
+000000518501
+000000362642
+000000492055
+000000218628
+000000145699
+000000243104
+000000401718
+000000395452
+000000576939
+000000330262
+000000453133
+000000189171
+000000270017
+000000107162
+000000443513
+000000386194
+000000373440
+000000054718
+000000120060
+000000005095
+000000240211
+000000178637
+000000292140
+000000278732
+000000325664
+000000249884
+000000465155
+000000452846
+000000088146
+000000120744
+000000276836
+000000506078
+000000366086
+000000324645
+000000499391
+000000000626
+000000073019
+000000257263
+000000372412
+000000154140
+000000473254
+000000162275
+000000139843
+000000452198
+000000106848
+000000010136
+000000499125
+000000206192
+000000391102
+000000048181
+000000305738
+000000143017
+000000162181
+000000364369
+000000404738
+000000231029
+000000160250
+000000581715
+000000269798
+000000296157
+000000189245
+000000483530
+000000420303
+000000114327
+000000286212
+000000347925
+000000268396
+000000151077
+000000248496
+000000002279
+000000299212
+000000111553
+000000487589
+000000329566
+000000539678
+000000049443
+000000259733
+000000017997
+000000178785
+000000223734
+000000487191
+000000159702
+000000288176
+000000497042
+000000530600
+000000348516
+000000243818
+000000189587
+000000330750
+000000053208
+000000282879
+000000092051
+000000193449
+000000372471
+000000400945
+000000203920
+000000121852
+000000177917
+000000450790
+000000455548
+000000318683
+000000564726
+000000256196
+000000036238
+000000265008
+000000093864
+000000018267
+000000340065
+000000484227
+000000244846
+000000521769
+000000157209
+000000495090
+000000063661
+000000329341
+000000143111
+000000337546
+000000273576
+000000398712
+000000281353
+000000194885
+000000408492
+000000213999
+000000402598
+000000341737
+000000080357
+000000452179
+000000218811
+000000189243
+000000181571
+000000536474
+000000407039
+000000480001
+000000478250
+000000352945
+000000312679
+000000100627
+000000128842
+000000492489
+000000203359
+000000569645
+000000178900
+000000386426
+000000474224
+000000503059
+000000325944
+000000042931
+000000147453
+000000256097
+000000355426
+000000405440
+000000562149
+000000008128
+000000506946
+000000001224
+000000016575
+000000054874
+000000070735
+000000208919
+000000567186
+000000097238
+000000305445
+000000303010
+000000351976
+000000249365
+000000574057
+000000161854
+000000481172
+000000536884
+000000333710
+000000135730
+000000282070
+000000524369
+000000568633
+000000012495
+000000137589
+000000135010
+000000474188
+000000566336
+000000316746
+000000167894
+000000302275
+000000468029
+000000100202
+000000349234
+000000056652
+000000464787
+000000130324
+000000199826
+000000518615
+000000560368
+000000326593
+000000392631
+000000021964
+000000184159
+000000169273
+000000042696
+000000369250
+000000384173
+000000150996
+000000197053
+000000125503
+000000239244
+000000456556
+000000138057
+000000441449
+000000414117
+000000460723
+000000100523
+000000542699
+000000064303
+000000566699
+000000354897
+000000372458
+000000270379
+000000553189
+000000267136
+000000015809
+000000446130
+000000013333
+000000564074
+000000186842
+000000193712
+000000264868
+000000576902
+000000358029
+000000174258
+000000305427
+000000163104
+000000484103
+000000554439
+000000517315
+000000418506
+000000546070
+000000219339
+000000151922
+000000460944
+000000369212
+000000065586
+000000191305
+000000216413
+000000419228
+000000409455
+000000118579
+000000047434
+000000249587
+000000100744
+000000232574
+000000541887
+000000403936
+000000390975
+000000007772
+000000082813
+000000273369
+000000339469
+000000109835
+000000532403
+000000576859
+000000116295
+000000287695
+000000418282
+000000152776
+000000476299
+000000055033
+000000574232
+000000557137
+000000115379
+000000151405
+000000135460
+000000400953
+000000287302
+000000088116
+000000073342
+000000308977
+000000534988
+000000048601
+000000231905
+000000221446
+000000012597
+000000516233
+000000399547
+000000112106
+000000464321
+000000432744
+000000243127
+000000122194
+000000123599
+000000028930
+000000538776
+000000344374
+000000139634
+000000015528
+000000386632
+000000171381
+000000222983
+000000102589
+000000573329
+000000209590
+000000570394
+000000131524
+000000477718
+000000128369
+000000162596
+000000212803
+000000397044
+000000085529
+000000406601
+000000382046
+000000185513
+000000466132
+000000568060
+000000316073
+000000308191
+000000451854
+000000443034
+000000129632
+000000122343
+000000293061
+000000335098
+000000525189
+000000187876
+000000000908
+000000192574
+000000225824
+000000310242
+000000261389
+000000010735
+000000246913
+000000064626
+000000216063
+000000299444
+000000154556
+000000157270
+000000511198
+000000058338
+000000398948
+000000444141
+000000225358
+000000206341
+000000177847
+000000338059
+000000270778
+000000061502
+000000338323
+000000174507
+000000307480
+000000298252
+000000282790
+000000098444
+000000387575
+000000139728
+000000298564
+000000099754
+000000467397
+000000146722
+000000085782
+000000270747
+000000296286
+000000176306
+000000143557
+000000558055
+000000074039
+000000304654
+000000525342
+000000351553
+000000465835
+000000226758
+000000518287
+000000406725
+000000309406
+000000123841
+000000065085
+000000331024
+000000132297
+000000561208
+000000452381
+000000216520
+000000449180
+000000023380
+000000447842
+000000457263
+000000470935
+000000410225
+000000197257
+000000318741
+000000116141
+000000445076
+000000115145
+000000292278
+000000308059
+000000096445
+000000099040
+000000015073
+000000215910
+000000320362
+000000467369
+000000476585
+000000304000
+000000237684
+000000412666
+000000473972
+000000119630
+000000244671
+000000126014
+000000075361
+000000119114
+000000143449
+000000037336
+000000206274
+000000186121
+000000153997
+000000287407
+000000105469
+000000187563
+000000322827
+000000159451
+000000252986
+000000175743
+000000115033
+000000515734
+000000335033
+000000170017
+000000174238
+000000332411
+000000032986
+000000320804
+000000108894
+000000067558
+000000505663
+000000053597
+000000275913
+000000091300
+000000161098
+000000557266
+000000464937
+000000293480
+000000460621
+000000243027
+000000058816
+000000063238
+000000536996
+000000083987
+000000014783
+000000270796
+000000383857
+000000509587
+000000485239
+000000344854
+000000362482
+000000226262
+000000371598
+000000176761
+000000556240
+000000577364
+000000281217
+000000045634
+000000320273
+000000575755
+000000574665
+000000542642
+000000070931
+000000518725
+000000170658
+000000238049
+000000065484
+000000472101
+000000360672
+000000251585
+000000140850
+000000153162
+000000518719
+000000479693
+000000275175
+000000213060
+000000349489
+000000011202
+000000293283
+000000199257
+000000309403
+000000117441
+000000116226
+000000548575
+000000391831
+000000093053
+000000466665
+000000136141
+000000012999
+000000063476
+000000364385
+000000410216
+000000500214
+000000361815
+000000320203
+000000137999
+000000288202
+000000392627
+000000110630
+000000226175
+000000174079
+000000022340
+000000145666
+000000094564
+000000106243
+000000483041
+000000478376
+000000321120
+000000092181
+000000446894
+000000530898
+000000550844
+000000363574
+000000035033
+000000332663
+000000143736
+000000052386
+000000258950
+000000057138
+000000453649
+000000184700
+000000423541
+000000198227
+000000453438
+000000155839
+000000481598
+000000375437
+000000507495
+000000237721
+000000454078
+000000096354
+000000006861
+000000504608
+000000193889
+000000306926
+000000550112
+000000126514
+000000259233
+000000447932
diff --git a/datasets/voc_coco_ann/ImageSets/Main/voc_coco_val.txt b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_val.txt
new file mode 100644
index 0000000..9d9dd3a
--- /dev/null
+++ b/datasets/voc_coco_ann/ImageSets/Main/voc_coco_val.txt
@@ -0,0 +1,7462 @@
+000005
+000007
+000009
+000016
+000019
+000020
+000021
+000024
+000030
+000039
+000041
+000046
+000050
+000051
+000052
+000060
+000063
+000065
+000072
+000081
+000093
+000095
+000099
+000101
+000102
+000107
+000109
+000110
+000113
+000117
+000118
+000120
+000121
+000123
+000125
+000130
+000131
+000132
+000142
+000143
+000146
+000150
+000156
+000158
+000165
+000169
+000170
+000177
+000180
+000184
+000190
+000203
+000208
+000210
+000211
+000214
+000215
+000218
+000221
+000224
+000229
+000232
+000233
+000236
+000241
+000244
+000245
+000246
+000249
+000251
+000257
+000266
+000268
+000269
+000270
+000275
+000285
+000289
+000298
+000302
+000303
+000304
+000305
+000308
+000318
+000321
+000322
+000323
+000328
+000329
+000332
+000336
+000338
+000340
+000343
+000352
+000354
+000363
+000373
+000374
+000380
+000381
+000396
+000403
+000408
+000417
+000419
+000420
+000424
+000427
+000428
+000433
+000435
+000439
+000443
+000448
+000459
+000460
+000461
+000462
+000464
+000480
+000482
+000483
+000486
+000491
+000492
+000494
+000498
+000499
+000500
+000501
+000509
+000513
+000514
+000515
+000520
+000523
+000530
+000531
+000540
+000543
+000545
+000563
+000564
+000579
+000581
+000582
+000588
+000591
+000598
+000599
+000601
+000608
+000610
+000613
+000619
+000626
+000628
+000637
+000645
+000647
+000653
+000656
+000660
+000661
+000663
+000667
+000675
+000676
+000677
+000682
+000684
+000686
+000690
+000694
+000702
+000705
+000707
+000712
+000713
+000714
+000717
+000720
+000728
+000730
+000738
+000742
+000746
+000748
+000750
+000752
+000755
+000756
+000760
+000763
+000771
+000772
+000776
+000777
+000780
+000782
+000786
+000787
+000791
+000794
+000797
+000799
+000800
+000802
+000806
+000808
+000814
+000815
+000816
+000826
+000831
+000832
+000834
+000842
+000843
+000847
+000848
+000854
+000855
+000857
+000862
+000863
+000868
+000872
+000874
+000876
+000878
+000879
+000880
+000882
+000885
+000895
+000896
+000903
+000911
+000917
+000918
+000920
+000921
+000923
+000926
+000931
+000934
+000935
+000937
+000946
+000947
+000948
+000949
+000971
+000972
+000973
+000982
+001004
+001009
+001012
+001017
+001018
+001027
+001028
+001041
+001042
+001045
+001052
+001053
+001056
+001061
+001062
+001066
+001069
+001072
+001074
+001083
+001084
+001091
+001092
+001093
+001097
+001102
+001104
+001107
+001109
+001110
+001121
+001124
+001125
+001136
+001137
+001142
+001143
+001144
+001145
+001148
+001149
+001154
+001160
+001161
+001164
+001166
+001170
+001175
+001176
+001184
+001185
+001186
+001187
+001192
+001199
+001200
+001201
+001203
+001206
+001211
+001215
+001221
+001224
+001225
+001231
+001233
+001236
+001241
+001247
+001250
+001254
+001259
+001260
+001265
+001266
+001272
+001274
+001277
+001281
+001284
+001286
+001288
+001289
+001290
+001292
+001293
+001298
+001310
+001311
+001316
+001324
+001330
+001337
+001341
+001343
+001350
+001352
+001360
+001361
+001362
+001371
+001375
+001383
+001386
+001387
+001397
+001400
+001413
+001430
+001432
+001439
+001441
+001443
+001444
+001445
+001460
+001463
+001464
+001465
+001466
+001467
+001472
+001475
+001481
+001484
+001490
+001493
+001497
+001509
+001510
+001514
+001522
+001523
+001531
+001536
+001537
+001541
+001543
+001544
+001545
+001553
+001554
+001561
+001565
+001571
+001577
+001582
+001588
+001595
+001598
+001603
+001608
+001614
+001617
+001618
+001628
+001632
+001638
+001640
+001642
+001647
+001653
+001675
+001677
+001678
+001682
+001685
+001686
+001689
+001691
+001693
+001718
+001724
+001725
+001726
+001727
+001730
+001746
+001747
+001749
+001755
+001756
+001771
+001772
+001775
+001778
+001782
+001784
+001785
+001793
+001795
+001797
+001799
+001801
+001807
+001816
+001818
+001827
+001830
+001833
+001837
+001842
+001847
+001849
+001855
+001860
+001862
+001872
+001875
+001877
+001878
+001882
+001887
+001888
+001899
+001901
+001907
+001911
+001918
+001920
+001927
+001931
+001932
+001933
+001934
+001936
+001940
+001944
+001948
+001958
+001962
+001964
+001970
+001972
+001976
+001982
+002000
+002011
+002019
+002021
+002022
+002023
+002024
+002030
+002036
+002045
+002054
+002058
+002063
+002064
+002067
+002070
+002082
+002083
+002086
+002088
+002090
+002091
+002094
+002098
+002099
+002101
+002102
+002109
+002112
+002114
+002124
+002125
+002129
+002135
+002136
+002140
+002142
+002145
+002146
+002152
+002163
+002165
+002169
+002171
+002174
+002181
+002183
+002184
+002190
+002201
+002202
+002209
+002213
+002214
+002218
+002220
+002226
+002228
+002233
+002244
+002248
+002251
+002257
+002259
+002261
+002263
+002266
+002267
+002268
+002270
+002272
+002273
+002276
+002278
+002281
+002285
+002288
+002290
+002300
+002302
+002305
+002308
+002324
+002328
+002329
+002330
+002332
+002333
+002337
+002340
+002343
+002345
+002348
+002352
+002361
+002364
+002366
+002367
+002369
+002371
+002372
+002374
+002375
+002376
+002377
+002378
+002382
+002385
+002387
+002391
+002393
+002404
+002407
+002415
+002417
+002425
+002427
+002435
+002437
+002441
+002444
+002450
+002452
+002454
+002456
+002459
+002460
+002462
+002470
+002476
+002477
+002479
+002491
+002492
+002493
+002497
+002504
+002505
+002508
+002513
+002520
+002523
+002524
+002525
+002529
+002537
+002540
+002542
+002546
+002549
+002561
+002563
+002565
+002566
+002567
+002578
+002584
+002585
+002586
+002589
+002593
+002598
+002600
+002605
+002606
+002613
+002615
+002618
+002621
+002632
+002633
+002636
+002637
+002641
+002643
+002646
+002649
+002657
+002658
+002659
+002667
+002668
+002670
+002675
+002677
+002678
+002689
+002690
+002693
+002695
+002696
+002699
+002706
+002709
+002714
+002717
+002718
+002721
+002723
+002727
+002732
+002734
+002741
+002747
+002751
+002760
+002762
+002767
+002772
+002775
+002776
+002784
+002785
+002786
+002794
+002798
+002800
+002803
+002810
+002812
+002815
+002827
+002833
+002835
+002836
+002838
+002842
+002847
+002854
+002859
+002875
+002879
+002880
+002884
+002886
+002889
+002891
+002893
+002896
+002901
+002910
+002912
+002913
+002915
+002916
+002917
+002924
+002932
+002933
+002935
+002938
+002940
+002941
+002942
+002943
+002944
+002946
+002947
+002952
+002954
+002960
+002963
+002965
+002966
+002967
+002977
+002978
+002984
+002986
+002994
+003000
+003004
+003005
+003008
+003009
+003015
+003017
+003021
+003023
+003028
+003031
+003032
+003038
+003039
+003044
+003045
+003054
+003056
+003057
+003058
+003064
+003065
+003072
+003078
+003082
+003086
+003089
+003090
+003093
+003094
+003098
+003102
+003112
+003117
+003118
+003120
+003121
+003126
+003127
+003129
+003137
+003142
+003154
+003162
+003164
+003170
+003176
+003177
+003178
+003186
+003189
+003194
+003195
+003199
+003200
+003207
+003210
+003213
+003216
+003218
+003219
+003223
+003228
+003239
+003243
+003250
+003255
+003256
+003258
+003262
+003271
+003272
+003274
+003285
+003293
+003294
+003296
+003299
+003300
+003301
+003307
+003311
+003313
+003316
+003325
+003327
+003335
+003344
+003351
+003360
+003362
+003370
+003376
+003377
+003386
+003390
+003391
+003397
+003398
+003403
+003404
+003407
+003410
+003415
+003419
+003422
+003425
+003429
+003435
+003443
+003444
+003449
+003451
+003453
+003455
+003458
+003461
+003462
+003464
+003465
+003468
+003469
+003470
+003492
+003516
+003518
+003519
+003521
+003528
+003530
+003536
+003537
+003546
+003554
+003556
+003566
+003567
+003580
+003587
+003589
+003593
+003594
+003597
+003606
+003611
+003618
+003620
+003623
+003632
+003636
+003638
+003639
+003640
+003648
+003651
+003654
+003655
+003657
+003660
+003667
+003669
+003673
+003674
+003675
+003684
+003685
+003690
+003691
+003696
+003703
+003706
+003708
+003709
+003711
+003717
+003721
+003722
+003727
+003729
+003750
+003753
+003754
+003760
+003772
+003774
+003780
+003783
+003791
+003793
+003796
+003798
+003803
+003808
+003809
+003814
+003820
+003821
+003826
+003837
+003838
+003844
+003845
+003846
+003848
+003855
+003857
+003863
+003868
+003869
+003871
+003872
+003876
+003877
+003885
+003886
+003891
+003895
+003905
+003911
+003915
+003918
+003919
+003923
+003924
+003926
+003937
+003941
+003946
+003947
+003948
+003954
+003957
+003960
+003963
+003965
+003966
+003973
+003979
+003984
+003986
+003990
+003992
+003994
+003996
+004003
+004010
+004011
+004015
+004020
+004025
+004031
+004039
+004047
+004051
+004057
+004060
+004066
+004069
+004073
+004075
+004076
+004077
+004082
+004085
+004087
+004089
+004102
+004105
+004108
+004110
+004113
+004117
+004122
+004135
+004141
+004142
+004143
+004145
+004148
+004150
+004174
+004178
+004185
+004186
+004191
+004192
+004193
+004194
+004195
+004203
+004204
+004205
+004212
+004229
+004230
+004239
+004246
+004257
+004258
+004259
+004264
+004265
+004274
+004275
+004279
+004284
+004286
+004293
+004295
+004298
+004304
+004310
+004312
+004321
+004323
+004326
+004329
+004331
+004341
+004346
+004349
+004351
+004352
+004354
+004356
+004364
+004368
+004369
+004380
+004384
+004390
+004396
+004397
+004405
+004409
+004411
+004421
+004423
+004424
+004429
+004430
+004432
+004433
+004437
+004438
+004446
+004450
+004455
+004457
+004459
+004463
+004464
+004466
+004468
+004474
+004487
+004488
+004490
+004493
+004494
+004495
+004498
+004499
+004507
+004509
+004512
+004518
+004527
+004528
+004530
+004532
+004535
+004539
+004542
+004552
+004555
+004558
+004574
+004581
+004585
+004588
+004592
+004600
+004601
+004606
+004609
+004618
+004626
+004630
+004632
+004647
+004649
+004652
+004653
+004654
+004655
+004660
+004662
+004672
+004673
+004674
+004676
+004682
+004689
+004692
+004699
+004707
+004708
+004719
+004722
+004727
+004732
+004746
+004750
+004761
+004768
+004770
+004777
+004785
+004786
+004788
+004789
+004796
+004805
+004812
+004814
+004816
+004818
+004825
+004826
+004831
+004834
+004839
+004840
+004850
+004852
+004856
+004859
+004863
+004866
+004867
+004868
+004872
+004878
+004886
+004890
+004895
+004896
+004903
+004912
+004916
+004926
+004928
+004931
+004935
+004936
+004938
+004939
+004943
+004948
+004950
+004953
+004954
+004956
+004960
+004963
+004967
+004977
+004982
+004983
+004985
+004986
+004994
+004997
+004998
+004999
+005003
+005014
+005028
+005036
+005037
+005039
+005042
+005054
+005055
+005056
+005062
+005063
+005064
+005067
+005072
+005077
+005079
+005081
+005085
+005102
+005104
+005110
+005111
+005116
+005128
+005131
+005135
+005136
+005144
+005145
+005146
+005150
+005159
+005160
+005161
+005175
+005176
+005179
+005185
+005195
+005199
+005209
+005210
+005212
+005214
+005220
+005222
+005224
+005229
+005230
+005239
+005242
+005248
+005253
+005254
+005263
+005264
+005267
+005268
+005270
+005274
+005278
+005281
+005293
+005298
+005305
+005306
+005312
+005314
+005315
+005319
+005320
+005325
+005326
+005328
+005331
+005340
+005343
+005346
+005348
+005349
+005350
+005352
+005355
+005365
+005367
+005370
+005371
+005378
+005379
+005380
+005383
+005384
+005385
+005393
+005395
+005397
+005398
+005407
+005416
+005418
+005419
+005421
+005423
+005429
+005430
+005431
+005434
+005436
+005438
+005439
+005441
+005454
+005461
+005465
+005469
+005470
+005471
+005475
+005481
+005485
+005486
+005497
+005507
+005510
+005517
+005518
+005521
+005522
+005530
+005531
+005535
+005539
+005549
+005550
+005552
+005554
+005559
+005573
+005576
+005577
+005583
+005584
+005586
+005588
+005590
+005593
+005606
+005608
+005613
+005614
+005615
+005618
+005620
+005629
+005640
+005641
+005645
+005647
+005652
+005653
+005655
+005657
+005660
+005662
+005664
+005672
+005674
+005676
+005679
+005682
+005685
+005687
+005693
+005696
+005701
+005702
+005714
+005716
+005719
+005723
+005729
+005732
+005736
+005741
+005743
+005747
+005749
+005755
+005760
+005761
+005762
+005768
+005773
+005779
+005781
+005788
+005790
+005791
+005794
+005799
+005811
+005812
+005815
+005818
+005819
+005825
+005828
+005829
+005830
+005839
+005841
+005845
+005852
+005853
+005854
+005856
+005863
+005868
+005874
+005875
+005877
+005878
+005879
+005894
+005897
+005906
+005912
+005914
+005917
+005919
+005928
+005940
+005952
+005954
+005956
+005963
+005968
+005970
+005975
+005979
+005981
+005985
+005988
+005989
+005991
+005995
+005996
+005998
+006000
+006001
+006005
+006012
+006018
+006026
+006027
+006028
+006029
+006035
+006041
+006042
+006045
+006046
+006055
+006058
+006062
+006069
+006071
+006084
+006089
+006097
+006098
+006107
+006108
+006111
+006117
+006120
+006124
+006125
+006129
+006133
+006136
+006139
+006146
+006148
+006150
+006151
+006153
+006159
+006161
+006163
+006184
+006185
+006188
+006190
+006198
+006201
+006202
+006203
+006206
+006209
+006212
+006214
+006215
+006216
+006218
+006219
+006220
+006222
+006233
+006234
+006235
+006240
+006241
+006249
+006252
+006254
+006258
+006259
+006260
+006269
+006276
+006277
+006281
+006282
+006284
+006286
+006295
+006296
+006300
+006301
+006306
+006309
+006314
+006318
+006319
+006321
+006323
+006325
+006330
+006335
+006337
+006338
+006339
+006346
+006348
+006350
+006351
+006355
+006357
+006377
+006385
+006387
+006391
+006392
+006396
+006398
+006404
+006409
+006421
+006424
+006425
+006428
+006430
+006437
+006440
+006443
+006444
+006445
+006449
+006450
+006456
+006463
+006465
+006468
+006473
+006480
+006484
+006488
+006492
+006497
+006507
+006509
+006512
+006519
+006520
+006529
+006530
+006532
+006534
+006538
+006542
+006543
+006553
+006562
+006565
+006570
+006572
+006575
+006576
+006578
+006583
+006584
+006585
+006587
+006588
+006593
+006599
+006603
+006606
+006611
+006617
+006618
+006619
+006621
+006625
+006628
+006631
+006632
+006643
+006645
+006647
+006657
+006661
+006664
+006666
+006667
+006668
+006670
+006671
+006673
+006677
+006678
+006679
+006681
+006682
+006687
+006690
+006696
+006699
+006702
+006709
+006718
+006719
+006722
+006725
+006730
+006739
+006747
+006751
+006759
+006760
+006761
+006762
+006765
+006768
+006769
+006772
+006783
+006786
+006789
+006797
+006799
+006800
+006802
+006803
+006808
+006813
+006814
+006819
+006821
+006827
+006828
+006829
+006835
+006838
+006841
+006842
+006850
+006855
+006859
+006860
+006862
+006865
+006867
+006876
+006878
+006880
+006884
+006886
+006892
+006903
+006908
+006918
+006922
+006924
+006932
+006933
+006934
+006935
+006940
+006944
+006945
+006949
+006952
+006953
+006956
+006962
+006963
+006965
+006966
+006972
+006981
+006987
+006988
+006989
+006990
+006994
+006995
+007004
+007008
+007009
+007020
+007021
+007022
+007031
+007035
+007038
+007042
+007046
+007048
+007049
+007052
+007054
+007056
+007058
+007059
+007065
+007068
+007070
+007071
+007074
+007077
+007084
+007086
+007097
+007100
+007101
+007104
+007109
+007114
+007117
+007122
+007123
+007132
+007139
+007140
+007141
+007144
+007146
+007147
+007148
+007149
+007153
+007162
+007165
+007167
+007172
+007174
+007187
+007189
+007191
+007200
+007204
+007208
+007210
+007211
+007212
+007215
+007216
+007217
+007224
+007227
+007230
+007236
+007244
+007245
+007247
+007249
+007258
+007259
+007260
+007266
+007270
+007274
+007275
+007276
+007280
+007283
+007284
+007292
+007294
+007296
+007297
+007299
+007300
+007302
+007311
+007314
+007318
+007329
+007330
+007343
+007344
+007346
+007350
+007356
+007359
+007363
+007372
+007374
+007376
+007383
+007388
+007390
+007408
+007414
+007416
+007422
+007424
+007427
+007432
+007433
+007435
+007436
+007438
+007439
+007443
+007445
+007448
+007449
+007451
+007457
+007460
+007461
+007465
+007470
+007475
+007480
+007482
+007484
+007486
+007489
+007498
+007506
+007511
+007517
+007523
+007525
+007527
+007528
+007533
+007537
+007543
+007546
+007547
+007551
+007555
+007559
+007563
+007568
+007571
+007576
+007579
+007585
+007592
+007603
+007605
+007612
+007614
+007615
+007618
+007622
+007624
+007626
+007639
+007640
+007642
+007647
+007649
+007650
+007656
+007657
+007662
+007664
+007666
+007668
+007670
+007671
+007672
+007673
+007675
+007677
+007678
+007679
+007680
+007682
+007687
+007688
+007691
+007694
+007702
+007705
+007709
+007712
+007715
+007720
+007723
+007724
+007727
+007732
+007742
+007743
+007745
+007746
+007754
+007758
+007760
+007763
+007765
+007768
+007772
+007773
+007776
+007779
+007786
+007793
+007798
+007799
+007812
+007813
+007815
+007824
+007826
+007833
+007834
+007841
+007843
+007845
+007855
+007856
+007857
+007865
+007868
+007869
+007873
+007886
+007889
+007890
+007897
+007899
+007902
+007909
+007916
+007919
+007920
+007921
+007924
+007928
+007931
+007933
+007935
+007943
+007946
+007947
+007950
+007954
+007956
+007958
+007970
+007971
+007979
+007984
+007987
+007997
+007998
+007999
+008002
+008009
+008023
+008024
+008029
+008031
+008032
+008033
+008036
+008048
+008057
+008060
+008061
+008068
+008069
+008085
+008086
+008087
+008091
+008100
+008101
+008103
+008105
+008107
+008112
+008115
+008122
+008125
+008132
+008138
+008140
+008141
+008144
+008151
+008159
+008160
+008168
+008171
+008173
+008175
+008177
+008180
+008189
+008190
+008191
+008200
+008208
+008209
+008220
+008222
+008224
+008225
+008229
+008236
+008241
+008244
+008251
+008258
+008268
+008275
+008279
+008281
+008284
+008285
+008292
+008293
+008294
+008295
+008297
+008299
+008300
+008306
+008307
+008318
+008319
+008320
+008323
+008326
+008327
+008329
+008335
+008345
+008349
+008355
+008359
+008364
+008365
+008368
+008370
+008376
+008386
+008387
+008390
+008410
+008413
+008415
+008416
+008423
+008424
+008429
+008430
+008433
+008434
+008438
+008444
+008450
+008454
+008461
+008472
+008484
+008485
+008492
+008494
+008498
+008499
+008502
+008503
+008509
+008512
+008513
+008514
+008518
+008519
+008521
+008522
+008524
+008526
+008534
+008535
+008541
+008542
+008553
+008556
+008557
+008562
+008564
+008572
+008573
+008576
+008582
+008584
+008586
+008592
+008601
+008604
+008606
+008607
+008608
+008612
+008620
+008621
+008624
+008635
+008636
+008638
+008639
+008644
+008647
+008653
+008654
+008667
+008680
+008683
+008687
+008692
+008695
+008698
+008701
+008709
+008713
+008716
+008717
+008718
+008722
+008728
+008730
+008733
+008739
+008742
+008747
+008749
+008752
+008753
+008759
+008766
+008769
+008772
+008773
+008775
+008793
+008796
+008799
+008801
+008805
+008810
+008817
+008822
+008823
+008826
+008831
+008833
+008835
+008836
+008837
+008843
+008848
+008849
+008854
+008858
+008859
+008867
+008871
+008873
+008874
+008876
+008880
+008884
+008888
+008890
+008892
+008911
+008913
+008914
+008917
+008919
+008921
+008927
+008931
+008940
+008942
+008943
+008951
+008953
+008955
+008965
+008976
+008982
+008983
+008997
+009002
+009006
+009007
+009015
+009019
+009022
+009024
+009034
+009035
+009037
+009039
+009048
+009051
+009053
+009060
+009064
+009072
+009079
+009085
+009087
+009089
+009091
+009094
+009105
+009112
+009113
+009116
+009126
+009128
+009129
+009131
+009133
+009138
+009141
+009147
+009150
+009151
+009155
+009157
+009159
+009162
+009163
+009168
+009174
+009177
+009178
+009179
+009180
+009186
+009187
+009189
+009192
+009193
+009194
+009195
+009202
+009212
+009213
+009221
+009224
+009236
+009239
+009244
+009246
+009247
+009249
+009250
+009254
+009268
+009273
+009278
+009279
+009281
+009282
+009286
+009291
+009303
+009309
+009312
+009315
+009323
+009326
+009330
+009331
+009334
+009337
+009347
+009348
+009349
+009350
+009351
+009354
+009368
+009371
+009373
+009374
+009375
+009378
+009382
+009401
+009405
+009408
+009412
+009414
+009433
+009437
+009438
+009439
+009440
+009443
+009445
+009448
+009454
+009455
+009456
+009457
+009459
+009461
+009464
+009468
+009470
+009472
+009477
+009479
+009480
+009481
+009484
+009494
+009500
+009502
+009507
+009517
+009519
+009527
+009531
+009532
+009533
+009540
+009543
+009546
+009550
+009558
+009560
+009565
+009567
+009568
+009571
+009580
+009586
+009588
+009591
+009597
+009598
+009603
+009611
+009617
+009619
+009620
+009627
+009636
+009641
+009647
+009649
+009655
+009658
+009667
+009670
+009676
+009678
+009681
+009685
+009686
+009687
+009692
+009695
+009698
+009699
+009700
+009706
+009710
+009711
+009712
+009719
+009724
+009726
+009732
+009737
+009738
+009743
+009745
+009746
+009747
+009748
+009754
+009758
+009761
+009764
+009767
+009772
+009773
+009778
+009780
+009781
+009785
+009794
+009796
+009801
+009809
+009816
+009819
+009822
+009823
+009831
+009833
+009836
+009841
+009858
+009862
+009863
+009865
+009870
+009880
+009881
+009886
+009894
+009897
+009898
+009900
+009902
+009905
+009908
+009913
+009917
+009923
+009932
+009935
+009939
+009946
+009947
+009950
+009954
+009955
+009958
+000000289343
+000000061471
+000000472375
+000000520301
+000000579321
+000000494869
+000000554002
+000000078823
+000000419974
+000000404484
+000000329219
+000000068078
+000000170893
+000000065485
+000000498286
+000000424162
+000000061108
+000000067213
+000000365207
+000000131273
+000000279278
+000000482100
+000000540502
+000000127182
+000000565776
+000000575970
+000000462614
+000000407614
+000000522007
+000000226984
+000000037777
+000000491216
+000000136355
+000000529568
+000000306733
+000000042276
+000000370818
+000000464476
+000000068833
+000000433915
+000000149222
+000000017379
+000000361586
+000000127987
+000000186632
+000000440475
+000000368900
+000000009772
+000000525083
+000000383443
+000000240940
+000000435003
+000000017899
+000000070774
+000000508602
+000000123585
+000000157807
+000000109055
+000000023272
+000000134096
+000000501523
+000000125850
+000000284623
+000000245764
+000000466156
+000000402473
+000000010363
+000000172330
+000000211042
+000000361621
+000000554291
+000000227044
+000000530099
+000000223747
+000000312340
+000000209747
+000000153217
+000000558073
+000000047121
+000000176778
+000000568690
+000000176857
+000000107087
+000000260925
+000000304560
+000000327769
+000000007386
+000000017178
+000000261888
+000000029187
+000000368335
+000000367680
+000000234807
+000000507975
+000000338304
+000000555050
+000000206135
+000000117914
+000000465129
+000000506310
+000000319696
+000000102707
+000000435880
+000000442009
+000000519569
+000000178028
+000000446574
+000000290768
+000000182611
+000000266206
+000000228214
+000000453302
+000000293390
+000000384808
+000000512476
+000000425226
+000000292005
+000000480122
+000000262440
+000000197796
+000000500464
+000000481386
+000000397133
+000000173302
+000000354072
+000000523100
+000000062025
+000000084241
+000000569917
+000000547816
+000000222825
+000000074209
+000000239627
+000000195165
+000000302760
+000000492878
+000000175364
+000000438774
+000000351362
+000000090108
+000000485424
+000000530836
+000000447169
+000000177934
+000000040471
+000000007574
+000000455597
+000000557172
+000000308799
+000000229358
+000000210855
+000000034760
+000000045229
+000000229311
+000000241602
+000000051598
+000000109976
+000000186980
+000000441247
+000000093437
+000000274687
+000000221708
+000000216497
+000000458768
+000000170099
+000000543047
+000000472046
+000000405432
+000000045596
+000000259830
+000000426166
+000000309391
+000000101762
+000000357737
+000000251140
+000000370208
+000000055022
+000000135670
+000000242287
+000000087038
+000000577932
+000000356387
+000000122166
+000000441586
+000000228436
+000000011149
+000000256941
+000000414510
+000000210273
+000000507037
+000000350122
+000000038829
+000000403565
+000000570834
+000000174482
+000000291634
+000000203317
+000000169996
+000000266400
+000000152771
+000000395180
+000000488592
+000000226417
+000000146667
+000000114770
+000000527220
+000000329614
+000000167122
+000000138639
+000000296649
+000000017207
+000000068093
+000000165681
+000000301376
+000000493286
+000000111086
+000000491213
+000000461751
+000000492077
+000000579902
+000000181542
+000000480985
+000000380706
+000000078748
+000000139099
+000000179765
+000000481567
+000000292456
+000000534605
+000000454978
+000000546976
+000000178982
+000000031817
+000000394199
+000000455624
+000000226662
+000000102331
+000000574702
+000000246963
+000000336232
+000000345027
+000000410878
+000000033854
+000000052412
+000000200839
+000000492937
+000000422706
+000000057672
+000000400803
+000000248334
+000000069213
+000000458992
+000000445834
+000000226408
+000000210299
+000000472623
+000000244833
+000000086220
+000000222094
+000000232563
+000000185802
+000000096001
+000000191845
+000000267537
+000000370486
+000000333745
+000000074058
+000000136033
+000000022371
+000000262895
+000000297578
+000000058539
+000000058705
+000000243204
+000000393569
+000000297353
+000000091615
+000000459272
+000000423123
+000000323263
+000000144333
+000000445658
+000000482436
+000000292060
+000000429598
+000000237928
+000000248111
+000000437898
+000000527750
+000000415194
+000000052996
+000000485844
+000000078266
+000000382696
+000000030213
+000000452793
+000000507081
+000000156278
+000000382122
+000000484760
+000000184762
+000000140658
+000000267351
+000000241319
+000000560474
+000000123480
+000000413552
+000000507473
+000000465179
+000000164602
+000000259640
+000000508370
+000000224051
+000000141597
+000000376284
+000000089556
+000000292997
+000000295809
+000000227511
+000000418696
+000000480944
+000000228942
+000000412531
+000000183709
+000000515266
+000000301135
+000000097679
+000000365642
+000000008211
+000000299887
+000000467511
+000000313182
+000000565391
+000000199771
+000000144798
+000000287714
+000000504074
+000000298396
+000000479126
+000000034873
+000000117425
+000000129113
+000000002592
+000000003845
+000000469192
+000000567197
+000000293044
+000000168337
+000000030828
+000000187243
+000000492362
+000000202228
+000000078404
+000000054654
+000000383606
+000000211825
+000000117645
+000000173799
+000000110042
+000000580294
+000000565045
+000000233370
+000000481573
+000000173008
+000000016249
+000000037670
+000000484415
+000000346703
+000000294350
+000000520910
+000000281032
+000000108026
+000000122217
+000000002532
+000000314177
+000000466986
+000000017436
+000000032817
+000000003156
+000000237118
+000000561256
+000000489339
+000000252219
+000000474095
+000000398905
+000000066231
+000000163562
+000000025096
+000000033638
+000000349184
+000000206411
+000000056350
+000000056127
+000000504711
+000000177935
+000000356347
+000000098018
+000000351609
+000000182417
+000000066841
+000000262682
+000000523175
+000000110884
+000000402346
+000000044279
+000000136772
+000000489305
+000000550714
+000000003661
+000000012667
+000000267903
+000000032285
+000000059920
+000000564023
+000000581615
+000000311081
+000000027982
+000000129322
+000000263796
+000000111951
+000000550797
+000000397327
+000000163258
+000000058029
+000000489091
+000000560279
+000000102644
+000000103585
+000000348045
+000000431140
+000000455981
+000000147518
+000000255401
+000000458054
+000000342295
+000000514914
+000000571804
+000000251065
+000000268831
+000000507893
+000000089761
+000000309495
+000000423971
+000000138819
+000000437392
+000000557258
+000000325114
+000000537812
+000000234413
+000000053505
+000000263474
+000000104803
+000000023666
+000000357567
+000000035770
+000000505169
+000000416745
+000000175387
+000000570736
+000000085576
+000000384850
+000000487583
+000000201775
+000000006818
+000000555012
+000000394328
+000000206271
+000000288062
+000000564127
+000000010977
+000000523229
+000000328959
+000000371529
+000000105249
+000000376442
+000000180792
+000000286907
+000000243495
+000000308466
+000000167898
+000000055002
+000000352584
+000000331352
+000000403385
+000000272416
+000000350833
+000000092124
+000000409358
+000000360564
+000000232649
+000000389804
+000000154718
+000000097022
+000000365766
+000000343466
+000000307145
+000000232348
+000000552883
+000000474786
+000000542089
+000000368940
+000000223789
+000000165257
+000000157124
+000000491071
+000000541291
+000000453634
+000000192047
+000000172083
+000000187513
+000000006213
+000000363784
+000000237316
+000000104572
+000000289992
+000000557501
+000000267670
+000000164637
+000000376310
+000000283785
+000000534664
+000000312278
+000000555597
+000000343561
+000000276018
+000000471991
+000000551304
+000000348216
+000000323202
+000000212453
+000000365387
+000000466085
+000000482917
+000000088951
+000000060835
+000000261161
+000000129756
+000000267300
+000000169076
+000000546829
+000000209613
+000000224200
+000000205834
+000000432553
+000000225184
+000000372819
+000000452891
+000000076417
+000000366884
+000000291664
+000000029393
+000000377575
+000000502136
+000000437514
+000000279145
+000000205514
+000000166521
+000000077396
+000000472678
+000000131138
+000000342367
+000000560312
+000000239041
+000000194832
+000000041872
+000000457078
+000000509260
+000000360951
+000000190236
+000000491497
+000000275749
+000000187249
+000000226171
+000000363840
+000000046378
+000000577182
+000000216739
+000000210032
+000000413404
+000000245513
+000000289393
+000000374052
+000000197870
+000000163155
+000000360943
+000000255965
+000000080666
+000000277584
+000000213445
+000000118515
+000000456292
+000000466339
+000000320554
+000000461405
+000000548267
+000000364322
+000000360325
+000000410428
+000000066561
+000000158548
+000000340272
+000000269196
+000000290592
+000000230166
+000000005992
+000000238039
+000000181666
+000000198960
+000000046804
+000000474881
+000000278353
+000000012062
+000000233567
+000000459437
+000000332901
+000000103548
+000000094871
+000000022589
+000000176606
+000000528524
+000000545958
+000000341058
+000000488075
+000000229659
+000000036494
+000000132587
+000000026564
+000000214720
+000000063740
+000000388258
+000000142324
+000000361103
+000000193926
+000000429109
+000000319607
+000000306136
+000000013177
+000000196843
+000000206487
+000000274272
+000000027768
+000000015338
+000000338625
+000000392722
+000000147740
+000000490936
+000000201934
+000000468124
+000000454661
+000000269632
+000000142585
+000000336658
+000000543043
+000000315450
+000000538364
+000000017627
+000000260266
+000000026204
+000000147223
+000000315187
+000000230008
+000000520009
+000000284725
+000000446651
+000000278848
+000000463730
+000000232538
+000000198928
+000000480021
+000000142472
+000000463037
+000000136715
+000000085376
+000000211674
+000000568290
+000000276284
+000000134886
+000000226802
+000000334371
+000000550691
+000000404479
+000000156071
+000000512564
+000000306893
+000000293245
+000000165518
+000000190756
+000000551794
+000000203389
+000000459634
+000000553776
+000000408830
+000000226154
+000000488385
+000000273551
+000000140420
+000000571264
+000000256192
+000000214192
+000000270066
+000000143556
+000000513580
+000000048924
+000000297147
+000000279887
+000000572956
+000000343934
+000000308631
+000000007816
+000000499622
+000000457848
+000000363875
+000000456394
+000000144300
+000000194875
+000000018737
+000000245448
+000000455716
+000000314251
+000000149406
+000000338219
+000000578792
+000000534827
+000000524108
+000000102411
+000000427338
+000000192699
+000000498709
+000000433204
+000000462756
+000000321557
+000000224724
+000000491090
+000000037751
+000000323709
+000000096549
+000000005477
+000000469174
+000000442480
+000000281693
+000000161044
+000000109900
+000000567432
+000000517523
+000000459467
+000000525322
+000000485237
+000000131386
+000000500049
+000000022396
+000000101787
+000000488270
+000000425221
+000000199977
+000000449996
+000000137950
+000000135673
+000000490413
+000000217060
+000000208208
+000000545407
+000000293324
+000000383621
+000000336309
+000000497568
+000000272136
+000000084752
+000000196185
+000000575205
+000000456865
+000000424776
+000000404128
+000000381639
+000000187745
+000000071711
+000000189828
+000000099054
+000000110721
+000000338325
+000000208901
+000000524850
+000000110359
+000000001761
+000000090631
+000000553094
+000000502599
+000000396903
+000000229747
+000000139871
+000000502347
+000000452122
+000000190676
+000000477441
+000000205401
+000000408112
+000000479912
+000000052017
+000000163746
+000000033114
+000000013348
+000000543528
+000000167540
+000000384350
+000000044652
+000000410221
+000000478862
+000000579158
+000000214205
+000000379453
+000000144114
+000000520324
+000000098520
+000000504000
+000000055167
+000000179265
+000000455085
+000000255749
+000000443498
+000000106048
+000000090208
+000000280710
+000000347544
+000000042070
+000000377723
+000000516143
+000000350023
+000000452321
+000000187144
+000000446206
+000000460967
+000000394275
+000000423519
+000000568439
+000000253002
+000000545219
+000000128051
+000000387387
+000000333402
+000000516804
+000000143931
+000000284445
+000000365655
+000000550349
+000000542856
+000000005037
+000000129135
+000000210502
+000000441553
+000000213816
+000000303908
+000000335529
+000000522713
+000000353180
+000000348881
+000000145620
+000000545594
+000000224119
+000000008690
+000000566436
+000000284698
+000000531036
+000000319534
+000000463199
+000000571857
+000000102356
+000000183500
+000000180383
+000000570539
+000000254814
+000000485802
+000000495054
+000000307074
+000000343496
+000000215723
+000000042102
+000000202339
+000000468925
+000000547336
+000000214869
+000000302452
+000000295713
+000000076416
+000000222118
+000000144003
+000000445846
+000000098392
+000000361142
+000000476704
+000000097988
+000000400367
+000000177893
+000000032941
+000000094751
+000000001532
+000000243867
+000000193717
+000000569030
+000000327890
+000000087144
+000000283037
+000000438017
+000000338560
+000000565012
+000000453841
+000000341921
+000000287291
+000000439623
+000000144706
+000000542423
+000000526392
+000000269942
+000000279714
+000000166391
+000000105912
+000000517069
+000000558558
+000000553511
+000000436738
+000000170545
+000000310072
+000000221754
+000000183246
+000000152120
+000000291791
+000000562448
+000000303305
+000000001584
+000000372317
+000000171298
+000000405205
+000000574425
+000000303818
+000000138550
+000000237984
+000000248314
+000000288584
+000000532129
+000000339870
+000000110282
+000000503841
+000000423798
+000000133087
+000000244379
+000000281179
+000000109441
+000000255917
+000000354753
+000000522751
+000000571943
+000000531134
+000000008762
+000000162858
+000000166509
+000000115946
+000000284762
+000000289222
+000000491470
+000000351559
+000000021839
+000000190923
+000000015272
+000000088218
+000000155451
+000000412894
+000000017905
+000000575372
+000000430875
+000000069138
+000000269682
+000000165713
+000000088848
+000000293474
+000000537355
+000000384616
+000000015746
+000000372203
+000000255718
+000000150265
+000000008899
+000000189226
+000000171050
+000000244019
+000000537153
+000000389812
+000000449909
+000000130826
+000000459153
+000000395575
+000000327601
+000000186449
+000000042628
+000000386912
+000000575187
+000000089697
+000000408696
+000000098716
+000000373705
+000000273132
+000000126226
+000000011511
+000000060347
+000000531707
+000000571718
+000000058393
+000000391375
+000000048153
+000000044590
+000000062353
+000000067180
+000000227478
+000000240049
+000000222458
+000000471567
+000000094326
+000000282046
+000000340451
+000000314541
+000000195045
+000000479099
+000000209222
+000000551350
+000000162130
+000000271457
+000000221502
+000000078032
+000000527960
+000000472030
+000000322829
+000000446117
+000000351589
+000000168619
+000000506454
+000000417043
+000000064359
+000000311295
+000000433243
+000000159977
+000000486046
+000000359781
+000000287545
+000000212895
+000000059386
+000000566042
+000000165336
+000000563603
+000000498857
+000000442661
+000000394611
+000000235252
+000000393282
+000000537053
+000000296969
+000000349302
+000000445365
+000000186637
+000000134689
+000000296317
+000000420472
+000000525600
+000000248810
+000000205282
+000000079188
+000000286849
+000000282912
+000000289659
+000000217614
+000000104619
+000000485895
+000000234526
+000000504580
+000000344059
+000000507042
+000000152870
+000000022969
+000000460379
+000000150726
+000000223130
+000000445675
+000000469652
+000000055072
+000000288882
+000000211069
+000000221281
+000000577862
+000000033707
+000000235057
+000000383676
+000000112634
+000000448448
+000000392933
+000000459757
+000000322429
+000000002149
+000000352618
+000000192871
+000000482719
+000000529966
+000000050896
+000000348708
+000000184791
+000000466835
+000000290619
+000000213935
+000000402433
+000000537241
+000000332455
+000000038070
+000000005503
+000000570782
+000000376365
+000000249025
+000000464824
+000000343315
+000000204186
+000000022755
+000000300659
+000000528862
+000000320425
+000000464689
+000000155154
+000000392481
+000000508482
+000000245102
+000000152465
+000000386457
+000000016502
+000000116479
+000000266082
+000000461573
+000000537964
+000000078565
+000000171611
+000000489014
+000000193162
+000000361571
+000000532575
+000000190140
+000000079229
+000000407083
+000000415990
+000000219578
+000000161609
+000000311190
+000000241326
+000000474164
+000000117525
+000000189806
+000000246454
+000000286422
+000000235399
+000000236166
+000000126110
+000000140203
+000000392818
+000000053529
+000000288685
+000000305343
+000000169169
+000000140640
+000000548780
+000000025560
+000000131131
+000000527616
+000000316015
+000000098839
+000000533536
+000000463618
+000000350054
+000000135872
+000000297085
+000000198641
+000000357941
+000000041888
+000000489046
+000000082696
+000000277051
+000000542625
+000000126107
+000000157847
+000000438269
+000000149622
+000000419201
+000000324818
+000000337987
+000000236690
+000000460160
+000000122927
+000000475904
+000000418959
+000000015751
+000000106881
+000000167902
+000000221017
+000000166259
+000000285788
+000000482477
+000000176847
+000000100489
+000000511076
+000000182441
+000000032811
+000000473015
+000000456496
+000000166287
+000000147498
+000000542776
+000000421834
+000000117374
+000000490125
+000000023230
+000000186938
+000000314034
+000000389532
+000000055299
+000000494188
+000000402519
+000000002923
+000000475223
+000000505565
+000000076261
+000000119233
+000000220858
+000000404568
+000000509719
+000000436551
+000000250205
+000000056545
+000000523782
+000000222235
+000000315001
+000000561009
+000000315257
+000000151516
+000000019042
+000000464251
+000000434247
+000000407518
+000000098261
+000000031322
+000000309452
+000000523811
+000000284279
+000000263594
+000000578236
+000000264335
+000000300155
+000000270705
+000000544811
+000000459500
+000000357060
+000000374551
+000000104119
+000000227187
+000000001268
+000000065288
+000000399560
+000000078420
+000000300913
+000000166277
+000000515025
+000000312213
+000000565962
+000000460841
+000000432468
+000000231831
+000000478393
+000000264441
+000000375493
+000000492284
+000000286708
+000000112798
+000000051008
+000000387383
+000000261706
+000000353970
+000000108244
+000000278463
+000000187236
+000000494634
+000000155291
+000000329319
+000000540928
+000000004795
+000000409867
+000000405306
+000000551815
+000000555705
+000000375278
+000000116825
+000000411665
+000000219485
+000000475732
+000000469067
+000000343076
+000000570664
+000000398810
+000000574810
+000000291490
+000000366199
+000000443303
+000000524280
+000000434996
+000000063552
+000000174231
+000000106389
+000000520531
+000000186296
+000000271728
+000000119828
+000000131938
+000000084650
+000000377000
+000000416330
+000000197528
+000000078426
+000000210099
+000000574315
+000000385205
+000000519764
+000000269314
+000000018833
+000000077595
+000000058111
+000000424545
+000000089271
+000000525247
+000000413395
+000000545826
+000000416170
+000000049810
+000000276024
+000000183675
+000000384513
+000000439715
+000000087470
+000000492282
+000000061171
+000000134034
+000000431876
+000000044699
+000000406997
+000000547383
+000000559956
+000000458755
+000000552612
+000000397639
+000000207728
+000000435206
+000000535578
+000000395388
+000000140583
+000000369442
+000000525155
+000000295231
+000000389566
+000000154947
+000000546556
+000000484893
+000000428562
+000000534394
+000000321887
+000000212559
+000000375763
+000000235857
+000000467776
+000000272212
+000000416758
+000000114907
+000000231580
+000000219440
+000000014888
+000000200667
+000000361268
+000000559099
+000000302165
+000000125806
+000000412887
+000000105264
+000000357081
+000000430073
+000000124636
+000000125072
+000000500663
+000000244411
+000000455219
+000000418281
+000000129416
+000000459396
+000000416837
+000000258911
+000000137576
+000000417085
+000000221155
+000000518213
+000000526706
+000000573626
+000000119038
+000000306582
+000000347664
+000000133778
+000000580418
+000000572408
+000000532058
+000000564336
+000000153527
+000000284991
+000000572462
+000000013659
+000000530466
+000000101420
+000000076547
+000000185472
+000000184324
+000000050145
+000000130386
+000000277005
+000000011197
+000000185157
+000000233727
+000000210394
+000000227399
+000000099114
+000000563604
+000000033109
+000000426268
+000000124277
+000000165039
+000000138979
+000000495146
+000000566758
+000000213605
+000000369812
+000000057149
+000000039484
+000000014380
+000000147725
+000000396338
+000000393093
+000000426372
+000000376625
+000000276720
+000000334555
+000000511999
+000000514376
+000000148508
+000000394206
+000000534639
+000000356612
+000000436883
+000000296224
+000000338986
+000000507667
+000000220732
+000000423617
+000000499775
+000000379800
+000000563653
+000000081394
+000000344029
+000000479030
+000000006723
+000000019109
+000000272049
+000000095843
+000000122606
+000000497867
+000000534673
+000000249219
+000000389684
+000000338428
+000000357748
+000000002006
+000000507797
+000000176037
+000000484404
+000000052007
+000000311909
+000000362682
+000000415536
+000000082846
+000000128372
+000000509008
+000000259571
+000000110784
+000000359937
+000000133819
+000000355817
+000000344816
+000000419882
+000000307598
+000000108440
+000000578093
+000000030675
+000000488664
+000000049060
+000000475387
+000000231169
+000000440508
+000000364587
+000000066135
+000000014473
+000000155443
+000000429718
+000000137727
+000000539445
+000000134722
+000000115118
+000000558421
+000000287874
+000000482978
+000000304365
+000000253835
+000000090155
+000000423229
+000000578967
+000000241297
+000000151857
+000000042178
+000000001353
+000000419096
+000000440617
+000000201148
+000000133567
+000000249643
+000000184321
+000000303863
+000000198510
+000000311883
+000000505638
+000000323828
+000000200162
+000000076625
+000000225946
+000000444879
+000000539143
+000000268000
+000000369675
+000000177383
+000000572555
+000000478286
+000000082085
+000000256195
+000000368038
+000000508917
+000000494863
+000000579818
+000000352491
+000000057244
+000000566524
+000000493566
+000000502229
+000000458109
+000000431896
+000000061268
+000000477623
+000000184400
+000000070254
+000000006040
+000000130566
+000000042563
+000000146825
+000000475365
+000000275727
+000000039670
+000000482585
+000000050165
+000000159684
+000000439593
+000000519338
+000000270297
+000000500423
+000000469246
+000000316054
+000000275791
+000000135902
+000000286507
+000000025181
+000000290293
+000000082812
+000000127624
+000000263299
+000000206994
+000000363072
+000000180188
+000000217400
+000000565778
+000000368456
+000000100274
+000000448410
+000000546659
+000000186624
+000000416269
+000000396568
+000000471023
+000000389451
+000000328286
+000000046497
+000000155145
+000000113051
+000000353518
+000000511599
+000000396518
+000000181421
+000000377882
+000000378139
+000000500477
+000000311392
+000000148999
+000000308394
+000000072852
+000000535094
+000000234660
+000000221213
+000000572303
+000000395633
+000000214200
+000000000724
+000000239843
+000000015440
+000000192716
+000000100723
+000000212072
+000000522940
+000000273617
+000000126592
+000000100283
+000000309173
+000000565153
+000000460229
+000000501023
+000000336587
+000000196754
+000000011122
+000000297343
+000000579893
+000000213593
+000000153568
+000000091619
+000000347163
+000000095899
+000000571008
+000000079408
+000000122745
+000000193884
+000000369751
+000000232646
+000000104782
+000000283038
+000000252332
+000000172856
+000000484029
+000000191471
+000000334521
+000000014831
+000000298697
+000000332318
+000000023937
+000000358923
+000000466125
+000000401446
+000000073702
+000000129062
+000000443969
+000000322610
+000000509451
+000000131444
+000000483667
+000000151657
+000000456559
+000000252294
+000000442456
+000000351530
+000000519491
+000000500613
+000000350003
+000000146498
+000000577976
+000000414133
+000000441468
+000000499768
+000000523241
+000000320232
+000000155341
+000000417779
+000000283318
+000000345361
+000000297681
+000000322864
+000000356169
+000000326627
+000000204871
+000000354829
+000000323571
+000000293071
+000000273198
+000000278749
+000000521141
+000000561679
+000000084170
+000000026926
+000000153011
+000000377946
+000000093154
+000000343976
+000000225532
+000000054967
+000000230450
+000000496722
+000000276707
+000000196759
+000000127092
+000000041633
+000000499181
+000000046872
+000000181816
+000000447342
+000000338718
+000000565563
+000000135410
+000000460147
+000000289594
+000000198805
+000000475484
+000000460347
+000000161128
+000000258793
+000000393226
+000000334006
+000000429011
+000000067616
+000000124798
+000000335177
+000000521052
+000000373353
+000000088462
+000000474452
+000000203294
+000000133000
+000000060090
+000000323751
+000000385190
+000000014226
+000000205289
+000000205647
+000000563702
+000000219271
+000000192607
+000000148719
+000000260261
+000000297022
+000000467848
+000000172648
+000000569565
+000000018837
+000000184338
+000000123131
+000000365745
+000000401862
+000000550084
+000000147745
+000000478474
+000000188439
+000000295420
+000000154000
+000000519039
+000000088432
+000000335800
+000000553339
+000000433774
+000000505942
+000000410712
+000000087244
+000000344909
+000000427500
+000000338191
+000000147338
+000000565607
+000000569273
+000000038048
+000000140556
+000000079034
+000000566923
+000000087875
+000000028993
+000000523194
+000000580757
+000000390301
+000000020107
+000000328683
+000000051961
+000000430871
+000000280325
+000000568147
+000000034071
+000000203488
+000000458702
+000000036861
+000000162366
+000000333956
+000000064495
+000000053994
+000000502336
+000000130599
+000000153529
+000000158956
+000000029397
+000000285894
+000000049259
+000000078843
+000000301061
+000000101068
+000000009769
+000000180011
+000000315492
+000000212226
+000000424975
+000000264535
+000000420916
+000000453584
+000000234757
+000000350607
+000000284296
+000000299720
+000000183104
+000000261712
+000000338532
+000000417876
+000000581100
+000000345261
+000000157098
+000000475150
+000000289586
+000000047010
+000000480842
+000000153299
+000000151662
+000000065455
+000000079565
+000000333069
+000000101780
+000000272364
+000000229753
+000000301981
+000000151480
+000000027932
+000000153632
+000000572388
+000000297396
+000000489842
+000000357501
+000000409268
+000000163314
+000000290248
+000000366178
+000000314914
+000000544605
+000000449198
+000000104198
+000000259854
+000000532530
+000000086483
+000000252559
+000000448810
+000000236845
+000000404534
+000000015517
+000000573943
+000000189698
+000000463647
+000000516708
+000000509258
+000000247838
+000000450758
+000000259382
+000000488710
+000000524742
+000000174004
+000000011615
+000000500826
+000000433134
+000000229858
+000000118594
+000000017031
+000000118405
+000000106281
+000000166563
+000000090062
+000000052565
+000000333697
+000000251572
+000000081766
+000000401991
+000000049269
+000000206831
+000000139872
+000000412240
+000000022192
+000000071226
+000000505573
+000000237864
+000000292330
+000000534270
+000000222317
+000000318908
+000000347930
+000000089880
+000000170278
+000000225670
+000000486479
+000000030494
+000000554579
+000000549220
+000000555005
+000000399655
+000000185250
+000000309484
+000000080153
+000000273642
+000000446522
+000000329447
+000000389933
+000000145781
+000000575357
+000000462728
+000000273232
+000000490171
+000000181969
+000000263463
+000000517832
+000000338624
+000000138492
+000000297830
+000000179392
+000000509403
+000000182805
+000000017029
+000000236784
+000000385997
+000000295478
+000000149568
+000000082807
+000000253386
+000000511398
+000000355240
+000000512836
+000000107226
+000000367082
+000000151962
+000000338901
+000000289702
+000000453001
+000000198489
+000000473219
+000000201418
+000000006763
+000000229997
+000000186422
+000000572517
+000000066038
+000000060823
+000000492992
+000000403817
+000000001675
+000000425390
+000000311789
+000000476810
+000000181859
+000000287649
+000000491757
+000000364297
+000000080949
+000000115885
+000000094336
+000000458255
+000000015497
+000000416256
+000000407960
+000000177015
+000000245576
+000000047819
+000000152740
+000000387148
+000000267434
+000000240754
+000000402992
+000000224093
+000000041635
+000000396205
+000000222863
+000000294855
+000000377239
+000000416104
+000000092416
+000000151938
+000000222299
+000000275198
+000000540414
+000000050811
+000000390826
+000000267169
+000000163682
+000000460683
+000000156372
+000000040083
+000000255536
+000000289741
+000000061418
+000000112626
+000000081061
+000000172877
+000000312421
+000000413689
+000000281929
+000000184611
+000000341469
+000000458223
+000000266981
+000000477227
+000000449432
+000000114884
+000000233771
+000000250127
+000000058384
+000000543300
+000000503823
+000000160772
+000000267940
+000000144932
+000000020571
+000000531495
+000000330369
+000000213033
+000000047828
+000000212800
+000000502168
+000000410612
+000000239274
+000000116439
+000000257566
+000000186873
+000000050006
+000000508101
+000000465675
+000000511321
+000000148730
+000000427649
+000000451090
+000000365098
+000000570448
+000000472298
+000000526751
+000000133233
+000000311518
+000000396580
+000000209972
+000000079837
+000000522393
+000000496597
+000000490470
+000000178744
+000000133645
+000000561335
+000000491725
+000000421757
+000000188689
+000000549390
+000000448256
+000000154004
+000000445722
+000000222559
+000000292236
+000000519688
+000000399764
+000000455872
+000000528980
+000000575243
+000000233033
+000000047585
+000000402774
+000000032861
+000000339823
+000000122046
+000000250619
+000000309964
+000000440507
+000000455157
+000000292155
+000000210789
+000000476514
+000000150224
+000000230993
+000000281759
+000000177861
+000000009448
+000000549930
+000000248284
+000000029984
+000000496854
+000000416991
+000000081594
+000000279927
+000000442306
+000000007088
+000000500211
+000000510329
+000000360960
+000000084477
+000000222991
+000000477288
+000000262048
+000000265108
+000000408120
+000000301867
+000000180487
+000000060052
+000000163257
+000000360137
+000000143961
+000000557672
+000000121417
+000000441543
+000000493772
+000000212573
+000000530162
+000000231088
+000000313588
+000000407943
+000000503855
+000000121506
+000000526103
+000000136633
+000000281754
+000000540280
+000000207844
+000000530854
+000000161032
+000000540466
+000000319369
+000000146363
+000000215072
+000000203580
+000000535608
+000000382030
+000000250137
+000000067315
+000000354547
+000000004395
+000000009891
+000000100428
+000000450075
+000000476415
+000000166768
+000000068409
+000000004134
+000000244496
+000000060932
+000000292082
+000000289229
+000000352684
+000000277020
+000000313454
+000000344268
+000000183716
+000000271116
+000000032901
+000000310862
+000000257896
+000000287527
+000000025393
+000000019924
+000000067534
+000000020333
+000000016598
+000000018770
+000000170955
+000000008532
+000000021604
+000000080340
+000000258541
+000000562243
+000000423506
+000000152214
+000000002299
+000000443426
+000000453166
+000000397303
+000000271997
+000000133343
+000000347254
+000000406417
+000000161875
+000000008021
+000000411953
+000000491867
+000000274219
+000000296657
+000000471087
+000000558114
+000000011051
+000000580197
+000000206025
+000000119641
+000000167067
+000000568814
+000000423944
+000000250282
+000000566282
+000000042296
+000000061960
+000000217219
+000000370478
+000000200252
+000000270883
+000000565989
+000000526728
+000000166664
+000000055150
+000000105923
+000000346232
+000000442746
+000000082180
+000000365208
+000000190753
+000000422836
+000000388846
+000000539962
+000000132796
+000000361551
+000000414795
+000000088485
+000000329323
+000000337055
+000000012280
+000000235241
+000000417249
+000000520832
+000000334719
+000000286503
+000000409198
+000000267191
+000000253742
+000000369037
+000000465180
+000000158945
+000000252716
+000000172617
+000000048504
+000000519208
+000000351810
+000000393115
+000000415748
+000000356427
+000000384468
+000000308328
+000000203639
+000000328238
+000000358525
+000000112110
+000000500257
+000000103723
+000000343803
+000000360097
+000000400815
+000000288042
+000000486112
+000000440171
+000000021167
+000000053624
+000000562207
+000000107851
+000000293300
+000000179174
+000000370711
+000000437351
+000000006894
+000000183648
+000000210388
+000000377368
+000000021903
+000000011699
+000000356125
+000000183437
+000000511384
+000000114049
+000000106757
+000000341094
+000000119088
+000000085329
+000000556765
+000000475779
+000000166642
+000000359135
+000000514979
+000000433374
+000000232244
+000000389316
+000000155571
+000000088250
+000000391144
+000000162543
+000000330790
+000000007108
+000000157213
+000000083113
+000000405972
+000000024919
+000000314294
+000000167128
+000000346905
+000000259625
+000000108864
+000000133631
+000000028449
+000000210708
+000000126216
+000000347456
+000000270402
+000000201025
+000000445248
+000000263860
+000000379533
+000000565624
+000000080274
+000000057027
+000000170739
+000000493284
+000000420230
+000000368961
+000000535156
+000000564133
+000000094852
+000000268375
+000000097230
+000000110638
+000000178618
+000000474170
+000000460927
+000000521231
+000000318080
+000000307658
+000000243075
+000000127955
+000000513484
+000000471450
+000000205776
+000000104603
+000000547519
+000000079144
+000000110972
+000000173033
+000000085478
+000000165500
+000000298738
+000000453981
+000000308753
+000000573391
+000000519611
+000000194506
+000000417465
+000000560266
+000000203546
+000000312586
+000000020247
+000000375015
+000000096960
+000000235064
+000000092839
+000000071756
+000000000285
+000000532071
+000000217948
+000000431727
+000000308476
+000000361180
+000000414261
+000000194216
+000000132622
+000000200961
+000000323799
+000000521259
+000000085665
+000000370813
+000000493613
+000000310980
+000000039769
+000000451308
+000000286458
+000000125062
+000000044068
+000000113403
+000000115245
+000000084270
+000000180296
+000000023023
+000000520707
+000000034139
+000000329041
+000000475678
+000000304545
+000000389315
+000000359855
+000000127660
+000000125952
+000000350019
+000000453860
+000000161978
+000000026941
+000000024021
+000000390555
+000000082821
+000000463849
+000000320743
+000000230362
+000000442822
+000000286994
+000000383921
+000000325031
+000000245915
+000000223188
+000000229221
+000000512648
+000000461036
+000000477689
+000000269113
+000000355905
+000000562561
+000000134112
+000000022892
+000000463522
+000000564280
+000000255664
+000000090003
+000000309938
+000000447200
+000000221693
+000000547502
+000000236592
+000000364636
+000000072813
+000000283412
+000000367195
+000000357459
+000000479155
+000000331075
+000000464522
+000000125405
+000000560880
+000000052891
+000000421455
+000000064868
+000000369541
+000000578922
+000000387098
+000000262938
+000000023034
+000000308545
+000000061584
+000000367818
+000000427655
+000000121031
+000000242678
+000000381971
+000000263966
+000000576052
+000000050380
+000000016228
+000000015956
+000000460682
+000000166747
+000000380203
+000000244099
+000000229948
+000000476215
+000000047571
+000000553990
+000000265816
+000000191614
+000000491683
+000000303499
+000000353051
+000000441442
+000000051309
+000000054931
+000000360661
+000000303653
+000000317433
+000000382111
+000000252216
+000000546823
+000000045070
+000000319721
+000000281447
+000000267933
+000000547886
+000000529105
+000000199236
+000000172547
+000000356261
+000000141671
+000000506656
+000000356968
+000000227686
+000000508639
+000000012748
+000000574297
+000000134856
+000000481159
+000000299609
+000000481480
+000000048555
+000000396863
+000000080659
+000000097924
+000000040036
+000000227898
+000000481582
+000000576955
+000000185473
+000000100510
+000000007281
+000000382088
+000000462904
+000000454798
+000000214753
+000000118209
+000000132408
+000000269932
+000000335450
+000000348243
+000000140286
+000000377486
+000000488251
+000000369081
+000000552371
+000000260106
+000000206838
+000000242724
+000000331280
+000000344888
+000000348488
+000000121242
+000000140270
+000000241677
+000000088265
+000000304291
+000000191288
+000000023126
+000000439180
+000000275392
+000000456015
+000000372307
+000000424642
+000000100238
+000000191580
+000000496954
+000000025057
+000000079651
+000000166426
+000000213547
+000000474854
+000000437205
+000000378515
+000000439854
+000000513181
+000000016010
+000000537506
+000000509131
+000000293794
+000000153797
+000000192670
+000000345466
+000000430961
+000000239773
+000000282037
+000000464089
+000000407298
+000000554328
+000000559547
+000000119445
+000000451879
+000000043816
+000000516038
+000000056288
+000000572900
+000000553788
+000000226592
+000000216277
+000000059598
+000000388903
+000000407825
+000000391290
+000000386210
+000000157928
+000000069356
+000000521819
+000000437239
+000000102805
+000000231508
+000000050679
+000000130699
+000000303566
+000000261982
+000000400794
+000000376307
+000000163951
+000000054628
+000000425361
+000000500478
+000000017182
+000000112378
+000000123213
+000000447522
+000000434459
+000000104669
+000000493799
+000000516871
+000000405249
+000000506279
+000000062554
+000000549167
+000000527695
+000000357742
+000000325991
+000000190853
+000000330396
+000000266409
+000000482800
+000000533493
+000000261036
+000000199055
+000000336265
+000000038118
+000000205333
+000000136334
+000000366711
+000000052591
+000000227482
+000000434548
+000000431545
+000000319184
+000000500270
+000000362520
+000000127263
+000000535306
+000000347265
+000000378454
+000000440336
+000000213171
+000000128654
+000000465806
+000000312720
+000000280891
+000000132931
+000000342397
+000000568213
+000000556158
+000000082986
+000000364102
+000000404249
+000000480275
+000000259097
+000000118921
+000000197388
+000000485480
+000000326542
+000000527029
+000000567740
+000000493442
+000000129945
+000000130579
+000000257478
+000000499031
+000000030504
+000000443844
+000000428218
+000000095155
+000000008844
+000000469828
+000000000785
+000000468632
+000000552842
+000000013291
+000000164885
+000000138115
+000000064462
+000000442836
+000000451714
+000000169356
+000000576031
+000000163118
+000000292415
+000000331799
+000000034452
+000000162415
+000000061747
+000000051712
+000000451144
+000000090891
+000000091495
+000000031093
+000000239857
+000000414170
+000000304180
+000000341719
+000000227491
+000000470779
+000000006954
+000000574823
+000000434204
+000000447465
+000000006471
+000000174123
+000000470952
+000000216516
+000000515982
+000000009378
+000000352582
+000000196442
+000000283520
+000000507015
+000000109118
+000000407002
+000000128112
+000000223955
+000000308165
+000000401244
+000000377113
+000000032735
+000000010764
+000000229601
+000000451043
+000000074860
+000000512776
+000000424551
+000000352760
+000000297698
+000000005529
+000000150649
+000000280779
+000000455555
+000000439522
+000000377588
+000000516601
+000000569825
+000000243989
+000000186042
+000000356428
+000000236308
+000000329827
+000000504589
+000000459195
+000000108495
+000000003255
+000000274708
+000000172935
+000000430377
+000000427160
+000000272566
+000000153229
+000000411530
+000000568981
+000000068387
+000000581357
+000000453708
+000000019221
+000000184978
+000000448263
+000000537827
+000000328337
+000000308793
+000000013201
+000000013774
+000000247917
+000000481413
+000000374369
+000000173830
+000000271471
+000000269316
+000000398028
+000000291619
+000000220764
+000000501005
+000000559160
+000000163290
+000000290833
+000000085823
+000000049761
+000000447313
+000000125211
+000000364166
+000000508586
+000000025139
+000000268729
+000000546011
+000000516316
+000000320632
+000000298251
+000000484296
+000000113354
+000000017115
+000000201676
+000000291861
+000000001818
+000000244592
+000000172977
+000000509735
+000000509656
+000000501243
+000000473974
+000000038825
+000000491613
+000000052462
+000000064499
+000000031269
+000000011760
+000000376278
+000000124975
+000000110211
+000000068933
+000000464872
+000000159311
+000000426297
+000000091921
+000000218424
+000000176634
+000000116589
+000000504439
+000000236730
+000000060770
+000000350488
+000000449406
+000000445439
+000000148783
+000000317024
+000000454750
+000000250758
+000000377497
+000000562121
+000000020059
+000000504635
+000000325306
+000000215245
+000000104455
+000000270244
+000000577149
+000000552902
+000000070158
+000000305695
+000000093965
+000000122969
+000000545129
+000000562443
+000000054123
+000000069106
+000000205324
+000000423104
+000000139883
+000000342971
+000000542127
+000000509014
+000000080671
+000000466602
+000000387916
+000000361919
+000000193181
+000000072795
+000000188465
+000000018491
+000000153669
+000000476770
+000000084031
+000000197658
+000000060886
+000000300842
+000000463283
+000000236721
+000000231527
+000000535253
+000000110999
+000000417285
+000000419312
+000000045472
+000000210030
+000000358427
+000000559707
+000000550471
+000000177714
+000000157138
+000000250766
+000000335427
+000000352900
+000000327780
+000000105014
+000000261116
+000000099053
+000000002157
+000000521540
+000000479448
+000000127494
+000000116362
+000000141328
+000000139260
+000000158660
+000000191761
+000000030785
+000000389381
+000000296634
+000000314182
+000000132116
+000000459887
+000000577539
+000000194940
+000000290081
+000000439290
+000000161820
+000000028809
+000000188906
+000000312406
+000000128658
+000000279769
+000000575500
+000000002587
+000000407574
+000000006012
+000000165351
+000000113589
+000000114871
+000000548506
+000000457262
+000000013004
+000000189078
+000000078959
+000000119452
+000000346707
+000000560256
+000000429281
+000000424721
+000000060855
+000000551660
+000000044260
+000000185599
+000000409424
+000000203095
+000000006614
+000000079014
+000000479596
+000000402783
+000000128598
+000000498919
+000000148707
+000000347370
+000000217753
+000000386277
+000000406570
+000000298994
+000000562197
+000000410934
+000000579900
+000000153510
+000000248980
+000000209142
+000000561889
+000000396274
+000000465585
+000000061658
+000000579091
+000000015278
+000000023781
+000000034205
+000000092660
+000000003501
+000000029640
+000000194746
+000000155179
+000000013597
+000000098633
+000000324715
+000000021503
+000000167240
+000000235784
+000000085682
+000000309655
+000000516677
+000000438955
+000000439994
+000000493019
+000000545730
+000000185409
+000000378453
+000000129054
+000000045728
+000000350388
+000000123321
+000000050149
+000000581781
+000000283070
+000000186929
+000000050331
+000000434297
+000000253695
+000000371472
+000000226883
+000000356498
+000000118367
+000000464786
+000000581206
+000000157601
+000000513567
+000000530624
+000000366611
+000000324158
+000000515579
+000000084674
+000000426329
+000000368684
+000000333772
+000000061333
+000000113235
+000000527784
+000000276055
+000000460929
+000000313034
+000000470121
+000000463527
+000000069224
+000000422998
+000000231822
+000000125936
+000000145597
+000000533206
+000000244181
+000000293858
+000000336356
+000000213255
+000000567825
+000000239717
+000000156643
+000000572620
+000000170670
+000000157418
+000000473406
+000000081738
+000000546626
+000000523807
+000000468505
+000000018575
+000000468332
+000000558854
+000000460494
+000000226903
+000000473118
+000000447917
+000000558213
+000000160728
+000000330818
+000000579635
+000000190007
+000000065350
+000000364557
+000000204329
+000000428111
+000000137246
+000000289938
+000000132544
+000000016451
+000000530975
+000000462371
+000000263969
+000000257624
+000000187055
+000000438862
+000000577864
+000000142238
+000000214539
+000000398742
+000000567640
+000000162732
+000000457559
+000000188296
+000000001425
+000000339442
+000000255912
+000000234779
+000000551822
+000000303893
+000000435081
+000000499109
+000000070048
+000000120777
+000000046463
+000000449190
+000000465430
+000000255747
+000000197004
+000000416885
+000000438226
+000000250901
+000000350148
+000000092053
+000000479732
+000000175535
+000000369370
+000000227985
+000000120853
+000000344100
+000000528399
+000000311303
+000000417608
+000000456143
+000000287959
+000000279730
+000000038678
+000000045550
+000000529762
+000000393014
+000000304984
+000000088269
+000000430056
+000000226147
+000000493334
+000000551780
+000000405195
+000000476119
+000000157365
+000000349860
+000000396200
+000000171382
+000000397351
+000000107554
+000000119911
+000000245320
+000000394510
+000000278705
+000000146831
+000000361506
+000000414385
+000000230983
+000000419408
+000000273711
+000000517056
+000000024567
+000000018193
+000000099810
+000000570471
+000000242946
+000000092939
+000000535523
+000000426795
+000000480936
+000000466256
+000000378605
+000000035682
+000000383337
+000000179898
+000000143998
+000000255824
+000000287667
+000000322211
+000000276434
+000000378873
+000000458325
+000000538458
+000000320664
+000000318455
+000000029675
+000000184384
+000000102820
+000000450559
+000000185950
+000000493864
+000000393469
+000000106912
+000000401250
+000000094614
+000000389197
+000000018519
+000000253819
+000000389109
+000000161799
+000000108503
+000000553221
+000000187362
+000000162092
+000000523033
+000000512985
+000000451084
+000000343937
+000000089078
+000000561958
+000000072281
+000000327592
+000000417911
+000000121673
+000000445602
+000000529939
+000000492968
+000000243148
+000000573258
+000000561223
+000000188592
+000000464144
+000000083540
+000000224222
+000000229553
+000000190841
+000000502737
+000000422886
+000000026690
+000000424521
+000000260470
+000000054592
+000000176799
+000000314709
+000000094944
+000000051314
+000000145665
+000000111207
+000000491130
+000000409475
+000000270677
+000000044195
+000000257084
+000000373315
+000000563349
+000000252507
+000000359677
+000000496409
+000000329456
+000000448365
+000000365521
+000000541055
+000000473121
+000000002473
+000000384666
+000000425906
+000000442463
+000000194471
+000000067310
+000000490515
+000000560178
+000000532493
+000000142971
+000000154087
+000000125472
+000000400573
+000000063047
+000000432085
+000000283268
+000000486438
+000000291551
+000000516173
+000000300276
+000000199442
+000000534041
+000000096825
+000000301563
+000000343453
+000000358195
+000000370677
+000000309467
+000000132703
+000000125257
+000000107094
+000000312489
+000000177357
+000000020992
+000000249786
+000000007977
+000000431848
+000000313562
+000000038210
+000000128699
+000000576566
+000000109992
+000000378244
+000000548555
+000000074457
+000000161879
+000000554595
+000000475064
+000000515445
+000000129812
+000000334767
+000000449312
+000000419379
+000000170613
+000000005193
+000000327306
+000000090956
+000000185292
+000000426376
+000000350679
+000000039785
+000000489924
+000000172649
+000000033104
+000000122672
+000000180135
+000000421060
+000000515577
+000000306437
+000000275058
+000000581062
+000000003553
+000000187990
+000000217872
+000000041990
+000000532855
+000000151051
+000000322724
+000000036539
+000000438907
+000000327605
+000000121591
+000000080273
+000000258388
+000000341973
+000000149375
+000000295316
+000000193429
+000000420281
+000000043314
+000000449603
+000000013546
+000000256868
+000000450399
+000000142790
+000000270122
+000000001490
+000000398438
+000000295138
+000000289417
+000000187585
+000000034417
+000000099242
+000000177539
+000000476258
+000000349594
+000000335328
+000000562229
+000000246883
+000000161781
+000000045090
+000000397681
+000000210230
+000000426203
+000000395903
+000000084492
+000000459662
+000000163640
+000000402118
+000000528314
+000000054164
+000000053626
+000000071877
+000000326128
+000000529122
+000000562818
+000000037689
+000000544444
+000000097278
+000000068628
+000000455448
+000000465836
+000000087476
+000000331817
+000000176901
+000000334483
+000000209757
+000000297427
+000000364884
+000000407650
+000000245311
+000000532481
+000000416343
+000000288862
+000000035197
+000000374083
+000000245026
+000000574520
+000000273715
+000000093353
+000000004765
+000000378673
+000000043435
+000000230819
+000000447611
+000000461009
+000000023359
+000000452784
+000000456303
+000000073946
+000000326462
+000000481390
+000000336209
+000000376112
+000000463542
+000000131556
+000000086755
+000000400044
+000000350405
+000000304817
+000000420069
+000000377635
+000000544052
+000000263068
+000000563648
+000000015597
+000000022479
+000000093717
+000000192964
+000000523957
+000000326174
+000000331604
+000000355677
+000000540932
+000000520659
+000000535858
+000000092177
+000000164115
+000000006460
+000000277689
+000000400082
+000000562059
+000000414638
+000000242060
+000000319617
+000000256518
+000000128476
+000000231097
+000000167572
+000000288762
+000000530146
+000000313783
+000000485972
+000000223090
+000000007991
+000000015079
+000000130613
+000000116206
+000000095707
+000000010583
+000000173383
+000000015254
+000000450100
+000000345941
+000000196009
+000000227765
+000000109916
+000000308430
+000000254016
+000000284106
+000000322574
+000000009914
+000000567898
+000000034257
+000000299355
+000000455267
+000000157390
+000000407524
+000000165831
+000000104612
+000000125245
+000000221872
+000000251537
+000000393838
+000000148662
+000000226130
+000000311950
+000000091779
+000000283113
+000000399296
+000000430973
+000000043581
+000000164969
+000000345469
+000000451150
+000000561465
+000000526197
+000000109798
+000000439426
+000000296284
+000000148957
+000000521601
+000000478136
+000000377814
+000000466567
+000000533855
+000000453040
+000000216636
+000000119677
+000000495448
+000000556873
+000000245651
+000000485130
+000000344795
+000000000776
+000000051938
+000000410456
+000000538236
+000000074200
+000000231125
+000000127517
+000000406611
+000000083531
+000000359833
+000000138954
+000000530052
+000000138241
+000000066926
+000000238866
+000000349152
+000000106266
+000000328117
+000000131379
+000000251119
+000000193674
+000000318238
+000000159458
+000000036936
+000000036844
+000000565853
+000000416534
+000000448076
+000000405970
+000000031735
+000000128148
+000000249550
+000000357978
+000000396526
+000000037740
+000000154358
+000000013923
+000000000139
+000000569059
+000000218091
+000000411817
+000000319100
+000000539883
+000000509699
+000000091406
+000000012576
+000000467176
+000000084431
+000000222735
+000000563267
+000000575081
+000000302030
+000000556193
+000000494913
+000000345252
+000000292446
+000000453341
+000000455937
+000000232088
+000000092091
+000000195842
+000000516916
+000000301421
+000000257370
+000000218439
+000000385719
+000000491366
+000000453722
+000000121586
+000000533145
+000000514508
+000000029596
+000000442323
+000000532761
+000000479248
+000000139077
+000000225757
+000000319935
+000000290771
+000000172595
+000000056344
+000000353096
+000000454067
+000000435208
+000000202445
+000000134882
+000000435299
+000000474167
+000000112298
+000000194724
+000000173004
+000000325483
+000000324258
+000000091500
+000000156076
+000000113720
+000000402720
+000000474021
+000000097994
+000000385029
+000000223182
+000000140076
+000000010707
+000000372349
+000000206027
+000000439525
+000000209530
+000000146489
+000000287347
+000000108253
+000000018150
+000000013729
+000000511453
+000000355257
+000000416451
+000000124659
+000000532690
+000000302536
+000000294783
+000000182162
+000000509824
+000000572678
+000000367569
+000000445792
+000000570456
+000000458663
+000000546964
+000000322352
+000000467315
+000000468501
+000000367386
+000000340175
+000000024610
+000000556000
+000000415741
+000000482319
+000000048396
+000000213422
+000000080932
+000000515077
+000000277197
+000000096493
+000000019786
+000000371749
+000000107339
+000000144984
+000000171740
+000000027186
+000000109313
+000000182155
+000000215259
+000000181753
+000000512657
+000000559543
+000000568584
+000000003934
+000000158744
+000000468954
+000000546325
+000000578489
+000000495732
+000000471893
+000000100582
+000000569972
+000000471756
+000000201646
+000000044877
+000000293625
+000000164883
+000000146358
+000000465549
+000000059635
+000000571598
+000000334417
+000000482275
+000000241668
+000000391722
+000000022935
+000000463174
+000000371552
+000000213830
+000000060102
+000000033368
+000000088970
+000000240023
+000000238013
+000000098853
+000000225405
+000000409211
+000000274411
+000000493905
+000000031217
+000000179285
+000000055950
+000000039551
+000000237071
+000000064718
+000000398203
+000000402615
+000000438304
+000000406129
+000000177065
+000000104424
+000000316404
+000000365095
+000000065736
+000000485027
+000000474028
+000000170474
+000000078915
+000000049759
+000000152686
+000000179487
+000000327701
+000000362716
+000000085772
+000000135604
+000000431693
+000000479953
+000000127530
+000000388215
+000000497628
+000000483531
+000000170191
+000000430286
+000000068286
+000000010092
+000000039956
+000000231549
+000000050828
+000000414034
+000000464358
+000000111609
+000000010995
+000000199551
+000000396729
+000000536038
+000000071451
+000000551439
+000000243199
+000000000632
+000000051738
+000000521509
+000000451155
+000000001993
+000000347174
+000000333237
+000000422670
+000000254368
+000000099182
+000000460333
+000000415882
+000000347693
+000000317999
+000000403353
+000000463842
+000000468245
+000000065074
+000000450488
+000000190648
+000000035062
+000000384651
+000000167159
+000000066523
+000000329080
+000000578545
+000000007795
+000000518326
+000000468577
+000000046048
+000000345385
+000000483050
+000000193494
+000000263644
+000000554266
+000000035279
+000000497344
+000000062808
+000000099428
+000000180878
+000000042528
+000000150417
+000000571313
+000000120584
+000000415716
+000000183049
+000000365385
+000000311394
+000000368212
+000000544519
+000000500565
+000000160666
+000000175251
+000000193348
+000000055528
+000000324614
+000000521405
+000000563281
+000000064523
+000000515828
+000000031620
+000000126137
+000000075612
+000000047112
+000000325347
+000000521717
+000000473237
+000000025603
+000000016958
+000000231879
+000000326248
+000000228144
+000000180101
+000000201426
+000000266892
+000000019432
+000000133244
+000000518770
+000000296222
+000000382125
+000000491008
+000000361147
+000000342128
+000000463918
+000000532901
+000000189752
+000000054605
+000000329455
+000000513041
+000000206579
+000000265777
+000000307172
+000000276285
+000000488166
+000000177213
+000000074733
+000000420840
+000000355325
+000000220584
+000000302990
+000000263403
+000000252701
+000000248400
+000000082688
+000000321214
+000000297595
+000000009400
+000000140987
+000000320696
+000000292024
+000000351823
+000000162581
+000000021879
+000000498807
+000000549055
+000000341196
+000000149770
+000000027972
+000000289059
+000000023899
+000000554156
+000000274066
+000000354307
+000000290163
+000000002261
+000000375469
+000000477955
+000000383842
+000000361238
+000000156924
+000000364126
+000000548524
+000000410496
+000000444142
+000000000885
+000000148739
+000000372577
+000000271402
+000000210915
+000000381360
+000000040757
+000000397279
+000000321790
+000000489764
+000000320642
+000000475191
+000000214703
+000000373382
+000000212166
+000000133418
+000000007278
+000000166165
+000000143572
+000000551215
+000000180560
+000000304812
+000000063965
+000000393056
+000000047801
+000000445999
+000000394559
+000000161925
+000000252776
+000000019402
+000000128675
+000000449661
+000000172571
+000000209829
+000000551804
+000000400161
+000000082715
+000000329542
+000000294831
+000000403584
+000000050943
+000000429761
+000000309678
+000000064898
+000000513524
+000000568195
+000000505451
+000000554735
+000000328601
+000000455301
+000000516318
+000000032081
+000000239347
+000000190307
+000000027696
+000000171757
+000000115898
+000000425702
+000000110449
+000000261535
+000000371042
+000000129492
+000000318138
+000000137106
+000000272148
+000000273760
+000000229111
+000000081988
+000000200421
+000000289415
+000000482735
+000000191672
+000000489611
+000000033221
+000000441491
+000000498032
+000000530820
+000000234607
+000000327617
+000000391140
+000000052507
+000000062692
+000000503755
+000000376093
+000000117744
+000000203864
+000000390246
+000000257865
+000000441286
+000000547854
+000000080022
+000000099039
+000000376206
+000000382009
+000000363207
+000000278973
+000000201072
+000000515350
+000000404839
+000000378284
+000000079031
+000000185890
+000000380711
+000000025228
+000000378116
+000000179141
+000000463802
+000000232692
+000000032570
+000000096427
+000000300341
+000000258883
+000000292908
+000000151629
+000000057232
+000000183127
+000000274460
+000000051976
+000000063154
+000000404805
+000000567011
+000000334530
+000000262587
+000000356505
+000000437331
+000000189775
+000000121744
+000000386352
+000000386879
+000000183391
+000000001000
+000000076468
+000000079969
+000000033005
+000000376900
+000000223959
+000000179642
+000000229849
+000000039480
+000000551820
+000000253452
+000000117719
+000000163611
+000000324927
+000000008629
+000000359219
+000000085195
+000000189451
+000000360393
+000000499313
+000000451571
+000000353027
+000000179214
+000000127476
+000000436315
+000000575815
+000000232489
+000000197022
+000000142092
+000000357903
+000000342186
+000000522156
+000000312552
+000000323355
+000000431568
+000000429623
+000000451693
+000000024144
+000000075456
+000000279541
+000000565597
+000000082765
+000000379842
+000000383838
+000000369310
+000000190637
+000000059044
+000000172946
+000000157046
+000000402765
+000000541664
+000000563758
+000000332351
+000000122962
+000000485071
+000000541123
+000000337498
+000000089670
+000000506178
+000000555412
+000000189310
+000000371699
+000000427034
+000000543581
+000000577735
+000000039477
+000000115870
+000000125778
+000000086582
+000000573094
+000000069795
+000000246968
+000000106235
+000000568710
+000000089045
+000000293804
+000000579970
+000000398652
+000000031248
+000000578500
+000000384527
+000000426241
+000000189820
+000000262227
+000000547144
+000000038576
+000000296231
+000000346638
+000000097337
+000000255165
+000000047769
+000000186282
+000000326082
+000000104666
+000000540962
+000000465718
+000000458410
+000000009483
+000000154431
+000000166166
+000000492905
+000000066635
+000000246308
+000000148620
+000000366225
+000000549674
+000000366141
+000000195754
+000000139684
+000000371677
+000000555009
+000000363461
+000000395701
+000000507575
+000000195918
+000000233825
+000000084362
+000000322895
+000000004495
+000000383339
+000000384949
+000000471789
+000000425925
+000000132329
+000000286553
+000000312192
+000000320490
+000000520264
+000000141821
+000000022705
+000000548339
+000000293200
+000000450303
+000000413247
+000000513283
+000000465822
+000000214224
+000000160012
+000000473869
+000000020553
+000000146457
+000000189475
+000000476787
+000000136600
+000000116208
+000000546717
+000000471869
+000000166478
+000000242934
+000000332845
+000000340894
+000000492758
+000000367095
+000000428280
+000000555972
+000000058350
+000000419601
+000000379441
+000000394677
+000000356432
+000000344621
+000000226058
+000000473821
+000000580410
+000000253433
+000000306700
+000000470173
+000000290179
+000000259690
+000000400922
+000000036678
+000000506004
+000000357888
+000000089296
+000000342006
+000000377393
+000000304404
+000000136915
+000000468965
+000000463690
+000000182923
+000000474078
+000000504415
+000000223738
+000000403122
+000000037988
+000000039951
+000000343218
+000000311928
+000000060507
+000000235836
+000000000872
+000000239537
+000000447187
+000000410510
+000000559842
+000000033759
+000000323496
+000000057597
+000000261732
+000000328430
+000000218997
+000000074092
+000000438876
+000000236426
+000000410650
+000000412286
+000000562581
+000000171788
+000000039405
+000000343524
+000000025424
+000000196141
+000000187734
+000000205105
+000000341681
+000000451435
+000000012120
+000000452515
+000000440184
+000000357816
+000000273493
+000000248616
+000000303713
+000000369323
+000000557916
+000000051610
+000000119365
+000000147729
+000000343706
+000000383289
+000000026465
+000000527427
+000000450686
+000000281687
+000000182202
+000000492110
+000000089648
+000000480212
+000000348481
+000000170116
+000000536947
+000000573008
+000000395801
+000000430048
+000000466416
+000000482487
+000000043737
+000000418961
+000000355169
+000000343149
+000000427055
+000000308531
+000000414676
+000000234366
+000000528578
+000000545007
+000000088345
+000000167353
+000000455352
+000000217957
+000000140929
+000000409542
+000000414340
+000000168330
+000000541952
+000000246522
+000000488736
+000000331317
+000000322968
+000000402334
+000000057725
+000000312263
+000000163057
+000000208423
+000000530470
+000000478721
+000000549738
+000000511760
+000000432898
+000000457884
+000000553669
+000000470924
+000000027620
+000000014439
+000000522889
+000000160864
+000000486040
+000000306139
+000000279774
+000000325838
+000000513688
+000000497599
+000000256916
+000000054593
+000000374982
+000000085157
+000000236914
+000000520871
+000000060449
+000000340015
+000000032038
+000000504389
+000000426836
+000000292225
+000000130586
+000000231747
+000000269121
+000000357238
+000000154425
+000000447088
+000000248752
+000000374545
+000000323895
+000000459809
+000000311002
+000000143068
+000000434230
+000000408774
+000000145020
+000000093261
+000000425227
+000000447314
+000000002153
+000000359540
+000000491464
+000000236599
+000000162035
+000000264968
+000000050638
+000000284743
+000000514586
+000000039914
+000000302107
+000000514797
+000000099024
+000000254516
+000000161861
+000000521956
+000000538067
+000000407646
+000000007511
+000000140840
+000000224664
+000000235778
+000000270908
+000000424349
+000000017959
+000000579307
+000000356094
+000000221291
+000000209753
+000000511647
+000000288430
+000000256775
+000000506707
+000000050326
+000000527215
+000000399462
+000000370270
+000000098287
+000000216296
+000000090284
+000000577959
+000000199310
+000000181303
+000000181499
+000000046252
+000000404923
+000000527528
+000000070229
+000000232684
+000000289960
+000000224337
+000000414673
+000000383384
+000000548246
+000000067406
+000000305309
+000000116068
+000000262487
+000000121497
+000000322944
+000000428454
+000000270474
+000000299553
+000000474344
+000000074646
+000000294695
+000000128748
+000000015660
+000000576654
+000000263679
+000000086956
+000000486104
+000000407868
+000000494759
+000000398237
+000000261061
+000000308587
+000000427077
+000000361730
+000000384670
+000000404922
+000000047740
+000000248112
+000000158227
+000000379332
+000000390902
+000000005586
+000000077460
+000000224675
+000000529148
+000000276804
+000000193743
+000000012639
+000000083172
+000000119995
+000000415727
+000000510095
+000000127270
+000000462031
+000000246436
+000000507223
+000000062355
+000000405279
+000000477805
+000000203931
+000000429690
+000000024027
+000000570688
+000000367228
+000000124442
+000000199395
+000000521719
+000000057760
+000000159399
+000000023751
+000000007784
+000000305317
+000000433515
+000000382743
+000000570756
+000000085911
+000000193245
+000000186345
+000000163117
+000000370375
+000000388056
+000000281409
+000000095862
+000000133969
+000000458045
+000000427256
+000000182021
+000000217285
+000000559348
+000000065798
+000000563470
+000000531135
+000000411774
+000000261097
+000000427997
+000000449579
+000000533816
+000000095786
+000000215778
+000000351331
+000000410735
+000000138856
+000000300233
+000000211120
+000000529528
+000000236412
+000000323151
+000000434479
+000000172396
+000000208363
+000000159112
+000000192191
+000000357430
+000000369757
+000000046031
+000000206218
+000000524456
+000000494427
+000000032610
+000000433103
+000000154705
+000000001503
+000000372466
+000000294162
+000000248631
+000000016439
+000000063602
+000000482970
+000000176446
+000000178469
+000000239318
+000000335658
+000000560011
+000000378099
+000000409630
+000000042889
+000000068765
+000000283717
+000000421923
+000000362434
+000000571893
+000000019742
+000000285349
+000000087742
+000000298904
+000000486573
+000000031050
+000000340930
+000000154213
+000000005001
+000000207585
+000000534601
+000000474293
+000000094185
+000000106330
+000000355610
+000000446703
+000000383386
+000000219283
+000000109827
+000000073118
+000000220310
+000000012670
+000000153343
+000000335081
+000000205542
+000000325527
+000000276921
+000000312237
+000000134322
+000000207306
+000000450439
+000000340697
+000000256407
+000000154339
+000000179653
+000000315219
+000000475572
+000000419653
+000000372260
+000000314264
+000000415238
+000000231237
+000000014038
+000000060363
+000000117908
+000000014007
+000000290843
+000000541773
+000000028452
+000000564091
+000000174371
+000000520077
+000000300039
+000000338905
+000000356531
+000000064084
+000000397354
+000000301718
+000000002685
+000000552775
+000000238410
+000000405691
+000000286182
+000000009590
+000000356248
+000000345356
+000000233238
+000000384661
+000000280918
+000000498747
+000000078170
+000000376322
+000000150638
+000000356424
+000000381587
+000000088040
+000000031296
+000000376264
+000000559513
+000000177489
+000000297084
+000000142620
+000000417632
+000000536073
+000000484351
+000000426253
+000000035326
+000000530061
+000000560911
+000000398377
+000000015335
+000000565877
+000000578871
+000000057238
+000000237517
+000000375430
+000000066771
+000000404678
+000000202001
+000000537991
+000000305609
+000000132375
+000000436617
+000000007818
+000000017714
+000000125572
+000000167486
+000000411938
+000000119516
+000000074256
+000000336628
+000000157767
+000000553731
+000000024243
+000000160556
+000000180751
+000000140439
+000000412362
+000000345397
+000000579070
+000000183965
+000000218249
+000000363666
+000000433192
+000000316666
+000000170595
+000000022623
+000000446207
+000000537270
+000000048564
+000000499266
+000000179112
+000000071938
+000000579655
+000000036660
+000000365886
+000000462643
+000000100624
+000000399205
+000000151000
+000000363188
+000000032887
+000000180798
+000000228981
+000000249180
+000000561366
+000000154644
+000000326541
+000000213035
+000000261318
+000000194716
+000000005060
+000000517687
+000000478420
+000000334309
+000000341828
+000000112997
+000000281414
+000000001296
+000000229216
+000000168883
+000000332570
+000000052413
+000000120420
+000000053909
+000000326970
+000000203629
+000000117197
+000000546475
+000000302882
+000000411754
+000000125129
+000000285047
+000000433980
+000000562843
+000000496571
+000000073533
+000000168974
+000000581317
+000000286523
+000000006771
+000000506933
+000000073153
+000000380913
+000000346968
+000000292488
+000000388927
+000000545100
+000000454404
+000000259597
+000000313130
+000000159791
+000000073326
+000000502732
+000000349837
+000000187271
+000000462629
+000000231339
+000000456662
+000000537672
+000000215114
+000000554838
+000000404191
+000000000802
+000000512330
+000000135561
+000000498463
+000000282296
+000000459954
+000000273712
+000000243344
+000000191013
+000000344614
+000000282298
+000000156292
+000000145591
+000000216419
+000000150930
+000000308193
+000000437110
+000000376856
+000000155051
+000000242411
+000000392228
+000000161642
+000000094157
+000000079588
+000000007888
+000000130465
+000000135890
+000000105455
+000000153782
+000000031118
+000000175438
+000000526256
+000000304396
+000000076211
+000000544306
+000000247806
+000000067896
+000000349678
+000000391648
+000000243034
+000000505789
+000000101884
+000000512248
+000000058655
+000000294163
+000000106563
+000000334399
+000000289516
+000000468233
+000000028285
+000000131431
+000000113867
+000000295797
+000000525286
+000000157756
+000000519522
+000000173044
+000000095069
+000000173057
+000000233139
+000000581482
+000000442993
+000000164363
+000000245173
+000000217425
+000000111179
+000000218362
+000000322163
+000000488673
+000000127394
+000000173091
+000000168593
+000000123633
+000000032334
+000000297562
+000000395343
+000000151820
+000000224807
+000000189213
+000000336053
+000000147415
+000000249129
+000000268378
+000000379476
+000000546219
+000000273420
+000000060899
+000000011813
+000000266768
+000000544565
+000000483999
+000000147205
+000000450202
+000000369771
+000000240250
+000000018380
+000000181796
+000000286908
+000000280930
+000000286660
+000000563882
+000000368294
+000000569976
+000000470773
+000000144784
+000000484978
+000000501368
+000000255483
+000000066886
+000000284764
+000000567886
+000000025394
+000000244750
+000000369503
+000000262631
+000000085089
+000000442161
+000000512929
+000000474039
+000000418062
+000000146155
+000000070739
+000000213086
+000000350002
+000000057150
+000000384136
+000000508730
+000000025386
+000000439773
+000000368752
+000000066706
+000000137294
+000000120572
+000000410880
+000000322844
+000000002431
+000000166918
+000000171190
+000000210520
+000000243626
+000000265518
+000000347335
+000000541634
+000000260105
+000000192904
+000000173371
+000000025986
+000000533958
+000000452084
+000000008277
+000000318114
+000000322959
+000000394940
+000000335954
+000000091654
+000000005600
+000000066817
+000000084664
+000000507235
+000000349480
+000000462576
+000000105335
+000000310200
+000000257169
+000000321118
+000000076731
+000000553664
+000000444275
+000000207538
+000000215644
+000000577584
+000000269866
+000000199681
+000000222455
+000000446005
+000000531771
+000000136466
+000000410487
+000000508312
+000000111036
+000000512403
+000000251824
+000000021465
+000000376478
+000000521282
+000000176232
+000000213224
+000000370042
+000000569700
+000000550426
+000000375078
+000000051326
+000000557884
+000000161397
+000000159282
+000000168458
+000000407403
+000000530457
+000000372718
+000000512194
+000000550322
+000000351096
+000000368982
+000000348012
+000000161008
+000000546826
+000000419098
+000000311180
+000000080413
+000000370900
+000000035963
+000000428867
+000000549136
+000000570169
+000000117492
+000000189436
+000000435205
+000000528705
+000000522638
+000000050844
+000000321333
+000000080057
+000000377670
+000000328030
+000000174018
+000000175443
+000000537802
+000000424135
+000000075393
+000000288391
+000000334977
+000000565469
+000000263425
+000000500716
+000000331569
+000000386134
+000000097585
+000000429530
+000000031749
+000000284282
\ No newline at end of file
diff --git a/demo/demo.py b/demo/demo.py
new file mode 100644
index 0000000..d772939
--- /dev/null
+++ b/demo/demo.py
@@ -0,0 +1,194 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import argparse
+import glob
+import multiprocessing as mp
+import numpy as np
+import os
+import tempfile
+import time
+import warnings
+import cv2
+import tqdm
+
+from detectron2.config import get_cfg
+from detectron2.data.detection_utils import read_image
+from detectron2.utils.logger import setup_logger
+
+from predictor import VisualizationDemo
+
+import sys
+sys.path.insert(-1, "../")
+from opendet2 import add_opendet_config, builtin, OpenDetTrainer
+
+# constants
+WINDOW_NAME = "COCO detections"
+
+
+def setup_cfg(args):
+ # load config from file and command-line arguments
+ cfg = get_cfg()
+ add_opendet_config(cfg)
+ # To use demo for Panoptic-DeepLab, please uncomment the following two lines.
+ # from detectron2.projects.panoptic_deeplab import add_panoptic_deeplab_config # noqa
+ # add_panoptic_deeplab_config(cfg)
+ cfg.merge_from_file(args.config_file)
+ cfg.merge_from_list(args.opts)
+ # Set score_threshold for builtin models
+ cfg.MODEL.RETINANET.SCORE_THRESH_TEST = args.confidence_threshold
+ cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = args.confidence_threshold
+ cfg.MODEL.PANOPTIC_FPN.COMBINE.INSTANCES_CONFIDENCE_THRESH = args.confidence_threshold
+ cfg.MODEL.ROI_HEADS.VIS_IOU_THRESH = 0.8
+ cfg.freeze()
+ return cfg
+
+
+def get_parser():
+ parser = argparse.ArgumentParser(description="Detectron2 demo for builtin configs")
+ parser.add_argument(
+ "--config-file",
+ default="configs/quick_schedules/mask_rcnn_R_50_FPN_inference_acc_test.yaml",
+ metavar="FILE",
+ help="path to config file",
+ )
+ parser.add_argument("--webcam", action="store_true", help="Take inputs from webcam.")
+ parser.add_argument("--video-input", help="Path to video file.")
+ parser.add_argument(
+ "--input",
+ nargs="+",
+ help="A list of space separated input images; "
+ "or a single glob pattern such as 'directory/*.jpg'",
+ )
+ parser.add_argument(
+ "--output",
+ help="A file or directory to save output visualizations. "
+ "If not given, will show output in an OpenCV window.",
+ )
+
+ parser.add_argument(
+ "--confidence-threshold",
+ type=float,
+ default=0.5,
+ help="Minimum score for instance predictions to be shown",
+ )
+ parser.add_argument(
+ "--opts",
+ help="Modify config options using the command-line 'KEY VALUE' pairs",
+ default=[],
+ nargs=argparse.REMAINDER,
+ )
+ return parser
+
+
+def test_opencv_video_format(codec, file_ext):
+ with tempfile.TemporaryDirectory(prefix="video_format_test") as dir:
+ filename = os.path.join(dir, "test_file" + file_ext)
+ writer = cv2.VideoWriter(
+ filename=filename,
+ fourcc=cv2.VideoWriter_fourcc(*codec),
+ fps=float(30),
+ frameSize=(10, 10),
+ isColor=True,
+ )
+ [writer.write(np.zeros((10, 10, 3), np.uint8)) for _ in range(30)]
+ writer.release()
+ if os.path.isfile(filename):
+ return True
+ return False
+
+
+if __name__ == "__main__":
+ mp.set_start_method("spawn", force=True)
+ args = get_parser().parse_args()
+ setup_logger(name="fvcore")
+ logger = setup_logger()
+ logger.info("Arguments: " + str(args))
+
+ cfg = setup_cfg(args)
+
+ demo = VisualizationDemo(cfg)
+
+ if args.input:
+ if len(args.input) == 1:
+ args.input = glob.glob(os.path.expanduser(args.input[0]))
+ assert args.input, "The input path(s) was not found"
+ for path in tqdm.tqdm(args.input, disable=not args.output):
+ # use PIL, to be consistent with evaluation
+ img = read_image(path, format="BGR")
+ start_time = time.time()
+ predictions, visualized_output = demo.run_on_image(img)
+ logger.info(
+ "{}: {} in {:.2f}s".format(
+ path,
+ "detected {} instances".format(len(predictions["instances"]))
+ if "instances" in predictions
+ else "finished",
+ time.time() - start_time,
+ )
+ )
+
+ if args.output:
+ if os.path.isdir(args.output):
+ assert os.path.isdir(args.output), args.output
+ out_filename = os.path.join(args.output, os.path.basename(path))
+ else:
+ assert len(args.input) == 1, "Please specify a directory with args.output"
+ out_filename = args.output
+ visualized_output.save(out_filename)
+ else:
+ cv2.namedWindow(WINDOW_NAME, cv2.WINDOW_NORMAL)
+ cv2.imshow(WINDOW_NAME, visualized_output.get_image()[:, :, ::-1])
+ if cv2.waitKey(0) == 27:
+ break # esc to quit
+ elif args.webcam:
+ assert args.input is None, "Cannot have both --input and --webcam!"
+ assert args.output is None, "output not yet supported with --webcam!"
+ cam = cv2.VideoCapture(0)
+ for vis in tqdm.tqdm(demo.run_on_video(cam)):
+ cv2.namedWindow(WINDOW_NAME, cv2.WINDOW_NORMAL)
+ cv2.imshow(WINDOW_NAME, vis)
+ if cv2.waitKey(1) == 27:
+ break # esc to quit
+ cam.release()
+ cv2.destroyAllWindows()
+ elif args.video_input:
+ video = cv2.VideoCapture(args.video_input)
+ width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
+ height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))
+ frames_per_second = video.get(cv2.CAP_PROP_FPS)
+ num_frames = int(video.get(cv2.CAP_PROP_FRAME_COUNT))
+ basename = os.path.basename(args.video_input)
+ codec, file_ext = (
+ ("x264", ".mkv") if test_opencv_video_format("x264", ".mkv") else ("mp4v", ".mp4")
+ )
+ if codec == ".mp4v":
+ warnings.warn("x264 codec not available, switching to mp4v")
+ if args.output:
+ if os.path.isdir(args.output):
+ output_fname = os.path.join(args.output, basename)
+ output_fname = os.path.splitext(output_fname)[0] + file_ext
+ else:
+ output_fname = args.output
+ assert not os.path.isfile(output_fname), output_fname
+ output_file = cv2.VideoWriter(
+ filename=output_fname,
+ # some installation of opencv may not support x264 (due to its license),
+ # you can try other format (e.g. MPEG)
+ fourcc=cv2.VideoWriter_fourcc(*codec),
+ fps=float(frames_per_second),
+ frameSize=(width, height),
+ isColor=True,
+ )
+ assert os.path.isfile(args.video_input)
+ for vis_frame in tqdm.tqdm(demo.run_on_video(video), total=num_frames):
+ if args.output:
+ output_file.write(vis_frame)
+ else:
+ cv2.namedWindow(basename, cv2.WINDOW_NORMAL)
+ cv2.imshow(basename, vis_frame)
+ if cv2.waitKey(1) == 27:
+ break # esc to quit
+ video.release()
+ if args.output:
+ output_file.release()
+ else:
+ cv2.destroyAllWindows()
diff --git a/demo/predictor.py b/demo/predictor.py
new file mode 100644
index 0000000..b2b2cf1
--- /dev/null
+++ b/demo/predictor.py
@@ -0,0 +1,224 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import atexit
+import bisect
+import multiprocessing as mp
+from collections import deque
+import cv2
+import torch
+
+from detectron2.data import MetadataCatalog
+from detectron2.engine.defaults import DefaultPredictor
+from detectron2.utils.video_visualizer import VideoVisualizer
+from detectron2.utils.visualizer import ColorMode, Visualizer
+from detectron2.data.datasets.builtin_meta import _get_coco_instances_meta
+
+
+class VisualizationDemo(object):
+ def __init__(self, cfg, instance_mode=ColorMode.IMAGE, parallel=False):
+ """
+ Args:
+ cfg (CfgNode):
+ instance_mode (ColorMode):
+ parallel (bool): whether to run the model in different processes from visualization.
+ Useful since the visualization logic can be slow.
+ """
+ self.metadata = MetadataCatalog.get(
+ cfg.DATASETS.TEST[-1] if len(cfg.DATASETS.TEST) else "__unused"
+ )
+ thing_colors = _get_coco_instances_meta()["thing_colors"]
+ thing_colors.append((0,0,0))
+ self.metadata.set(thing_colors=thing_colors)
+ self.cpu_device = torch.device("cpu")
+ self.instance_mode = instance_mode
+
+ self.parallel = parallel
+ if parallel:
+ num_gpu = torch.cuda.device_count()
+ self.predictor = AsyncPredictor(cfg, num_gpus=num_gpu)
+ else:
+ self.predictor = DefaultPredictor(cfg)
+
+ def run_on_image(self, image):
+ """
+ Args:
+ image (np.ndarray): an image of shape (H, W, C) (in BGR order).
+ This is the format used by OpenCV.
+
+ Returns:
+ predictions (dict): the output of the model.
+ vis_output (VisImage): the visualized image output.
+ """
+ vis_output = None
+ predictions = self.predictor(image)
+ # Convert image from OpenCV BGR format to Matplotlib RGB format.
+ image = image[:, :, ::-1]
+ visualizer = Visualizer(image, self.metadata, instance_mode=self.instance_mode)
+ if "panoptic_seg" in predictions:
+ panoptic_seg, segments_info = predictions["panoptic_seg"]
+ vis_output = visualizer.draw_panoptic_seg_predictions(
+ panoptic_seg.to(self.cpu_device), segments_info
+ )
+ else:
+ if "sem_seg" in predictions:
+ vis_output = visualizer.draw_sem_seg(
+ predictions["sem_seg"].argmax(dim=0).to(self.cpu_device)
+ )
+ if "instances" in predictions:
+ instances = predictions["instances"].to(self.cpu_device)
+ vis_output = visualizer.draw_instance_predictions(predictions=instances)
+
+ return predictions, vis_output
+
+ def _frame_from_video(self, video):
+ while video.isOpened():
+ success, frame = video.read()
+ if success:
+ yield frame
+ else:
+ break
+
+ def run_on_video(self, video):
+ """
+ Visualizes predictions on frames of the input video.
+
+ Args:
+ video (cv2.VideoCapture): a :class:`VideoCapture` object, whose source can be
+ either a webcam or a video file.
+
+ Yields:
+ ndarray: BGR visualizations of each video frame.
+ """
+ video_visualizer = VideoVisualizer(self.metadata, self.instance_mode)
+
+ def process_predictions(frame, predictions):
+ frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
+ if "panoptic_seg" in predictions:
+ panoptic_seg, segments_info = predictions["panoptic_seg"]
+ vis_frame = video_visualizer.draw_panoptic_seg_predictions(
+ frame, panoptic_seg.to(self.cpu_device), segments_info
+ )
+ elif "instances" in predictions:
+ predictions = predictions["instances"].to(self.cpu_device)
+ vis_frame = video_visualizer.draw_instance_predictions(frame, predictions)
+ elif "sem_seg" in predictions:
+ vis_frame = video_visualizer.draw_sem_seg(
+ frame, predictions["sem_seg"].argmax(dim=0).to(self.cpu_device)
+ )
+
+ # Converts Matplotlib RGB format to OpenCV BGR format
+ vis_frame = cv2.cvtColor(vis_frame.get_image(), cv2.COLOR_RGB2BGR)
+ return vis_frame
+
+ frame_gen = self._frame_from_video(video)
+ if self.parallel:
+ buffer_size = self.predictor.default_buffer_size
+
+ frame_data = deque()
+
+ for cnt, frame in enumerate(frame_gen):
+ frame_data.append(frame)
+ self.predictor.put(frame)
+
+ if cnt >= buffer_size:
+ frame = frame_data.popleft()
+ predictions = self.predictor.get()
+ yield process_predictions(frame, predictions)
+
+ while len(frame_data):
+ frame = frame_data.popleft()
+ predictions = self.predictor.get()
+ yield process_predictions(frame, predictions)
+ else:
+ for frame in frame_gen:
+ yield process_predictions(frame, self.predictor(frame))
+
+
+class AsyncPredictor:
+ """
+ A predictor that runs the model asynchronously, possibly on >1 GPUs.
+ Because rendering the visualization takes considerably amount of time,
+ this helps improve throughput a little bit when rendering videos.
+ """
+
+ class _StopToken:
+ pass
+
+ class _PredictWorker(mp.Process):
+ def __init__(self, cfg, task_queue, result_queue):
+ self.cfg = cfg
+ self.task_queue = task_queue
+ self.result_queue = result_queue
+ super().__init__()
+
+ def run(self):
+ predictor = DefaultPredictor(self.cfg)
+
+ while True:
+ task = self.task_queue.get()
+ if isinstance(task, AsyncPredictor._StopToken):
+ break
+ idx, data = task
+ result = predictor(data)
+ self.result_queue.put((idx, result))
+
+ def __init__(self, cfg, num_gpus: int = 1):
+ """
+ Args:
+ cfg (CfgNode):
+ num_gpus (int): if 0, will run on CPU
+ """
+ num_workers = max(num_gpus, 1)
+ self.task_queue = mp.Queue(maxsize=num_workers * 3)
+ self.result_queue = mp.Queue(maxsize=num_workers * 3)
+ self.procs = []
+ for gpuid in range(max(num_gpus, 1)):
+ cfg = cfg.clone()
+ cfg.defrost()
+ cfg.MODEL.DEVICE = "cuda:{}".format(gpuid) if num_gpus > 0 else "cpu"
+ self.procs.append(
+ AsyncPredictor._PredictWorker(cfg, self.task_queue, self.result_queue)
+ )
+
+ self.put_idx = 0
+ self.get_idx = 0
+ self.result_rank = []
+ self.result_data = []
+
+ for p in self.procs:
+ p.start()
+ atexit.register(self.shutdown)
+
+ def put(self, image):
+ self.put_idx += 1
+ self.task_queue.put((self.put_idx, image))
+
+ def get(self):
+ self.get_idx += 1 # the index needed for this request
+ if len(self.result_rank) and self.result_rank[0] == self.get_idx:
+ res = self.result_data[0]
+ del self.result_data[0], self.result_rank[0]
+ return res
+
+ while True:
+ # make sure the results are returned in the correct order
+ idx, res = self.result_queue.get()
+ if idx == self.get_idx:
+ return res
+ insert = bisect.bisect(self.result_rank, idx)
+ self.result_rank.insert(insert, idx)
+ self.result_data.insert(insert, res)
+
+ def __len__(self):
+ return self.put_idx - self.get_idx
+
+ def __call__(self, image):
+ self.put(image)
+ return self.get()
+
+ def shutdown(self):
+ for _ in self.procs:
+ self.task_queue.put(AsyncPredictor._StopToken())
+
+ @property
+ def default_buffer_size(self):
+ return len(self.procs) * 5
diff --git a/docs/opendet2.png b/docs/opendet2.png
new file mode 100644
index 0000000..6e65bda
Binary files /dev/null and b/docs/opendet2.png differ
diff --git a/opendet2/__init__.py b/opendet2/__init__.py
new file mode 100644
index 0000000..f63ee6e
--- /dev/null
+++ b/opendet2/__init__.py
@@ -0,0 +1,7 @@
+from .config import *
+from .data import *
+from .engine import *
+from .evaluation import *
+from .modeling import *
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
diff --git a/opendet2/config/__init__.py b/opendet2/config/__init__.py
new file mode 100644
index 0000000..b7617fc
--- /dev/null
+++ b/opendet2/config/__init__.py
@@ -0,0 +1,3 @@
+from .defaults import add_opendet_config
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
\ No newline at end of file
diff --git a/opendet2/config/defaults.py b/opendet2/config/defaults.py
new file mode 100644
index 0000000..9f2097f
--- /dev/null
+++ b/opendet2/config/defaults.py
@@ -0,0 +1,50 @@
+from detectron2.config import CfgNode as CN
+
+
+def add_opendet_config(cfg):
+ _C = cfg
+
+ # unknown probability loss
+ _C.UPLOSS = CN()
+ _C.UPLOSS.START_ITER = 100 # usually the same as warmup iter
+ _C.UPLOSS.SAMPLING_METRIC = "min_score"
+ _C.UPLOSS.TOPK = 3
+ _C.UPLOSS.ALPHA = 1.0
+ _C.UPLOSS.WEIGHT = 0.5
+
+ # instance contrastive loss
+ _C.ICLOSS = CN()
+ _C.ICLOSS.OUT_DIM = 128
+ _C.ICLOSS.QUEUE_SIZE = 256
+ _C.ICLOSS.IN_QUEUE_SIZE = 16
+ _C.ICLOSS.BATCH_IOU_THRESH = 0.5
+ _C.ICLOSS.QUEUE_IOU_THRESH = 0.7
+ _C.ICLOSS.TEMPERATURE = 0.1
+ _C.ICLOSS.WEIGHT = 0.1
+
+ # register RoI output layer
+ _C.MODEL.ROI_BOX_HEAD.OUTPUT_LAYERS = "FastRCNNOutputLayers"
+ # known classes
+ _C.MODEL.ROI_HEADS.NUM_KNOWN_CLASSES = 20
+ _C.MODEL.RETINANET.NUM_KNOWN_CLASSES = 20
+ # thresh for visualization results.
+ _C.MODEL.ROI_HEADS.VIS_IOU_THRESH = 1.0
+ # scale for cosine classifier
+ _C.MODEL.ROI_HEADS.COSINE_SCALE = 20
+
+ # swin transformer
+ _C.MODEL.SWINT = CN()
+ _C.MODEL.SWINT.EMBED_DIM = 96
+ _C.MODEL.SWINT.OUT_FEATURES = ["stage2", "stage3", "stage4", "stage5"]
+ _C.MODEL.SWINT.DEPTHS = [2, 2, 6, 2]
+ _C.MODEL.SWINT.NUM_HEADS = [3, 6, 12, 24]
+ _C.MODEL.SWINT.WINDOW_SIZE = 7
+ _C.MODEL.SWINT.MLP_RATIO = 4
+ _C.MODEL.SWINT.DROP_PATH_RATE = 0.2
+ _C.MODEL.SWINT.APE = False
+ _C.MODEL.BACKBONE.FREEZE_AT = -1
+ _C.MODEL.FPN.TOP_LEVELS = 2
+
+ # solver, e.g., adamw for swin
+ _C.SOLVER.OPTIMIZER = 'SGD'
+ _C.SOLVER.BETAS = (0.9, 0.999)
diff --git a/opendet2/data/__init__.py b/opendet2/data/__init__.py
new file mode 100644
index 0000000..75e3253
--- /dev/null
+++ b/opendet2/data/__init__.py
@@ -0,0 +1,4 @@
+from .build import *
+from . import builtin
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
diff --git a/opendet2/data/build.py b/opendet2/data/build.py
new file mode 100644
index 0000000..1ad5b9c
--- /dev/null
+++ b/opendet2/data/build.py
@@ -0,0 +1,299 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import itertools
+import logging
+import numpy as np
+import copy
+import torch.utils.data
+import torch
+
+from detectron2.config import configurable
+from detectron2.utils.logger import _log_api_usage
+
+from detectron2.data.catalog import DatasetCatalog, MetadataCatalog
+from detectron2.data.common import DatasetFromList, MapDataset
+from detectron2.data.dataset_mapper import DatasetMapper
+from detectron2.data.detection_utils import check_metadata_consistency
+from detectron2.data.samplers import InferenceSampler, RepeatFactorTrainingSampler, TrainingSampler
+
+from detectron2.data.build import trivial_batch_collator
+from detectron2.data import (build_batch_data_loader,
+ print_instances_class_histogram,
+ load_proposals_into_dataset)
+from detectron2.data.build import (filter_images_with_few_keypoints,
+ filter_images_with_only_crowd_annotations)
+
+"""
+This file contains the default logic to build a dataloader for training or testing.
+"""
+__all__ = [
+ "build_detection_train_loader",
+ "build_detection_test_loader",
+ "get_detection_dataset_dicts",
+]
+
+
+def get_detection_dataset_dicts(names, filter_empty=True, min_keypoints=0, proposal_files=None, cfg=None):
+ """
+ Load and prepare dataset dicts for instance detection/segmentation and semantic segmentation.
+
+ Args:
+ names (str or list[str]): a dataset name or a list of dataset names
+ filter_empty (bool): whether to filter out images without instance annotations
+ min_keypoints (int): filter out images with fewer keypoints than
+ `min_keypoints`. Set to 0 to do nothing.
+ proposal_files (list[str]): if given, a list of object proposal files
+ that match each dataset in `names`.
+
+ Returns:
+ list[dict]: a list of dicts following the standard dataset dict format.
+ """
+ if isinstance(names, str):
+ names = [names]
+ assert len(names), names
+ dataset_dicts = [DatasetCatalog.get(dataset_name)
+ for dataset_name in names]
+ for dataset_name, dicts in zip(names, dataset_dicts):
+ assert len(dicts), "Dataset '{}' is empty!".format(dataset_name)
+
+ if proposal_files is not None:
+ assert len(names) == len(proposal_files)
+ # load precomputed proposals from proposal files
+ dataset_dicts = [
+ load_proposals_into_dataset(dataset_i_dicts, proposal_file)
+ for dataset_i_dicts, proposal_file in zip(dataset_dicts, proposal_files)
+ ]
+
+ dataset_dicts = list(itertools.chain.from_iterable(dataset_dicts))
+
+ has_instances = "annotations" in dataset_dicts[0]
+ if filter_empty and has_instances:
+ dataset_dicts = filter_images_with_only_crowd_annotations(
+ dataset_dicts)
+ if min_keypoints > 0 and has_instances:
+ dataset_dicts = filter_images_with_few_keypoints(
+ dataset_dicts, min_keypoints)
+
+ d_name = names[0]
+ # if 'voc_coco' in d_name:
+ if 'train' in d_name:
+ dataset_dicts = remove_unk_instances(cfg, dataset_dicts)
+ elif 'test' in d_name:
+ dataset_dicts = label_known_class_and_unknown(cfg, dataset_dicts)
+
+ if has_instances:
+ try:
+ class_names = MetadataCatalog.get(names[0]).thing_classes
+ check_metadata_consistency("thing_classes", names)
+ print_instances_class_histogram(dataset_dicts, class_names)
+ except AttributeError: # class names are not available for this dataset
+ pass
+
+ assert len(dataset_dicts), "No valid data found in {}.".format(
+ ",".join(names))
+ return dataset_dicts
+
+
+def remove_unk_instances(cfg, dataset_dicts):
+ num_known_classes = cfg.MODEL.ROI_HEADS.NUM_KNOWN_CLASSES
+ valid_classes = range(0, num_known_classes)
+
+ logger = logging.getLogger(__name__)
+ logger.info("Valid classes: " + str(valid_classes))
+ logger.info("Removing unknown objects...")
+
+ for entry in copy.copy(dataset_dicts):
+ annos = entry["annotations"]
+ for annotation in copy.copy(annos):
+ if annotation["category_id"] not in valid_classes:
+ annos.remove(annotation)
+ if len(annos) == 0:
+ dataset_dicts.remove(entry)
+
+ return dataset_dicts
+
+
+def label_known_class_and_unknown(cfg, dataset_dicts):
+ num_known_classes = cfg.MODEL.ROI_HEADS.NUM_KNOWN_CLASSES
+ total_num_class = cfg.MODEL.ROI_HEADS.NUM_CLASSES
+
+ known_classes = range(0, num_known_classes)
+
+ logger = logging.getLogger(__name__)
+ logger.info("Known classes: " + str(known_classes))
+ logger.info(
+ "Labelling known instances the corresponding label, and unknown instances as unknown...")
+
+ for entry in dataset_dicts:
+ annos = entry["annotations"]
+ for annotation in annos:
+ if annotation["category_id"] not in known_classes:
+ annotation["category_id"] = total_num_class - 1
+
+ return dataset_dicts
+
+
+def _train_loader_from_config(cfg, mapper=None, *, dataset=None, sampler=None):
+ if dataset is None:
+ dataset = get_detection_dataset_dicts(
+ cfg.DATASETS.TRAIN,
+ filter_empty=cfg.DATALOADER.FILTER_EMPTY_ANNOTATIONS,
+ min_keypoints=cfg.MODEL.ROI_KEYPOINT_HEAD.MIN_KEYPOINTS_PER_IMAGE
+ if cfg.MODEL.KEYPOINT_ON
+ else 0,
+ proposal_files=cfg.DATASETS.PROPOSAL_FILES_TRAIN if cfg.MODEL.LOAD_PROPOSALS else None,
+ cfg=cfg
+ )
+ _log_api_usage("dataset." + cfg.DATASETS.TRAIN[0])
+
+ if mapper is None:
+ mapper = DatasetMapper(cfg, True)
+ else:
+ mapper = mapper(cfg, True)
+
+ if sampler is None:
+ sampler_name = cfg.DATALOADER.SAMPLER_TRAIN
+ logger = logging.getLogger(__name__)
+ logger.info("Using training sampler {}".format(sampler_name))
+ if sampler_name == "TrainingSampler":
+ sampler = TrainingSampler(len(dataset))
+ elif sampler_name == "RepeatFactorTrainingSampler":
+ repeat_factors = RepeatFactorTrainingSampler.repeat_factors_from_category_frequency(
+ dataset, cfg.DATALOADER.REPEAT_THRESHOLD
+ )
+ sampler = RepeatFactorTrainingSampler(repeat_factors)
+ else:
+ raise ValueError(
+ "Unknown training sampler: {}".format(sampler_name))
+
+ return {
+ "dataset": dataset,
+ "sampler": sampler,
+ "mapper": mapper,
+ "total_batch_size": cfg.SOLVER.IMS_PER_BATCH,
+ "aspect_ratio_grouping": cfg.DATALOADER.ASPECT_RATIO_GROUPING,
+ "num_workers": cfg.DATALOADER.NUM_WORKERS,
+ }
+
+
+# TODO can allow dataset as an iterable or IterableDataset to make this function more general
+@configurable(from_config=_train_loader_from_config)
+def build_detection_train_loader(
+ dataset, *, mapper, sampler=None, total_batch_size, aspect_ratio_grouping=True, num_workers=0
+):
+ """
+ Build a dataloader for object detection with some default features.
+ This interface is experimental.
+
+ Args:
+ dataset (list or torch.utils.data.Dataset): a list of dataset dicts,
+ or a map-style pytorch dataset. They can be obtained by using
+ :func:`DatasetCatalog.get` or :func:`get_detection_dataset_dicts`.
+ mapper (callable): a callable which takes a sample (dict) from dataset and
+ returns the format to be consumed by the model.
+ When using cfg, the default choice is ``DatasetMapper(cfg, is_train=True)``.
+ sampler (torch.utils.data.sampler.Sampler or None): a sampler that produces
+ indices to be applied on ``dataset``. Default to :class:`TrainingSampler`,
+ which coordinates an infinite random shuffle sequence across all workers.
+ total_batch_size (int): total batch size across all workers. Batching
+ simply puts data into a list.
+ aspect_ratio_grouping (bool): whether to group images with similar
+ aspect ratio for efficiency. When enabled, it requires each
+ element in dataset be a dict with keys "width" and "height".
+ num_workers (int): number of parallel data loading workers
+
+ Returns:
+ torch.utils.data.DataLoader:
+ a dataloader. Each output from it is a ``list[mapped_element]`` of length
+ ``total_batch_size / num_workers``, where ``mapped_element`` is produced
+ by the ``mapper``.
+ """
+ if isinstance(dataset, list):
+ dataset = DatasetFromList(dataset, copy=False)
+ if mapper is not None:
+ dataset = MapDataset(dataset, mapper)
+ if sampler is None:
+ sampler = TrainingSampler(len(dataset))
+ assert isinstance(sampler, torch.utils.data.sampler.Sampler)
+ return build_batch_data_loader(
+ dataset,
+ sampler,
+ total_batch_size,
+ aspect_ratio_grouping=aspect_ratio_grouping,
+ num_workers=num_workers,
+ )
+
+
+def _test_loader_from_config(cfg, dataset_name, mapper=None):
+ """
+ Uses the given `dataset_name` argument (instead of the names in cfg), because the
+ standard practice is to evaluate each test set individually (not combining them).
+ """
+ if isinstance(dataset_name, str):
+ dataset_name = [dataset_name]
+
+ dataset = get_detection_dataset_dicts(
+ dataset_name,
+ filter_empty=False,
+ proposal_files=[
+ cfg.DATASETS.PROPOSAL_FILES_TEST[list(
+ cfg.DATASETS.TEST).index(dataset_name)]
+ ]
+ if cfg.MODEL.LOAD_PROPOSALS
+ else None,
+ cfg=cfg
+ )
+ if mapper is None:
+ mapper = DatasetMapper(cfg, False)
+ return {"dataset": dataset, "mapper": mapper, "num_workers": cfg.DATALOADER.NUM_WORKERS}
+
+
+@configurable(from_config=_test_loader_from_config)
+def build_detection_test_loader(dataset, *, mapper, sampler=None, num_workers=0):
+ """
+ Similar to `build_detection_train_loader`, but uses a batch size of 1,
+ and :class:`InferenceSampler`. This sampler coordinates all workers to
+ produce the exact set of all samples.
+ This interface is experimental.
+
+ Args:
+ dataset (list or torch.utils.data.Dataset): a list of dataset dicts,
+ or a map-style pytorch dataset. They can be obtained by using
+ :func:`DatasetCatalog.get` or :func:`get_detection_dataset_dicts`.
+ mapper (callable): a callable which takes a sample (dict) from dataset
+ and returns the format to be consumed by the model.
+ When using cfg, the default choice is ``DatasetMapper(cfg, is_train=False)``.
+ sampler (torch.utils.data.sampler.Sampler or None): a sampler that produces
+ indices to be applied on ``dataset``. Default to :class:`InferenceSampler`,
+ which splits the dataset across all workers.
+ num_workers (int): number of parallel data loading workers
+
+ Returns:
+ DataLoader: a torch DataLoader, that loads the given detection
+ dataset, with test-time transformation and batching.
+
+ Examples:
+ ::
+ data_loader = build_detection_test_loader(
+ DatasetRegistry.get("my_test"),
+ mapper=DatasetMapper(...))
+
+ # or, instantiate with a CfgNode:
+ data_loader = build_detection_test_loader(cfg, "my_test")
+ """
+ if isinstance(dataset, list):
+ dataset = DatasetFromList(dataset, copy=False)
+ if mapper is not None:
+ dataset = MapDataset(dataset, mapper)
+ if sampler is None:
+ sampler = InferenceSampler(len(dataset))
+ # Always use 1 image per worker during inference since this is the
+ # standard when reporting inference time in papers.
+ batch_sampler = torch.utils.data.sampler.BatchSampler(
+ sampler, 1, drop_last=False)
+ data_loader = torch.utils.data.DataLoader(
+ dataset,
+ num_workers=num_workers,
+ batch_sampler=batch_sampler,
+ collate_fn=trivial_batch_collator,
+ )
+ return data_loader
diff --git a/opendet2/data/builtin.py b/opendet2/data/builtin.py
new file mode 100644
index 0000000..b117095
--- /dev/null
+++ b/opendet2/data/builtin.py
@@ -0,0 +1,31 @@
+import os
+
+from .voc_coco import register_voc_coco
+from detectron2.data import MetadataCatalog
+
+
+def register_all_voc_coco(root):
+ SPLITS = [
+ # VOC_COCO_openset
+ ("voc_coco_20_40_test", "voc_coco", "voc_coco_20_40_test"),
+ ("voc_coco_20_60_test", "voc_coco", "voc_coco_20_60_test"),
+ ("voc_coco_20_80_test", "voc_coco", "voc_coco_20_80_test"),
+
+ ("voc_coco_2500_test", "voc_coco", "voc_coco_2500_test"),
+ ("voc_coco_5000_test", "voc_coco", "voc_coco_5000_test"),
+ ("voc_coco_10000_test", "voc_coco", "voc_coco_10000_test"),
+ ("voc_coco_20000_test", "voc_coco", "voc_coco_20000_test"),
+
+ ("voc_coco_val", "voc_coco", "voc_coco_val"),
+
+ ]
+ for name, dirname, split in SPLITS:
+ year = 2007 if "2007" in name else 2012
+ register_voc_coco(name, os.path.join(root, dirname), split, year)
+ MetadataCatalog.get(name).evaluator_type = "pascal_voc"
+
+
+if __name__.endswith(".builtin"):
+ # Register them all under "./datasets"
+ _root = os.getenv("DETECTRON2_DATASETS", "datasets")
+ register_all_voc_coco(_root)
diff --git a/opendet2/data/voc_coco.py b/opendet2/data/voc_coco.py
new file mode 100644
index 0000000..4e5b39f
--- /dev/null
+++ b/opendet2/data/voc_coco.py
@@ -0,0 +1,35 @@
+from detectron2.data import DatasetCatalog, MetadataCatalog
+from detectron2.data.datasets import load_voc_instances
+
+VOC_COCO_CATEGORIES = [
+ # VOC
+ "aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat",
+ "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person",
+ "pottedplant", "sheep", "sofa", "train", "tvmonitor",
+ # COCO-20-40
+ "truck", "traffic light", "fire hydrant", "stop sign", "parking meter",
+ "bench", "elephant", "bear", "zebra", "giraffe",
+ "backpack", "umbrella", "handbag", "tie", "suitcase",
+ "microwave", "oven", "toaster", "sink", "refrigerator",
+ # COCO-40-60
+ "frisbee", "skis", "snowboard", "sports ball", "kite",
+ "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket",
+ "banana", "apple", "sandwich", "orange", "broccoli",
+ "carrot", "hot dog", "pizza", "donut", "cake",
+ # COCO-60-80
+ "bed", "toilet", "laptop", "mouse",
+ "remote", "keyboard", "cell phone", "book", "clock",
+ "vase", "scissors", "teddy bear", "hair drier", "toothbrush",
+ "wine glass", "cup", "fork", "knife", "spoon", "bowl",
+ # Unknown
+ "unknown",
+]
+
+
+def register_voc_coco(name, dirname, split, year):
+ class_names = VOC_COCO_CATEGORIES
+ DatasetCatalog.register(
+ name, lambda: load_voc_instances(dirname, split, class_names))
+ MetadataCatalog.get(name).set(
+ thing_classes=list(class_names), dirname=dirname, year=year, split=split
+ )
diff --git a/opendet2/engine/__init__.py b/opendet2/engine/__init__.py
new file mode 100644
index 0000000..3912be5
--- /dev/null
+++ b/opendet2/engine/__init__.py
@@ -0,0 +1,3 @@
+from .defaults import OpenDetTrainer
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
diff --git a/opendet2/engine/defaults.py b/opendet2/engine/defaults.py
new file mode 100644
index 0000000..b7ae381
--- /dev/null
+++ b/opendet2/engine/defaults.py
@@ -0,0 +1,441 @@
+import logging
+import os
+import weakref
+from collections import OrderedDict
+from typing import Dict
+
+import torch
+from detectron2.checkpoint import DetectionCheckpointer
+from detectron2.config import CfgNode
+from detectron2.data import MetadataCatalog
+from detectron2.engine import (AMPTrainer, SimpleTrainer,
+ TrainerBase, create_ddp_model, hooks, create_ddp_model, default_writers)
+from detectron2.evaluation import (DatasetEvaluator, DatasetEvaluators,
+ inference_on_dataset, print_csv_format,
+ verify_results)
+from detectron2.modeling import GeneralizedRCNNWithTTA, build_model
+from detectron2.solver import build_lr_scheduler
+from detectron2.utils import comm
+from detectron2.utils.logger import setup_logger
+from fvcore.nn.precise_bn import get_bn_modules
+
+from ..data import build_detection_test_loader, build_detection_train_loader
+from ..evaluation import PascalVOCDetectionEvaluator
+from ..solver import build_optimizer
+
+
+class OpenDetTrainer(TrainerBase):
+ """
+ A trainer with default training logic. It does the following:
+
+ 1. Create a :class:`SimpleTrainer` using model, optimizer, dataloader
+ defined by the given config. Create a LR scheduler defined by the config.
+ 2. Load the last checkpoint or `cfg.MODEL.WEIGHTS`, if exists, when
+ `resume_or_load` is called.
+ 3. Register a few common hooks defined by the config.
+
+ It is created to simplify the **standard model training workflow** and reduce code boilerplate
+ for users who only need the standard training workflow, with standard features.
+ It means this class makes *many assumptions* about your training logic that
+ may easily become invalid in a new research. In fact, any assumptions beyond those made in the
+ :class:`SimpleTrainer` are too much for research.
+
+ The code of this class has been annotated about restrictive assumptions it makes.
+ When they do not work for you, you're encouraged to:
+
+ 1. Overwrite methods of this class, OR:
+ 2. Use :class:`SimpleTrainer`, which only does minimal SGD training and
+ nothing else. You can then add your own hooks if needed. OR:
+ 3. Write your own training loop similar to `tools/plain_train_net.py`.
+
+ See the :doc:`/tutorials/training` tutorials for more details.
+
+ Note that the behavior of this class, like other functions/classes in
+ this file, is not stable, since it is meant to represent the "common default behavior".
+ It is only guaranteed to work well with the standard models and training workflow in detectron2.
+ To obtain more stable behavior, write your own training logic with other public APIs.
+
+ Examples:
+ ::
+ trainer = DefaultTrainer(cfg)
+ trainer.resume_or_load() # load last checkpoint or MODEL.WEIGHTS
+ trainer.train()
+
+ Attributes:
+ scheduler:
+ checkpointer (DetectionCheckpointer):
+ cfg (CfgNode):
+ """
+
+ def __init__(self, cfg):
+ """
+ Args:
+ cfg (CfgNode):
+ """
+ super().__init__()
+ logger = logging.getLogger("detectron2")
+ # setup_logger is not called for d2
+ if not logger.isEnabledFor(logging.INFO):
+ setup_logger()
+ cfg = OpenDetTrainer.auto_scale_workers(cfg, comm.get_world_size())
+
+ # Assume these objects must be constructed in this order.
+ model = self.build_model(cfg)
+ optimizer = self.build_optimizer(cfg, model)
+ data_loader = self.build_train_loader(cfg)
+
+ model = create_ddp_model(
+ model, broadcast_buffers=False, find_unused_parameters=True)
+ # model = create_ddp_model(model, broadcast_buffers=False)
+ self._trainer = (AMPTrainer if cfg.SOLVER.AMP.ENABLED else SimpleTrainer)(
+ model, data_loader, optimizer
+ )
+
+ self.scheduler = self.build_lr_scheduler(cfg, optimizer)
+ self.checkpointer = DetectionCheckpointer(
+ # Assume you want to save checkpoints together with logs/statistics
+ model,
+ cfg.OUTPUT_DIR,
+ trainer=weakref.proxy(self),
+ )
+ self.start_iter = 0
+ self.max_iter = cfg.SOLVER.MAX_ITER
+ self.cfg = cfg
+
+ self.register_hooks(self.build_hooks())
+
+ def resume_or_load(self, resume=True):
+ """
+ If `resume==True` and `cfg.OUTPUT_DIR` contains the last checkpoint (defined by
+ a `last_checkpoint` file), resume from the file. Resuming means loading all
+ available states (eg. optimizer and scheduler) and update iteration counter
+ from the checkpoint. ``cfg.MODEL.WEIGHTS`` will not be used.
+
+ Otherwise, this is considered as an independent training. The method will load model
+ weights from the file `cfg.MODEL.WEIGHTS` (but will not load other states) and start
+ from iteration 0.
+
+ Args:
+ resume (bool): whether to do resume or not
+ """
+ self.checkpointer.resume_or_load(self.cfg.MODEL.WEIGHTS, resume=resume)
+ if resume and self.checkpointer.has_checkpoint():
+ # The checkpoint stores the training iteration that just finished, thus we start
+ # at the next iteration
+ self.start_iter = self.iter + 1
+
+ def build_hooks(self):
+ """
+ Build a list of default hooks, including timing, evaluation,
+ checkpointing, lr scheduling, precise BN, writing events.
+
+ Returns:
+ list[HookBase]:
+ """
+ cfg = self.cfg.clone()
+ cfg.defrost()
+ cfg.DATALOADER.NUM_WORKERS = 0 # save some memory and time for PreciseBN
+
+ ret = [
+ hooks.IterationTimer(),
+ hooks.LRScheduler(),
+ hooks.PreciseBN(
+ # Run at the same freq as (but before) evaluation.
+ cfg.TEST.EVAL_PERIOD,
+ self.model,
+ # Build a new data loader to not affect training
+ self.build_train_loader(cfg),
+ cfg.TEST.PRECISE_BN.NUM_ITER,
+ )
+ if cfg.TEST.PRECISE_BN.ENABLED and get_bn_modules(self.model)
+ else None,
+ ]
+
+ # Do PreciseBN before checkpointer, because it updates the model and need to
+ # be saved by checkpointer.
+ # This is not always the best: if checkpointing has a different frequency,
+ # some checkpoints may have more precise statistics than others.
+ if comm.is_main_process():
+ ret.append(hooks.PeriodicCheckpointer(
+ self.checkpointer, cfg.SOLVER.CHECKPOINT_PERIOD))
+
+ def test_and_save_results():
+ self._last_eval_results = self.test(self.cfg, self.model)
+ return self._last_eval_results
+
+ # Do evaluation after checkpointer, because then if it fails,
+ # we can use the saved checkpoint to debug.
+ ret.append(hooks.EvalHook(cfg.TEST.EVAL_PERIOD, test_and_save_results))
+
+ if comm.is_main_process():
+ # Here the default print/log frequency of each writer is used.
+ # run writers in the end, so that evaluation metrics are written
+ ret.append(hooks.PeriodicWriter(self.build_writers(), period=20))
+ return ret
+
+ def build_writers(self):
+ """
+ Build a list of writers to be used using :func:`default_writers()`.
+ If you'd like a different list of writers, you can overwrite it in
+ your trainer.
+
+ Returns:
+ list[EventWriter]: a list of :class:`EventWriter` objects.
+ """
+ return default_writers(self.cfg.OUTPUT_DIR, self.max_iter)
+
+ def train(self):
+ """
+ Run training.
+
+ Returns:
+ OrderedDict of results, if evaluation is enabled. Otherwise None.
+ """
+ super().train(self.start_iter, self.max_iter)
+ if len(self.cfg.TEST.EXPECTED_RESULTS) and comm.is_main_process():
+ assert hasattr(
+ self, "_last_eval_results"
+ ), "No evaluation results obtained during training!"
+ verify_results(self.cfg, self._last_eval_results)
+ return self._last_eval_results
+
+ def run_step(self):
+ self._trainer.iter = self.iter
+ self._trainer.run_step()
+
+ @classmethod
+ def build_model(cls, cfg):
+ """
+ Returns:
+ torch.nn.Module:
+
+ It now calls :func:`detectron2.modeling.build_model`.
+ Overwrite it if you'd like a different model.
+ """
+ model = build_model(cfg)
+ logger = logging.getLogger(__name__)
+ logger.info("Model:\n{}".format(model))
+ return model
+
+ @classmethod
+ def build_optimizer(cls, cfg, model):
+ """
+ Returns:
+ torch.optim.Optimizer:
+
+ It now calls :func:`detectron2.solver.build_optimizer`.
+ Overwrite it if you'd like a different optimizer.
+ """
+ return build_optimizer(cfg, model)
+
+ @classmethod
+ def build_lr_scheduler(cls, cfg, optimizer):
+ """
+ It now calls :func:`detectron2.solver.build_lr_scheduler`.
+ Overwrite it if you'd like a different scheduler.
+ """
+ return build_lr_scheduler(cfg, optimizer)
+
+ @classmethod
+ def build_train_loader(cls, cfg):
+ """
+ Returns:
+ iterable
+
+ It now calls :func:`detectron2.data.build_detection_train_loader`.
+ Overwrite it if you'd like a different data loader.
+ """
+ return build_detection_train_loader(cfg)
+
+ @classmethod
+ def build_test_loader(cls, cfg, dataset_name):
+ """
+ Returns:
+ iterable
+
+ It now calls :func:`detectron2.data.build_detection_test_loader`.
+ Overwrite it if you'd like a different data loader.
+ """
+ return build_detection_test_loader(cfg, dataset_name)
+
+ @classmethod
+ def build_evaluator(cls, cfg, dataset_name, output_folder=None):
+ if output_folder is None:
+ output_folder = os.path.join(cfg.OUTPUT_DIR, "inference")
+ evaluator_list = []
+ evaluator_type = MetadataCatalog.get(dataset_name).evaluator_type
+
+ if evaluator_type == "pascal_voc":
+ return PascalVOCDetectionEvaluator(dataset_name, cfg)
+
+ if len(evaluator_list) == 0:
+ raise NotImplementedError(
+ "no Evaluator for the dataset {} with the type {}".format(
+ dataset_name, evaluator_type
+ )
+ )
+ elif len(evaluator_list) == 1:
+ return evaluator_list[0]
+ return DatasetEvaluators(evaluator_list)
+
+ @classmethod
+ def test_with_TTA(cls, cfg, model):
+ logger = logging.getLogger("detectron2.trainer")
+ # In the end of training, run an evaluation with TTA
+ # Only support some R-CNN models.
+ logger.info("Running inference with test-time augmentation ...")
+ model = GeneralizedRCNNWithTTA(cfg, model)
+ evaluators = [
+ cls.build_evaluator(
+ cfg, name, output_folder=os.path.join(
+ cfg.OUTPUT_DIR, "inference_TTA")
+ )
+ for name in cfg.DATASETS.TEST
+ ]
+ res = cls.test(cfg, model, evaluators)
+ res = OrderedDict({k + "_TTA": v for k, v in res.items()})
+ return res
+
+ @classmethod
+ def test(cls, cfg, model, evaluators=None):
+ """
+ Args:
+ cfg (CfgNode):
+ model (nn.Module):
+ evaluators (list[DatasetEvaluator] or None): if None, will call
+ :meth:`build_evaluator`. Otherwise, must have the same length as
+ ``cfg.DATASETS.TEST``.
+
+ Returns:
+ dict: a dict of result metrics
+ """
+ logger = logging.getLogger(__name__)
+ if isinstance(evaluators, DatasetEvaluator):
+ evaluators = [evaluators]
+ if evaluators is not None:
+ assert len(cfg.DATASETS.TEST) == len(evaluators), "{} != {}".format(
+ len(cfg.DATASETS.TEST), len(evaluators)
+ )
+
+ results = OrderedDict()
+ for idx, dataset_name in enumerate(cfg.DATASETS.TEST):
+ data_loader = cls.build_test_loader(cfg, dataset_name)
+ # When evaluators are passed in as arguments,
+ # implicitly assume that evaluators can be created before data_loader.
+ if evaluators is not None:
+ evaluator = evaluators[idx]
+ else:
+ try:
+ evaluator = cls.build_evaluator(cfg, dataset_name)
+ except NotImplementedError:
+ logger.warn(
+ "No evaluator found. Use `DefaultTrainer.test(evaluators=)`, "
+ "or implement its `build_evaluator` method."
+ )
+ results[dataset_name] = {}
+ continue
+ results_i = inference_on_dataset(model, data_loader, evaluator)
+ results[dataset_name] = results_i
+ if comm.is_main_process():
+ assert isinstance(
+ results_i, dict
+ ), "Evaluator must return a dict on the main process. Got {} instead.".format(
+ results_i
+ )
+ logger.info(
+ "Evaluation results for {} in csv format:".format(dataset_name))
+ print_csv_format(results_i)
+
+ if len(results) == 1:
+ results = list(results.values())[0]
+ return results
+
+ @staticmethod
+ def auto_scale_workers(cfg, num_workers: int):
+ """
+ When the config is defined for certain number of workers (according to
+ ``cfg.SOLVER.REFERENCE_WORLD_SIZE``) that's different from the number of
+ workers currently in use, returns a new cfg where the total batch size
+ is scaled so that the per-GPU batch size stays the same as the
+ original ``IMS_PER_BATCH // REFERENCE_WORLD_SIZE``.
+
+ Other config options are also scaled accordingly:
+ * training steps and warmup steps are scaled inverse proportionally.
+ * learning rate are scaled proportionally, following :paper:`ImageNet in 1h`.
+
+ For example, with the original config like the following:
+
+ .. code-block:: yaml
+
+ IMS_PER_BATCH: 16
+ BASE_LR: 0.1
+ REFERENCE_WORLD_SIZE: 8
+ MAX_ITER: 5000
+ STEPS: (4000,)
+ CHECKPOINT_PERIOD: 1000
+
+ When this config is used on 16 GPUs instead of the reference number 8,
+ calling this method will return a new config with:
+
+ .. code-block:: yaml
+
+ IMS_PER_BATCH: 32
+ BASE_LR: 0.2
+ REFERENCE_WORLD_SIZE: 16
+ MAX_ITER: 2500
+ STEPS: (2000,)
+ CHECKPOINT_PERIOD: 500
+
+ Note that both the original config and this new config can be trained on 16 GPUs.
+ It's up to user whether to enable this feature (by setting ``REFERENCE_WORLD_SIZE``).
+
+ Returns:
+ CfgNode: a new config. Same as original if ``cfg.SOLVER.REFERENCE_WORLD_SIZE==0``.
+ """
+ old_world_size = cfg.SOLVER.REFERENCE_WORLD_SIZE
+ if old_world_size == 0 or old_world_size == num_workers:
+ return cfg
+ cfg = cfg.clone()
+ frozen = cfg.is_frozen()
+ cfg.defrost()
+
+ assert (
+ cfg.SOLVER.IMS_PER_BATCH % old_world_size == 0
+ ), "Invalid REFERENCE_WORLD_SIZE in config!"
+ scale = num_workers / old_world_size
+ bs = cfg.SOLVER.IMS_PER_BATCH = int(
+ round(cfg.SOLVER.IMS_PER_BATCH * scale))
+ lr = cfg.SOLVER.BASE_LR = cfg.SOLVER.BASE_LR * scale
+ max_iter = cfg.SOLVER.MAX_ITER = int(
+ round(cfg.SOLVER.MAX_ITER / scale))
+ warmup_iter = cfg.SOLVER.WARMUP_ITERS = int(
+ round(cfg.SOLVER.WARMUP_ITERS / scale))
+ cfg.SOLVER.STEPS = tuple(int(round(s / scale))
+ for s in cfg.SOLVER.STEPS)
+ cfg.TEST.EVAL_PERIOD = int(round(cfg.TEST.EVAL_PERIOD / scale))
+ cfg.SOLVER.CHECKPOINT_PERIOD = int(
+ round(cfg.SOLVER.CHECKPOINT_PERIOD / scale))
+ cfg.SOLVER.REFERENCE_WORLD_SIZE = num_workers # maintain invariant
+ logger = logging.getLogger(__name__)
+ logger.info(
+ f"Auto-scaling the config to batch_size={bs}, learning_rate={lr}, "
+ f"max_iter={max_iter}, warmup={warmup_iter}."
+ )
+
+ if frozen:
+ cfg.freeze()
+ return cfg
+
+
+# Access basic attributes from the underlying trainer
+for _attr in ["model", "data_loader", "optimizer"]:
+ setattr(
+ OpenDetTrainer,
+ _attr,
+ property(
+ # getter
+ lambda self, x=_attr: getattr(self._trainer, x),
+ # setter
+ lambda self, value, x=_attr: setattr(self._trainer, x, value),
+ ),
+ )
diff --git a/opendet2/evaluation/__init__.py b/opendet2/evaluation/__init__.py
new file mode 100644
index 0000000..9925466
--- /dev/null
+++ b/opendet2/evaluation/__init__.py
@@ -0,0 +1,3 @@
+from .pascal_voc_evaluation import *
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
diff --git a/opendet2/evaluation/pascal_voc_evaluation.py b/opendet2/evaluation/pascal_voc_evaluation.py
new file mode 100644
index 0000000..efd1fc3
--- /dev/null
+++ b/opendet2/evaluation/pascal_voc_evaluation.py
@@ -0,0 +1,377 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+# Code is modified from https://github.com/JosephKJ/OWOD
+
+import logging
+import os
+import tempfile
+import xml.etree.ElementTree as ET
+from collections import OrderedDict, defaultdict
+from functools import lru_cache
+from tabulate import tabulate
+
+import numpy as np
+import torch
+from detectron2.data import MetadataCatalog
+from detectron2.evaluation import DatasetEvaluator
+from detectron2.evaluation.pascal_voc_evaluation import voc_ap
+from detectron2.utils import comm
+from detectron2.utils.file_io import PathManager
+
+
+class PascalVOCDetectionEvaluator(DatasetEvaluator):
+ def __init__(self, dataset_name, cfg=None):
+ """
+ Args:
+ dataset_name (str): name of the dataset, e.g., "voc_2007_test"
+ """
+ self._dataset_name = dataset_name
+ meta = MetadataCatalog.get(dataset_name)
+
+ # Too many tiny files, download all to local for speed.
+ annotation_dir_local = PathManager.get_local_path(
+ os.path.join(meta.dirname, "Annotations/")
+ )
+ self._anno_file_template = os.path.join(annotation_dir_local, "{}.xml")
+ self._image_set_path = os.path.join(
+ meta.dirname, "ImageSets", "Main", meta.split + ".txt")
+ self._class_names = meta.thing_classes
+ assert meta.year in [2007, 2012], meta.year
+ self.logger = logging.getLogger(__name__)
+ self._is_2007 = meta.year == 2007
+ self._cpu_device = torch.device("cpu")
+ if cfg is not None:
+ self.output_dir = cfg.OUTPUT_DIR
+ self.total_num_class = cfg.MODEL.ROI_HEADS.NUM_CLASSES
+ self.unknown_class_index = self.total_num_class - 1
+ self.num_known_classes = cfg.MODEL.ROI_HEADS.NUM_KNOWN_CLASSES
+ self.known_classes = self._class_names[:self.num_known_classes]
+
+ def reset(self):
+ # class name -> list of prediction strings
+ self._predictions = defaultdict(list)
+
+ def process(self, inputs, outputs):
+ for input, output in zip(inputs, outputs):
+ image_id = input["image_id"]
+ instances = output["instances"].to(self._cpu_device)
+ boxes = instances.pred_boxes.tensor.numpy()
+ scores = instances.scores.tolist()
+ classes = instances.pred_classes.tolist()
+
+ for box, score, cls in zip(boxes, scores, classes):
+ xmin, ymin, xmax, ymax = box
+ # The inverse of data loading logic in `datasets/pascal_voc.py`
+ xmin += 1
+ ymin += 1
+ self._predictions[cls].append(
+ f"{image_id} {score:.3f} {xmin:.1f} {ymin:.1f} {xmax:.1f} {ymax:.1f}"
+ )
+
+ def compute_WI_at_many_recall_level(self, recalls, tp_plus_fp_cs, fp_os):
+ wi_at_recall = {}
+ # for r in range(1, 10):
+ for r in [8]:
+ r = r/10
+ wi = self.compute_WI_at_a_recall_level(
+ recalls, tp_plus_fp_cs, fp_os, recall_level=r)
+ wi_at_recall[r] = wi
+ return wi_at_recall
+
+ def compute_WI_at_a_recall_level(self, recalls, tp_plus_fp_cs, fp_os, recall_level=0.5):
+ wi_at_iou = {}
+ for iou, recall in recalls.items():
+ tp_plus_fps = []
+ fps = []
+ for cls_id, rec in enumerate(recall):
+ if cls_id in range(self.num_known_classes) and len(rec) > 0:
+ index = min(range(len(rec)), key=lambda i: abs(
+ rec[i] - recall_level))
+ tp_plus_fp = tp_plus_fp_cs[iou][cls_id][index]
+ tp_plus_fps.append(tp_plus_fp)
+ fp = fp_os[iou][cls_id][index]
+ fps.append(fp)
+ if len(tp_plus_fps) > 0:
+ wi_at_iou[iou] = np.mean(fps) / np.mean(tp_plus_fps)
+ else:
+ wi_at_iou[iou] = 0
+ return wi_at_iou
+
+ def evaluate(self):
+ """
+ Returns:
+ dict: has a key "segm", whose value is a dict of "AP", "AP50", and "AP75".
+ """
+ all_predictions = comm.gather(self._predictions, dst=0)
+ if not comm.is_main_process():
+ return
+ predictions = defaultdict(list)
+ for predictions_per_rank in all_predictions:
+ for clsid, lines in predictions_per_rank.items():
+ predictions[clsid].extend(lines)
+ del all_predictions
+
+ self.logger.info(
+ "Evaluating {} using {} metric. "
+ "Note that results do not use the official Matlab API.".format(
+ self._dataset_name, 2007 if self._is_2007 else 2012
+ )
+ )
+
+ dirname = os.path.join(self.output_dir, 'pascal_voc_eval')
+ if not os.path.exists(dirname):
+ os.mkdir(dirname)
+ # with tempfile.TemporaryDirectory(prefix="pascal_voc_eval_") as dirname:
+ res_file_template = os.path.join(dirname, "{}.txt")
+
+ aps = defaultdict(list) # iou -> ap per class
+ recs = defaultdict(list)
+ precs = defaultdict(list)
+ all_recs = defaultdict(list)
+ all_precs = defaultdict(list)
+ unk_det_as_knowns = defaultdict(list)
+ num_unks = defaultdict(list)
+ tp_plus_fp_cs = defaultdict(list)
+ fp_os = defaultdict(list)
+
+ for cls_id, cls_name in enumerate(self._class_names):
+ lines = predictions.get(cls_id, [""])
+
+ with open(res_file_template.format(cls_name), "w") as f:
+ f.write("\n".join(lines))
+
+ for thresh in [50, ]:
+ # for thresh in range(50, 100, 5):
+ (rec, prec, ap, unk_det_as_known, num_unk,
+ tp_plus_fp_closed_set, fp_open_set) = voc_eval(
+ res_file_template,
+ self._anno_file_template,
+ self._image_set_path,
+ cls_name,
+ ovthresh=thresh / 100.0,
+ use_07_metric=self._is_2007,
+ known_classes=self.known_classes
+ )
+ aps[thresh].append(ap * 100)
+ unk_det_as_knowns[thresh].append(unk_det_as_known)
+ num_unks[thresh].append(num_unk)
+ all_precs[thresh].append(prec)
+ all_recs[thresh].append(rec)
+ tp_plus_fp_cs[thresh].append(tp_plus_fp_closed_set)
+ fp_os[thresh].append(fp_open_set)
+ try:
+ recs[thresh].append(rec[-1] * 100)
+ precs[thresh].append(prec[-1] * 100)
+ except:
+ recs[thresh].append(0)
+ precs[thresh].append(0)
+
+ results_2d = {}
+ mAP = {iou: np.mean(x) for iou, x in aps.items()}
+ results_2d['mAP'] = mAP[50]
+
+ wi = self.compute_WI_at_many_recall_level(
+ all_recs, tp_plus_fp_cs, fp_os)
+ results_2d['WI'] = wi[0.8][50] * 100
+
+ total_num_unk_det_as_known = {iou: np.sum(
+ x) for iou, x in unk_det_as_knowns.items()}
+ # total_num_unk = num_unks[50][0]
+ # self.logger.info('num_unk ' + str(total_num_unk))
+ results_2d['AOSE'] = total_num_unk_det_as_known[50]
+
+ # class-wise P-R
+ # self.logger.info(self._class_names)
+ # self.logger.info("AP50: " + str(['%.1f' % x for x in aps[50]]))
+ # self.logger.info("P50: " + str(['%.1f' % x for x in precs[50]]))
+ # self.logger.info("R50: " + str(['%.1f' % x for x in recs[50]]))
+
+ # Known
+ results_2d.update({
+ "AP@K": np.mean(aps[50][:self.num_known_classes]),
+ "P@K": np.mean(precs[50][:self.num_known_classes]),
+ "R@K": np.mean(recs[50][:self.num_known_classes]),
+ })
+
+ # Unknown
+ results_2d.update({
+ "AP@U": np.mean(aps[50][-1]),
+ "P@U": np.mean(precs[50][-1]),
+ "R@U": np.mean(recs[50][-1]),
+ })
+ results_head = list(results_2d.keys())
+ results_data = [[float(results_2d[k]) for k in results_2d]]
+ table = tabulate(
+ results_data,
+ tablefmt="pipe",
+ floatfmt=".2f",
+ headers=results_head,
+ numalign="left",
+ )
+ self.logger.info("\n" + table)
+
+ return {",".join(results_head): ",".join([str(round(x,2)) for x in results_data[0]])}
+
+
+@lru_cache(maxsize=None)
+def parse_rec(filename, known_classes):
+ """Parse a PASCAL VOC xml file."""
+ with PathManager.open(filename) as f:
+ tree = ET.parse(f)
+ objects = []
+ for obj in tree.findall("object"):
+ obj_struct = {}
+ cls_name = obj.find("name").text
+ # translate unseen classes to unknown
+ if cls_name not in known_classes:
+ cls_name = 'unknown'
+
+ obj_struct["name"] = cls_name
+ # obj_struct["pose"] = obj.find("pose").text
+ # obj_struct["truncated"] = int(obj.find("truncated").text)
+ obj_struct["difficult"] = int(obj.find("difficult").text)
+ bbox = obj.find("bndbox")
+ obj_struct["bbox"] = [
+ int(bbox.find("xmin").text),
+ int(bbox.find("ymin").text),
+ int(bbox.find("xmax").text),
+ int(bbox.find("ymax").text),
+ ]
+ objects.append(obj_struct)
+
+ return objects
+
+
+def compute_overlaps(BBGT, bb):
+ # compute overlaps
+ # intersection
+ ixmin = np.maximum(BBGT[:, 0], bb[0])
+ iymin = np.maximum(BBGT[:, 1], bb[1])
+ ixmax = np.minimum(BBGT[:, 2], bb[2])
+ iymax = np.minimum(BBGT[:, 3], bb[3])
+ iw = np.maximum(ixmax - ixmin + 1.0, 0.0)
+ ih = np.maximum(iymax - iymin + 1.0, 0.0)
+ inters = iw * ih
+
+ # union
+ uni = (
+ (bb[2] - bb[0] + 1.0) * (bb[3] - bb[1] + 1.0)
+ + (BBGT[:, 2] - BBGT[:, 0] + 1.0) * (BBGT[:, 3] - BBGT[:, 1] + 1.0)
+ - inters
+ )
+
+ return inters / uni
+
+
+def voc_eval(detpath, annopath, imagesetfile, classname, ovthresh=0.5, use_07_metric=False, known_classes=None):
+ # first load gt
+ # read list of images
+ with PathManager.open(imagesetfile, "r") as f:
+ lines = f.readlines()
+ imagenames = [x.strip() for x in lines]
+
+ # load annots
+ recs = {}
+ for imagename in imagenames:
+ recs[imagename] = parse_rec(
+ annopath.format(imagename), tuple(known_classes))
+
+ # extract gt objects for this class
+ class_recs = {}
+ npos = 0
+ for imagename in imagenames:
+ R = [obj for obj in recs[imagename] if obj["name"] == classname]
+ bbox = np.array([x["bbox"] for x in R])
+ difficult = np.array([x["difficult"] for x in R]).astype(np.bool)
+ # difficult = np.array([False for x in R]).astype(np.bool) # treat all "difficult" as GT
+ det = [False] * len(R)
+ npos = npos + sum(~difficult)
+ class_recs[imagename] = {"bbox": bbox,
+ "difficult": difficult, "det": det}
+
+ # read dets
+ detfile = detpath.format(classname)
+ with open(detfile, "r") as f:
+ lines = f.readlines()
+
+ splitlines = [x.strip().split(" ") for x in lines]
+ image_ids = [x[0] for x in splitlines]
+ confidence = np.array([float(x[1]) for x in splitlines])
+ BB = np.array([[float(z) for z in x[2:]]
+ for x in splitlines]).reshape(-1, 4)
+
+ # sort by confidence
+ sorted_ind = np.argsort(-confidence)
+ BB = BB[sorted_ind, :]
+ image_ids = [image_ids[x] for x in sorted_ind]
+
+ # go down dets and mark TPs and FPs
+ nd = len(image_ids)
+ tp = np.zeros(nd)
+ fp = np.zeros(nd)
+ for d in range(nd):
+ R = class_recs[image_ids[d]]
+ bb = BB[d, :].astype(float)
+ ovmax = -np.inf
+ BBGT = R["bbox"].astype(float)
+
+ if BBGT.size > 0:
+ overlaps = compute_overlaps(BBGT, bb)
+ ovmax = np.max(overlaps)
+ jmax = np.argmax(overlaps)
+
+ if ovmax > ovthresh:
+ if not R["difficult"][jmax]:
+ if not R["det"][jmax]:
+ tp[d] = 1.0
+ R["det"][jmax] = 1
+ else:
+ fp[d] = 1.0
+ else:
+ fp[d] = 1.0
+
+ # compute precision recall
+ fp = np.cumsum(fp)
+ tp = np.cumsum(tp)
+ rec = tp / float(npos)
+ # avoid divide by zero in case the first detection matches a difficult
+ # ground truth
+ prec = tp / np.maximum(tp + fp, np.finfo(np.float64).eps)
+ ap = voc_ap(rec, prec, use_07_metric)
+
+ # compute unknown det as known
+ unknown_class_recs = {}
+ n_unk = 0
+ for imagename in imagenames:
+ R = [obj for obj in recs[imagename] if obj["name"] == 'unknown']
+ bbox = np.array([x["bbox"] for x in R])
+ difficult = np.array([x["difficult"] for x in R]).astype(np.bool)
+ det = [False] * len(R)
+ n_unk = n_unk + sum(~difficult)
+ unknown_class_recs[imagename] = {
+ "bbox": bbox, "difficult": difficult, "det": det}
+
+ if classname == 'unknown':
+ return rec, prec, ap, 0, n_unk, None, None
+
+ # Go down each detection and see if it has an overlap with an unknown object.
+ # If so, it is an unknown object that was classified as known.
+ is_unk = np.zeros(nd)
+ for d in range(nd):
+ R = unknown_class_recs[image_ids[d]]
+ bb = BB[d, :].astype(float)
+ ovmax = -np.inf
+ BBGT = R["bbox"].astype(float)
+
+ if BBGT.size > 0:
+ overlaps = compute_overlaps(BBGT, bb)
+ ovmax = np.max(overlaps)
+ jmax = np.argmax(overlaps)
+
+ if ovmax > ovthresh:
+ is_unk[d] = 1.0
+
+ is_unk_sum = np.sum(is_unk)
+ tp_plus_fp_closed_set = tp+fp
+ fp_open_set = np.cumsum(is_unk)
+
+ return rec, prec, ap, is_unk_sum, n_unk, tp_plus_fp_closed_set, fp_open_set
diff --git a/opendet2/modeling/__init__.py b/opendet2/modeling/__init__.py
new file mode 100644
index 0000000..7fa01a2
--- /dev/null
+++ b/opendet2/modeling/__init__.py
@@ -0,0 +1,5 @@
+from .meta_arch import OpenSetRetinaNet
+from .backbone import *
+from .roi_heads import *
+
+__all__ = list(globals().keys())
diff --git a/opendet2/modeling/backbone/__init__.py b/opendet2/modeling/backbone/__init__.py
new file mode 100644
index 0000000..f9cf81c
--- /dev/null
+++ b/opendet2/modeling/backbone/__init__.py
@@ -0,0 +1,3 @@
+from .swin_transformer import SwinTransformer
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
\ No newline at end of file
diff --git a/opendet2/modeling/backbone/swin_transformer.py b/opendet2/modeling/backbone/swin_transformer.py
new file mode 100644
index 0000000..d609389
--- /dev/null
+++ b/opendet2/modeling/backbone/swin_transformer.py
@@ -0,0 +1,726 @@
+# --------------------------------------------------------
+# Swin Transformer
+# modified from https://github.com/xiaohu2015/SwinT_detectron2/blob/main/swint/swin_transformer.py
+# --------------------------------------------------------
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+import torch.utils.checkpoint as checkpoint
+import numpy as np
+from timm.models.layers import DropPath, to_2tuple, trunc_normal_
+
+from detectron2.modeling.backbone import Backbone
+from detectron2.modeling.backbone.build import BACKBONE_REGISTRY
+from detectron2.modeling.backbone.fpn import FPN, LastLevelMaxPool, LastLevelP6P7
+from detectron2.layers import ShapeSpec
+
+
+class Mlp(nn.Module):
+ """ Multilayer perceptron."""
+
+ def __init__(self, in_features, hidden_features=None, out_features=None, act_layer=nn.GELU, drop=0.):
+ super().__init__()
+ out_features = out_features or in_features
+ hidden_features = hidden_features or in_features
+ self.fc1 = nn.Linear(in_features, hidden_features)
+ self.act = act_layer()
+ self.fc2 = nn.Linear(hidden_features, out_features)
+ self.drop = nn.Dropout(drop)
+
+ def forward(self, x):
+ x = self.fc1(x)
+ x = self.act(x)
+ x = self.drop(x)
+ x = self.fc2(x)
+ x = self.drop(x)
+ return x
+
+
+def window_partition(x, window_size):
+ """
+ Args:
+ x: (B, H, W, C)
+ window_size (int): window size
+ Returns:
+ windows: (num_windows*B, window_size, window_size, C)
+ """
+ B, H, W, C = x.shape
+ x = x.view(B, H // window_size, window_size, W // window_size, window_size, C)
+ windows = x.permute(0, 1, 3, 2, 4, 5).contiguous().view(-1, window_size, window_size, C)
+ return windows
+
+
+def window_reverse(windows, window_size, H, W):
+ """
+ Args:
+ windows: (num_windows*B, window_size, window_size, C)
+ window_size (int): Window size
+ H (int): Height of image
+ W (int): Width of image
+ Returns:
+ x: (B, H, W, C)
+ """
+ B = int(windows.shape[0] / (H * W / window_size / window_size))
+ x = windows.view(B, H // window_size, W // window_size, window_size, window_size, -1)
+ x = x.permute(0, 1, 3, 2, 4, 5).contiguous().view(B, H, W, -1)
+ return x
+
+
+class WindowAttention(nn.Module):
+ """ Window based multi-head self attention (W-MSA) module with relative position bias.
+ It supports both of shifted and non-shifted window.
+ Args:
+ dim (int): Number of input channels.
+ window_size (tuple[int]): The height and width of the window.
+ num_heads (int): Number of attention heads.
+ qkv_bias (bool, optional): If True, add a learnable bias to query, key, value. Default: True
+ qk_scale (float | None, optional): Override default qk scale of head_dim ** -0.5 if set
+ attn_drop (float, optional): Dropout ratio of attention weight. Default: 0.0
+ proj_drop (float, optional): Dropout ratio of output. Default: 0.0
+ """
+
+ def __init__(self, dim, window_size, num_heads, qkv_bias=True, qk_scale=None, attn_drop=0., proj_drop=0.):
+
+ super().__init__()
+ self.dim = dim
+ self.window_size = window_size # Wh, Ww
+ self.num_heads = num_heads
+ head_dim = dim // num_heads
+ self.scale = qk_scale or head_dim ** -0.5
+
+ # define a parameter table of relative position bias
+ self.relative_position_bias_table = nn.Parameter(
+ torch.zeros((2 * window_size[0] - 1) * (2 * window_size[1] - 1), num_heads)) # 2*Wh-1 * 2*Ww-1, nH
+
+ # get pair-wise relative position index for each token inside the window
+ coords_h = torch.arange(self.window_size[0])
+ coords_w = torch.arange(self.window_size[1])
+ coords = torch.stack(torch.meshgrid([coords_h, coords_w])) # 2, Wh, Ww
+ coords_flatten = torch.flatten(coords, 1) # 2, Wh*Ww
+ relative_coords = coords_flatten[:, :, None] - coords_flatten[:, None, :] # 2, Wh*Ww, Wh*Ww
+ relative_coords = relative_coords.permute(1, 2, 0).contiguous() # Wh*Ww, Wh*Ww, 2
+ relative_coords[:, :, 0] += self.window_size[0] - 1 # shift to start from 0
+ relative_coords[:, :, 1] += self.window_size[1] - 1
+ relative_coords[:, :, 0] *= 2 * self.window_size[1] - 1
+ relative_position_index = relative_coords.sum(-1) # Wh*Ww, Wh*Ww
+ self.register_buffer("relative_position_index", relative_position_index)
+
+ self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias)
+ self.attn_drop = nn.Dropout(attn_drop)
+ self.proj = nn.Linear(dim, dim)
+ self.proj_drop = nn.Dropout(proj_drop)
+
+ trunc_normal_(self.relative_position_bias_table, std=.02)
+ self.softmax = nn.Softmax(dim=-1)
+
+ def forward(self, x, mask=None):
+ """ Forward function.
+ Args:
+ x: input features with shape of (num_windows*B, N, C)
+ mask: (0/-inf) mask with shape of (num_windows, Wh*Ww, Wh*Ww) or None
+ """
+ B_, N, C = x.shape
+ qkv = self.qkv(x).reshape(B_, N, 3, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4)
+ q, k, v = qkv[0], qkv[1], qkv[2] # make torchscript happy (cannot use tensor as tuple)
+
+ q = q * self.scale
+ attn = (q @ k.transpose(-2, -1))
+
+ relative_position_bias = self.relative_position_bias_table[self.relative_position_index.view(-1)].view(
+ self.window_size[0] * self.window_size[1], self.window_size[0] * self.window_size[1], -1) # Wh*Ww,Wh*Ww,nH
+ relative_position_bias = relative_position_bias.permute(2, 0, 1).contiguous() # nH, Wh*Ww, Wh*Ww
+ attn = attn + relative_position_bias.unsqueeze(0)
+
+ if mask is not None:
+ nW = mask.shape[0]
+ attn = attn.view(B_ // nW, nW, self.num_heads, N, N) + mask.unsqueeze(1).unsqueeze(0)
+ attn = attn.view(-1, self.num_heads, N, N)
+ attn = self.softmax(attn)
+ else:
+ attn = self.softmax(attn)
+
+ attn = self.attn_drop(attn)
+
+ x = (attn @ v).transpose(1, 2).reshape(B_, N, C)
+ x = self.proj(x)
+ x = self.proj_drop(x)
+ return x
+
+
+class SwinTransformerBlock(nn.Module):
+ """ Swin Transformer Block.
+ Args:
+ dim (int): Number of input channels.
+ num_heads (int): Number of attention heads.
+ window_size (int): Window size.
+ shift_size (int): Shift size for SW-MSA.
+ mlp_ratio (float): Ratio of mlp hidden dim to embedding dim.
+ qkv_bias (bool, optional): If True, add a learnable bias to query, key, value. Default: True
+ qk_scale (float | None, optional): Override default qk scale of head_dim ** -0.5 if set.
+ drop (float, optional): Dropout rate. Default: 0.0
+ attn_drop (float, optional): Attention dropout rate. Default: 0.0
+ drop_path (float, optional): Stochastic depth rate. Default: 0.0
+ act_layer (nn.Module, optional): Activation layer. Default: nn.GELU
+ norm_layer (nn.Module, optional): Normalization layer. Default: nn.LayerNorm
+ """
+
+ def __init__(self, dim, num_heads, window_size=7, shift_size=0,
+ mlp_ratio=4., qkv_bias=True, qk_scale=None, drop=0., attn_drop=0., drop_path=0.,
+ act_layer=nn.GELU, norm_layer=nn.LayerNorm):
+ super().__init__()
+ self.dim = dim
+ self.num_heads = num_heads
+ self.window_size = window_size
+ self.shift_size = shift_size
+ self.mlp_ratio = mlp_ratio
+ assert 0 <= self.shift_size < self.window_size, "shift_size must in 0-window_size"
+
+ self.norm1 = norm_layer(dim)
+ self.attn = WindowAttention(
+ dim, window_size=to_2tuple(self.window_size), num_heads=num_heads,
+ qkv_bias=qkv_bias, qk_scale=qk_scale, attn_drop=attn_drop, proj_drop=drop)
+
+ self.drop_path = DropPath(drop_path) if drop_path > 0. else nn.Identity()
+ self.norm2 = norm_layer(dim)
+ mlp_hidden_dim = int(dim * mlp_ratio)
+ self.mlp = Mlp(in_features=dim, hidden_features=mlp_hidden_dim, act_layer=act_layer, drop=drop)
+
+ self.H = None
+ self.W = None
+
+ def forward(self, x, mask_matrix):
+ """ Forward function.
+ Args:
+ x: Input feature, tensor size (B, H*W, C).
+ H, W: Spatial resolution of the input feature.
+ mask_matrix: Attention mask for cyclic shift.
+ """
+ B, L, C = x.shape
+ H, W = self.H, self.W
+ assert L == H * W, "input feature has wrong size"
+
+ shortcut = x
+ x = self.norm1(x)
+ x = x.view(B, H, W, C)
+
+ # pad feature maps to multiples of window size
+ pad_l = pad_t = 0
+ pad_r = (self.window_size - W % self.window_size) % self.window_size
+ pad_b = (self.window_size - H % self.window_size) % self.window_size
+ x = F.pad(x, (0, 0, pad_l, pad_r, pad_t, pad_b))
+ _, Hp, Wp, _ = x.shape
+
+ # cyclic shift
+ if self.shift_size > 0:
+ shifted_x = torch.roll(x, shifts=(-self.shift_size, -self.shift_size), dims=(1, 2))
+ attn_mask = mask_matrix
+ else:
+ shifted_x = x
+ attn_mask = None
+
+ # partition windows
+ x_windows = window_partition(shifted_x, self.window_size) # nW*B, window_size, window_size, C
+ x_windows = x_windows.view(-1, self.window_size * self.window_size, C) # nW*B, window_size*window_size, C
+
+ # W-MSA/SW-MSA
+ attn_windows = self.attn(x_windows, mask=attn_mask) # nW*B, window_size*window_size, C
+
+ # merge windows
+ attn_windows = attn_windows.view(-1, self.window_size, self.window_size, C)
+ shifted_x = window_reverse(attn_windows, self.window_size, Hp, Wp) # B H' W' C
+
+ # reverse cyclic shift
+ if self.shift_size > 0:
+ x = torch.roll(shifted_x, shifts=(self.shift_size, self.shift_size), dims=(1, 2))
+ else:
+ x = shifted_x
+
+ if pad_r > 0 or pad_b > 0:
+ x = x[:, :H, :W, :].contiguous()
+
+ x = x.view(B, H * W, C)
+
+ # FFN
+ x = shortcut + self.drop_path(x)
+ x = x + self.drop_path(self.mlp(self.norm2(x)))
+
+ return x
+
+
+class PatchMerging(nn.Module):
+ """ Patch Merging Layer
+ Args:
+ dim (int): Number of input channels.
+ norm_layer (nn.Module, optional): Normalization layer. Default: nn.LayerNorm
+ """
+ def __init__(self, dim, norm_layer=nn.LayerNorm):
+ super().__init__()
+ self.dim = dim
+ self.reduction = nn.Linear(4 * dim, 2 * dim, bias=False)
+ self.norm = norm_layer(4 * dim)
+
+ def forward(self, x, H, W):
+ """ Forward function.
+ Args:
+ x: Input feature, tensor size (B, H*W, C).
+ H, W: Spatial resolution of the input feature.
+ """
+ B, L, C = x.shape
+ assert L == H * W, "input feature has wrong size"
+
+ x = x.view(B, H, W, C)
+
+ # padding
+ pad_input = (H % 2 == 1) or (W % 2 == 1)
+ if pad_input:
+ x = F.pad(x, (0, 0, 0, W % 2, 0, H % 2))
+
+ x0 = x[:, 0::2, 0::2, :] # B H/2 W/2 C
+ x1 = x[:, 1::2, 0::2, :] # B H/2 W/2 C
+ x2 = x[:, 0::2, 1::2, :] # B H/2 W/2 C
+ x3 = x[:, 1::2, 1::2, :] # B H/2 W/2 C
+ x = torch.cat([x0, x1, x2, x3], -1) # B H/2 W/2 4*C
+ x = x.view(B, -1, 4 * C) # B H/2*W/2 4*C
+
+ x = self.norm(x)
+ x = self.reduction(x)
+
+ return x
+
+
+class BasicLayer(nn.Module):
+ """ A basic Swin Transformer layer for one stage.
+ Args:
+ dim (int): Number of feature channels
+ depth (int): Depths of this stage.
+ num_heads (int): Number of attention head.
+ window_size (int): Local window size. Default: 7.
+ mlp_ratio (float): Ratio of mlp hidden dim to embedding dim. Default: 4.
+ qkv_bias (bool, optional): If True, add a learnable bias to query, key, value. Default: True
+ qk_scale (float | None, optional): Override default qk scale of head_dim ** -0.5 if set.
+ drop (float, optional): Dropout rate. Default: 0.0
+ attn_drop (float, optional): Attention dropout rate. Default: 0.0
+ drop_path (float | tuple[float], optional): Stochastic depth rate. Default: 0.0
+ norm_layer (nn.Module, optional): Normalization layer. Default: nn.LayerNorm
+ downsample (nn.Module | None, optional): Downsample layer at the end of the layer. Default: None
+ use_checkpoint (bool): Whether to use checkpointing to save memory. Default: False.
+ """
+
+ def __init__(self,
+ dim,
+ depth,
+ num_heads,
+ window_size=7,
+ mlp_ratio=4.,
+ qkv_bias=True,
+ qk_scale=None,
+ drop=0.,
+ attn_drop=0.,
+ drop_path=0.,
+ norm_layer=nn.LayerNorm,
+ downsample=None,
+ use_checkpoint=False):
+ super().__init__()
+ self.window_size = window_size
+ self.shift_size = window_size // 2
+ self.depth = depth
+ self.use_checkpoint = use_checkpoint
+
+ # build blocks
+ self.blocks = nn.ModuleList([
+ SwinTransformerBlock(
+ dim=dim,
+ num_heads=num_heads,
+ window_size=window_size,
+ shift_size=0 if (i % 2 == 0) else window_size // 2,
+ mlp_ratio=mlp_ratio,
+ qkv_bias=qkv_bias,
+ qk_scale=qk_scale,
+ drop=drop,
+ attn_drop=attn_drop,
+ drop_path=drop_path[i] if isinstance(drop_path, list) else drop_path,
+ norm_layer=norm_layer)
+ for i in range(depth)])
+
+ # patch merging layer
+ if downsample is not None:
+ self.downsample = downsample(dim=dim, norm_layer=norm_layer)
+ else:
+ self.downsample = None
+
+ def forward(self, x, H, W):
+ """ Forward function.
+ Args:
+ x: Input feature, tensor size (B, H*W, C).
+ H, W: Spatial resolution of the input feature.
+ """
+
+ # calculate attention mask for SW-MSA
+ Hp = int(np.ceil(H / self.window_size)) * self.window_size
+ Wp = int(np.ceil(W / self.window_size)) * self.window_size
+ img_mask = torch.zeros((1, Hp, Wp, 1), device=x.device) # 1 Hp Wp 1
+ h_slices = (slice(0, -self.window_size),
+ slice(-self.window_size, -self.shift_size),
+ slice(-self.shift_size, None))
+ w_slices = (slice(0, -self.window_size),
+ slice(-self.window_size, -self.shift_size),
+ slice(-self.shift_size, None))
+ cnt = 0
+ for h in h_slices:
+ for w in w_slices:
+ img_mask[:, h, w, :] = cnt
+ cnt += 1
+
+ mask_windows = window_partition(img_mask, self.window_size) # nW, window_size, window_size, 1
+ mask_windows = mask_windows.view(-1, self.window_size * self.window_size)
+ attn_mask = mask_windows.unsqueeze(1) - mask_windows.unsqueeze(2)
+ attn_mask = attn_mask.masked_fill(attn_mask != 0, float(-100.0)).masked_fill(attn_mask == 0, float(0.0))
+
+ for blk in self.blocks:
+ blk.H, blk.W = H, W
+ if self.use_checkpoint:
+ x = checkpoint.checkpoint(blk, x, attn_mask)
+ else:
+ x = blk(x, attn_mask)
+ if self.downsample is not None:
+ x_down = self.downsample(x, H, W)
+ Wh, Ww = (H + 1) // 2, (W + 1) // 2
+ return x, H, W, x_down, Wh, Ww
+ else:
+ return x, H, W, x, H, W
+
+
+class PatchEmbed(nn.Module):
+ """ Image to Patch Embedding
+ Args:
+ patch_size (int): Patch token size. Default: 4.
+ in_chans (int): Number of input image channels. Default: 3.
+ embed_dim (int): Number of linear projection output channels. Default: 96.
+ norm_layer (nn.Module, optional): Normalization layer. Default: None
+ """
+
+ def __init__(self, patch_size=4, in_chans=3, embed_dim=96, norm_layer=None):
+ super().__init__()
+ patch_size = to_2tuple(patch_size)
+ self.patch_size = patch_size
+
+ self.in_chans = in_chans
+ self.embed_dim = embed_dim
+
+ self.proj = nn.Conv2d(in_chans, embed_dim, kernel_size=patch_size, stride=patch_size)
+ if norm_layer is not None:
+ self.norm = norm_layer(embed_dim)
+ else:
+ self.norm = None
+
+ def forward(self, x):
+ """Forward function."""
+ # padding
+ _, _, H, W = x.size()
+ if W % self.patch_size[1] != 0:
+ x = F.pad(x, (0, self.patch_size[1] - W % self.patch_size[1]))
+ if H % self.patch_size[0] != 0:
+ x = F.pad(x, (0, 0, 0, self.patch_size[0] - H % self.patch_size[0]))
+
+ x = self.proj(x) # B C Wh Ww
+ if self.norm is not None:
+ Wh, Ww = x.size(2), x.size(3)
+ x = x.flatten(2).transpose(1, 2)
+ x = self.norm(x)
+ x = x.transpose(1, 2).view(-1, self.embed_dim, Wh, Ww)
+
+ return x
+
+
+class SwinTransformer(Backbone):
+ """ Swin Transformer backbone.
+ A PyTorch impl of : `Swin Transformer: Hierarchical Vision Transformer using Shifted Windows` -
+ https://arxiv.org/pdf/2103.14030
+ Args:
+ pretrain_img_size (int): Input image size for training the pretrained model,
+ used in absolute postion embedding. Default 224.
+ patch_size (int | tuple(int)): Patch size. Default: 4.
+ in_chans (int): Number of input image channels. Default: 3.
+ embed_dim (int): Number of linear projection output channels. Default: 96.
+ depths (tuple[int]): Depths of each Swin Transformer stage.
+ num_heads (tuple[int]): Number of attention head of each stage.
+ window_size (int): Window size. Default: 7.
+ mlp_ratio (float): Ratio of mlp hidden dim to embedding dim. Default: 4.
+ qkv_bias (bool): If True, add a learnable bias to query, key, value. Default: True
+ qk_scale (float): Override default qk scale of head_dim ** -0.5 if set.
+ drop_rate (float): Dropout rate.
+ attn_drop_rate (float): Attention dropout rate. Default: 0.
+ drop_path_rate (float): Stochastic depth rate. Default: 0.2.
+ norm_layer (nn.Module): Normalization layer. Default: nn.LayerNorm.
+ ape (bool): If True, add absolute position embedding to the patch embedding. Default: False.
+ patch_norm (bool): If True, add normalization after patch embedding. Default: True.
+ out_indices (Sequence[int]): Output from which stages.
+ frozen_stages (int): Stages to be frozen (stop grad and set eval mode).
+ -1 means not freezing any parameters.
+ use_checkpoint (bool): Whether to use checkpointing to save memory. Default: False.
+ """
+
+ def __init__(self,
+ pretrain_img_size=224,
+ patch_size=4,
+ in_chans=3,
+ embed_dim=96,
+ depths=[2, 2, 6, 2],
+ num_heads=[3, 6, 12, 24],
+ window_size=7,
+ mlp_ratio=4.,
+ qkv_bias=True,
+ qk_scale=None,
+ drop_rate=0.,
+ attn_drop_rate=0.,
+ drop_path_rate=0.2,
+ norm_layer=nn.LayerNorm,
+ ape=False,
+ patch_norm=True,
+ frozen_stages=-1,
+ use_checkpoint=False,
+ out_features=None):
+ super(SwinTransformer, self).__init__()
+
+ self.pretrain_img_size = pretrain_img_size
+ self.num_layers = len(depths)
+ self.embed_dim = embed_dim
+ self.ape = ape
+ self.patch_norm = patch_norm
+ self.frozen_stages = frozen_stages
+
+ self.out_features = out_features
+
+ # split image into non-overlapping patches
+ self.patch_embed = PatchEmbed(
+ patch_size=patch_size, in_chans=in_chans, embed_dim=embed_dim,
+ norm_layer=norm_layer if self.patch_norm else None)
+
+ # absolute position embedding
+ if self.ape:
+ pretrain_img_size = to_2tuple(pretrain_img_size)
+ patch_size = to_2tuple(patch_size)
+ patches_resolution = [pretrain_img_size[0] // patch_size[0], pretrain_img_size[1] // patch_size[1]]
+
+ self.absolute_pos_embed = nn.Parameter(torch.zeros(1, embed_dim, patches_resolution[0], patches_resolution[1]))
+ trunc_normal_(self.absolute_pos_embed, std=.02)
+
+ self.pos_drop = nn.Dropout(p=drop_rate)
+
+ # stochastic depth
+ dpr = [x.item() for x in torch.linspace(0, drop_path_rate, sum(depths))] # stochastic depth decay rule
+
+ self._out_feature_strides = {}
+ self._out_feature_channels = {}
+
+ # build layers
+ self.layers = nn.ModuleList()
+ for i_layer in range(self.num_layers):
+ layer = BasicLayer(
+ dim=int(embed_dim * 2 ** i_layer),
+ depth=depths[i_layer],
+ num_heads=num_heads[i_layer],
+ window_size=window_size,
+ mlp_ratio=mlp_ratio,
+ qkv_bias=qkv_bias,
+ qk_scale=qk_scale,
+ drop=drop_rate,
+ attn_drop=attn_drop_rate,
+ drop_path=dpr[sum(depths[:i_layer]):sum(depths[:i_layer + 1])],
+ norm_layer=norm_layer,
+ downsample=PatchMerging if (i_layer < self.num_layers - 1) else None,
+ use_checkpoint=use_checkpoint)
+ self.layers.append(layer)
+
+ stage = f'stage{i_layer+2}'
+ if stage in self.out_features:
+ self._out_feature_channels[stage] = embed_dim * 2 ** i_layer
+ self._out_feature_strides[stage] = 4 * 2 ** i_layer
+
+ num_features = [int(embed_dim * 2 ** i) for i in range(self.num_layers)]
+ self.num_features = num_features
+
+ # add a norm layer for each output
+ for i_layer in range(self.num_layers):
+ stage = f'stage{i_layer+2}'
+ if stage in self.out_features:
+ layer = norm_layer(num_features[i_layer])
+ layer_name = f'norm{i_layer}'
+ self.add_module(layer_name, layer)
+
+ self._freeze_stages()
+
+ def _freeze_stages(self):
+ if self.frozen_stages >= 0:
+ self.patch_embed.eval()
+ for param in self.patch_embed.parameters():
+ param.requires_grad = False
+
+ if self.frozen_stages >= 1 and self.ape:
+ self.absolute_pos_embed.requires_grad = False
+
+ if self.frozen_stages >= 2:
+ self.pos_drop.eval()
+ for i in range(0, self.frozen_stages - 1):
+ m = self.layers[i]
+ m.eval()
+ for param in m.parameters():
+ param.requires_grad = False
+
+ def init_weights(self, pretrained=None):
+ """Initialize the weights in backbone.
+ Args:
+ pretrained (str, optional): Path to pre-trained weights.
+ Defaults to None.
+ """
+
+ def _init_weights(m):
+ if isinstance(m, nn.Linear):
+ trunc_normal_(m.weight, std=.02)
+ if isinstance(m, nn.Linear) and m.bias is not None:
+ nn.init.constant_(m.bias, 0)
+ elif isinstance(m, nn.LayerNorm):
+ nn.init.constant_(m.bias, 0)
+ nn.init.constant_(m.weight, 1.0)
+
+ self.apply(_init_weights)
+
+ def forward(self, x):
+ """Forward function."""
+ x = self.patch_embed(x)
+
+ Wh, Ww = x.size(2), x.size(3)
+ if self.ape:
+ # interpolate the position embedding to the corresponding size
+ absolute_pos_embed = F.interpolate(self.absolute_pos_embed, size=(Wh, Ww), mode='bicubic')
+ x = (x + absolute_pos_embed).flatten(2).transpose(1, 2) # B Wh*Ww C
+ else:
+ x = x.flatten(2).transpose(1, 2)
+ x = self.pos_drop(x)
+
+ outs = {}
+ for i in range(self.num_layers):
+ layer = self.layers[i]
+ x_out, H, W, x, Wh, Ww = layer(x, Wh, Ww)
+ name = f'stage{i+2}'
+ if name in self.out_features:
+ norm_layer = getattr(self, f'norm{i}')
+ x_out = norm_layer(x_out)
+ out = x_out.view(-1, H, W, self.num_features[i]).permute(0, 3, 1, 2).contiguous()
+ outs[name] = out
+
+ return outs #{"stage%d" % (i+2,): out for i, out in enumerate(outs)} #tuple(outs)
+
+ def train(self, mode=True):
+ """Convert the model into training mode while keep layers freezed."""
+ super(SwinTransformer, self).train(mode)
+ self._freeze_stages()
+
+ def output_shape(self):
+ return {
+ name: ShapeSpec(
+ channels=self._out_feature_channels[name], stride=self._out_feature_strides[name]
+ )
+ for name in self.out_features
+ }
+
+@BACKBONE_REGISTRY.register()
+def build_swint_backbone(cfg, input_shape):
+ """
+ Create a SwinT instance from config.
+
+ Returns:
+ VoVNet: a :class:`VoVNet` instance.
+ """
+ out_features = cfg.MODEL.SWINT.OUT_FEATURES
+
+ return SwinTransformer(
+ patch_size=4,
+ in_chans=input_shape.channels,
+ embed_dim=cfg.MODEL.SWINT.EMBED_DIM,
+ depths=cfg.MODEL.SWINT.DEPTHS,
+ num_heads=cfg.MODEL.SWINT.NUM_HEADS,
+ window_size=cfg.MODEL.SWINT.WINDOW_SIZE,
+ mlp_ratio=cfg.MODEL.SWINT.MLP_RATIO,
+ qkv_bias=True,
+ qk_scale=None,
+ drop_rate=0.,
+ attn_drop_rate=0.,
+ drop_path_rate=cfg.MODEL.SWINT.DROP_PATH_RATE,
+ norm_layer=nn.LayerNorm,
+ ape=cfg.MODEL.SWINT.APE,
+ patch_norm=True,
+ frozen_stages=cfg.MODEL.BACKBONE.FREEZE_AT,
+ out_features=out_features
+ )
+
+
+@BACKBONE_REGISTRY.register()
+def build_swint_fpn_backbone(cfg, input_shape: ShapeSpec):
+ """
+ Args:
+ cfg: a detectron2 CfgNode
+
+ Returns:
+ backbone (Backbone): backbone module, must be a subclass of :class:`Backbone`.
+ """
+ bottom_up = build_swint_backbone(cfg, input_shape)
+ in_features = cfg.MODEL.FPN.IN_FEATURES
+ out_channels = cfg.MODEL.FPN.OUT_CHANNELS
+ backbone = FPN(
+ bottom_up=bottom_up,
+ in_features=in_features,
+ out_channels=out_channels,
+ norm=cfg.MODEL.FPN.NORM,
+ top_block=LastLevelMaxPool(),
+ fuse_type=cfg.MODEL.FPN.FUSE_TYPE,
+ )
+ return backbone
+
+class LastLevelP6(nn.Module):
+ """
+ This module is used in FCOS to generate extra layers
+ """
+
+ def __init__(self, in_channels, out_channels, in_features="res5"):
+ super().__init__()
+ self.num_levels = 1
+ self.in_feature = in_features
+ self.p6 = nn.Conv2d(in_channels, out_channels, 3, 2, 1)
+ for module in [self.p6]:
+ weight_init.c2_xavier_fill(module)
+
+ def forward(self, x):
+ p6 = self.p6(x)
+ return [p6]
+
+@BACKBONE_REGISTRY.register()
+def build_retinanet_swint_fpn_backbone(cfg, input_shape: ShapeSpec):
+ """
+ Args:
+ cfg: a detectron2 CfgNode
+
+ Returns:
+ backbone (Backbone): backbone module, must be a subclass of :class:`Backbone`.
+ """
+ bottom_up = build_swint_backbone(cfg, input_shape)
+ in_features = cfg.MODEL.FPN.IN_FEATURES
+ out_channels = cfg.MODEL.FPN.OUT_CHANNELS
+ top_levels = cfg.MODEL.FPN.TOP_LEVELS
+ in_channels_top = out_channels
+ if top_levels == 2:
+ top_block = LastLevelP6P7(in_channels_top, out_channels, "p5")
+ if top_levels == 1:
+ top_block = LastLevelP6(in_channels_top, out_channels, "p5")
+ elif top_levels == 0:
+ top_block = None
+ backbone = FPN(
+ bottom_up=bottom_up,
+ in_features=in_features,
+ out_channels=out_channels,
+ norm=cfg.MODEL.FPN.NORM,
+ top_block=top_block,
+ fuse_type=cfg.MODEL.FPN.FUSE_TYPE,
+ )
+ return backbone
diff --git a/opendet2/modeling/layers/__init__.py b/opendet2/modeling/layers/__init__.py
new file mode 100644
index 0000000..491a0d2
--- /dev/null
+++ b/opendet2/modeling/layers/__init__.py
@@ -0,0 +1,3 @@
+from .mlp import *
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
diff --git a/opendet2/modeling/layers/mlp.py b/opendet2/modeling/layers/mlp.py
new file mode 100644
index 0000000..aa714d0
--- /dev/null
+++ b/opendet2/modeling/layers/mlp.py
@@ -0,0 +1,46 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+import fvcore.nn.weight_init as weight_init
+
+
+class MLP(nn.Module):
+ def __init__(self, in_dim, out_dim, hidden_dim=None):
+ super().__init__()
+ if not hidden_dim:
+ hidden_dim = in_dim
+ self.head = nn.Sequential(
+ nn.Linear(in_dim, hidden_dim),
+ nn.ReLU(inplace=True),
+ nn.Linear(hidden_dim, out_dim),
+ )
+ for layer in self.head:
+ if isinstance(layer, nn.Linear):
+ weight_init.c2_xavier_fill(layer)
+
+ def forward(self, x):
+ feat = self.head(x)
+ feat_norm = F.normalize(feat, dim=1)
+ return feat_norm
+
+
+class ConvMLP(nn.Module):
+ def __init__(self, in_dim, out_dim, hidden_dim=None):
+ super().__init__()
+ if not hidden_dim:
+ hidden_dim = in_dim
+ self.head = nn.Sequential(
+ nn.Conv2d(in_dim, hidden_dim, kernel_size=3, stride=1, padding=1),
+ nn.ReLU(inplace=True),
+ nn.Conv2d(hidden_dim, out_dim, kernel_size=3, stride=1, padding=1),
+ )
+ # Initialization
+ for layer in self.head:
+ if isinstance(layer, nn.Conv2d):
+ torch.nn.init.normal_(layer.weight, mean=0, std=0.01)
+ torch.nn.init.constant_(layer.bias, 0)
+
+ def forward(self, x):
+ feat = self.head(x)
+ feat_norm = F.normalize(feat, dim=1)
+ return feat_norm
\ No newline at end of file
diff --git a/opendet2/modeling/losses/__init__.py b/opendet2/modeling/losses/__init__.py
new file mode 100644
index 0000000..a24abdf
--- /dev/null
+++ b/opendet2/modeling/losses/__init__.py
@@ -0,0 +1,4 @@
+from .unknown_probability_loss import UPLoss
+from .instance_contrastive_loss import ICLoss
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
\ No newline at end of file
diff --git a/opendet2/modeling/losses/instance_contrastive_loss.py b/opendet2/modeling/losses/instance_contrastive_loss.py
new file mode 100644
index 0000000..bad5320
--- /dev/null
+++ b/opendet2/modeling/losses/instance_contrastive_loss.py
@@ -0,0 +1,40 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+
+class ICLoss(nn.Module):
+ """ Instance Contrastive Loss
+ """
+ def __init__(self, tau=0.1):
+ super().__init__()
+ self.tau = tau
+
+ def forward(self, features, labels, queue_features, queue_labels):
+ device = features.device
+ mask = torch.eq(labels[:, None], queue_labels[:, None].T).float().to(device)
+
+ # compute logits
+ anchor_dot_contrast = torch.div(
+ torch.matmul(features, queue_features.T), self.tau)
+
+ # for numerical stability
+ logits_max, _ = torch.max(anchor_dot_contrast, dim=1, keepdim=True)
+ logits = anchor_dot_contrast - logits_max.detach()
+
+ logits_mask = torch.ones_like(logits)
+ # mask itself
+ logits_mask[logits == 0] = 0
+
+ mask = mask * logits_mask
+
+ # compute log_prob
+ exp_logits = torch.exp(logits) * logits_mask
+ log_prob = logits - torch.log(exp_logits.sum(1, keepdim=True))
+
+ # compute mean of log-likelihood over positive
+ mean_log_prob_pos = (mask * log_prob).sum(1) / mask.sum(1)
+ # loss
+ loss = - mean_log_prob_pos.mean()
+ # trick: avoid loss nan
+ return loss if not torch.isnan(loss) else features.new_tensor(0.0)
diff --git a/opendet2/modeling/losses/unknown_probability_loss.py b/opendet2/modeling/losses/unknown_probability_loss.py
new file mode 100644
index 0000000..c5adbae
--- /dev/null
+++ b/opendet2/modeling/losses/unknown_probability_loss.py
@@ -0,0 +1,93 @@
+
+import torch
+import torch.distributions as dists
+import torch.nn as nn
+import torch.nn.functional as F
+from torch import Tensor
+
+
+class UPLoss(nn.Module):
+ """Unknown Probability Loss
+ """
+
+ def __init__(self,
+ num_classes: int,
+ sampling_metric: str = "min_score",
+ topk: int = 3,
+ alpha: float = 1.0):
+ super().__init__()
+ self.num_classes = num_classes
+ assert sampling_metric in ["min_score", "max_entropy", "random"]
+ self.sampling_metric = sampling_metric
+ # if topk==-1, sample len(fg)*2 examples
+ self.topk = topk
+ self.alpha = alpha
+
+ def _soft_cross_entropy(self, input: Tensor, target: Tensor):
+ logprobs = F.log_softmax(input, dim=1)
+ return -(target * logprobs).sum() / input.shape[0]
+
+ def _sampling(self, scores: Tensor, labels: Tensor):
+ fg_inds = labels != self.num_classes
+ fg_scores, fg_labels = scores[fg_inds], labels[fg_inds]
+ bg_scores, bg_labels = scores[~fg_inds], labels[~fg_inds]
+
+ # remove unknown classes
+ _fg_scores = torch.cat(
+ [fg_scores[:, :self.num_classes-1], fg_scores[:, -1:]], dim=1)
+ _bg_scores = torch.cat(
+ [bg_scores[:, :self.num_classes-1], bg_scores[:, -1:]], dim=1)
+
+ num_fg = fg_scores.size(0)
+ topk = num_fg if (self.topk == -1) or (num_fg <
+ self.topk) else self.topk
+ # use maximum entropy as a metric for uncertainty
+ # we select topk proposals with maximum entropy
+ if self.sampling_metric == "max_entropy":
+ pos_metric = dists.Categorical(
+ _fg_scores.softmax(dim=1)).entropy()
+ neg_metric = dists.Categorical(
+ _bg_scores.softmax(dim=1)).entropy()
+ # use minimum score as a metric for uncertainty
+ # we select topk proposals with minimum max-score
+ elif self.sampling_metric == "min_score":
+ pos_metric = -_fg_scores.max(dim=1)[0]
+ neg_metric = -_bg_scores.max(dim=1)[0]
+ # we randomly select topk proposals
+ elif self.sampling_metric == "random":
+ pos_metric = torch.rand(_fg_scores.size(0),).to(scores.device)
+ neg_metric = torch.rand(_bg_scores.size(0),).to(scores.device)
+
+ _, pos_inds = pos_metric.topk(topk)
+ _, neg_inds = neg_metric.topk(topk)
+ fg_scores, fg_labels = fg_scores[pos_inds], fg_labels[pos_inds]
+ bg_scores, bg_labels = bg_scores[neg_inds], bg_labels[neg_inds]
+
+ return fg_scores, bg_scores, fg_labels, bg_labels
+
+ def forward(self, scores: Tensor, labels: Tensor):
+ fg_scores, bg_scores, fg_labels, bg_labels = self._sampling(
+ scores, labels)
+ # sample both fg and bg
+ scores = torch.cat([fg_scores, bg_scores])
+ labels = torch.cat([fg_labels, bg_labels])
+
+ num_sample, num_classes = scores.shape
+ mask = torch.arange(num_classes).repeat(
+ num_sample, 1).to(scores.device)
+ inds = mask != labels[:, None].repeat(1, num_classes)
+ mask = mask[inds].reshape(num_sample, num_classes-1)
+
+ gt_scores = torch.gather(
+ F.softmax(scores, dim=1), 1, labels[:, None]).squeeze(1)
+ mask_scores = torch.gather(scores, 1, mask)
+
+ gt_scores[gt_scores < 0] = 0.0
+ targets = torch.zeros_like(mask_scores)
+ num_fg = fg_scores.size(0)
+ targets[:num_fg, self.num_classes-2] = gt_scores[:num_fg] * \
+ (1-gt_scores[:num_fg]).pow(self.alpha)
+ targets[num_fg:, self.num_classes-1] = gt_scores[num_fg:] * \
+ (1-gt_scores[num_fg:]).pow(self.alpha)
+
+ return self._soft_cross_entropy(mask_scores, targets.detach())
diff --git a/opendet2/modeling/meta_arch/__init__.py b/opendet2/modeling/meta_arch/__init__.py
new file mode 100644
index 0000000..8b336b1
--- /dev/null
+++ b/opendet2/modeling/meta_arch/__init__.py
@@ -0,0 +1,3 @@
+from .retinanet import OpenSetRetinaNet
+
+__all__ = list(globals().keys())
diff --git a/opendet2/modeling/meta_arch/retinanet.py b/opendet2/modeling/meta_arch/retinanet.py
new file mode 100644
index 0000000..dc013bf
--- /dev/null
+++ b/opendet2/modeling/meta_arch/retinanet.py
@@ -0,0 +1,483 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import logging
+from typing import Dict, List, Tuple
+
+import numpy as np
+import torch
+import torch.distributions as dists
+from detectron2.config import configurable
+from detectron2.layers import ShapeSpec, cat, cross_entropy
+from detectron2.modeling import META_ARCH_REGISTRY
+from detectron2.modeling.box_regression import _dense_box_regression_loss
+from detectron2.modeling.meta_arch.retinanet import RetinaNet, RetinaNetHead
+from detectron2.modeling.postprocessing import detector_postprocess
+from detectron2.structures import Boxes, Instances, pairwise_iou
+from detectron2.utils.events import get_event_storage
+from fvcore.nn import sigmoid_focal_loss_jit
+from torch import Tensor, nn
+from torch.nn import functional as F
+
+from ..layers import ConvMLP
+from ..losses import ICLoss
+
+logger = logging.getLogger(__name__)
+
+
+def permute_to_N_HWA_K(tensor, K: int):
+ """
+ Transpose/reshape a tensor from (N, (Ai x K), H, W) to (N, (HxWxAi), K)
+ """
+ assert tensor.dim() == 4, tensor.shape
+ N, _, H, W = tensor.shape
+ tensor = tensor.view(N, -1, K, H, W)
+ tensor = tensor.permute(0, 3, 4, 1, 2)
+ tensor = tensor.reshape(N, -1, K) # Size=(N,HWA,K)
+ return tensor
+
+
+class UPLoss(nn.Module):
+ """Unknown Probability Loss for RetinaNet
+ """
+
+ def __init__(self,
+ num_classes: int,
+ sampling_metric: str = "min_score",
+ topk: int = 3,
+ alpha: float = 1.0):
+ super().__init__()
+ self.num_classes = num_classes
+ assert sampling_metric in ["min_score", "max_entropy", "random"]
+ self.sampling_metric = sampling_metric
+ # if topk==-1, sample len(fg)*2 examples
+ self.topk = topk
+ self.alpha = alpha
+
+ def _soft_cross_entropy(self, input: Tensor, target: Tensor):
+ logprobs = F.log_softmax(input, dim=1)
+ return -(target * logprobs).sum() / input.shape[0]
+
+ def _sampling(self, scores: Tensor, labels: Tensor):
+ fg_inds = labels != self.num_classes
+ fg_scores, fg_labels = scores[fg_inds], labels[fg_inds]
+
+ # remove unknown classes
+ _fg_scores = torch.cat(
+ [fg_scores[:, :self.num_classes-1], fg_scores[:, -1:]], dim=1)
+
+ num_fg = fg_scores.size(0)
+ topk = num_fg if (self.topk == -1) or (num_fg <
+ self.topk) else self.topk
+ # use maximum entropy as a metric for uncertainty
+ # we select topk proposals with maximum entropy
+ if self.sampling_metric == "max_entropy":
+ pos_metric = dists.Categorical(
+ _fg_scores.softmax(dim=1)).entropy()
+ # use minimum score as a metric for uncertainty
+ # we select topk proposals with minimum max-score
+ elif self.sampling_metric == "min_score":
+ pos_metric = -_fg_scores.max(dim=1)[0]
+ # we randomly select topk proposals
+ elif self.sampling_metric == "random":
+ pos_metric = torch.rand(_fg_scores.size(0),).to(scores.device)
+
+ _, pos_inds = pos_metric.topk(topk)
+ fg_scores, fg_labels = fg_scores[pos_inds], fg_labels[pos_inds]
+
+ return fg_scores, fg_labels
+
+ def forward(self, scores: Tensor, labels: Tensor):
+ scores, labels = self._sampling(scores, labels)
+
+ num_sample, num_classes = scores.shape
+ mask = torch.arange(num_classes).repeat(
+ num_sample, 1).to(scores.device)
+ inds = mask != labels[:, None].repeat(1, num_classes)
+ mask = mask[inds].reshape(num_sample, num_classes-1)
+
+ gt_scores = torch.gather(
+ F.softmax(scores, dim=1), 1, labels[:, None]).squeeze(1)
+ mask_scores = torch.gather(scores, 1, mask)
+
+ gt_scores[gt_scores < 0] = 0.0
+ targets = torch.zeros_like(mask_scores)
+ targets[:, self.num_classes-2] = gt_scores * \
+ (1-gt_scores).pow(self.alpha)
+
+ return self._soft_cross_entropy(mask_scores, targets.detach())
+
+
+@META_ARCH_REGISTRY.register()
+class OpenSetRetinaNet(RetinaNet):
+ """
+ Implement RetinaNet in :paper:`RetinaNet`.
+ """
+
+ @configurable
+ def __init__(
+ self,
+ num_known_classes,
+ max_iters,
+ up_loss_start_iter,
+ up_loss_sampling_metric,
+ up_loss_topk,
+ up_loss_alpha,
+ up_loss_weight,
+ ins_con_out_dim,
+ ins_con_queue_size,
+ ins_con_in_queue_size,
+ ins_con_batch_iou_thr,
+ ins_con_queue_iou_thr,
+ ins_con_queue_tau,
+ ins_con_loss_weight,
+ *args,
+ **kargs,
+ ):
+ super().__init__(*args, **kargs)
+ self.num_known_classes = num_known_classes
+ self.max_iters = max_iters
+
+ self.up_loss = UPLoss(
+ self.num_classes,
+ sampling_metric=up_loss_sampling_metric,
+ topk=up_loss_topk,
+ alpha=up_loss_alpha
+ )
+ self.up_loss_start_iter = up_loss_start_iter
+ self.up_loss_weight = up_loss_weight
+
+ self.ins_con_loss = ICLoss(tau=ins_con_queue_tau)
+ self.ins_con_out_dim = ins_con_out_dim
+ self.ins_con_queue_size = ins_con_queue_size
+ self.ins_con_in_queue_size = ins_con_in_queue_size
+ self.ins_con_batch_iou_thr = ins_con_batch_iou_thr
+ self.ins_con_queue_iou_thr = ins_con_queue_iou_thr
+ self.ins_con_loss_weight = ins_con_loss_weight
+
+ self.register_buffer('queue', torch.zeros(
+ self.num_known_classes, ins_con_queue_size, ins_con_out_dim))
+ self.register_buffer('queue_label', torch.empty(
+ self.num_known_classes, ins_con_queue_size).fill_(-1).long())
+ self.register_buffer('queue_ptr', torch.zeros(
+ self.num_known_classes, dtype=torch.long))
+
+ @classmethod
+ def from_config(cls, cfg):
+ ret = super().from_config(cfg)
+ backbone_shape = ret["backbone"].output_shape()
+ feature_shapes = [backbone_shape[f] for f in cfg.MODEL.RETINANET.IN_FEATURES]
+ head = OpenSetRetinaNetHead(cfg, feature_shapes)
+ ret.update({
+ "head": head,
+ "num_known_classes": cfg.MODEL.ROI_HEADS.NUM_KNOWN_CLASSES,
+ "max_iters": cfg.SOLVER.MAX_ITER,
+
+ "up_loss_start_iter": cfg.UPLOSS.START_ITER,
+ "up_loss_sampling_metric": cfg.UPLOSS.SAMPLING_METRIC,
+ "up_loss_topk": cfg.UPLOSS.TOPK,
+ "up_loss_alpha": cfg.UPLOSS.ALPHA,
+ "up_loss_weight": cfg.UPLOSS.WEIGHT,
+
+ "ins_con_out_dim": cfg.ICLOSS.OUT_DIM,
+ "ins_con_queue_size": cfg.ICLOSS.QUEUE_SIZE,
+ "ins_con_in_queue_size": cfg.ICLOSS.IN_QUEUE_SIZE,
+ "ins_con_batch_iou_thr": cfg.ICLOSS.BATCH_IOU_THRESH,
+ "ins_con_queue_iou_thr": cfg.ICLOSS.QUEUE_IOU_THRESH,
+ "ins_con_queue_tau": cfg.ICLOSS.TEMPERATURE,
+ "ins_con_loss_weight": cfg.ICLOSS.WEIGHT,
+ })
+ return ret
+
+ def get_up_loss(self, scores, gt_classes):
+ # start up loss after warmup iters
+ storage = get_event_storage()
+ if storage.iter > self.up_loss_start_iter:
+ loss_cls_up = self.up_loss(scores, gt_classes)
+ else:
+ loss_cls_up = scores.new_tensor(0.0)
+
+ return self.up_loss_weight * loss_cls_up
+
+ def get_ins_con_loss(self, feat, gt_classes, ious):
+ # select foreground and iou > thr instance in a mini-batch
+ pos_inds = (ious > self.ins_con_batch_iou_thr) & (
+ gt_classes != self.num_classes)
+
+ if not pos_inds.sum():
+ return feat.new_tensor(0.0)
+
+ feat, gt_classes = feat[pos_inds], gt_classes[pos_inds]
+
+ queue = self.queue.reshape(-1, self.ins_con_out_dim)
+ queue_label = self.queue_label.reshape(-1)
+ queue_inds = queue_label != -1 # filter empty queue
+ queue, queue_label = queue[queue_inds], queue_label[queue_inds]
+
+ loss_ins_con = self.ins_con_loss(feat, gt_classes, queue, queue_label)
+ # loss decay
+ storage = get_event_storage()
+ decay_weight = 1.0 - storage.iter / self.max_iters
+ return self.ins_con_loss_weight * decay_weight * loss_ins_con
+
+ @ torch.no_grad()
+ def _dequeue_and_enqueue(self, feat, gt_classes, ious, iou_thr=0.7):
+ # 1. gather variable
+ # feat = self.concat_all_gather(feat)
+ # gt_classes = self.concat_all_gather(gt_classes)
+ # ious = self.concat_all_gather(ious)
+ # 2. filter by iou and obj, remove bg
+ keep = (ious > iou_thr) & (gt_classes != self.num_classes)
+ feat, gt_classes = feat[keep], gt_classes[keep]
+
+ for i in range(self.num_known_classes):
+ ptr = int(self.queue_ptr[i])
+ cls_ind = gt_classes == i
+ cls_feat, cls_gt_classes = feat[cls_ind], gt_classes[cls_ind]
+ # 3. sort by similarity, low sim ranks first
+ cls_queue = self.queue[i, self.queue_label[i] != -1]
+ _, sim_inds = F.cosine_similarity(
+ cls_feat[:, None], cls_queue[None, :], dim=-1).mean(dim=1).sort()
+ top_sim_inds = sim_inds[:self.ins_con_in_queue_size]
+ cls_feat, cls_gt_classes = cls_feat[top_sim_inds], cls_gt_classes[top_sim_inds]
+ # 4. in queue
+ batch_size = cls_feat.size(
+ 0) if ptr + cls_feat.size(0) <= self.ins_con_queue_size else self.ins_con_queue_size - ptr
+ self.queue[i, ptr:ptr+batch_size] = cls_feat[:batch_size]
+ self.queue_label[i, ptr:ptr +
+ batch_size] = cls_gt_classes[:batch_size]
+
+ ptr = ptr + batch_size if ptr + batch_size < self.ins_con_queue_size else 0
+ self.queue_ptr[i] = ptr
+
+ @ torch.no_grad()
+ def concat_all_gather(self, tensor):
+ tensors_gather = [torch.ones_like(tensor) for _ in range(
+ torch.distributed.get_world_size())]
+ torch.distributed.all_gather(tensors_gather, tensor, async_op=False)
+ output = torch.cat(tensors_gather, dim=0)
+ return output
+
+ def forward(self, batched_inputs: List[Dict[str, Tensor]]):
+ """
+ Args:
+ batched_inputs: a list, batched outputs of :class:`DatasetMapper` .
+ Each item in the list contains the inputs for one image.
+ For now, each item in the list is a dict that contains:
+
+ * image: Tensor, image in (C, H, W) format.
+ * instances: Instances
+
+ Other information that's included in the original dicts, such as:
+
+ * "height", "width" (int): the output resolution of the model, used in inference.
+ See :meth:`postprocess` for details.
+ Returns:
+ In training, dict[str, Tensor]: mapping from a named loss to a tensor storing the
+ loss. Used during training only. In inference, the standard output format, described
+ in :doc:`/tutorials/models`.
+ """
+ images = self.preprocess_image(batched_inputs)
+ features = self.backbone(images.tensor)
+ features = [features[f] for f in self.head_in_features]
+
+ anchors = self.anchor_generator(features)
+ pred_logits, pred_anchor_deltas, pred_mlp_feats = self.head(features)
+ # Transpose the Hi*Wi*A dimension to the middle:
+ pred_logits = [permute_to_N_HWA_K(
+ x, self.num_classes) for x in pred_logits]
+ pred_anchor_deltas = [permute_to_N_HWA_K(
+ x, 4) for x in pred_anchor_deltas]
+ pred_mlp_feats = [permute_to_N_HWA_K(
+ x, self.ins_con_out_dim) for x in pred_mlp_feats]
+
+ if self.training:
+ assert not torch.jit.is_scripting(), "Not supported"
+ assert "instances" in batched_inputs[0], "Instance annotations are missing in training!"
+ gt_instances = [x["instances"].to(
+ self.device) for x in batched_inputs]
+
+ gt_labels, gt_boxes, gt_ious = self.label_anchors(
+ anchors, gt_instances)
+ losses = self.losses(anchors, pred_logits, pred_mlp_feats,
+ gt_labels, pred_anchor_deltas, gt_boxes, gt_ious)
+
+ if self.vis_period > 0:
+ storage = get_event_storage()
+ if storage.iter % self.vis_period == 0:
+ results = self.inference(
+ anchors, pred_logits, pred_anchor_deltas, images.image_sizes
+ )
+ self.visualize_training(batched_inputs, results)
+
+ return losses
+ else:
+ results = self.inference(
+ anchors, pred_logits, pred_anchor_deltas, images.image_sizes)
+ if torch.jit.is_scripting():
+ return results
+ processed_results = []
+ for results_per_image, input_per_image, image_size in zip(
+ results, batched_inputs, images.image_sizes
+ ):
+ height = input_per_image.get("height", image_size[0])
+ width = input_per_image.get("width", image_size[1])
+ r = detector_postprocess(results_per_image, height, width)
+ processed_results.append({"instances": r})
+ return processed_results
+
+ def losses(self, anchors, pred_logits, pred_mlp_feats, gt_labels, pred_anchor_deltas, gt_boxes, gt_ious):
+ """
+ Args:
+ anchors (list[Boxes]): a list of #feature level Boxes
+ gt_labels, gt_boxes: see output of :meth:`RetinaNet.label_anchors`.
+ Their shapes are (N, R) and (N, R, 4), respectively, where R is
+ the total number of anchors across levels, i.e. sum(Hi x Wi x Ai)
+ pred_logits, pred_anchor_deltas: both are list[Tensor]. Each element in the
+ list corresponds to one level and has shape (N, Hi * Wi * Ai, K or 4).
+ Where K is the number of classes used in `pred_logits`.
+
+ Returns:
+ dict[str, Tensor]:
+ mapping from a named loss to a scalar tensor
+ storing the loss. Used during training only. The dict keys are:
+ "loss_cls" and "loss_box_reg"
+ """
+ num_images = len(gt_labels)
+ gt_labels = torch.stack(gt_labels) # (N, R)
+
+ valid_mask = gt_labels >= 0
+ pos_mask = (gt_labels >= 0) & (gt_labels != self.num_classes)
+ num_pos_anchors = pos_mask.sum().item()
+ get_event_storage().put_scalar("num_pos_anchors", num_pos_anchors / num_images)
+ self.loss_normalizer = self.loss_normalizer_momentum * self.loss_normalizer + (
+ 1 - self.loss_normalizer_momentum
+ ) * max(num_pos_anchors, 1)
+
+ # classification and regression loss
+ gt_labels_target = F.one_hot(gt_labels[valid_mask], num_classes=self.num_classes + 1)[
+ :, :-1
+ ] # no loss for the last (background) class
+
+ loss_cls_ce = sigmoid_focal_loss_jit(
+ cat(pred_logits, dim=1)[valid_mask],
+ gt_labels_target.to(pred_logits[0].dtype),
+ alpha=self.focal_loss_alpha,
+ gamma=self.focal_loss_gamma,
+ reduction="sum",
+ )
+
+ loss_cls_up = self.get_up_loss(cat(pred_logits, dim=1)[
+ valid_mask], gt_labels[valid_mask])
+
+ gt_ious = torch.stack(gt_ious)
+ # we first store feats in the queue, then cmopute the loss
+ pred_mlp_feats = cat(pred_mlp_feats, dim=1)[valid_mask] # [N, *, 128]
+ # [N*, 128]
+ pred_mlp_feats = pred_mlp_feats.reshape(-1, pred_mlp_feats.shape[-1])
+ self._dequeue_and_enqueue(
+ pred_mlp_feats, gt_labels[valid_mask], gt_ious[valid_mask], iou_thr=self.ins_con_queue_iou_thr)
+ loss_ins_con = self.get_ins_con_loss(
+ pred_mlp_feats, gt_labels[valid_mask], gt_ious[valid_mask])
+
+ loss_box_reg = _dense_box_regression_loss(
+ anchors,
+ self.box2box_transform,
+ pred_anchor_deltas,
+ gt_boxes,
+ pos_mask,
+ box_reg_loss_type=self.box_reg_loss_type,
+ smooth_l1_beta=self.smooth_l1_beta,
+ )
+
+ return {
+ "loss_cls_ce": loss_cls_ce / self.loss_normalizer,
+ "loss_box_reg": loss_box_reg / self.loss_normalizer,
+ "loss_ins_con": loss_ins_con,
+ "loss_cls_up": loss_cls_up,
+ }
+
+ @torch.no_grad()
+ def label_anchors(self, anchors, gt_instances):
+
+ anchors = Boxes.cat(anchors) # Rx4
+
+ gt_labels = []
+ matched_gt_boxes = []
+ matched_gt_ious = []
+ for gt_per_image in gt_instances:
+ match_quality_matrix = pairwise_iou(gt_per_image.gt_boxes, anchors)
+ matched_idxs, anchor_labels = self.anchor_matcher(
+ match_quality_matrix)
+ # del match_quality_matrix
+
+ if len(gt_per_image) > 0:
+ matched_gt_boxes_i = gt_per_image.gt_boxes.tensor[matched_idxs]
+ matched_gt_ious_i = match_quality_matrix.max(dim=1)[
+ 0][matched_idxs]
+
+ gt_labels_i = gt_per_image.gt_classes[matched_idxs]
+ # Anchors with label 0 are treated as background.
+ gt_labels_i[anchor_labels == 0] = self.num_classes
+ # Anchors with label -1 are ignored.
+ gt_labels_i[anchor_labels == -1] = -1
+ else:
+ matched_gt_boxes_i = torch.zeros_like(anchors.tensor)
+ matched_gt_ious_i = torch.zeros_like(matched_idxs)
+ gt_labels_i = torch.zeros_like(matched_idxs) + self.num_classes
+
+ gt_labels.append(gt_labels_i)
+ matched_gt_boxes.append(matched_gt_boxes_i)
+ matched_gt_ious.append(matched_gt_ious_i)
+
+ del match_quality_matrix
+
+ return gt_labels, matched_gt_boxes, matched_gt_ious
+
+
+class OpenSetRetinaNetHead(RetinaNetHead):
+ """
+ The head used in RetinaNet for object classification and box regression.
+ It has two subnets for the two tasks, with a common structure but separate parameters.
+ """
+
+ @configurable
+ def __init__(
+ self,
+ *args,
+ ins_con_out_dim,
+ **kargs
+ ):
+ super().__init__(*args, **kargs)
+ self.mlp = ConvMLP(kargs["conv_dims"][-1], ins_con_out_dim * kargs["num_anchors"])
+
+ @classmethod
+ def from_config(cls, cfg, input_shape: List[ShapeSpec]):
+ ret = super().from_config(cfg, input_shape)
+ ret["ins_con_out_dim"] = cfg.ICLOSS.OUT_DIM
+ return ret
+
+ def forward(self, features: List[Tensor]):
+ """
+ Arguments:
+ features (list[Tensor]): FPN feature map tensors in high to low resolution.
+ Each tensor in the list correspond to different feature levels.
+
+ Returns:
+ logits (list[Tensor]): #lvl tensors, each has shape (N, AxK, Hi, Wi).
+ The tensor predicts the classification probability
+ at each spatial position for each of the A anchors and K object
+ classes.
+ bbox_reg (list[Tensor]): #lvl tensors, each has shape (N, Ax4, Hi, Wi).
+ The tensor predicts 4-vector (dx,dy,dw,dh) box
+ regression values for every anchor. These values are the
+ relative offset between the anchor and the ground truth box.
+ """
+ logits = []
+ mlp_feats = []
+ bbox_reg = []
+ for feature in features:
+ cls_feat = self.cls_subnet(feature)
+ mlp_feats.append(self.mlp(cls_feat))
+ logits.append(self.cls_score(cls_feat))
+
+ bbox_reg.append(self.bbox_pred(self.bbox_subnet(feature)))
+ return logits, bbox_reg, mlp_feats
diff --git a/opendet2/modeling/roi_heads/__init__.py b/opendet2/modeling/roi_heads/__init__.py
new file mode 100644
index 0000000..546b918
--- /dev/null
+++ b/opendet2/modeling/roi_heads/__init__.py
@@ -0,0 +1,4 @@
+from .roi_heads import OpenSetStandardROIHeads
+from .box_head import FastRCNNSeparateConvFCHead, FastRCNNSeparateDropoutConvFCHead
+
+__all__ = list(globals().keys())
diff --git a/opendet2/modeling/roi_heads/box_head.py b/opendet2/modeling/roi_heads/box_head.py
new file mode 100644
index 0000000..6dc4d19
--- /dev/null
+++ b/opendet2/modeling/roi_heads/box_head.py
@@ -0,0 +1,163 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+from typing import List
+
+import fvcore.nn.weight_init as weight_init
+import numpy as np
+import torch
+from detectron2.config import configurable
+from detectron2.layers import Conv2d, ShapeSpec, get_norm
+from detectron2.modeling.roi_heads import ROI_BOX_HEAD_REGISTRY
+from detectron2.utils.registry import Registry
+from torch import nn
+
+
+@ROI_BOX_HEAD_REGISTRY.register()
+class FastRCNNSeparateConvFCHead(nn.Module):
+ """
+ FastRCNN with separate ConvFC layers
+ """
+
+ @configurable
+ def __init__(
+ self, input_shape: ShapeSpec, *, conv_dims: List[int], fc_dims: List[int], conv_norm=""
+ ):
+ """
+ NOTE: this interface is experimental.
+
+ Args:
+ input_shape (ShapeSpec): shape of the input feature.
+ conv_dims (list[int]): the output dimensions of the conv layers
+ fc_dims (list[int]): the output dimensions of the fc layers
+ conv_norm (str or callable): normalization for the conv layers.
+ See :func:`detectron2.layers.get_norm` for supported types.
+ """
+ super().__init__()
+ assert len(conv_dims) + len(fc_dims) > 0
+ self.conv_dims = conv_dims
+ self.fc_dims = fc_dims
+
+ self._output_size = (input_shape.channels,
+ input_shape.height, input_shape.width)
+
+ self.reg_conv_norm_relus = self._add_conv_norm_relus(
+ self._output_size[0], conv_dims, conv_norm)
+ self.cls_conv_norm_relus = self._add_conv_norm_relus(
+ self._output_size[0], conv_dims, conv_norm)
+ conv_dim = self._output_size[0] if len(conv_dims) == 0 else conv_dims[-1]
+ self._output_size = (
+ conv_dim, self._output_size[1], self._output_size[2])
+
+ self.reg_fcs = self._add_fcs(np.prod(self._output_size), fc_dims)
+ self.cls_fcs = self._add_fcs(np.prod(self._output_size), fc_dims)
+ self._output_size = self._output_size if len(fc_dims)==0 else fc_dims[-1]
+
+ for layer in self.reg_conv_norm_relus:
+ weight_init.c2_msra_fill(layer)
+ for layer in self.cls_conv_norm_relus:
+ weight_init.c2_msra_fill(layer)
+ for layer in self.cls_fcs:
+ if isinstance(layer, nn.Linear):
+ weight_init.c2_xavier_fill(layer)
+ for layer in self.reg_fcs:
+ if isinstance(layer, nn.Linear):
+ weight_init.c2_xavier_fill(layer)
+
+ @classmethod
+ def from_config(cls, cfg, input_shape):
+ num_conv = cfg.MODEL.ROI_BOX_HEAD.NUM_CONV
+ conv_dim = cfg.MODEL.ROI_BOX_HEAD.CONV_DIM
+ num_fc = cfg.MODEL.ROI_BOX_HEAD.NUM_FC
+ fc_dim = cfg.MODEL.ROI_BOX_HEAD.FC_DIM
+ return {
+ "input_shape": input_shape,
+ "conv_dims": [conv_dim] * num_conv,
+ "fc_dims": [fc_dim] * num_fc,
+ "conv_norm": cfg.MODEL.ROI_BOX_HEAD.NORM,
+ }
+
+ def _add_conv_norm_relus(self, input_dim, conv_dims, conv_norm):
+ conv_norm_relus = []
+ for k, conv_dim in enumerate(conv_dims):
+ conv = Conv2d(
+ input_dim,
+ conv_dim,
+ kernel_size=3,
+ padding=1,
+ bias=not conv_norm,
+ norm=get_norm(conv_norm, conv_dim),
+ activation=nn.ReLU(),
+ )
+ input_dim = conv_dim
+ conv_norm_relus.append(conv)
+
+ return nn.Sequential(*conv_norm_relus)
+
+ def _add_fcs(self, input_dim, fc_dims):
+ fcs = []
+ for k, fc_dim in enumerate(fc_dims):
+ if k == 0:
+ fcs.append(nn.Flatten())
+ fc = nn.Linear(int(input_dim), fc_dim)
+ fcs.append(fc)
+ fcs.append(nn.ReLU())
+ input_dim = fc_dim
+ return nn.Sequential(*fcs)
+
+ def forward(self, x):
+ reg_feat = x
+ cls_feat = x
+ if len(self.conv_dims) > 0:
+ reg_feat = self.reg_conv_norm_relus(x)
+ cls_feat = self.cls_conv_norm_relus(x)
+ if len(self.fc_dims) > 0:
+ reg_feat = self.reg_fcs(reg_feat)
+ cls_feat = self.cls_fcs(cls_feat)
+ return reg_feat, cls_feat
+
+ @property
+ @torch.jit.unused
+ def output_shape(self):
+ """
+ Returns:
+ ShapeSpec: the output feature shape
+ """
+ o = self._output_size
+ if isinstance(o, int):
+ return ShapeSpec(channels=o)
+ else:
+ return ShapeSpec(channels=o[0], height=o[1], width=o[2])
+
+
+@ROI_BOX_HEAD_REGISTRY.register()
+class FastRCNNSeparateDropoutConvFCHead(nn.Module):
+ """Add dropout before each conv/fc layer
+ """
+ def _add_conv_norm_relus(self, input_dim, conv_dims, conv_norm):
+ conv_norm_relus = []
+ for k, conv_dim in enumerate(conv_dims):
+ conv = Conv2d(
+ input_dim,
+ conv_dim,
+ kernel_size=3,
+ padding=1,
+ bias=not conv_norm,
+ norm=get_norm(conv_norm, conv_dim),
+ activation=nn.ReLU(),
+ )
+ input_dim = conv_dim
+ conv_norm_relus.append(nn.Dropout2d(p=0.5))
+ conv_norm_relus.append(conv)
+
+ return nn.Sequential(*conv_norm_relus)
+
+ def _add_fcs(self, input_dim, fc_dims):
+ fcs = []
+ for k, fc_dim in enumerate(fc_dims):
+ if k == 0:
+ fcs.append(nn.Flatten())
+ fc = nn.Linear(int(input_dim), fc_dim)
+ fcs.append(nn.Dropout2d(p=0.5))
+ fcs.append(fc)
+ fcs.append(nn.ReLU())
+ input_dim = fc_dim
+ return nn.Sequential(*fcs)
diff --git a/opendet2/modeling/roi_heads/fast_rcnn.py b/opendet2/modeling/roi_heads/fast_rcnn.py
new file mode 100644
index 0000000..6cfb516
--- /dev/null
+++ b/opendet2/modeling/roi_heads/fast_rcnn.py
@@ -0,0 +1,645 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import itertools
+import logging
+import math
+import os
+import random
+from typing import Dict, List, Tuple, Union
+
+import numpy as np
+import torch
+import torch.distributions as dists
+from detectron2.config import configurable
+from detectron2.layers import (ShapeSpec, batched_nms, cat, cross_entropy,
+ nonzero_tuple)
+from detectron2.modeling.box_regression import Box2BoxTransform
+from detectron2.modeling.roi_heads.fast_rcnn import (FastRCNNOutputLayers,
+ _log_classification_stats)
+from detectron2.structures import Boxes, Instances, pairwise_iou
+from detectron2.structures.boxes import matched_boxlist_iou
+# fast_rcnn_inference)
+from detectron2.utils import comm
+from detectron2.utils.events import get_event_storage
+from detectron2.utils.registry import Registry
+from fvcore.nn import giou_loss, smooth_l1_loss
+from torch import nn
+from torch.nn import functional as F
+
+from ..layers import MLP
+from ..losses import ICLoss, UPLoss
+
+ROI_BOX_OUTPUT_LAYERS_REGISTRY = Registry("ROI_BOX_OUTPUT_LAYERS")
+ROI_BOX_OUTPUT_LAYERS_REGISTRY.__doc__ = """
+ROI_BOX_OUTPUT_LAYERS
+"""
+
+
+def fast_rcnn_inference(
+ boxes: List[torch.Tensor],
+ scores: List[torch.Tensor],
+ image_shapes: List[Tuple[int, int]],
+ score_thresh: float,
+ nms_thresh: float,
+ topk_per_image: int,
+ vis_iou_thr: float = 1.0,
+):
+ result_per_image = [
+ fast_rcnn_inference_single_image(
+ boxes_per_image, scores_per_image, image_shape, score_thresh, nms_thresh, topk_per_image, vis_iou_thr
+ )
+ for scores_per_image, boxes_per_image, image_shape in zip(scores, boxes, image_shapes)
+ ]
+ return [x[0] for x in result_per_image], [x[1] for x in result_per_image]
+
+
+def fast_rcnn_inference_single_image(
+ boxes,
+ scores,
+ image_shape: Tuple[int, int],
+ score_thresh: float,
+ nms_thresh: float,
+ topk_per_image: int,
+ vis_iou_thr: float,
+):
+ valid_mask = torch.isfinite(boxes).all(
+ dim=1) & torch.isfinite(scores).all(dim=1)
+ if not valid_mask.all():
+ boxes = boxes[valid_mask]
+ scores = scores[valid_mask]
+
+ scores = scores[:, :-1]
+ num_bbox_reg_classes = boxes.shape[1] // 4
+ # Convert to Boxes to use the `clip` function ...
+ boxes = Boxes(boxes.reshape(-1, 4))
+ boxes.clip(image_shape)
+ boxes = boxes.tensor.view(-1, num_bbox_reg_classes, 4) # R x C x 4
+
+ # 1. Filter results based on detection scores. It can make NMS more efficient
+ # by filtering out low-confidence detections.
+ filter_mask = scores > score_thresh # R x K
+ # R' x 2. First column contains indices of the R predictions;
+ # Second column contains indices of classes.
+ filter_inds = filter_mask.nonzero()
+ if num_bbox_reg_classes == 1:
+ boxes = boxes[filter_inds[:, 0], 0]
+ else:
+ boxes = boxes[filter_mask]
+ scores = scores[filter_mask]
+
+ # 2. Apply NMS for each class independently.
+ keep = batched_nms(boxes, scores, filter_inds[:, 1], nms_thresh)
+ if topk_per_image >= 0:
+ keep = keep[:topk_per_image]
+ boxes, scores, filter_inds = boxes[keep], scores[keep], filter_inds[keep]
+
+ # apply nms between known classes and unknown class for visualization.
+ if vis_iou_thr < 1.0:
+ boxes, scores, filter_inds = unknown_aware_nms(
+ boxes, scores, filter_inds, iou_thr=vis_iou_thr)
+
+ result = Instances(image_shape)
+ result.pred_boxes = Boxes(boxes)
+ result.scores = scores
+ result.pred_classes = filter_inds[:, 1]
+ return result, filter_inds[:, 0]
+
+
+def unknown_aware_nms(boxes, scores, labels, ukn_class_id=80, iou_thr=0.9):
+ u_inds = labels[:, 1] == ukn_class_id
+ k_inds = ~u_inds
+ if k_inds.sum() == 0 or u_inds.sum() == 0:
+ return boxes, scores, labels
+
+ k_boxes, k_scores, k_labels = boxes[k_inds], scores[k_inds], labels[k_inds]
+ u_boxes, u_scores, u_labels = boxes[u_inds], scores[u_inds], labels[u_inds]
+
+ ious = pairwise_iou(Boxes(k_boxes), Boxes(u_boxes))
+ mask = torch.ones((ious.size(0), ious.size(1), 2), device=ious.device)
+ inds = (ious > iou_thr).nonzero()
+ if not inds.numel():
+ return boxes, scores, labels
+
+ for [ind_x, ind_y] in inds:
+ if k_scores[ind_x] >= u_scores[ind_y]:
+ mask[ind_x, ind_y, 1] = 0
+ else:
+ mask[ind_x, ind_y, 0] = 0
+
+ k_inds = mask[..., 0].mean(dim=1) == 1
+ u_inds = mask[..., 1].mean(dim=0) == 1
+
+ k_boxes, k_scores, k_labels = k_boxes[k_inds], k_scores[k_inds], k_labels[k_inds]
+ u_boxes, u_scores, u_labels = u_boxes[u_inds], u_scores[u_inds], u_labels[u_inds]
+
+ boxes = torch.cat([k_boxes, u_boxes])
+ scores = torch.cat([k_scores, u_scores])
+ labels = torch.cat([k_labels, u_labels])
+
+ return boxes, scores, labels
+
+
+logger = logging.getLogger(__name__)
+
+
+def build_roi_box_output_layers(cfg, input_shape):
+ """
+ Build ROIHeads defined by `cfg.MODEL.ROI_HEADS.NAME`.
+ """
+ name = cfg.MODEL.ROI_BOX_HEAD.OUTPUT_LAYERS
+ return ROI_BOX_OUTPUT_LAYERS_REGISTRY.get(name)(cfg, input_shape)
+
+
+@ROI_BOX_OUTPUT_LAYERS_REGISTRY.register()
+class CosineFastRCNNOutputLayers(FastRCNNOutputLayers):
+
+ @configurable
+ def __init__(
+ self,
+ *args,
+ scale: int = 20,
+ vis_iou_thr: float = 1.0,
+ **kargs,
+
+ ):
+ super().__init__(*args, **kargs)
+ # prediction layer for num_classes foreground classes and one background class (hence + 1)
+ self.cls_score = nn.Linear(
+ self.cls_score.in_features, self.num_classes + 1, bias=False)
+ nn.init.normal_(self.cls_score.weight, std=0.01)
+ # scaling factor
+ self.scale = scale
+ self.vis_iou_thr = vis_iou_thr
+
+ @classmethod
+ def from_config(cls, cfg, input_shape):
+ ret = super().from_config(cfg, input_shape)
+ ret['scale'] = cfg.MODEL.ROI_HEADS.COSINE_SCALE
+ ret['vis_iou_thr'] = cfg.MODEL.ROI_HEADS.VIS_IOU_THRESH
+ return ret
+
+ def forward(self, feats):
+
+ # support shared & sepearte head
+ if isinstance(feats, tuple):
+ reg_x, cls_x = feats
+ else:
+ reg_x = cls_x = feats
+
+ if reg_x.dim() > 2:
+ reg_x = torch.flatten(reg_x, start_dim=1)
+ cls_x = torch.flatten(cls_x, start_dim=1)
+
+ x_norm = torch.norm(cls_x, p=2, dim=1).unsqueeze(1).expand_as(cls_x)
+ x_normalized = cls_x.div(x_norm + 1e-5)
+
+ # normalize weight
+ temp_norm = (
+ torch.norm(self.cls_score.weight.data, p=2, dim=1)
+ .unsqueeze(1)
+ .expand_as(self.cls_score.weight.data)
+ )
+ self.cls_score.weight.data = self.cls_score.weight.data.div(
+ temp_norm + 1e-5
+ )
+ cos_dist = self.cls_score(x_normalized)
+ scores = self.scale * cos_dist
+ proposal_deltas = self.bbox_pred(reg_x)
+
+ return scores, proposal_deltas
+
+ def inference(self, predictions: Tuple[torch.Tensor, torch.Tensor], proposals: List[Instances]):
+
+ boxes = self.predict_boxes(predictions, proposals)
+ scores = self.predict_probs(predictions, proposals)
+ image_shapes = [x.image_size for x in proposals]
+ return fast_rcnn_inference(
+ boxes,
+ scores,
+ image_shapes,
+ self.test_score_thresh,
+ self.test_nms_thresh,
+ self.test_topk_per_image,
+ self.vis_iou_thr,
+ )
+
+ def predict_boxes(
+ self, predictions: Tuple[torch.Tensor, torch.Tensor], proposals: List[Instances]
+ ):
+ if not len(proposals):
+ return []
+ proposal_deltas = predictions[1]
+ num_prop_per_image = [len(p) for p in proposals]
+ proposal_boxes = cat(
+ [p.proposal_boxes.tensor for p in proposals], dim=0)
+ predict_boxes = self.box2box_transform.apply_deltas(
+ proposal_deltas,
+ proposal_boxes,
+ ) # Nx(KxB)
+ return predict_boxes.split(num_prop_per_image)
+
+ def predict_probs(
+ self, predictions: Tuple[torch.Tensor, torch.Tensor], proposals: List[Instances]
+ ):
+ scores = predictions[0]
+ num_inst_per_image = [len(p) for p in proposals]
+ probs = F.softmax(scores, dim=-1)
+ return probs.split(num_inst_per_image, dim=0)
+
+
+@ROI_BOX_OUTPUT_LAYERS_REGISTRY.register()
+class OpenDetFastRCNNOutputLayers(CosineFastRCNNOutputLayers):
+ @configurable
+ def __init__(
+ self,
+ *args,
+ num_known_classes,
+ max_iters,
+ up_loss_start_iter,
+ up_loss_sampling_metric,
+ up_loss_topk,
+ up_loss_alpha,
+ up_loss_weight,
+ ic_loss_out_dim,
+ ic_loss_queue_size,
+ ic_loss_in_queue_size,
+ ic_loss_batch_iou_thr,
+ ic_loss_queue_iou_thr,
+ ic_loss_queue_tau,
+ ic_loss_weight,
+ **kargs
+ ):
+ super().__init__(*args, **kargs)
+ self.num_known_classes = num_known_classes
+ self.max_iters = max_iters
+
+ self.up_loss = UPLoss(
+ self.num_classes,
+ sampling_metric=up_loss_sampling_metric,
+ topk=up_loss_topk,
+ alpha=up_loss_alpha
+ )
+ self.up_loss_start_iter = up_loss_start_iter
+ self.up_loss_weight = up_loss_weight
+
+ self.encoder = MLP(self.cls_score.in_features, ic_loss_out_dim)
+ self.ic_loss_loss = ICLoss(tau=ic_loss_queue_tau)
+ self.ic_loss_out_dim = ic_loss_out_dim
+ self.ic_loss_queue_size = ic_loss_queue_size
+ self.ic_loss_in_queue_size = ic_loss_in_queue_size
+ self.ic_loss_batch_iou_thr = ic_loss_batch_iou_thr
+ self.ic_loss_queue_iou_thr = ic_loss_queue_iou_thr
+ self.ic_loss_weight = ic_loss_weight
+
+ self.register_buffer('queue', torch.zeros(
+ self.num_known_classes, ic_loss_queue_size, ic_loss_out_dim))
+ self.register_buffer('queue_label', torch.empty(
+ self.num_known_classes, ic_loss_queue_size).fill_(-1).long())
+ self.register_buffer('queue_ptr', torch.zeros(
+ self.num_known_classes, dtype=torch.long))
+
+ @classmethod
+ def from_config(cls, cfg, input_shape):
+ ret = super().from_config(cfg, input_shape)
+ ret.update({
+ 'num_known_classes': cfg.MODEL.ROI_HEADS.NUM_KNOWN_CLASSES,
+ "max_iters": cfg.SOLVER.MAX_ITER,
+
+ "up_loss_start_iter": cfg.UPLOSS.START_ITER,
+ "up_loss_sampling_metric": cfg.UPLOSS.SAMPLING_METRIC,
+ "up_loss_topk": cfg.UPLOSS.TOPK,
+ "up_loss_alpha": cfg.UPLOSS.ALPHA,
+ "up_loss_weight": cfg.UPLOSS.WEIGHT,
+
+ "ic_loss_out_dim": cfg.ICLOSS.OUT_DIM,
+ "ic_loss_queue_size": cfg.ICLOSS.QUEUE_SIZE,
+ "ic_loss_in_queue_size": cfg.ICLOSS.IN_QUEUE_SIZE,
+ "ic_loss_batch_iou_thr": cfg.ICLOSS.BATCH_IOU_THRESH,
+ "ic_loss_queue_iou_thr": cfg.ICLOSS.QUEUE_IOU_THRESH,
+ "ic_loss_queue_tau": cfg.ICLOSS.TEMPERATURE,
+ "ic_loss_weight": cfg.ICLOSS.WEIGHT,
+
+ })
+ return ret
+
+ def forward(self, feats):
+ # support shared & sepearte head
+ if isinstance(feats, tuple):
+ reg_x, cls_x = feats
+ else:
+ reg_x = cls_x = feats
+
+ if reg_x.dim() > 2:
+ reg_x = torch.flatten(reg_x, start_dim=1)
+ cls_x = torch.flatten(cls_x, start_dim=1)
+
+ x_norm = torch.norm(cls_x, p=2, dim=1).unsqueeze(1).expand_as(cls_x)
+ x_normalized = cls_x.div(x_norm + 1e-5)
+
+ # normalize weight
+ temp_norm = (
+ torch.norm(self.cls_score.weight.data, p=2, dim=1)
+ .unsqueeze(1)
+ .expand_as(self.cls_score.weight.data)
+ )
+ self.cls_score.weight.data = self.cls_score.weight.data.div(
+ temp_norm + 1e-5
+ )
+ cos_dist = self.cls_score(x_normalized)
+ scores = self.scale * cos_dist
+ proposal_deltas = self.bbox_pred(reg_x)
+
+ # encode feature with MLP
+ mlp_feat = self.encoder(cls_x)
+
+ return scores, proposal_deltas, mlp_feat
+
+ def get_up_loss(self, scores, gt_classes):
+ # start up loss after several warmup iters
+ storage = get_event_storage()
+ if storage.iter > self.up_loss_start_iter:
+ loss_cls_up = self.up_loss(scores, gt_classes)
+ else:
+ loss_cls_up = scores.new_tensor(0.0)
+
+ return {"loss_cls_up": self.up_loss_weight * loss_cls_up}
+
+ def get_ic_loss(self, feat, gt_classes, ious):
+ # select foreground and iou > thr instance in a mini-batch
+ pos_inds = (ious > self.ic_loss_batch_iou_thr) & (
+ gt_classes != self.num_classes)
+ feat, gt_classes = feat[pos_inds], gt_classes[pos_inds]
+
+ queue = self.queue.reshape(-1, self.ic_loss_out_dim)
+ queue_label = self.queue_label.reshape(-1)
+ queue_inds = queue_label != -1 # filter empty queue
+ queue, queue_label = queue[queue_inds], queue_label[queue_inds]
+
+ loss_ic_loss = self.ic_loss_loss(feat, gt_classes, queue, queue_label)
+ # loss decay
+ storage = get_event_storage()
+ decay_weight = 1.0 - storage.iter / self.max_iters
+ return {"loss_cls_ic": self.ic_loss_weight * decay_weight * loss_ic_loss}
+
+ @torch.no_grad()
+ def _dequeue_and_enqueue(self, feat, gt_classes, ious, iou_thr=0.7):
+ # 1. gather variable
+ feat = self.concat_all_gather(feat)
+ gt_classes = self.concat_all_gather(gt_classes)
+ ious = self.concat_all_gather(ious)
+ # 2. filter by iou and obj, remove bg
+ keep = (ious > iou_thr) & (gt_classes != self.num_classes)
+ feat, gt_classes = feat[keep], gt_classes[keep]
+
+ for i in range(self.num_known_classes):
+ ptr = int(self.queue_ptr[i])
+ cls_ind = gt_classes == i
+ cls_feat, cls_gt_classes = feat[cls_ind], gt_classes[cls_ind]
+ # 3. sort by similarity, low sim ranks first
+ cls_queue = self.queue[i, self.queue_label[i] != -1]
+ _, sim_inds = F.cosine_similarity(
+ cls_feat[:, None], cls_queue[None, :], dim=-1).mean(dim=1).sort()
+ top_sim_inds = sim_inds[:self.ic_loss_in_queue_size]
+ cls_feat, cls_gt_classes = cls_feat[top_sim_inds], cls_gt_classes[top_sim_inds]
+ # 4. in queue
+ batch_size = cls_feat.size(
+ 0) if ptr + cls_feat.size(0) <= self.ic_loss_queue_size else self.ic_loss_queue_size - ptr
+ self.queue[i, ptr:ptr+batch_size] = cls_feat[:batch_size]
+ self.queue_label[i, ptr:ptr + batch_size] = cls_gt_classes[:batch_size]
+
+ ptr = ptr + batch_size if ptr + batch_size < self.ic_loss_queue_size else 0
+ self.queue_ptr[i] = ptr
+
+ @torch.no_grad()
+ def concat_all_gather(self, tensor):
+ world_size = comm.get_world_size()
+ # single GPU, directly return the tensor
+ if world_size == 1:
+ return tensor
+ # multiple GPUs, gather tensors
+ tensors_gather = [torch.ones_like(tensor) for _ in range(world_size)]
+ torch.distributed.all_gather(tensors_gather, tensor, async_op=False)
+ output = torch.cat(tensors_gather, dim=0)
+ return output
+
+ def losses(self, predictions, proposals, input_features=None):
+ """
+ Args:
+ predictions: return values of :meth:`forward()`.
+ proposals (list[Instances]): proposals that match the features that were used
+ to compute predictions. The fields ``proposal_boxes``, ``gt_boxes``,
+ ``gt_classes`` are expected.
+
+ Returns:
+ Dict[str, Tensor]: dict of losses
+ """
+ scores, proposal_deltas, mlp_feat = predictions
+ # parse classification outputs
+ gt_classes = (
+ cat([p.gt_classes for p in proposals], dim=0) if len(
+ proposals) else torch.empty(0)
+ )
+ _log_classification_stats(scores, gt_classes)
+
+ # parse box regression outputs
+ if len(proposals):
+ proposal_boxes = cat(
+ [p.proposal_boxes.tensor for p in proposals], dim=0) # Nx4
+ assert not proposal_boxes.requires_grad, "Proposals should not require gradients!"
+ # If "gt_boxes" does not exist, the proposals must be all negative and
+ # should not be included in regression loss computation.
+ # Here we just use proposal_boxes as an arbitrary placeholder because its
+ # value won't be used in self.box_reg_loss().
+ gt_boxes = cat(
+ [(p.gt_boxes if p.has("gt_boxes")
+ else p.proposal_boxes).tensor for p in proposals],
+ dim=0,
+ )
+ else:
+ proposal_boxes = gt_boxes = torch.empty(
+ (0, 4), device=proposal_deltas.device)
+
+ losses = {
+ "loss_cls_ce": cross_entropy(scores, gt_classes, reduction="mean"),
+ "loss_box_reg": self.box_reg_loss(
+ proposal_boxes, gt_boxes, proposal_deltas, gt_classes
+ ),
+ }
+
+ # up loss
+ losses.update(self.get_up_loss(scores, gt_classes))
+
+ ious = cat([p.iou for p in proposals], dim=0)
+ # we first store feats in the queue, then cmopute loss
+ self._dequeue_and_enqueue(
+ mlp_feat, gt_classes, ious, iou_thr=self.ic_loss_queue_iou_thr)
+ losses.update(self.get_ic_loss(mlp_feat, gt_classes, ious))
+
+ return {k: v * self.loss_weight.get(k, 1.0) for k, v in losses.items()}
+
+
+@ROI_BOX_OUTPUT_LAYERS_REGISTRY.register()
+class PROSERFastRCNNOutputLayers(CosineFastRCNNOutputLayers):
+ """PROSER
+ """
+ @configurable
+ def __init__(self, *args, **kargs):
+ super().__init__(*args, **kargs)
+ self.proser_weight = 0.1
+
+ def get_proser_loss(self, scores, gt_classes):
+ num_sample, num_classes = scores.shape
+ mask = torch.arange(num_classes).repeat(
+ num_sample, 1).to(scores.device)
+ inds = mask != gt_classes[:, None].repeat(1, num_classes)
+ mask = mask[inds].reshape(num_sample, num_classes-1)
+ mask_scores = torch.gather(scores, 1, mask)
+
+ targets = torch.zeros_like(gt_classes)
+ fg_inds = gt_classes != self.num_classes
+ targets[fg_inds] = self.num_classes-2
+ targets[~fg_inds] = self.num_classes-1
+
+ loss_cls_proser = cross_entropy(mask_scores, targets)
+ return {"loss_cls_proser": self.proser_weight * loss_cls_proser}
+
+ def losses(self, predictions, proposals, input_features=None):
+ """
+ Args:
+ predictions: return values of :meth:`forward()`.
+ proposals (list[Instances]): proposals that match the features that were used
+ to compute predictions. The fields ``proposal_boxes``, ``gt_boxes``,
+ ``gt_classes`` are expected.
+
+ Returns:
+ Dict[str, Tensor]: dict of losses
+ """
+ scores, proposal_deltas = predictions
+ # parse classification outputs
+ gt_classes = (
+ cat([p.gt_classes for p in proposals], dim=0) if len(
+ proposals) else torch.empty(0)
+ )
+ _log_classification_stats(scores, gt_classes)
+
+ # parse box regression outputs
+ if len(proposals):
+ proposal_boxes = cat(
+ [p.proposal_boxes.tensor for p in proposals], dim=0) # Nx4
+ assert not proposal_boxes.requires_grad, "Proposals should not require gradients!"
+ # If "gt_boxes" does not exist, the proposals must be all negative and
+ # should not be included in regression loss computation.
+ # Here we just use proposal_boxes as an arbitrary placeholder because its
+ # value won't be used in self.box_reg_loss().
+ gt_boxes = cat(
+ [(p.gt_boxes if p.has("gt_boxes")
+ else p.proposal_boxes).tensor for p in proposals],
+ dim=0,
+ )
+ else:
+ proposal_boxes = gt_boxes = torch.empty(
+ (0, 4), device=proposal_deltas.device)
+
+ losses = {
+ "loss_cls_ce": cross_entropy(scores, gt_classes, reduction="mean"),
+ "loss_box_reg": self.box_reg_loss(
+ proposal_boxes, gt_boxes, proposal_deltas, gt_classes
+ ),
+ }
+ losses.update(self.get_proser_loss(scores, gt_classes))
+
+ return {k: v * self.loss_weight.get(k, 1.0) for k, v in losses.items()}
+
+
+@ROI_BOX_OUTPUT_LAYERS_REGISTRY.register()
+class DropoutFastRCNNOutputLayers(CosineFastRCNNOutputLayers):
+
+ @configurable
+ def __init__(self, *args, **kargs):
+ super().__init__(*args, **kargs)
+ self.dropout = nn.Dropout(p=0.5)
+ self.entropy_thr = 0.25
+
+ def forward(self, feats, testing=False):
+ # support shared & sepearte head
+ if isinstance(feats, tuple):
+ reg_x, cls_x = feats
+ else:
+ reg_x = cls_x = feats
+
+ if reg_x.dim() > 2:
+ reg_x = torch.flatten(reg_x, start_dim=1)
+ cls_x = torch.flatten(cls_x, start_dim=1)
+
+ x_norm = torch.norm(cls_x, p=2, dim=1).unsqueeze(1).expand_as(cls_x)
+ x_normalized = cls_x.div(x_norm + 1e-5)
+
+ # normalize weight
+ temp_norm = (
+ torch.norm(self.cls_score.weight.data, p=2, dim=1)
+ .unsqueeze(1)
+ .expand_as(self.cls_score.weight.data)
+ )
+ self.cls_score.weight.data = self.cls_score.weight.data.div(
+ temp_norm + 1e-5
+ )
+ if testing:
+ self.dropout.train()
+ x_normalized = self.dropout(x_normalized)
+ cos_dist = self.cls_score(x_normalized)
+ scores = self.scale * cos_dist
+ proposal_deltas = self.bbox_pred(reg_x)
+
+ return scores, proposal_deltas
+
+ def inference(self, predictions: List[Tuple[torch.Tensor, torch.Tensor]], proposals: List[Instances]):
+ """
+ Args:
+ predictions: return values of :meth:`forward()`.
+ proposals (list[Instances]): proposals that match the features that were
+ used to compute predictions. The ``proposal_boxes`` field is expected.
+
+ Returns:
+ list[Instances]: same as `fast_rcnn_inference`.
+ list[Tensor]: same as `fast_rcnn_inference`.
+ """
+ boxes = self.predict_boxes(predictions[0], proposals)
+ scores = self.predict_probs(predictions, proposals)
+ image_shapes = [x.image_size for x in proposals]
+ return fast_rcnn_inference(
+ boxes,
+ scores,
+ image_shapes,
+ self.test_score_thresh,
+ self.test_nms_thresh,
+ self.test_topk_per_image,
+ )
+
+ def predict_probs(
+ self, predictions: List[Tuple[torch.Tensor, torch.Tensor]], proposals: List[Instances]
+ ):
+ """
+ Args:
+ predictions: return values of :meth:`forward()`.
+ proposals (list[Instances]): proposals that match the features that were
+ used to compute predictions.
+
+ Returns:
+ list[Tensor]:
+ A list of Tensors of predicted class probabilities for each image.
+ Element i has shape (Ri, K + 1), where Ri is the number of proposals for image i.
+ """
+ # mean of multiple observations
+ scores = torch.stack([pred[0] for pred in predictions], dim=-1)
+ scores = scores.mean(dim=-1)
+ # threshlod by entropy
+ norm_entropy = dists.Categorical(scores.softmax(
+ dim=1)).entropy() / np.log(self.num_classes)
+ inds = norm_entropy > self.entropy_thr
+ max_scores = scores.max(dim=1)[0]
+ # set those with high entropy unknown objects
+ scores[inds, :] = 0.0
+ scores[inds, self.num_classes-1] = max_scores[inds]
+
+ num_inst_per_image = [len(p) for p in proposals]
+ probs = F.softmax(scores, dim=-1)
+ return probs.split(num_inst_per_image, dim=0)
diff --git a/opendet2/modeling/roi_heads/roi_heads.py b/opendet2/modeling/roi_heads/roi_heads.py
new file mode 100644
index 0000000..7d1310d
--- /dev/null
+++ b/opendet2/modeling/roi_heads/roi_heads.py
@@ -0,0 +1,150 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import logging
+from typing import Dict, List
+
+import numpy as np
+import torch
+import torch.nn.functional as F
+from detectron2.config import configurable
+from detectron2.layers import ShapeSpec
+from detectron2.modeling.poolers import ROIPooler
+from detectron2.modeling.roi_heads.box_head import build_box_head
+from detectron2.modeling.roi_heads.roi_heads import (
+ ROI_HEADS_REGISTRY, StandardROIHeads, add_ground_truth_to_proposals)
+from detectron2.structures import Boxes, Instances, pairwise_iou
+from detectron2.utils.events import get_event_storage
+from detectron2.utils.registry import Registry
+from torch import nn
+
+from .fast_rcnn import build_roi_box_output_layers
+
+logger = logging.getLogger(__name__)
+
+
+@ROI_HEADS_REGISTRY.register()
+class OpenSetStandardROIHeads(StandardROIHeads):
+
+ @torch.no_grad()
+ def label_and_sample_proposals(self, proposals: List[Instances], targets: List[Instances]) -> List[Instances]:
+ if self.proposal_append_gt:
+ proposals = add_ground_truth_to_proposals(targets, proposals)
+
+ proposals_with_gt = []
+
+ num_fg_samples = []
+ num_bg_samples = []
+ for proposals_per_image, targets_per_image in zip(proposals, targets):
+ has_gt = len(targets_per_image) > 0
+ match_quality_matrix = pairwise_iou(
+ targets_per_image.gt_boxes, proposals_per_image.proposal_boxes
+ )
+ matched_idxs, matched_labels = self.proposal_matcher(
+ match_quality_matrix)
+ sampled_idxs, gt_classes = self._sample_proposals(
+ matched_idxs, matched_labels, targets_per_image.gt_classes
+ )
+
+ # Set target attributes of the sampled proposals:
+ proposals_per_image = proposals_per_image[sampled_idxs]
+ proposals_per_image.gt_classes = gt_classes
+ # NOTE: add iou of each proposal
+ ious, _ = match_quality_matrix.max(dim=0)
+ proposals_per_image.iou = ious[sampled_idxs]
+
+ if has_gt:
+ sampled_targets = matched_idxs[sampled_idxs]
+ for (trg_name, trg_value) in targets_per_image.get_fields().items():
+ if trg_name.startswith("gt_") and not proposals_per_image.has(trg_name):
+ proposals_per_image.set(
+ trg_name, trg_value[sampled_targets])
+
+ num_bg_samples.append(
+ (gt_classes == self.num_classes).sum().item())
+ num_fg_samples.append(gt_classes.numel() - num_bg_samples[-1])
+ proposals_with_gt.append(proposals_per_image)
+
+ # Log the number of fg/bg samples that are selected for training ROI heads
+ storage = get_event_storage()
+ storage.put_scalar("roi_head/num_fg_samples", np.mean(num_fg_samples))
+ storage.put_scalar("roi_head/num_bg_samples", np.mean(num_bg_samples))
+
+ return proposals_with_gt
+
+ @classmethod
+ def _init_box_head(cls, cfg, input_shape):
+ # fmt: off
+ in_features = cfg.MODEL.ROI_HEADS.IN_FEATURES
+ pooler_resolution = cfg.MODEL.ROI_BOX_HEAD.POOLER_RESOLUTION
+ pooler_scales = tuple(1.0 / input_shape[k].stride for k in in_features)
+ sampling_ratio = cfg.MODEL.ROI_BOX_HEAD.POOLER_SAMPLING_RATIO
+ pooler_type = cfg.MODEL.ROI_BOX_HEAD.POOLER_TYPE
+ # fmt: on
+
+ # If StandardROIHeads is applied on multiple feature maps (as in FPN),
+ # then we share the same predictors and therefore the channel counts must be the same
+ in_channels = [input_shape[f].channels for f in in_features]
+ # Check all channel counts are equal
+ assert len(set(in_channels)) == 1, in_channels
+ in_channels = in_channels[0]
+
+ box_pooler = ROIPooler(
+ output_size=pooler_resolution,
+ scales=pooler_scales,
+ sampling_ratio=sampling_ratio,
+ pooler_type=pooler_type,
+ )
+
+ box_head = build_box_head(
+ cfg, ShapeSpec(channels=in_channels,
+ height=pooler_resolution, width=pooler_resolution)
+ )
+ # register output layers
+ box_predictor = build_roi_box_output_layers(cfg, box_head.output_shape)
+ return {
+ "box_in_features": in_features,
+ "box_pooler": box_pooler,
+ "box_head": box_head,
+ "box_predictor": box_predictor,
+ }
+
+
+@ROI_HEADS_REGISTRY.register()
+class DropoutStandardROIHeads(OpenSetStandardROIHeads):
+ @configurable
+ def __init__(self, *args, **kwargs,):
+ super().__init__(*args, **kwargs)
+ # num of sampling
+ self.num_sample = 30
+
+ def _forward_box(self, features: Dict[str, torch.Tensor], proposals: List[Instances], targets=None):
+
+ features = [features[f] for f in self.box_in_features]
+ box_features = self.box_pooler(
+ features, [x.proposal_boxes for x in proposals])
+ box_features = self.box_head(box_features)
+
+ # if testing, we run multiple inference for dropout sampling
+ if self.training:
+ predictions = self.box_predictor(box_features)
+ else:
+ predictions = [self.box_predictor(
+ box_features, testing=True) for _ in range(self.num_sample)]
+
+ del box_features
+
+ if self.training:
+ losses = self.box_predictor.losses(predictions, proposals)
+ # proposals is modified in-place below, so losses must be computed first.
+ if self.train_on_pred_boxes:
+ with torch.no_grad():
+ pred_boxes = self.box_predictor.predict_boxes_for_gt_classes(
+ predictions, proposals
+ )
+ for proposals_per_image, pred_boxes_per_image in zip(proposals, pred_boxes):
+ proposals_per_image.proposal_boxes = Boxes(
+ pred_boxes_per_image)
+ return losses
+ else:
+ pred_instances, _ = self.box_predictor.inference(
+ predictions, proposals)
+ return pred_instances
diff --git a/opendet2/solver/__init__.py b/opendet2/solver/__init__.py
new file mode 100644
index 0000000..9bba8b7
--- /dev/null
+++ b/opendet2/solver/__init__.py
@@ -0,0 +1,3 @@
+from .build import *
+
+__all__ = list(globals().keys())
diff --git a/opendet2/solver/build.py b/opendet2/solver/build.py
new file mode 100644
index 0000000..00be765
--- /dev/null
+++ b/opendet2/solver/build.py
@@ -0,0 +1,57 @@
+from typing import Any, Dict, List, Set
+
+import torch
+from detectron2.config import CfgNode
+from detectron2.solver.build import maybe_add_gradient_clipping
+
+
+def build_optimizer(cfg: CfgNode, model: torch.nn.Module) -> torch.optim.Optimizer:
+ """
+ Build an optimizer from config.
+ """
+ norm_module_types = (
+ torch.nn.BatchNorm1d,
+ torch.nn.BatchNorm2d,
+ torch.nn.BatchNorm3d,
+ torch.nn.SyncBatchNorm,
+ # NaiveSyncBatchNorm inherits from BatchNorm2d
+ torch.nn.GroupNorm,
+ torch.nn.InstanceNorm1d,
+ torch.nn.InstanceNorm2d,
+ torch.nn.InstanceNorm3d,
+ torch.nn.LayerNorm,
+ torch.nn.LocalResponseNorm,
+ )
+ params: List[Dict[str, Any]] = []
+ memo: Set[torch.nn.parameter.Parameter] = set()
+ for module in model.modules():
+ for key, value in module.named_parameters(recurse=False):
+ if not value.requires_grad:
+ continue
+ # Avoid duplicating parameters
+ if value in memo:
+ continue
+ memo.add(value)
+ lr = cfg.SOLVER.BASE_LR
+ weight_decay = cfg.SOLVER.WEIGHT_DECAY
+ if isinstance(module, norm_module_types):
+ weight_decay = cfg.SOLVER.WEIGHT_DECAY_NORM
+ elif key == "bias":
+ # NOTE: unlike Detectron v1, we now default BIAS_LR_FACTOR to 1.0
+ # and WEIGHT_DECAY_BIAS to WEIGHT_DECAY so that bias optimizer
+ # hyperparameters are by default exactly the same as for regular
+ # weights.
+ lr = cfg.SOLVER.BASE_LR * cfg.SOLVER.BIAS_LR_FACTOR
+ weight_decay = cfg.SOLVER.WEIGHT_DECAY_BIAS
+ params += [{"params": [value], "lr": lr,
+ "weight_decay": weight_decay}]
+
+ # To support AdamW for swin_transformer
+ if cfg.SOLVER.OPTIMIZER == "ADAMW":
+ optimizer = torch.optim.AdamW(
+ params, lr=cfg.SOLVER.BASE_LR, betas=cfg.SOLVER.BETAS, weight_decay=cfg.SOLVER.WEIGHT_DECAY)
+ else:
+ optimizer = torch.optim.SGD(
+ params, cfg.SOLVER.BASE_LR, momentum=cfg.SOLVER.MOMENTUM)
+ optimizer = maybe_add_gradient_clipping(cfg, optimizer)
+ return optimizer
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..015e7bf
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,14 @@
+#!/usr/bin/env python
+from setuptools import setup
+
+setup(
+ name="opendet2",
+ version=0.1,
+ author="csuhan",
+ url="https://github.com/csuhan/opendet2",
+ description="Codebase for open set object detection",
+ python_requires=">=3.6",
+ install_requires=[
+ 'timm', 'opencv-python'
+ ],
+)
diff --git a/tools/convert_swin_to_d2.py b/tools/convert_swin_to_d2.py
new file mode 100644
index 0000000..2947e5d
--- /dev/null
+++ b/tools/convert_swin_to_d2.py
@@ -0,0 +1,36 @@
+import argparse
+import os
+
+import torch
+
+
+def parse_args():
+ parser = argparse.ArgumentParser("Convert Swin Transformer to Detectron2")
+
+ parser.add_argument("source_model", default="", type=str,
+ help="Source model")
+ parser.add_argument("output_model", default="", type=str,
+ help="Output model")
+ return parser.parse_args()
+
+
+def main():
+ args = parse_args()
+
+ if os.path.splitext(args.source_model)[-1] != ".pth":
+ raise ValueError("You should save weights as pth file")
+
+ source_weights = torch.load(
+ args.source_model, map_location=torch.device('cpu'))["model"]
+ converted_weights = {}
+ keys = list(source_weights.keys())
+
+ prefix = 'backbone.bottom_up.'
+ for key in keys:
+ converted_weights[prefix+key] = source_weights[key]
+
+ torch.save(converted_weights, args.output_model)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/tools/train_net.py b/tools/train_net.py
new file mode 100644
index 0000000..cfe9cb2
--- /dev/null
+++ b/tools/train_net.py
@@ -0,0 +1,79 @@
+#!/usr/bin/env python
+# Copyright (c) Facebook, Inc. and its affiliates.
+import os
+
+import detectron2.utils.comm as comm
+from detectron2.checkpoint import DetectionCheckpointer
+from detectron2.config import get_cfg
+from detectron2.engine import (default_argument_parser, default_setup, hooks,
+ launch)
+from detectron2.evaluation import verify_results
+from detectron2.utils.logger import setup_logger
+from opendet2 import OpenDetTrainer, add_opendet_config, builtin
+
+
+def setup(args):
+ """
+ Create configs and perform basic setups.
+ """
+ cfg = get_cfg()
+ # add opendet config
+ add_opendet_config(cfg)
+ cfg.merge_from_file(args.config_file)
+ cfg.merge_from_list(args.opts)
+ # Note: we use the key ROI_HEAD.NUM_KNOWN_CLASSES
+ # for open-set data processing and evaluation.
+ if 'RetinaNet' in cfg.MODEL.META_ARCHITECTURE:
+ cfg.MODEL.ROI_HEADS.NUM_KNOWN_CLASSES = cfg.MODEL.RETINANET.NUM_KNOWN_CLASSES
+ # add output dir if not exist
+ if cfg.OUTPUT_DIR == "./output":
+ config_name = os.path.basename(args.config_file).split(".yaml")[0]
+ cfg.OUTPUT_DIR = os.path.join(cfg.OUTPUT_DIR, config_name)
+ cfg.freeze()
+ default_setup(cfg, args)
+ setup_logger(output=cfg.OUTPUT_DIR,
+ distributed_rank=comm.get_rank(), name="opendet2")
+ return cfg
+
+
+def main(args):
+ cfg = setup(args)
+
+ if args.eval_only:
+ model = OpenDetTrainer.build_model(cfg)
+ DetectionCheckpointer(model, save_dir=cfg.OUTPUT_DIR).resume_or_load(
+ cfg.MODEL.WEIGHTS, resume=args.resume
+ )
+ res = OpenDetTrainer.test(cfg, model)
+ if cfg.TEST.AUG.ENABLED:
+ res.update(OpenDetTrainer.test_with_TTA(cfg, model))
+ if comm.is_main_process():
+ verify_results(cfg, res)
+ return res
+
+ """
+ If you'd like to do anything fancier than the standard training logic,
+ consider writing your own training loop (see plain_train_net.py) or
+ subclassing the trainer.
+ """
+ trainer = OpenDetTrainer(cfg)
+ trainer.resume_or_load(resume=args.resume)
+ if cfg.TEST.AUG.ENABLED:
+ trainer.register_hooks(
+ [hooks.EvalHook(
+ 0, lambda: trainer.test_with_TTA(cfg, trainer.model))]
+ )
+ return trainer.train()
+
+
+if __name__ == "__main__":
+ args = default_argument_parser().parse_args()
+ print("Command Line Args:", args)
+ launch(
+ main,
+ args.num_gpus,
+ num_machines=args.num_machines,
+ machine_rank=args.machine_rank,
+ dist_url=args.dist_url,
+ args=(args,),
+ )