├── .idea ├── .gitignore ├── class_balanced_deep_active_learning.iml ├── inspectionProfiles │ └── profiles_settings.xml ├── misc.xml ├── modules.xml └── vcs.xml ├── Cutout ├── LICENSE.md └── model │ ├── __pycache__ │ ├── __init__.cpython-35.pyc │ ├── __init__.cpython-36.pyc │ ├── resnet.cpython-35.pyc │ ├── resnet.cpython-36.pyc │ ├── wide_resnet.cpython-35.pyc │ └── wide_resnet.cpython-36.pyc │ └── resnet.py ├── README.md ├── __pycache__ └── dataset.cpython-36.pyc ├── cifar100_checkpoints_active_set ├── active_set_cycle_0.txt ├── long_tailed_dataset_IF_1.txt ├── long_tailed_dataset_IF_10.txt ├── long_tailed_dataset_IF_3.txt └── long_tailed_dataset_IF_5.txt ├── cifar10_checkpoints_active_set ├── active_set_cycle_0.txt ├── long_tailed_dataset_IF_1.txt ├── long_tailed_dataset_IF_10.txt └── long_tailed_dataset_IF_3.txt ├── dataset.py ├── framework.png ├── query_strategies ├── __init__.py ├── bayesian_active_learning_disagreement_dropout.py ├── entropy_sampling.py ├── kcenter_greedy.py ├── random_sampling.py └── strategy.py ├── run.py └── run_cycle_0.py /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /.idea/class_balanced_deep_active_learning.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 15 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Cutout/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2019 GitHub Inc. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Cutout/model/__pycache__/__init__.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javadzb/Class-Balanced-AL/70cff9d5a9da6123ddf170e2e0e614f2f8ce1f4e/Cutout/model/__pycache__/__init__.cpython-35.pyc -------------------------------------------------------------------------------- /Cutout/model/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javadzb/Class-Balanced-AL/70cff9d5a9da6123ddf170e2e0e614f2f8ce1f4e/Cutout/model/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /Cutout/model/__pycache__/resnet.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javadzb/Class-Balanced-AL/70cff9d5a9da6123ddf170e2e0e614f2f8ce1f4e/Cutout/model/__pycache__/resnet.cpython-35.pyc -------------------------------------------------------------------------------- /Cutout/model/__pycache__/resnet.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javadzb/Class-Balanced-AL/70cff9d5a9da6123ddf170e2e0e614f2f8ce1f4e/Cutout/model/__pycache__/resnet.cpython-36.pyc -------------------------------------------------------------------------------- /Cutout/model/__pycache__/wide_resnet.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javadzb/Class-Balanced-AL/70cff9d5a9da6123ddf170e2e0e614f2f8ce1f4e/Cutout/model/__pycache__/wide_resnet.cpython-35.pyc -------------------------------------------------------------------------------- /Cutout/model/__pycache__/wide_resnet.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javadzb/Class-Balanced-AL/70cff9d5a9da6123ddf170e2e0e614f2f8ce1f4e/Cutout/model/__pycache__/wide_resnet.cpython-36.pyc -------------------------------------------------------------------------------- /Cutout/model/resnet.py: -------------------------------------------------------------------------------- 1 | '''ResNet18/34/50/101/152 in Pytorch.''' 2 | import torch 3 | import torch.nn as nn 4 | import torch.nn.functional as F 5 | 6 | from torch.autograd import Variable 7 | 8 | 9 | def conv3x3(in_planes, out_planes, stride=1): 10 | return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride, padding=1, bias=False) 11 | 12 | 13 | class BasicBlock(nn.Module): 14 | expansion = 1 15 | 16 | def __init__(self, in_planes, planes, stride=1): 17 | super(BasicBlock, self).__init__() 18 | self.conv1 = conv3x3(in_planes, planes, stride) 19 | self.bn1 = nn.BatchNorm2d(planes) 20 | self.conv2 = conv3x3(planes, planes) 21 | self.bn2 = nn.BatchNorm2d(planes) 22 | 23 | self.shortcut = nn.Sequential() 24 | if stride != 1 or in_planes != self.expansion*planes: 25 | self.shortcut = nn.Sequential( 26 | nn.Conv2d(in_planes, self.expansion*planes, kernel_size=1, stride=stride, bias=False), 27 | nn.BatchNorm2d(self.expansion*planes) 28 | ) 29 | 30 | def forward(self, x): 31 | out = F.relu(self.bn1(self.conv1(x))) 32 | out = self.bn2(self.conv2(out)) 33 | out += self.shortcut(x) 34 | out = F.relu(out) 35 | return out 36 | 37 | 38 | class Bottleneck(nn.Module): 39 | expansion = 4 40 | 41 | def __init__(self, in_planes, planes, stride=1): 42 | super(Bottleneck, self).__init__() 43 | self.conv1 = nn.Conv2d(in_planes, planes, kernel_size=1, bias=False) 44 | self.bn1 = nn.BatchNorm2d(planes) 45 | self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=stride, padding=1, bias=False) 46 | self.bn2 = nn.BatchNorm2d(planes) 47 | self.conv3 = nn.Conv2d(planes, self.expansion*planes, kernel_size=1, bias=False) 48 | self.bn3 = nn.BatchNorm2d(self.expansion*planes) 49 | 50 | self.shortcut = nn.Sequential() 51 | if stride != 1 or in_planes != self.expansion*planes: 52 | self.shortcut = nn.Sequential( 53 | nn.Conv2d(in_planes, self.expansion*planes, kernel_size=1, stride=stride, bias=False), 54 | nn.BatchNorm2d(self.expansion*planes) 55 | ) 56 | 57 | def forward(self, x): 58 | out = F.relu(self.bn1(self.conv1(x))) 59 | out = F.relu(self.bn2(self.conv2(out))) 60 | out = self.bn3(self.conv3(out)) 61 | out += self.shortcut(x) 62 | out = F.relu(out) 63 | return out 64 | 65 | 66 | class ResNet(nn.Module): 67 | def __init__(self, block, num_blocks, num_classes=10): 68 | super(ResNet, self).__init__() 69 | self.in_planes = 64 70 | 71 | self.conv1 = conv3x3(3,64) 72 | self.bn1 = nn.BatchNorm2d(64) 73 | self.layer1 = self._make_layer(block, 64, num_blocks[0], stride=1) 74 | self.layer2 = self._make_layer(block, 128, num_blocks[1], stride=2) 75 | self.layer3 = self._make_layer(block, 256, num_blocks[2], stride=2) 76 | self.layer4 = self._make_layer(block, 512, num_blocks[3], stride=2) 77 | self.linear = nn.Linear(512*block.expansion, num_classes) 78 | 79 | def _make_layer(self, block, planes, num_blocks, stride): 80 | strides = [stride] + [1]*(num_blocks-1) 81 | layers = [] 82 | for stride in strides: 83 | layers.append(block(self.in_planes, planes, stride)) 84 | self.in_planes = planes * block.expansion 85 | return nn.Sequential(*layers) 86 | 87 | def forward(self, x): 88 | out = F.relu(self.bn1(self.conv1(x))) 89 | out = self.layer1(out) 90 | out = self.layer2(out) 91 | out = self.layer3(out) 92 | out = self.layer4(out) 93 | out = F.avg_pool2d(out, 4) 94 | emb = out.view(out.size(0), -1) 95 | out = self.linear(emb) 96 | return out, emb 97 | 98 | 99 | def ResNet18(num_classes=10): 100 | return ResNet(BasicBlock, [2,2,2,2], num_classes) 101 | 102 | def ResNet34(num_classes=10): 103 | return ResNet(BasicBlock, [3,4,6,3], num_classes) 104 | 105 | def ResNet50(num_classes=10): 106 | return ResNet(Bottleneck, [3,4,6,3], num_classes) 107 | 108 | def ResNet101(num_classes=10): 109 | return ResNet(Bottleneck, [3,4,23,3], num_classes) 110 | 111 | def ResNet152(num_classes=10): 112 | return ResNet(Bottleneck, [3,8,36,3], num_classes) 113 | 114 | def test_resnet(): 115 | net = ResNet50() 116 | y = net(Variable(torch.randn(1,3,32,32))) 117 | print(y.size()) 118 | 119 | # test_resnet() 120 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Class-Balanced Active Learning for Image Classification: 2 | 3 | ## Description 4 | 5 | This repository contains code for the paper Class-Balanced Active Learning for Image Classification: 6 | 7 | http://arxiv.org/abs/2110.04543 8 | 9 | Logo 10 | 11 | 12 | ### Dependencies 13 | Install Anaconda environment: 14 | https://docs.anaconda.com/anaconda/install/linux/ 15 | 16 | Install PyTorch : 17 | ``` 18 | conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch 19 | ``` 20 | Install CVXPY python package: 21 | https://www.cvxpy.org/install/ 22 | 23 | Install Gurobi optimizer and its licenese: 24 | https://www.gurobi.com/gurobi-and-anaconda-for-linux/ 25 | 26 | 27 | ## Getting Started 28 | 29 | Before starting AL cycles, execute run_cycl_0.py on cifar10/cifar100 dataset to obtain the imbalance dataset (only once) and train the model on initial sampels: 30 | ``` 31 | CUDA_VISIBLE_DEVICES=0 python run_cycle_0.py --method RandomSampling --dataset cifar100 32 | ``` 33 | 34 | ## Executing program 35 | To run Active Learning cycles use python run.py with the following arguments: 36 | 37 | --imb_type (To specify the imbalance type of the dataset) 38 | 39 | --imb_factor (To specify the imbalance factor) 40 | 41 | --dataset (To specify the dataset) 42 | 43 | ### Examples: 44 | 45 | To run standard EntropySampling method on CIFAR100 dataset and step imbalance and imbalance factor=0.1: 46 | ``` 47 | CUDA_VISIBLE_DEVICES=0 python run.py --method EntropySampling_imbalance --dataset cifar100 --imb_factor 0.1 --imb_type step 48 | ``` 49 | To run EntropySampling with optimal class balancing add "optimal" in the method name, for example: 50 | ``` 51 | CUDA_VISIBLE_DEVICES=0 python run.py --method EntropySampling_optimal --dataset cifar100 --imb_factor 0.1 --imb_type step 52 | ``` 53 | Other sampling strategies are available by --mehtod argument: 54 | ``` 55 | CUDA_VISIBLE_DEVICES=0 python run.py --method RandomSampling --dataset cifar100 --imb_factor 0.1 --imb_type step 56 | ``` 57 | 58 | ## Contributors 59 | Javad Zolfaghari Bengar (djavad.z@gmail.com) 60 | 61 | Laura Lopez Fuentes (lopezfuenteslaura@gmail.com ) 62 | -------------------------------------------------------------------------------- /__pycache__/dataset.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javadzb/Class-Balanced-AL/70cff9d5a9da6123ddf170e2e0e614f2f8ce1f4e/__pycache__/dataset.cpython-36.pyc -------------------------------------------------------------------------------- /cifar100_checkpoints_active_set/active_set_cycle_0.txt: -------------------------------------------------------------------------------- 1 | 32048 2 | 34665 3 | 5129 4 | 7155 5 | 47363 6 | 48154 7 | 32197 8 | 3594 9 | 26488 10 | 9470 11 | 33563 12 | 17384 13 | 13181 14 | 7143 15 | 32049 16 | 20169 17 | 42847 18 | 30631 19 | 15274 20 | 15753 21 | 31066 22 | 32404 23 | 32233 24 | 48921 25 | 7136 26 | 37402 27 | 3780 28 | 34921 29 | 18064 30 | 21328 31 | 19002 32 | 32124 33 | 25342 34 | 43530 35 | 35137 36 | 13971 37 | 29399 38 | 353 39 | 40419 40 | 36323 41 | 33748 42 | 42660 43 | 45616 44 | 22768 45 | 33983 46 | 33950 47 | 31148 48 | 41582 49 | 40607 50 | 11121 51 | 41001 52 | 2664 53 | 47926 54 | 732 55 | 33601 56 | 32884 57 | 28068 58 | 15334 59 | 16469 60 | 15923 61 | 48486 62 | 16665 63 | 4165 64 | 46390 65 | 25974 66 | 39375 67 | 40959 68 | 9352 69 | 10151 70 | 36171 71 | 13644 72 | 47764 73 | 25218 74 | 27365 75 | 12609 76 | 8353 77 | 44037 78 | 44386 79 | 40410 80 | 19879 81 | 41032 82 | 44461 83 | 4162 84 | 12218 85 | 10550 86 | 23552 87 | 31695 88 | 39694 89 | 30798 90 | 4969 91 | 31084 92 | 41828 93 | 10138 94 | 47058 95 | 25375 96 | 41939 97 | 45118 98 | 46920 99 | 1843 100 | 18023 101 | 18198 102 | 3998 103 | 13008 104 | 12762 105 | 34272 106 | 38198 107 | 43072 108 | 27394 109 | 18297 110 | 41095 111 | 23209 112 | 5229 113 | 20468 114 | 24759 115 | 12114 116 | 31542 117 | 8636 118 | 37797 119 | 27334 120 | 41473 121 | 22662 122 | 48670 123 | 11139 124 | 47937 125 | 31575 126 | 31106 127 | 42839 128 | 1705 129 | 35509 130 | 30812 131 | 44202 132 | 18033 133 | 9242 134 | 27959 135 | 28215 136 | 2051 137 | 38781 138 | 7474 139 | 29905 140 | 17606 141 | 10227 142 | 38345 143 | 45372 144 | 21617 145 | 15946 146 | 1895 147 | 24074 148 | 32596 149 | 12956 150 | 11384 151 | 48036 152 | 21860 153 | 5360 154 | 30279 155 | 31198 156 | 41049 157 | 34638 158 | 41498 159 | 2227 160 | 383 161 | 48363 162 | 27931 163 | 36102 164 | 12671 165 | 22702 166 | 15012 167 | 23619 168 | 21334 169 | 943 170 | 26531 171 | 30741 172 | 25763 173 | 48132 174 | 25000 175 | 48665 176 | 26990 177 | 48422 178 | 36021 179 | 22147 180 | 27153 181 | 20048 182 | 4585 183 | 44961 184 | 3661 185 | 27383 186 | 41083 187 | 13486 188 | 5292 189 | 45270 190 | 24428 191 | 11629 192 | 22502 193 | 13579 194 | 37887 195 | 42005 196 | 40064 197 | 38683 198 | 27605 199 | 46881 200 | 20654 201 | 2949 202 | 44176 203 | 7290 204 | 33996 205 | 49929 206 | 49186 207 | 40386 208 | 13454 209 | 5841 210 | 25399 211 | 43660 212 | 12053 213 | 45664 214 | 19191 215 | 10518 216 | 48926 217 | 488 218 | 40069 219 | 38364 220 | 1636 221 | 1308 222 | 37434 223 | 24545 224 | 10983 225 | 27607 226 | 916 227 | 20699 228 | 13029 229 | 2769 230 | 44162 231 | 26809 232 | 48971 233 | 6565 234 | 41747 235 | 1148 236 | 29036 237 | 11359 238 | 25090 239 | 43786 240 | 34974 241 | 6993 242 | 45780 243 | 41557 244 | 825 245 | 49483 246 | 40204 247 | 3654 248 | 31822 249 | 31321 250 | 8008 251 | 2345 252 | 40613 253 | 13519 254 | 10084 255 | 21922 256 | 804 257 | 33624 258 | 22904 259 | 37386 260 | 46219 261 | 33561 262 | 40683 263 | 15354 264 | 19355 265 | 44396 266 | 620 267 | 37310 268 | 22119 269 | 31627 270 | 15124 271 | 25754 272 | 18754 273 | 46787 274 | 45727 275 | 36604 276 | 8968 277 | 23773 278 | 4662 279 | 37170 280 | 706 281 | 6563 282 | 48677 283 | 10692 284 | 14617 285 | 15607 286 | 36044 287 | 48230 288 | 40507 289 | 16708 290 | 14794 291 | 26362 292 | 39663 293 | 7349 294 | 44811 295 | 21530 296 | 46839 297 | 23252 298 | 30100 299 | 14530 300 | 25752 301 | 34768 302 | 30577 303 | 33819 304 | 31184 305 | 44426 306 | 43921 307 | 46706 308 | 22383 309 | 23657 310 | 36786 311 | 38409 312 | 22809 313 | 21604 314 | 33034 315 | 8370 316 | 29444 317 | 12770 318 | 22055 319 | 37679 320 | 29403 321 | 39418 322 | 13898 323 | 46823 324 | 6816 325 | 24832 326 | 15546 327 | 48404 328 | 12885 329 | 28510 330 | 46913 331 | 33822 332 | 16456 333 | 30681 334 | 41529 335 | 30398 336 | 31156 337 | 13037 338 | 28779 339 | 42919 340 | 288 341 | 4952 342 | 48589 343 | 36254 344 | 12302 345 | 40694 346 | 23387 347 | 28857 348 | 34169 349 | 31802 350 | 17301 351 | 42560 352 | 43668 353 | 15243 354 | 9229 355 | 15496 356 | 1219 357 | 16463 358 | 9779 359 | 36978 360 | 31769 361 | 31399 362 | 22332 363 | 26112 364 | 13985 365 | 35405 366 | 31549 367 | 41071 368 | 26563 369 | 49282 370 | 19419 371 | 31764 372 | 9816 373 | 27778 374 | 4978 375 | 2204 376 | 35781 377 | 44210 378 | 45221 379 | 45534 380 | 30772 381 | 33138 382 | 19272 383 | 17286 384 | 13162 385 | 1054 386 | 27712 387 | 16537 388 | 32791 389 | 1015 390 | 35290 391 | 46307 392 | 49939 393 | 15631 394 | 35574 395 | 9862 396 | 43643 397 | 46353 398 | 40967 399 | 13297 400 | 33222 401 | 43847 402 | 575 403 | 24570 404 | 37912 405 | 46161 406 | 12964 407 | 16839 408 | 39380 409 | 7699 410 | 17471 411 | 1362 412 | 43550 413 | 11617 414 | 13716 415 | 22237 416 | 11955 417 | 37594 418 | 5033 419 | 7120 420 | 219 421 | 30971 422 | 17517 423 | 45233 424 | 14485 425 | 35238 426 | 44666 427 | 7119 428 | 11789 429 | 13298 430 | 47175 431 | 42107 432 | 22303 433 | 7286 434 | 27326 435 | 26948 436 | 42892 437 | 3286 438 | 11819 439 | 15444 440 | 22116 441 | 34945 442 | 14786 443 | 42056 444 | 27306 445 | 6701 446 | 17540 447 | 4900 448 | 27233 449 | 38915 450 | 4291 451 | 5209 452 | 19031 453 | 42832 454 | 21560 455 | 42510 456 | 8925 457 | 9397 458 | 31474 459 | 34604 460 | 27080 461 | 42318 462 | 17168 463 | 33710 464 | 39657 465 | 48002 466 | 45207 467 | 20726 468 | 11776 469 | 47551 470 | 27011 471 | 9125 472 | 32516 473 | 24290 474 | 31302 475 | 39616 476 | 4783 477 | 41026 478 | 29486 479 | 34038 480 | 32890 481 | 30369 482 | 32145 483 | 25420 484 | 24119 485 | 48878 486 | 30718 487 | 42016 488 | 41232 489 | 36431 490 | 15464 491 | 39391 492 | 33363 493 | 22423 494 | 13632 495 | 12405 496 | 38269 497 | 31463 498 | 7106 499 | 25340 500 | 35537 501 | 18346 502 | 31504 503 | 2387 504 | 30637 505 | 46800 506 | 24282 507 | 3380 508 | 47187 509 | 11858 510 | 20708 511 | 40788 512 | 10280 513 | 22107 514 | 7005 515 | 21994 516 | 13552 517 | 38293 518 | 29346 519 | 26039 520 | 10062 521 | 16202 522 | 31075 523 | 3059 524 | 21811 525 | 38253 526 | 36677 527 | 41430 528 | 40624 529 | 19470 530 | 36990 531 | 26651 532 | 25111 533 | 3198 534 | 46313 535 | 44056 536 | 17652 537 | 532 538 | 30969 539 | 33749 540 | 24296 541 | 17256 542 | 46809 543 | 26550 544 | 42675 545 | 36023 546 | 47552 547 | 13554 548 | 37726 549 | 27957 550 | 49280 551 | 49123 552 | 47836 553 | 38577 554 | 44269 555 | 25756 556 | 36685 557 | 8464 558 | 8719 559 | 10971 560 | 22764 561 | 40608 562 | 3253 563 | 13773 564 | 25217 565 | 13202 566 | 23415 567 | 49803 568 | 49327 569 | 43515 570 | 8690 571 | 22841 572 | 3 573 | 49514 574 | 1004 575 | 32422 576 | 48825 577 | 39899 578 | 30009 579 | 22898 580 | 34900 581 | 12203 582 | 37688 583 | 27340 584 | 49930 585 | 8646 586 | 6874 587 | 48407 588 | 19396 589 | 14242 590 | 5602 591 | 6740 592 | 181 593 | 21486 594 | 21862 595 | 7580 596 | 23010 597 | 28789 598 | 44735 599 | 254 600 | 23592 601 | 23014 602 | 43787 603 | 42691 604 | 11612 605 | 35168 606 | 12123 607 | 46907 608 | 41827 609 | 49078 610 | 26922 611 | 39981 612 | 43916 613 | 25148 614 | 26837 615 | 27597 616 | 10034 617 | 26974 618 | 22658 619 | 43279 620 | 15081 621 | 30781 622 | 34027 623 | 17334 624 | 47402 625 | 4525 626 | 1016 627 | 41561 628 | 38675 629 | 11012 630 | 24113 631 | 345 632 | 25743 633 | 36717 634 | 33517 635 | 33524 636 | 45549 637 | 32119 638 | 5609 639 | 28676 640 | 27781 641 | 35181 642 | 9574 643 | 43739 644 | 18010 645 | 39692 646 | 9466 647 | 21364 648 | 11403 649 | 10784 650 | 36386 651 | 39505 652 | 45070 653 | 29766 654 | 34915 655 | 35532 656 | 2471 657 | 29151 658 | 24661 659 | 20671 660 | 39903 661 | 6134 662 | 23978 663 | 44944 664 | 12809 665 | 12379 666 | 37026 667 | 38400 668 | 31037 669 | 40392 670 | 31336 671 | 47911 672 | 37210 673 | 35404 674 | 5627 675 | 14452 676 | 38666 677 | 37429 678 | 7411 679 | 49326 680 | 7899 681 | 29916 682 | 12937 683 | 10130 684 | 9427 685 | 44296 686 | 28819 687 | 27236 688 | 23785 689 | 39787 690 | 20010 691 | 43545 692 | 11291 693 | 44490 694 | 17782 695 | 40746 696 | 9578 697 | 18290 698 | 47271 699 | 723 700 | 9663 701 | 17673 702 | 35312 703 | 22682 704 | 4864 705 | 7559 706 | 15452 707 | 15714 708 | 48283 709 | 7328 710 | 34876 711 | 35207 712 | 33945 713 | 25493 714 | 31789 715 | 40436 716 | 49366 717 | 17718 718 | 33932 719 | 33449 720 | 16949 721 | 37340 722 | 20418 723 | 32161 724 | 43816 725 | 35458 726 | 32255 727 | 11754 728 | 9821 729 | 42966 730 | 15045 731 | 24672 732 | 48150 733 | 46164 734 | 31760 735 | 40845 736 | 29961 737 | 22868 738 | 6684 739 | 799 740 | 19122 741 | 40350 742 | 8026 743 | 41179 744 | 48116 745 | 45345 746 | 27878 747 | 20573 748 | 5628 749 | 35539 750 | 4441 751 | 33939 752 | 30143 753 | 19588 754 | 5495 755 | 4023 756 | 15355 757 | 47364 758 | 48736 759 | 34813 760 | 31861 761 | 16222 762 | 6579 763 | 1560 764 | 852 765 | 44849 766 | 21501 767 | 29354 768 | 37806 769 | 6010 770 | 36811 771 | 36331 772 | 25964 773 | 49706 774 | 30625 775 | 11294 776 | 16342 777 | 24277 778 | 32488 779 | 42487 780 | 8990 781 | 18413 782 | 7532 783 | 44010 784 | 30236 785 | 12348 786 | 36038 787 | 43709 788 | 17297 789 | 15239 790 | 37524 791 | 22932 792 | 23531 793 | 24347 794 | 17213 795 | 15890 796 | 31091 797 | 24674 798 | 2398 799 | 16716 800 | 28315 801 | 16965 802 | 29373 803 | 5166 804 | 15360 805 | 38681 806 | 46643 807 | 26710 808 | 33489 809 | 23019 810 | 10616 811 | 26760 812 | 24725 813 | 45357 814 | 9860 815 | 39606 816 | 39201 817 | 33012 818 | 29244 819 | 24132 820 | 45065 821 | 31226 822 | 27097 823 | 43093 824 | 32995 825 | 14362 826 | 15577 827 | 14182 828 | 4046 829 | 2911 830 | 23312 831 | 6409 832 | 8157 833 | 22380 834 | 6965 835 | 18013 836 | 44380 837 | 29799 838 | 27220 839 | 10254 840 | 10619 841 | 43251 842 | 21718 843 | 15439 844 | 31620 845 | 22549 846 | 35745 847 | 36719 848 | 12256 849 | 40981 850 | 23487 851 | 35773 852 | 6130 853 | 40652 854 | 12668 855 | 1452 856 | 3880 857 | 22873 858 | 10402 859 | 21011 860 | 34259 861 | 43873 862 | 6175 863 | 42508 864 | 18244 865 | 17705 866 | 18697 867 | 17496 868 | 12027 869 | 21809 870 | 40300 871 | 3079 872 | 10131 873 | 32797 874 | 16850 875 | 26801 876 | 20846 877 | 49328 878 | 36800 879 | 17716 880 | 46484 881 | 29395 882 | 48065 883 | 41312 884 | 24846 885 | 11719 886 | 28499 887 | 11578 888 | 1433 889 | 23599 890 | 33719 891 | 8044 892 | 22427 893 | 11720 894 | 26495 895 | 1284 896 | 26373 897 | 16098 898 | 49563 899 | 5037 900 | 32476 901 | 42420 902 | 40085 903 | 36761 904 | 37129 905 | 42969 906 | 30043 907 | 48813 908 | 27613 909 | 4386 910 | 33432 911 | 31274 912 | 24602 913 | 21190 914 | 19796 915 | 13606 916 | 21960 917 | 46884 918 | 28829 919 | 11999 920 | 17267 921 | 20174 922 | 39706 923 | 2692 924 | 42953 925 | 36886 926 | 46925 927 | 26947 928 | 2434 929 | 39460 930 | 31512 931 | 28519 932 | 24839 933 | 37203 934 | 23875 935 | 26101 936 | 12008 937 | 3570 938 | 37225 939 | 40498 940 | 31265 941 | 4107 942 | 20543 943 | 75 944 | 10144 945 | 18503 946 | 1043 947 | 27897 948 | 42724 949 | 27981 950 | 44991 951 | 28663 952 | 18019 953 | 33059 954 | 26861 955 | 8687 956 | 15891 957 | 20664 958 | 38846 959 | 30729 960 | 22013 961 | 45169 962 | 23448 963 | 44531 964 | 49450 965 | 12342 966 | 43817 967 | 12118 968 | 20607 969 | 39610 970 | 33960 971 | 1052 972 | 686 973 | 13983 974 | 24439 975 | 7009 976 | 25925 977 | 48193 978 | 9986 979 | 20489 980 | 39961 981 | 27023 982 | 12628 983 | 762 984 | 40669 985 | 18444 986 | 5383 987 | 19519 988 | 12566 989 | 22482 990 | 6556 991 | 30296 992 | 37847 993 | 11019 994 | 47945 995 | 1470 996 | 2767 997 | 28927 998 | 870 999 | 23346 1000 | 19683 1001 | 33242 1002 | 16302 1003 | 7585 1004 | 4768 1005 | 43393 1006 | 26111 1007 | 35391 1008 | 17470 1009 | 38722 1010 | 27548 1011 | 7285 1012 | 10335 1013 | 13195 1014 | 25839 1015 | 41924 1016 | 29137 1017 | 44914 1018 | 30136 1019 | 13382 1020 | 48767 1021 | 12253 1022 | 17483 1023 | 10397 1024 | 4989 1025 | 28391 1026 | 44177 1027 | 45035 1028 | 49630 1029 | 16649 1030 | 47391 1031 | 47482 1032 | 41449 1033 | 16462 1034 | 3393 1035 | 32297 1036 | 26853 1037 | 40932 1038 | 25015 1039 | 46677 1040 | 17415 1041 | 12086 1042 | 40053 1043 | 31968 1044 | 16724 1045 | 12314 1046 | 34855 1047 | 5727 1048 | 30025 1049 | 46001 1050 | 19315 1051 | 45457 1052 | 27171 1053 | 2738 1054 | 14451 1055 | 39490 1056 | 18129 1057 | 31178 1058 | 48668 1059 | 37522 1060 | 22990 1061 | 38040 1062 | 48598 1063 | 6650 1064 | 40977 1065 | 28523 1066 | 3692 1067 | 1280 1068 | 6585 1069 | 20131 1070 | 46251 1071 | 15877 1072 | 16826 1073 | 47005 1074 | 42653 1075 | 11888 1076 | 30132 1077 | 6979 1078 | 9433 1079 | 13092 1080 | 37146 1081 | 12355 1082 | 18162 1083 | 33008 1084 | 33982 1085 | 39625 1086 | 14109 1087 | 6357 1088 | 48052 1089 | 19735 1090 | 43714 1091 | 48260 1092 | 35586 1093 | 44505 1094 | 18613 1095 | 2495 1096 | 37883 1097 | 27118 1098 | 14404 1099 | 2225 1100 | 8818 1101 | 29950 1102 | 8706 1103 | 8603 1104 | 43471 1105 | 8117 1106 | 13573 1107 | 2850 1108 | 35935 1109 | 24415 1110 | 37219 1111 | 29131 1112 | 9038 1113 | 33620 1114 | 47145 1115 | 24165 1116 | 40966 1117 | 6881 1118 | 9322 1119 | 21219 1120 | 19884 1121 | 13977 1122 | 25186 1123 | 22222 1124 | 26982 1125 | 15804 1126 | 41988 1127 | 36093 1128 | 24147 1129 | 14507 1130 | 31292 1131 | 40909 1132 | 5725 1133 | 11693 1134 | 16458 1135 | 6526 1136 | 48107 1137 | 43947 1138 | 24750 1139 | 28665 1140 | 40822 1141 | 15017 1142 | 632 1143 | 41765 1144 | 49821 1145 | 45986 1146 | 17464 1147 | 24311 1148 | 27497 1149 | 22774 1150 | 19617 1151 | 44277 1152 | 10627 1153 | 37610 1154 | 7437 1155 | 31878 1156 | 1590 1157 | 13688 1158 | 14898 1159 | 3041 1160 | 26116 1161 | 43478 1162 | 26666 1163 | 4464 1164 | 27041 1165 | 39836 1166 | 16132 1167 | 40818 1168 | 8479 1169 | 45808 1170 | 11285 1171 | 39960 1172 | 35378 1173 | 28100 1174 | 19861 1175 | 29111 1176 | 8469 1177 | 6489 1178 | 2232 1179 | 3288 1180 | 42373 1181 | 16703 1182 | 21173 1183 | 15386 1184 | 1208 1185 | 17154 1186 | 43037 1187 | 30960 1188 | 39696 1189 | 11418 1190 | 31830 1191 | 2394 1192 | 20791 1193 | 652 1194 | 28118 1195 | 17222 1196 | 12403 1197 | 34004 1198 | 27202 1199 | 901 1200 | 2877 1201 | 18612 1202 | 14833 1203 | 36083 1204 | 26775 1205 | 3715 1206 | 39839 1207 | 2366 1208 | 38810 1209 | 26788 1210 | 23170 1211 | 15594 1212 | 40463 1213 | 24107 1214 | 6482 1215 | 21318 1216 | 20144 1217 | 29608 1218 | 3348 1219 | 27264 1220 | 42550 1221 | 29667 1222 | 4668 1223 | 7175 1224 | 20044 1225 | 49535 1226 | 29822 1227 | 46359 1228 | 24129 1229 | 44578 1230 | 22641 1231 | 13264 1232 | 11430 1233 | 31094 1234 | 21175 1235 | 8950 1236 | 18040 1237 | 13559 1238 | 7676 1239 | 42655 1240 | 1155 1241 | 26741 1242 | 21978 1243 | 4759 1244 | 21178 1245 | 23802 1246 | 24323 1247 | 1110 1248 | 1524 1249 | 35385 1250 | 13216 1251 | 30925 1252 | 15407 1253 | 22202 1254 | 40316 1255 | 21192 1256 | 11878 1257 | 17873 1258 | 40871 1259 | 27055 1260 | 25211 1261 | 31983 1262 | 35700 1263 | 33804 1264 | 22907 1265 | 8488 1266 | 4886 1267 | 17968 1268 | 23362 1269 | 24996 1270 | 6655 1271 | 29684 1272 | 31255 1273 | 15632 1274 | 10101 1275 | 3595 1276 | 9121 1277 | 35225 1278 | 6589 1279 | 35549 1280 | 13674 1281 | 43577 1282 | 6831 1283 | 15340 1284 | 3651 1285 | 14289 1286 | 45846 1287 | 17338 1288 | 36164 1289 | 35314 1290 | 3036 1291 | 33963 1292 | 40247 1293 | 28453 1294 | 49373 1295 | 4469 1296 | 30687 1297 | 10686 1298 | 40273 1299 | 17937 1300 | 8350 1301 | 36453 1302 | 48333 1303 | 26176 1304 | 2007 1305 | 14243 1306 | 36090 1307 | 46224 1308 | 23364 1309 | 13564 1310 | 7591 1311 | 12046 1312 | 21841 1313 | 48807 1314 | 1776 1315 | 48109 1316 | 27637 1317 | 18294 1318 | 33567 1319 | 43904 1320 | 3933 1321 | 31629 1322 | 32822 1323 | 32611 1324 | 6688 1325 | 990 1326 | 12614 1327 | 45828 1328 | 20792 1329 | 26159 1330 | 20434 1331 | 24881 1332 | 16755 1333 | 13115 1334 | 29945 1335 | 42229 1336 | 25795 1337 | 26091 1338 | 38807 1339 | 7920 1340 | 6967 1341 | 26055 1342 | 8503 1343 | 23914 1344 | 11610 1345 | 40415 1346 | 7486 1347 | 18506 1348 | 9905 1349 | 21187 1350 | 48803 1351 | 9832 1352 | 10410 1353 | 1285 1354 | 47144 1355 | 12487 1356 | 18038 1357 | 17293 1358 | 23356 1359 | 35398 1360 | 39260 1361 | 40262 1362 | 7873 1363 | 4790 1364 | 33737 1365 | 47595 1366 | 22683 1367 | 39659 1368 | 19527 1369 | 12553 1370 | 10875 1371 | 17695 1372 | 30756 1373 | 13874 1374 | 23181 1375 | 49851 1376 | 33013 1377 | 38047 1378 | 391 1379 | 3545 1380 | 20088 1381 | 42141 1382 | 35108 1383 | 30858 1384 | 49948 1385 | 33447 1386 | 20604 1387 | 21408 1388 | 23508 1389 | 26953 1390 | 29979 1391 | 8163 1392 | 46693 1393 | 15494 1394 | 37183 1395 | 31594 1396 | 33515 1397 | 13061 1398 | 1598 1399 | 68 1400 | 16855 1401 | 40660 1402 | 47999 1403 | 29747 1404 | 35166 1405 | 21614 1406 | 18095 1407 | 21728 1408 | 48959 1409 | 49174 1410 | 32408 1411 | 5797 1412 | 4559 1413 | 32503 1414 | 18953 1415 | 37112 1416 | 31816 1417 | 9453 1418 | 49730 1419 | 2044 1420 | 21805 1421 | 31973 1422 | 28572 1423 | 15853 1424 | 18820 1425 | 14800 1426 | 48378 1427 | 20740 1428 | 39904 1429 | 18427 1430 | 40812 1431 | 36081 1432 | 16355 1433 | 38756 1434 | 843 1435 | 12143 1436 | 977 1437 | 48389 1438 | 39879 1439 | 17617 1440 | 47826 1441 | 41634 1442 | 42348 1443 | 35169 1444 | 46263 1445 | 27717 1446 | 28947 1447 | 19488 1448 | 16018 1449 | 28587 1450 | 32621 1451 | 2912 1452 | 43124 1453 | 15084 1454 | 4149 1455 | 25579 1456 | 35092 1457 | 3800 1458 | 49085 1459 | 26682 1460 | 11664 1461 | 11350 1462 | 1316 1463 | 38131 1464 | 21217 1465 | 45032 1466 | 48304 1467 | 5559 1468 | 19794 1469 | 23004 1470 | 15060 1471 | 7098 1472 | 44653 1473 | 47094 1474 | 41419 1475 | 45904 1476 | 9442 1477 | 49063 1478 | 33349 1479 | 18884 1480 | 30211 1481 | 48436 1482 | 23494 1483 | 31805 1484 | 10139 1485 | 21153 1486 | 29880 1487 | 27094 1488 | 39643 1489 | 43521 1490 | 9901 1491 | 49254 1492 | 47487 1493 | 34821 1494 | 28313 1495 | 1834 1496 | 7418 1497 | 3250 1498 | 9994 1499 | 10999 1500 | 28502 1501 | 23732 1502 | 13267 1503 | 28432 1504 | 41522 1505 | 1001 1506 | 27625 1507 | 12659 1508 | 4101 1509 | 31200 1510 | 10690 1511 | 43549 1512 | 34573 1513 | 45764 1514 | 32574 1515 | 11290 1516 | 21345 1517 | 19999 1518 | 5291 1519 | 20071 1520 | 46352 1521 | 23050 1522 | 8216 1523 | 20323 1524 | 10667 1525 | 32745 1526 | 1522 1527 | 18698 1528 | 39529 1529 | 18447 1530 | 27846 1531 | 29269 1532 | 10589 1533 | 45523 1534 | 22379 1535 | 41622 1536 | 3804 1537 | 12797 1538 | 41960 1539 | 44219 1540 | 47155 1541 | 23314 1542 | 41675 1543 | 49204 1544 | 3268 1545 | 30454 1546 | 7103 1547 | 30726 1548 | 27353 1549 | 2511 1550 | 24811 1551 | 25141 1552 | 49418 1553 | 44488 1554 | 708 1555 | 39459 1556 | 36654 1557 | 49005 1558 | 43997 1559 | 15947 1560 | 20000 1561 | 32942 1562 | 27279 1563 | 16525 1564 | 17590 1565 | 32908 1566 | 18855 1567 | 44715 1568 | 16910 1569 | 47566 1570 | 11671 1571 | 48626 1572 | 26061 1573 | 14204 1574 | 30694 1575 | 38508 1576 | 1183 1577 | 2266 1578 | 2066 1579 | 26118 1580 | 7632 1581 | 36189 1582 | 20503 1583 | 30862 1584 | 42530 1585 | 5836 1586 | 16298 1587 | 9751 1588 | 14573 1589 | 6557 1590 | 7204 1591 | 8308 1592 | 26620 1593 | 22778 1594 | 35039 1595 | 36597 1596 | 15529 1597 | 41458 1598 | 48911 1599 | 11127 1600 | 19490 1601 | 13648 1602 | 30464 1603 | 33341 1604 | 33531 1605 | 18707 1606 | 31411 1607 | 29839 1608 | 26328 1609 | 21788 1610 | 45348 1611 | 41070 1612 | 32194 1613 | 1759 1614 | 38548 1615 | 10578 1616 | 16007 1617 | 19990 1618 | 24938 1619 | 30277 1620 | 24065 1621 | 3886 1622 | 16745 1623 | 37542 1624 | 48183 1625 | 7249 1626 | 43191 1627 | 28059 1628 | 30068 1629 | 10472 1630 | 40290 1631 | 36186 1632 | 48180 1633 | 49664 1634 | 14405 1635 | 8098 1636 | 15127 1637 | 35393 1638 | 21980 1639 | 3646 1640 | 25658 1641 | 17499 1642 | 22242 1643 | 13386 1644 | 47773 1645 | 34194 1646 | 48772 1647 | 29195 1648 | 29156 1649 | 5891 1650 | 46813 1651 | 16358 1652 | 18663 1653 | 17610 1654 | 36108 1655 | 6618 1656 | 22731 1657 | 35197 1658 | 20535 1659 | 2098 1660 | 43792 1661 | 7894 1662 | 619 1663 | 6437 1664 | 22739 1665 | 1243 1666 | 25604 1667 | 30259 1668 | 38798 1669 | 44255 1670 | 30957 1671 | 18800 1672 | 26869 1673 | 13106 1674 | 46372 1675 | 30246 1676 | 41715 1677 | 32433 1678 | 20669 1679 | 15543 1680 | 11292 1681 | 47030 1682 | 42303 1683 | 19210 1684 | 23005 1685 | 27119 1686 | 34441 1687 | 21227 1688 | 4388 1689 | 45977 1690 | 3425 1691 | 27773 1692 | 23840 1693 | 48467 1694 | 1332 1695 | 6128 1696 | 23404 1697 | 34478 1698 | 28066 1699 | 9284 1700 | 33470 1701 | 4098 1702 | 27664 1703 | 49987 1704 | 12636 1705 | 23884 1706 | 25992 1707 | 29332 1708 | 7399 1709 | 39601 1710 | 14699 1711 | 4875 1712 | 8494 1713 | 39626 1714 | 9271 1715 | 12039 1716 | 1125 1717 | 8406 1718 | 47241 1719 | 4556 1720 | 25116 1721 | 45666 1722 | 47530 1723 | 17110 1724 | 10238 1725 | 26172 1726 | 21197 1727 | 14378 1728 | 11594 1729 | 10674 1730 | 1938 1731 | 24499 1732 | 35334 1733 | 29129 1734 | 36973 1735 | 13272 1736 | 19437 1737 | 20609 1738 | 39987 1739 | 39647 1740 | 35325 1741 | 35024 1742 | 16611 1743 | 36960 1744 | 36789 1745 | 42407 1746 | 14829 1747 | 22146 1748 | 16299 1749 | 30846 1750 | 48286 1751 | 2229 1752 | 16595 1753 | 1109 1754 | 10633 1755 | 19410 1756 | 13414 1757 | 25025 1758 | 26287 1759 | 20512 1760 | 21964 1761 | 13294 1762 | 22163 1763 | 15457 1764 | 34763 1765 | 455 1766 | 16723 1767 | 28354 1768 | 20765 1769 | 34692 1770 | 27592 1771 | 20533 1772 | 32459 1773 | 13055 1774 | 18145 1775 | 36806 1776 | 19124 1777 | 15883 1778 | 34662 1779 | 33483 1780 | 20477 1781 | 47964 1782 | 49214 1783 | 39415 1784 | 3147 1785 | 3517 1786 | 6969 1787 | 29325 1788 | 30974 1789 | 14294 1790 | 15642 1791 | 42492 1792 | 23089 1793 | 22558 1794 | 12279 1795 | 19143 1796 | 28469 1797 | 20015 1798 | 49876 1799 | 29541 1800 | 31640 1801 | 1886 1802 | 11568 1803 | 35377 1804 | 18756 1805 | 46828 1806 | 7211 1807 | 48720 1808 | 36048 1809 | 26728 1810 | 12593 1811 | 38329 1812 | 27723 1813 | 29913 1814 | 48029 1815 | 26189 1816 | 1878 1817 | 20171 1818 | 40566 1819 | 47960 1820 | 34243 1821 | 12835 1822 | 47418 1823 | 39835 1824 | 17451 1825 | 13747 1826 | 16019 1827 | 27450 1828 | 15280 1829 | 25939 1830 | 8801 1831 | 9197 1832 | 29335 1833 | 14988 1834 | 33283 1835 | 13323 1836 | 8788 1837 | 8859 1838 | 29941 1839 | 10425 1840 | 44451 1841 | 20384 1842 | 4758 1843 | 24152 1844 | 3271 1845 | 5928 1846 | 5170 1847 | 34722 1848 | 29829 1849 | 3610 1850 | 43040 1851 | 33009 1852 | 6520 1853 | 39283 1854 | 21518 1855 | 42139 1856 | 34375 1857 | 5806 1858 | 46912 1859 | 47246 1860 | 45761 1861 | 25915 1862 | 34635 1863 | 16893 1864 | 2982 1865 | 16715 1866 | 45408 1867 | 1613 1868 | 36303 1869 | 23806 1870 | 1556 1871 | 40865 1872 | 14158 1873 | 28485 1874 | 28426 1875 | 14840 1876 | 24465 1877 | 5442 1878 | 7544 1879 | 39124 1880 | 10937 1881 | 30561 1882 | 9450 1883 | 36931 1884 | 38228 1885 | 42895 1886 | 27760 1887 | 44280 1888 | 2256 1889 | 49047 1890 | 810 1891 | 6208 1892 | 25559 1893 | 35282 1894 | 19293 1895 | 18972 1896 | 42955 1897 | 10839 1898 | 46590 1899 | 36042 1900 | 2035 1901 | 39935 1902 | 25769 1903 | 49133 1904 | 36579 1905 | 21885 1906 | 48828 1907 | 31821 1908 | 32053 1909 | 1113 1910 | 14094 1911 | 18835 1912 | 32517 1913 | 1448 1914 | 5357 1915 | 12277 1916 | 15374 1917 | 35430 1918 | 20764 1919 | 31651 1920 | 1193 1921 | 46961 1922 | 1525 1923 | 35406 1924 | 25455 1925 | 3558 1926 | 6248 1927 | 28006 1928 | 49158 1929 | 33865 1930 | 46103 1931 | 30178 1932 | 22830 1933 | 34827 1934 | 7081 1935 | 21713 1936 | 2939 1937 | 28746 1938 | 24417 1939 | 8517 1940 | 13238 1941 | 32363 1942 | 30860 1943 | 22326 1944 | 39316 1945 | 19453 1946 | 44806 1947 | 6886 1948 | 44435 1949 | 46003 1950 | 13949 1951 | 44790 1952 | 28524 1953 | 45884 1954 | 49920 1955 | 38592 1956 | 44509 1957 | 38395 1958 | 29503 1959 | 22227 1960 | 10778 1961 | 45131 1962 | 8031 1963 | 38905 1964 | 3758 1965 | 9660 1966 | 33241 1967 | 10386 1968 | 44596 1969 | 34352 1970 | 17522 1971 | 41852 1972 | 13903 1973 | 42644 1974 | 27986 1975 | 5021 1976 | 44046 1977 | 35244 1978 | 31593 1979 | 2823 1980 | 36070 1981 | 1446 1982 | 6229 1983 | 6957 1984 | 38868 1985 | 41736 1986 | 166 1987 | 5887 1988 | 15936 1989 | 42970 1990 | 40196 1991 | 37919 1992 | 27805 1993 | 33832 1994 | 16449 1995 | 13745 1996 | 2757 1997 | 22776 1998 | 37780 1999 | 28001 2000 | 38094 2001 | 31912 2002 | 10745 2003 | 5172 2004 | 6958 2005 | 5281 2006 | 29677 2007 | 39143 2008 | 14388 2009 | 12125 2010 | 43136 2011 | 11156 2012 | 32441 2013 | 23874 2014 | 24363 2015 | 44216 2016 | 43083 2017 | 2194 2018 | 40398 2019 | 30630 2020 | 4248 2021 | 24893 2022 | 24645 2023 | 37612 2024 | 30593 2025 | 2465 2026 | 14609 2027 | 46214 2028 | 8872 2029 | 29689 2030 | 8072 2031 | 32561 2032 | 14963 2033 | 39257 2034 | 24425 2035 | 48290 2036 | 17059 2037 | 45595 2038 | 1282 2039 | 14047 2040 | 6625 2041 | 25122 2042 | 12064 2043 | 12111 2044 | 15078 2045 | 46121 2046 | 24803 2047 | 17560 2048 | 34708 2049 | 27721 2050 | 13056 2051 | 23925 2052 | 12098 2053 | 33319 2054 | 2873 2055 | 49536 2056 | 27844 2057 | 3589 2058 | 26893 2059 | 23971 2060 | 20661 2061 | 23116 2062 | 3784 2063 | 21702 2064 | 35034 2065 | 5388 2066 | 13627 2067 | 48377 2068 | 19158 2069 | 11766 2070 | 15507 2071 | 25241 2072 | 15782 2073 | 8265 2074 | 25912 2075 | 18245 2076 | 6347 2077 | 48686 2078 | 12056 2079 | 21270 2080 | 47558 2081 | 17927 2082 | 19226 2083 | 35575 2084 | 10112 2085 | 21644 2086 | 6736 2087 | 44508 2088 | 9713 2089 | 29611 2090 | 22575 2091 | 37545 2092 | 15126 2093 | 28475 2094 | 41096 2095 | 31838 2096 | 41474 2097 | 22973 2098 | 38199 2099 | 40192 2100 | 13091 2101 | 48960 2102 | 30353 2103 | 47544 2104 | 3743 2105 | 49374 2106 | 42438 2107 | 7004 2108 | 3365 2109 | 10030 2110 | 8361 2111 | 5526 2112 | 47934 2113 | 32751 2114 | 48863 2115 | 10178 2116 | 40771 2117 | 47313 2118 | 34838 2119 | 338 2120 | 37318 2121 | 21241 2122 | 32241 2123 | 45878 2124 | 22214 2125 | 21647 2126 | 48741 2127 | 1515 2128 | 13807 2129 | 25423 2130 | 33794 2131 | 13914 2132 | 38281 2133 | 48431 2134 | 19789 2135 | 20860 2136 | 6194 2137 | 30567 2138 | 42472 2139 | 48634 2140 | 41036 2141 | 9248 2142 | 36859 2143 | 12389 2144 | 6200 2145 | 34760 2146 | 35973 2147 | 11304 2148 | 29683 2149 | 43483 2150 | 36294 2151 | 16947 2152 | 41299 2153 | 30952 2154 | 6584 2155 | 18464 2156 | 24926 2157 | 42633 2158 | 6802 2159 | 28283 2160 | 16486 2161 | 32770 2162 | 24390 2163 | 45359 2164 | 41559 2165 | 18276 2166 | 3030 2167 | 39820 2168 | 28794 2169 | 21148 2170 | 12887 2171 | 25355 2172 | 39139 2173 | 19668 2174 | 6249 2175 | 13795 2176 | 11949 2177 | 48179 2178 | 22178 2179 | 28984 2180 | 28830 2181 | 6450 2182 | 3248 2183 | 38615 2184 | 45849 2185 | 20020 2186 | 25465 2187 | 7419 2188 | 30131 2189 | 7545 2190 | 25120 2191 | 8686 2192 | 25383 2193 | 28617 2194 | 42868 2195 | 5996 2196 | 33125 2197 | 36237 2198 | 37159 2199 | 27402 2200 | 40023 2201 | 12933 2202 | 36902 2203 | 12193 2204 | 1229 2205 | 22366 2206 | 23268 2207 | 37735 2208 | 6952 2209 | 24035 2210 | 25998 2211 | 39821 2212 | 39036 2213 | 26490 2214 | 39341 2215 | 28991 2216 | 40010 2217 | 38190 2218 | 25759 2219 | 6349 2220 | 31247 2221 | 42400 2222 | 43186 2223 | 22209 2224 | 44840 2225 | 43345 2226 | 22958 2227 | 39549 2228 | 4004 2229 | 19307 2230 | 30407 2231 | 9274 2232 | 36921 2233 | 14353 2234 | 10431 2235 | 43310 2236 | 6617 2237 | 31459 2238 | 15230 2239 | 36346 2240 | 13421 2241 | 43229 2242 | 15963 2243 | 3366 2244 | 23818 2245 | 30284 2246 | 10019 2247 | 24469 2248 | 38069 2249 | 21058 2250 | 13933 2251 | 47639 2252 | 19616 2253 | 20570 2254 | 40214 2255 | 24939 2256 | 3243 2257 | 33695 2258 | 35049 2259 | 42601 2260 | 18596 2261 | 48270 2262 | 41950 2263 | 14226 2264 | 20732 2265 | 28569 2266 | 47099 2267 | 44226 2268 | 1443 2269 | 32160 2270 | 642 2271 | 49371 2272 | 24699 2273 | 18394 2274 | 7747 2275 | 36833 2276 | 35996 2277 | 44422 2278 | 45590 2279 | 15433 2280 | 4479 2281 | 17316 2282 | 30998 2283 | 34770 2284 | 36852 2285 | 19300 2286 | 34733 2287 | 41025 2288 | 23262 2289 | 34202 2290 | 14921 2291 | 31063 2292 | 23201 2293 | 31279 2294 | 43941 2295 | 17934 2296 | 43751 2297 | 46150 2298 | 23395 2299 | 4933 2300 | 46994 2301 | 31132 2302 | 21146 2303 | 860 2304 | 24164 2305 | 1853 2306 | 28196 2307 | 35976 2308 | 44409 2309 | 5342 2310 | 23511 2311 | 8427 2312 | 16394 2313 | 46210 2314 | 46273 2315 | 259 2316 | 9803 2317 | 31153 2318 | 8747 2319 | 77 2320 | 40284 2321 | 26804 2322 | 37037 2323 | 885 2324 | 5776 2325 | 44318 2326 | 18273 2327 | 44533 2328 | 49229 2329 | 31021 2330 | 21586 2331 | 30475 2332 | 27411 2333 | 39711 2334 | 42149 2335 | 14141 2336 | 2652 2337 | 42177 2338 | 31645 2339 | 37801 2340 | 2904 2341 | 4198 2342 | 33754 2343 | 38836 2344 | 27632 2345 | 16110 2346 | 35447 2347 | 45702 2348 | 26040 2349 | 24652 2350 | 3349 2351 | 49569 2352 | 32828 2353 | 10124 2354 | 44256 2355 | 32807 2356 | 32268 2357 | 13857 2358 | 7303 2359 | 17291 2360 | 22234 2361 | 47460 2362 | 48800 2363 | 36991 2364 | 27133 2365 | 8653 2366 | 23326 2367 | 42584 2368 | 7607 2369 | 21027 2370 | 34438 2371 | 19483 2372 | 41300 2373 | 49764 2374 | 23577 2375 | 17000 2376 | 19646 2377 | 44843 2378 | 46257 2379 | 10197 2380 | 13301 2381 | 22286 2382 | 30233 2383 | 5269 2384 | 42525 2385 | 3881 2386 | 21654 2387 | 557 2388 | 20152 2389 | 25919 2390 | 43979 2391 | 35823 2392 | 40579 2393 | 43269 2394 | 5134 2395 | 36423 2396 | 43756 2397 | 9529 2398 | 24179 2399 | 36731 2400 | 6515 2401 | 38021 2402 | 21067 2403 | 40496 2404 | 42995 2405 | 40171 2406 | 12265 2407 | 14197 2408 | 36253 2409 | 42193 2410 | 19743 2411 | 30497 2412 | 7650 2413 | 45763 2414 | 20647 2415 | 24170 2416 | 8797 2417 | 44967 2418 | 48837 2419 | 41044 2420 | 17165 2421 | 32746 2422 | 45336 2423 | 10620 2424 | 18020 2425 | 31164 2426 | 9035 2427 | 14679 2428 | 10083 2429 | 195 2430 | 25346 2431 | 10000 2432 | 17988 2433 | 3676 2434 | 46996 2435 | 4693 2436 | 37853 2437 | 48295 2438 | 35589 2439 | 20684 2440 | 8533 2441 | 34150 2442 | 6252 2443 | 13762 2444 | 27656 2445 | 9601 2446 | 16093 2447 | 42861 2448 | 29237 2449 | 31954 2450 | 11708 2451 | 15215 2452 | 33744 2453 | 4264 2454 | 42904 2455 | 37363 2456 | 416 2457 | 13062 2458 | 27276 2459 | 3638 2460 | 35867 2461 | 16888 2462 | 34270 2463 | 1610 2464 | 10758 2465 | 17576 2466 | 19312 2467 | 33136 2468 | 40974 2469 | 27454 2470 | 29706 2471 | 208 2472 | 45369 2473 | 46973 2474 | 42803 2475 | 43512 2476 | 48987 2477 | 6403 2478 | 32135 2479 | 17099 2480 | 26323 2481 | 31080 2482 | 42531 2483 | 21923 2484 | 15401 2485 | 49412 2486 | 46639 2487 | 49672 2488 | 34951 2489 | 34224 2490 | 21727 2491 | 6117 2492 | 6554 2493 | 15958 2494 | 22431 2495 | 40289 2496 | 14533 2497 | 47029 2498 | 13797 2499 | 2294 2500 | 12345 2501 | 18153 2502 | 4104 2503 | 20080 2504 | 39884 2505 | 9354 2506 | 49801 2507 | 14319 2508 | 5182 2509 | 21231 2510 | 27929 2511 | 39446 2512 | 17335 2513 | 34866 2514 | 49550 2515 | 14061 2516 | 8159 2517 | 32893 2518 | 42891 2519 | 10736 2520 | 35986 2521 | 8258 2522 | 3398 2523 | 8607 2524 | 71 2525 | 14133 2526 | 42422 2527 | 3831 2528 | 4785 2529 | 24765 2530 | 49913 2531 | 20840 2532 | 44701 2533 | 4682 2534 | 7281 2535 | 28336 2536 | 48077 2537 | 6677 2538 | 29494 2539 | 31361 2540 | 22833 2541 | 46037 2542 | 31598 2543 | 23726 2544 | 10544 2545 | 865 2546 | 47427 2547 | 35983 2548 | 49666 2549 | 1309 2550 | 34590 2551 | 33851 2552 | 16670 2553 | 5856 2554 | 23910 2555 | 44138 2556 | 16931 2557 | 39456 2558 | 11769 2559 | 40025 2560 | 21992 2561 | 27619 2562 | 6220 2563 | 1846 2564 | 41378 2565 | 45471 2566 | 34373 2567 | 45956 2568 | 44484 2569 | 25577 2570 | 20784 2571 | 45105 2572 | 43836 2573 | 22755 2574 | 2315 2575 | 6800 2576 | 37715 2577 | 12132 2578 | 7393 2579 | 20951 2580 | 34117 2581 | 2635 2582 | 35709 2583 | 1091 2584 | 1209 2585 | 12475 2586 | 26464 2587 | 28177 2588 | 15168 2589 | 43362 2590 | 6845 2591 | 49791 2592 | 32970 2593 | 4445 2594 | 20360 2595 | 23964 2596 | 10792 2597 | 9669 2598 | 45902 2599 | 41284 2600 | 17094 2601 | 22361 2602 | 28402 2603 | 31464 2604 | 38872 2605 | 39113 2606 | 35454 2607 | 39994 2608 | 12092 2609 | 28108 2610 | 41662 2611 | 38242 2612 | 38152 2613 | 18674 2614 | 25598 2615 | 31133 2616 | 2308 2617 | 47257 2618 | 18606 2619 | 15996 2620 | 7900 2621 | 16658 2622 | 7757 2623 | 10450 2624 | 5030 2625 | 44864 2626 | 24413 2627 | 26892 2628 | 19687 2629 | 1726 2630 | 27974 2631 | 13180 2632 | 48936 2633 | 28904 2634 | 5427 2635 | 12535 2636 | 35483 2637 | 3770 2638 | 47824 2639 | 15698 2640 | 25578 2641 | 44750 2642 | 26929 2643 | 7803 2644 | 41345 2645 | 13141 2646 | 40364 2647 | 24591 2648 | 23896 2649 | 10186 2650 | 37745 2651 | 38890 2652 | 36546 2653 | 1059 2654 | 47348 2655 | 34472 2656 | 30638 2657 | 40073 2658 | 16906 2659 | 33535 2660 | 30518 2661 | 299 2662 | 27441 2663 | 8198 2664 | 41115 2665 | 21057 2666 | 44428 2667 | 13245 2668 | 28859 2669 | 19484 2670 | 8337 2671 | 4573 2672 | 43503 2673 | 14754 2674 | 47827 2675 | 45085 2676 | 69 2677 | 8289 2678 | 19178 2679 | 40485 2680 | 20150 2681 | 3790 2682 | 32280 2683 | 38556 2684 | 44174 2685 | 15448 2686 | 27106 2687 | 46248 2688 | 16933 2689 | 26891 2690 | 32764 2691 | 25626 2692 | 15773 2693 | 49302 2694 | 34581 2695 | 30240 2696 | 37860 2697 | 28831 2698 | 5082 2699 | 26368 2700 | 2950 2701 | 22263 2702 | 26599 2703 | 26313 2704 | 48879 2705 | 3967 2706 | 48933 2707 | 28086 2708 | 30999 2709 | 15801 2710 | 39510 2711 | 15586 2712 | 20978 2713 | 38729 2714 | 38557 2715 | 6276 2716 | 9346 2717 | 9749 2718 | 26899 2719 | 36665 2720 | 34847 2721 | 19589 2722 | 8038 2723 | 33863 2724 | 5298 2725 | 29032 2726 | 46320 2727 | 14523 2728 | 29593 2729 | 33997 2730 | 23939 2731 | 42615 2732 | 43423 2733 | 40826 2734 | 33736 2735 | 44217 2736 | 22238 2737 | 25072 2738 | 36606 2739 | 12166 2740 | 12454 2741 | 17850 2742 | 23835 2743 | 41068 2744 | 41410 2745 | 9270 2746 | 864 2747 | 28620 2748 | 36252 2749 | 14386 2750 | 12417 2751 | 34386 2752 | 45086 2753 | 7796 2754 | 14728 2755 | 9576 2756 | 29616 2757 | 30945 2758 | 10517 2759 | 42884 2760 | 27852 2761 | 1905 2762 | 46343 2763 | 20251 2764 | 27873 2765 | 49779 2766 | 9656 2767 | 1227 2768 | 49251 2769 | 24300 2770 | 25720 2771 | 34227 2772 | 27110 2773 | 25943 2774 | 45731 2775 | 42435 2776 | 40799 2777 | 37165 2778 | 12581 2779 | 2449 2780 | 8114 2781 | 37921 2782 | 19684 2783 | 8447 2784 | 24794 2785 | 24741 2786 | 44980 2787 | 19534 2788 | 43357 2789 | 32703 2790 | 20013 2791 | 45477 2792 | 17341 2793 | 7701 2794 | 18144 2795 | 16903 2796 | 45166 2797 | 12117 2798 | 47385 2799 | 16604 2800 | 31554 2801 | 26150 2802 | 36578 2803 | 11760 2804 | 31671 2805 | 27997 2806 | 15023 2807 | 7640 2808 | 31995 2809 | 45911 2810 | 31891 2811 | 12819 2812 | 30678 2813 | 31644 2814 | 40733 2815 | 9176 2816 | 12244 2817 | 24629 2818 | 30262 2819 | 2909 2820 | 42482 2821 | 28791 2822 | 23382 2823 | 43815 2824 | 38415 2825 | 37440 2826 | 43869 2827 | 14972 2828 | 28854 2829 | 7289 2830 | 16233 2831 | 25780 2832 | 29375 2833 | 47423 2834 | 31574 2835 | 39547 2836 | 8063 2837 | 40795 2838 | 44674 2839 | 4395 2840 | 47151 2841 | 3044 2842 | 26303 2843 | 22627 2844 | 629 2845 | 14423 2846 | 18192 2847 | 34844 2848 | 5929 2849 | 34776 2850 | 36898 2851 | 12430 2852 | 1501 2853 | 37902 2854 | 30684 2855 | 37202 2856 | 11701 2857 | 20399 2858 | 36415 2859 | 15171 2860 | 6664 2861 | 17861 2862 | 32832 2863 | 6992 2864 | 6496 2865 | 38372 2866 | 16323 2867 | 24623 2868 | 8366 2869 | 11111 2870 | 46070 2871 | 41906 2872 | 10610 2873 | 31414 2874 | 11133 2875 | 25429 2876 | 37504 2877 | 29882 2878 | 27522 2879 | 43877 2880 | 4990 2881 | 4507 2882 | 283 2883 | 45830 2884 | 21920 2885 | 17529 2886 | 9237 2887 | 13139 2888 | 4539 2889 | 29914 2890 | 548 2891 | 590 2892 | 38534 2893 | 33426 2894 | 27428 2895 | 34429 2896 | 26372 2897 | 2333 2898 | 41573 2899 | 10165 2900 | 20296 2901 | 13890 2902 | 4470 2903 | 25841 2904 | 3916 2905 | 32359 2906 | 35887 2907 | 29653 2908 | 15492 2909 | 8200 2910 | 7902 2911 | 43957 2912 | 45687 2913 | 30082 2914 | 49797 2915 | 27865 2916 | 41215 2917 | 6915 2918 | 8420 2919 | 37569 2920 | 45985 2921 | 3912 2922 | 33739 2923 | 14966 2924 | 7008 2925 | 30408 2926 | 37427 2927 | 19968 2928 | 31692 2929 | 47697 2930 | 25735 2931 | 32867 2932 | 36745 2933 | 38948 2934 | 13775 2935 | 6717 2936 | 25751 2937 | 43961 2938 | 963 2939 | 9959 2940 | 24739 2941 | 30591 2942 | 2396 2943 | 21351 2944 | 33867 2945 | 35227 2946 | 23211 2947 | 2937 2948 | 24438 2949 | 32461 2950 | 26996 2951 | 41316 2952 | 18757 2953 | 20491 2954 | 25142 2955 | 35811 2956 | 31501 2957 | 26213 2958 | 47809 2959 | 27167 2960 | 38957 2961 | 1237 2962 | 42114 2963 | 16167 2964 | 24261 2965 | 10020 2966 | 21649 2967 | 34779 2968 | 12113 2969 | 5672 2970 | 1160 2971 | 39600 2972 | 46059 2973 | 23545 2974 | 17507 2975 | 41926 2976 | 15138 2977 | 5848 2978 | 3500 2979 | 43463 2980 | 34163 2981 | 12907 2982 | 12254 2983 | 32077 2984 | 29872 2985 | 16250 2986 | 40769 2987 | 29320 2988 | 10111 2989 | 21382 2990 | 39034 2991 | 48359 2992 | 29164 2993 | 14671 2994 | 40922 2995 | 32136 2996 | 34799 2997 | 26113 2998 | 37719 2999 | 7093 3000 | 8676 3001 | 30319 3002 | 38277 3003 | 20752 3004 | 49291 3005 | 24109 3006 | 26102 3007 | 39140 3008 | 6478 3009 | 6292 3010 | 32846 3011 | 10738 3012 | 25741 3013 | 21419 3014 | 20247 3015 | 29132 3016 | 36949 3017 | 45351 3018 | 31371 3019 | 823 3020 | 34684 3021 | 41253 3022 | 33903 3023 | 21460 3024 | 24523 3025 | 21360 3026 | 35237 3027 | 49667 3028 | 4815 3029 | 27836 3030 | 26889 3031 | 42186 3032 | 15999 3033 | 20843 3034 | 16278 3035 | 48071 3036 | 33454 3037 | 1526 3038 | 4465 3039 | 9114 3040 | 43021 3041 | 14124 3042 | 2824 3043 | 34687 3044 | 9162 3045 | 33331 3046 | 43007 3047 | 39402 3048 | 21185 3049 | 4270 3050 | 42187 3051 | 31935 3052 | 46714 3053 | 22019 3054 | 39775 3055 | 45004 3056 | 15188 3057 | 44155 3058 | 46836 3059 | 25017 3060 | 3309 3061 | 20826 3062 | 2316 3063 | 22822 3064 | 45168 3065 | 6614 3066 | 22651 3067 | 17053 3068 | 49512 3069 | 21161 3070 | 18717 3071 | 18323 3072 | 22269 3073 | 1661 3074 | 38311 3075 | 35636 3076 | 26460 3077 | 21065 3078 | 46420 3079 | 48639 3080 | 25239 3081 | 3950 3082 | 1578 3083 | 29856 3084 | 29475 3085 | 1742 3086 | 36906 3087 | 22886 3088 | 16776 3089 | 48521 3090 | 32207 3091 | 183 3092 | 28245 3093 | 11965 3094 | 38305 3095 | 36734 3096 | 38809 3097 | 34219 3098 | 1437 3099 | 14079 3100 | 10675 3101 | 2302 3102 | 48601 3103 | 2095 3104 | 25291 3105 | 39813 3106 | 16137 3107 | 45732 3108 | 23085 3109 | 47998 3110 | 10262 3111 | 34380 3112 | 35013 3113 | 16220 3114 | 24885 3115 | 6865 3116 | 34030 3117 | 39784 3118 | 33639 3119 | 8522 3120 | 19422 3121 | 38491 3122 | 37751 3123 | 42072 3124 | 13741 3125 | 10383 3126 | 13545 3127 | 19187 3128 | 49196 3129 | 41250 3130 | 31405 3131 | 10731 3132 | 14667 3133 | 41519 3134 | 21206 3135 | 43828 3136 | 13484 3137 | 21074 3138 | 2828 3139 | 24500 3140 | 24991 3141 | 29336 3142 | 4184 3143 | 24318 3144 | 11363 3145 | 27549 3146 | 27557 3147 | 6207 3148 | 34449 3149 | 34356 3150 | 31497 3151 | 16862 3152 | 45912 3153 | 6989 3154 | 29802 3155 | 34902 3156 | 38830 3157 | 42918 3158 | 19904 3159 | 35809 3160 | 38473 3161 | 16004 3162 | 2718 3163 | 41482 3164 | 3508 3165 | 33179 3166 | 23052 3167 | 47321 3168 | 12815 3169 | 147 3170 | 37818 3171 | 2157 3172 | 26508 3173 | 17144 3174 | 40190 3175 | 28274 3176 | 39850 3177 | 3339 3178 | 35602 3179 | 5093 3180 | 23200 3181 | 1218 3182 | 43779 3183 | 6604 3184 | 45586 3185 | 29005 3186 | 6009 3187 | 21887 3188 | 1181 3189 | 34728 3190 | 816 3191 | 22064 3192 | 36922 3193 | 30462 3194 | 41790 3195 | 32859 3196 | 48246 3197 | 40370 3198 | 48020 3199 | 46232 3200 | 38067 3201 | 27756 3202 | 30308 3203 | 23811 3204 | 21107 3205 | 37117 3206 | 49599 3207 | 1417 3208 | 24550 3209 | 45275 3210 | 111 3211 | 44633 3212 | 14009 3213 | 32953 3214 | 40325 3215 | 26582 3216 | 45134 3217 | 25709 3218 | 160 3219 | 43080 3220 | 21035 3221 | 31797 3222 | 2685 3223 | 18354 3224 | 16312 3225 | 8457 3226 | 21703 3227 | 49622 3228 | 8465 3229 | 14736 3230 | 45061 3231 | 6633 3232 | 19481 3233 | 10576 3234 | 45914 3235 | 7927 3236 | 127 3237 | 37154 3238 | 30513 3239 | 22855 3240 | 27815 3241 | 47076 3242 | 29551 3243 | 30531 3244 | 35380 3245 | 41783 3246 | 32279 3247 | 45101 3248 | 41837 3249 | 42394 3250 | 19867 3251 | 16647 3252 | 17268 3253 | 7323 3254 | 43365 3255 | 32767 3256 | 48126 3257 | 39714 3258 | 1175 3259 | 7114 3260 | 37992 3261 | 25655 3262 | 11441 3263 | 16875 3264 | 47832 3265 | 31894 3266 | 43396 3267 | 21279 3268 | 11837 3269 | 19294 3270 | 17480 3271 | 12309 3272 | 19956 3273 | 45707 3274 | 17044 3275 | 35503 3276 | 28614 3277 | 9979 3278 | 39308 3279 | 33367 3280 | 12304 3281 | 39907 3282 | 33229 3283 | 21975 3284 | 40984 3285 | 21675 3286 | 24050 3287 | 35631 3288 | 7563 3289 | 31883 3290 | 6708 3291 | 14941 3292 | 10704 3293 | 2972 3294 | 35284 3295 | 43785 3296 | 5331 3297 | 3834 3298 | 48581 3299 | 27358 3300 | 18550 3301 | 1428 3302 | 37135 3303 | 800 3304 | 49350 3305 | 17602 3306 | 14275 3307 | 32838 3308 | 37428 3309 | 15082 3310 | 9842 3311 | 27397 3312 | 3346 3313 | 48791 3314 | 19736 3315 | 3116 3316 | 25296 3317 | 49442 3318 | 8948 3319 | 35780 3320 | 10192 3321 | 20488 3322 | 49489 3323 | 28922 3324 | 11570 3325 | 35426 3326 | 2338 3327 | 33654 3328 | 37940 3329 | 29934 3330 | 30572 3331 | 33126 3332 | 19326 3333 | 36156 3334 | 15205 3335 | 33568 3336 | 11151 3337 | 13326 3338 | 18442 3339 | 19952 3340 | 47547 3341 | 21780 3342 | 14453 3343 | 27696 3344 | 37492 3345 | 16542 3346 | 34051 3347 | 34686 3348 | 2254 3349 | 6095 3350 | 6020 3351 | 23457 3352 | 27157 3353 | 30949 3354 | 8345 3355 | 49783 3356 | 35158 3357 | 8176 3358 | 15324 3359 | 35785 3360 | 37329 3361 | 30658 3362 | 36834 3363 | 25138 3364 | 21031 3365 | 23608 3366 | 25278 3367 | 37012 3368 | 2062 3369 | 20414 3370 | 31580 3371 | 5399 3372 | 18713 3373 | 1101 3374 | 37583 3375 | 36508 3376 | 6373 3377 | 29434 3378 | 33991 3379 | 42295 3380 | 30412 3381 | 8692 3382 | 9483 3383 | 43635 3384 | 19673 3385 | 19722 3386 | 49244 3387 | 34679 3388 | 3818 3389 | 21616 3390 | 23070 3391 | 7768 3392 | 47229 3393 | 15270 3394 | 27642 3395 | 46553 3396 | 30184 3397 | 38373 3398 | 20057 3399 | 37338 3400 | 41648 3401 | 42382 3402 | 9196 3403 | 717 3404 | 8875 3405 | 16146 3406 | 14137 3407 | 28877 3408 | 30316 3409 | 27702 3410 | 49013 3411 | 21535 3412 | 26591 3413 | 36808 3414 | 45613 3415 | 9030 3416 | 21087 3417 | 19543 3418 | 33398 3419 | 25540 3420 | 44458 3421 | 14068 3422 | 37932 3423 | 21083 3424 | 8710 3425 | 30088 3426 | 20325 3427 | 44821 3428 | 37377 3429 | 28636 3430 | 20256 3431 | 16168 3432 | 13169 3433 | 19950 3434 | 32843 3435 | 33721 3436 | 17753 3437 | 36461 3438 | 39234 3439 | 26044 3440 | 33393 3441 | 26327 3442 | 45037 3443 | 29548 3444 | 44988 3445 | 24222 3446 | 2450 3447 | 36567 3448 | 30363 3449 | 32979 3450 | 26622 3451 | 24210 3452 | 19162 3453 | 48583 3454 | 4923 3455 | 6007 3456 | 49719 3457 | 10852 3458 | 33826 3459 | 44343 3460 | 13437 3461 | 12976 3462 | 31733 3463 | 45108 3464 | 18478 3465 | 17909 3466 | 45578 3467 | 19632 3468 | 40924 3469 | 16760 3470 | 29823 3471 | 2036 3472 | 8901 3473 | 40243 3474 | 34753 3475 | 24618 3476 | 16828 3477 | 13288 3478 | 32891 3479 | 20302 3480 | 46966 3481 | 28234 3482 | 10189 3483 | 38814 3484 | 49598 3485 | 35437 3486 | 41084 3487 | 7510 3488 | 13506 3489 | 37672 3490 | 21015 3491 | 6521 3492 | 20249 3493 | 14892 3494 | 28296 3495 | 29084 3496 | 37313 3497 | 17783 3498 | 28883 3499 | 2260 3500 | 41261 3501 | 743 3502 | 20367 3503 | 21368 3504 | 34783 3505 | 28446 3506 | 46732 3507 | 40420 3508 | 33139 3509 | 17181 3510 | 12105 3511 | 9492 3512 | 49286 3513 | 11492 3514 | 22 3515 | 31659 3516 | 32356 3517 | 26090 3518 | 27309 3519 | 36297 3520 | 34841 3521 | 3739 3522 | 9235 3523 | 6552 3524 | 34649 3525 | 34840 3526 | 41452 3527 | 1609 3528 | 40756 3529 | 38992 3530 | 42512 3531 | 33235 3532 | 17315 3533 | 46234 3534 | 27403 3535 | 15480 3536 | 21474 3537 | 18543 3538 | 28386 3539 | 20539 3540 | 8817 3541 | 46814 3542 | 788 3543 | 20502 3544 | 32548 3545 | 21489 3546 | 34901 3547 | 4709 3548 | 15206 3549 | 31787 3550 | 42071 3551 | 46789 3552 | 23386 3553 | 30182 3554 | 2220 3555 | 39038 3556 | 45278 3557 | 37844 3558 | 39966 3559 | 22134 3560 | 48769 3561 | 27715 3562 | 2539 3563 | 24729 3564 | 24624 3565 | 7684 3566 | 856 3567 | 11552 3568 | 10420 3569 | 28656 3570 | 36543 3571 | 13803 3572 | 5707 3573 | 19618 3574 | 35701 3575 | 28696 3576 | 18879 3577 | 40947 3578 | 22803 3579 | 18474 3580 | 36914 3581 | 40464 3582 | 14739 3583 | 47550 3584 | 25712 3585 | 36832 3586 | 46487 3587 | 24554 3588 | 32134 3589 | 34200 3590 | 36540 3591 | 49294 3592 | 4689 3593 | 13183 3594 | 13235 3595 | 43054 3596 | 21214 3597 | 11438 3598 | 8906 3599 | 31389 3600 | 44093 3601 | 11354 3602 | 20490 3603 | 9146 3604 | 2463 3605 | 27914 3606 | 36987 3607 | 38098 3608 | 12060 3609 | 7039 3610 | 28591 3611 | 34724 3612 | 4328 3613 | 47893 3614 | 26587 3615 | 15652 3616 | 47020 3617 | 30264 3618 | 41208 3619 | 3329 3620 | 5567 3621 | 39489 3622 | 6061 3623 | 38704 3624 | 36092 3625 | 29390 3626 | 22826 3627 | 31199 3628 | 13102 3629 | 19984 3630 | 34393 3631 | 34443 3632 | 26283 3633 | 27455 3634 | 23232 3635 | 48074 3636 | 32773 3637 | 47808 3638 | 17916 3639 | 39827 3640 | 3471 3641 | 30298 3642 | 2574 3643 | 8871 3644 | 2966 3645 | 16136 3646 | 24784 3647 | 24766 3648 | 5872 3649 | 34748 3650 | 37330 3651 | 14567 3652 | 2169 3653 | 15971 3654 | 48430 3655 | 47075 3656 | 42444 3657 | 36007 3658 | 2110 3659 | 36696 3660 | 5721 3661 | 36344 3662 | 20147 3663 | 14971 3664 | 11323 3665 | 20977 3666 | 6387 3667 | 48799 3668 | 48862 3669 | 49959 3670 | 14534 3671 | 40044 3672 | 10881 3673 | 31852 3674 | 18133 3675 | 49723 3676 | 11682 3677 | 49281 3678 | 10491 3679 | 26270 3680 | 17630 3681 | 29204 3682 | 41121 3683 | 18554 3684 | 7036 3685 | 9128 3686 | 8506 3687 | 29163 3688 | 944 3689 | 45492 3690 | 20297 3691 | 37799 3692 | 11094 3693 | 14264 3694 | 47554 3695 | 2325 3696 | 19854 3697 | 31776 3698 | 32748 3699 | 22908 3700 | 9172 3701 | 47086 3702 | 27144 3703 | 24930 3704 | 2721 3705 | 28015 3706 | 46256 3707 | 9770 3708 | 36976 3709 | 32353 3710 | 42251 3711 | 15459 3712 | 44703 3713 | 690 3714 | 5413 3715 | 21158 3716 | 46482 3717 | 28742 3718 | 14636 3719 | 883 3720 | 46237 3721 | 33554 3722 | 2153 3723 | 34694 3724 | 6814 3725 | 19788 3726 | 3697 3727 | 6885 3728 | 45295 3729 | 11830 3730 | 28990 3731 | 20863 3732 | 18591 3733 | 16825 3734 | 23872 3735 | 24095 3736 | 7431 3737 | 44973 3738 | 581 3739 | 8344 3740 | 17006 3741 | 39417 3742 | 1274 3743 | 42864 3744 | 42527 3745 | 42646 3746 | 42769 3747 | 44978 3748 | 14062 3749 | 3035 3750 | 31112 3751 | 16586 3752 | 23641 3753 | 32337 3754 | 3341 3755 | 39015 3756 | 42096 3757 | 44491 3758 | 44809 3759 | 46953 3760 | 41578 3761 | 5978 3762 | 9869 3763 | 39597 3764 | 4013 3765 | 49022 3766 | 43147 3767 | 21307 3768 | 40238 3769 | 32151 3770 | 33992 3771 | 46751 3772 | 30274 3773 | 19926 3774 | 16203 3775 | 18058 3776 | 959 3777 | 5148 3778 | 39598 3779 | 22785 3780 | 31536 3781 | 20377 3782 | 32034 3783 | 37702 3784 | 21292 3785 | 27724 3786 | 18600 3787 | 22569 3788 | 29712 3789 | 5354 3790 | 24051 3791 | 38286 3792 | 2672 3793 | 41332 3794 | 42449 3795 | 30086 3796 | 49738 3797 | 8312 3798 | 461 3799 | 32378 3800 | 47329 3801 | 608 3802 | 18437 3803 | 30071 3804 | 27484 3805 | 5773 3806 | 47523 3807 | 31626 3808 | 827 3809 | 22488 3810 | 43780 3811 | 6302 3812 | 47248 3813 | 5515 3814 | 34764 3815 | 11542 3816 | 18094 3817 | 48571 3818 | 40093 3819 | 2581 3820 | 9014 3821 | 48282 3822 | 18942 3823 | 19371 3824 | 43231 3825 | 40164 3826 | 34811 3827 | 39737 3828 | 47295 3829 | 43934 3830 | 36376 3831 | 28912 3832 | 8131 3833 | 5374 3834 | 28799 3835 | 32820 3836 | 14286 3837 | 8108 3838 | 18298 3839 | 13262 3840 | 29227 3841 | 40915 3842 | 4872 3843 | 49634 3844 | 18536 3845 | 9093 3846 | 30238 3847 | 39360 3848 | 48974 3849 | 35830 3850 | 15861 3851 | 19254 3852 | 9771 3853 | 37371 3854 | 9809 3855 | 19832 3856 | 3301 3857 | 43743 3858 | 9086 3859 | 1996 3860 | 45568 3861 | 46866 3862 | 7832 3863 | 46282 3864 | 26864 3865 | 20072 3866 | 5171 3867 | 40552 3868 | 49562 3869 | 18773 3870 | 21876 3871 | 11750 3872 | 17030 3873 | 10527 3874 | 47167 3875 | 25266 3876 | 6356 3877 | 25729 3878 | 11053 3879 | 7391 3880 | 21384 3881 | 20175 3882 | 14761 3883 | 12185 3884 | 28493 3885 | 22373 3886 | 36441 3887 | 46433 3888 | 3167 3889 | 34828 3890 | 37083 3891 | 2520 3892 | 44086 3893 | 4491 3894 | 44881 3895 | 5255 3896 | 46046 3897 | 12362 3898 | 14090 3899 | 4935 3900 | 9921 3901 | 18813 3902 | 14820 3903 | 19381 3904 | 42439 3905 | 45606 3906 | 33082 3907 | 2488 3908 | 36435 3909 | 7022 3910 | 46710 3911 | 43985 3912 | 30370 3913 | 37110 3914 | 10326 3915 | 43973 3916 | 29518 3917 | 42281 3918 | 12407 3919 | 29851 3920 | 26634 3921 | 24233 3922 | 30589 3923 | 2580 3924 | 37208 3925 | 43630 3926 | 7570 3927 | 40090 3928 | 5500 3929 | 41437 3930 | 18321 3931 | 12007 3932 | 37680 3933 | 20551 3934 | 2355 3935 | 16367 3936 | 17605 3937 | 18075 3938 | 36289 3939 | 45415 3940 | 43557 3941 | 48262 3942 | 18461 3943 | 25522 3944 | 12615 3945 | 40539 3946 | 5538 3947 | 13505 3948 | 9510 3949 | 15438 3950 | 30482 3951 | 16514 3952 | 6731 3953 | 21411 3954 | 45472 3955 | 16868 3956 | 8939 3957 | 28760 3958 | 16069 3959 | 13555 3960 | 43687 3961 | 4225 3962 | 29058 3963 | 45756 3964 | 863 3965 | 36438 3966 | 4801 3967 | 48552 3968 | 26021 3969 | 43620 3970 | 5347 3971 | 26911 3972 | 42104 3973 | 13021 3974 | 21801 3975 | 6322 3976 | 44109 3977 | 31489 3978 | 504 3979 | 4576 3980 | 3086 3981 | 47453 3982 | 2373 3983 | 42715 3984 | 32914 3985 | 41590 3986 | 26221 3987 | 42823 3988 | 40529 3989 | 771 3990 | 40441 3991 | 35598 3992 | 38515 3993 | 26811 3994 | 23892 3995 | 21796 3996 | 16109 3997 | 28435 3998 | 35165 3999 | 1317 4000 | 42723 4001 | 24684 4002 | 1646 4003 | 20442 4004 | 45959 4005 | 26272 4006 | 37393 4007 | 46700 4008 | 22492 4009 | 2938 4010 | 32587 4011 | 19346 4012 | 12724 4013 | 24917 4014 | 34060 4015 | 39906 4016 | 23040 4017 | 37614 4018 | 9935 4019 | 40322 4020 | 1124 4021 | 16582 4022 | 15026 4023 | 45486 4024 | 40307 4025 | 11142 4026 | 36216 4027 | 4349 4028 | 35071 4029 | 26146 4030 | 4893 4031 | 41806 4032 | 25986 4033 | 4924 4034 | 48490 4035 | 7599 4036 | 26730 4037 | 14012 4038 | 16276 4039 | 31533 4040 | 29481 4041 | 8897 4042 | 30135 4043 | 6047 4044 | 35914 4045 | 9676 4046 | 46522 4047 | 38312 4048 | 20235 4049 | 48245 4050 | 4380 4051 | 15149 4052 | 37290 4053 | 16318 4054 | 1105 4055 | 2156 4056 | 45200 4057 | 3401 4058 | 39373 4059 | 21025 4060 | 49643 4061 | 196 4062 | 30362 4063 | 45491 4064 | 21919 4065 | 12688 4066 | 15119 4067 | 37465 4068 | 48259 4069 | 9696 4070 | 39292 4071 | 19383 4072 | 13060 4073 | 47807 4074 | 42358 4075 | 27139 4076 | 8559 4077 | 40161 4078 | 47817 4079 | 16503 4080 | 10222 4081 | 22395 4082 | 46294 4083 | 41277 4084 | 27099 4085 | 29751 4086 | 4599 4087 | 41444 4088 | 14006 4089 | 41058 4090 | 7373 4091 | 12565 4092 | 22692 4093 | 15252 4094 | 34666 4095 | 12246 4096 | 13258 4097 | 7370 4098 | 46266 4099 | 5547 4100 | 22308 4101 | 33522 4102 | 17503 4103 | 324 4104 | 10505 4105 | 22717 4106 | 28783 4107 | 43606 4108 | 41672 4109 | 19595 4110 | 48025 4111 | 22970 4112 | 44909 4113 | 42901 4114 | 25557 4115 | 47572 4116 | 39822 4117 | 36329 4118 | 35336 4119 | 15304 4120 | 24921 4121 | 46908 4122 | 18702 4123 | 10909 4124 | 26553 4125 | 32376 4126 | 45366 4127 | 5275 4128 | 15113 4129 | 33931 4130 | 10519 4131 | 9746 4132 | 14398 4133 | 36727 4134 | 1029 4135 | 13944 4136 | 28096 4137 | 11296 4138 | 3507 4139 | 40408 4140 | 33090 4141 | 5244 4142 | 4419 4143 | 6227 4144 | 10901 4145 | 6570 4146 | 20824 4147 | 20923 4148 | 39637 4149 | 37781 4150 | 11405 4151 | 7375 4152 | 16535 4153 | 8319 4154 | 35536 4155 | 37489 4156 | 10886 4157 | 15646 4158 | 16633 4159 | 43773 4160 | 31275 4161 | 34291 4162 | 27312 4163 | 1258 4164 | 48916 4165 | 6278 4166 | 32070 4167 | 34369 4168 | 6204 4169 | 31846 4170 | 47126 4171 | 44340 4172 | 18576 4173 | 17785 4174 | 15617 4175 | 1694 4176 | 41303 4177 | 28685 4178 | 27531 4179 | 47238 4180 | 41231 4181 | 34520 4182 | 1857 4183 | 41423 4184 | 7835 4185 | 47818 4186 | 19412 4187 | 34310 4188 | 40384 4189 | 22906 4190 | 38858 4191 | 4627 4192 | 971 4193 | 2346 4194 | 36728 4195 | 3199 4196 | 17887 4197 | 3688 4198 | 27459 4199 | 10311 4200 | 6712 4201 | 29742 4202 | 48427 4203 | 43382 4204 | 39707 4205 | 6924 4206 | 16886 4207 | 9462 4208 | 5898 4209 | 30467 4210 | 11005 4211 | 43069 4212 | 8736 4213 | 35148 4214 | 27972 4215 | 35451 4216 | 44795 4217 | 3412 4218 | 8627 4219 | 39 4220 | 1406 4221 | 28319 4222 | 2619 4223 | 15294 4224 | 6473 4225 | 37802 4226 | 19044 4227 | 48327 4228 | 27833 4229 | 15427 4230 | 47576 4231 | 8187 4232 | 34851 4233 | 33516 4234 | 12311 4235 | 46598 4236 | 30547 4237 | 42171 4238 | 35213 4239 | 17157 4240 | 30633 4241 | 23453 4242 | 27462 4243 | 37978 4244 | 49201 4245 | 33758 4246 | 21897 4247 | 30578 4248 | 46271 4249 | 36812 4250 | 38248 4251 | 40378 4252 | 31563 4253 | 4782 4254 | 13638 4255 | 18786 4256 | 21638 4257 | 43283 4258 | 35350 4259 | 11452 4260 | 40961 4261 | 49501 4262 | 18839 4263 | 518 4264 | 43692 4265 | 12601 4266 | 1663 4267 | 2821 4268 | 14952 4269 | 43731 4270 | 28102 4271 | 45654 4272 | 16640 4273 | 38602 4274 | 31236 4275 | 25623 4276 | 35998 4277 | 37061 4278 | 20358 4279 | 1707 4280 | 162 4281 | 8058 4282 | 935 4283 | 10604 4284 | 8876 4285 | 28466 4286 | 23413 4287 | 12423 4288 | 1957 4289 | 16247 4290 | 38942 4291 | 36305 4292 | 21233 4293 | 23388 4294 | 20992 4295 | 35933 4296 | 28440 4297 | 28239 4298 | 31221 4299 | 4132 4300 | 44349 4301 | 1997 4302 | 37014 4303 | 25661 4304 | 45915 4305 | 7608 4306 | 38412 4307 | 38987 4308 | 13990 4309 | 14994 4310 | 42466 4311 | 47528 4312 | 18610 4313 | 31925 4314 | 34234 4315 | 49008 4316 | 32665 4317 | 35309 4318 | 26719 4319 | 2002 4320 | 42290 4321 | 45667 4322 | 47638 4323 | 22229 4324 | 2401 4325 | 1312 4326 | 12592 4327 | 27908 4328 | 10299 4329 | 20196 4330 | 25225 4331 | 2723 4332 | 37724 4333 | 4110 4334 | 38298 4335 | 28461 4336 | 38780 4337 | 36135 4338 | 3045 4339 | 28160 4340 | 5645 4341 | 1342 4342 | 43676 4343 | 24004 4344 | 44949 4345 | 8149 4346 | 22547 4347 | 31683 4348 | 4392 4349 | 10660 4350 | 25436 4351 | 38008 4352 | 8145 4353 | 9737 4354 | 49062 4355 | 13727 4356 | 8386 4357 | 16984 4358 | 33823 4359 | 34055 4360 | 23710 4361 | 24617 4362 | 43617 4363 | 40341 4364 | 16255 4365 | 44926 4366 | 24849 4367 | 39516 4368 | 11914 4369 | 17410 4370 | 46139 4371 | 37769 4372 | 42851 4373 | 43056 4374 | 25637 4375 | 24711 4376 | 27429 4377 | 21820 4378 | 341 4379 | 12710 4380 | 27688 4381 | 35741 4382 | 41508 4383 | 25628 4384 | 9967 4385 | 23 4386 | 9484 4387 | 8197 4388 | 45803 4389 | 17276 4390 | 20447 4391 | 21454 4392 | 23841 4393 | 32421 4394 | 37152 4395 | 43970 4396 | 3284 4397 | 12300 4398 | 30727 4399 | 16515 4400 | 16920 4401 | 27540 4402 | 38485 4403 | 33190 4404 | 39081 4405 | 31663 4406 | 39639 4407 | 44345 4408 | 3372 4409 | 6323 4410 | 25453 4411 | 23704 4412 | 31272 4413 | 37305 4414 | 21568 4415 | 11826 4416 | 37988 4417 | 24375 4418 | 47743 4419 | 16516 4420 | 17206 4421 | 5092 4422 | 18661 4423 | 32702 4424 | 47060 4425 | 26396 4426 | 48705 4427 | 29762 4428 | 3161 4429 | 11288 4430 | 41280 4431 | 16340 4432 | 12236 4433 | 23606 4434 | 25659 4435 | 8284 4436 | 9960 4437 | 9932 4438 | 47259 4439 | 45177 4440 | 36561 4441 | 15986 4442 | 25195 4443 | 37737 4444 | 1232 4445 | 23996 4446 | 3639 4447 | 28390 4448 | 45452 4449 | 32367 4450 | 18258 4451 | 28751 4452 | 9406 4453 | 5430 4454 | 20506 4455 | 19372 4456 | 32051 4457 | 7573 4458 | 15526 4459 | 9168 4460 | 11908 4461 | 17764 4462 | 1801 4463 | 27150 4464 | 17008 4465 | 36993 4466 | 28996 4467 | 1306 4468 | 39742 4469 | 28168 4470 | 13763 4471 | 38596 4472 | 42624 4473 | 3406 4474 | 47417 4475 | 47512 4476 | 47351 4477 | 7317 4478 | 29511 4479 | 6054 4480 | 630 4481 | 40803 4482 | 34097 4483 | 32877 4484 | 34123 4485 | 3741 4486 | 11782 4487 | 43324 4488 | 38215 4489 | 19319 4490 | 24933 4491 | 6492 4492 | 26431 4493 | 5988 4494 | 46031 4495 | 46790 4496 | 9536 4497 | 5461 4498 | 48534 4499 | 384 4500 | 42536 4501 | 41630 4502 | 17312 4503 | 10842 4504 | 8954 4505 | 39115 4506 | 34976 4507 | 9687 4508 | 31956 4509 | 16972 4510 | 48248 4511 | 25083 4512 | 1607 4513 | 26282 4514 | 26382 4515 | 791 4516 | 6110 4517 | 30198 4518 | 10196 4519 | 13480 4520 | 3982 4521 | 24580 4522 | 15638 4523 | 27064 4524 | 38923 4525 | 24426 4526 | 7078 4527 | 20362 4528 | 2427 4529 | 26196 4530 | 5389 4531 | 36372 4532 | 39995 4533 | 29404 4534 | 12556 4535 | 1277 4536 | 6999 4537 | 16309 4538 | 17130 4539 | 19359 4540 | 37141 4541 | 28394 4542 | 37412 4543 | 46030 4544 | 230 4545 | 21921 4546 | 10082 4547 | 21808 4548 | 14708 4549 | 1649 4550 | 6101 4551 | 35180 4552 | 44088 4553 | 35132 4554 | 44311 4555 | 30579 4556 | 18890 4557 | 11375 4558 | 44733 4559 | 46702 4560 | 47637 4561 | 40874 4562 | 19581 4563 | 11193 4564 | 3636 4565 | 11293 4566 | 21511 4567 | 28690 4568 | 14763 4569 | 9130 4570 | 1026 4571 | 36364 4572 | 7343 4573 | 19461 4574 | 10338 4575 | 8062 4576 | 43006 4577 | 31058 4578 | 1725 4579 | 313 4580 | 40627 4581 | 22649 4582 | 24905 4583 | 31320 4584 | 2641 4585 | 31019 4586 | 37088 4587 | 10200 4588 | 21719 4589 | 21066 4590 | 47127 4591 | 47896 4592 | 14266 4593 | 10974 4594 | 4541 4595 | 49163 4596 | 6531 4597 | 48373 4598 | 47004 4599 | 15896 4600 | 38303 4601 | 48641 4602 | 5924 4603 | 46322 4604 | 8485 4605 | 29265 4606 | 35776 4607 | 9002 4608 | 26679 4609 | 9671 4610 | 10678 4611 | 3642 4612 | 3418 4613 | 25824 4614 | 43681 4615 | 28917 4616 | 12951 4617 | 48483 4618 | 8320 4619 | 18926 4620 | 36370 4621 | 31157 4622 | 35727 4623 | 12038 4624 | 48511 4625 | 9744 4626 | 23865 4627 | 25454 4628 | 25831 4629 | 27252 4630 | 25102 4631 | 8502 4632 | 37263 4633 | 2903 4634 | 38510 4635 | 12204 4636 | 21429 4637 | 19117 4638 | 49076 4639 | 14407 4640 | 36544 4641 | 47350 4642 | 18616 4643 | 19710 4644 | 25460 4645 | 511 4646 | 44169 4647 | 20574 4648 | 37300 4649 | 41329 4650 | 46891 4651 | 16797 4652 | 35143 4653 | 40897 4654 | 12275 4655 | 11499 4656 | 28886 4657 | 26694 4658 | 3703 4659 | 11556 4660 | 32354 4661 | 48519 4662 | 38630 4663 | 10409 4664 | 35432 4665 | 30525 4666 | 27554 4667 | 47265 4668 | 21471 4669 | 7309 4670 | 29109 4671 | 46253 4672 | 34661 4673 | 23523 4674 | 28921 4675 | 35379 4676 | 16139 4677 | 14881 4678 | 23224 4679 | 2142 4680 | 43507 4681 | 28018 4682 | 892 4683 | 47543 4684 | 4252 4685 | 12776 4686 | 33949 4687 | 37119 4688 | 14848 4689 | 33825 4690 | 30897 4691 | 22557 4692 | 35059 4693 | 6631 4694 | 6590 4695 | 38566 4696 | 12110 4697 | 15647 4698 | 35110 4699 | 43965 4700 | 49347 4701 | 37888 4702 | 16813 4703 | 1466 4704 | 1189 4705 | 46096 4706 | 15527 4707 | 14379 4708 | 46900 4709 | 33817 4710 | 27762 4711 | 44016 4712 | 25672 4713 | 3177 4714 | 47292 4715 | 44482 4716 | 43459 4717 | 45398 4718 | 2608 4719 | 17302 4720 | 49195 4721 | 27530 4722 | 40458 4723 | 44593 4724 | 2562 4725 | 21125 4726 | 9714 4727 | 33445 4728 | 4061 4729 | 20830 4730 | 49277 4731 | 44997 4732 | 45593 4733 | 15347 4734 | 11066 4735 | 11129 4736 | 4910 4737 | 8487 4738 | 18076 4739 | 44067 4740 | 21745 4741 | 29995 4742 | 14488 4743 | 1462 4744 | 14689 4745 | 22226 4746 | 2494 4747 | 11436 4748 | 5652 4749 | 19426 4750 | 18914 4751 | 33121 4752 | 12337 4753 | 1838 4754 | 44205 4755 | 25851 4756 | 934 4757 | 46579 4758 | 46025 4759 | 7793 4760 | 400 4761 | 5756 4762 | 38347 4763 | 9422 4764 | 14626 4765 | 16555 4766 | 14643 4767 | 547 4768 | 21979 4769 | 13780 4770 | 29161 4771 | 36621 4772 | 11454 4773 | 34988 4774 | 42289 4775 | 31028 4776 | 44800 4777 | 27030 4778 | 5054 4779 | 1046 4780 | 49303 4781 | 41768 4782 | 45700 4783 | 7551 4784 | 40371 4785 | 4156 4786 | 36117 4787 | 18766 4788 | 17085 4789 | 43508 4790 | 8358 4791 | 24573 4792 | 16200 4793 | 3617 4794 | 33847 4795 | 44045 4796 | 33093 4797 | 22952 4798 | 46855 4799 | 32897 4800 | 12686 4801 | 4195 4802 | 42547 4803 | 1823 4804 | 44829 4805 | 41323 4806 | 38158 4807 | 15540 4808 | 5854 4809 | 16639 4810 | 29963 4811 | 2545 4812 | 29327 4813 | 19373 4814 | 2960 4815 | 49878 4816 | 17552 4817 | 24973 4818 | 10859 4819 | 32657 4820 | 25240 4821 | 9244 4822 | 20758 4823 | 18213 4824 | 27244 4825 | 47877 4826 | 48871 4827 | 4632 4828 | 27953 4829 | 28535 4830 | 35853 4831 | 34765 4832 | 2700 4833 | 46435 4834 | 25297 4835 | 31615 4836 | 21108 4837 | 33277 4838 | 46711 4839 | 19457 4840 | 20234 4841 | 34897 4842 | 39457 4843 | 33760 4844 | 48166 4845 | 19828 4846 | 34848 4847 | 15034 4848 | 15445 4849 | 25886 4850 | 17645 4851 | 18032 4852 | 25602 4853 | 33058 4854 | 14228 4855 | 45262 4856 | 28371 4857 | 3791 4858 | 11228 4859 | 39087 4860 | 28583 4861 | 23369 4862 | 36284 4863 | 38928 4864 | 14861 4865 | 7655 4866 | 25031 4867 | 40556 4868 | 3491 4869 | 37424 4870 | 14302 4871 | 21924 4872 | 23849 4873 | 33838 4874 | 17 4875 | 15793 4876 | 10684 4877 | 27949 4878 | 40168 4879 | 15749 4880 | 37464 4881 | 43400 4882 | 20592 4883 | 19607 4884 | 36439 4885 | 21010 4886 | 31899 4887 | 47258 4888 | 13942 4889 | 16954 4890 | 25821 4891 | 48042 4892 | 23008 4893 | 428 4894 | 29017 4895 | 48673 4896 | 39785 4897 | 43596 4898 | 7884 4899 | 5714 4900 | 41368 4901 | 5063 4902 | 47291 4903 | 26782 4904 | 29937 4905 | 43852 4906 | 33110 4907 | 20449 4908 | 11547 4909 | 39420 4910 | 929 4911 | 19014 4912 | 578 4913 | 20881 4914 | 32810 4915 | 38492 4916 | 18385 4917 | 11092 4918 | 692 4919 | 16894 4920 | 14155 4921 | 598 4922 | 34328 4923 | 1451 4924 | 8510 4925 | 3677 4926 | 18748 4927 | 14675 4928 | 45929 4929 | 6159 4930 | 8650 4931 | 9802 4932 | 33704 4933 | 31514 4934 | 21782 4935 | 19102 4936 | 6097 4937 | 15153 4938 | 12689 4939 | 31067 4940 | 12001 4941 | 24267 4942 | 18109 4943 | 24830 4944 | 38361 4945 | 39097 4946 | 40936 4947 | 18876 4948 | 22129 4949 | 20225 4950 | 36121 4951 | 39231 4952 | 10718 4953 | 23921 4954 | 12690 4955 | 41751 4956 | 29715 4957 | 48141 4958 | 32302 4959 | 5651 4960 | 39683 4961 | 21881 4962 | 35177 4963 | 8620 4964 | 32038 4965 | 20660 4966 | 24374 4967 | 5337 4968 | 40297 4969 | 16719 4970 | 45920 4971 | 33603 4972 | 97 4973 | 24561 4974 | 14239 4975 | 47362 4976 | 27199 4977 | 14552 4978 | 31907 4979 | 38487 4980 | 45487 4981 | 4029 4982 | 4300 4983 | 11561 4984 | 13278 4985 | 8911 4986 | 14381 4987 | 2138 4988 | 8746 4989 | 32004 4990 | 30627 4991 | 49612 4992 | 7628 4993 | 19551 4994 | 13201 4995 | 17473 4996 | 27256 4997 | 11202 4998 | 24863 4999 | 25201 5000 | 16508 5001 | -------------------------------------------------------------------------------- /cifar10_checkpoints_active_set/active_set_cycle_0.txt: -------------------------------------------------------------------------------- 1 | 17247 2 | 5130 3 | 35434 4 | 37432 5 | 31987 6 | 15352 7 | 33268 8 | 39392 9 | 46362 10 | 41900 11 | 35256 12 | 49615 13 | 21440 14 | 34460 15 | 24502 16 | 41651 17 | 15353 18 | 33542 19 | 16004 20 | 23610 21 | 27934 22 | 13979 23 | 32290 24 | 28548 25 | 42039 26 | 22112 27 | 36195 28 | 41855 29 | 14190 30 | 37674 31 | 4868 32 | 2189 33 | 14479 34 | 1187 35 | 1708 36 | 34173 37 | 9945 38 | 5665 39 | 48246 40 | 40131 41 | 2248 42 | 30535 43 | 5432 44 | 11689 45 | 30539 46 | 27724 47 | 38783 48 | 31635 49 | 12922 50 | 25431 51 | 46585 52 | 927 53 | 17395 54 | 40271 55 | 32761 56 | 36610 57 | 41456 58 | 42148 59 | 29544 60 | 4470 61 | 38098 62 | 29099 63 | 9813 64 | 26499 65 | 23602 66 | 32365 67 | 32483 68 | 25843 69 | 22276 70 | 49941 71 | 18704 72 | 33249 73 | 29286 74 | 15240 75 | 31286 76 | 29880 77 | 16734 78 | 28009 79 | 7225 80 | 33386 81 | 45419 82 | 5472 83 | 39904 84 | 39670 85 | 25808 86 | 49559 87 | 43740 88 | 47355 89 | 39927 90 | 30971 91 | 10326 92 | 21087 93 | 36155 94 | 31674 95 | 15225 96 | 34781 97 | 48516 98 | 16423 99 | 18854 100 | 5028 101 | 34459 102 | 30811 103 | 4271 104 | 37160 105 | 9881 106 | 20188 107 | 28525 108 | 27986 109 | 12883 110 | 19634 111 | 37729 112 | 2014 113 | 17838 114 | 28273 115 | 16912 116 | 46434 117 | 11475 118 | 35725 119 | 37178 120 | 40516 121 | 10617 122 | 40317 123 | 14509 124 | 16380 125 | 16213 126 | 47458 127 | 48317 128 | 48105 129 | 37049 130 | 45085 131 | 28444 132 | 23629 133 | 15677 134 | 14754 135 | 24365 136 | 39486 137 | 23352 138 | 7647 139 | 16048 140 | 8199 141 | 32573 142 | 29336 143 | 14335 144 | 42908 145 | 10675 146 | 12818 147 | 39379 148 | 43660 149 | 5371 150 | 24079 151 | 49176 152 | 1249 153 | 38718 154 | 20969 155 | 24333 156 | 13368 157 | 16002 158 | 17107 159 | 9596 160 | 33214 161 | 46631 162 | 40648 163 | 38536 164 | 12345 165 | 13712 166 | 9619 167 | 20924 168 | 23805 169 | 18383 170 | 938 171 | 9384 172 | 38580 173 | 37493 174 | 29 175 | 47689 176 | 41266 177 | 32188 178 | 2010 179 | 35594 180 | 28917 181 | 31105 182 | 44930 183 | 24549 184 | 29772 185 | 21564 186 | 3582 187 | 9430 188 | 10650 189 | 40761 190 | 8934 191 | 20759 192 | 2490 193 | 19438 194 | 32990 195 | 8898 196 | 42057 197 | 5843 198 | 23449 199 | 32326 200 | 18951 201 | 17222 202 | 12429 203 | 3938 204 | 8853 205 | 38185 206 | 29783 207 | 34189 208 | 29860 209 | 5346 210 | 4079 211 | 4941 212 | 18808 213 | 9221 214 | 10578 215 | 24514 216 | 24356 217 | 35042 218 | 46480 219 | 30114 220 | 13716 221 | 2473 222 | 3076 223 | 33451 224 | 598 225 | 26412 226 | 38235 227 | 628 228 | 11691 229 | 1493 230 | 12659 231 | 43951 232 | 33922 233 | 23854 234 | 32602 235 | 18737 236 | 2330 237 | 9314 238 | 49349 239 | 32934 240 | 7865 241 | 33617 242 | 30415 243 | 8207 244 | 45088 245 | 48100 246 | 2950 247 | 10243 248 | 8774 249 | 33638 250 | 35411 251 | 45737 252 | 42179 253 | 34109 254 | 27315 255 | 38419 256 | 7311 257 | 13850 258 | 49128 259 | 13707 260 | 24252 261 | 44167 262 | 9895 263 | 25615 264 | 7847 265 | 695 266 | 3063 267 | 36574 268 | 29412 269 | 2932 270 | 26421 271 | 25514 272 | 49735 273 | 37233 274 | 24690 275 | 46922 276 | 11263 277 | 33694 278 | 5699 279 | 34787 280 | 4821 281 | 18803 282 | 32109 283 | 8096 284 | 45509 285 | 32884 286 | 33162 287 | 35873 288 | 21732 289 | 47473 290 | 44582 291 | 41636 292 | 46277 293 | 2107 294 | 34018 295 | 39650 296 | 23481 297 | 9874 298 | 22875 299 | 33670 300 | 24567 301 | 46987 302 | 17101 303 | 20124 304 | 36279 305 | 45364 306 | 40556 307 | 12409 308 | 20980 309 | 29593 310 | 1012 311 | 34724 312 | 15087 313 | 46367 314 | 23462 315 | 40548 316 | 650 317 | 22286 318 | 44967 319 | 8759 320 | 32194 321 | 30913 322 | 26178 323 | 29400 324 | 11474 325 | 3979 326 | 22690 327 | 42010 328 | 49507 329 | 8296 330 | 7347 331 | 30743 332 | 3113 333 | 48891 334 | 34547 335 | 43564 336 | 8663 337 | 48851 338 | 40680 339 | 17763 340 | 49837 341 | 28380 342 | 37909 343 | 19273 344 | 15500 345 | 13747 346 | 3585 347 | 47336 348 | 33229 349 | 25920 350 | 1811 351 | 1424 352 | 35750 353 | 47991 354 | 5956 355 | 31961 356 | 33471 357 | 46394 358 | 31880 359 | 39819 360 | 36068 361 | 4490 362 | 31086 363 | 13800 364 | 35286 365 | 31391 366 | 33864 367 | 18745 368 | 7002 369 | 43664 370 | 46964 371 | 15735 372 | 33926 373 | 25097 374 | 33347 375 | 33416 376 | 1664 377 | 21144 378 | 43077 379 | 48013 380 | 33596 381 | 4798 382 | 37504 383 | 21903 384 | 44568 385 | 14128 386 | 9401 387 | 47105 388 | 48618 389 | 18106 390 | 28742 391 | 5874 392 | 22458 393 | 7991 394 | 11060 395 | 22796 396 | 4967 397 | 22628 398 | 45010 399 | 4854 400 | 21930 401 | 32870 402 | 33076 403 | 20790 404 | 3277 405 | 35991 406 | 24735 407 | 27170 408 | 19928 409 | 47220 410 | 40635 411 | 31947 412 | 26018 413 | 20910 414 | 34750 415 | 42231 416 | 18203 417 | 40525 418 | 1601 419 | 22924 420 | 46108 421 | 32627 422 | 34381 423 | 47317 424 | 9611 425 | 35147 426 | 9124 427 | 77 428 | 28140 429 | 33489 430 | 39589 431 | 42984 432 | 9566 433 | 30636 434 | 7299 435 | 28113 436 | 23377 437 | 45123 438 | 7612 439 | 43288 440 | 33728 441 | 15923 442 | 2401 443 | 21924 444 | 16397 445 | 9666 446 | 6393 447 | 44303 448 | 27646 449 | 45956 450 | 35263 451 | 37066 452 | 4524 453 | 15396 454 | 6013 455 | 752 456 | 25288 457 | 10159 458 | 26913 459 | 44770 460 | 14482 461 | 44866 462 | 33647 463 | 28456 464 | 39396 465 | 23738 466 | 16235 467 | 11325 468 | 7490 469 | 36004 470 | 38499 471 | 14468 472 | 43754 473 | 47693 474 | 32033 475 | 31600 476 | 39012 477 | 37439 478 | 6142 479 | 32309 480 | 45349 481 | 18368 482 | 20169 483 | 27071 484 | 33950 485 | 49344 486 | 30158 487 | 24943 488 | 31119 489 | 15086 490 | 21000 491 | 40830 492 | 24507 493 | 5994 494 | 20722 495 | 22408 496 | 27267 497 | 8097 498 | 9096 499 | 17677 500 | 14275 501 | 18719 502 | 19242 503 | 16925 504 | 24462 505 | 38031 506 | 49932 507 | 28617 508 | 46514 509 | 41653 510 | 37592 511 | 25961 512 | 13647 513 | 16953 514 | 45600 515 | 7683 516 | 36238 517 | 11702 518 | 37235 519 | 841 520 | 38464 521 | 45157 522 | 49993 523 | 36848 524 | 23832 525 | 31969 526 | 43205 527 | 38919 528 | 49426 529 | 42916 530 | 31352 531 | 20307 532 | 8965 533 | 44217 534 | 37929 535 | 23703 536 | 45283 537 | 30198 538 | 41217 539 | 23895 540 | 1731 541 | 27019 542 | 8667 543 | 31604 544 | 26636 545 | 833 546 | 9965 547 | 30613 548 | 16286 549 | 14417 550 | 13217 551 | 25608 552 | 31323 553 | 49348 554 | 21027 555 | 33640 556 | 21615 557 | 8548 558 | 31138 559 | 27404 560 | 7622 561 | 6899 562 | 14300 563 | 33838 564 | 43728 565 | 17626 566 | 22516 567 | 28292 568 | 25685 569 | 18471 570 | 45672 571 | 42239 572 | 24269 573 | 42060 574 | 23156 575 | 19399 576 | 46520 577 | 27132 578 | 26344 579 | 47226 580 | 25614 581 | 33598 582 | 44281 583 | 30047 584 | 36703 585 | 20895 586 | 39277 587 | 29710 588 | 17995 589 | 3779 590 | 1103 591 | 18754 592 | 44889 593 | 44272 594 | 18316 595 | 36208 596 | 41153 597 | 3886 598 | 14238 599 | 41147 600 | 31322 601 | 14851 602 | 22090 603 | 39039 604 | 30945 605 | 41262 606 | 48901 607 | 20155 608 | 46748 609 | 9189 610 | 7077 611 | 37938 612 | 17609 613 | 6895 614 | 41844 615 | 49040 616 | 28780 617 | 36935 618 | 28248 619 | 30083 620 | 29963 621 | 22503 622 | 10359 623 | 34081 624 | 6670 625 | 46328 626 | 25799 627 | 38157 628 | 15797 629 | 9407 630 | 33650 631 | 27625 632 | 47824 633 | 47290 634 | 33742 635 | 4458 636 | 40759 637 | 34871 638 | 27101 639 | 14964 640 | 39974 641 | 160 642 | 2582 643 | 37253 644 | 17722 645 | 4385 646 | 37269 647 | 30768 648 | 10642 649 | 31720 650 | 42347 651 | 5635 652 | 40822 653 | 45444 654 | 46206 655 | 32319 656 | 8225 657 | 33241 658 | 23933 659 | 3142 660 | 49759 661 | 43655 662 | 10248 663 | 15906 664 | 28963 665 | 8690 666 | 42065 667 | 36005 668 | 28876 669 | 5102 670 | 1153 671 | 45466 672 | 23837 673 | 48141 674 | 49999 675 | 2280 676 | 46828 677 | 2390 678 | 39118 679 | 20761 680 | 38872 681 | 16268 682 | 49151 683 | 41576 684 | 45291 685 | 45399 686 | 24767 687 | 2320 688 | 14507 689 | 16673 690 | 35783 691 | 40013 692 | 2587 693 | 23752 694 | 29959 695 | 23232 696 | 29777 697 | 49447 698 | 46859 699 | 10824 700 | 2756 701 | 21877 702 | 42658 703 | 23263 704 | 11804 705 | 42673 706 | 41472 707 | 4492 708 | 24294 709 | 10846 710 | 42287 711 | 27073 712 | 43394 713 | 9595 714 | 22867 715 | 49345 716 | 31657 717 | 19678 718 | 30088 719 | 23514 720 | 2455 721 | 43453 722 | 10190 723 | 34263 724 | 20857 725 | 26304 726 | 5459 727 | 32886 728 | 19265 729 | 41017 730 | 17548 731 | 29967 732 | 33625 733 | 24381 734 | 8130 735 | 26526 736 | 2037 737 | 37145 738 | 40407 739 | 1907 740 | 19668 741 | 36844 742 | 32121 743 | 22316 744 | 5947 745 | 27306 746 | 7862 747 | 12875 748 | 20811 749 | 4858 750 | 9849 751 | 2005 752 | 20897 753 | 32681 754 | 20680 755 | 12283 756 | 35705 757 | 2029 758 | 2765 759 | 20781 760 | 2588 761 | 25582 762 | 39455 763 | 11920 764 | 41138 765 | 8095 766 | 39965 767 | 45308 768 | 21178 769 | 39987 770 | 41520 771 | 7796 772 | 4013 773 | 8938 774 | 22762 775 | 22292 776 | 10325 777 | 35081 778 | 19626 779 | 34810 780 | 26986 781 | 39132 782 | 18902 783 | 19769 784 | 10054 785 | 36129 786 | 49232 787 | 5021 788 | 12927 789 | 38482 790 | 31534 791 | 28805 792 | 8801 793 | 23311 794 | 33545 795 | 38231 796 | 24665 797 | 22658 798 | 24999 799 | 8181 800 | 36679 801 | 18354 802 | 21720 803 | 23969 804 | 21423 805 | 8570 806 | 47989 807 | 46330 808 | 32438 809 | 29699 810 | 34287 811 | 7821 812 | 35012 813 | 29571 814 | 18311 815 | 22596 816 | 22754 817 | 28098 818 | 37412 819 | 35076 820 | 45 821 | 47703 822 | 44474 823 | 37320 824 | 10314 825 | 26298 826 | 23015 827 | 45001 828 | 24220 829 | 5759 830 | 4334 831 | 15583 832 | 24680 833 | 14376 834 | 12336 835 | 14874 836 | 14498 837 | 8486 838 | 8127 839 | 21094 840 | 44686 841 | 35531 842 | 5515 843 | 38261 844 | 35827 845 | 41289 846 | 26474 847 | 48962 848 | 10420 849 | 47280 850 | 17694 851 | 10271 852 | 33624 853 | 2101 854 | 49121 855 | 7300 856 | 16986 857 | 9583 858 | 36991 859 | 37727 860 | 11308 861 | 45296 862 | 29675 863 | 8848 864 | 39996 865 | 4949 866 | 16272 867 | 22395 868 | 46889 869 | 44620 870 | 29252 871 | 5202 872 | 18594 873 | 21547 874 | 43825 875 | 140 876 | 13332 877 | 46920 878 | 22269 879 | 49221 880 | 31786 881 | 16197 882 | 8480 883 | 18276 884 | 1502 885 | 14240 886 | 40207 887 | 38037 888 | 30463 889 | 26310 890 | 9335 891 | 10049 892 | 206 893 | 29894 894 | 30049 895 | 42410 896 | 28535 897 | 48746 898 | 48322 899 | 48899 900 | 34202 901 | 27143 902 | 46598 903 | 49748 904 | 1631 905 | 2283 906 | 26881 907 | 35779 908 | 24151 909 | 14167 910 | 29522 911 | 16211 912 | 48845 913 | 4084 914 | 14721 915 | 29911 916 | 7342 917 | 23685 918 | 40431 919 | 14795 920 | 40505 921 | 29318 922 | 21149 923 | 46194 924 | 41248 925 | 699 926 | 14501 927 | 47670 928 | 20783 929 | 28268 930 | 37618 931 | 37043 932 | 6871 933 | 29409 934 | 25438 935 | 4261 936 | 37755 937 | 36258 938 | 12856 939 | 28643 940 | 24375 941 | 41857 942 | 39818 943 | 32580 944 | 13118 945 | 9251 946 | 9717 947 | 29822 948 | 9070 949 | 9646 950 | 20494 951 | 9539 952 | 25974 953 | 15394 954 | 22710 955 | 48917 956 | 1570 957 | 25697 958 | 47264 959 | 43668 960 | 29791 961 | 49150 962 | 10249 963 | 1020 964 | 43480 965 | 49652 966 | 31890 967 | 39240 968 | 49820 969 | 15423 970 | 6411 971 | 38270 972 | 44960 973 | 49230 974 | 35694 975 | 25150 976 | 39402 977 | 5197 978 | 48806 979 | 39484 980 | 2249 981 | 40034 982 | 26331 983 | 38223 984 | 23248 985 | 13940 986 | 13122 987 | 48640 988 | 30314 989 | 42758 990 | 2328 991 | 24863 992 | 32258 993 | 34940 994 | 2851 995 | 15061 996 | 21153 997 | 37012 998 | 17673 999 | 37590 1000 | 15306 1001 | 18733 1002 | 7877 1003 | 44113 1004 | 21131 1005 | 48531 1006 | 3626 1007 | 38349 1008 | 3847 1009 | 47224 1010 | 46943 1011 | 9455 1012 | 3961 1013 | 24097 1014 | 8530 1015 | 48137 1016 | 648 1017 | 5087 1018 | 9038 1019 | 19241 1020 | 38664 1021 | 11443 1022 | 4370 1023 | 13752 1024 | 1542 1025 | 39983 1026 | 43692 1027 | 9424 1028 | 5992 1029 | 2902 1030 | 4902 1031 | 7653 1032 | 11825 1033 | 47668 1034 | 20645 1035 | 30602 1036 | 12748 1037 | 22074 1038 | 14029 1039 | 33310 1040 | 12448 1041 | 17362 1042 | 21750 1043 | 36122 1044 | 1705 1045 | 15303 1046 | 8862 1047 | 7209 1048 | 35771 1049 | 24170 1050 | 3663 1051 | 26773 1052 | 2561 1053 | 13759 1054 | 35348 1055 | 27948 1056 | 8395 1057 | 7644 1058 | 16406 1059 | 35075 1060 | 19207 1061 | 18496 1062 | 34654 1063 | 25086 1064 | 49784 1065 | 47742 1066 | 10750 1067 | 36170 1068 | 12506 1069 | 15034 1070 | 31041 1071 | 35168 1072 | 13856 1073 | 20621 1074 | 37840 1075 | 7340 1076 | 36410 1077 | 26175 1078 | 15926 1079 | 44523 1080 | 27587 1081 | 47171 1082 | 33616 1083 | 19039 1084 | 18790 1085 | 10671 1086 | 5817 1087 | 20660 1088 | 39436 1089 | 35350 1090 | 28648 1091 | 7542 1092 | 885 1093 | 15899 1094 | 3301 1095 | 2346 1096 | 49357 1097 | 25041 1098 | 19225 1099 | 18242 1100 | 14399 1101 | 49956 1102 | 44238 1103 | 8726 1104 | 35887 1105 | 2193 1106 | 16319 1107 | 40176 1108 | 34555 1109 | 37008 1110 | 30453 1111 | 27825 1112 | 25528 1113 | 48014 1114 | 8888 1115 | 6549 1116 | 32792 1117 | 36330 1118 | 11961 1119 | 24409 1120 | 30315 1121 | 32858 1122 | 39145 1123 | 31002 1124 | 40534 1125 | 33051 1126 | 5574 1127 | 26864 1128 | 21139 1129 | 37947 1130 | 14811 1131 | 3693 1132 | 32687 1133 | 47846 1134 | 17980 1135 | 10018 1136 | 19950 1137 | 48594 1138 | 19057 1139 | 9191 1140 | 9659 1141 | 30470 1142 | 22045 1143 | 33851 1144 | 13418 1145 | 2789 1146 | 24926 1147 | 22510 1148 | 9199 1149 | 11921 1150 | 18376 1151 | 37941 1152 | 28403 1153 | 49268 1154 | 41972 1155 | 20839 1156 | 26982 1157 | 21018 1158 | 32480 1159 | 15837 1160 | 40960 1161 | 14421 1162 | 35216 1163 | 27816 1164 | 39237 1165 | 43513 1166 | 18088 1167 | 14199 1168 | 32289 1169 | 27845 1170 | 45320 1171 | 27549 1172 | 25130 1173 | 29611 1174 | 40727 1175 | 39928 1176 | 16867 1177 | 4038 1178 | 49449 1179 | 34729 1180 | 39834 1181 | 26807 1182 | 11884 1183 | 48994 1184 | 7844 1185 | 18948 1186 | 7151 1187 | 7840 1188 | 34413 1189 | 41342 1190 | 43569 1191 | 31621 1192 | 42094 1193 | 18163 1194 | 24533 1195 | 37255 1196 | 24019 1197 | 21321 1198 | 2948 1199 | 20266 1200 | 2163 1201 | 6097 1202 | 28399 1203 | 20673 1204 | 47449 1205 | 47903 1206 | 1932 1207 | 7397 1208 | 17329 1209 | 31420 1210 | 6583 1211 | 24403 1212 | 48651 1213 | 39809 1214 | 3253 1215 | 14793 1216 | 36583 1217 | 43179 1218 | 3193 1219 | 43589 1220 | 21885 1221 | 43312 1222 | 15975 1223 | 31318 1224 | 46405 1225 | 43041 1226 | 48504 1227 | 30974 1228 | 31191 1229 | 1838 1230 | 46541 1231 | 35460 1232 | 19888 1233 | 19044 1234 | 36339 1235 | 19157 1236 | 49693 1237 | 31501 1238 | 11985 1239 | 6063 1240 | 540 1241 | 23632 1242 | 27884 1243 | 11342 1244 | 31691 1245 | 2224 1246 | 5026 1247 | 21906 1248 | 5862 1249 | 17239 1250 | 33649 1251 | 45849 1252 | 33277 1253 | 13682 1254 | 33544 1255 | 18477 1256 | 25495 1257 | 9272 1258 | 47594 1259 | 26758 1260 | 37684 1261 | 12074 1262 | 16050 1263 | 7522 1264 | 34930 1265 | 34974 1266 | 47718 1267 | 17651 1268 | 15134 1269 | 31272 1270 | 14829 1271 | 39096 1272 | 18164 1273 | 35880 1274 | 37713 1275 | 18650 1276 | 41459 1277 | 3235 1278 | 40908 1279 | 35310 1280 | 36465 1281 | 30007 1282 | 18564 1283 | 46244 1284 | 9716 1285 | 18652 1286 | 25089 1287 | 39935 1288 | 18464 1289 | 33286 1290 | 21363 1291 | 33602 1292 | 10289 1293 | 49686 1294 | 25646 1295 | 30117 1296 | 34256 1297 | 38907 1298 | 38623 1299 | 48694 1300 | 10616 1301 | 4700 1302 | 17669 1303 | 42815 1304 | 21426 1305 | 32467 1306 | 18510 1307 | 30239 1308 | 44427 1309 | 3484 1310 | 40444 1311 | 16402 1312 | 47 1313 | 42861 1314 | 49008 1315 | 35718 1316 | 11194 1317 | 29198 1318 | 13438 1319 | 6177 1320 | 17598 1321 | 14835 1322 | 48392 1323 | 17786 1324 | 28307 1325 | 43507 1326 | 15124 1327 | 6616 1328 | 7761 1329 | 24742 1330 | 33481 1331 | 26588 1332 | 41834 1333 | 28734 1334 | 13397 1335 | 5204 1336 | 724 1337 | 9348 1338 | 26992 1339 | 13448 1340 | 14157 1341 | 17883 1342 | 28107 1343 | 30988 1344 | 9240 1345 | 1443 1346 | 27800 1347 | 26695 1348 | 9757 1349 | 28878 1350 | 17582 1351 | 24461 1352 | 13275 1353 | 21365 1354 | 864 1355 | 44038 1356 | 16616 1357 | 42329 1358 | 810 1359 | 21841 1360 | 46410 1361 | 15696 1362 | 43421 1363 | 6801 1364 | 7633 1365 | 4491 1366 | 27696 1367 | 46652 1368 | 34885 1369 | 37464 1370 | 7850 1371 | 31007 1372 | 9660 1373 | 36268 1374 | 16569 1375 | 25921 1376 | 15828 1377 | 6412 1378 | 9150 1379 | 24136 1380 | 2079 1381 | 9992 1382 | 43177 1383 | 5248 1384 | 28594 1385 | 34651 1386 | 16249 1387 | 7739 1388 | 44730 1389 | 16807 1390 | 41667 1391 | 12790 1392 | 27484 1393 | 5005 1394 | 28849 1395 | 24437 1396 | 23650 1397 | 20538 1398 | 3164 1399 | 42200 1400 | 12387 1401 | 44542 1402 | 18503 1403 | 17320 1404 | 45940 1405 | 47750 1406 | 38398 1407 | 5540 1408 | 40225 1409 | 22803 1410 | 2093 1411 | 32513 1412 | 49538 1413 | 14860 1414 | 8100 1415 | 30894 1416 | 13447 1417 | 18372 1418 | 7165 1419 | 1752 1420 | 46584 1421 | 33445 1422 | 43702 1423 | 3281 1424 | 26234 1425 | 39478 1426 | 30726 1427 | 40011 1428 | 34393 1429 | 49419 1430 | 17092 1431 | 47452 1432 | 44480 1433 | 27325 1434 | 41308 1435 | 36468 1436 | 48835 1437 | 31343 1438 | 13848 1439 | 2938 1440 | 16208 1441 | 33081 1442 | 48288 1443 | 6081 1444 | 34268 1445 | 32045 1446 | 6963 1447 | 44193 1448 | 40786 1449 | 42605 1450 | 44584 1451 | 33842 1452 | 90 1453 | 29812 1454 | 48092 1455 | 42480 1456 | 5913 1457 | 33377 1458 | 49020 1459 | 1532 1460 | 42889 1461 | 6927 1462 | 35673 1463 | 48370 1464 | 21332 1465 | 35451 1466 | 2875 1467 | 23159 1468 | 26019 1469 | 21922 1470 | 37198 1471 | 32321 1472 | 27865 1473 | 33474 1474 | 6133 1475 | 10057 1476 | 19158 1477 | 48676 1478 | 283 1479 | 44203 1480 | 42928 1481 | 48366 1482 | 38806 1483 | 20797 1484 | 26768 1485 | 44776 1486 | 8166 1487 | 13677 1488 | 40221 1489 | 12721 1490 | 11959 1491 | 23919 1492 | 4853 1493 | 15852 1494 | 474 1495 | 31058 1496 | 34907 1497 | 48692 1498 | 1768 1499 | 28112 1500 | 46771 1501 | 44973 1502 | 49233 1503 | 8162 1504 | 45691 1505 | 34197 1506 | 49142 1507 | 42547 1508 | 8598 1509 | 19827 1510 | 33894 1511 | 45351 1512 | 40370 1513 | 3003 1514 | 37554 1515 | 8153 1516 | 40066 1517 | 22850 1518 | 17365 1519 | 48742 1520 | 28237 1521 | 49692 1522 | 23922 1523 | 32939 1524 | 13661 1525 | 30866 1526 | 44267 1527 | 7228 1528 | 13053 1529 | 36946 1530 | 12155 1531 | 31337 1532 | 33635 1533 | 23218 1534 | 37906 1535 | 38626 1536 | 33917 1537 | 13329 1538 | 11320 1539 | 31414 1540 | 14702 1541 | 44390 1542 | 25663 1543 | 17449 1544 | 14919 1545 | 46886 1546 | 19099 1547 | 2348 1548 | 22748 1549 | 33879 1550 | 36917 1551 | 49832 1552 | 16339 1553 | 31346 1554 | 4102 1555 | 10883 1556 | 13630 1557 | 5744 1558 | 19249 1559 | 5492 1560 | 32320 1561 | 33955 1562 | 22826 1563 | 33841 1564 | 29021 1565 | 34886 1566 | 34658 1567 | 13686 1568 | 18499 1569 | 18446 1570 | 9357 1571 | 28608 1572 | 43487 1573 | 9334 1574 | 46697 1575 | 44852 1576 | 23942 1577 | 48957 1578 | 34858 1579 | 21835 1580 | 31094 1581 | 16904 1582 | 49386 1583 | 43877 1584 | 5877 1585 | 40446 1586 | 6883 1587 | 1655 1588 | 36036 1589 | 38673 1590 | 6186 1591 | 3201 1592 | 11119 1593 | 48834 1594 | 10784 1595 | 23261 1596 | 34029 1597 | 15834 1598 | 35794 1599 | 11680 1600 | 46160 1601 | 16190 1602 | 287 1603 | 32846 1604 | 19838 1605 | 11011 1606 | 8302 1607 | 5859 1608 | 41016 1609 | 45066 1610 | 33642 1611 | 18858 1612 | 7909 1613 | 28308 1614 | 25219 1615 | 39777 1616 | 6402 1617 | 4475 1618 | 4361 1619 | 6030 1620 | 22406 1621 | 46555 1622 | 46295 1623 | 43971 1624 | 41057 1625 | 5610 1626 | 34714 1627 | 27920 1628 | 20784 1629 | 19771 1630 | 6263 1631 | 45402 1632 | 43339 1633 | 33101 1634 | 41694 1635 | 20528 1636 | 22216 1637 | 37223 1638 | 5966 1639 | 23862 1640 | 19580 1641 | 37967 1642 | 26482 1643 | 40756 1644 | 30753 1645 | 20920 1646 | 44693 1647 | 9489 1648 | 11359 1649 | 15411 1650 | 36222 1651 | 25218 1652 | 42187 1653 | 23935 1654 | 30587 1655 | 27413 1656 | 33801 1657 | 41594 1658 | 3057 1659 | 11632 1660 | 20390 1661 | 31910 1662 | 25716 1663 | 29810 1664 | 6511 1665 | 37297 1666 | 2648 1667 | 28811 1668 | 21948 1669 | 2083 1670 | 27317 1671 | 31499 1672 | 24611 1673 | 39140 1674 | 46347 1675 | 11718 1676 | 8133 1677 | 11568 1678 | 13201 1679 | 46226 1680 | 16449 1681 | 15083 1682 | 49500 1683 | 17401 1684 | 42141 1685 | 14070 1686 | 36543 1687 | 37105 1688 | 30975 1689 | 26253 1690 | 3646 1691 | 25772 1692 | 6169 1693 | 43402 1694 | 11449 1695 | 39129 1696 | 35307 1697 | 6596 1698 | 3575 1699 | 46950 1700 | 39979 1701 | 17821 1702 | 1120 1703 | 7812 1704 | 23807 1705 | 39789 1706 | 11929 1707 | 45479 1708 | 19060 1709 | 5586 1710 | 26160 1711 | 32350 1712 | 6466 1713 | 7835 1714 | 49280 1715 | 12904 1716 | 17074 1717 | 20335 1718 | 24177 1719 | 11874 1720 | 37429 1721 | 41012 1722 | 38127 1723 | 46402 1724 | 3565 1725 | 49146 1726 | 1856 1727 | 30737 1728 | 11192 1729 | 19422 1730 | 14125 1731 | 1048 1732 | 7343 1733 | 10439 1734 | 21193 1735 | 27254 1736 | 42504 1737 | 3177 1738 | 48928 1739 | 1573 1740 | 43812 1741 | 38620 1742 | 27212 1743 | 11047 1744 | 197 1745 | 25934 1746 | 8286 1747 | 10565 1748 | 5493 1749 | 5915 1750 | 18755 1751 | 2162 1752 | 25771 1753 | 9291 1754 | 9345 1755 | 15471 1756 | 34407 1757 | 22865 1758 | 3749 1759 | 11344 1760 | 15444 1761 | 10929 1762 | 39151 1763 | 27556 1764 | 48040 1765 | 6619 1766 | 22413 1767 | 30424 1768 | 38894 1769 | 27831 1770 | 28028 1771 | 31013 1772 | 20208 1773 | 35287 1774 | 28704 1775 | 47131 1776 | 11419 1777 | 12798 1778 | 23376 1779 | 11596 1780 | 42825 1781 | 1555 1782 | 14234 1783 | 23475 1784 | 26939 1785 | 37965 1786 | 45857 1787 | 18408 1788 | 20050 1789 | 5430 1790 | 30058 1791 | 550 1792 | 23824 1793 | 5678 1794 | 26539 1795 | 47539 1796 | 5218 1797 | 19113 1798 | 13733 1799 | 1966 1800 | 41937 1801 | 21818 1802 | 5980 1803 | 6602 1804 | 14590 1805 | 23197 1806 | 12647 1807 | 45816 1808 | 41486 1809 | 23884 1810 | 25812 1811 | 46002 1812 | 11858 1813 | 40506 1814 | 36414 1815 | 28631 1816 | 48946 1817 | 41815 1818 | 6618 1819 | 25664 1820 | 32160 1821 | 27270 1822 | 16758 1823 | 12783 1824 | 45330 1825 | 46841 1826 | 41446 1827 | 42845 1828 | 10209 1829 | 30490 1830 | 34801 1831 | 27235 1832 | 37038 1833 | 91 1834 | 34649 1835 | 10126 1836 | 21250 1837 | 46659 1838 | 31479 1839 | 19738 1840 | 14568 1841 | 5848 1842 | 43105 1843 | 21744 1844 | 20892 1845 | 28712 1846 | 15562 1847 | 7389 1848 | 10488 1849 | 6557 1850 | 23145 1851 | 18865 1852 | 4025 1853 | 28787 1854 | 36474 1855 | 25253 1856 | 39898 1857 | 24305 1858 | 35368 1859 | 27938 1860 | 48517 1861 | 34579 1862 | 44513 1863 | 59 1864 | 3863 1865 | 44399 1866 | 13463 1867 | 16646 1868 | 39375 1869 | 19839 1870 | 40668 1871 | 10534 1872 | 28597 1873 | 48112 1874 | 7478 1875 | 21347 1876 | 19853 1877 | 8104 1878 | 18482 1879 | 25055 1880 | 4697 1881 | 5800 1882 | 4083 1883 | 43472 1884 | 5080 1885 | 49600 1886 | 8164 1887 | 40058 1888 | 28556 1889 | 29255 1890 | 43744 1891 | 41372 1892 | 18119 1893 | 5553 1894 | 5329 1895 | 41511 1896 | 47970 1897 | 35754 1898 | 47997 1899 | 37514 1900 | 15844 1901 | 19830 1902 | 18769 1903 | 2132 1904 | 41269 1905 | 42508 1906 | 43295 1907 | 46568 1908 | 43981 1909 | 24411 1910 | 26357 1911 | 38992 1912 | 31913 1913 | 37912 1914 | 17835 1915 | 9737 1916 | 41521 1917 | 6405 1918 | 49089 1919 | 49466 1920 | 25492 1921 | 26609 1922 | 809 1923 | 1124 1924 | 13584 1925 | 29692 1926 | 49140 1927 | 43685 1928 | 39552 1929 | 8986 1930 | 33972 1931 | 28157 1932 | 8974 1933 | 46529 1934 | 47518 1935 | 49325 1936 | 32794 1937 | 5110 1938 | 40532 1939 | 8467 1940 | 7539 1941 | 13001 1942 | 37668 1943 | 20534 1944 | 49900 1945 | 46230 1946 | 20252 1947 | 47654 1948 | 33980 1949 | 28942 1950 | 18442 1951 | 28953 1952 | 18479 1953 | 3178 1954 | 20418 1955 | 11976 1956 | 49576 1957 | 845 1958 | 36211 1959 | 18486 1960 | 28488 1961 | 4435 1962 | 24147 1963 | 5242 1964 | 37939 1965 | 5545 1966 | 12382 1967 | 20032 1968 | 6319 1969 | 19080 1970 | 8714 1971 | 16872 1972 | 47721 1973 | 46757 1974 | 44898 1975 | 39850 1976 | 19727 1977 | 4484 1978 | 20210 1979 | 32021 1980 | 8029 1981 | 46215 1982 | 40246 1983 | 9228 1984 | 34978 1985 | 20601 1986 | 40954 1987 | 39095 1988 | 4437 1989 | 46657 1990 | 29979 1991 | 8761 1992 | 23772 1993 | 26904 1994 | 24384 1995 | 16502 1996 | 24598 1997 | 35100 1998 | 7771 1999 | 31136 2000 | 14986 2001 | 28903 2002 | 34950 2003 | 27479 2004 | 30131 2005 | 1640 2006 | 26975 2007 | 18300 2008 | 30528 2009 | 4382 2010 | 16155 2011 | 18272 2012 | 13691 2013 | 29128 2014 | 45111 2015 | 11562 2016 | 6432 2017 | 36755 2018 | 27446 2019 | 9777 2020 | 26380 2021 | 1881 2022 | 13363 2023 | 27173 2024 | 25675 2025 | 22173 2026 | 36982 2027 | 7559 2028 | 47239 2029 | 14377 2030 | 34840 2031 | 33369 2032 | 10485 2033 | 19161 2034 | 25931 2035 | 32533 2036 | 6894 2037 | 14051 2038 | 16433 2039 | 22677 2040 | 43296 2041 | 30242 2042 | 46789 2043 | 14996 2044 | 1762 2045 | 24942 2046 | 11820 2047 | 4497 2048 | 11582 2049 | 15723 2050 | 20778 2051 | 38281 2052 | 18437 2053 | 36294 2054 | 25114 2055 | 4055 2056 | 38909 2057 | 29070 2058 | 39488 2059 | 18136 2060 | 14773 2061 | 27391 2062 | 14082 2063 | 21978 2064 | 2858 2065 | 25003 2066 | 21733 2067 | 40550 2068 | 8403 2069 | 46753 2070 | 16195 2071 | 46164 2072 | 25643 2073 | 36552 2074 | 46526 2075 | 27725 2076 | 40195 2077 | 32201 2078 | 6311 2079 | 4998 2080 | 21048 2081 | 25879 2082 | 20904 2083 | 38283 2084 | 43044 2085 | 41582 2086 | 13746 2087 | 18821 2088 | 19813 2089 | 26997 2090 | 44703 2091 | 20096 2092 | 42575 2093 | 15744 2094 | 14164 2095 | 7100 2096 | 3030 2097 | 6611 2098 | 22050 2099 | 2922 2100 | 38805 2101 | 6505 2102 | 36965 2103 | 14256 2104 | 10519 2105 | 33296 2106 | 42977 2107 | 25371 2108 | 7822 2109 | 46319 2110 | 14111 2111 | 8066 2112 | 47626 2113 | 9650 2114 | 9963 2115 | 17613 2116 | 9019 2117 | 3533 2118 | 158 2119 | 2792 2120 | 22740 2121 | 27167 2122 | 45645 2123 | 22247 2124 | 4857 2125 | 35175 2126 | 41216 2127 | 4864 2128 | 40023 2129 | 27579 2130 | 9724 2131 | 33342 2132 | 41523 2133 | 20154 2134 | 10736 2135 | 46506 2136 | 8997 2137 | 37960 2138 | 25498 2139 | 41711 2140 | 13927 2141 | 26645 2142 | 13987 2143 | 14573 2144 | 14935 2145 | 42080 2146 | 16959 2147 | 39932 2148 | 10654 2149 | 18304 2150 | 14974 2151 | 4286 2152 | 27491 2153 | 14699 2154 | 5180 2155 | 661 2156 | 24776 2157 | 7903 2158 | 36575 2159 | 47257 2160 | 18014 2161 | 175 2162 | 40842 2163 | 5944 2164 | 26745 2165 | 38712 2166 | 15519 2167 | 28407 2168 | 6331 2169 | 4317 2170 | 2712 2171 | 12959 2172 | 44641 2173 | 21955 2174 | 11845 2175 | 49199 2176 | 9852 2177 | 15625 2178 | 33920 2179 | 15627 2180 | 47576 2181 | 28647 2182 | 33458 2183 | 45938 2184 | 14447 2185 | 32280 2186 | 725 2187 | 40259 2188 | 1269 2189 | 31075 2190 | 44565 2191 | 14359 2192 | 14560 2193 | 18320 2194 | 13778 2195 | 24810 2196 | 24883 2197 | 16527 2198 | 35443 2199 | 49645 2200 | 23932 2201 | 29827 2202 | 41005 2203 | 8652 2204 | 37585 2205 | 14888 2206 | 31446 2207 | 46660 2208 | 3314 2209 | 41101 2210 | 27853 2211 | 14852 2212 | 6472 2213 | 45255 2214 | 48413 2215 | 33027 2216 | 844 2217 | 48429 2218 | 23078 2219 | 26850 2220 | 48538 2221 | 20782 2222 | 49204 2223 | 41766 2224 | 41919 2225 | 32882 2226 | 33253 2227 | 28219 2228 | 29131 2229 | 21078 2230 | 1294 2231 | 24933 2232 | 25556 2233 | 2419 2234 | 5998 2235 | 19098 2236 | 44003 2237 | 20521 2238 | 28596 2239 | 17584 2240 | 47573 2241 | 36083 2242 | 12636 2243 | 41530 2244 | 14087 2245 | 43030 2246 | 22949 2247 | 21772 2248 | 18398 2249 | 32585 2250 | 18550 2251 | 46591 2252 | 17674 2253 | 3717 2254 | 4756 2255 | 42983 2256 | 4193 2257 | 24658 2258 | 44939 2259 | 49718 2260 | 45002 2261 | 33167 2262 | 35942 2263 | 7896 2264 | 4280 2265 | 32007 2266 | 14038 2267 | 24900 2268 | 27964 2269 | 45881 2270 | 21603 2271 | 6612 2272 | 34298 2273 | 47120 2274 | 41770 2275 | 42664 2276 | 14303 2277 | 46321 2278 | 48621 2279 | 45299 2280 | 37124 2281 | 45555 2282 | 12282 2283 | 30857 2284 | 4297 2285 | 4182 2286 | 3736 2287 | 27213 2288 | 14492 2289 | 15155 2290 | 17146 2291 | 47384 2292 | 30802 2293 | 3397 2294 | 677 2295 | 31615 2296 | 32384 2297 | 20306 2298 | 3176 2299 | 39607 2300 | 18628 2301 | 25250 2302 | 36662 2303 | 29862 2304 | 20978 2305 | 27214 2306 | 19584 2307 | 23421 2308 | 9353 2309 | 35526 2310 | 27852 2311 | 47166 2312 | 34824 2313 | 180 2314 | 49699 2315 | 7407 2316 | 9915 2317 | 17039 2318 | 693 2319 | 10478 2320 | 31751 2321 | 43147 2322 | 6509 2323 | 20274 2324 | 10706 2325 | 36665 2326 | 16356 2327 | 20142 2328 | 5486 2329 | 13427 2330 | 22318 2331 | 7188 2332 | 32929 2333 | 4573 2334 | 42665 2335 | 1615 2336 | 19168 2337 | 36536 2338 | 12484 2339 | 48533 2340 | 36480 2341 | 44857 2342 | 39958 2343 | 30289 2344 | 10150 2345 | 49138 2346 | 47891 2347 | 2465 2348 | 9507 2349 | 21949 2350 | 20573 2351 | 48159 2352 | 49669 2353 | 22972 2354 | 9153 2355 | 36406 2356 | 20282 2357 | 24513 2358 | 36488 2359 | 16058 2360 | 36105 2361 | 44737 2362 | 8834 2363 | 27757 2364 | 49751 2365 | 12717 2366 | 42903 2367 | 47664 2368 | 32928 2369 | 33664 2370 | 632 2371 | 36457 2372 | 33697 2373 | 47796 2374 | 24967 2375 | 19848 2376 | 1148 2377 | 14787 2378 | 18560 2379 | 9149 2380 | 29366 2381 | 32225 2382 | 19650 2383 | 45701 2384 | 24290 2385 | 5669 2386 | 29202 2387 | 13513 2388 | 14914 2389 | 38930 2390 | 5919 2391 | 48023 2392 | 19936 2393 | 3560 2394 | 37591 2395 | 2253 2396 | 10404 2397 | 10728 2398 | 20374 2399 | 35622 2400 | 18065 2401 | 16749 2402 | 17045 2403 | 48787 2404 | 38242 2405 | 11952 2406 | 20123 2407 | 20412 2408 | 43486 2409 | 3750 2410 | 28809 2411 | 20485 2412 | 16888 2413 | 35611 2414 | 37677 2415 | 19285 2416 | 19385 2417 | 38543 2418 | 27063 2419 | 18637 2420 | 25437 2421 | 23729 2422 | 24040 2423 | 18028 2424 | 11957 2425 | 29835 2426 | 35304 2427 | 4232 2428 | 14656 2429 | 12975 2430 | 44061 2431 | 37577 2432 | 33529 2433 | 6940 2434 | 20810 2435 | 1315 2436 | 4666 2437 | 30300 2438 | 1069 2439 | 38708 2440 | 2282 2441 | 14664 2442 | 27891 2443 | 30306 2444 | 38033 2445 | 5440 2446 | 32608 2447 | 16503 2448 | 10605 2449 | 37431 2450 | 26653 2451 | 5653 2452 | 29172 2453 | 24485 2454 | 272 2455 | 34589 2456 | 35023 2457 | 26946 2458 | 9202 2459 | 30008 2460 | 22823 2461 | 434 2462 | 42401 2463 | 4753 2464 | 13646 2465 | 40757 2466 | 13762 2467 | 15781 2468 | 36467 2469 | 11190 2470 | 27428 2471 | 27455 2472 | 23779 2473 | 32754 2474 | 18115 2475 | 40486 2476 | 20303 2477 | 13012 2478 | 45987 2479 | 43925 2480 | 48563 2481 | 2088 2482 | 43620 2483 | 3599 2484 | 40530 2485 | 27234 2486 | 10947 2487 | 18512 2488 | 49806 2489 | 19331 2490 | 19790 2491 | 17958 2492 | 29101 2493 | 47141 2494 | 32961 2495 | 7394 2496 | 29849 2497 | 15643 2498 | 390 2499 | 3494 2500 | 8860 2501 | 49474 2502 | 9729 2503 | 26382 2504 | 8683 2505 | 42432 2506 | 48135 2507 | 8917 2508 | 19933 2509 | 22870 2510 | 13387 2511 | 15354 2512 | 40783 2513 | 36308 2514 | 49803 2515 | 12581 2516 | 31555 2517 | 32821 2518 | 47964 2519 | 17445 2520 | 36958 2521 | 11153 2522 | 44214 2523 | 15186 2524 | 38758 2525 | 41099 2526 | 10484 2527 | 14673 2528 | 3162 2529 | 44914 2530 | 11899 2531 | 47038 2532 | 11245 2533 | 7454 2534 | 33631 2535 | 26686 2536 | 1911 2537 | 10201 2538 | 32625 2539 | 1344 2540 | 4004 2541 | 48934 2542 | 16204 2543 | 8373 2544 | 8851 2545 | 9104 2546 | 23437 2547 | 4808 2548 | 20747 2549 | 6577 2550 | 19176 2551 | 6873 2552 | 15089 2553 | 17006 2554 | 45237 2555 | 1204 2556 | 17399 2557 | 30567 2558 | 25265 2559 | 4255 2560 | 3271 2561 | 7699 2562 | 13151 2563 | 22890 2564 | 24951 2565 | 40997 2566 | 11016 2567 | 2722 2568 | 21352 2569 | 47929 2570 | 24473 2571 | 7685 2572 | 22840 2573 | 4366 2574 | 7729 2575 | 35166 2576 | 47065 2577 | 875 2578 | 37419 2579 | 40831 2580 | 25661 2581 | 31376 2582 | 26753 2583 | 48711 2584 | 44756 2585 | 8586 2586 | 47778 2587 | 31574 2588 | 18856 2589 | 24440 2590 | 24650 2591 | 18563 2592 | 20292 2593 | 17055 2594 | 20684 2595 | 15378 2596 | 21595 2597 | 9295 2598 | 4997 2599 | 10555 2600 | 24890 2601 | 27690 2602 | 45903 2603 | 48381 2604 | 46842 2605 | 5036 2606 | 39147 2607 | 36487 2608 | 49316 2609 | 48882 2610 | 4042 2611 | 30543 2612 | 45448 2613 | 15312 2614 | 22469 2615 | 34887 2616 | 3960 2617 | 36016 2618 | 11097 2619 | 28340 2620 | 28857 2621 | 9987 2622 | 18721 2623 | 26543 2624 | 10382 2625 | 21834 2626 | 2549 2627 | 7755 2628 | 2736 2629 | 37391 2630 | 32849 2631 | 41501 2632 | 41371 2633 | 40992 2634 | 45960 2635 | 8742 2636 | 17619 2637 | 46084 2638 | 26174 2639 | 44748 2640 | 1873 2641 | 7103 2642 | 4127 2643 | 14322 2644 | 42582 2645 | 6561 2646 | 23661 2647 | 33138 2648 | 24831 2649 | 31303 2650 | 32785 2651 | 15293 2652 | 30290 2653 | 23801 2654 | 3221 2655 | 12310 2656 | 5270 2657 | 33795 2658 | 5700 2659 | 37894 2660 | 40632 2661 | 10669 2662 | 9205 2663 | 26349 2664 | 45633 2665 | 15606 2666 | 27805 2667 | 6778 2668 | 20801 2669 | 46169 2670 | 34512 2671 | 5399 2672 | 17165 2673 | 21767 2674 | 45125 2675 | 33768 2676 | 5517 2677 | 11285 2678 | 10104 2679 | 21920 2680 | 9355 2681 | 6530 2682 | 48630 2683 | 21548 2684 | 18511 2685 | 18082 2686 | 7938 2687 | 17595 2688 | 37790 2689 | 34738 2690 | 5372 2691 | 13375 2692 | 27671 2693 | 7590 2694 | 20732 2695 | 28404 2696 | 48161 2697 | 5729 2698 | 39445 2699 | 42038 2700 | 31856 2701 | 1423 2702 | 43063 2703 | 13792 2704 | 42919 2705 | 4125 2706 | 42828 2707 | 26134 2708 | 31864 2709 | 36104 2710 | 23774 2711 | 1780 2712 | 10556 2713 | 11770 2714 | 11575 2715 | 25854 2716 | 18212 2717 | 26917 2718 | 16444 2719 | 46010 2720 | 49680 2721 | 35265 2722 | 38306 2723 | 26237 2724 | 42356 2725 | 38245 2726 | 40799 2727 | 39381 2728 | 21879 2729 | 675 2730 | 908 2731 | 4120 2732 | 35842 2733 | 47621 2734 | 5849 2735 | 34299 2736 | 31561 2737 | 14405 2738 | 20807 2739 | 48666 2740 | 29474 2741 | 3206 2742 | 4161 2743 | 49715 2744 | 3174 2745 | 19211 2746 | 29945 2747 | 39846 2748 | 16852 2749 | 2125 2750 | 11072 2751 | 29796 2752 | 14963 2753 | 42798 2754 | 33555 2755 | 19252 2756 | 14477 2757 | 13456 2758 | 42016 2759 | 24703 2760 | 48571 2761 | 34424 2762 | 28241 2763 | 36944 2764 | 12649 2765 | 48302 2766 | 38819 2767 | 38696 2768 | 45819 2769 | 15485 2770 | 22103 2771 | 33001 2772 | 19708 2773 | 7697 2774 | 24952 2775 | 14929 2776 | 24105 2777 | 6338 2778 | 38489 2779 | 37911 2780 | 37395 2781 | 47659 2782 | 28550 2783 | 39851 2784 | 15898 2785 | 31485 2786 | 10768 2787 | 37880 2788 | 46669 2789 | 173 2790 | 8223 2791 | 20603 2792 | 36121 2793 | 2877 2794 | 27292 2795 | 24909 2796 | 37341 2797 | 16556 2798 | 20938 2799 | 42178 2800 | 45828 2801 | 10413 2802 | 36150 2803 | 2120 2804 | 9274 2805 | 36782 2806 | 20484 2807 | 21198 2808 | 48715 2809 | 39228 2810 | 37451 2811 | 16453 2812 | 13356 2813 | 24352 2814 | 16643 2815 | 1580 2816 | 16280 2817 | 14259 2818 | 26591 2819 | 18569 2820 | 20156 2821 | 20495 2822 | 38427 2823 | 34207 2824 | 28661 2825 | 2028 2826 | 39677 2827 | 45215 2828 | 39967 2829 | 43404 2830 | 3965 2831 | 39458 2832 | 40608 2833 | 16795 2834 | 41096 2835 | 3173 2836 | 11536 2837 | 44106 2838 | 44361 2839 | 48683 2840 | 45728 2841 | 12135 2842 | 42817 2843 | 47505 2844 | 38954 2845 | 7921 2846 | 29382 2847 | 12593 2848 | 10175 2849 | 5267 2850 | 8140 2851 | 32277 2852 | 39660 2853 | 15340 2854 | 28723 2855 | 26138 2856 | 35189 2857 | 44792 2858 | 41406 2859 | 10206 2860 | 47090 2861 | 48083 2862 | 45007 2863 | 14432 2864 | 7476 2865 | 35867 2866 | 7162 2867 | 28427 2868 | 42745 2869 | 36453 2870 | 24028 2871 | 16653 2872 | 732 2873 | 18773 2874 | 8954 2875 | 47729 2876 | 44848 2877 | 19083 2878 | 33313 2879 | 6082 2880 | 3421 2881 | 33702 2882 | 22430 2883 | 30162 2884 | 47183 2885 | 29251 2886 | 8805 2887 | 17642 2888 | 12884 2889 | 43053 2890 | 35112 2891 | 20361 2892 | 38888 2893 | 27305 2894 | 5510 2895 | 25204 2896 | 681 2897 | 4512 2898 | 14223 2899 | 16566 2900 | 40004 2901 | 8836 2902 | 14724 2903 | 33853 2904 | 49172 2905 | 5205 2906 | 7870 2907 | 31347 2908 | 46187 2909 | 49155 2910 | 27401 2911 | 28854 2912 | 48935 2913 | 3747 2914 | 45579 2915 | 45219 2916 | 4495 2917 | 40247 2918 | 10424 2919 | 3047 2920 | 26377 2921 | 22073 2922 | 40905 2923 | 7192 2924 | 33294 2925 | 42243 2926 | 30140 2927 | 37749 2928 | 34888 2929 | 25353 2930 | 19835 2931 | 2579 2932 | 19635 2933 | 10907 2934 | 33737 2935 | 11155 2936 | 40373 2937 | 3451 2938 | 6519 2939 | 19683 2940 | 35949 2941 | 14093 2942 | 14026 2943 | 46074 2944 | 45627 2945 | 26755 2946 | 19437 2947 | 40940 2948 | 45915 2949 | 42396 2950 | 18176 2951 | 32795 2952 | 28221 2953 | 14896 2954 | 17501 2955 | 30126 2956 | 40600 2957 | 35964 2958 | 21678 2959 | 40934 2960 | 813 2961 | 22086 2962 | 19338 2963 | 21190 2964 | 32137 2965 | 47333 2966 | 19240 2967 | 39316 2968 | 21916 2969 | 18574 2970 | 14669 2971 | 12144 2972 | 8252 2973 | 30711 2974 | 3853 2975 | 6794 2976 | 47221 2977 | 49422 2978 | 48537 2979 | 2416 2980 | 26700 2981 | 10995 2982 | 30657 2983 | 45181 2984 | 27392 2985 | 10541 2986 | 43535 2987 | 20414 2988 | 33259 2989 | 37312 2990 | 46471 2991 | 42451 2992 | 30387 2993 | 9099 2994 | 35386 2995 | 28997 2996 | 19800 2997 | 5962 2998 | 4802 2999 | 11847 3000 | 37151 3001 | 15424 3002 | 17925 3003 | 45863 3004 | 48230 3005 | 7911 3006 | 20885 3007 | 15093 3008 | 4031 3009 | 35620 3010 | 37140 3011 | 33733 3012 | 14845 3013 | 30526 3014 | 43111 3015 | 11438 3016 | 36877 3017 | 587 3018 | 4181 3019 | 3804 3020 | 33420 3021 | 40438 3022 | 7516 3023 | 22860 3024 | 40811 3025 | 13410 3026 | 26428 3027 | 15657 3028 | 7321 3029 | 7825 3030 | 11903 3031 | 32397 3032 | 6463 3033 | 41801 3034 | 30011 3035 | 41749 3036 | 49210 3037 | 2810 3038 | 30041 3039 | 46385 3040 | 28980 3041 | 26542 3042 | 1802 3043 | 32855 3044 | 17715 3045 | 1402 3046 | 3341 3047 | 7968 3048 | 48022 3049 | 39122 3050 | 49305 3051 | 25815 3052 | 44612 3053 | 19477 3054 | 32690 3055 | 38372 3056 | 11588 3057 | 34552 3058 | 1371 3059 | 14084 3060 | 16409 3061 | 42529 3062 | 29426 3063 | 49874 3064 | 41448 3065 | 3865 3066 | 22082 3067 | 42584 3068 | 25565 3069 | 1367 3070 | 37940 3071 | 23606 3072 | 3504 3073 | 16442 3074 | 36285 3075 | 32521 3076 | 7025 3077 | 26771 3078 | 1447 3079 | 21481 3080 | 4881 3081 | 7976 3082 | 45019 3083 | 39657 3084 | 34953 3085 | 30138 3086 | 3070 3087 | 35221 3088 | 10510 3089 | 34338 3090 | 39756 3091 | 33731 3092 | 42374 3093 | 22785 3094 | 48866 3095 | 10596 3096 | 10460 3097 | 5230 3098 | 2241 3099 | 16475 3100 | 24204 3101 | 38936 3102 | 27872 3103 | 22686 3104 | 6721 3105 | 22353 3106 | 19456 3107 | 5292 3108 | 45072 3109 | 49364 3110 | 7650 3111 | 49698 3112 | 28501 3113 | 17776 3114 | 22260 3115 | 32412 3116 | 15232 3117 | 154 3118 | 32434 3119 | 26120 3120 | 42416 3121 | 27117 3122 | 35838 3123 | 6829 3124 | 41327 3125 | 26566 3126 | 18033 3127 | 31128 3128 | 38148 3129 | 13797 3130 | 30813 3131 | 47191 3132 | 26513 3133 | 45793 3134 | 49307 3135 | 3742 3136 | 31133 3137 | 38572 3138 | 20386 3139 | 23605 3140 | 41260 3141 | 15039 3142 | 47640 3143 | 26409 3144 | 17153 3145 | 26091 3146 | 29550 3147 | 42049 3148 | 24635 3149 | 11318 3150 | 2965 3151 | 2729 3152 | 44917 3153 | 13806 3154 | 45295 3155 | 2684 3156 | 29931 3157 | 37654 3158 | 18454 3159 | 43461 3160 | 40200 3161 | 11584 3162 | 37617 3163 | 30877 3164 | 37107 3165 | 15063 3166 | 38922 3167 | 22968 3168 | 1131 3169 | 12619 3170 | 1051 3171 | 2134 3172 | 14940 3173 | 39637 3174 | 21846 3175 | 10676 3176 | 23257 3177 | 32170 3178 | 23517 3179 | 20921 3180 | 7918 3181 | 7486 3182 | 24394 3183 | 7648 3184 | 20775 3185 | 42232 3186 | 33758 3187 | 30644 3188 | 9158 3189 | 3323 3190 | 11144 3191 | 39010 3192 | 8737 3193 | 46336 3194 | 30812 3195 | 3698 3196 | 17231 3197 | 1259 3198 | 49082 3199 | 17272 3200 | 19641 3201 | 45730 3202 | 7638 3203 | 39954 3204 | 45770 3205 | 437 3206 | 34817 3207 | 49818 3208 | 11459 3209 | 42980 3210 | 2625 3211 | 33630 3212 | 24950 3213 | 37774 3214 | 20541 3215 | 43688 3216 | 47474 3217 | 35848 3218 | 49433 3219 | 41722 3220 | 26211 3221 | 9406 3222 | 47712 3223 | 45765 3224 | 43734 3225 | 23458 3226 | 26698 3227 | 26403 3228 | 6367 3229 | 14514 3230 | 33608 3231 | 26139 3232 | 28506 3233 | 49948 3234 | 20324 3235 | 33543 3236 | 46273 3237 | 2650 3238 | 46306 3239 | 38707 3240 | 8309 3241 | 42896 3242 | 21935 3243 | 23479 3244 | 32339 3245 | 27632 3246 | 46404 3247 | 12407 3248 | 25709 3249 | 8891 3250 | 22909 3251 | 38318 3252 | 31448 3253 | 38026 3254 | 35851 3255 | 38122 3256 | 29847 3257 | 34652 3258 | 7799 3259 | 31852 3260 | 13168 3261 | 31558 3262 | 10165 3263 | 23086 3264 | 4966 3265 | 47472 3266 | 16998 3267 | 21146 3268 | 31859 3269 | 7710 3270 | 28494 3271 | 23628 3272 | 42956 3273 | 41924 3274 | 48369 3275 | 26268 3276 | 21200 3277 | 12214 3278 | 49028 3279 | 20887 3280 | 34388 3281 | 15719 3282 | 28732 3283 | 19040 3284 | 6826 3285 | 43666 3286 | 28203 3287 | 42136 3288 | 18029 3289 | 30012 3290 | 26084 3291 | 18254 3292 | 11466 3293 | 34156 3294 | 124 3295 | 40142 3296 | 6246 3297 | 45944 3298 | 11310 3299 | 44163 3300 | 14024 3301 | 43117 3302 | 9797 3303 | 1038 3304 | 12459 3305 | 44695 3306 | 15035 3307 | 571 3308 | 18736 3309 | 27022 3310 | 18895 3311 | 44999 3312 | 48747 3313 | 42562 3314 | 38336 3315 | 22176 3316 | 7070 3317 | 27164 3318 | 25076 3319 | 42169 3320 | 33799 3321 | 7916 3322 | 40521 3323 | 9237 3324 | 18024 3325 | 16756 3326 | 32709 3327 | 36642 3328 | 37457 3329 | 16455 3330 | 12302 3331 | 19556 3332 | 10253 3333 | 49624 3334 | 1874 3335 | 23054 3336 | 35732 3337 | 15804 3338 | 49708 3339 | 19322 3340 | 7215 3341 | 26492 3342 | 1132 3343 | 960 3344 | 49949 3345 | 9112 3346 | 34288 3347 | 33173 3348 | 8979 3349 | 23406 3350 | 37479 3351 | 23097 3352 | 37227 3353 | 27385 3354 | 44814 3355 | 18543 3356 | 44248 3357 | 4208 3358 | 8053 3359 | 31427 3360 | 48854 3361 | 24852 3362 | 19665 3363 | 37332 3364 | 15846 3365 | 12736 3366 | 15060 3367 | 41074 3368 | 3631 3369 | 6672 3370 | 48325 3371 | 17858 3372 | 14906 3373 | 3805 3374 | 32746 3375 | 14188 3376 | 4123 3377 | 26339 3378 | 6093 3379 | 10058 3380 | 31984 3381 | 18509 3382 | 49962 3383 | 11726 3384 | 49853 3385 | 39357 3386 | 38677 3387 | 24423 3388 | 39469 3389 | 18173 3390 | 18571 3391 | 44883 3392 | 46545 3393 | 25877 3394 | 6172 3395 | 20021 3396 | 15810 3397 | 46073 3398 | 6101 3399 | 39120 3400 | 12491 3401 | 23549 3402 | 27010 3403 | 20332 3404 | 30938 3405 | 15517 3406 | 42819 3407 | 10532 3408 | 12337 3409 | 39997 3410 | 5375 3411 | 27651 3412 | 42790 3413 | 33551 3414 | 34422 3415 | 39808 3416 | 24781 3417 | 17523 3418 | 6935 3419 | 409 3420 | 29720 3421 | 4550 3422 | 23084 3423 | 27928 3424 | 23747 3425 | 25704 3426 | 2439 3427 | 34028 3428 | 44825 3429 | 45355 3430 | 5679 3431 | 41873 3432 | 17301 3433 | 16008 3434 | 45248 3435 | 36661 3436 | 4668 3437 | 9901 3438 | 39343 3439 | 48650 3440 | 298 3441 | 10961 3442 | 40096 3443 | 18396 3444 | 17566 3445 | 40235 3446 | 18126 3447 | 46550 3448 | 5124 3449 | 30906 3450 | 19019 3451 | 45607 3452 | 33201 3453 | 43521 3454 | 3435 3455 | 44735 3456 | 20734 3457 | 9847 3458 | 32565 3459 | 40856 3460 | 48361 3461 | 30143 3462 | 25373 3463 | 187 3464 | 640 3465 | 26366 3466 | 28011 3467 | 16639 3468 | 46009 3469 | 46134 3470 | 22081 3471 | 44733 3472 | 4959 3473 | 32922 3474 | 10364 3475 | 2111 3476 | 28956 3477 | 11404 3478 | 44795 3479 | 1948 3480 | 33260 3481 | 46721 3482 | 26020 3483 | 36463 3484 | 19087 3485 | 16822 3486 | 25229 3487 | 33594 3488 | 19511 3489 | 36044 3490 | 20022 3491 | 23680 3492 | 26429 3493 | 8545 3494 | 47497 3495 | 20384 3496 | 44259 3497 | 22332 3498 | 45453 3499 | 45350 3500 | 42436 3501 | 27123 3502 | 1909 3503 | 3317 3504 | 45230 3505 | 49907 3506 | 1930 3507 | 11881 3508 | 12272 3509 | 46391 3510 | 14863 3511 | 43629 3512 | 13185 3513 | 44338 3514 | 30928 3515 | 49893 3516 | 22965 3517 | 35818 3518 | 15853 3519 | 13790 3520 | 28392 3521 | 29499 3522 | 27116 3523 | 8764 3524 | 470 3525 | 35122 3526 | 32187 3527 | 16162 3528 | 24052 3529 | 42238 3530 | 42485 3531 | 28771 3532 | 12474 3533 | 47092 3534 | 42747 3535 | 19739 3536 | 38131 3537 | 49413 3538 | 43449 3539 | 29158 3540 | 12844 3541 | 44049 3542 | 34709 3543 | 2783 3544 | 15427 3545 | 15791 3546 | 16334 3547 | 48720 3548 | 36338 3549 | 26752 3550 | 32317 3551 | 36773 3552 | 8921 3553 | 6986 3554 | 152 3555 | 10546 3556 | 33265 3557 | 48487 3558 | 6726 3559 | 27985 3560 | 44578 3561 | 1469 3562 | 4782 3563 | 5996 3564 | 589 3565 | 37919 3566 | 35473 3567 | 43163 3568 | 2275 3569 | 27230 3570 | 30401 3571 | 14822 3572 | 21378 3573 | 30382 3574 | 26533 3575 | 17812 3576 | 21814 3577 | 994 3578 | 10772 3579 | 23778 3580 | 36499 3581 | 5943 3582 | 10584 3583 | 40005 3584 | 20018 3585 | 43774 3586 | 25848 3587 | 25865 3588 | 39758 3589 | 2701 3590 | 27836 3591 | 17242 3592 | 5034 3593 | 49846 3594 | 8238 3595 | 44063 3596 | 33981 3597 | 45505 3598 | 24026 3599 | 17160 3600 | 36409 3601 | 15270 3602 | 43193 3603 | 33755 3604 | 33203 3605 | 19816 3606 | 570 3607 | 15604 3608 | 40834 3609 | 30197 3610 | 37595 3611 | 23561 3612 | 32287 3613 | 40330 3614 | 48149 3615 | 33397 3616 | 34520 3617 | 3627 3618 | 17782 3619 | 44858 3620 | 11323 3621 | 44133 3622 | 30434 3623 | 46818 3624 | 545 3625 | 38486 3626 | 43152 3627 | 17737 3628 | 24908 3629 | 4790 3630 | 27697 3631 | 19755 3632 | 30036 3633 | 15539 3634 | 18997 3635 | 6808 3636 | 4054 3637 | 36562 3638 | 19247 3639 | 2135 3640 | 3389 3641 | 16187 3642 | 3348 3643 | 6842 3644 | 26810 3645 | 4478 3646 | 25916 3647 | 37472 3648 | 33036 3649 | 6278 3650 | 46640 3651 | 44130 3652 | 42608 3653 | 19821 3654 | 22706 3655 | 18058 3656 | 46364 3657 | 11570 3658 | 3146 3659 | 30174 3660 | 29406 3661 | 46896 3662 | 12980 3663 | 26973 3664 | 18641 3665 | 47270 3666 | 22871 3667 | 2228 3668 | 19372 3669 | 33485 3670 | 45939 3671 | 29359 3672 | 17956 3673 | 4445 3674 | 48548 3675 | 113 3676 | 38356 3677 | 3933 3678 | 14363 3679 | 24472 3680 | 13442 3681 | 36135 3682 | 3955 3683 | 22198 3684 | 18956 3685 | 18323 3686 | 14370 3687 | 29648 3688 | 25895 3689 | 28249 3690 | 31738 3691 | 29481 3692 | 4157 3693 | 38094 3694 | 35158 3695 | 30991 3696 | 10034 3697 | 14788 3698 | 41803 3699 | 25742 3700 | 46018 3701 | 41129 3702 | 25917 3703 | 9823 3704 | 41496 3705 | 34929 3706 | 5863 3707 | 9689 3708 | 26673 3709 | 49451 3710 | 48153 3711 | 34506 3712 | 40465 3713 | 3035 3714 | 12900 3715 | 28920 3716 | 23844 3717 | 22789 3718 | 28023 3719 | 35056 3720 | 26345 3721 | 17377 3722 | 24812 3723 | 45699 3724 | 16399 3725 | 12751 3726 | 12985 3727 | 9472 3728 | 9851 3729 | 5366 3730 | 33026 3731 | 16376 3732 | 45790 3733 | 39472 3734 | 9560 3735 | 16109 3736 | 16811 3737 | 25156 3738 | 5241 3739 | 18686 3740 | 39944 3741 | 28048 3742 | 14452 3743 | 1341 3744 | 30651 3745 | 28102 3746 | 20614 3747 | 22942 3748 | 47731 3749 | 6321 3750 | 21113 3751 | 31320 3752 | 38615 3753 | 22772 3754 | 8461 3755 | 43168 3756 | 45630 3757 | 19408 3758 | 47460 3759 | 42184 3760 | 43343 3761 | 36987 3762 | 45888 3763 | 9044 3764 | 31723 3765 | 6522 3766 | 46103 3767 | 31350 3768 | 24858 3769 | 42887 3770 | 5674 3771 | 898 3772 | 32177 3773 | 2553 3774 | 27574 3775 | 5536 3776 | 49965 3777 | 18874 3778 | 20681 3779 | 16654 3780 | 33191 3781 | 28256 3782 | 24449 3783 | 3364 3784 | 22678 3785 | 12722 3786 | 17807 3787 | 48349 3788 | 48272 3789 | 20078 3790 | 27451 3791 | 47983 3792 | 16467 3793 | 30121 3794 | 14745 3795 | 14928 3796 | 14126 3797 | 19931 3798 | 35008 3799 | 36513 3800 | 22444 3801 | 14680 3802 | 26669 3803 | 42951 3804 | 17157 3805 | 27682 3806 | 17110 3807 | 26356 3808 | 13237 3809 | 6441 3810 | 32241 3811 | 38435 3812 | 6481 3813 | 38884 3814 | 2852 3815 | 16824 3816 | 5542 3817 | 33605 3818 | 24469 3819 | 18350 3820 | 38212 3821 | 26490 3822 | 34899 3823 | 25957 3824 | 49578 3825 | 47924 3826 | 27637 3827 | 29740 3828 | 26692 3829 | 25154 3830 | 35407 3831 | 582 3832 | 40061 3833 | 19629 3834 | 10730 3835 | 37186 3836 | 36589 3837 | 17499 3838 | 23873 3839 | 24944 3840 | 19960 3841 | 40859 3842 | 11595 3843 | 25701 3844 | 31034 3845 | 45747 3846 | 42550 3847 | 6409 3848 | 26697 3849 | 5317 3850 | 3975 3851 | 32440 3852 | 19759 3853 | 8642 3854 | 36680 3855 | 46455 3856 | 31671 3857 | 48857 3858 | 19642 3859 | 34708 3860 | 20186 3861 | 48714 3862 | 48456 3863 | 21109 3864 | 19636 3865 | 5812 3866 | 10562 3867 | 36260 3868 | 31789 3869 | 30348 3870 | 16815 3871 | 18804 3872 | 24940 3873 | 8901 3874 | 33689 3875 | 237 3876 | 25197 3877 | 28719 3878 | 15120 3879 | 12794 3880 | 29872 3881 | 34915 3882 | 30340 3883 | 28815 3884 | 22036 3885 | 33120 3886 | 12744 3887 | 41195 3888 | 12705 3889 | 14596 3890 | 40464 3891 | 8390 3892 | 42126 3893 | 641 3894 | 46601 3895 | 37636 3896 | 10156 3897 | 29644 3898 | 5560 3899 | 47665 3900 | 14374 3901 | 14261 3902 | 10214 3903 | 24599 3904 | 41479 3905 | 25310 3906 | 13119 3907 | 22599 3908 | 23889 3909 | 15511 3910 | 5396 3911 | 9133 3912 | 23330 3913 | 17589 3914 | 3150 3915 | 48865 3916 | 32911 3917 | 24715 3918 | 47923 3919 | 44878 3920 | 19651 3921 | 7613 3922 | 14233 3923 | 40182 3924 | 40141 3925 | 9454 3926 | 35214 3927 | 26389 3928 | 6449 3929 | 21816 3930 | 28293 3931 | 48237 3932 | 12479 3933 | 34332 3934 | 39314 3935 | 22180 3936 | 7120 3937 | 21891 3938 | 18823 3939 | 15290 3940 | 47055 3941 | 10449 3942 | 35689 3943 | 36412 3944 | 16000 3945 | 17081 3946 | 42874 3947 | 6696 3948 | 43929 3949 | 7819 3950 | 19599 3951 | 10216 3952 | 47137 3953 | 16344 3954 | 44347 3955 | 41968 3956 | 29026 3957 | 14939 3958 | 40266 3959 | 18914 3960 | 37882 3961 | 662 3962 | 30216 3963 | 48219 3964 | 13942 3965 | 28240 3966 | 6401 3967 | 48198 3968 | 44911 3969 | 24970 3970 | 23304 3971 | 45150 3972 | 10778 3973 | 6261 3974 | 17473 3975 | 10871 3976 | 1679 3977 | 19383 3978 | 49942 3979 | 44935 3980 | 22958 3981 | 39259 3982 | 28853 3983 | 23727 3984 | 45808 3985 | 6164 3986 | 22136 3987 | 34591 3988 | 49606 3989 | 17848 3990 | 48695 3991 | 16031 3992 | 38128 3993 | 46747 3994 | 3255 3995 | 49801 3996 | 4795 3997 | 12365 3998 | 27672 3999 | 6764 4000 | 30925 4001 | 47063 4002 | 31424 4003 | 2298 4004 | 20716 4005 | 39075 4006 | 8525 4007 | 161 4008 | 46582 4009 | 49828 4010 | 48286 4011 | 26352 4012 | 47825 4013 | 11345 4014 | 43872 4015 | 45185 4016 | 37959 4017 | 3904 4018 | 26481 4019 | 4397 4020 | 32726 4021 | 12172 4022 | 13702 4023 | 46479 4024 | 42963 4025 | 44022 4026 | 23838 4027 | 44882 4028 | 18104 4029 | 1512 4030 | 15418 4031 | 31663 4032 | 4092 4033 | 4514 4034 | 11593 4035 | 35142 4036 | 32714 4037 | 18700 4038 | 3800 4039 | 9540 4040 | 49876 4041 | 46453 4042 | 16816 4043 | 11529 4044 | 28204 4045 | 9037 4046 | 26402 4047 | 24216 4048 | 29399 4049 | 36735 4050 | 17894 4051 | 18607 4052 | 49985 4053 | 18140 4054 | 9378 4055 | 4670 4056 | 33264 4057 | 44420 4058 | 39184 4059 | 3155 4060 | 24878 4061 | 1994 4062 | 23865 4063 | 7306 4064 | 21716 4065 | 41314 4066 | 19254 4067 | 9122 4068 | 42266 4069 | 8424 4070 | 16856 4071 | 8222 4072 | 13641 4073 | 29239 4074 | 41867 4075 | 47378 4076 | 27896 4077 | 46580 4078 | 32933 4079 | 3313 4080 | 24376 4081 | 2586 4082 | 29475 4083 | 723 4084 | 23080 4085 | 34471 4086 | 35315 4087 | 37642 4088 | 42032 4089 | 25042 4090 | 567 4091 | 5953 4092 | 7966 4093 | 39364 4094 | 19843 4095 | 48299 4096 | 19513 4097 | 3680 4098 | 47612 4099 | 17063 4100 | 19975 4101 | 36262 4102 | 23215 4103 | 32567 4104 | 20219 4105 | 22010 4106 | 18055 4107 | 32165 4108 | 25126 4109 | 2689 4110 | 26563 4111 | 46704 4112 | 16483 4113 | 32622 4114 | 23153 4115 | 49697 4116 | 43916 4117 | 8707 4118 | 7744 4119 | 43383 4120 | 6775 4121 | 32023 4122 | 47597 4123 | 33078 4124 | 31763 4125 | 5048 4126 | 48156 4127 | 21172 4128 | 35572 4129 | 6862 4130 | 36792 4131 | 30788 4132 | 36551 4133 | 3405 4134 | 16315 4135 | 31425 4136 | 6830 4137 | 3518 4138 | 24414 4139 | 34979 4140 | 1721 4141 | 21802 4142 | 20350 4143 | 39896 4144 | 10003 4145 | 32532 4146 | 13992 4147 | 26457 4148 | 13109 4149 | 3123 4150 | 18645 4151 | 2417 4152 | 38779 4153 | 16140 4154 | 38817 4155 | 38987 4156 | 19775 4157 | 7514 4158 | 28979 4159 | 45898 4160 | 45478 4161 | 31392 4162 | 45037 4163 | 20000 4164 | 43046 4165 | 43035 4166 | 7447 4167 | 20298 4168 | 8022 4169 | 5806 4170 | 12866 4171 | 793 4172 | 9160 4173 | 42202 4174 | 23312 4175 | 21140 4176 | 29773 4177 | 42135 4178 | 21830 4179 | 28310 4180 | 31903 4181 | 13728 4182 | 9282 4183 | 26863 4184 | 40445 4185 | 36403 4186 | 14753 4187 | 37318 4188 | 38162 4189 | 36933 4190 | 19090 4191 | 48965 4192 | 36091 4193 | 23666 4194 | 47832 4195 | 3745 4196 | 9664 4197 | 33446 4198 | 10434 4199 | 13079 4200 | 18253 4201 | 12351 4202 | 47019 4203 | 45726 4204 | 17923 4205 | 30460 4206 | 28782 4207 | 30366 4208 | 11942 4209 | 7947 4210 | 24894 4211 | 3753 4212 | 13982 4213 | 12600 4214 | 10810 4215 | 30510 4216 | 42583 4217 | 909 4218 | 17360 4219 | 22426 4220 | 34869 4221 | 40636 4222 | 41078 4223 | 15795 4224 | 22888 4225 | 20491 4226 | 47562 4227 | 24451 4228 | 30252 4229 | 43029 4230 | 16330 4231 | 35562 4232 | 11566 4233 | 43348 4234 | 32560 4235 | 3170 4236 | 39079 4237 | 21028 4238 | 44310 4239 | 44577 4240 | 7569 4241 | 22374 4242 | 1508 4243 | 1404 4244 | 47119 4245 | 5250 4246 | 24085 4247 | 36131 4248 | 9076 4249 | 39094 4250 | 18593 4251 | 38608 4252 | 4507 4253 | 32037 4254 | 23858 4255 | 42429 4256 | 24039 4257 | 16443 4258 | 29601 4259 | 28807 4260 | 41434 4261 | 49551 4262 | 25336 4263 | 5672 4264 | 16830 4265 | 11559 4266 | 21257 4267 | 38158 4268 | 8766 4269 | 20082 4270 | 35249 4271 | 47694 4272 | 26777 4273 | 35211 4274 | 29564 4275 | 49553 4276 | 25013 4277 | 7668 4278 | 44763 4279 | 23757 4280 | 28683 4281 | 49827 4282 | 17630 4283 | 12418 4284 | 45771 4285 | 14389 4286 | 21699 4287 | 35192 4288 | 23513 4289 | 6942 4290 | 9599 4291 | 38733 4292 | 38332 4293 | 6717 4294 | 12610 4295 | 41253 4296 | 32551 4297 | 442 4298 | 42898 4299 | 6219 4300 | 19132 4301 | 15648 4302 | 15334 4303 | 12020 4304 | 46314 4305 | 20898 4306 | 37348 4307 | 8006 4308 | 5487 4309 | 23085 4310 | 29764 4311 | 30504 4312 | 7233 4313 | 40124 4314 | 34695 4315 | 39787 4316 | 7507 4317 | 19336 4318 | 31354 4319 | 39424 4320 | 37051 4321 | 18153 4322 | 38436 4323 | 30406 4324 | 47342 4325 | 38631 4326 | 47886 4327 | 27747 4328 | 11665 4329 | 16479 4330 | 37550 4331 | 31498 4332 | 31314 4333 | 19567 4334 | 15135 4335 | 45727 4336 | 5977 4337 | 31183 4338 | 4851 4339 | 1391 4340 | 16141 4341 | 10369 4342 | 12688 4343 | 21823 4344 | 8998 4345 | 7329 4346 | 1597 4347 | 1665 4348 | 36722 4349 | 10191 4350 | 39802 4351 | 16700 4352 | 3998 4353 | 2166 4354 | 43622 4355 | 25760 4356 | 29850 4357 | 32077 4358 | 30147 4359 | 42502 4360 | 487 4361 | 7104 4362 | 29537 4363 | 8574 4364 | 39011 4365 | 38477 4366 | 13020 4367 | 32836 4368 | 43047 4369 | 14736 4370 | 35301 4371 | 42617 4372 | 1558 4373 | 12194 4374 | 48647 4375 | 20360 4376 | 21862 4377 | 49851 4378 | 17013 4379 | 18145 4380 | 21295 4381 | 32183 4382 | 37329 4383 | 34610 4384 | 9555 4385 | 5105 4386 | 9882 4387 | 32171 4388 | 42720 4389 | 2426 4390 | 14718 4391 | 28507 4392 | 11265 4393 | 45807 4394 | 7702 4395 | 38443 4396 | 5251 4397 | 10664 4398 | 38111 4399 | 1032 4400 | 42388 4401 | 39362 4402 | 38815 4403 | 1370 4404 | 14464 4405 | 35719 4406 | 8278 4407 | 45717 4408 | 20875 4409 | 44043 4410 | 27532 4411 | 16425 4412 | 14287 4413 | 12792 4414 | 4066 4415 | 19124 4416 | 5284 4417 | 36747 4418 | 8348 4419 | 34089 4420 | 35436 4421 | 39956 4422 | 34004 4423 | 45626 4424 | 48500 4425 | 45912 4426 | 31652 4427 | 49865 4428 | 22714 4429 | 42847 4430 | 27061 4431 | 33613 4432 | 18382 4433 | 7580 4434 | 27674 4435 | 6397 4436 | 36209 4437 | 31526 4438 | 29067 4439 | 36498 4440 | 18565 4441 | 2599 4442 | 37534 4443 | 34656 4444 | 40669 4445 | 2721 4446 | 35416 4447 | 21880 4448 | 24929 4449 | 9154 4450 | 33104 4451 | 19149 4452 | 34198 4453 | 34135 4454 | 16395 4455 | 15323 4456 | 36798 4457 | 34712 4458 | 31778 4459 | 12771 4460 | 49152 4461 | 34657 4462 | 14876 4463 | 40645 4464 | 42870 4465 | 5929 4466 | 49631 4467 | 22576 4468 | 6250 4469 | 5916 4470 | 35826 4471 | 10068 4472 | 34315 4473 | 8972 4474 | 47879 4475 | 33384 4476 | 7096 4477 | 36780 4478 | 31423 4479 | 1720 4480 | 30955 4481 | 38255 4482 | 38809 4483 | 18546 4484 | 2487 4485 | 28546 4486 | 24821 4487 | 49000 4488 | 35707 4489 | 19530 4490 | 49347 4491 | 4159 4492 | 10456 4493 | 10620 4494 | 9567 4495 | 22340 4496 | 7857 4497 | 29826 4498 | 36650 4499 | 45809 4500 | 38460 4501 | 23783 4502 | 47785 4503 | 49029 4504 | 42885 4505 | 25094 4506 | 38873 4507 | 18703 4508 | 12970 4509 | 8298 4510 | 33208 4511 | 22959 4512 | 40750 4513 | 28534 4514 | 49453 4515 | 30946 4516 | 39099 4517 | 12822 4518 | 22075 4519 | 27752 4520 | 45520 4521 | 5465 4522 | 38768 4523 | 46438 4524 | 47031 4525 | 40812 4526 | 5437 4527 | 39879 4528 | 44332 4529 | 4783 4530 | 43218 4531 | 31983 4532 | 27085 4533 | 23645 4534 | 45755 4535 | 13867 4536 | 21584 4537 | 21518 4538 | 3766 4539 | 5170 4540 | 5083 4541 | 40157 4542 | 14361 4543 | 1384 4544 | 35358 4545 | 2917 4546 | 36179 4547 | 35741 4548 | 21221 4549 | 44157 4550 | 42689 4551 | 19505 4552 | 3672 4553 | 18252 4554 | 19640 4555 | 42058 4556 | 45154 4557 | 10163 4558 | 37387 4559 | 18759 4560 | 25736 4561 | 1633 4562 | 48654 4563 | 10390 4564 | 23433 4565 | 1353 4566 | 30853 4567 | 35733 4568 | 7292 4569 | 2206 4570 | 8532 4571 | 40072 4572 | 46190 4573 | 20165 4574 | 10071 4575 | 46755 4576 | 21766 4577 | 2637 4578 | 33794 4579 | 13070 4580 | 25883 4581 | 16407 4582 | 31252 4583 | 24345 4584 | 26769 4585 | 15384 4586 | 3719 4587 | 15936 4588 | 18166 4589 | 31540 4590 | 19679 4591 | 39274 4592 | 11504 4593 | 23325 4594 | 18213 4595 | 26647 4596 | 4223 4597 | 19323 4598 | 11601 4599 | 39434 4600 | 32355 4601 | 13454 4602 | 2886 4603 | 36734 4604 | 42262 4605 | 33858 4606 | 307 4607 | 24436 4608 | 24474 4609 | 35943 4610 | 35085 4611 | 8145 4612 | 43384 4613 | 20176 4614 | 12902 4615 | 48615 4616 | 44410 4617 | 8213 4618 | 4407 4619 | 12467 4620 | 46280 4621 | 2218 4622 | 23979 4623 | 6152 4624 | 27788 4625 | 40166 4626 | 21571 4627 | 44775 4628 | 22311 4629 | 8788 4630 | 41173 4631 | 17590 4632 | 13128 4633 | 27435 4634 | 33913 4635 | 47005 4636 | 19549 4637 | 19826 4638 | 46390 4639 | 35260 4640 | 46189 4641 | 8826 4642 | 46004 4643 | 12950 4644 | 26011 4645 | 27575 4646 | 40819 4647 | 20735 4648 | 4603 4649 | 3463 4650 | 27570 4651 | 28405 4652 | 32563 4653 | 11430 4654 | 40699 4655 | 5562 4656 | 22117 4657 | 48468 4658 | 48442 4659 | 23115 4660 | 3175 4661 | 13308 4662 | 29805 4663 | 23758 4664 | 11755 4665 | 23426 4666 | 13096 4667 | 39359 4668 | 19796 4669 | 1043 4670 | 49732 4671 | 15817 4672 | 10743 4673 | 38300 4674 | 33729 4675 | 39884 4676 | 12948 4677 | 38644 4678 | 43419 4679 | 1102 4680 | 5937 4681 | 21866 4682 | 29222 4683 | 1587 4684 | 38820 4685 | 28199 4686 | 49823 4687 | 12562 4688 | 12288 4689 | 43104 4690 | 44713 4691 | 11774 4692 | 47512 4693 | 17187 4694 | 24076 4695 | 2024 4696 | 8959 4697 | 43614 4698 | 6666 4699 | 28285 4700 | 23169 4701 | 16205 4702 | 31713 4703 | 42000 4704 | 11856 4705 | 40734 4706 | 35064 4707 | 679 4708 | 7399 4709 | 30360 4710 | 16943 4711 | 15280 4712 | 33520 4713 | 38027 4714 | 30702 4715 | 14609 4716 | 1279 4717 | 28846 4718 | 17393 4719 | 43821 4720 | 21478 4721 | 6237 4722 | 12404 4723 | 8413 4724 | 40361 4725 | 49783 4726 | 32902 4727 | 26817 4728 | 42264 4729 | 26152 4730 | 39597 4731 | 26222 4732 | 47238 4733 | 4489 4734 | 21121 4735 | 36978 4736 | 47690 4737 | 16143 4738 | 34006 4739 | 42624 4740 | 45671 4741 | 40043 4742 | 41776 4743 | 37723 4744 | 29651 4745 | 38759 4746 | 15463 4747 | 16684 4748 | 43511 4749 | 29384 4750 | 35280 4751 | 32745 4752 | 34622 4753 | 17264 4754 | 16909 4755 | 24273 4756 | 24477 4757 | 30785 4758 | 45825 4759 | 47641 4760 | 5591 4761 | 18310 4762 | 16664 4763 | 22220 4764 | 10161 4765 | 27810 4766 | 42875 4767 | 23303 4768 | 18666 4769 | 19146 4770 | 33088 4771 | 5271 4772 | 47278 4773 | 45844 4774 | 1186 4775 | 26610 4776 | 25375 4777 | 18760 4778 | 21786 4779 | 10118 4780 | 11360 4781 | 34077 4782 | 15330 4783 | 34049 4784 | 11552 4785 | 881 4786 | 19429 4787 | 41495 4788 | 28547 4789 | 41079 4790 | 24001 4791 | 39581 4792 | 19199 4793 | 38017 4794 | 22543 4795 | 18937 4796 | 3143 4797 | 25476 4798 | 6016 4799 | 10698 4800 | 33437 4801 | 28915 4802 | 21184 4803 | 24530 4804 | 3846 4805 | 34726 4806 | 45307 4807 | 28601 4808 | 35699 4809 | 3722 4810 | 4252 4811 | 26668 4812 | 19356 4813 | 49125 4814 | 26496 4815 | 28483 4816 | 47426 4817 | 6834 4818 | 9425 4819 | 23562 4820 | 5235 4821 | 39801 4822 | 8103 4823 | 17906 4824 | 18467 4825 | 20675 4826 | 10187 4827 | 30717 4828 | 6158 4829 | 12456 4830 | 43008 4831 | 24133 4832 | 43067 4833 | 29197 4834 | 42101 4835 | 43788 4836 | 28514 4837 | 7262 4838 | 42973 4839 | 45696 4840 | 32589 4841 | 36918 4842 | 14825 4843 | 16551 4844 | 31399 4845 | 25091 4846 | 18020 4847 | 11806 4848 | 47307 4849 | 12816 4850 | 14545 4851 | 22447 4852 | 34348 4853 | 5395 4854 | 42349 4855 | 27369 4856 | 19661 4857 | 42561 4858 | 26446 4859 | 16369 4860 | 30118 4861 | 3477 4862 | 24029 4863 | 1223 4864 | 31956 4865 | 46195 4866 | 16773 4867 | 49583 4868 | 33898 4869 | 2332 4870 | 36143 4871 | 17706 4872 | 39546 4873 | 26655 4874 | 41560 4875 | 19486 4876 | 41284 4877 | 13963 4878 | 35178 4879 | 32605 4880 | 22366 4881 | 1253 4882 | 40015 4883 | 5865 4884 | 11984 4885 | 37819 4886 | 26868 4887 | 29784 4888 | 24343 4889 | 14071 4890 | 26625 4891 | 16973 4892 | 46752 4893 | 31298 4894 | 25963 4895 | 47577 4896 | 14197 4897 | 13491 4898 | 47315 4899 | 9947 4900 | 36684 4901 | 15119 4902 | 11797 4903 | 31686 4904 | 44182 4905 | 21926 4906 | 15588 4907 | 9911 4908 | 47269 4909 | 10751 4910 | 13429 4911 | 43679 4912 | 2655 4913 | 39557 4914 | 40168 4915 | 28304 4916 | 12654 4917 | 15180 4918 | 47875 4919 | 36928 4920 | 48996 4921 | 186 4922 | 42102 4923 | 6984 4924 | 38116 4925 | 34773 4926 | 22466 4927 | 11715 4928 | 13699 4929 | 40711 4930 | 23166 4931 | 37141 4932 | 798 4933 | 40059 4934 | 23229 4935 | 25832 4936 | 27791 4937 | 1590 4938 | 41996 4939 | 34214 4940 | 33593 4941 | 20305 4942 | 30343 4943 | 900 4944 | 15978 4945 | 4142 4946 | 49931 4947 | 44479 4948 | 23471 4949 | 46356 4950 | 37383 4951 | 16533 4952 | 41357 4953 | 5286 4954 | 31989 4955 | 16821 4956 | 1332 4957 | 37447 4958 | 35749 4959 | 33326 4960 | 16094 4961 | 49370 4962 | 4538 4963 | 14278 4964 | 31566 4965 | 27341 4966 | 10316 4967 | 2058 4968 | 10030 4969 | 6766 4970 | 26942 4971 | 49879 4972 | 41228 4973 | 7694 4974 | 43169 4975 | 2047 4976 | 17276 4977 | 18947 4978 | 31845 4979 | 30796 4980 | 40158 4981 | 10723 4982 | 47614 4983 | 39841 4984 | 24116 4985 | 13407 4986 | 12979 4987 | 16975 4988 | 38916 4989 | 8999 4990 | 37968 4991 | 21471 4992 | 8435 4993 | 26373 4994 | 9382 4995 | 31772 4996 | 43642 4997 | 36983 4998 | 20851 4999 | 19688 5000 | 10658 5001 | -------------------------------------------------------------------------------- /dataset.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | from torchvision import datasets 4 | from torch.utils.data import Dataset 5 | from torch.utils.data import DataLoader 6 | from PIL import Image 7 | import pdb 8 | 9 | def get_dataset(name): 10 | if name == 'MNIST': 11 | return get_MNIST() 12 | elif name == 'FashionMNIST': 13 | return get_FashionMNIST() 14 | elif name == 'SVHN': 15 | return get_SVHN() 16 | elif name == 'CIFAR10': 17 | return get_CIFAR10() 18 | elif name == 'CIFAR100': 19 | return get_CIFAR100() 20 | elif name == 'CALTECH256': 21 | return get_CALTECH256() 22 | elif name == 'TINY_IMAGENET': 23 | return get_TINY_IMAGENET() 24 | 25 | def get_MNIST(): 26 | raw_tr = datasets.MNIST('./MNIST', train=True, download=True) 27 | raw_te = datasets.MNIST('./MNIST', train=False, download=True) 28 | X_tr = raw_tr.train_data 29 | Y_tr = raw_tr.train_labels 30 | X_te = raw_te.test_data 31 | Y_te = raw_te.test_labels 32 | return X_tr, Y_tr, X_te, Y_te 33 | 34 | def get_FashionMNIST(): 35 | raw_tr = datasets.FashionMNIST('./FashionMNIST', train=True, download=True) 36 | raw_te = datasets.FashionMNIST('./FashionMNIST', train=False, download=True) 37 | X_tr = raw_tr.train_data 38 | Y_tr = raw_tr.train_labels 39 | X_te = raw_te.test_data 40 | Y_te = raw_te.test_labels 41 | return X_tr, Y_tr, X_te, Y_te 42 | 43 | def get_SVHN(): 44 | data_tr = datasets.SVHN('./SVHN', split='train', download=True) 45 | data_te = datasets.SVHN('./SVHN', split='test', download=True) 46 | X_tr = data_tr.data 47 | Y_tr = torch.from_numpy(data_tr.labels) 48 | X_te = data_te.data 49 | Y_te = torch.from_numpy(data_te.labels) 50 | return X_tr, Y_tr, X_te, Y_te 51 | 52 | def get_CIFAR10(): 53 | data_tr = datasets.CIFAR10('./CIFAR10', train=True, download=True) 54 | data_te = datasets.CIFAR10('./CIFAR10', train=False, download=True) 55 | X_tr = data_tr.train_data 56 | Y_tr = torch.from_numpy(np.array(data_tr.train_labels)) 57 | X_te = data_te.test_data 58 | Y_te = torch.from_numpy(np.array(data_te.test_labels)) 59 | return X_tr, Y_tr, X_te, Y_te 60 | 61 | def get_CIFAR100(): 62 | data_tr = datasets.CIFAR100('./CIFAR100', train=True, download=True) 63 | data_te = datasets.CIFAR100('./CIFAR100', train=False, download=True) 64 | X_tr = data_tr.train_data 65 | Y_tr = torch.from_numpy(np.array(data_tr.train_labels)) 66 | X_te = data_te.test_data 67 | Y_te = torch.from_numpy(np.array(data_te.test_labels)) 68 | return X_tr, Y_tr, X_te, Y_te 69 | 70 | def get_CALTECH256(): 71 | data_tr = datasets.Caltech256('./CALTECH256', train=True, download=True) 72 | data_te = datasets.Caltech256('./CALTECH256', train=False, download=True) 73 | X_tr = data_tr.train_data 74 | Y_tr = torch.from_numpy(np.array(data_tr.train_labels)) 75 | X_te = data_te.test_data 76 | Y_te = torch.from_numpy(np.array(data_te.test_labels)) 77 | return X_tr, Y_tr, X_te, Y_te 78 | 79 | def get_TINY_IMAGENET(): 80 | data_tr = datasets.ImageFolder('./tiny-imagenet-200/train/') 81 | data_te = datasets.ImageFolder('./tiny-imagenet-200/val/') 82 | 83 | fp = open('./tiny-imagenet-200/val/val_annotations.txt', 'r') 84 | data = fp.readlines() 85 | val_img_dict = {} 86 | for line in data: 87 | words = line.split('\t') 88 | val_img_dict[words[0]] = words[1] 89 | fp.close() 90 | 91 | train_data = [] 92 | train_labels = [] 93 | for i in range(len(data_tr)): 94 | img = data_tr.__getitem__(i)[0] 95 | train_data.append(np.asarray(img)) 96 | train_labels.append(data_tr.__getitem__(i)[1]) 97 | train_data = np.concatenate(train_data) 98 | train_data = train_data.reshape((len(data_tr), 3, 64, 64)) 99 | train_data = train_data.transpose((0, 2, 3, 1)) # convert to HWC 100 | 101 | 102 | test_data = [] 103 | test_labels = [] 104 | for i in range(len(data_te)): 105 | img = data_te.__getitem__(i)[0] 106 | test_data.append(np.asarray(img)) 107 | img_name=(data_te.samples[i][0]).split('/')[-1] 108 | test_labels.append(data_tr.classes.index(val_img_dict[img_name])) 109 | 110 | test_data = np.concatenate(test_data) 111 | test_data = test_data.reshape((len(data_te), 3, 64, 64)) 112 | test_data = test_data.transpose((0, 2, 3, 1)) # convert to HWC 113 | 114 | X_tr = train_data 115 | Y_tr = torch.from_numpy(np.array(train_labels)) 116 | X_te = test_data 117 | Y_te = torch.from_numpy(np.array(test_labels)) 118 | 119 | return X_tr, Y_tr, X_te, Y_te 120 | 121 | def get_handler(name): 122 | if name == 'MNIST': 123 | return DataHandler1 124 | elif name == 'FashionMNIST': 125 | return DataHandler1 126 | elif name == 'SVHN': 127 | return DataHandler2 128 | elif name == 'CIFAR10': 129 | return DataHandler3 130 | elif name == 'CIFAR100': 131 | return DataHandler3 132 | elif name == 'CALTECH256': 133 | return DataHandler4 134 | elif name == 'TINY_IMAGENET': 135 | return DataHandler5 136 | 137 | class DataHandler1(Dataset): 138 | def __init__(self, X, Y, transform=None): 139 | self.X = X 140 | self.Y = Y 141 | self.transform = transform 142 | 143 | def __getitem__(self, index): 144 | x, y = self.X[index], self.Y[index] 145 | if self.transform is not None: 146 | x = Image.fromarray(x.numpy(), mode='L') 147 | x = self.transform(x) 148 | return x, y, index 149 | 150 | def __len__(self): 151 | return len(self.X) 152 | 153 | class DataHandler2(Dataset): 154 | def __init__(self, X, Y, transform=None): 155 | self.X = X 156 | self.Y = Y 157 | self.transform = transform 158 | 159 | def __getitem__(self, index): 160 | x, y = self.X[index], self.Y[index] 161 | if self.transform is not None: 162 | x = Image.fromarray(np.transpose(x, (1, 2, 0))) 163 | x = self.transform(x) 164 | return x, y, index 165 | 166 | def __len__(self): 167 | return len(self.X) 168 | 169 | class DataHandler3(Dataset): 170 | def __init__(self, X, Y, transform=None): 171 | self.X = X 172 | self.Y = Y 173 | self.transform = transform 174 | 175 | def __getitem__(self, index): 176 | x, y = self.X[index], self.Y[index] 177 | if self.transform is not None: 178 | x = Image.fromarray(x) 179 | x = self.transform(x) 180 | return x, y, index 181 | 182 | def __len__(self): 183 | return len(self.X) 184 | 185 | class DataHandler4(Dataset): 186 | def __init__(self, X, Y, transform=None): 187 | self.X = X 188 | self.Y = Y 189 | self.transform = transform 190 | 191 | def __getitem__(self, index): 192 | x, y = self.X[index], self.Y[index] 193 | if self.transform is not None: 194 | x = Image.fromarray(x) 195 | x = self.transform(x) 196 | return x, y, index 197 | 198 | def __len__(self): 199 | return len(self.X) 200 | 201 | 202 | class DataHandler5(Dataset): 203 | 204 | def __init__(self, X, Y, transform=None): 205 | self.X = X 206 | self.Y = Y 207 | self.transform = transform 208 | 209 | def __getitem__(self, index): 210 | x, y = self.X[index], self.Y[index] 211 | if self.transform is not None: 212 | x = Image.fromarray(x) 213 | x = self.transform(x) 214 | return x, y, index 215 | 216 | def __len__(self): 217 | return len(self.X) 218 | -------------------------------------------------------------------------------- /framework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Javadzb/Class-Balanced-AL/70cff9d5a9da6123ddf170e2e0e614f2f8ce1f4e/framework.png -------------------------------------------------------------------------------- /query_strategies/__init__.py: -------------------------------------------------------------------------------- 1 | from .random_sampling import RandomSampling 2 | from .entropy_sampling import EntropySampling 3 | from .kcenter_greedy import KCenterGreedy 4 | from .bayesian_active_learning_disagreement_dropout import BALDDropout -------------------------------------------------------------------------------- /query_strategies/bayesian_active_learning_disagreement_dropout.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | from .strategy import Strategy 4 | 5 | class BALDDropout(Strategy): 6 | def __init__(self, X, Y, X_te, Y_te, dataset, method, idxs_lb, net, handler, args, cycle, n_drop=10): 7 | super(BALDDropout, self).__init__(X, Y,X_te, Y_te, dataset, method, idxs_lb, net, handler, args, cycle) 8 | self.n_drop = n_drop 9 | 10 | def query(self, n): 11 | idxs_unlabeled = np.arange(self.n_pool)[~self.idxs_lb] 12 | probs = self.predict_prob_dropout_split(self.X[idxs_unlabeled], self.Y[idxs_unlabeled], self.n_drop) 13 | pb = probs.mean(0) 14 | entropy1 = (-pb*torch.log(pb)).sum(1) 15 | entropy2 = (-probs*torch.log(probs)).sum(2).mean(0) 16 | U = entropy2 - entropy1 17 | return idxs_unlabeled[U.sort()[1][:n]] 18 | -------------------------------------------------------------------------------- /query_strategies/entropy_sampling.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | from .strategy import Strategy 4 | import os 5 | import pickle 6 | import pdb 7 | import matplotlib.pyplot as plt 8 | from random import * 9 | import random 10 | import copy 11 | import cvxpy as cp 12 | 13 | 14 | class EntropySampling(Strategy): 15 | def __init__(self, X, Y, X_te, Y_te, dataset, method, idxs_lb, net, handler, args, cycle): 16 | super(EntropySampling, self).__init__(X, Y, X_te, Y_te, dataset, method, idxs_lb, net, handler, args, cycle) 17 | 18 | def query(self, n): 19 | idxs_unlabeled = np.arange(self.n_pool)[~self.idxs_lb] 20 | probs, P = self.predict_prob(self.X[idxs_unlabeled], self.Y[idxs_unlabeled]) 21 | log_probs = torch.log(probs) 22 | U = (probs*log_probs).sum(1) 23 | 24 | if self.dataset == 'cifar10': 25 | num_classes=10 26 | elif self.dataset == 'cifar100': 27 | num_classes=100 28 | 29 | if 'imbalance' in self.method: 30 | return idxs_unlabeled[U.sort()[1][:n]] 31 | 32 | #======================================================================= 33 | # Optimization of maximum entropy with balancing 34 | #======================================================================= 35 | 36 | elif 'optimal' in self.method: 37 | b=n 38 | N=len(idxs_unlabeled) 39 | L1_DISTANCE=[] 40 | L1_Loss=[] 41 | ENT_Loss=[] 42 | probs = probs.numpy() 43 | U = U.numpy() 44 | # Adaptive counts of samples per cycle 45 | labeled_classes=self.Y[self.idxs_lb] 46 | _, counts = np.unique(labeled_classes, return_counts=True) 47 | class_threshold=int((2*n+(self.cycle+1)*n)/num_classes) 48 | class_share=class_threshold-counts 49 | samples_share= np.array([0 if c<0 else c for c in class_share]).reshape(num_classes,1) 50 | if self.dataset == 'cifar10': 51 | lamda=0.6 52 | elif self.dataset == 'cifar100': 53 | lamda=2 54 | 55 | for lam in [lamda]: 56 | 57 | z=cp.Variable((N,1),boolean=True) 58 | constraints = [sum(z) == b] 59 | cost = z.T @ U + lam * cp.norm1(probs.T @ z - samples_share) 60 | objective = cp.Minimize(cost) 61 | problem = cp.Problem(objective, constraints) 62 | problem.solve(solver=cp.GUROBI, verbose=True, TimeLimit=1000) 63 | print('Optimal value with gurobi : ', problem.value) 64 | print(problem.status) 65 | print("A solution z is") 66 | print(z.value.T) 67 | lb_flag = np.array(z.value.reshape(1, N)[0], dtype=bool) 68 | # -----------------Stats of optimization--------------------------------- 69 | ENT_Loss.append(np.matmul(z.value.T, U)) 70 | print('ENT LOSS= ', ENT_Loss) 71 | threshold = (2 * n / num_classes) + (self.cycle + 1) * n / num_classes 72 | round=self.cycle+1 73 | freq = torch.histc(torch.FloatTensor(self.Y[idxs_unlabeled[lb_flag]]), bins=num_classes)+torch.histc(torch.FloatTensor(self.Y[self.idxs_lb]), bins=num_classes) 74 | L1_distance = (sum(abs(freq - threshold)) * num_classes / (2 * (2 * n + round * n) * (num_classes - 1))).item() 75 | print('Lambda = ',lam) 76 | L1_DISTANCE.append(L1_distance) 77 | L1_Loss_term=np.linalg.norm(np.matmul(probs.T,z.value) - samples_share, ord=1) 78 | L1_Loss.append(L1_Loss_term) 79 | 80 | print('L1 Loss = ') 81 | for i in L1_Loss: 82 | print('%.3f' %i) 83 | print('L1_distance = ') 84 | for j in L1_DISTANCE: 85 | print('%.3f' % j) 86 | print('ENT LOSS = ') 87 | for k in ENT_Loss: 88 | print('%.3f' % k) 89 | return idxs_unlabeled[lb_flag] 90 | -------------------------------------------------------------------------------- /query_strategies/kcenter_greedy.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from .strategy import Strategy 3 | import copy 4 | import torch 5 | 6 | class KCenterGreedy(Strategy): 7 | def __init__(self, X, Y, X_te, Y_te,dataset, method, idxs_lb, net, handler, args, cycle): 8 | super(KCenterGreedy, self).__init__(X, Y, X_te, Y_te, dataset, method, idxs_lb, net, handler, args, cycle) 9 | 10 | def query(self, n): 11 | 12 | lb_flag = self.idxs_lb.copy() 13 | embedding = self.get_embedding_resnet(self.X, self.Y) 14 | embedding = embedding.numpy() 15 | embedding=np.around(embedding, decimals=2) 16 | 17 | from datetime import datetime 18 | 19 | print('calculate distance matrix') 20 | t_start = datetime.now() 21 | dist_mat = np.matmul(embedding, embedding.transpose()) 22 | sq = np.array(dist_mat.diagonal()).reshape(len(self.X), 1) 23 | dist_mat *= -2 24 | dist_mat += sq 25 | dist_mat += sq.transpose() 26 | dist_mat = np.sqrt(dist_mat) 27 | print(datetime.now() - t_start) 28 | mat = dist_mat[~lb_flag, :][:, lb_flag] 29 | 30 | #===============UNBALANCED active set========================= 31 | if 'imbalance' in self.method: 32 | for i in range(n): 33 | if i%10 == 0: 34 | print('greedy solution {}/{}'.format(i, n)) 35 | mat_min = mat.min(axis=1) 36 | q_idx_ = mat_min.argmax() 37 | q_idx = np.arange(self.n_pool)[~lb_flag][q_idx_] 38 | lb_flag[q_idx] = True 39 | mat = np.delete(mat, q_idx_, 0) 40 | mat = np.append(mat, dist_mat[~lb_flag, q_idx][:, None], axis=1) 41 | return np.arange(self.n_pool)[(self.idxs_lb ^ lb_flag)] 42 | 43 | # # #===============Class balanced active set======================= 44 | elif 'greedyOpt' in self.method: 45 | idxs_unlabeled = np.arange(self.n_pool)[~self.idxs_lb] 46 | N = len(idxs_unlabeled) 47 | probs, P = self.predict_prob(self.X[idxs_unlabeled], self.Y[idxs_unlabeled]) 48 | if self.dataset == 'cifar10': 49 | num_classes=10 50 | lam=5 51 | elif self.dataset == 'cifar100': 52 | num_classes=100 53 | lam=50 54 | 55 | # Adaptive counts of samples per cycle 56 | labeled_classes=self.Y[self.idxs_lb] 57 | _, counts = np.unique(labeled_classes, return_counts=True) 58 | class_threshold=int((2*n+(self.cycle+1)*n)/num_classes) 59 | class_share=class_threshold-counts 60 | samples_share= np.array([0 if c<0 else c for c in class_share]).reshape(num_classes,1) 61 | probs = np.array(probs) 62 | L1_LOSS=[] 63 | L1_DISTANCE=[] 64 | MAX_DIST=[] 65 | 66 | MAT=copy.deepcopy(mat) 67 | for lamda in [lam]: 68 | lb_flag = self.idxs_lb.copy() 69 | Q = copy.deepcopy(probs) 70 | z=np.zeros(N, dtype=bool) 71 | mat=MAT 72 | max_dist=0 73 | for i in range(n): 74 | if i%10 == 0: 75 | print('greedy solution {}/{}'.format(i, n)) 76 | mat_min = mat.min(axis=1) 77 | SAMPLE_SHARE = np.tile(samples_share, N-i) 78 | P_Z = np.tile(np.matmul(np.transpose(probs), z), (N-i,1)) 79 | X = SAMPLE_SHARE - np.transpose(Q) - np.transpose(P_Z) 80 | q_idx_= np.argmin(-mat_min + (lamda/num_classes) * np.linalg.norm(X,axis=0,ord=1)) 81 | max_dist = max_dist + mat_min[q_idx_] 82 | z_idx = np.arange(N)[~z][q_idx_] 83 | z[z_idx] = True 84 | Q = np.delete(probs, np.where(z==1)[0], 0) 85 | q_idx = np.arange(self.n_pool)[~lb_flag][q_idx_] 86 | lb_flag[q_idx] = True 87 | mat = np.delete(mat, q_idx_, 0) 88 | mat = np.append(mat, dist_mat[~lb_flag, q_idx][:, None], axis=1) 89 | threshold=(2*n/num_classes)+ (self.cycle+1)*n/num_classes #cycle 1 90 | round=self.cycle+1 #cycle 1 91 | freq = torch.histc(torch.FloatTensor(self.Y[lb_flag]), bins=num_classes) 92 | L1_distance= (sum(abs(freq - threshold)) * num_classes / (2 * (2 * n + round * n) * (num_classes - 1))).item() 93 | L1_DISTANCE.append(L1_distance) 94 | L1_LOSS.append(sum(np.linalg.norm(X,axis=0,ord=1))/(N-n)) 95 | MAX_DIST.append(max_dist) 96 | print('lamda = ',lamda) 97 | print('Maximum Distance Samples = ', max_dist) 98 | print ('L1 DISTANCE = ', L1_DISTANCE) 99 | print('L1 LOSS AVERAGE= ',L1_LOSS ) 100 | print('L1 DISTANCE = ',L1_DISTANCE) 101 | print('L1 LOSS = ',L1_LOSS) 102 | print('Max Distanced samples = ', MAX_DIST) 103 | return np.arange(self.n_pool)[(self.idxs_lb ^ lb_flag)] 104 | 105 | -------------------------------------------------------------------------------- /query_strategies/random_sampling.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from .strategy import Strategy 3 | 4 | class RandomSampling(Strategy): 5 | def __init__(self, X, Y, X_te, Y_te, dataset, method, idxs_lb, net, handler, args, cycle): 6 | super(RandomSampling, self).__init__(X, Y, X_te, Y_te, dataset, method, idxs_lb, net, handler, args, cycle) 7 | 8 | def query(self, n): 9 | return np.random.choice(np.where(self.idxs_lb==0)[0], n , replace=False) 10 | -------------------------------------------------------------------------------- /query_strategies/strategy.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | import torch.nn.functional as F 4 | import torch.optim as optim 5 | from torch.utils.data import DataLoader 6 | import sys 7 | from torch.optim.lr_scheduler import MultiStepLR 8 | import os 9 | import pickle 10 | from Cutout.model.resnet import ResNet18 11 | from torchvision import transforms 12 | 13 | 14 | #class Strategy: 15 | class Strategy(object): 16 | def __init__(self, X, Y, X_te, Y_te, cycle , dataset, method,idxs_lb, net, handler, args): 17 | self.X = X 18 | self.Y = Y 19 | self.X_te = X_te 20 | self.Y_te = Y_te 21 | self.cycle=cycle 22 | self.dataset=dataset 23 | self.idxs_lb = idxs_lb 24 | self.net = net 25 | self.handler = handler 26 | self.args = args 27 | self.n_pool = len(Y) 28 | self.method=method 29 | use_cuda = torch.cuda.is_available() 30 | self.device = torch.device("cuda" if use_cuda else "cpu") 31 | 32 | def query(self, n): 33 | pass 34 | 35 | def query_pseudoLabel(self, n): 36 | pass 37 | 38 | def update(self, idxs_lb): 39 | self.idxs_lb = idxs_lb 40 | 41 | def _train(self, loader_tr, optimizer): 42 | self.clf.train() 43 | for batch_idx, (x, y, idxs) in enumerate(loader_tr): 44 | x, y = x.to(self.device), y.to(self.device) 45 | optimizer.zero_grad() 46 | out, e1 = self.clf(x) #resnet 47 | loss = F.cross_entropy(out, y) 48 | sys.stdout.write('\r') 49 | sys.stdout.write('Loss : %3f ' % loss.item()) 50 | 51 | loss.backward() 52 | optimizer.step() 53 | 54 | def train(self): 55 | 56 | ## resenet from Cutout train from scratch 57 | if self.dataset == 'cifar10': 58 | num_classes = 10 59 | elif self.dataset == 'cifar100': 60 | num_classes = 100 61 | net = ResNet18(num_classes=num_classes) 62 | self.net = net 63 | self.clf = self.net.to(self.device) 64 | n_epoch = self.args['n_epoch'] 65 | optimizer = optim.SGD( 66 | self.clf.parameters(), 67 | lr=0.02, 68 | momentum=0.9, 69 | nesterov=True, 70 | weight_decay=5e-4) 71 | scheduler = MultiStepLR( 72 | optimizer, milestones=[60, 80], gamma=0.5) 73 | 74 | idxs_train = np.arange(self.n_pool)[self.idxs_lb] 75 | 76 | print('number of training samples : ', len(idxs_train)) 77 | 78 | loader_tr = DataLoader(self.handler(self.X[idxs_train], self.Y[idxs_train], transform=self.args['transform']), 79 | shuffle=True, **self.args['loader_tr_args']) 80 | 81 | for epoch in range(1, n_epoch+1): 82 | sys.stdout.write('Epoch %3d' % epoch) 83 | self._train(loader_tr, optimizer) 84 | scheduler.step(epoch) 85 | for pg in optimizer.param_groups: 86 | print('lr = ',pg['lr']) 87 | 88 | if 'Random' in self.method: 89 | save_point = os.path.join(self.dataset+ '_checkpoints_active_set') 90 | if not os.path.exists(save_point): 91 | os.makedirs(save_point) 92 | torch.save({ 93 | 'epoch': epoch, 94 | 'model_state_dict': self.clf.state_dict(), 95 | 'optimizer_state_dict': optimizer.state_dict()}, 96 | os.path.join(save_point, 'checkpoint_cycle_' + str(self.cycle) + '.t7')) 97 | print('checkpoint saved ...') 98 | 99 | def predict(self, X, Y): 100 | 101 | print('inference on ', len(X), ' samples') 102 | loader_te = DataLoader(self.handler(X, Y, transform=self.args['transform']), 103 | shuffle=False, **self.args['loader_te_args']) 104 | self.clf.eval() 105 | P = torch.zeros(len(Y), dtype=Y.dtype) 106 | with torch.no_grad(): 107 | for x, y, idxs in loader_te: 108 | x, y = x.to(self.device), y.to(self.device) 109 | #out, e1 = self.clf(x) #vgg 110 | out, e1= self.clf(x) # resnet 111 | pred = out.max(1)[1] 112 | P[idxs] = pred.cpu() 113 | return P 114 | 115 | def test(self, X, Y): 116 | if self.cycle > 0 : 117 | print('test the current model ...') 118 | elif self.cycle == 0: # only for cycle 0 119 | self.clf = self.net.to(self.device) 120 | print('loading checkpoint of cycle 0 for testing...') 121 | net = torch.load( 122 | os.path.join(self.dataset+ '_checkpoints_active_set', 'checkpoint_cycle_0.t7')) 123 | self.clf.load_state_dict(net['model_state_dict']) 124 | 125 | print('inference on ', len(X), ' samples') 126 | normalize = transforms.Normalize( 127 | mean=[x / 255.0 for x in [125.3, 123.0, 113.9]], 128 | std=[x / 255.0 for x in [63.0, 62.1, 66.7]]) 129 | loader_te = DataLoader(self.handler(X,Y, transform= transforms.Compose([transforms.ToTensor(), normalize]))) 130 | self.clf.eval() 131 | P = torch.zeros(len(Y), dtype=Y.dtype) 132 | with torch.no_grad(): 133 | for x, y, idxs in loader_te: 134 | x, y = x.to(self.device), y.to(self.device) 135 | out, e1 = self.clf(x) #resnet 136 | pred = out.max(1)[1] 137 | P[idxs] = pred.cpu() 138 | return P 139 | 140 | def predict_prob(self, X, Y): 141 | loader_te = DataLoader(self.handler(X, Y, transform=self.args['transform']), 142 | shuffle=False, **self.args['loader_te_args']) 143 | 144 | self.clf.eval() 145 | if self.dataset=='cifar100': 146 | num_classes=100 147 | elif self.dataset=='cifar10': 148 | num_classes=10 149 | probs = torch.zeros([len(Y), num_classes]) 150 | P = torch.zeros(len(Y), dtype=torch.int32) 151 | logits= torch.zeros([len(Y), num_classes]) 152 | with torch.no_grad(): 153 | for x, y, idxs in loader_te: 154 | x, y = x.to(self.device), y.to(self.device) 155 | out, e1 = self.clf(x) #Resnet 156 | pred = out.max(1)[1] 157 | P[idxs] = pred.cpu() 158 | prob = F.softmax(out, dim=1) 159 | probs[idxs] = prob.cpu() 160 | logits[idxs]=out.cpu() 161 | return probs, P 162 | 163 | 164 | def predict_prob_dropout(self, X, Y, n_drop): 165 | loader_te = DataLoader(self.handler(X, Y, transform=self.args['transform']), 166 | shuffle=False, **self.args['loader_te_args']) 167 | 168 | self.clf.train() 169 | probs = torch.zeros([len(Y), len(np.unique(Y))]) 170 | for i in range(n_drop): 171 | print('n_drop {}/{}'.format(i+1, n_drop)) 172 | with torch.no_grad(): 173 | for x, y, idxs in loader_te: 174 | x, y = x.to(self.device), y.to(self.device) 175 | out, e1 = self.clf(x) 176 | prob = F.softmax(out, dim=1) 177 | probs[idxs] += prob.cpu() 178 | probs /= n_drop 179 | 180 | return probs 181 | 182 | def predict_prob_dropout_split(self, X, Y, n_drop): 183 | loader_te = DataLoader(self.handler(X, Y, transform=self.args['transform']), 184 | shuffle=False, **self.args['loader_te_args']) 185 | 186 | self.clf.train() 187 | probs = torch.zeros([n_drop, len(Y), len(np.unique(Y))]) 188 | for i in range(n_drop): 189 | print('n_drop {}/{}'.format(i+1, n_drop)) 190 | with torch.no_grad(): 191 | for x, y, idxs in loader_te: 192 | x, y = x.to(self.device), y.to(self.device) 193 | out, e1 = self.clf(x) # resnet 194 | probs[i][idxs] += F.softmax(out, dim=1).cpu() 195 | return probs 196 | 197 | def get_embedding(self, X, Y): 198 | loader_te = DataLoader(self.handler(X, Y, transform=self.args['transform']), 199 | shuffle=False, **self.args['loader_te_args']) 200 | self.clf.eval() 201 | embedding = torch.zeros([len(Y), self.clf.get_embedding_dim()]) 202 | with torch.no_grad(): 203 | for x, y, idxs in loader_te: 204 | x, y = x.to(self.device), y.to(self.device) 205 | out, e1 = self.clf(x) 206 | embedding[idxs] = e1.cpu() 207 | return embedding 208 | 209 | def get_embedding_resnet(self,X,Y): 210 | loader_te = DataLoader(self.handler(X, Y, transform=self.args['transform']), 211 | shuffle=False, **self.args['loader_te_args']) 212 | 213 | self.clf.eval() 214 | embedding = torch.zeros([len(Y), 512]) 215 | with torch.no_grad(): 216 | for x, y, idxs in loader_te: 217 | x, y = x.to(self.device), y.to(self.device) 218 | out, e1 = self.clf(x) 219 | embedding[idxs] = e1.cpu() 220 | return embedding 221 | 222 | 223 | def test_prior_balanced(self, X_te,Y_te,Y_tr ): 224 | 225 | if self.cycle > 0 : 226 | print('test the current model ...') 227 | elif self.cycle == 0: # only for cycle 0 228 | self.clf = self.net.to(self.device) 229 | print('loading checkpoint of cycle 0 for testing...') 230 | net = torch.load( 231 | os.path.join(self.dataset+ '_checkpoints_active_set', 'checkpoint_cycle_0.t7')) 232 | self.clf.load_state_dict(net['model_state_dict']) 233 | print('inference on ', len(Y_te), ' samples') 234 | 235 | normalize = transforms.Normalize( 236 | mean=[x / 255.0 for x in [125.3, 123.0, 113.9]], 237 | std=[x / 255.0 for x in [63.0, 62.1, 66.7]]) 238 | loader_te = DataLoader(self.handler(X_te,Y_te, transform= transforms.Compose([transforms.ToTensor(), normalize]))) 239 | self.clf.eval() 240 | P = torch.zeros(len(Y_te), dtype=Y_te.dtype) 241 | 242 | if self.dataset == 'cifar10': 243 | num_classes = 10 244 | elif self.dataset == 'cifar100': 245 | num_classes = 100 246 | 247 | freq_np,_ = np.histogram(Y_tr[self.idxs_lb], bins=num_classes) 248 | freq=torch.from_numpy(freq_np).cuda() 249 | with torch.no_grad(): 250 | for x, y, idxs in loader_te: 251 | x, y = x.to(self.device), y.to(self.device) 252 | out, e1 = self.clf(x) 253 | prob = F.softmax(out, dim=1) 254 | balanced_prob = prob / freq 255 | _, predicted = torch.max(balanced_prob, 1) 256 | P[idxs] = predicted.cpu() 257 | 258 | return P 259 | -------------------------------------------------------------------------------- /run.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from dataset import get_dataset, get_handler 3 | from torchvision import transforms 4 | import torch 5 | import os 6 | import argparse 7 | from Cutout.model.resnet import ResNet18 8 | 9 | 10 | from query_strategies import RandomSampling, EntropySampling, \ 11 | KCenterGreedy, BALDDropout 12 | 13 | parser = argparse.ArgumentParser(description='CNN') 14 | 15 | 16 | parser.add_argument( 17 | '--method', 18 | default="none", 19 | help= 20 | 'name of the acquisition method' 21 | ) 22 | 23 | parser.add_argument( 24 | '--dataset', 25 | default="none", 26 | help= 27 | 'name of the dataset' 28 | ) 29 | 30 | parser.add_argument( 31 | '--imb_factor', 32 | type=float, 33 | default=1, 34 | help='Imbalance factor (0,1)' 35 | ) 36 | 37 | parser.add_argument( 38 | '--imb_type', 39 | type=str, 40 | default='exp', 41 | help='step or exp' 42 | ) 43 | 44 | 45 | inputs = parser.parse_args() 46 | method = inputs.method 47 | dataset= inputs.dataset 48 | imb_factor=inputs.imb_factor 49 | imb_type=inputs.imb_type 50 | 51 | # Seed parameters 52 | SEED = 1 53 | torch.manual_seed(SEED) 54 | torch.backends.cudnn.enabled = True 55 | 56 | NUM_INIT_LB=5000 57 | NUM_QUERY = 2500 58 | NUM_ROUND = 5 59 | 60 | DATA_NAME = str.upper(dataset) 61 | normalize = transforms.Normalize( 62 | mean=[x / 255.0 for x in [125.3, 123.0, 113.9]], 63 | std=[x / 255.0 for x in [63.0, 62.1, 66.7]]) 64 | 65 | args_pool = {'CIFAR10': 66 | {'n_epoch': 100, 'transform': transforms.Compose([transforms.RandomCrop(32, padding=4), transforms.RandomHorizontalFlip(), transforms.ToTensor(), normalize]), 67 | 'loader_tr_args':{'batch_size': 256, 'num_workers': 1}, 68 | 'loader_te_args':{'batch_size': 256, 'num_workers': 1}}, 69 | 'CIFAR100': 70 | {'n_epoch': 100, 'transform': transforms.Compose([transforms.RandomCrop(32, padding=4), transforms.RandomHorizontalFlip(), transforms.ToTensor(), normalize]), 71 | 'loader_tr_args': {'batch_size': 256, 'num_workers': 1}, 72 | 'loader_te_args': {'batch_size': 256, 'num_workers': 1}}} 73 | args = args_pool[DATA_NAME] 74 | 75 | s 76 | 77 | # load dataset 78 | X_tr, Y_tr, X_te, Y_te = get_dataset(DATA_NAME) 79 | n_pool = len(Y_tr) 80 | 81 | # ------------------load the saved active set cycle 0 ------------------------------------- 82 | active_set = [] 83 | if dataset=='cifar10': 84 | with open(dataset + '_checkpoints_active_set/active_set_cycle_0.txt', 'r') as f: 85 | for line in f: 86 | active_set.append(int(line)) 87 | elif dataset=='cifar100': 88 | with open(dataset + '_checkpoints_active_set/active_set_cycle_0.txt', 'r') as f: 89 | for line in f: 90 | active_set.append(int(line)) 91 | 92 | #Making the dataset imbalanced 93 | def get_img_num_per_cls(imb_type, imb_factor): 94 | 95 | if dataset == 'cifar10': 96 | num_classes = 10 97 | new_dataset_size=n_pool-len(active_set) 98 | elif dataset == 'cifar100': 99 | num_classes = 100 100 | new_dataset_size=n_pool-len(active_set) 101 | 102 | img_max = new_dataset_size / num_classes 103 | img_num_per_cls = [] 104 | if imb_type == 'exp': 105 | for cls_idx in range(num_classes): 106 | num = img_max * (imb_factor ** (cls_idx / (num_classes - 1.0))) 107 | img_num_per_cls.append(int(num)) 108 | elif imb_type == 'step': 109 | for cls_idx in range(num_classes // 2): 110 | img_num_per_cls.append(int(img_max)) 111 | for cls_idx in range(num_classes // 2): 112 | img_num_per_cls.append(int(img_max * imb_factor)) 113 | else: 114 | img_num_per_cls.extend([int(img_max)] * num_classes) 115 | return img_num_per_cls 116 | 117 | #-------------Create imbalanced dataset from original----------------------------- 118 | def gen_imbalanced_data(img_num_per_cls, X_tr, Y_tr, imb_idxs): 119 | 120 | classes = np.unique(Y_tr) 121 | imb_flag = np.zeros(n_pool, dtype=bool) 122 | active_set_bool=np.zeros(n_pool, dtype=bool) 123 | active_set_bool[active_set]=True 124 | if imb_idxs==[]: 125 | for c in classes: 126 | idx = np.where(np.logical_and(np.array(Y_tr == c), active_set_bool == False))[0] 127 | np.random.shuffle(idx) 128 | selec_idx = idx[:img_num_per_cls[c]] 129 | imb_flag[selec_idx]=True 130 | # Save new long_tailed dataset info to the disk 131 | print('long-tailed dataset indices is created and saved to disk !') 132 | with open(dataset + '_checkpoints_active_set/long_tailed_dataset_IF_'+str(int(1/imb_factor))+'.txt', 'w') as f: 133 | for item in np.arange(n_pool)[imb_flag].tolist(): 134 | f.write('{}\n'.format(item)) 135 | with open(dataset + '_checkpoints_active_set/long_tailed_dataset_IF_' + str(int(1 / imb_factor)) + '.txt','a') as f: 136 | for item in active_set: 137 | f.write('{}\n'.format(item)) 138 | imb_flag[imb_idxs] = True 139 | # Add active set of cycle 0 to the end of newly created dataset 140 | X_tr_new = np.concatenate((X_tr[np.arange(n_pool)[imb_flag]], X_tr[np.arange(n_pool)[active_set_bool]]), axis=0) 141 | Y_tr_new = np.concatenate((Y_tr[np.arange(n_pool)[imb_flag]], Y_tr[np.arange(n_pool)[active_set_bool]]), axis=0) 142 | else: 143 | print('loading the long-tailed dataset form disk') 144 | X_tr_new = np.concatenate((X_tr[imb_idxs[:len(imb_idxs)-NUM_INIT_LB]], X_tr[imb_idxs[-NUM_INIT_LB:]]), axis=0) 145 | Y_tr_new = np.concatenate((Y_tr[imb_idxs[:len(imb_idxs)-NUM_INIT_LB]], Y_tr[imb_idxs[-NUM_INIT_LB:]]), axis=0) 146 | 147 | return X_tr_new, Y_tr_new 148 | 149 | # ------------------load the long_tailed dataset if exists---------------------------------- 150 | imb_idxs = [] 151 | if os.path.exists(dataset + '_checkpoints_active_set/long_tailed_dataset_IF_'+str(int(1/imb_factor))+'.txt'): 152 | with open(dataset + '_checkpoints_active_set/long_tailed_dataset_IF_'+str(int(1/imb_factor))+'.txt', 'r') as f: 153 | for line in f: 154 | imb_idxs.append(int(line)) 155 | #----------------------------------------------------------------------------------- 156 | 157 | img_num_per_cls=get_img_num_per_cls(imb_type,imb_factor) 158 | X_tr,Y_tr= gen_imbalanced_data(img_num_per_cls, X_tr, Y_tr, imb_idxs) 159 | 160 | n_pool = len(Y_tr) 161 | print('New dataset size = ', n_pool) 162 | n_test = len(Y_te) 163 | 164 | 165 | print('number of labeled pool: {}'.format(NUM_INIT_LB)) 166 | print('number of unlabeled pool: {}'.format(n_pool - NUM_INIT_LB)) 167 | print('number of testing pool: {}'.format(n_test)) 168 | 169 | 170 | # initialization with labeled pool 171 | idxs_lb = np.zeros(n_pool, dtype=bool) 172 | new_active_set = np.arange(n_pool)[-len(active_set):].tolist() 173 | idxs_lb[new_active_set]=True 174 | cycle = 0 175 | handler = get_handler(DATA_NAME) 176 | 177 | ## Configure Resnet 18 178 | if dataset == 'cifar10': 179 | num_classes = 10 180 | elif dataset == 'cifar100': 181 | num_classes = 100 182 | 183 | ## Loading resent with cutout 184 | net=ResNet18(num_classes=num_classes) 185 | 186 | 187 | if 'RandomSampling' in method: 188 | strategy = RandomSampling(X_tr, Y_tr, X_te, Y_te, cycle, dataset, method, idxs_lb, net, handler, args) 189 | elif 'EntropySampling' in method: 190 | strategy = EntropySampling(X_tr, Y_tr, X_te, Y_te, cycle, dataset, method, idxs_lb, net, handler, args) 191 | elif 'KCenterGreedy' in method: 192 | strategy = KCenterGreedy(X_tr, Y_tr, X_te, Y_te, cycle, dataset, method, idxs_lb, net, handler, args) 193 | elif 'BALDDropout' in method: 194 | strategy = BALDDropout(X_tr, Y_tr,X_te, Y_te, cycle, dataset, method, idxs_lb, net, handler, args, n_drop=10) 195 | elif 'CoreSet' in method: 196 | strategy = CoreSet(X_tr, Y_tr, X_te, Y_te, cycle, dataset, method, idxs_lb, net, handler, args) 197 | 198 | # print info 199 | print(DATA_NAME) 200 | print('SEED {}'.format(SEED)) 201 | print(type(strategy).__name__) 202 | 203 | ## round 0 accuracy 204 | P = strategy.test(X_te, Y_te) 205 | acc = np.zeros(NUM_ROUND+1) 206 | acc[0] = 1.0 * (Y_te == P).sum().item() / len(Y_te) 207 | print('Cycle 0 testing accuracy {}'.format(acc[0])) 208 | 209 | for cycle in range(1, NUM_ROUND+1): 210 | print('Cycle {}'.format(cycle)) 211 | 212 | # query 213 | print('query samples ...') 214 | q_idxs = strategy.query(NUM_QUERY) 215 | idxs_lb[q_idxs] = True 216 | print('samples selected so far = ', sum(idxs_lb)) 217 | 218 | # update 219 | strategy.update(idxs_lb) 220 | strategy.cycle = cycle 221 | 222 | ## Writing active set to the disk for every cycle 223 | if not os.path.exists(dataset + '_results/' + method): 224 | os.mkdir(dataset + '_results/' + method) 225 | 226 | new_active_set.extend(np.arange(n_pool)[q_idxs].tolist()) 227 | with open(dataset+'_results/' + method + '/active_set_cycle_' + str(cycle) + '.txt', 'w') as f: 228 | for item in new_active_set: 229 | f.write('{}\n'.format(item)) 230 | 231 | # train 232 | strategy.train() 233 | # test accuracy 234 | P = strategy.test(X_te, Y_te) 235 | acc[cycle] = 1.0 * (Y_te==P).sum().item() / len(Y_te) 236 | print('testing accuracy {}'.format(acc)) 237 | 238 | # print results 239 | print('SEED {}'.format(SEED)) 240 | print(type(strategy).__name__) 241 | print(acc) 242 | -------------------------------------------------------------------------------- /run_cycle_0.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from dataset import get_dataset, get_handler 3 | from torchvision import transforms 4 | import torch 5 | import os 6 | import argparse 7 | from Cutout.model.resnet import ResNet18 8 | 9 | 10 | from query_strategies import RandomSampling, EntropySampling, \ 11 | KCenterGreedy, BALDDropout 12 | 13 | parser = argparse.ArgumentParser(description='CNN') 14 | 15 | 16 | parser.add_argument( 17 | '--method', 18 | default="none", 19 | help= 20 | 'name of the acquisition method' 21 | ) 22 | 23 | parser.add_argument( 24 | '--dataset', 25 | default="none", 26 | help= 27 | 'name of the dataset' 28 | ) 29 | 30 | parser.add_argument( 31 | '--imb_factor', 32 | type=float, 33 | default=1, 34 | help='Imbalance factor (0,1)' 35 | ) 36 | 37 | parser.add_argument( 38 | '--imb_type', 39 | type=str, 40 | default='exp', 41 | help='step or exp' 42 | ) 43 | 44 | 45 | inputs = parser.parse_args() 46 | method = inputs.method 47 | dataset= inputs.dataset 48 | imb_factor=inputs.imb_factor 49 | imb_type=inputs.imb_type 50 | 51 | # Seed parameters 52 | SEED = 1 53 | torch.manual_seed(SEED) 54 | torch.backends.cudnn.enabled = True 55 | 56 | NUM_INIT_LB=5000 57 | NUM_QUERY = 2500 58 | NUM_ROUND = 5 59 | 60 | DATA_NAME = str.upper(dataset) 61 | normalize = transforms.Normalize( 62 | mean=[x / 255.0 for x in [125.3, 123.0, 113.9]], 63 | std=[x / 255.0 for x in [63.0, 62.1, 66.7]]) 64 | 65 | args_pool = {'CIFAR10': 66 | {'n_epoch': 100, 'transform': transforms.Compose([transforms.RandomCrop(32, padding=4), transforms.RandomHorizontalFlip(), transforms.ToTensor(), normalize]), 67 | 'loader_tr_args':{'batch_size': 256, 'num_workers': 1}, 68 | 'loader_te_args':{'batch_size': 256, 'num_workers': 1}}, 69 | 'CIFAR100': 70 | {'n_epoch': 100, 'transform': transforms.Compose([transforms.RandomCrop(32, padding=4), transforms.RandomHorizontalFlip(), transforms.ToTensor(), normalize]), 71 | 'loader_tr_args': {'batch_size': 256, 'num_workers': 1}, 72 | 'loader_te_args': {'batch_size': 256, 'num_workers': 1}}} 73 | args = args_pool[DATA_NAME] 74 | 75 | 76 | 77 | # load dataset 78 | X_tr, Y_tr, X_te, Y_te = get_dataset(DATA_NAME) 79 | n_pool = len(Y_tr) 80 | 81 | # ------------------load the saved active set cycle 0 ------------------------------------- 82 | active_set = [] 83 | if dataset=='cifar10': 84 | with open(dataset + '_checkpoints_active_set/active_set_cycle_0.txt', 'r') as f: 85 | for line in f: 86 | active_set.append(int(line)) 87 | elif dataset=='cifar100': 88 | with open(dataset + '_checkpoints_active_set/active_set_cycle_0.txt', 'r') as f: 89 | for line in f: 90 | active_set.append(int(line)) 91 | 92 | #Making the dataset imbalanced 93 | def get_img_num_per_cls(imb_type, imb_factor): 94 | 95 | if dataset == 'cifar10': 96 | num_classes = 10 97 | new_dataset_size=n_pool-len(active_set) 98 | elif dataset == 'cifar100': 99 | num_classes = 100 100 | new_dataset_size=n_pool-len(active_set) 101 | 102 | img_max = new_dataset_size / num_classes 103 | img_num_per_cls = [] 104 | if imb_type == 'exp': 105 | for cls_idx in range(num_classes): 106 | num = img_max * (imb_factor ** (cls_idx / (num_classes - 1.0))) 107 | img_num_per_cls.append(int(num)) 108 | elif imb_type == 'step': 109 | for cls_idx in range(num_classes // 2): 110 | img_num_per_cls.append(int(img_max)) 111 | for cls_idx in range(num_classes // 2): 112 | img_num_per_cls.append(int(img_max * imb_factor)) 113 | else: 114 | img_num_per_cls.extend([int(img_max)] * num_classes) 115 | return img_num_per_cls 116 | 117 | #-------------Create imbalanced dataset from original----------------------------- 118 | def gen_imbalanced_data(img_num_per_cls, X_tr, Y_tr, imb_idxs): 119 | 120 | classes = np.unique(Y_tr) 121 | imb_flag = np.zeros(n_pool, dtype=bool) 122 | active_set_bool=np.zeros(n_pool, dtype=bool) 123 | active_set_bool[active_set]=True 124 | if imb_idxs==[]: 125 | for c in classes: 126 | idx = np.where(np.logical_and(np.array(Y_tr == c), active_set_bool == False))[0] 127 | np.random.shuffle(idx) 128 | selec_idx = idx[:img_num_per_cls[c]] 129 | imb_flag[selec_idx]=True 130 | # Save new long_tailed dataset info to the disk 131 | print('long-tailed dataset indices is created and saved to disk !') 132 | with open(dataset + '_checkpoints_active_set/long_tailed_dataset_IF_'+str(int(1/imb_factor))+'.txt', 'w') as f: 133 | for item in np.arange(n_pool)[imb_flag].tolist(): 134 | f.write('{}\n'.format(item)) 135 | with open(dataset + '_checkpoints_active_set/long_tailed_dataset_IF_' + str(int(1 / imb_factor)) + '.txt','a') as f: 136 | for item in active_set: 137 | f.write('{}\n'.format(item)) 138 | imb_flag[imb_idxs] = True 139 | # Add active set of cycle 0 to the end of newly created dataset 140 | X_tr_new = np.concatenate((X_tr[np.arange(n_pool)[imb_flag]], X_tr[np.arange(n_pool)[active_set_bool]]), axis=0) 141 | Y_tr_new = np.concatenate((Y_tr[np.arange(n_pool)[imb_flag]], Y_tr[np.arange(n_pool)[active_set_bool]]), axis=0) 142 | else: 143 | print('loading the long-tailed dataset form disk') 144 | X_tr_new = np.concatenate((X_tr[imb_idxs[:len(imb_idxs)-NUM_INIT_LB]], X_tr[imb_idxs[-NUM_INIT_LB:]]), axis=0) 145 | Y_tr_new = np.concatenate((Y_tr[imb_idxs[:len(imb_idxs)-NUM_INIT_LB]], Y_tr[imb_idxs[-NUM_INIT_LB:]]), axis=0) 146 | 147 | return X_tr_new, Y_tr_new 148 | 149 | # ------------------load the long_tailed dataset if exists---------------------------------- 150 | imb_idxs = [] 151 | if os.path.exists(dataset + '_checkpoints_active_set/long_tailed_dataset_IF_'+str(int(1/imb_factor))+'.txt'): 152 | with open(dataset + '_checkpoints_active_set/long_tailed_dataset_IF_'+str(int(1/imb_factor))+'.txt', 'r') as f: 153 | for line in f: 154 | imb_idxs.append(int(line)) 155 | #----------------------------------------------------------------------------------- 156 | 157 | img_num_per_cls=get_img_num_per_cls(imb_type,imb_factor) 158 | X_tr,Y_tr= gen_imbalanced_data(img_num_per_cls, X_tr, Y_tr, imb_idxs) 159 | 160 | n_pool = len(Y_tr) 161 | print('New dataset size = ', n_pool) 162 | n_test = len(Y_te) 163 | 164 | 165 | print('number of labeled pool: {}'.format(NUM_INIT_LB)) 166 | print('number of unlabeled pool: {}'.format(n_pool - NUM_INIT_LB)) 167 | print('number of testing pool: {}'.format(n_test)) 168 | 169 | 170 | # initialization with labeled pool 171 | idxs_lb = np.zeros(n_pool, dtype=bool) 172 | new_active_set = np.arange(n_pool)[-len(active_set):].tolist() 173 | idxs_lb[new_active_set]=True 174 | cycle = 0 175 | handler = get_handler(DATA_NAME) 176 | 177 | ## Configure Resnet 18 178 | if dataset == 'cifar10': 179 | num_classes = 10 180 | elif dataset == 'cifar100': 181 | num_classes = 100 182 | 183 | ## Loading resent with cutout 184 | net=ResNet18(num_classes=num_classes) 185 | 186 | 187 | if 'RandomSampling' in method: 188 | strategy = RandomSampling(X_tr, Y_tr, X_te, Y_te, cycle, dataset, method, idxs_lb, net, handler, args) 189 | elif 'EntropySampling' in method: 190 | strategy = EntropySampling(X_tr, Y_tr, X_te, Y_te, cycle, dataset, method, idxs_lb, net, handler, args) 191 | elif 'KCenterGreedy' in method: 192 | strategy = KCenterGreedy(X_tr, Y_tr, X_te, Y_te, cycle, dataset, method, idxs_lb, net, handler, args) 193 | elif 'BALDDropout' in method: 194 | strategy = BALDDropout(X_tr, Y_tr,X_te, Y_te, cycle, dataset, method, idxs_lb, net, handler, args, n_drop=10) 195 | elif 'CoreSet' in method: 196 | strategy = CoreSet(X_tr, Y_tr, X_te, Y_te, cycle, dataset, method, idxs_lb, net, handler, args) 197 | 198 | # print info 199 | print(DATA_NAME) 200 | print('SEED {}'.format(SEED)) 201 | print(type(strategy).__name__) 202 | 203 | ## round 0 accuracy 204 | strategy.train() 205 | #Evaluate trained model 206 | P = strategy.test(X_te,Y_te) 207 | acc = np.zeros(NUM_ROUND+1) 208 | acc[0] = 1.0 * (Y_te == P).sum().item() / len(Y_te) 209 | print('Cycle 0 testing accuracy {}'.format(acc[0])) 210 | --------------------------------------------------------------------------------