Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
52 changes: 52 additions & 0 deletions 2024/filtro-2-selectivo-dia-2/contest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
title: 4a OFMI Segundo Filtro Selectivo día 2
alias: 4AOFMISEL2DIA2
# 18 de mayo, 11:00 horas en timezone CDMX
start_time: "2025-05-18T17:00:00Z"
# 18 de mayo, 16:00 horas en timezone CDMX
finish_time: "2025-05-18T22:00:00Z"
problems:
- alias: "selectivo-egoi-2025-lorena"
- alias: "selectivo-egoi-2025-espias"
- alias: "selectivo-egoi-2025-michititlan"
contestants:
groups:
- "4AOFMISEL2"
admins:
groups:
- "ofmi-2024"
description: |
4a OFMI Segundo Filtro Selectivo Día 2

Aquí puedes consultar la referencia de C++ https://es.cppreference.com/w/P%C3%A1gina_principal

Aquí un glosario con algunos términos comunes https://omegaup.com/docs/Glosario%20OFMI.pdf

Podrás enviar preguntas durante el examen a través del sistema de evaluación. A cada pregunta que mandes, el Comité Técnico te contestará con alguna de las siguientes opciones:

a) Sí.

b) No.

c) Sin comentarios (indica que no es posible contestar lo que pides ya que revelaría información que tú mismo debes notar).

d) Algún texto que te dé una explicación sobre tu pregunta (en caso de ser posible).

Te recomendamos formular tus preguntas de tal manera que su respuesta sea un Sí o un No. La respuesta a tu pregunta puede tardar un poco en llegar. No te preocupes, se te responderá. Continúa trabajando en tu examen mientras llega tu respuesta.

El sistema de clarificaciones está pensado para resolver las dudas que puedan surgirte acerca del examen. Si abusas del sistema de clarificaciones, podrías quedar descalificado de la competencia.

Los problemas están ordenados de menor a mayor dificultad, según la percepción del Comité Científico.
misc:
admission_mode: "private"
feedback: "detailed"
languages: "cpp11-clang,cpp11-gcc,cpp17-clang,cpp17-gcc,cpp20-clang,cpp20-gcc"
penalty:
type: "none"
calc_policy: "sum"
time: 0
points_decay_factor: 0
requests_user_information: "no"
score_mode: "partial"
scoreboard: 0
show_scoreboard_after: false
submissions_gap: 60
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
**/*.out
!tests/invalid-cases/*.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
#include <algorithm>
#include <chrono>
#include <fstream>
#include <iostream>
#include <random>
#include <string>
#include <vector>

enum Strategy {
kAlwaysNext,
kConnected,
kFullRandom,
kNextOrBegin,
kPermutation,
kSingleLoop,
};

struct RandomGenerator {
RandomGenerator(const std::vector<long long>& sequence)
: seed(sequence.begin(), sequence.end()), engine(seed) {}

long long Integer(long long l, long long r) {
std::uniform_int_distribution<long long> distribution(l, r);
return distribution(engine);
}

long long CoinToss(long long a, long long b) {
std::uniform_int_distribution<int> distribution(0, 1);
return distribution(engine) ? a : b;
}

void Permutation(std::vector<long long>& arr) {
std::shuffle(arr.begin(), arr.end(), engine);
}

std::seed_seq seed;
std::mt19937_64 engine;
};

bool IsValidPermutation(const std::vector<long long>& arr) {
for (int i = 0; i < arr.size(); ++i)
if (arr[i] == i + 1) return false;
return true;
}

struct TestMetadata {
std::string filename;
Strategy strategy;
int n, score;
};

struct Testcase {
Testcase(const TestMetadata& metadata, RandomGenerator& random)
: arr(metadata.n) {
switch (metadata.strategy) {
case kAlwaysNext:
arr[metadata.n - 1] = 1;
for (int i = 0; i < metadata.n - 1; ++i) arr[i] = i + 2;
break;
case kConnected: {
std::vector<long long> permutation(metadata.n);
for (int i = 0; i < metadata.n; ++i) permutation[i] = i;
random.Permutation(permutation);

int k = random.Integer(2, metadata.n - 1);
for (int i = 1; i < k; ++i)
arr[permutation[i - 1]] = permutation[i] + 1;
arr[permutation[k - 1]] = permutation[0] + 1;

for (int i = k; i < metadata.n; ++i)
arr[permutation[i]] = permutation[random.Integer(0, i - 1)] + 1;
break;
}
case kFullRandom:
for (int i = 0; i < metadata.n; ++i)
arr[i] = (i + random.Integer(1, metadata.n - 1)) % metadata.n + 1;
break;
case kNextOrBegin:
arr[0] = 2, arr[metadata.n - 1] = 1;
for (int i = 1; i < metadata.n - 1; ++i)
arr[i] = random.CoinToss(1, i + 2);
break;
case kPermutation:
for (int i = 0; i < metadata.n; ++i) arr[i] = i + 1;

while (!IsValidPermutation(arr)) random.Permutation(arr);
break;
case kSingleLoop: {
std::vector<long long> permutation(metadata.n);
for (int i = 0; i < metadata.n; ++i) permutation[i] = i;
random.Permutation(permutation);

for (int i = 1; i < metadata.n; ++i)
arr[permutation[i - 1]] = permutation[i] + 1;
arr[permutation[metadata.n - 1]] = permutation[0] + 1;
break;
}
}
}

void ToFile(const std::string& filename) {
std::ofstream file(filename);
file << arr.size() << '\n';
for (long long a : arr) file << a << ' ';
file << '\n';
file.close();
}

std::vector<long long> arr;
};

int main() {
const std::vector<TestMetadata> metadata_arr = {
{"sub1.case01", kNextOrBegin, 7, 24},
{"sub1.case02", kNextOrBegin, 8, 0},
{"sub1.case03", kNextOrBegin, 13, 0},
{"sub1.case04", kNextOrBegin, 17, 0},
{"sub1.case05", kNextOrBegin, 23, 0},
{"sub1.case06", kNextOrBegin, 100, 0},
{"sub1.case07", kNextOrBegin, 777, 0},
{"sub1.case08", kNextOrBegin, 919, 0},
{"sub1.case09", kNextOrBegin, 1000, 0},
{"sub1.case10", kNextOrBegin, 1001, 0},
{"sub1.case11", kNextOrBegin, 2024, 0},
{"sub1.case12", kNextOrBegin, 5000, 0},
{"sub1.case13", kNextOrBegin, 100000, 0},
{"sub1.case14", kNextOrBegin, 555555, 0},
{"sub1.case15", kNextOrBegin, 1000000, 0},
{"sub1.case16", kAlwaysNext, 1000000, 0},
{"sub2.case01", kPermutation, 6, 31},
{"sub2.case02", kPermutation, 7, 0},
{"sub2.case03", kPermutation, 8, 0},
{"sub2.case04", kPermutation, 10, 0},
{"sub2.case05", kPermutation, 19, 0},
{"sub2.case06", kPermutation, 57, 0},
{"sub2.case07", kPermutation, 100, 0},
{"sub2.case08", kPermutation, 777, 0},
{"sub2.case09", kPermutation, 1000, 0},
{"sub2.case10", kPermutation, 12345, 0},
{"sub2.case11", kPermutation, 50000, 0},
{"sub2.case12", kPermutation, 100000, 0},
{"sub2.case13", kPermutation, 500000, 0},
{"sub2.case14", kPermutation, 1000000, 0},
{"sub2.case15", kPermutation, 1000000, 0},
{"sub2.case16", kSingleLoop, 6, 0},
{"sub2.case17", kSingleLoop, 1000, 0},
{"sub2.case18", kSingleLoop, 1000000, 0},
{"sub3.case01", kConnected, 8, 45},
{"sub3.case02", kConnected, 777, 0},
{"sub3.case03", kConnected, 1003, 0},
{"sub3.case04", kConnected, 500000, 0},
{"sub3.case05", kConnected, 1000000, 0},
{"sub3.case06", kConnected, 1000000, 0},
{"sub3.case07", kFullRandom, 5, 0},
{"sub3.case08", kFullRandom, 13, 0},
{"sub3.case09", kFullRandom, 69, 0},
{"sub3.case10", kFullRandom, 777, 0},
{"sub3.case11", kFullRandom, 1000, 0},
{"sub3.case12", kFullRandom, 4321, 0},
{"sub3.case13", kFullRandom, 10000, 0},
{"sub3.case14", kFullRandom, 20000, 0},
{"sub3.case15", kFullRandom, 100000, 0},
{"sub3.case16", kFullRandom, 200000, 0},
{"sub3.case17", kFullRandom, 500000, 0},
{"sub3.case18", kFullRandom, 1000000, 0},
{"sub3.case19", kFullRandom, 1000000, 0},
{"sub3.case20", kFullRandom, 1000000, 0},
};

RandomGenerator random({15819763, -87847733, 60784601});

std::ofstream testplan("testplan");
testplan << "sub1.sample 0\n";
testplan << "sub2.sample 0\n";
testplan << "sub1.extra 0\n";
testplan << "sub2.extra 0\n";
testplan << "sub3.extra 0\n";

for (const auto& metadata : metadata_arr) {
Testcase(metadata, random).ToFile("cases/" + metadata.filename + ".in");
testplan << metadata.filename << ' ' << metadata.score << '\n';
}
testplan.close();
return 0;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
7
2 3 1 5 6 1 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
8
2 3 4 1 6 7 8 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
13
2 3 4 1 6 1 1 9 10 11 1 13 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
17
2 3 1 1 6 7 1 9 10 1 1 13 14 1 1 17 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
23
2 1 4 5 1 1 1 9 1 11 12 1 14 15 16 1 1 19 20 1 1 1 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
100
2 3 4 5 1 7 8 1 1 11 12 1 1 1 16 1 18 19 1 1 22 1 1 1 26 27 28 1 30 31 1 1 34 35 36 37 38 39 40 41 42 43 1 45 46 1 1 1 50 1 52 1 54 1 56 1 1 1 60 1 62 1 64 65 66 1 68 1 70 1 1 73 1 75 1 77 1 79 80 1 1 1 84 85 1 1 1 1 1 91 92 1 1 95 96 1 1 99 100 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
777
2 1 1 1 6 1 8 9 10 11 1 1 14 1 16 17 1 19 1 1 1 23 24 1 26 1 1 29 30 1 1 1 1 1 1 37 1 1 1 1 1 1 1 1 46 1 48 49 1 1 1 53 1 55 56 57 58 59 1 1 1 1 64 1 66 1 1 1 70 1 1 73 1 75 1 1 78 79 80 81 82 83 1 1 1 87 88 1 1 91 92 1 94 95 96 97 1 1 100 101 1 1 1 1 106 1 108 1 110 111 1 1 114 1 1 1 118 1 120 121 1 1 1 125 1 127 1 1 130 1 1 1 134 1 136 1 1 1 1 141 1 143 144 145 146 1 148 1 150 151 1 153 1 155 156 1 158 159 160 161 162 163 164 1 1 167 1 1 170 1 1 173 1 175 176 1 178 1 180 1 182 1 184 1 186 187 188 189 190 1 192 193 1 195 196 1 1 199 1 201 202 1 1 1 1 207 1 1 210 1 212 1 214 215 216 1 1 1 220 1 1 1 224 1 226 227 228 229 230 1 232 233 1 1 1 1 238 1 240 1 1 243 244 1 1 1 1 1 1 1 252 1 1 255 256 257 258 259 260 1 1 1 1 1 266 1 1 1 1 271 1 1 1 1 1 277 1 279 1 1 1 283 1 285 286 1 1 289 290 1 292 293 1 295 1 1 298 299 300 1 302 303 304 1 306 1 1 1 1 1 1 313 1 315 316 1 1 319 320 321 322 1 1 325 1 327 328 329 330 331 332 333 1 335 336 1 1 1 1 1 1 1 1 345 346 1 1 349 350 351 352 1 1 355 356 1 1 1 1 361 1 1 364 1 366 1 368 369 370 371 372 373 1 1 1 377 378 1 380 381 1 383 384 385 1 387 1 1 1 391 392 393 1 395 1 397 1 399 400 401 402 1 404 405 1 407 1 409 410 411 1 1 1 415 416 417 418 1 420 1 1 1 424 425 426 1 428 429 1 431 1 433 434 435 1 437 438 439 440 441 1 443 444 445 446 447 1 449 450 1 1 1 454 455 1 1 1 1 1 1 1 463 464 465 1 1 1 1 470 471 472 473 1 1 476 477 1 479 480 1 482 483 1 1 1 487 1 489 1 1 492 1 1 1 496 497 498 499 1 501 502 503 1 505 1 1 508 509 510 511 1 1 1 515 1 517 518 519 1 521 522 1 524 1 1 1 1 1 530 1 1 1 1 1 536 537 538 539 540 1 1 1 544 545 546 547 548 1 1 1 1 553 1 555 556 1 558 559 1 1 562 1 1 1 1 1 1 569 1 571 1 1 574 1 576 1 578 579 1 1 1 583 584 585 586 587 1 589 590 1 592 1 1 1 596 1 1 1 600 1 1 1 604 1 1 607 1 609 1 611 612 1 1 1 616 617 1 1 1 1 1 1 1 625 1 627 1 629 1 631 1 1 634 1 1 637 638 1 640 641 1 1 644 645 1 647 1 649 650 651 652 653 1 655 1 1 1 1 660 1 1 1 664 1 1 1 668 1 670 671 672 1 1 1 676 677 678 679 1 681 1 1 684 1 1 687 1 689 1 691 1 693 694 1 1 697 698 1 1 1 1 1 1 1 1 707 1 1 710 1 1 713 1 715 1 1 1 1 1 721 1 1 724 1 726 727 728 1 730 731 1 1 734 735 736 737 1 1 1 1 1 1 744 745 1 1 748 749 1 1 752 753 754 755 756 757 1 1 760 761 762 763 1 765 766 1 1 769 1 1 1 1 1 775 1 1 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
919
2 3 4 5 6 7 1 1 1 11 1 1 1 1 1 17 18 1 1 21 22 1 24 25 26 27 1 29 1 1 1 33 34 1 36 1 38 1 1 41 1 43 1 45 46 1 1 1 1 1 1 53 54 55 56 57 58 59 1 61 1 63 64 65 66 67 68 69 70 1 1 73 74 75 1 77 78 1 1 1 1 83 84 85 1 87 88 89 90 1 1 1 1 1 96 1 1 99 1 1 1 103 1 1 1 1 1 1 1 1 112 1 114 115 116 1 1 1 120 121 122 123 124 125 126 127 1 1 130 131 132 133 134 135 1 1 1 139 140 141 142 143 1 1 146 1 1 1 1 1 152 153 154 1 1 157 1 1 1 161 162 163 164 1 1 1 1 1 1 1 1 173 174 175 1 1 1 1 1 181 182 1 184 1 1 187 1 189 190 1 192 193 1 1 1 1 198 199 1 1 202 203 204 205 1 207 1 1 1 211 1 1 1 215 216 217 218 219 220 221 1 223 1 225 226 1 228 1 230 231 232 233 234 235 236 237 238 1 1 1 242 1 244 1 1 1 1 1 250 1 252 1 254 1 256 1 258 1 260 1 1 1 264 265 266 267 268 1 1 1 272 273 274 275 1 1 278 1 280 1 282 1 1 285 286 1 288 289 290 1 292 293 294 295 1 1 1 299 300 1 1 303 304 305 1 307 1 309 310 311 1 1 1 1 316 317 318 1 320 321 322 1 1 1 1 1 1 1 330 1 332 1 1 335 1 337 1 1 340 341 342 1 344 345 346 347 1 349 350 1 1 353 354 355 356 1 1 1 360 361 1 1 1 365 366 367 1 369 370 1 1 1 374 1 1 377 1 1 1 381 1 1 1 1 1 387 1 389 390 391 1 393 394 1 396 397 398 1 1 1 1 1 404 1 1 1 1 409 1 411 412 413 1 1 1 1 418 419 1 1 422 423 1 425 426 427 1 1 430 1 432 1 1 435 436 437 1 439 440 1 1 443 1 1 1 1 1 449 450 451 1 1 454 455 1 1 1 1 460 461 1 1 1 465 1 467 1 1 1 1 1 473 1 1 476 477 478 1 480 481 482 1 484 485 486 487 488 1 490 491 1 1 1 495 496 1 1 1 1 1 1 503 504 1 506 1 1 1 510 1 512 513 514 1 1 517 1 1 1 521 1 1 1 525 1 1 528 1 530 531 532 1 1 535 1 1 1 539 1 541 542 543 544 545 546 1 1 549 1 551 1 553 554 555 1 1 1 559 560 1 1 1 564 1 566 1 568 569 1 571 1 1 1 575 1 1 1 1 1 1 582 1 584 1 1 587 1 589 1 1 1 593 1 1 596 597 598 599 600 601 1 603 1 1 1 607 1 609 1 1 612 1 614 1 616 617 618 1 1 621 622 623 624 1 1 627 628 629 1 1 632 1 1 1 636 1 1 639 640 1 642 1 644 1 646 647 1 649 650 1 652 653 1 1 656 1 658 659 660 661 1 1 1 665 666 1 668 669 670 671 1 673 674 675 1 1 1 679 680 681 1 683 1 1 1 1 1 1 690 691 692 693 694 695 1 1 698 699 1 1 702 703 704 705 706 707 708 709 710 711 1 1 714 1 716 717 718 1 720 721 1 1 1 1 726 727 1 729 730 1 732 733 734 1 736 737 1 1 1 741 742 743 1 745 1 1 1 749 750 1 752 753 754 755 756 757 758 759 760 1 1 763 1 1 766 1 1 769 770 1 772 1 1 775 776 777 778 779 780 781 782 1 1 1 1 1 788 1 1 1 792 793 794 1 1 797 798 799 1 1 802 803 1 1 1 1 1 1 1 1 1 1 1 1 1 1 818 819 820 821 822 1 824 1 826 827 1 829 830 1 832 833 1 835 836 837 1 1 1 841 1 1 1 1 1 847 1 849 1 1 1 853 1 1 1 857 858 859 1 861 862 863 1 1 1 867 1 1 1 871 872 1 1 1 1 1 1 879 880 881 1 1 884 1 886 887 1 1 1 1 892 1 1 1 896 1 1 1 1 1 1 1 1 1 1 907 1 1 910 911 1 913 914 1 916 1 918 1 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1000
2 1 1 5 6 1 1 1 10 11 12 13 14 1 1 1 1 1 1 1 22 23 24 1 26 27 1 29 30 1 1 33 34 35 1 1 1 39 1 1 42 1 1 45 46 1 48 1 50 51 1 1 1 55 1 57 58 1 60 61 1 1 64 65 1 1 68 69 70 1 1 73 74 1 1 77 1 1 80 1 82 1 1 1 1 87 1 89 90 91 92 1 94 95 1 97 1 99 1 101 1 103 1 1 106 1 108 1 110 1 1 1 1 115 1 1 118 119 120 1 122 1 1 125 1 1 128 129 1 131 132 133 134 135 136 1 138 139 140 1 142 143 144 1 1 1 148 1 150 1 152 153 1 155 156 1 158 1 1 1 1 1 1 1 166 167 1 1 170 1 1 173 174 1 176 1 178 179 1 181 182 1 1 1 186 187 188 1 1 1 192 1 194 1 1 197 1 1 200 201 1 1 204 205 206 1 1 1 1 1 1 213 214 1 1 1 1 1 1 1 222 223 224 225 226 227 228 229 1 1 1 1 234 235 1 1 1 1 240 241 1 1 1 245 246 247 248 1 250 251 1 1 1 1 256 1 258 1 1 261 1 263 264 265 1 1 1 269 1 1 272 273 274 275 276 1 1 1 280 281 282 1 1 285 1 287 288 289 1 291 292 1 294 295 296 1 298 299 1 301 1 303 1 1 1 1 1 1 310 311 312 313 314 1 1 317 318 1 1 1 322 323 324 325 1 327 1 1 1 331 332 333 334 1 1 337 338 339 1 341 1 1 1 345 1 347 1 1 350 351 1 1 354 355 1 1 1 1 360 1 1 1 364 1 366 1 1 1 370 371 1 373 1 375 1 1 1 1 1 1 1 1 384 1 1 1 1 389 390 391 392 1 394 1 396 397 398 399 400 1 402 1 404 405 1 407 408 1 410 1 1 413 1 415 416 1 1 1 1 1 1 423 1 1 1 1 428 429 1 431 1 433 1 435 436 437 438 1 440 1 1 443 1 445 1 447 1 1 1 451 452 1 454 1 1 1 458 1 1 461 462 1 464 1 1 467 468 469 1 1 1 1 1 475 476 1 478 1 1 481 1 483 484 1 1 1 1 489 490 1 1 493 494 1 1 497 1 1 500 501 502 1 504 1 506 507 1 509 1 511 1 513 1 515 1 1 518 1 520 1 522 1 524 525 1 527 528 1 1 531 532 533 534 1 1 537 538 1 540 541 542 543 1 545 546 547 1 549 550 551 552 1 1 555 1 1 1 559 1 1 562 1 1 565 566 567 568 569 1 571 1 573 574 1 576 577 1 579 1 581 1 583 584 585 586 587 588 1 1 591 1 1 594 1 1 1 598 599 600 601 602 1 1 1 606 607 1 1 1 611 1 613 1 615 616 617 618 1 1 1 1 623 1 625 626 627 1 629 1 631 1 633 634 635 1 1 1 639 1 1 642 1 644 1 1 647 648 1 1 651 1 1 1 1 656 1 1 1 660 661 1 663 1 665 1 667 668 669 670 1 1 673 1 675 676 1 1 679 1 681 1 1 684 685 686 1 688 689 1 691 1 1 1 695 696 697 698 1 1 701 1 703 704 1 706 1 708 709 1 711 1 713 1 1 716 717 1 719 720 1 1 1 1 725 1 727 728 1 1 1 732 1 734 735 1 737 1 739 1 1 742 1 1 1 746 1 748 1 750 1 1 753 1 755 756 1 758 1 760 761 1 1 1 1 1 1 1 769 1 771 1 1 774 1 1 777 778 1 780 1 1 783 1 1 1 787 788 789 790 791 792 793 1 1 796 797 1 1 1 801 802 1 804 805 806 1 808 809 1 811 812 1 814 815 1 817 818 819 1 1 1 823 1 825 826 827 1 1 830 831 832 833 1 1 1 837 1 839 1 1 1 1 844 1 1 847 1 849 850 1 1 1 854 855 856 1 858 1 860 861 1 1 864 865 866 1 868 869 1 871 872 1 1 875 1 877 1 879 1 881 1 883 1 885 886 1 888 1 890 1 1 1 894 1 1 897 1 1 1 1 1 1 904 1 1 907 908 909 910 911 912 913 914 915 916 917 918 1 920 921 922 1 924 925 926 927 928 929 1 931 932 1 1 1 936 1 938 939 1 941 1 943 944 1 1 1 1 949 1 1 1 1 1 955 956 957 1 1 960 961 962 963 964 1 1 1 1 969 970 971 972 1 974 975 976 977 978 979 1 981 1 1 1 1 986 1 1 1 990 1 1 1 994 995 996 997 998 999 1 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1001
2 3 1 5 6 1 1 9 1 11 1 13 1 15 1 17 1 19 20 21 22 23 1 25 1 27 1 1 1 31 32 1 1 1 1 37 1 39 1 41 42 43 44 1 1 47 1 1 1 51 1 53 1 1 1 1 58 1 60 61 62 1 64 65 66 67 1 69 1 1 1 1 1 75 76 1 78 79 1 1 82 83 84 1 86 87 88 1 90 91 92 1 94 95 1 1 1 1 100 101 102 1 1 1 106 107 108 109 110 111 112 1 114 115 1 117 118 1 120 1 1 1 124 1 1 1 128 1 130 1 132 133 1 135 136 1 138 139 1 1 1 1 144 145 1 147 148 149 1 1 152 153 1 1 156 1 158 159 1 1 1 1 1 165 1 167 168 1 1 1 172 173 1 175 176 1 1 179 180 1 1 1 1 185 186 1 188 1 190 191 192 193 1 195 196 1 198 199 1 201 1 203 204 1 206 1 208 209 210 1 212 1 214 215 1 217 218 219 220 1 1 223 224 225 1 1 1 229 1 231 232 233 1 1 236 237 238 1 240 1 242 1 1 1 246 247 248 249 250 251 1 1 1 255 256 257 1 1 260 261 262 263 264 1 1 267 1 269 270 271 1 273 1 1 276 1 278 279 1 1 282 283 1 285 1 287 288 289 290 291 292 293 1 1 296 1 298 1 300 301 302 303 1 1 1 1 1 1 1 1 1 313 314 1 316 317 318 1 320 1 1 1 1 1 326 327 1 1 1 331 332 1 1 1 336 1 338 339 340 1 1 1 344 1 1 1 348 1 350 351 1 1 354 355 1 1 358 1 360 361 362 363 364 365 1 1 1 369 1 1 1 373 1 375 1 1 1 1 380 381 1 1 384 1 1 1 1 1 1 391 1 1 394 1 1 397 398 1 400 401 1 403 1 405 406 407 1 1 410 411 1 1 1 415 416 417 1 1 420 1 1 1 1 1 426 427 428 1 1 431 1 1 434 1 436 1 1 439 440 1 1 1 444 445 1 447 1 1 1 451 1 453 454 1 456 1 1 1 460 1 1 463 1 465 466 1 1 1 1 471 472 473 1 1 476 477 478 479 1 481 482 483 1 1 1 1 488 1 1 491 1 493 494 495 496 1 498 499 500 501 502 1 1 505 1 1 508 1 510 511 1 513 1 1 516 1 518 519 520 521 1 523 1 525 1 1 1 529 530 531 1 1 1 535 536 1 1 1 1 541 1 543 1 545 546 1 1 549 1 551 1 1 1 1 1 557 558 1 560 561 1 1 564 565 566 567 568 1 1 571 572 1 1 575 1 1 578 579 580 581 1 1 584 585 586 1 588 1 590 591 592 1 594 595 596 1 1 1 1 1 602 1 604 1 606 1 1 609 1 611 1 1 614 1 1 617 1 619 1 1 1 623 1 625 626 627 628 629 1 1 1 1 1 1 1 1 1 1 1 1 642 1 1 1 646 647 1 649 1 651 652 653 1 655 656 657 1 659 1 1 662 663 1 1 1 667 668 1 670 1 672 673 674 1 676 677 678 1 1 1 682 683 1 1 1 687 1 689 1 691 692 693 1 1 1 697 698 1 1 1 1 703 1 705 1 707 708 709 1 1 1 713 714 1 716 717 718 1 1 1 1 1 724 1 1 727 728 729 1 1 1 1 1 1 1 1 738 1 1 1 1 743 1 745 1 1 1 749 1 1 752 753 1 755 756 1 758 1 760 761 762 1 1 765 766 767 1 769 770 771 1 1 774 1 776 777 778 1 780 781 1 783 784 785 786 787 788 1 1 791 1 1 1 1 796 797 1 1 800 801 802 1 804 1 1 1 1 1 1 811 812 1 814 815 816 1 1 819 1 1 1 823 824 1 826 1 1 1 830 1 832 1 834 835 1 1 838 839 1 841 1 843 1 845 1 1 848 1 850 851 1 853 854 855 856 857 858 1 1 861 1 863 1 1 1 1 868 869 1 1 872 873 1 875 1 877 1 879 1 1 1 1 884 1 1 1 1 1 1 891 892 1 1 895 1 1 898 1 900 901 1 903 904 905 1 907 1 909 1 911 912 913 1 915 1 917 918 1 920 1 922 1 1 1 926 927 928 929 930 1 932 933 1 935 936 1 1 939 1 941 942 1 1 945 946 1 948 1 1 951 952 1 954 1 1 1 958 1 1 1 1 1 964 965 966 967 968 969 1 1 1 973 974 1 976 1 1 979 1 981 1 1 1 985 1 1 988 989 990 991 1 1 1 1 1 997 998 999 1000 1 1
Loading