Data Structures- Space and Time Complexity
• 179 min read
- Space and Time Complexity
- Constant O(1)
- Linear O(n)
- Quadratic O(n^2)
- Logarithmic O(logn)
- Exponential O(2^n)
- Hacks
Space and Time Complexity
Space complexity refers to the amount of memory used by an algorithm to complete its execution, as a function of the size of the input. The space complexity of an algorithm can be affected by various factors such as the size of the input data, the data structures used in the algorithm, the number and size of temporary variables, and the recursion depth. Time complexity refers to the amount of time required by an algorithm to run as the input size grows. It is usually measured in terms of the "Big O" notation, which describes the upper bound of an algorithm's time complexity.
Why do you think a programmer should care about space and time complexity?
- A programmer should care about space and time complexity because if there is more space that is filled than it would be harder for the program to run smoothly and if it becomes less complex then there is more space and therefore the coding is more efficient.
Take a look at our lassen volcano example from the data compression tech talk. The first code block is the original image. In the second code block, change the baseWidth to rescale the image.
from IPython.display import Image, display
from pathlib import Path
# prepares a series of images
def image_data(path=Path("images/"), images=None): # path of static images is defaulted
for image in images:
# File to open
image['filename'] = path / image['file'] # file with path
return images
def image_display(images):
for image in images:
display(Image(filename=image['filename']))
if __name__ == "__main__":
lassen_volcano = image_data(images=[{'source': "Peter Carolin", 'label': "Lassen Volcano", 'file': "lassen-volcano.jpg"}])
image_display(lassen_volcano)
from IPython.display import HTML, display
from pathlib import Path
from PIL import Image as pilImage
from io import BytesIO
import base64
# prepares a series of images
def image_data(path=Path("images/"), images=None): # path of static images is defaulted
for image in images:
# File to open
image['filename'] = path / image['file'] # file with path
return images
def scale_image(img):
baseWidth = 625
#baseWidth = 1250
#baseWidth = 2500
#baseWidth = 5000 # see the effect of doubling or halfing the baseWidth
#baseWidth = 10000
#baseWidth = 20000
#baseWidth = 40000
scalePercent = (baseWidth/float(img.size[0]))
scaleHeight = int((float(img.size[1])*float(scalePercent)))
scale = (baseWidth, scaleHeight)
return img.resize(scale)
def image_to_base64(img, format):
with BytesIO() as buffer:
img.save(buffer, format)
return base64.b64encode(buffer.getvalue()).decode()
def image_management(image): # path of static images is defaulted
# Image open return PIL image object
img = pilImage.open(image['filename'])
# Python Image Library operations
image['format'] = img.format
image['mode'] = img.mode
image['size'] = img.size
image['width'], image['height'] = img.size
image['pixels'] = image['width'] * image['height']
# Scale the Image
img = scale_image(img)
image['pil'] = img
image['scaled_size'] = img.size
image['scaled_width'], image['scaled_height'] = img.size
image['scaled_pixels'] = image['scaled_width'] * image['scaled_height']
# Scaled HTML
image['html'] = '<img src="data:image/png;base64,%s">' % image_to_base64(image['pil'], image['format'])
if __name__ == "__main__":
# Use numpy to concatenate two arrays
images = image_data(images = [{'source': "Peter Carolin", 'label': "Lassen Volcano", 'file': "lassen-volcano.jpg"}])
# Display meta data, scaled view, and grey scale for each image
for image in images:
image_management(image)
print("---- meta data -----")
print(image['label'])
print(image['source'])
print(image['format'])
print(image['mode'])
print("Original size: ", image['size'], " pixels: ", f"{image['pixels']:,}")
print("Scaled size: ", image['scaled_size'], " pixels: ", f"{image['scaled_pixels']:,}")
print("-- original image --")
display(HTML(image['html']))
---- meta data ----- Lassen Volcano Peter Carolin JPEG RGB Original size: (2792, 2094) pixels: 5,846,448 Scaled size: (625, 468) pixels: 292,500 -- original image --
Do you think this is a time complexity or space complexity or both problem?
- It is a space complexity as the basewidth goes from smaller to larger, it takes a longer time for the program to be completed.
numbers = list(range(1000))
print(numbers)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999]
print(numbers[263])
ncaa_bb_ranks = {1:"Alabama",2:"Houston", 3:"Purdue", 4:"Kansas"}
#look up a value in a dictionary given a key
print(ncaa_bb_ranks[1])
263 Alabama
Space
This function takes two number inputs and returns their sum. The function does not create any additional data structures or variables that are dependent on the input size, so its space complexity is constant, or O(1). Regardless of how large the input numbers are, the function will always require the same amount of memory to execute.
def sum(a, b):
return a + b
print(sum(90,88))
print(sum(.9,.88))
178 1.78
Time
An example of a linear time algorithm is traversing a list or an array. When the size of the list or array increases, the time taken to traverse it also increases linearly with the size. Hence, the time complexity of this operation is O(n), where n is the size of the list or array being traversed.
for i in numbers:
print(i)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999
Space
This function takes a list of elements arr as input and returns a new list with the elements in reverse order. The function creates a new list reversed_arr of the same size as arr to store the reversed elements. The size of reversed_arr depends on the size of the input arr, so the space complexity of this function is O(n). As the input size increases, the amount of memory required to execute the function also increases linearly.
def reverse_list(arr):
n = len(arr)
reversed_arr = [None] * n #create a list of None based on the length or arr
for i in range(n):
reversed_arr[n-i-1] = arr[i] #stores the value at the index of arr to the value at the index of reversed_arr starting at the beginning for arr and end for reversed_arr
return reversed_arr
print(numbers)
print(reverse_list(numbers))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999] [999, 998, 997, 996, 995, 994, 993, 992, 991, 990, 989, 988, 987, 986, 985, 984, 983, 982, 981, 980, 979, 978, 977, 976, 975, 974, 973, 972, 971, 970, 969, 968, 967, 966, 965, 964, 963, 962, 961, 960, 959, 958, 957, 956, 955, 954, 953, 952, 951, 950, 949, 948, 947, 946, 945, 944, 943, 942, 941, 940, 939, 938, 937, 936, 935, 934, 933, 932, 931, 930, 929, 928, 927, 926, 925, 924, 923, 922, 921, 920, 919, 918, 917, 916, 915, 914, 913, 912, 911, 910, 909, 908, 907, 906, 905, 904, 903, 902, 901, 900, 899, 898, 897, 896, 895, 894, 893, 892, 891, 890, 889, 888, 887, 886, 885, 884, 883, 882, 881, 880, 879, 878, 877, 876, 875, 874, 873, 872, 871, 870, 869, 868, 867, 866, 865, 864, 863, 862, 861, 860, 859, 858, 857, 856, 855, 854, 853, 852, 851, 850, 849, 848, 847, 846, 845, 844, 843, 842, 841, 840, 839, 838, 837, 836, 835, 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, 820, 819, 818, 817, 816, 815, 814, 813, 812, 811, 810, 809, 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, 775, 774, 773, 772, 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Time
An example of a quadratic time algorithm is nested loops. When there are two nested loops that both iterate over the same collection, the time taken to complete the algorithm grows quadratically with the size of the collection. Hence, the time complexity of this operation is O(n^2), where n is the size of the collection being iterated over.
for i in numbers:
for j in numbers:
print(i,j)
0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 0 27 0 28 0 29 0 30 0 31 0 32 0 33 0 34 0 35 0 36 0 37 0 38 0 39 0 40 0 41 0 42 0 43 0 44 0 45 0 46 0 47 0 48 0 49 0 50 0 51 0 52 0 53 0 54 0 55 0 56 0 57 0 58 0 59 0 60 0 61 0 62 0 63 0 64 0 65 0 66 0 67 0 68 0 69 0 70 0 71 0 72 0 73 0 74 0 75 0 76 0 77 0 78 0 79 0 80 0 81 0 82 0 83 0 84 0 85 0 86 0 87 0 88 0 89 0 90 0 91 0 92 0 93 0 94 0 95 0 96 0 97 0 98 0 99 0 100 0 101 0 102 0 103 0 104 0 105 0 106 0 107 0 108 0 109 0 110 0 111 0 112 0 113 0 114 0 115 0 116 0 117 0 118 0 119 0 120 0 121 0 122 0 123 0 124 0 125 0 126 0 127 0 128 0 129 0 130 0 131 0 132 0 133 0 134 0 135 0 136 0 137 0 138 0 139 0 140 0 141 0 142 0 143 0 144 0 145 0 146 0 147 0 148 0 149 0 150 0 151 0 152 0 153 0 154 0 155 0 156 0 157 0 158 0 159 0 160 0 161 0 162 0 163 0 164 0 165 0 166 0 167 0 168 0 169 0 170 0 171 0 172 0 173 0 174 0 175 0 176 0 177 0 178 0 179 0 180 0 181 0 182 0 183 0 184 0 185 0 186 0 187 0 188 0 189 0 190 0 191 0 192 0 193 0 194 0 195 0 196 0 197 0 198 0 199 0 200 0 201 0 202 0 203 0 204 0 205 0 206 0 207 0 208 0 209 0 210 0 211 0 212 0 213 0 214 0 215 0 216 0 217 0 218 0 219 0 220 0 221 0 222 0 223 0 224 0 225 0 226 0 227 0 228 0 229 0 230 0 231 0 232 0 233 0 234 0 235 0 236 0 237 0 238 0 239 0 240 0 241 0 242 0 243 0 244 0 245 0 246 0 247 0 248 0 249 0 250 0 251 0 252 0 253 0 254 0 255 0 256 0 257 0 258 0 259 0 260 0 261 0 262 0 263 0 264 0 265 0 266 0 267 0 268 0 269 0 270 0 271 0 272 0 273 0 274 0 275 0 276 0 277 0 278 0 279 0 280 0 281 0 282 0 283 0 284 0 285 0 286 0 287 0 288 0 289 0 290 0 291 0 292 0 293 0 294 0 295 0 296 0 297 0 298 0 299 0 300 0 301 0 302 0 303 0 304 0 305 0 306 0 307 0 308 0 309 0 310 0 311 0 312 0 313 0 314 0 315 0 316 0 317 0 318 0 319 0 320 0 321 0 322 0 323 0 324 0 325 0 326 0 327 0 328 0 329 0 330 0 331 0 332 0 333 0 334 0 335 0 336 0 337 0 338 0 339 0 340 0 341 0 342 0 343 0 344 0 345 0 346 0 347 0 348 0 349 0 350 0 351 0 352 0 353 0 354 0 355 0 356 0 357 0 358 0 359 0 360 0 361 0 362 0 363 0 364 0 365 0 366 0 367 0 368 0 369 0 370 0 371 0 372 0 373 0 374 0 375 0 376 0 377 0 378 0 379 0 380 0 381 0 382 0 383 0 384 0 385 0 386 0 387 0 388 0 389 0 390 0 391 0 392 0 393 0 394 0 395 0 396 0 397 0 398 0 399 0 400 0 401 0 402 0 403 0 404 0 405 0 406 0 407 0 408 0 409 0 410 0 411 0 412 0 413 0 414 0 415 0 416 0 417 0 418 0 419 0 420 0 421 0 422 0 423 0 424 0 425 0 426 0 427 0 428 0 429 0 430 0 431 0 432 0 433 0 434 0 435 0 436 0 437 0 438 0 439 0 440 0 441 0 442 0 443 0 444 0 445 0 446 0 447 0 448 0 449 0 450 0 451 0 452 0 453 0 454 0 455 0 456 0 457 0 458 0 459 0 460 0 461 0 462 0 463 0 464 0 465 0 466 0 467 0 468 0 469 0 470 0 471 0 472 0 473 0 474 0 475 0 476 0 477 0 478 0 479 0 480 0 481 0 482 0 483 0 484 0 485 0 486 0 487 0 488 0 489 0 490 0 491 0 492 0 493 0 494 0 495 0 496 0 497 0 498 0 499 0 500 0 501 0 502 0 503 0 504 0 505 0 506 0 507 0 508 0 509 0 510 0 511 0 512 0 513 0 514 0 515 0 516 0 517 0 518 0 519 0 520 0 521 0 522 0 523 0 524 0 525 0 526 0 527 0 528 0 529 0 530 0 531 0 532 0 533 0 534 0 535 0 536 0 537 0 538 0 539 0 540 0 541 0 542 0 543 0 544 0 545 0 546 0 547 0 548 0 549 0 550 0 551 0 552 0 553 0 554 0 555 0 556 0 557 0 558 0 559 0 560 0 561 0 562 0 563 0 564 0 565 0 566 0 567 0 568 0 569 0 570 0 571 0 572 0 573 0 574 0 575 0 576 0 577 0 578 0 579 0 580 0 581 0 582 0 583 0 584 0 585 0 586 0 587 0 588 0 589 0 590 0 591 0 592 0 593 0 594 0 595 0 596 0 597 0 598 0 599 0 600 0 601 0 602 0 603 0 604 0 605 0 606 0 607 0 608 0 609 0 610 0 611 0 612 0 613 0 614 0 615 0 616 0 617 0 618 0 619 0 620 0 621 0 622 0 623 0 624 0 625 0 626 0 627 0 628 0 629 0 630 0 631 0 632 0 633 0 634 0 635 0 636 0 637 0 638 0 639 0 640 0 641 0 642 0 643 0 644 0 645 0 646 0 647 0 648 0 649 0 650 0 651 0 652 0 653 0 654 0 655 0 656 0 657 0 658 0 659 0 660 0 661 0 662 0 663 0 664 0 665 0 666 0 667 0 668 0 669 0 670 0 671 0 672 0 673 0 674 0 675 0 676 0 677 0 678 0 679 0 680 0 681 0 682 0 683 0 684 0 685 0 686 0 687 0 688 0 689 0 690 0 691 0 692 0 693 0 694 0 695 0 696 0 697 0 698 0 699 0 700 0 701 0 702 0 703 0 704 0 705 0 706 0 707 0 708 0 709 0 710 0 711 0 712 0 713 0 714 0 715 0 716 0 717 0 718 0 719 0 720 0 721 0 722 0 723 0 724 0 725 0 726 0 727 0 728 0 729 0 730 0 731 0 732 0 733 0 734 0 735 0 736 0 737 0 738 0 739 0 740 0 741 0 742 0 743 0 744 0 745 0 746 0 747 0 748 0 749 0 750 0 751 0 752 0 753 0 754 0 755 0 756 0 757 0 758 0 759 0 760 0 761 0 762 0 763 0 764 0 765 0 766 0 767 0 768 0 769 0 770 0 771 0 772 0 773 0 774 0 775 0 776 0 777 0 778 0 779 0 780 0 781 0 782 0 783 0 784 0 785 0 786 0 787 0 788 0 789 0 790 0 791 0 792 0 793 0 794 0 795 0 796 0 797 0 798 0 799 0 800 0 801 0 802 0 803 0 804 0 805 0 806 0 807 0 808 0 809 0 810 0 811 0 812 0 813 0 814 0 815 0 816 0 817 0 818 0 819 0 820 0 821 0 822 0 823 0 824 0 825 0 826 0 827 0 828 0 829 0 830 0 831 0 832 0 833 0 834 0 835 0 836 0 837 0 838 0 839 0 840 0 841 0 842 0 843 0 844 0 845 0 846 0 847 0 848 0 849 0 850 0 851 0 852 0 853 0 854 0 855 0 856 0 857 0 858 0 859 0 860 0 861 0 862 0 863 0 864 0 865 0 866 0 867 0 868 0 869 0 870 0 871 0 872 0 873 0 874 0 875 0 876 0 877 0 878 0 879 0 880 0 881 0 882 0 883 0 884 0 885 0 886 0 887 0 888 0 889 0 890 0 891 0 892 0 893 0 894 0 895 0 896 0 897 0 898 0 899 0 900 0 901 0 902 0 903 0 904 0 905 0 906 0 907 0 908 0 909 0 910 0 911 0 912 0 913 0 914 0 915 0 916 0 917 0 918 0 919 0 920 0 921 0 922 0 923 0 924 0 925 0 926 0 927 0 928 0 929 0 930 0 931 0 932 0 933 0 934 0 935 0 936 0 937 0 938 0 939 0 940 0 941 0 942 0 943 0 944 0 945 0 946 0 947 0 948 0 949 0 950 0 951 0 952 0 953 0 954 0 955 0 956 0 957 0 958 0 959 0 960 0 961 0 962 0 963 0 964 0 965 0 966 0 967 0 968 0 969 0 970 0 971 0 972 0 973 0 974 0 975 0 976 0 977 0 978 0 979 0 980 0 981 0 982 0 983 0 984 0 985 0 986 0 987 0 988 0 989 0 990 0 991 0 992 0 993 0 994 0 995 0 996 0 997 0 998 0 999 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 41 1 42 1 43 1 44 1 45 1 46 1 47 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 56 1 57 1 58 1 59 1 60 1 61 1 62 1 63 1 64 1 65 1 66 1 67 1 68 1 69 1 70 1 71 1 72 1 73 1 74 1 75 1 76 1 77 1 78 1 79 1 80 1 81 1 82 1 83 1 84 1 85 1 86 1 87 1 88 1 89 1 90 1 91 1 92 1 93 1 94 1 95 1 96 1 97 1 98 1 99 1 100 1 101 1 102 1 103 1 104 1 105 1 106 1 107 1 108 1 109 1 110 1 111 1 112 1 113 1 114 1 115 1 116 1 117 1 118 1 119 1 120 1 121 1 122 1 123 1 124 1 125 1 126 1 127 1 128 1 129 1 130 1 131 1 132 1 133 1 134 1 135 1 136 1 137 1 138 1 139 1 140 1 141 1 142 1 143 1 144 1 145 1 146 1 147 1 148 1 149 1 150 1 151 1 152 1 153 1 154 1 155 1 156 1 157 1 158 1 159 1 160 1 161 1 162 1 163 1 164 1 165 1 166 1 167 1 168 1 169 1 170 1 171 1 172 1 173 1 174 1 175 1 176 1 177 1 178 1 179 1 180 1 181 1 182 1 183 1 184 1 185 1 186 1 187 1 188 1 189 1 190 1 191 1 192 1 193 1 194 1 195 1 196 1 197 1 198 1 199 1 200 1 201 1 202 1 203 1 204 1 205 1 206 1 207 1 208 1 209 1 210 1 211 1 212 1 213 1 214 1 215 1 216 1 217 1 218 1 219 1 220 1 221 1 222 1 223 1 224 1 225 1 226 1 227 1 228 1 229 1 230 1 231 1 232 1 233 1 234 1 235 1 236 1 237 1 238 1 239 1 240 1 241 1 242 1 243 1 244 1 245 1 246 1 247 1 248 1 249 1 250 1 251 1 252 1 253 1 254 1 255 1 256 1 257 1 258 1 259 1 260 1 261 1 262 1 263 1 264 1 265 1 266 1 267 1 268 1 269 1 270 1 271 1 272 1 273 1 274 1 275 1 276 1 277 1 278 1 279 1 280 1 281 1 282 1 283 1 284 1 285 1 286 1 287 1 288 1 289 1 290 1 291 1 292 1 293 1 294 1 295 1 296 1 297 1 298 1 299 1 300 1 301 1 302 1 303 1 304 1 305 1 306 1 307 1 308 1 309 1 310 1 311 1 312 1 313 1 314 1 315 1 316 1 317 1 318 1 319 1 320 1 321 1 322 1 323 1 324 1 325 1 326 1 327 1 328 1 329 1 330 1 331 1 332 1 333 1 334 1 335 1 336 1 337 1 338 1 339 1 340 1 341 1 342 1 343 1 344 1 345 1 346 1 347 1 348 1 349 1 350 1 351 1 352 1 353 1 354 1 355 1 356 1 357 1 358 1 359 1 360 1 361 1 362 1 363 1 364 1 365 1 366 1 367 1 368 1 369 1 370 1 371 1 372 1 373 1 374 1 375 1 376 1 377 1 378 1 379 1 380 1 381 1 382 1 383 1 384 1 385 1 386 1 387 1 388 1 389 1 390 1 391 1 392 1 393 1 394 1 395 1 396 1 397 1 398 1 399 1 400 1 401 1 402 1 403 1 404 1 405 1 406 1 407 1 408 1 409 1 410 1 411 1 412 1 413 1 414 1 415 1 416 1 417 1 418 1 419 1 420 1 421 1 422 1 423 1 424 1 425 1 426 1 427 1 428 1 429 1 430 1 431 1 432 1 433 1 434 1 435 1 436 1 437 1 438 1 439 1 440 1 441 1 442 1 443 1 444 1 445 1 446 1 447 1 448 1 449 1 450 1 451 1 452 1 453 1 454 1 455 1 456 1 457 1 458 1 459 1 460 1 461 1 462 1 463 1 464 1 465 1 466 1 467 1 468 1 469 1 470 1 471 1 472 1 473 1 474 1 475 1 476 1 477 1 478 1 479 1 480 1 481 1 482 1 483 1 484 1 485 1 486 1 487 1 488 1 489 1 490 1 491 1 492 1 493 1 494 1 495 1 496 1 497 1 498 1 499 1 500 1 501 1 502 1 503 1 504 1 505 1 506 1 507 1 508 1 509 1 510 1 511 1 512 1 513 1 514 1 515 1 516 1 517 1 518 1 519 1 520 1 521 1 522 1 523 1 524 1 525 1 526 1 527 1 528 1 529 1 530 1 531 1 532 1 533 1 534 1 535 1 536 1 537 1 538 1 539 1 540 1 541 1 542 1 543 1 544 1 545 1 546 1 547 1 548 1 549 1 550 1 551 1 552 1 553 1 554 1 555 1 556 1 557 1 558 1 559 1 560 1 561 1 562 1 563 1 564 1 565 1 566 1 567 1 568 1 569 1 570 1 571 1 572 1 573 1 574 1 575 1 576 1 577 1 578 1 579 1 580 1 581 1 582 1 583 1 584 1 585 1 586 1 587 1 588 1 589 1 590 1 591 1 592 1 593 1 594 1 595 1 596 1 597 1 598 1 599 1 600 1 601 1 602 1 603 1 604 1 605 1 606 1 607 1 608 1 609 1 610 1 611 1 612 1 613 1 614 1 615 1 616 1 617 1 618 1 619 1 620 1 621 1 622 1 623 1 624 1 625 1 626 1 627 1 628 1 629 1 630 1 631 1 632 1 633 1 634 1 635 1 636 1 637 1 638 1 639 1 640 1 641 1 642 1 643 1 644 1 645 1 646 1 647 1 648 1 649 1 650 1 651 1 652 1 653 1 654 1 655 1 656 1 657 1 658 1 659 1 660 1 661 1 662 1 663 1 664 1 665 1 666 1 667 1 668 1 669 1 670 1 671 1 672 1 673 1 674 1 675 1 676 1 677 1 678 1 679 1 680 1 681 1 682 1 683 1 684 1 685 1 686 1 687 1 688 1 689 1 690 1 691 1 692 1 693 1 694 1 695 1 696 1 697 1 698 1 699 1 700 1 701 1 702 1 703 1 704 1 705 1 706 1 707 1 708 1 709 1 710 1 711 1 712 1 713 1 714 1 715 1 716 1 717 1 718 1 719 1 720 1 721 1 722 1 723 1 724 1 725 1 726 1 727 1 728 1 729 1 730 1 731 1 732 1 733 1 734 1 735 1 736 1 737 1 738 1 739 1 740 1 741 1 742 1 743 1 744 1 745 1 746 1 747 1 748 1 749 1 750 1 751 1 752 1 753 1 754 1 755 1 756 1 757 1 758 1 759 1 760 1 761 1 762 1 763 1 764 1 765 1 766 1 767 1 768 1 769 1 770 1 771 1 772 1 773 1 774 1 775 1 776 1 777 1 778 1 779 1 780 1 781 1 782 1 783 1 784 1 785 1 786 1 787 1 788 1 789 1 790 1 791 1 792 1 793 1 794 1 795 1 796 1 797 1 798 1 799 1 800 1 801 1 802 1 803 1 804 1 805 1 806 1 807 1 808 1 809 1 810 1 811 1 812 1 813 1 814 1 815 1 816 1 817 1 818 1 819 1 820 1 821 1 822 1 823 1 824 1 825 1 826 1 827 1 828 1 829 1 830 1 831 1 832 1 833 1 834 1 835 1 836 1 837 1 838 1 839 1 840 1 841 1 842 1 843 1 844 1 845 1 846 1 847 1 848 1 849 1 850 1 851 1 852 1 853 1 854 1 855 1 856 1 857 1 858 1 859 1 860 1 861 1 862 1 863 1 864 1 865 1 866 1 867 1 868 1 869 1 870 1 871 1 872 1 873 1 874 1 875 1 876 1 877 1 878 1 879 1 880 1 881 1 882 1 883 1 884 1 885 1 886 1 887 1 888 1 889 1 890 1 891 1 892 1 893 1 894 1 895 1 896 1 897 1 898 1 899 1 900 1 901 1 902 1 903 1 904 1 905 1 906 1 907 1 908 1 909 1 910 1 911 1 912 1 913 1 914 1 915 1 916 1 917 1 918 1 919 1 920 1 921 1 922 1 923 1 924 1 925 1 926 1 927 1 928 1 929 1 930 1 931 1 932 1 933 1 934 1 935 1 936 1 937 1 938 1 939 1 940 1 941 1 942 1 943 1 944 1 945 1 946 1 947 1 948 1 949 1 950 1 951 1 952 1 953 1 954 1 955 1 956 1 957 1 958 1 959 1 960 1 961 1 962 1 963 1 964 1 965 1 966 1 967 1 968 1 969 1 970 1 971 1 972 1 973 1 974 1 975 1 976 1 977 1 978 1 979 1 980 1 981 1 982 1 983 1 984 1 985 1 986 1 987 1 988 1 989 1 990 1 991 1 992 1 993 1 994 1 995 1 996 1 997 1 998 1 999 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 13 2 14 2 15 2 16 2 17 2 18 2 19 2 20 2 21 2 22 2 23 2 24 2 25 2 26 2 27 2 28 2 29 2 30 2 31 2 32 2 33 2 34 2 35 2 36 2 37 2 38 2 39 2 40 2 41 2 42 2 43 2 44 2 45 2 46 2 47 2 48 2 49 2 50 2 51 2 52 2 53 2 54 2 55 2 56 2 57 2 58 2 59 2 60 2 61 2 62 2 63 2 64 2 65 2 66 2 67 2 68 2 69 2 70 2 71 2 72 2 73 2 74 2 75 2 76 2 77 2 78 2 79 2 80 2 81 2 82 2 83 2 84 2 85 2 86 2 87 2 88 2 89 2 90 2 91 2 92 2 93 2 94 2 95 2 96 2 97 2 98 2 99 2 100 2 101 2 102 2 103 2 104 2 105 2 106 2 107 2 108 2 109 2 110 2 111 2 112 2 113 2 114 2 115 2 116 2 117 2 118 2 119 2 120 2 121 2 122 2 123 2 124 2 125 2 126 2 127 2 128 2 129 2 130 2 131 2 132 2 133 2 134 2 135 2 136 2 137 2 138 2 139 2 140 2 141 2 142 2 143 2 144 2 145 2 146 2 147 2 148 2 149 2 150 2 151 2 152 2 153 2 154 2 155 2 156 2 157 2 158 2 159 2 160 2 161 2 162 2 163 2 164 2 165 2 166 2 167 2 168 2 169 2 170 2 171 2 172 2 173 2 174 2 175 2 176 2 177 2 178 2 179 2 180 2 181 2 182 2 183 2 184 2 185 2 186 2 187 2 188 2 189 2 190 2 191 2 192 2 193 2 194 2 195 2 196 2 197 2 198 2 199 2 200 2 201 2 202 2 203 2 204 2 205 2 206 2 207 2 208 2 209 2 210 2 211 2 212 2 213 2 214 2 215 2 216 2 217 2 218 2 219 2 220 2 221 2 222 2 223 2 224 2 225 2 226 2 227 2 228 2 229 2 230 2 231 2 232 2 233 2 234 2 235 2 236 2 237 2 238 2 239 2 240 2 241 2 242 2 243 2 244 2 245 2 246 2 247 2 248 2 249 2 250 2 251 2 252 2 253 2 254 2 255 2 256 2 257 2 258 2 259 2 260 2 261 2 262 2 263 2 264 2 265 2 266 2 267 2 268 2 269 2 270 2 271 2 272 2 273 2 274 2 275 2 276 2 277 2 278 2 279 2 280 2 281 2 282 2 283 2 284 2 285 2 286 2 287 2 288 2 289 2 290 2 291 2 292 2 293 2 294 2 295 2 296 2 297 2 298 2 299 2 300 2 301 2 302 2 303 2 304 2 305 2 306 2 307 2 308 2 309 2 310 2 311 2 312 2 313 2 314 2 315 2 316 2 317 2 318 2 319 2 320 2 321 2 322 2 323 2 324 2 325 2 326 2 327 2 328 2 329 2 330 2 331 2 332 2 333 2 334 2 335 2 336 2 337 2 338 2 339 2 340 2 341 2 342 2 343 2 344 2 345 2 346 2 347 2 348 2 349 2 350 2 351 2 352 2 353 2 354 2 355 2 356 2 357 2 358 2 359 2 360 2 361 2 362 2 363 2 364 2 365 2 366 2 367 2 368 2 369 2 370 2 371 2 372 2 373 2 374 2 375 2 376 2 377 2 378 2 379 2 380 2 381 2 382 2 383 2 384 2 385 2 386 2 387 2 388 2 389 2 390 2 391 2 392 2 393 2 394 2 395 2 396 2 397 2 398 2 399 2 400 2 401 2 402 2 403 2 404 2 405 2 406 2 407 2 408 2 409 2 410 2 411 2 412 2 413 2 414 2 415 2 416 2 417 2 418 2 419 2 420 2 421 2 422 2 423 2 424 2 425 2 426 2 427 2 428 2 429 2 430 2 431 2 432 2 433 2 434 2 435 2 436 2 437 2 438 2 439 2 440 2 441 2 442 2 443 2 444 2 445 2 446 2 447 2 448 2 449 2 450 2 451 2 452 2 453 2 454 2 455 2 456 2 457 2 458 2 459 2 460 2 461 2 462 2 463 2 464 2 465 2 466 2 467 2 468 2 469 2 470 2 471 2 472 2 473 2 474 2 475 2 476 2 477 2 478 2 479 2 480 2 481 2 482 2 483 2 484 2 485 2 486 2 487 2 488 2 489 2 490 2 491 2 492 2 493 2 494 2 495 2 496 2 497 2 498 2 499 2 500 2 501 2 502 2 503 2 504 2 505 2 506 2 507 2 508 2 509 2 510 2 511 2 512 2 513 2 514 2 515 2 516 2 517 2 518 2 519 2 520 2 521 2 522 2 523 2 524 2 525 2 526 2 527 2 528 2 529 2 530 2 531 2 532 2 533 2 534 2 535 2 536 2 537 2 538 2 539 2 540 2 541 2 542 2 543 2 544 2 545 2 546 2 547 2 548 2 549 2 550 2 551 2 552 2 553 2 554 2 555 2 556 2 557 2 558 2 559 2 560 2 561 2 562 2 563 2 564 2 565 2 566 2 567 2 568 2 569 2 570 2 571 2 572 2 573 2 574 2 575 2 576 2 577 2 578 2 579 2 580 2 581 2 582 2 583 2 584 2 585 2 586 2 587 2 588 2 589 2 590 2 591 2 592 2 593 2 594 2 595 2 596 2 597 2 598 2 599 2 600 2 601 2 602 2 603 2 604 2 605 2 606 2 607 2 608 2 609 2 610 2 611 2 612 2 613 2 614 2 615 2 616 2 617 2 618 2 619 2 620 2 621 2 622 2 623 2 624 2 625 2 626 2 627 2 628 2 629 2 630 2 631 2 632 2 633 2 634 2 635 2 636 2 637 2 638 2 639 2 640 2 641 2 642 2 643 2 644 2 645 2 646 2 647 2 648 2 649 2 650 2 651 2 652 2 653 2 654 2 655 2 656 2 657 2 658 2 659 2 660 2 661 2 662 2 663 2 664 2 665 2 666 2 667 2 668 2 669 2 670 2 671 2 672 2 673 2 674 2 675 2 676 2 677 2 678 2 679 2 680 2 681 2 682 2 683 2 684 2 685 2 686 2 687 2 688 2 689 2 690 2 691 2 692 2 693 2 694 2 695 2 696 2 697 2 698 2 699 2 700 2 701 2 702 2 703 2 704 2 705 2 706 2 707 2 708 2 709 2 710 2 711 2 712 2 713 2 714 2 715 2 716 2 717 2 718 2 719 2 720 2 721 2 722 2 723 2 724 2 725 2 726 2 727 2 728 2 729 2 730 2 731 2 732 2 733 2 734 2 735 2 736 2 737 2 738 2 739 2 740 2 741 2 742 2 743 2 744 2 745 2 746 2 747 2 748 2 749 2 750 2 751 2 752 2 753 2 754 2 755 2 756 2 757 2 758 2 759 2 760 2 761 2 762 2 763 2 764 2 765 2 766 2 767 2 768 2 769 2 770 2 771 2 772 2 773 2 774 2 775 2 776 2 777 2 778 2 779 2 780 2 781 2 782 2 783 2 784 2 785 2 786 2 787 2 788 2 789 2 790 2 791 2 792 2 793 2 794 2 795 2 796 2 797 2 798 2 799 2 800 2 801 2 802 2 803 2 804 2 805 2 806 2 807 2 808 2 809 2 810 2 811 2 812 2 813 2 814 2 815 2 816 2 817 2 818 2 819 2 820 2 821 2 822 2 823 2 824 2 825 2 826 2 827 2 828 2 829 2 830 2 831 2 832 2 833 2 834 2 835 2 836 2 837 2 838 2 839 2 840 2 841 2 842 2 843 2 844 2 845 2 846 2 847 2 848 2 849 2 850 2 851 2 852 2 853 2 854 2 855 2 856 2 857 2 858 2 859 2 860 2 861 2 862 2 863 2 864 2 865 2 866 2 867 2 868 2 869 2 870 2 871 2 872 2 873 2 874 2 875 2 876 2 877 2 878 2 879 2 880 2 881 2 882 2 883 2 884 2 885 2 886 2 887 2 888 2 889 2 890 2 891 2 892 2 893 2 894 2 895 2 896 2 897 2 898 2 899 2 900 2 901 2 902 2 903 2 904 2 905 2 906 2 907 2 908 2 909 2 910 2 911 2 912 2 913 2 914 2 915 2 916 2 917 2 918 2 919 2 920 2 921 2 922 2 923 2 924 2 925 2 926 2 927 2 928 2 929 2 930 2 931 2 932 2 933 2 934 2 935 2 936 2 937 2 938 2 939 2 940 2 941 2 942 2 943 2 944 2 945 2 946 2 947 2 948 2 949 2 950 2 951 2 952 2 953 2 954 2 955 2 956 2 957 2 958 2 959 2 960 2 961 2 962 2 963 2 964 2 965 2 966 2 967 2 968 2 969 2 970 2 971 2 972 2 973 2 974 2 975 2 976 2 977 2 978 2 979 2 980 2 981 2 982 2 983 2 984 2 985 2 986 2 987 2 988 2 989 2 990 2 991 2 992 2 993 2 994 2 995 2 996 2 997 2 998 2 999 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 10 3 11 3 12 3 13 3 14 3 15 3 16 3 17 3 18 3 19 3 20 3 21 3 22 3 23 3 24 3 25 3 26 3 27 3 28 3 29 3 30 3 31 3 32 3 33 3 34 3 35 3 36 3 37 3 38 3 39 3 40 3 41 3 42 3 43 3 44 3 45 3 46 3 47 3 48 3 49 3 50 3 51 3 52 3 53 3 54 3 55 3 56 3 57 3 58 3 59 3 60 3 61 3 62 3 63 3 64 3 65 3 66 3 67 3 68 3 69 3 70 3 71 3 72 3 73 3 74 3 75 3 76 3 77 3 78 3 79 3 80 3 81 3 82 3 83 3 84 3 85 3 86 3 87 3 88 3 89 3 90 3 91 3 92 3 93 3 94 3 95 3 96 3 97 3 98 3 99 3 100 3 101 3 102 3 103 3 104 3 105 3 106 3 107 3 108 3 109 3 110 3 111 3 112 3 113 3 114 3 115 3 116 3 117 3 118 3 119 3 120 3 121 3 122 3 123 3 124 3 125 3 126 3 127 3 128 3 129 3 130 3 131 3 132 3 133 3 134 3 135 3 136 3 137 3 138 3 139 3 140 3 141 3 142 3 143 3 144 3 145 3 146 3 147 3 148 3 149 3 150 3 151 3 152 3 153 3 154 3 155 3 156 3 157 3 158 3 159 3 160 3 161 3 162 3 163 3 164 3 165 3 166 3 167 3 168 3 169 3 170 3 171 3 172 3 173 3 174 3 175 3 176 3 177 3 178 3 179 3 180 3 181 3 182 3 183 3 184 3 185 3 186 3 187 3 188 3 189 3 190 3 191 3 192 3 193 3 194 3 195 3 196 3 197 3 198 3 199 3 200 3 201 3 202 3 203 3 204 3 205 3 206 3 207 3 208 3 209 3 210 3 211 3 212 3 213 3 214 3 215 3 216 3 217 3 218 3 219 3 220 3 221 3 222 3 223 3 224 3 225 3 226 3 227 3 228 3 229 3 230 3 231 3 232 3 233 3 234 3 235 3 236 3 237 3 238 3 239 3 240 3 241 3 242 3 243 3 244 3 245 3 246 3 247 3 248 3 249 3 250 3 251 3 252 3 253 3 254 3 255 3 256 3 257 3 258 3 259 3 260 3 261 3 262 3 263 3 264 3 265 3 266 3 267 3 268 3 269 3 270 3 271 3 272 3 273 3 274 3 275 3 276 3 277 3 278 3 279 3 280 3 281 3 282 3 283 3 284 3 285 3 286 3 287 3 288 3 289 3 290 3 291 3 292 3 293 3 294 3 295 3 296 3 297 3 298 3 299 3 300 3 301 3 302 3 303 3 304 3 305 3 306 3 307 3 308 3 309 3 310 3 311 3 312 3 313 3 314 3 315 3 316 3 317 3 318 3 319 3 320 3 321 3 322 3 323 3 324 3 325 3 326 3 327 3 328 3 329 3 330 3 331 3 332 3 333 3 334 3 335 3 336 3 337 3 338 3 339 3 340 3 341 3 342 3 343 3 344 3 345 3 346 3 347 3 348 3 349 3 350 3 351 3 352 3 353 3 354 3 355 3 356 3 357 3 358 3 359 3 360 3 361 3 362 3 363 3 364 3 365 3 366 3 367 3 368 3 369 3 370 3 371 3 372 3 373 3 374 3 375 3 376 3 377 3 378 3 379 3 380 3 381 3 382 3 383 3 384 3 385 3 386 3 387 3 388 3 389 3 390 3 391 3 392 3 393 3 394 3 395 3 396 3 397 3 398 3 399 3 400 3 401 3 402 3 403 3 404 3 405 3 406 3 407 3 408 3 409 3 410 3 411 3 412 3 413 3 414 3 415 3 416 3 417 3 418 3 419 3 420 3 421 3 422 3 423 3 424 3 425 3 426 3 427 3 428 3 429 3 430 3 431 3 432 3 433 3 434 3 435 3 436 3 437 3 438 3 439 3 440 3 441 3 442 3 443 3 444 3 445 3 446 3 447 3 448 3 449 3 450 3 451 3 452 3 453 3 454 3 455 3 456 3 457 3 458 3 459 3 460 3 461 3 462 3 463 3 464 3 465 3 466 3 467 3 468 3 469 3 470 3 471 3 472 3 473 3 474 3 475 3 476 3 477 3 478 3 479 3 480 3 481 3 482 3 483 3 484 3 485 3 486 3 487 3 488 3 489 3 490 3 491 3 492 3 493 3 494 3 495 3 496 3 497 3 498 3 499 3 500 3 501 3 502 3 503 3 504 3 505 3 506 3 507 3 508 3 509 3 510 3 511 3 512 3 513 3 514 3 515 3 516 3 517 3 518 3 519 3 520 3 521 3 522 3 523 3 524 3 525 3 526 3 527 3 528 3 529 3 530 3 531 3 532 3 533 3 534 3 535 3 536 3 537 3 538 3 539 3 540 3 541 3 542 3 543 3 544 3 545 3 546 3 547 3 548 3 549 3 550 3 551 3 552 3 553 3 554 3 555 3 556 3 557 3 558 3 559 3 560 3 561 3 562 3 563 3 564 3 565 3 566 3 567 3 568 3 569 3 570 3 571 3 572 3 573 3 574 3 575 3 576 3 577 3 578 3 579 3 580 3 581 3 582 3 583 3 584 3 585 3 586 3 587 3 588 3 589 3 590 3 591 3 592 3 593 3 594 3 595 3 596 3 597 3 598 3 599 3 600 3 601 3 602 3 603 3 604 3 605 3 606 3 607 3 608 3 609 3 610 3 611 3 612 3 613 3 614 3 615 3 616 3 617 3 618 3 619 3 620 3 621 3 622 3 623 3 624 3 625 3 626 3 627 3 628 3 629 3 630 3 631 3 632 3 633 3 634 3 635 3 636 3 637 3 638 3 639 3 640 3 641 3 642 3 643 3 644 3 645 3 646 3 647 3 648 3 649 3 650 3 651 3 652 3 653 3 654 3 655 3 656 3 657 3 658 3 659 3 660 3 661 3 662 3 663 3 664 3 665 3 666 3 667 3 668 3 669 3 670 3 671 3 672 3 673 3 674 3 675 3 676 3 677 3 678 3 679 3 680 3 681 3 682 3 683 3 684 3 685 3 686 3 687 3 688 3 689 3 690 3 691 3 692 3 693 3 694 3 695 3 696 3 697 3 698 3 699 3 700 3 701 3 702 3 703 3 704 3 705 3 706 3 707 3 708 3 709 3 710 3 711 3 712 3 713 3 714 3 715 3 716 3 717 3 718 3 719 3 720 3 721 3 722 3 723 3 724 3 725 3 726 3 727 3 728 3 729 3 730 3 731 3 732 3 733 3 734 3 735 3 736 3 737 3 738 3 739 3 740 3 741 3 742 3 743 3 744 3 745 3 746 3 747 3 748 3 749 3 750 3 751 3 752 3 753 3 754 3 755 3 756 3 757 3 758 3 759 3 760 3 761 3 762 3 763 3 764 3 765 3 766 3 767 3 768 3 769 3 770 3 771 3 772 3 773 3 774 3 775 3 776 3 777 3 778 3 779 3 780 3 781 3 782 3 783 3 784 3 785 3 786 3 787 3 788 3 789 3 790 3 791 3 792 3 793 3 794 3 795 3 796 3 797 3 798 3 799 3 800 3 801 3 802 3 803 3 804 3 805 3 806 3 807 3 808 3 809 3 810 3 811 3 812 3 813 3 814 3 815 3 816 3 817 3 818 3 819 3 820 3 821 3 822 3 823 3 824 3 825 3 826 3 827 3 828 3 829 3 830 3 831 3 832 3 833 3 834 3 835 3 836 3 837 3 838 3 839 3 840 3 841 3 842 3 843 3 844 3 845 3 846 3 847 3 848 3 849 3 850 3 851 3 852 3 853 3 854 3 855 3 856 3 857 3 858 3 859 3 860 3 861 3 862 3 863 3 864 3 865 3 866 3 867 3 868 3 869 3 870 3 871 3 872 3 873 3 874 3 875 3 876 3 877 3 878 3 879 3 880 3 881 3 882 3 883 3 884 3 885 3 886 3 887 3 888 3 889 3 890 3 891 3 892 3 893 3 894 3 895 3 896 3 897 3 898 3 899 3 900 3 901 3 902 3 903 3 904 3 905 3 906 3 907 3 908 3 909 3 910 3 911 3 912 3 913 3 914 3 915 3 916 3 917 3 918 3 919 3 920 3 921 3 922 3 923 3 924 3 925 3 926 3 927 3 928 3 929 3 930 3 931 3 932 3 933 3 934 3 935 3 936 3 937 3 938 3 939 3 940 3 941 3 942 3 943 3 944 3 945 3 946 3 947 3 948 3 949 3 950 3 951 3 952 3 953 3 954 3 955 3 956 3 957 3 958 3 959 3 960 3 961 3 962 3 963 3 964 3 965 3 966 3 967 3 968 3 969 3 970 3 971 3 972 3 973 3 974 3 975 3 976 3 977 3 978 3 979 3 980 3 981 3 982 3 983 3 984 3 985 3 986 3 987 3 988 3 989 3 990 3 991 3 992 3 993 3 994 3 995 3 996 3 997 3 998 3 999 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 4 12 4 13 4 14 4 15 4 16 4 17 4 18 4 19 4 20 4 21 4 22 4 23 4 24 4 25 4 26 4 27 4 28 4 29 4 30 4 31 4 32 4 33 4 34 4 35 4 36 4 37 4 38 4 39 4 40 4 41 4 42 4 43 4 44 4 45 4 46 4 47 4 48 4 49 4 50 4 51 4 52 4 53 4 54 4 55 4 56 4 57 4 58 4 59 4 60 4 61 4 62 4 63 4 64 4 65 4 66 4 67 4 68 4 69 4 70 4 71 4 72 4 73 4 74 4 75 4 76 4 77 4 78 4 79 4 80 4 81 4 82 4 83 4 84 4 85 4 86 4 87 4 88 4 89 4 90 4 91 4 92 4 93 4 94 4 95 4 96 4 97 4 98 4 99 4 100 4 101 4 102 4 103 4 104 4 105 4 106 4 107 4 108 4 109 4 110 4 111 4 112 4 113 4 114 4 115 4 116 4 117 4 118 4 119 4 120 4 121 4 122 4 123 4 124 4 125 4 126 4 127 4 128 4 129 4 130 4 131 4 132 4 133 4 134 4 135 4 136 4 137 4 138 4 139 4 140 4 141 4 142 4 143 4 144 4 145 4 146 4 147 4 148 4 149 4 150 4 151 4 152 4 153 4 154 4 155 4 156 4 157 4 158 4 159 4 160 4 161 4 162 4 163 4 164 4 165 4 166 4 167 4 168 4 169 4 170 4 171 4 172 4 173 4 174 4 175 4 176 4 177 4 178 4 179 4 180 4 181 4 182 4 183 4 184 4 185 4 186 4 187 4 188 4 189 4 190 4 191 4 192 4 193 4 194 4 195 4 196 4 197 4 198 4 199 4 200 4 201 4 202 4 203 4 204 4 205 4 206 4 207 4 208 4 209 4 210 4 211 4 212 4 213 4 214 4 215 4 216 4 217 4 218 4 219 4 220 4 221 4 222 4 223 4 224 4 225 4 226 4 227 4 228 4 229 4 230 4 231 4 232 4 233 4 234 4 235 4 236 4 237 4 238 4 239 4 240 4 241 4 242 4 243 4 244 4 245 4 246 4 247 4 248 4 249 4 250 4 251 4 252 4 253 4 254 4 255 4 256 4 257 4 258 4 259 4 260 4 261 4 262 4 263 4 264 4 265 4 266 4 267 4 268 4 269 4 270 4 271 4 272 4 273 4 274 4 275 4 276 4 277 4 278 4 279 4 280 4 281 4 282 4 283 4 284 4 285 4 286 4 287 4 288 4 289 4 290 4 291 4 292 4 293 4 294 4 295 4 296 4 297 4 298 4 299 4 300 4 301 4 302 4 303 4 304 4 305 4 306 4 307 4 308 4 309 4 310 4 311 4 312 4 313 4 314 4 315 4 316 4 317 4 318 4 319 4 320 4 321 4 322 4 323 4 324 4 325 4 326 4 327 4 328 4 329 4 330 4 331 4 332 4 333 4 334 4 335 4 336 4 337 4 338 4 339 4 340 4 341 4 342 4 343 4 344 4 345 4 346 4 347 4 348 4 349 4 350 4 351 4 352 4 353 4 354 4 355 4 356 4 357 4 358 4 359 4 360 4 361 4 362 4 363 4 364 4 365 4 366 4 367 4 368 4 369 4 370 4 371 4 372 4 373 4 374 4 375 4 376 4 377 4 378 4 379 4 380 4 381 4 382 4 383 4 384 4 385 4 386 4 387 4 388 4 389 4 390 4 391 4 392 4 393 4 394 4 395 4 396 4 397 4 398 4 399 4 400 4 401 4 402 4 403 4 404 4 405 4 406 4 407 4 408 4 409 4 410 4 411 4 412 4 413 4 414 4 415 4 416 4 417 4 418 4 419 4 420 4 421 4 422 4 423 4 424 4 425 4 426 4 427 4 428 4 429 4 430 4 431 4 432 4 433 4 434 4 435 4 436 4 437 4 438 4 439 4 440 4 441 4 442 4 443 4 444 4 445 4 446 4 447 4 448 4 449 4 450 4 451 4 452 4 453 4 454 4 455 4 456 4 457 4 458 4 459 4 460 4 461 4 462 4 463 4 464 4 465 4 466 4 467 4 468 4 469 4 470 4 471 4 472 4 473 4 474 4 475 4 476 4 477 4 478 4 479 4 480 4 481 4 482 4 483 4 484 4 485 4 486 4 487 4 488 4 489 4 490 4 491 4 492 4 493 4 494 4 495 4 496 4 497 4 498 4 499 4 500 4 501 4 502 4 503 4 504 4 505 4 506 4 507 4 508 4 509 4 510 4 511 4 512 4 513 4 514 4 515 4 516 4 517 4 518 4 519 4 520 4 521 4 522 4 523 4 524 4 525 4 526 4 527 4 528 4 529 4 530 4 531 4 532 4 533 4 534 4 535 4 536 4 537 4 538 4 539 4 540 4 541 4 542 4 543 4 544 4 545 4 546 4 547 4 548 4 549 4 550 4 551 4 552 4 553 4 554 4 555 4 556 4 557 4 558 4 559 4 560 4 561 4 562 4 563 4 564 4 565 4 566 4 567 4 568 4 569 4 570 4 571 4 572 4 573 4 574 4 575 4 576 4 577 4 578 4 579 4 580 4 581 4 582 4 583 4 584 4 585 4 586 4 587 4 588 4 589 4 590 4 591 4 592 4 593 4 594 4 595 4 596 4 597 4 598 4 599 4 600 4 601 4 602 4 603 4 604 4 605 4 606 4 607 4 608 4 609 4 610 4 611 4 612 4 613 4 614 4 615 4 616 4 617 4 618 4 619 4 620 4 621 4 622 4 623 4 624 4 625 4 626 4 627 4 628 4 629 4 630 4 631 4 632 4 633 4 634 4 635 4 636 4 637 4 638 4 639 4 640 4 641 4 642 4 643 4 644 4 645 4 646 4 647 4 648 4 649 4 650 4 651 4 652 4 653 4 654 4 655 4 656 4 657 4 658 4 659 4 660 4 661 4 662 4 663 4 664 4 665 4 666 4 667 4 668 4 669 4 670 4 671 4 672 4 673 4 674 4 675 4 676 4 677 4 678 4 679 4 680 4 681 4 682 4 683 4 684 4 685 4 686 4 687 4 688 4 689 4 690 4 691 4 692 4 693 4 694 4 695 4 696 4 697 4 698 4 699 4 700 4 701 4 702 4 703 4 704 4 705 4 706 4 707 4 708 4 709 4 710 4 711 4 712 4 713 4 714 4 715 4 716 4 717 4 718 4 719 4 720 4 721 4 722 4 723 4 724 4 725 4 726 4 727 4 728 4 729 4 730 4 731 4 732 4 733 4 734 4 735 4 736 4 737 4 738 4 739 4 740 4 741 4 742 4 743 4 744 4 745 4 746 4 747 4 748 4 749 4 750 4 751 4 752 4 753 4 754 4 755 4 756 4 757 4 758 4 759 4 760 4 761 4 762 4 763 4 764 4 765 4 766 4 767 4 768 4 769 4 770 4 771 4 772 4 773 4 774 4 775 4 776 4 777 4 778 4 779 4 780 4 781 4 782 4 783 4 784 4 785 4 786 4 787 4 788 4 789 4 790 4 791 4 792 4 793 4 794 4 795 4 796 4 797 4 798 4 799 4 800 4 801 4 802 4 803 4 804 4 805 4 806 4 807 4 808 4 809 4 810 4 811 4 812 4 813 4 814 4 815 4 816 4 817 4 818 4 819 4 820 4 821 4 822 4 823 4 824 4 825 4 826 4 827 4 828 4 829 4 830 4 831 4 832 4 833 4 834 4 835 4 836 4 837 4 838 4 839 4 840 4 841 4 842 4 843 4 844 4 845 4 846 4 847 4 848 4 849 4 850 4 851 4 852 4 853 4 854 4 855 4 856 4 857 4 858 4 859 4 860 4 861 4 862 4 863 4 864 4 865 4 866 4 867 4 868 4 869 4 870 4 871 4 872 4 873 4 874 4 875 4 876 4 877 4 878 4 879 4 880 4 881 4 882 4 883 4 884 4 885 4 886 4 887 4 888 4 889 4 890 4 891 4 892 4 893 4 894 4 895 4 896 4 897 4 898 4 899 4 900 4 901 4 902 4 903 4 904 4 905 4 906 4 907 4 908 4 909 4 910 4 911 4 912 4 913 4 914 4 915 4 916 4 917 4 918 4 919 4 920 4 921 4 922 4 923 4 924 4 925 4 926 4 927 4 928 4 929 4 930 4 931 4 932 4 933 4 934 4 935 4 936 4 937 4 938 4 939 4 940 4 941 4 942 4 943 4 944 4 945 4 946 4 947 4 948 4 949 4 950 4 951 4 952 4 953 4 954 4 955 4 956 4 957 4 958 4 959 4 960 4 961 4 962 4 963 4 964 4 965 4 966 4 967 4 968 4 969 4 970 4 971 4 972 4 973 4 974 4 975 4 976 4 977 4 978 4 979 4 980 4 981 4 982 4 983 4 984 4 985 4 986 4 987 4 988 4 989 4 990 4 991 4 992 4 993 4 994 4 995 4 996 4 997 4 998 4 999 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 5 10 5 11 5 12 5 13 5 14 5 15 5 16 5 17 5 18 5 19 5 20 5 21 5 22 5 23 5 24 5 25 5 26 5 27 5 28 5 29 5 30 5 31 5 32 5 33 5 34 5 35 5 36 5 37 5 38 5 39 5 40 5 41 5 42 5 43 5 44 5 45 5 46 5 47 5 48 5 49 5 50 5 51 5 52 5 53 5 54 5 55 5 56 5 57 5 58 5 59 5 60 5 61 5 62 5 63 5 64 5 65 5 66 5 67 5 68 5 69 5 70 5 71 5 72 5 73 5 74 5 75 5 76 5 77 5 78 5 79 5 80 5 81 5 82 5 83 5 84 5 85 5 86 5 87 5 88 5 89 5 90 5 91 5 92 5 93 5 94 5 95 5 96 5 97 5 98 5 99 5 100 5 101 5 102 5 103 5 104 5 105 5 106 5 107 5 108 5 109 5 110 5 111 5 112 5 113 5 114 5 115 5 116 5 117 5 118 5 119 5 120 5 121 5 122 5 123 5 124 5 125 5 126 5 127 5 128 5 129 5 130 5 131 5 132 5 133 5 134 5 135 5 136 5 137 5 138 5 139 5 140 5 141 5 142 5 143 5 144 5 145 5 146 5 147 5 148 5 149 5 150 5 151 5 152 5 153 5 154 5 155 5 156 5 157 5 158 5 159 5 160 5 161 5 162 5 163 5 164 5 165 5 166 5 167 5 168 5 169 5 170 5 171 5 172 5 173 5 174 5 175 5 176 5 177 5 178 5 179 5 180 5 181 5 182 5 183 5 184 5 185 5 186 5 187 5 188 5 189 5 190 5 191 5 192 5 193 5 194 5 195 5 196 5 197 5 198 5 199 5 200 5 201 5 202 5 203 5 204 5 205 5 206 5 207 5 208 5 209 5 210 5 211 5 212 5 213 5 214 5 215 5 216 5 217 5 218 5 219 5 220 5 221 5 222 5 223 5 224 5 225 5 226 5 227 5 228 5 229 5 230 5 231 5 232 5 233 5 234 5 235 5 236 5 237 5 238 5 239 5 240 5 241 5 242 5 243 5 244 5 245 5 246 5 247 5 248 5 249 5 250 5 251 5 252 5 253 5 254 5 255 5 256 5 257 5 258 5 259 5 260 5 261 5 262 5 263 5 264 5 265 5 266 5 267 5 268 5 269 5 270 5 271 5 272 5 273 5 274 5 275 5 276 5 277 5 278 5 279 5 280 5 281 5 282 5 283 5 284 5 285 5 286 5 287 5 288 5 289 5 290 5 291 5 292 5 293 5 294 5 295 5 296 5 297 5 298 5 299 5 300 5 301 5 302 5 303 5 304 5 305 5 306 5 307 5 308 5 309 5 310 5 311 5 312 5 313 5 314 5 315 5 316 5 317 5 318 5 319 5 320 5 321 5 322 5 323 5 324 5 325 5 326 5 327 5 328 5 329 5 330 5 331 5 332 5 333 5 334 5 335 5 336 5 337 5 338 5 339 5 340 5 341 5 342 5 343 5 344 5 345 5 346 5 347 5 348 5 349 5 350 5 351 5 352 5 353 5 354 5 355 5 356 5 357 5 358 5 359 5 360 5 361 5 362 5 363 5 364 5 365 5 366 5 367 5 368 5 369 5 370 5 371 5 372 5 373 5 374 5 375 5 376 5 377 5 378 5 379 5 380 5 381 5 382 5 383 5 384 5 385 5 386 5 387 5 388 5 389 5 390 5 391 5 392 5 393 5 394 5 395 5 396 5 397 5 398 5 399 5 400 5 401 5 402 5 403 5 404 5 405 5 406 5 407 5 408 5 409 5 410 5 411 5 412 5 413 5 414 5 415 5 416 5 417 5 418 5 419 5 420 5 421 5 422 5 423 5 424 5 425 5 426 5 427 5 428 5 429 5 430 5 431 5 432 5 433 5 434 5 435 5 436 5 437 5 438 5 439 5 440 5 441 5 442 5 443 5 444 5 445 5 446 5 447 5 448 5 449 5 450 5 451 5 452 5 453 5 454 5 455 5 456 5 457 5 458 5 459 5 460 5 461 5 462 5 463 5 464 5 465 5 466 5 467 5 468 5 469 5 470 5 471 5 472 5 473 5 474 5 475 5 476 5 477 5 478 5 479 5 480 5 481 5 482 5 483 5 484 5 485 5 486 5 487 5 488 5 489 5 490 5 491 5 492 5 493 5 494 5 495 5 496 5 497 5 498 5 499 5 500 5 501 5 502 5 503 5 504 5 505 5 506 5 507 5 508 5 509 5 510 5 511 5 512 5 513 5 514 5 515 5 516 5 517 5 518 5 519 5 520 5 521 5 522 5 523 5 524 5 525 5 526 5 527 5 528 5 529 5 530 5 531 5 532 5 533 5 534 5 535 5 536 5 537 5 538 5 539 5 540 5 541 5 542 5 543 5 544 5 545 5 546 5 547 5 548 5 549 5 550 5 551 5 552 5 553 5 554 5 555 5 556 5 557 5 558 5 559 5 560 5 561 5 562 5 563 5 564 5 565 5 566 5 567 5 568 5 569 5 570 5 571 5 572 5 573 5 574 5 575 5 576 5 577 5 578 5 579 5 580 5 581 5 582 5 583 5 584 5 585 5 586 5 587 5 588 5 589 5 590 5 591 5 592 5 593 5 594 5 595 5 596 5 597 5 598 5 599 5 600 5 601 5 602 5 603 5 604 5 605 5 606 5 607 5 608 5 609 5 610 5 611 5 612 5 613 5 614 5 615 5 616 5 617 5 618 5 619 5 620 5 621 5 622 5 623 5 624 5 625 5 626 5 627 5 628 5 629 5 630 5 631 5 632 5 633 5 634 5 635 5 636 5 637 5 638 5 639 5 640 5 641 5 642 5 643 5 644 5 645 5 646 5 647 5 648 5 649 5 650 5 651 5 652 5 653 5 654 5 655 5 656 5 657 5 658 5 659 5 660 5 661 5 662 5 663 5 664 5 665 5 666 5 667 5 668 5 669 5 670 5 671 5 672 5 673 5 674 5 675 5 676 5 677 5 678 5 679 5 680 5 681 5 682 5 683 5 684 5 685 5 686 5 687 5 688 5 689 5 690 5 691 5 692 5 693 5 694 5 695 5 696 5 697 5 698 5 699 5 700 5 701 5 702 5 703 5 704 5 705 5 706 5 707 5 708 5 709 5 710 5 711 5 712 5 713 5 714 5 715 5 716 5 717 5 718 5 719 5 720 5 721 5 722 5 723 5 724 5 725 5 726 5 727 5 728 5 729 5 730 5 731 5 732 5 733 5 734 5 735 5 736 5 737 5 738 5 739 5 740 5 741 5 742 5 743 5 744 5 745 5 746 5 747 5 748 5 749 5 750 5 751 5 752 5 753 5 754 5 755 5 756 5 757 5 758 5 759 5 760 5 761 5 762 5 763 5 764 5 765 5 766 5 767 5 768 5 769 5 770 5 771 5 772 5 773 5 774 5 775 5 776 5 777 5 778 5 779 5 780 5 781 5 782 5 783 5 784 5 785 5 786 5 787 5 788 5 789 5 790 5 791 5 792 5 793 5 794 5 795 5 796 5 797 5 798 5 799 5 800 5 801 5 802 5 803 5 804 5 805 5 806 5 807 5 808 5 809 5 810 5 811 5 812 5 813 5 814 5 815 5 816 5 817 5 818 5 819 5 820 5 821 5 822 5 823 5 824 5 825 5 826 5 827 5 828 5 829 5 830 5 831 5 832 5 833 5 834 5 835 5 836 5 837 5 838 5 839 5 840 5 841 5 842 5 843 5 844 5 845 5 846 5 847 5 848 5 849 5 850 5 851 5 852 5 853 5 854 5 855 5 856 5 857 5 858 5 859 5 860 5 861 5 862 5 863 5 864 5 865 5 866 5 867 5 868 5 869 5 870 5 871 5 872 5 873 5 874 5 875 5 876 5 877 5 878 5 879 5 880 5 881 5 882 5 883 5 884 5 885 5 886 5 887 5 888 5 889 5 890 5 891 5 892 5 893 5 894 5 895 5 896 5 897 5 898 5 899 5 900 5 901 5 902 5 903 5 904 5 905 5 906 5 907 5 908 5 909 5 910 5 911 5 912 5 913 5 914 5 915 5 916 5 917 5 918 5 919 5 920 5 921 5 922 5 923 5 924 5 925 5 926 5 927 5 928 5 929 5 930 5 931 5 932 5 933 5 934 5 935 5 936 5 937 5 938 5 939 5 940 5 941 5 942 5 943 5 944 5 945 5 946 5 947 5 948 5 949 5 950 5 951 5 952 5 953 5 954 5 955 5 956 5 957 5 958 5 959 5 960 5 961 5 962 5 963 5 964 5 965 5 966 5 967 5 968 5 969 5 970 5 971 5 972 5 973 5 974 5 975 5 976 5 977 5 978 5 979 5 980 5 981 5 982 5 983 5 984 5 985 5 986 5 987 5 988 5 989 5 990 5 991 5 992 5 993 5 994 5 995 5 996 5 997 5 998 5 999 6 0 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 6 10 6 11 6 12 6 13 6 14 6 15 6 16 6 17 6 18 6 19 6 20 6 21 6 22 6 23 6 24 6 25 6 26 6 27 6 28 6 29 6 30 6 31 6 32 6 33 6 34 6 35 6 36 6 37 6 38 6 39 6 40 6 41 6 42 6 43 6 44 6 45 6 46 6 47 6 48 6 49 6 50 6 51 6 52 6 53 6 54 6 55 6 56 6 57 6 58 6 59 6 60 6 61 6 62 6 63 6 64 6 65 6 66 6 67 6 68 6 69 6 70 6 71 6 72 6 73 6 74 6 75 6 76 6 77 6 78 6 79 6 80 6 81 6 82 6 83 6 84 6 85 6 86 6 87 6 88 6 89 6 90 6 91 6 92 6 93 6 94 6 95 6 96 6 97 6 98 6 99 6 100 6 101 6 102 6 103 6 104 6 105 6 106 6 107 6 108 6 109 6 110 6 111 6 112 6 113 6 114 6 115 6 116 6 117 6 118 6 119 6 120 6 121 6 122 6 123 6 124 6 125 6 126 6 127 6 128 6 129 6 130 6 131 6 132 6 133 6 134 6 135 6 136 6 137 6 138 6 139 6 140 6 141 6 142 6 143 6 144 6 145 6 146 6 147 6 148 6 149 6 150 6 151 6 152 6 153 6 154 6 155 6 156 6 157 6 158 6 159 6 160 6 161 6 162 6 163 6 164 6 165 6 166 6 167 6 168 6 169 6 170 6 171 6 172 6 173 6 174 6 175 6 176 6 177 6 178 6 179 6 180 6 181 6 182 6 183 6 184 6 185 6 186 6 187 6 188 6 189 6 190 6 191 6 192 6 193 6 194 6 195 6 196 6 197 6 198 6 199 6 200 6 201 6 202 6 203 6 204 6 205 6 206 6 207 6 208 6 209 6 210 6 211 6 212 6 213 6 214 6 215 6 216 6 217 6 218 6 219 6 220 6 221 6 222 6 223 6 224 6 225 6 226 6 227 6 228 6 229 6 230 6 231 6 232 6 233 6 234 6 235 6 236 6 237 6 238 6 239 6 240 6 241 6 242 6 243 6 244 6 245 6 246 6 247 6 248 6 249 6 250 6 251 6 252 6 253 6 254 6 255 6 256 6 257 6 258 6 259 6 260 6 261 6 262 6 263 6 264 6 265 6 266 6 267 6 268 6 269 6 270 6 271 6 272 6 273 6 274 6 275 6 276 6 277 6 278 6 279 6 280 6 281 6 282 6 283 6 284 6 285 6 286 6 287 6 288 6 289 6 290 6 291 6 292 6 293 6 294 6 295 6 296 6 297 6 298 6 299 6 300 6 301 6 302 6 303 6 304 6 305 6 306 6 307 6 308 6 309 6 310 6 311 6 312 6 313 6 314 6 315 6 316 6 317 6 318 6 319 6 320 6 321 6 322 6 323 6 324 6 325 6 326 6 327 6 328 6 329 6 330 6 331 6 332 6 333 6 334 6 335 6 336 6 337 6 338 6 339 6 340 6 341 6 342 6 343 6 344 6 345 6 346 6 347 6 348 6 349 6 350 6 351 6 352 6 353 6 354 6 355 6 356 6 357 6 358 6 359 6 360 6 361 6 362 6 363 6 364 6 365 6 366 6 367 6 368 6 369 6 370 6 371 6 372 6 373 6 374 6 375 6 376 6 377 6 378 6 379 6 380 6 381 6 382 6 383 6 384 6 385 6 386 6 387 6 388 6 389 6 390 6 391 6 392 6 393 6 394 6 395 6 396 6 397 6 398 6 399 6 400 6 401 6 402 6 403 6 404 6 405 6 406 6 407 6 408 6 409 6 410 6 411 6 412 6 413 6 414 6 415 6 416 6 417 6 418 6 419 6 420 6 421 6 422 6 423 6 424 6 425 6 426 6 427 6 428 6 429 6 430 6 431 6 432 6 433 6 434 6 435 6 436 6 437 6 438 6 439 6 440 6 441 6 442 6 443 6 444 6 445 6 446 6 447 6 448 6 449 6 450 6 451 6 452 6 453 6 454 6 455 6 456 6 457 6 458 6 459 6 460 6 461 6 462 6 463 6 464 6 465 6 466 6 467 6 468 6 469 6 470 6 471 6 472 6 473 6 474 6 475 6 476 6 477 6 478 6 479 6 480 6 481 6 482 6 483 6 484 6 485 6 486 6 487 6 488 6 489 6 490 6 491 6 492 6 493 6 494 6 495 6 496 6 497 6 498 6 499 6 500 6 501 6 502 6 503 6 504 6 505 6 506 6 507 6 508 6 509 6 510 6 511 6 512 6 513 6 514 6 515 6 516 6 517 6 518 6 519 6 520 6 521 6 522 6 523 6 524 6 525 6 526 6 527 6 528 6 529 6 530 6 531 6 532 6 533 6 534 6 535 6 536 6 537 6 538 6 539 6 540 6 541 6 542 6 543 6 544 6 545 6 546 6 547 6 548 6 549 6 550 6 551 6 552 6 553 6 554 6 555 6 556 6 557 6 558 6 559 6 560 6 561 6 562 6 563 6 564 6 565 6 566 6 567 6 568 6 569 6 570 6 571 6 572 6 573 6 574 6 575 6 576 6 577 6 578 6 579 6 580 6 581 6 582 6 583 6 584 6 585 6 586 6 587 6 588 6 589 6 590 6 591 6 592 6 593 6 594 6 595 6 596 6 597 6 598 6 599 6 600 6 601 6 602 6 603 6 604 6 605 6 606 6 607 6 608 6 609 6 610 6 611 6 612 6 613 6 614 6 615 6 616 6 617 6 618 6 619 6 620 6 621 6 622 6 623 6 624 6 625 6 626 6 627 6 628 6 629 6 630 6 631 6 632 6 633 6 634 6 635 6 636 6 637 6 638 6 639 6 640 6 641 6 642 6 643 6 644 6 645 6 646 6 647 6 648 6 649 6 650 6 651 6 652 6 653 6 654 6 655 6 656 6 657 6 658 6 659 6 660 6 661 6 662 6 663 6 664 6 665 6 666 6 667 6 668 6 669 6 670 6 671 6 672 6 673 6 674 6 675 6 676 6 677 6 678 6 679 6 680 6 681 6 682 6 683 6 684 6 685 6 686 6 687 6 688 6 689 6 690 6 691 6 692 6 693 6 694 6 695 6 696 6 697 6 698 6 699 6 700 6 701 6 702 6 703 6 704 6 705 6 706 6 707 6 708 6 709 6 710 6 711 6 712 6 713 6 714 6 715 6 716 6 717 6 718 6 719 6 720 6 721 6 722 6 723 6 724 6 725 6 726 6 727 6 728 6 729 6 730 6 731 6 732 6 733 6 734 6 735 6 736 6 737 6 738 6 739 6 740 6 741 6 742 6 743 6 744 6 745 6 746 6 747 6 748 6 749 6 750 6 751 6 752 6 753 6 754 6 755 6 756 6 757 6 758 6 759 6 760 6 761 6 762 6 763 6 764 6 765 6 766 6 767 6 768 6 769 6 770 6 771 6 772 6 773 6 774 6 775 6 776 6 777 6 778 6 779 6 780 6 781 6 782 6 783 6 784 6 785 6 786 6 787 6 788 6 789 6 790 6 791 6 792 6 793 6 794 6 795 6 796 6 797 6 798 6 799 6 800 6 801 6 802 6 803 6 804 6 805 6 806 6 807 6 808 6 809 6 810 6 811 6 812 6 813 6 814 6 815 6 816 6 817 6 818 6 819 6 820 6 821 6 822 6 823 6 824 6 825 6 826 6 827 6 828 6 829 6 830 6 831 6 832 6 833 6 834 6 835 6 836 6 837 6 838 6 839 6 840 6 841 6 842 6 843 6 844 6 845 6 846 6 847 6 848 6 849 6 850 6 851 6 852 6 853 6 854 6 855 6 856 6 857 6 858 6 859 6 860 6 861 6 862 6 863 6 864 6 865 6 866 6 867 6 868 6 869 6 870 6 871 6 872 6 873 6 874 6 875 6 876 6 877 6 878 6 879 6 880 6 881 6 882 6 883 6 884 6 885 6 886 6 887 6 888 6 889 6 890 6 891 6 892 6 893 6 894 6 895 6 896 6 897 6 898 6 899 6 900 6 901 6 902 6 903 6 904 6 905 6 906 6 907 6 908 6 909 6 910 6 911 6 912 6 913 6 914 6 915 6 916 6 917 6 918 6 919 6 920 6 921 6 922 6 923 6 924 6 925 6 926 6 927 6 928 6 929 6 930 6 931 6 932 6 933 6 934 6 935 6 936 6 937 6 938 6 939 6 940 6 941 6 942 6 943 6 944 6 945 6 946 6 947 6 948 6 949 6 950 6 951 6 952 6 953 6 954 6 955 6 956 6 957 6 958 6 959 6 960 6 961 6 962 6 963 6 964 6 965 6 966 6 967 6 968 6 969 6 970 6 971 6 972 6 973 6 974 6 975 6 976 6 977 6 978 6 979 6 980 6 981 6 982 6 983 6 984 6 985 6 986 6 987 6 988 6 989 6 990 6 991 6 992 6 993 6 994 6 995 6 996 6 997 6 998 6 999 7 0 7 1 7 2 7 3 7 4 7 5 7 6 7 7 7 8 7 9 7 10 7 11 7 12 7 13 7 14 7 15 7 16 7 17 7 18 7 19 7 20 7 21 7 22 7 23 7 24 7 25 7 26 7 27 7 28 7 29 7 30 7 31 7 32 7 33 7 34 7 35 7 36 7 37 7 38 7 39 7 40 7 41 7 42 7 43 7 44 7 45 7 46 7 47 7 48 7 49 7 50 7 51 7 52 7 53 7 54 7 55 7 56 7 57 7 58 7 59 7 60 7 61 7 62 7 63 7 64 7 65 7 66 7 67 7 68 7 69 7 70 7 71 7 72 7 73 7 74 7 75 7 76 7 77 7 78 7 79 7 80 7 81 7 82 7 83 7 84 7 85 7 86 7 87 7 88 7 89 7 90 7 91 7 92 7 93 7 94 7 95 7 96 7 97 7 98 7 99 7 100 7 101 7 102 7 103 7 104 7 105 7 106 7 107 7 108 7 109 7 110 7 111 7 112 7 113 7 114 7 115 7 116 7 117 7 118 7 119 7 120 7 121 7 122 7 123 7 124 7 125 7 126 7 127 7 128 7 129 7 130 7 131 7 132 7 133 7 134 7 135 7 136 7 137 7 138 7 139 7 140 7 141 7 142 7 143 7 144 7 145 7 146 7 147 7 148 7 149 7 150 7 151 7 152 7 153 7 154 7 155 7 156 7 157 7 158 7 159 7 160 7 161 7 162 7 163 7 164 7 165 7 166 7 167 7 168 7 169 7 170 7 171 7 172 7 173 7 174 7 175 7 176 7 177 7 178 7 179 7 180 7 181 7 182 7 183 7 184 7 185 7 186 7 187 7 188 7 189 7 190 7 191 7 192 7 193 7 194 7 195 7 196 7 197 7 198 7 199 7 200 7 201 7 202 7 203 7 204 7 205 7 206 7 207 7 208 7 209 7 210 7 211 7 212 7 213 7 214 7 215 7 216 7 217 7 218 7 219 7 220 7 221 7 222 7 223 7 224 7 225 7 226 7 227 7 228 7 229 7 230 7 231 7 232 7 233 7 234 7 235 7 236 7 237 7 238 7 239 7 240 7 241 7 242 7 243 7 244 7 245 7 246 7 247 7 248 7 249 7 250 7 251 7 252 7 253 7 254 7 255 7 256 7 257 7 258 7 259 7 260 7 261 7 262 7 263 7 264 7 265 7 266 7 267 7 268 7 269 7 270 7 271 7 272 7 273 7 274 7 275 7 276 7 277 7 278 7 279 7 280 7 281 7 282 7 283 7 284 7 285 7 286 7 287 7 288 7 289 7 290 7 291 7 292 7 293 7 294 7 295 7 296 7 297 7 298 7 299 7 300 7 301 7 302 7 303 7 304 7 305 7 306 7 307 7 308 7 309 7 310 7 311 7 312 7 313 7 314 7 315 7 316 7 317 7 318 7 319 7 320 7 321 7 322 7 323 7 324 7 325 7 326 7 327 7 328 7 329 7 330 7 331 7 332 7 333 7 334 7 335 7 336 7 337 7 338 7 339 7 340 7 341 7 342 7 343 7 344 7 345 7 346 7 347 7 348 7 349 7 350 7 351 7 352 7 353 7 354 7 355 7 356 7 357 7 358 7 359 7 360 7 361 7 362 7 363 7 364 7 365 7 366 7 367 7 368 7 369 7 370 7 371 7 372 7 373 7 374 7 375 7 376 7 377 7 378 7 379 7 380 7 381 7 382 7 383 7 384 7 385 7 386 7 387 7 388 7 389 7 390 7 391 7 392 7 393 7 394 7 395 7 396 7 397 7 398 7 399 7 400 7 401 7 402 7 403 7 404 7 405 7 406 7 407 7 408 7 409 7 410 7 411 7 412 7 413 7 414 7 415 7 416 7 417 7 418 7 419 7 420 7 421 7 422 7 423 7 424 7 425 7 426 7 427 7 428 7 429 7 430 7 431 7 432 7 433 7 434 7 435 7 436 7 437 7 438 7 439 7 440 7 441 7 442 7 443 7 444 7 445 7 446 7 447 7 448 7 449 7 450 7 451 7 452 7 453 7 454 7 455 7 456 7 457 7 458 7 459 7 460 7 461 7 462 7 463 7 464 7 465 7 466 7 467 7 468 7 469 7 470 7 471 7 472 7 473 7 474 7 475 7 476 7 477 7 478 7 479 7 480 7 481 7 482 7 483 7 484 7 485 7 486 7 487 7 488 7 489 7 490 7 491 7 492 7 493 7 494 7 495 7 496 7 497 7 498 7 499 7 500 7 501 7 502 7 503 7 504 7 505 7 506 7 507 7 508 7 509 7 510 7 511 7 512 7 513 7 514 7 515 7 516 7 517 7 518 7 519 7 520 7 521 7 522 7 523 7 524 7 525 7 526 7 527 7 528 7 529 7 530 7 531 7 532 7 533 7 534 7 535 7 536 7 537 7 538 7 539 7 540 7 541 7 542 7 543 7 544 7 545 7 546 7 547 7 548 7 549 7 550 7 551 7 552 7 553 7 554 7 555 7 556 7 557 7 558 7 559 7 560 7 561 7 562 7 563 7 564 7 565 7 566 7 567 7 568 7 569 7 570 7 571 7 572 7 573 7 574 7 575 7 576 7 577 7 578 7 579 7 580 7 581 7 582 7 583 7 584 7 585 7 586 7 587 7 588 7 589 7 590 7 591 7 592 7 593 7 594 7 595 7 596 7 597 7 598 7 599 7 600 7 601 7 602 7 603 7 604 7 605 7 606 7 607 7 608 7 609 7 610 7 611 7 612 7 613 7 614 7 615 7 616 7 617 7 618 7 619 7 620 7 621 7 622 7 623 7 624 7 625 7 626 7 627 7 628 7 629 7 630 7 631 7 632 7 633 7 634 7 635 7 636 7 637 7 638 7 639 7 640 7 641 7 642 7 643 7 644 7 645 7 646 7 647 7 648 7 649 7 650 7 651 7 652 7 653 7 654 7 655 7 656 7 657 7 658 7 659 7 660 7 661 7 662 7 663 7 664 7 665 7 666 7 667 7 668 7 669 7 670 7 671 7 672 7 673 7 674 7 675 7 676 7 677 7 678 7 679 7 680 7 681 7 682 7 683 7 684 7 685 7 686 7 687 7 688 7 689 7 690 7 691 7 692 7 693 7 694 7 695 7 696 7 697 7 698 7 699 7 700 7 701 7 702 7 703 7 704 7 705 7 706 7 707 7 708 7 709 7 710 7 711 7 712 7 713 7 714 7 715 7 716 7 717 7 718 7 719 7 720 7 721 7 722 7 723 7 724 7 725 7 726 7 727 7 728 7 729 7 730 7 731 7 732 7 733 7 734 7 735 7 736 7 737 7 738 7 739 7 740 7 741 7 742 7 743 7 744 7 745 7 746 7 747 7 748 7 749 7 750 7 751 7 752 7 753 7 754 7 755 7 756 7 757 7 758 7 759 7 760 7 761 7 762 7 763 7 764 7 765 7 766 7 767 7 768 7 769 7 770 7 771 7 772 7 773 7 774 7 775 7 776 7 777 7 778 7 779 7 780 7 781 7 782 7 783 7 784 7 785 7 786 7 787 7 788 7 789 7 790 7 791 7 792 7 793 7 794 7 795 7 796 7 797 7 798 7 799 7 800 7 801 7 802 7 803 7 804 7 805 7 806 7 807 7 808 7 809 7 810 7 811 7 812 7 813 7 814 7 815 7 816 7 817 7 818 7 819 7 820 7 821 7 822 7 823 7 824 7 825 7 826 7 827 7 828 7 829 7 830 7 831 7 832 7 833 7 834 7 835 7 836 7 837 7 838 7 839 7 840 7 841 7 842 7 843 7 844 7 845 7 846 7 847 7 848 7 849 7 850 7 851 7 852 7 853 7 854 7 855 7 856 7 857 7 858 7 859 7 860 7 861 7 862 7 863 7 864 7 865 7 866 7 867 7 868 7 869 7 870 7 871 7 872 7 873 7 874 7 875 7 876 7 877 7 878 7 879 7 880 7 881 7 882 7 883 7 884 7 885 7 886 7 887 7 888 7 889 7 890 7 891 7 892 7 893 7 894 7 895 7 896 7 897 7 898 7 899 7 900 7 901 7 902 7 903 7 904 7 905 7 906 7 907 7 908 7 909 7 910 7 911 7 912 7 913 7 914 7 915 7 916 7 917 7 918 7 919 7 920 7 921 7 922 7 923 7 924 7 925 7 926 7 927 7 928 7 929 7 930 7 931 7 932 7 933 7 934 7 935 7 936 7 937 7 938 7 939 7 940 7 941 7 942 7 943 7 944 7 945 7 946 7 947 7 948 7 949 7 950 7 951 7 952 7 953 7 954 7 955 7 956 7 957 7 958 7 959 7 960 7 961 7 962 7 963 7 964 7 965 7 966 7 967 7 968 7 969 7 970 7 971 7 972 7 973 7 974 7 975 7 976 7 977 7 978 7 979 7 980 7 981 7 982 7 983 7 984 7 985 7 986 7 987 7 988 7 989 7 990 7 991 7 992 7 993 7 994 7 995 7 996 7 997 7 998 7 999 8 0 8 1 8 2 8 3 8 4 8 5 8 6 8 7 8 8 8 9 8 10 8 11 8 12 8 13 8 14 8 15 8 16 8 17 8 18 8 19 8 20 8 21 8 22 8 23 8 24 8 25 8 26 8 27 8 28 8 29 8 30 8 31 8 32 8 33 8 34 8 35 8 36 8 37 8 38 8 39 8 40 8 41 8 42 8 43 8 44 8 45 8 46 8 47 8 48 8 49 8 50 8 51 8 52 8 53 8 54 8 55 8 56 8 57 8 58 8 59 8 60 8 61 8 62 8 63 8 64 8 65 8 66 8 67 8 68 8 69 8 70 8 71 8 72 8 73 8 74 8 75 8 76 8 77 8 78 8 79 8 80 8 81 8 82 8 83 8 84 8 85 8 86 8 87 8 88 8 89 8 90 8 91 8 92 8 93 8 94 8 95 8 96 8 97 8 98 8 99 8 100 8 101 8 102 8 103 8 104 8 105 8 106 8 107 8 108 8 109 8 110 8 111 8 112 8 113 8 114 8 115 8 116 8 117 8 118 8 119 8 120 8 121 8 122 8 123 8 124 8 125 8 126 8 127 8 128 8 129 8 130 8 131 8 132 8 133 8 134 8 135 8 136 8 137 8 138 8 139 8 140 8 141 8 142 8 143 8 144 8 145 8 146 8 147 8 148 8 149 8 150 8 151 8 152 8 153 8 154 8 155 8 156 8 157 8 158 8 159 8 160 8 161 8 162 8 163 8 164 8 165 8 166 8 167 8 168 8 169 8 170 8 171 8 172 8 173 8 174 8 175 8 176 8 177 8 178 8 179 8 180 8 181 8 182 8 183 8 184 8 185 8 186 8 187 8 188 8 189 8 190 8 191 8 192 8 193 8 194 8 195 8 196 8 197 8 198 8 199 8 200 8 201 8 202 8 203 8 204 8 205 8 206 8 207 8 208 8 209 8 210 8 211 8 212 8 213 8 214 8 215 8 216 8 217 8 218 8 219 8 220 8 221 8 222 8 223 8 224 8 225 8 226 8 227 8 228 8 229 8 230 8 231 8 232 8 233 8 234 8 235 8 236 8 237 8 238 8 239 8 240 8 241 8 242 8 243 8 244 8 245 8 246 8 247 8 248 8 249 8 250 8 251 8 252 8 253 8 254 8 255 8 256 8 257 8 258 8 259 8 260 8 261 8 262 8 263 8 264 8 265 8 266 8 267 8 268 8 269 8 270 8 271 8 272 8 273 8 274 8 275 8 276 8 277 8 278 8 279 8 280 8 281 8 282 8 283 8 284 8 285 8 286 8 287 8 288 8 289 8 290 8 291 8 292 8 293 8 294 8 295 8 296 8 297 8 298 8 299 8 300 8 301 8 302 8 303 8 304 8 305 8 306 8 307 8 308 8 309 8 310 8 311 8 312 8 313 8 314 8 315 8 316 8 317 8 318 8 319 8 320 8 321 8 322 8 323 8 324 8 325 8 326 8 327 8 328 8 329 8 330 8 331 8 332 8 333 8 334 8 335 8 336 8 337 8 338 8 339 8 340 8 341 8 342 8 343 8 344 8 345 8 346 8 347 8 348 8 349 8 350 8 351 8 352 8 353 8 354 8 355 8 356 8 357 8 358 8 359 8 360 8 361 8 362 8 363 8 364 8 365 8 366 8 367 8 368 8 369 8 370 8 371 8 372 8 373 8 374 8 375 8 376 8 377 8 378 8 379 8 380 8 381 8 382 8 383 8 384 8 385 8 386 8 387 8 388 8 389 8 390 8 391 8 392 8 393 8 394 8 395 8 396 8 397 8 398 8 399 8 400 8 401 8 402 8 403 8 404 8 405 8 406 8 407 8 408 8 409 8 410 8 411 8 412 8 413 8 414 8 415 8 416 8 417 8 418 8 419 8 420 8 421 8 422 8 423 8 424 8 425 8 426 8 427 8 428 8 429 8 430 8 431 8 432 8 433 8 434 8 435 8 436 8 437 8 438 8 439 8 440 8 441 8 442 8 443 8 444 8 445 8 446 8 447 8 448 8 449 8 450 8 451 8 452 8 453 8 454 8 455 8 456 8 457 8 458 8 459 8 460 8 461 8 462 8 463 8 464 8 465 8 466 8 467 8 468 8 469 8 470 8 471 8 472 8 473 8 474 8 475 8 476 8 477 8 478 8 479 8 480 8 481 8 482 8 483 8 484 8 485 8 486 8 487 8 488 8 489 8 490 8 491 8 492 8 493 8 494 8 495 8 496 8 497 8 498 8 499 8 500 8 501 8 502 8 503 8 504 8 505 8 506 8 507 8 508 8 509 8 510 8 511 8 512 8 513 8 514 8 515 8 516 8 517 8 518 8 519 8 520 8 521 8 522 8 523 8 524 8 525 8 526 8 527 8 528 8 529 8 530 8 531 8 532 8 533 8 534 8 535 8 536 8 537 8 538 8 539 8 540 8 541 8 542 8 543 8 544 8 545 8 546 8 547 8 548 8 549 8 550 8 551 8 552 8 553 8 554 8 555 8 556 8 557 8 558 8 559 8 560 8 561 8 562 8 563 8 564 8 565 8 566 8 567 8 568 8 569 8 570 8 571 8 572 8 573 8 574 8 575 8 576 8 577 8 578 8 579 8 580 8 581 8 582 8 583 8 584 8 585 8 586 8 587 8 588 8 589 8 590 8 591 8 592 8 593 8 594 8 595 8 596 8 597 8 598 8 599 8 600 8 601 8 602 8 603 8 604 8 605 8 606 8 607 8 608 8 609 8 610 8 611 8 612 8 613 8 614 8 615 8 616 8 617 8 618 8 619 8 620 8 621 8 622 8 623 8 624 8 625 8 626 8 627 8 628 8 629 8 630 8 631 8 632 8 633 8 634 8 635 8 636 8 637 8 638 8 639 8 640 8 641 8 642 8 643 8 644 8 645 8 646 8 647 8 648 8 649 8 650 8 651 8 652 8 653 8 654 8 655 8 656 8 657 8 658 8 659 8 660 8 661 8 662 8 663 8 664 8 665 8 666 8 667 8 668 8 669 8 670 8 671 8 672 8 673 8 674 8 675 8 676 8 677 8 678 8 679 8 680 8 681 8 682 8 683 8 684 8 685 8 686 8 687 8 688 8 689 8 690 8 691 8 692 8 693 8 694 8 695 8 696 8 697 8 698 8 699 8 700 8 701 8 702 8 703 8 704 8 705 8 706 8 707 8 708 8 709 8 710 8 711 8 712 8 713 8 714 8 715 8 716 8 717 8 718 8 719 8 720 8 721 8 722 8 723 8 724 8 725 8 726 8 727 8 728 8 729 8 730 8 731 8 732 8 733 8 734 8 735 8 736 8 737 8 738 8 739 8 740 8 741 8 742 8 743 8 744 8 745 8 746 8 747 8 748 8 749 8 750 8 751 8 752 8 753 8 754 8 755 8 756 8 757 8 758 8 759 8 760 8 761 8 762 8 763 8 764 8 765 8 766 8 767 8 768 8 769 8 770 8 771 8 772 8 773 8 774 8 775 8 776 8 777 8 778 8 779 8 780 8 781 8 782 8 783 8 784 8 785 8 786 8 787 8 788 8 789 8 790 8 791 8 792 8 793 8 794 8 795 8 796 8 797 8 798 8 799 8 800 8 801 8 802 8 803 8 804 8 805 8 806 8 807 8 808 8 809 8 810 8 811 8 812 8 813 8 814 8 815 8 816 8 817 8 818 8 819 8 820 8 821 8 822 8 823 8 824 8 825 8 826 8 827 8 828 8 829 8 830 8 831 8 832 8 833 8 834 8 835 8 836 8 837 8 838 8 839 8 840 8 841 8 842 8 843 8 844 8 845 8 846 8 847 8 848 8 849 8 850 8 851 8 852 8 853 8 854 8 855 8 856 8 857 8 858 8 859 8 860 8 861 8 862 8 863 8 864 8 865 8 866 8 867 8 868 8 869 8 870 8 871 8 872 8 873 8 874 8 875 8 876 8 877 8 878 8 879 8 880 8 881 8 882 8 883 8 884 8 885 8 886 8 887 8 888 8 889 8 890 8 891 8 892 8 893 8 894 8 895 8 896 8 897 8 898 8 899 8 900 8 901 8 902 8 903 8 904 8 905 8 906 8 907 8 908 8 909 8 910 8 911 8 912 8 913 8 914 8 915 8 916 8 917 8 918 8 919 8 920 8 921 8 922 8 923 8 924 8 925 8 926 8 927 8 928 8 929 8 930 8 931 8 932 8 933 8 934 8 935 8 936 8 937 8 938 8 939 8 940 8 941 8 942 8 943 8 944 8 945 8 946 8 947 8 948 8 949 8 950 8 951 8 952 8 953 8 954 8 955 8 956 8 957 8 958 8 959 8 960 8 961 8 962 8 963 8 964 8 965 8 966 8 967 8 968 8 969 8 970 8 971 8 972 8 973 8 974 8 975 8 976 8 977 8 978 8 979 8 980 8 981 8 982 8 983 8 984 8 985 8 986 8 987 8 988 8 989 8 990 8 991 8 992 8 993 8 994 8 995 8 996 8 997 8 998 8 999 9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 7 9 8 9 9 9 10 9 11 9 12 9 13 9 14 9 15 9 16 9 17 9 18 9 19 9 20 9 21 9 22 9 23 9 24 9 25 9 26 9 27 9 28 9 29 9 30 9 31 9 32 9 33 9 34 9 35 9 36 9 37 9 38 9 39 9 40 9 41 9 42 9 43 9 44 9 45 9 46 9 47 9 48 9 49 9 50 9 51 9 52 9 53 9 54 9 55 9 56 9 57 9 58 9 59 9 60 9 61 9 62 9 63 9 64 9 65 9 66 9 67 9 68 9 69 9 70 9 71 9 72 9 73 9 74 9 75 9 76 9 77 9 78 9 79 9 80 9 81 9 82 9 83 9 84 9 85 9 86 9 87 9 88 9 89 9 90 9 91 9 92 9 93 9 94 9 95 9 96 9 97 9 98 9 99 9 100 9 101 9 102 9 103 9 104 9 105 9 106 9 107 9 108 9 109 9 110 9 111 9 112 9 113 9 114 9 115 9 116 9 117 9 118 9 119 9 120 9 121 9 122 9 123 9 124 9 125 9 126 9 127 9 128 9 129 9 130 9 131 9 132 9 133 9 134 9 135 9 136 9 137 9 138 9 139 9 140 9 141 9 142 9 143 9 144 9 145 9 146 9 147 9 148 9 149 9 150 9 151 9 152 9 153 9 154 9 155 9 156 9 157 9 158 9 159 9 160 9 161 9 162 9 163 9 164 9 165 9 166 9 167 9 168 9 169 9 170 9 171 9 172 9 173 9 174 9 175 9 176 9 177 9 178 9 179 9 180 9 181 9 182 9 183 9 184 9 185 9 186 9 187 9 188 9 189 9 190 9 191 9 192 9 193 9 194 9 195 9 196 9 197 9 198 9 199 9 200 9 201 9 202 9 203 9 204 9 205 9 206 9 207 9 208 9 209 9 210 9 211 9 212 9 213 9 214 9 215 9 216 9 217 9 218 9 219 9 220 9 221 9 222 9 223 9 224 9 225 9 226 9 227 9 228 9 229 9 230 9 231 9 232 9 233 9 234 9 235 9 236 9 237 9 238 9 239 9 240 9 241 9 242 9 243 9 244 9 245 9 246 9 247 9 248 9 249 9 250 9 251 9 252 9 253 9 254 9 255 9 256 9 257 9 258 9 259 9 260 9 261 9 262 9 263 9 264 9 265 9 266 9 267 9 268 9 269 9 270 9 271 9 272 9 273 9 274 9 275 9 276 9 277 9 278 9 279 9 280 9 281 9 282 9 283 9 284 9 285 9 286 9 287 9 288 9 289 9 290 9 291 9 292 9 293 9 294 9 295 9 296 9 297 9 298 9 299 9 300 9 301 9 302 9 303 9 304 9 305 9 306 9 307 9 308 9 309 9 310 9 311 9 312 9 313 9 314 9 315 9 316 9 317 9 318 9 319 9 320 9 321 9 322 9 323 9 324 9 325 9 326 9 327 9 328 9 329 9 330 9 331 9 332 9 333 9 334 9 335 9 336 9 337 9 338 9 339 9 340 9 341 9 342 9 343 9 344 9 345 9 346 9 347 9 348 9 349 9 350 9 351 9 352 9 353 9 354 9 355 9 356 9 357 9 358 9 359 9 360 9 361 9 362 9 363 9 364 9 365 9 366 9 367 9 368 9 369 9 370 9 371 9 372 9 373 9 374 9 375 9 376 9 377 9 378 9 379 9 380 9 381 9 382 9 383 9 384 9 385 9 386 9 387 9 388 9 389 9 390 9 391 9 392 9 393 9 394 9 395 9 396 9 397 9 398 9 399 9 400 9 401 9 402 9 403 9 404 9 405 9 406 9 407 9 408 9 409 9 410 9 411 9 412 9 413 9 414 9 415 9 416 9 417 9 418 9 419 9 420 9 421 9 422 9 423 9 424 9 425 9 426 9 427 9 428 9 429 9 430 9 431 9 432 9 433 9 434 9 435 9 436 9 437 9 438 9 439 9 440 9 441 9 442 9 443 9 444 9 445 9 446 9 447 9 448 9 449 9 450 9 451 9 452 9 453 9 454 9 455 9 456 9 457 9 458 9 459 9 460 9 461 9 462 9 463 9 464 9 465 9 466 9 467 9 468 9 469 9 470 9 471 9 472 9 473 9 474 9 475 9 476 9 477 9 478 9 479 9 480 9 481 9 482 9 483 9 484 9 485 9 486 9 487 9 488 9 489 9 490 9 491 9 492 9 493 9 494 9 495 9 496 9 497 9 498 9 499 9 500 9 501 9 502 9 503 9 504 9 505 9 506 9 507 9 508 9 509 9 510 9 511 9 512 9 513 9 514 9 515 9 516 9 517 9 518 9 519 9 520 9 521 9 522 9 523 9 524 9 525 9 526 9 527 9 528 9 529 9 530 9 531 9 532 9 533 9 534 9 535 9 536 9 537 9 538 9 539 9 540 9 541 9 542 9 543 9 544 9 545 9 546 9 547 9 548 9 549 9 550 9 551 9 552 9 553 9 554 9 555 9 556 9 557 9 558 9 559 9 560 9 561 9 562 9 563 9 564 9 565 9 566 9 567 9 568 9 569 9 570 9 571 9 572 9 573 9 574 9 575 9 576 9 577 9 578 9 579 9 580 9 581 9 582 9 583 9 584 9 585 9 586 9 587 9 588 9 589 9 590 9 591 9 592 9 593 9 594 9 595 9 596 9 597 9 598 9 599 9 600 9 601 9 602 9 603 9 604 9 605 9 606 9 607 9 608 9 609 9 610 9 611 9 612 9 613 9 614 9 615 9 616 9 617 9 618 9 619 9 620 9 621 9 622 9 623 9 624 9 625 9 626 9 627 9 628 9 629 9 630 9 631 9 632 9 633 9 634 9 635 9 636 9 637 9 638 9 639 9 640 9 641 9 642 9 643 9 644 9 645 9 646 9 647 9 648 9 649 9 650 9 651 9 652 9 653 9 654 9 655 9 656 9 657 9 658 9 659 9 660 9 661 9 662 9 663 9 664 9 665 9 666 9 667 9 668 9 669 9 670 9 671 9 672 9 673 9 674 9 675 9 676 9 677 9 678 9 679 9 680 9 681 9 682 9 683 9 684 9 685 9 686 9 687 9 688 9 689 9 690 9 691 9 692 9 693 9 694 9 695 9 696 9 697 9 698 9 699 9 700 9 701 9 702 9 703 9 704 9 705 9 706 9 707 9 708 9 709 9 710 9 711 9 712 9 713 9 714 9 715 9 716 9 717 9 718 9 719 9 720 9 721 9 722 9 723 9 724 9 725 9 726 9 727 9 728 9 729 9 730 9 731 9 732 9 733 9 734 9 735 9 736 9 737 9 738 9 739 9 740 9 741 9 742 9 743 9 744 9 745 9 746 9 747 9 748 9 749 9 750 9 751 9 752 9 753 9 754 9 755 9 756 9 757 9 758 9 759 9 760 9 761 9 762 9 763 9 764 9 765 9 766 9 767 9 768 9 769 9 770 9 771 9 772 9 773 9 774 9 775 9 776 9 777 9 778 9 779 9 780 9 781 9 782 9 783 9 784 9 785 9 786 9 787 9 788 9 789 9 790 9 791 9 792 9 793 9 794 9 795 9 796 9 797 9 798 9 799 9 800 9 801 9 802 9 803 9 804 9 805 9 806 9 807 9 808 9 809 9 810 9 811 9 812 9 813 9 814 9 815 9 816 9 817 9 818 9 819 9 820 9 821 9 822 9 823 9 824 9 825 9 826 9 827 9 828 9 829 9 830 9 831 9 832 9 833 9 834 9 835 9 836 9 837 9 838 9 839 9 840 9 841 9 842 9 843 9 844 9 845 9 846 9 847 9 848 9 849 9 850 9 851 9 852 9 853 9 854 9 855 9 856 9 857 9 858 9 859 9 860 9 861 9 862 9 863 9 864 9 865 9 866 9 867 9 868 9 869 9 870 9 871 9 872 9 873 9 874 9 875 9 876 9 877 9 878 9 879 9 880 9 881 9 882 9 883 9 884 9 885 9 886 9 887 9 888 9 889 9 890 9 891 9 892 9 893 9 894 9 895 9 896 9 897 9 898 9 899 9 900 9 901 9 902 9 903 9 904 9 905 9 906 9 907 9 908 9 909 9 910 9 911 9 912 9 913 9 914 9 915 9 916 9 917 9 918 9 919 9 920 9 921 9 922 9 923 9 924 9 925 9 926 9 927 9 928 9 929 9 930 9 931 9 932 9 933 9 934 9 935 9 936 9 937 9 938 9 939 9 940 9 941 9 942 9 943 9 944 9 945 9 946 9 947 9 948 9 949 9 950 9 951 9 952 9 953 9 954 9 955 9 956 9 957 9 958 9 959 9 960 9 961 9 962 9 963 9 964 9 965 9 966 9 967 9 968 9 969 9 970 9 971 9 972 9 973 9 974 9 975 9 976 9 977 9 978 9 979 9 980 9 981 9 982 9 983 9 984 9 985 9 986 9 987 9 988 9 989 9 990 9 991 9 992 9 993 9 994 9 995 9 996 9 997 9 998 9 999 10 0 10 1 10 2 10 3 10 4 10 5 10 6 10 7 10 8 10 9 10 10 10 11 10 12 10 13 10 14 10 15 10 16 10 17 10 18 10 19 10 20 10 21 10 22 10 23 10 24 10 25 10 26 10 27 10 28 10 29 10 30 10 31 10 32 10 33 10 34 10 35 10 36 10 37 10 38 10 39 10 40 10 41 10 42 10 43 10 44 10 45 10 46 10 47 10 48 10 49 10 50 10 51 10 52 10 53 10 54 10 55 10 56 10 57 10 58 10 59 10 60 10 61 10 62 10 63 10 64 10 65 10 66 10 67 10 68 10 69 10 70 10 71 10 72 10 73 10 74 10 75 10 76 10 77 10 78 10 79 10 80 10 81 10 82 10 83 10 84 10 85 10 86 10 87 10 88 10 89 10 90 10 91 10 92 10 93 10 94 10 95 10 96 10 97 10 98 10 99 10 100 10 101 10 102 10 103 10 104 10 105 10 106 10 107 10 108 10 109 10 110 10 111 10 112 10 113 10 114 10 115 10 116 10 117 10 118 10 119 10 120 10 121 10 122 10 123 10 124 10 125 10 126 10 127 10 128 10 129 10 130 10 131 10 132 10 133 10 134 10 135 10 136 10 137 10 138 10 139 10 140 10 141 10 142 10 143 10 144 10 145 10 146 10 147 10 148 10 149 10 150 10 151 10 152 10 153 10 154 10 155 10 156 10 157 10 158 10 159 10 160 10 161 10 162 10 163 10 164 10 165 10 166 10 167 10 168 10 169 10 170 10 171 10 172 10 173 10 174 10 175 10 176 10 177 10 178 10 179 10 180 10 181 10 182 10 183 10 184 10 185 10 186 10 187 10 188 10 189 10 190 10 191 10 192 10 193 10 194 10 195 10 196 10 197 10 198 10 199 10 200 10 201 10 202 10 203 10 204 10 205 10 206 10 207 10 208 10 209 10 210 10 211 10 212 10 213 10 214 10 215 10 216 10 217 10 218 10 219 10 220 10 221 10 222 10 223 10 224 10 225 10 226 10 227 10 228 10 229 10 230 10 231 10 232 10 233 10 234 10 235 10 236 10 237 10 238 10 239 10 240 10 241 10 242 10 243 10 244 10 245 10 246 10 247 10 248 10 249 10 250 10 251 10 252 10 253 10 254 10 255 10 256 10 257 10 258 10 259 10 260 10 261 10 262 10 263 10 264 10 265 10 266 10 267 10 268 10 269 10 270 10 271 10 272 10 273 10 274 10 275 10 276 10 277 10 278 10 279 10 280 10 281 10 282 10 283 10 284 10 285 10 286 10 287 10 288 10 289 10 290 10 291 10 292 10 293 10 294 10 295 10 296 10 297 10 298 10 299 10 300 10 301 10 302 10 303 10 304 10 305 10 306 10 307 10 308 10 309 10 310 10 311 10 312 10 313 10 314 10 315 10 316 10 317 10 318 10 319 10 320 10 321 10 322 10 323 10 324 10 325 10 326 10 327 10 328 10 329 10 330 10 331 10 332 10 333 10 334 10 335 10 336 10 337 10 338 10 339 10 340 10 341 10 342 10 343 10 344 10 345 10 346 10 347 10 348 10 349 10 350 10 351 10 352 10 353 10 354 10 355 10 356 10 357 10 358 10 359 10 360 10 361 10 362 10 363 10 364 10 365 10 366 10 367 10 368 10 369 10 370 10 371 10 372 10 373 10 374 10 375 10 376 10 377 10 378 10 379 10 380 10 381 10 382 10 383 10 384 10 385 10 386 10 387 10 388 10 389 10 390 10 391 10 392 10 393 10 394 10 395 10 396 10 397 10 398 10 399 10 400 10 401 10 402 10 403 10 404 10 405 10 406 10 407 10 408 10 409 10 410 10 411 10 412 10 413 10 414 10 415 10 416 10 417 10 418 10 419 10 420 10 421 10 422 10 423 10 424 10 425 10 426 10 427 10 428 10 429 10 430 10 431 10 432 10 433 10 434 10 435 10 436 10 437 10 438 10 439 10 440 10 441 10 442 10 443 10 444 10 445 10 446 10 447 10 448 10 449 10 450 10 451 10 452 10 453 10 454 10 455 10 456 10 457 10 458 10 459 10 460 10 461 10 462 10 463 10 464 10 465 10 466 10 467 10 468 10 469 10 470 10 471 10 472 10 473 10 474 10 475 10 476 10 477 10 478 10 479 10 480 10 481 10 482 10 483 10 484 10 485 10 486 10 487 10 488 10 489 10 490 10 491 10 492 10 493 10 494 10 495 10 496 10 497 10 498 10 499 10 500 10 501 10 502 10 503 10 504 10 505 10 506 10 507 10 508 10 509 10 510 10 511 10 512 10 513 10 514 10 515 10 516 10 517 10 518 10 519 10 520 10 521 10 522 10 523 10 524 10 525 10 526 10 527 10 528 10 529 10 530 10 531 10 532 10 533 10 534 10 535 10 536 10 537 10 538 10 539 10 540 10 541 10 542 10 543 10 544 10 545 10 546 10 547 10 548 10 549 10 550 10 551 10 552 10 553 10 554 10 555 10 556 10 557 10 558 10 559 10 560 10 561 10 562 10 563 10 564 10 565 10 566 10 567 10 568 10 569 10 570 10 571 10 572 10 573 10 574 10 575 10 576 10 577 10 578 10 579 10 580 10 581 10 582 10 583 10 584 10 585 10 586 10 587 10 588 10 589 10 590 10 591 10 592 10 593 10 594 10 595 10 596 10 597 10 598 10 599 10 600 10 601 10 602 10 603 10 604 10 605 10 606 10 607 10 608 10 609 10 610 10 611 10 612 10 613 10 614 10 615 10 616 10 617 10 618 10 619 10 620 10 621 10 622 10 623 10 624 10 625 10 626 10 627 10 628 10 629 10 630 10 631 10 632 10 633 10 634 10 635 10 636 10 637 10 638 10 639 10 640 10 641 10 642 10 643 10 644 10 645 10 646 10 647 10 648 10 649 10 650 10 651 10 652 10 653 10 654 10 655 10 656 10 657 10 658 10 659 10 660 10 661 10 662 10 663 10 664 10 665 10 666 10 667 10 668 10 669 10 670 10 671 10 672 10 673 10 674 10 675 10 676 10 677 10 678 10 679 10 680 10 681 10 682 10 683 10 684 10 685 10 686 10 687 10 688 10 689 10 690 10 691 10 692 10 693 10 694 10 695 10 696 10 697 10 698 10 699 10 700 10 701 10 702 10 703 10 704 10 705 10 706 10 707 10 708 10 709 10 710 10 711 10 712 10 713 10 714 10 715 10 716 10 717 10 718 10 719 10 720 10 721 10 722 10 723 10 724 10 725 10 726 10 727 10 728 10 729 10 730 10 731 10 732 10 733 10 734 10 735 10 736 10 737 10 738 10 739 10 740 10 741 10 742 10 743 10 744 10 745 10 746 10 747 10 748 10 749 10 750 10 751 10 752 10 753 10 754 10 755 10 756 10 757 10 758 10 759 10 760 10 761 10 762 10 763 10 764 10 765 10 766 10 767 10 768 10 769 10 770 10 771 10 772 10 773 10 774 10 775 10 776 10 777 10 778 10 779 10 780 10 781 10 782 10 783 10 784 10 785 10 786 10 787 10 788 10 789 10 790 10 791 10 792 10 793 10 794 10 795 10 796 10 797 10 798 10 799 10 800 10 801 10 802 10 803 10 804 10 805 10 806 10 807 10 808 10 809 10 810 10 811 10 812 10 813 10 814 10 815 10 816 10 817 10 818 10 819 10 820 10 821 10 822 10 823 10 824 10 825 10 826 10 827 10 828 10 829 10 830 10 831 10 832 10 833 10 834 10 835 10 836 10 837 10 838 10 839 10 840 10 841 10 842 10 843 10 844 10 845 10 846 10 847 10 848 10 849 10 850 10 851 10 852 10 853 10 854 10 855 10 856 10 857 10 858 10 859 10 860 10 861 10 862 10 863 10 864 10 865 10 866 10 867 10 868 10 869 10 870 10 871 10 872 10 873 10 874 10 875 10 876 10 877 10 878 10 879 10 880 10 881 10 882 10 883 10 884 10 885 10 886 10 887 10 888 10 889 10 890 10 891 10 892 10 893 10 894 10 895 10 896 10 897 10 898 10 899 10 900 10 901 10 902 10 903 10 904 10 905 10 906 10 907 10 908 10 909 10 910 10 911 10 912 10 913 10 914 10 915 10 916 10 917 10 918 10 919 10 920 10 921 10 922 10 923 10 924 10 925 10 926 10 927 10 928 10 929 10 930 10 931 10 932 10 933 10 934 10 935 10 936 10 937 10 938 10 939 10 940 10 941 10 942 10 943 10 944 10 945 10 946 10 947 10 948 10 949 10 950 10 951 10 952 10 953 10 954 10 955 10 956 10 957 10 958 10 959 10 960 10 961 10 962 10 963 10 964 10 965 10 966 10 967 10 968 10 969 10 970 10 971 10 972 10 973 10 974 10 975 10 976 10 977 10 978 10 979 10 980 10 981 10 982 10 983 10 984 10 985 10 986 10 987 10 988 10 989 10 990 10 991 10 992 10 993 10 994 10 995 10 996 10 997 10 998 10 999 11 0 11 1 11 2 11 3 11 4 11 5 11 6 11 7 11 8 11 9 11 10 11 11 11 12 11 13 11 14 11 15 11 16 11 17 11 18 11 19 11 20 11 21 11 22 11 23 11 24 11 25 11 26 11 27 11 28 11 29 11 30 11 31 11 32 11 33 11 34 11 35 11 36 11 37 11 38 11 39 11 40 11 41 11 42 11 43 11 44 11 45 11 46 11 47 11 48 11 49 11 50 11 51 11 52 11 53 11 54 11 55 11 56 11 57 11 58 11 59 11 60 11 61 11 62 11 63 11 64 11 65 11 66 11 67 11 68 11 69 11 70 11 71 11 72 11 73 11 74 11 75 11 76 11 77 11 78 11 79 11 80 11 81 11 82 11 83 11 84 11 85 11 86 11 87 11 88 11 89 11 90 11 91 11 92 11 93 11 94 11 95 11 96 11 97 11 98 11 99 11 100 11 101 11 102 11 103 11 104 11 105 11 106 11 107 11 108 11 109 11 110 11 111 11 112 11 113 11 114 11 115 11 116 11 117 11 118 11 119 11 120 11 121 11 122 11 123 11 124 11 125 11 126 11 127 11 128 11 129 11 130 11 131 11 132 11 133 11 134 11 135 11 136 11 137 11 138 11 139 11 140 11 141 11 142 11 143 11 144 11 145 11 146 11 147 11 148 11 149 11 150 11 151 11 152 11 153 11 154 11 155 11 156 11 157 11 158 11 159 11 160 11 161 11 162 11 163 11 164 11 165 11 166 11 167 11 168 11 169 11 170 11 171 11 172 11 173 11 174 11 175 11 176 11 177 11 178 11 179 11 180 11 181 11 182 11 183 11 184 11 185 11 186 11 187 11 188 11 189 11 190 11 191 11 192 11 193 11 194 11 195 11 196 11 197 11 198 11 199 11 200 11 201 11 202 11 203 11 204 11 205 11 206 11 207 11 208 11 209 11 210 11 211 11 212 11 213 11 214 11 215 11 216 11 217 11 218 11 219 11 220 11 221 11 222 11 223 11 224 11 225 11 226 11 227 11 228 11 229 11 230 11 231 11 232 11 233 11 234 11 235 11 236 11 237 11 238 11 239 11 240 11 241 11 242 11 243 11 244 11 245 11 246 11 247 11 248 11 249 11 250 11 251 11 252 11 253 11 254 11 255 11 256 11 257 11 258 11 259 11 260 11 261 11 262 11 263 11 264 11 265 11 266 11 267 11 268 11 269 11 270 11 271 11 272 11 273 11 274 11 275 11 276 11 277 11 278 11 279 11 280 11 281 11 282 11 283 11 284 11 285 11 286 11 287 11 288 11 289 11 290 11 291 11 292 11 293 11 294 11 295 11 296 11 297 11 298 11 299 11 300 11 301 11 302 11 303 11 304 11 305 11 306 11 307 11 308 11 309 11 310 11 311 11 312 11 313 11 314 11 315 11 316 11 317 11 318 11 319 11 320 11 321 11 322 11 323 11 324 11 325 11 326 11 327 11 328 11 329 11 330 11 331 11 332 11 333 11 334 11 335 11 336 11 337 11 338 11 339 11 340 11 341 11 342 11 343 11 344 11 345 11 346 11 347 11 348 11 349 11 350 11 351 11 352 11 353 11 354 11 355 11 356 11 357 11 358 11 359 11 360 11 361 11 362 11 363 11 364 11 365 11 366 11 367 11 368 11 369 11 370 11 371 11 372 11 373 11 374 11 375 11 376 11 377 11 378 11 379 11 380 11 381 11 382 11 383 11 384 11 385 11 386 11 387 11 388 11 389 11 390 11 391 11 392 11 393 11 394 11 395 11 396 11 397 11 398 11 399 11 400 11 401 11 402 11 403 11 404 11 405 11 406 11 407 11 408 11 409 11 410 11 411 11 412 11 413 11 414 11 415 11 416 11 417 11 418 11 419 11 420 11 421 11 422 11 423 11 424 11 425 11 426 11 427 11 428 11 429 11 430 11 431 11 432 11 433 11 434 11 435 11 436 11 437 11 438 11 439 11 440 11 441 11 442 11 443 11 444 11 445 11 446 11 447 11 448 11 449 11 450 11 451 11 452 11 453 11 454 11 455 11 456 11 457 11 458 11 459 11 460 11 461 11 462 11 463 11 464 11 465 11 466 11 467 11 468 11 469 11 470 11 471 11 472 11 473 11 474 11 475 11 476 11 477 11 478 11 479 11 480 11 481 11 482 11 483 11 484 11 485 11 486 11 487 11 488 11 489 11 490 11 491 11 492 11 493 11 494 11 495 11 496 11 497 11 498 11 499 11 500 11 501 11 502 11 503 11 504 11 505 11 506 11 507 11 508 11 509 11 510 11 511 11 512 11 513 11 514 11 515 11 516 11 517 11 518 11 519 11 520 11 521 11 522 11 523 11 524 11 525 11 526 11 527 11 528 11 529 11 530 11 531 11 532 11 533 11 534 11 535 11 536 11 537 11 538 11 539 11 540 11 541 11 542 11 543 11 544 11 545 11 546 11 547 11 548 11 549 11 550 11 551 11 552 11 553 11 554 11 555 11 556 11 557 11 558 11 559 11 560 11 561 11 562 11 563 11 564 11 565 11 566 11 567 11 568 11 569 11 570 11 571 11 572 11 573 11 574 11 575 11 576 11 577 11 578 11 579 11 580 11 581 11 582 11 583 11 584 11 585 11 586 11 587 11 588 11 589 11 590 11 591 11 592 11 593 11 594 11 595 11 596 11 597 11 598 11 599 11 600 11 601 11 602 11 603 11 604 11 605 11 606 11 607 11 608 11 609 11 610 11 611 11 612 11 613 11 614 11 615 11 616 11 617 11 618 11 619 11 620 11 621 11 622 11 623 11 624 11 625 11 626 11 627 11 628 11 629 11 630 11 631 11 632 11 633 11 634 11 635 11 636 11 637 11 638 11 639 11 640 11 641 11 642 11 643 11 644 11 645 11 646 11 647 11 648 11 649 11 650 11 651 11 652 11 653 11 654 11 655 11 656 11 657 11 658 11 659 11 660 11 661 11 662 11 663 11 664 11 665 11 666 11 667 11 668 11 669 11 670 11 671 11 672 11 673 11 674 11 675 11 676 11 677 11 678 11 679 11 680 11 681 11 682 11 683 11 684 11 685 11 686 11 687 11 688 11 689 11 690 11 691 11 692 11 693 11 694 11 695 11 696 11 697 11 698 11 699 11 700 11 701 11 702 11 703 11 704 11 705 11 706 11 707 11 708 11 709 11 710 11 711 11 712 11 713 11 714 11 715 11 716 11 717 11 718 11 719 11 720 11 721 11 722 11 723 11 724 11 725 11 726 11 727 11 728 11 729 11 730 11 731 11 732 11 733 11 734 11 735 11 736 11 737 11 738 11 739 11 740 11 741 11 742 11 743 11 744 11 745 11 746 11 747 11 748 11 749 11 750 11 751 11 752 11 753 11 754 11 755 11 756 11 757 11 758 11 759 11 760 11 761 11 762 11 763 11 764 11 765 11 766 11 767 11 768 11 769 11 770 11 771 11 772 11 773 11 774 11 775 11 776 11 777 11 778 11 779 11 780 11 781 11 782 11 783 11 784 11 785 11 786 11 787 11 788 11 789 11 790 11 791 11 792 11 793 11 794 11 795 11 796 11 797 11 798 11 799 11 800 11 801 11 802 11 803 11 804 11 805 11 806 11 807 11 808 11 809 11 810 11 811 11 812 11 813 11 814 11 815 11 816 11 817 11 818 11 819 11 820 11 821 11 822 11 823 11 824 11 825 11 826 11 827 11 828 11 829 11 830 11 831 11 832 11 833 11 834 11 835 11 836 11 837 11 838 11 839 11 840 11 841 11 842 11 843 11 844 11 845 11 846 11 847 11 848 11 849 11 850 11 851 11 852 11 853 11 854 11 855 11 856 11 857 11 858 11 859 11 860 11 861 11 862 11 863 11 864 11 865 11 866 11 867 11 868 11 869 11 870 11 871 11 872 11 873 11 874 11 875 11 876 11 877 11 878 11 879 11 880 11 881 11 882 11 883 11 884 11 885 11 886 11 887 11 888 11 889 11 890 11 891 11 892 11 893 11 894 11 895 11 896 11 897 11 898 11 899 11 900 11 901 11 902 11 903 11 904 11 905 11 906 11 907 11 908 11 909 11 910 11 911 11 912 11 913 11 914 11 915 11 916 11 917 11 918 11 919 11 920 11 921 11 922 11 923 11 924 11 925 11 926 11 927 11 928 11 929 11 930 11 931 11 932 11 933 11 934 11 935 11 936 11 937 11 938 11 939 11 940 11 941 11 942 11 943 11 944 11 945 11 946 11 947 11 948 11 949 11 950 11 951 11 952 11 953 11 954 11 955 11 956 11 957 11 958 11 959 11 960 11 961 11 962 11 963 11 964 11 965 11 966 11 967 11 968 11 969 11 970 11 971 11 972 11 973 11 974 11 975 11 976 11 977 11 978 11 979 11 980 11 981 11 982 11 983 11 984 11 985 11 986 11 987 11 988 11 989 11 990 11 991 11 992 11 993 11 994 11 995 11 996 11 997 11 998 11 999 12 0 12 1 12 2 12 3 12 4 12 5 12 6 12 7 12 8 12 9 12 10 12 11 12 12 12 13 12 14 12 15 12 16 12 17 12 18 12 19 12 20 12 21 12 22 12 23 12 24 12 25 12 26 12 27 12 28 12 29 12 30 12 31 12 32 12 33 12 34 12 35 12 36 12 37 12 38 12 39 12 40 12 41 12 42 12 43 12 44 12 45 12 46 12 47 12 48 12 49 12 50 12 51 12 52 12 53 12 54 12 55 12 56 12 57 12 58 12 59 12 60 12 61 12 62 12 63 12 64 12 65 12 66 12 67 12 68 12 69 12 70 12 71 12 72 12 73 12 74 12 75 12 76 12 77 12 78 12 79 12 80 12 81 12 82 12 83 12 84 12 85 12 86 12 87 12 88 12 89 12 90 12 91 12 92 12 93 12 94 12 95 12 96 12 97 12 98 12 99 12 100 12 101 12 102 12 103 12 104 12 105 12 106 12 107 12 108 12 109 12 110 12 111 12 112 12 113 12 114 12 115 12 116 12 117 12 118 12 119 12 120 12 121 12 122 12 123 12 124 12 125 12 126 12 127 12 128 12 129 12 130 12 131 12 132 12 133 12 134 12 135 12 136 12 137 12 138 12 139 12 140 12 141 12 142 12 143 12 144 12 145 12 146 12 147 12 148 12 149 12 150 12 151 12 152 12 153 12 154 12 155 12 156 12 157 12 158 12 159 12 160 12 161 12 162 12 163 12 164 12 165 12 166 12 167 12 168 12 169 12 170 12 171 12 172 12 173 12 174 12 175 12 176 12 177 12 178 12 179 12 180 12 181 12 182 12 183 12 184 12 185 12 186 12 187 12 188 12 189 12 190 12 191 12 192 12 193 12 194 12 195 12 196 12 197 12 198 12 199 12 200 12 201 12 202 12 203 12 204 12 205 12 206 12 207 12 208 12 209 12 210 12 211 12 212 12 213 12 214 12 215 12 216 12 217 12 218 12 219 12 220 12 221 12 222 12 223 12 224 12 225 12 226 12 227 12 228 12 229 12 230 12 231 12 232 12 233 12 234 12 235 12 236 12 237 12 238 12 239 12 240 12 241 12 242 12 243 12 244 12 245 12 246 12 247 12 248 12 249 12 250 12 251 12 252 12 253 12 254 12 255 12 256 12 257 12 258 12 259 12 260 12 261 12 262 12 263 12 264 12 265 12 266 12 267 12 268 12 269 12 270 12 271 12 272 12 273 12 274 12 275 12 276 12 277 12 278 12 279 12 280 12 281 12 282 12 283 12 284 12 285 12 286 12 287 12 288 12 289 12 290 12 291 12 292 12 293 12 294 12 295 12 296 12 297 12 298 12 299 12 300 12 301 12 302 12 303 12 304 12 305 12 306 12 307 12 308 12 309 12 310 12 311 12 312 12 313 12 314 12 315 12 316 12 317 12 318 12 319 12 320 12 321 12 322 12 323 12 324 12 325 12 326 12 327 12 328 12 329 12 330 12 331 12 332 12 333 12 334 12 335 12 336 12 337 12 338 12 339 12 340 12 341 12 342 12 343 12 344 12 345 12 346 12 347 12 348 12 349 12 350 12 351 12 352 12 353 12 354 12 355 12 356 12 357 12 358 12 359 12 360 12 361 12 362 12 363 12 364 12 365 12 366 12 367 12 368 12 369 12 370 12 371 12 372 12 373 12 374 12 375 12 376 12 377 12 378 12 379 12 380 12 381 12 382 12 383 12 384 12 385 12 386 12 387 12 388 12 389 12 390 12 391 12 392 12 393 12 394 12 395 12 396 12 397 12 398 12 399 12 400 12 401 12 402 12 403 12 404 12 405 12 406 12 407 12 408 12 409 12 410 12 411 12 412 12 413 12 414 12 415 12 416 12 417 12 418 12 419 12 420 12 421 12 422 12 423 12 424 12 425 12 426 12 427 12 428 12 429 12 430 12 431 12 432 12 433 12 434 12 435 12 436 12 437 12 438 12 439 12 440 12 441 12 442 12 443 12 444 12 445 12 446 12 447 12 448 12 449 12 450 12 451 12 452 12 453 12 454 12 455 12 456 12 457 12 458 12 459 12 460 12 461 12 462 12 463 12 464 12 465 12 466 12 467 12 468 12 469 12 470 12 471 12 472 12 473 12 474 12 475 12 476 12 477 12 478 12 479 12 480 12 481 12 482 12 483 12 484 12 485 12 486 12 487 12 488 12 489 12 490 12 491 12 492 12 493 12 494 12 495 12 496 12 497 12 498 12 499 12 500 12 501 12 502 12 503 12 504 12 505 12 506 12 507 12 508 12 509 12 510 12 511 12 512 12 513 12 514 12 515 12 516 12 517 12 518 12 519 12 520 12 521 12 522 12 523 12 524 12 525 12 526 12 527 12 528 12 529 12 530 12 531 12 532 12 533 12 534 12 535 12 536 12 537 12 538 12 539 12 540 12 541 12 542 12 543 12 544 12 545 12 546 12 547 12 548 12 549 12 550 12 551 12 552 12 553 12 554 12 555 12 556 12 557 12 558 12 559 12 560 12 561 12 562 12 563 12 564 12 565 12 566 12 567 12 568 12 569 12 570 12 571 12 572 12 573 12 574 12 575 12 576 12 577 12 578 12 579 12 580 12 581 12 582 12 583 12 584 12 585 12 586 12 587 12 588 12 589 12 590 12 591 12 592 12 593 12 594 12 595 12 596 12 597 12 598 12 599 12 600 12 601 12 602 12 603 12 604 12 605 12 606 12 607 12 608 12 609 12 610 12 611 12 612 12 613 12 614 12 615 12 616 12 617 12 618 12 619 12 620 12 621 12 622 12 623 12 624 12 625 12 626 12 627 12 628 12 629 12 630 12 631 12 632 12 633 12 634 12 635 12 636 12 637 12 638 12 639 12 640 12 641 12 642 12 643 12 644 12 645 12 646 12 647 12 648 12 649 12 650 12 651 12 652 12 653 12 654 12 655 12 656 12 657 12 658 12 659 12 660 12 661 12 662 12 663 12 664 12 665 12 666 12 667 12 668 12 669 12 670 12 671 12 672 12 673 12 674 12 675 12 676 12 677 12 678 12 679 12 680 12 681 12 682 12 683 12 684 12 685 12 686 12 687 12 688 12 689 12 690 12 691 12 692 12 693 12 694 12 695 12 696 12 697 12 698 12 699 12 700 12 701 12 702 12 703 12 704 12 705 12 706 12 707 12 708 12 709 12 710 12 711 12 712 12 713 12 714 12 715 12 716 12 717 12 718 12 719 12 720 12 721 12 722 12 723 12 724 12 725 12 726 12 727 12 728 12 729 12 730 12 731 12 732 12 733 12 734 12 735 12 736 12 737 12 738 12 739 12 740 12 741 12 742 12 743 12 744 12 745 12 746 12 747 12 748 12 749 12 750 12 751 12 752 12 753 12 754 12 755 12 756 12 757 12 758 12 759 12 760 12 761 12 762 12 763 12 764 12 765 12 766 12 767 12 768 12 769 12 770 12 771 12 772 12 773 12 774 12 775 12 776 12 777 12 778 12 779 12 780 12 781 12 782 12 783 12 784 12 785 12 786 12 787 12 788 12 789 12 790 12 791 12 792 12 793 12 794 12 795 12 796 12 797 12 798 12 799 12 800 12 801 12 802 12 803 12 804 12 805 12 806 12 807 12 808 12 809 12 810 12 811 12 812 12 813 12 814 12 815 12 816 12 817 12 818 12 819 12 820 12 821 12 822 12 823 12 824 12 825 12 826 12 827 12 828 12 829 12 830 12 831 12 832 12 833 12 834 12 835 12 836 12 837 12 838 12 839 12 840 12 841 12 842 12 843 12 844 12 845 12 846 12 847 12 848 12 849 12 850 12 851 12 852 12 853 12 854 12 855 12 856 12 857 12 858 12 859 12 860 12 861 12 862 12 863 12 864 12 865 12 866 12 867 12 868 12 869 12 870 12 871 12 872 12 873 12 874 12 875 12 876 12 877 12 878 12 879 12 880 12 881 12 882 12 883 12 884 12 885 12 886 12 887 12 888 12 889 12 890 12 891 12 892 12 893 12 894 12 895 12 896 12 897 12 898 12 899 12 900 12 901 12 902 12 903 12 904 12 905 12 906 12 907 12 908 12 909 12 910 12 911 12 912 12 913 12 914 12 915 12 916 12 917 12 918 12 919 12 920 12 921 12 922 12 923 12 924 12 925 12 926 12 927 12 928 12 929 12 930 12 931 12 932 12 933 12 934 12 935 12 936 12 937 12 938 12 939 12 940 12 941 12 942 12 943 12 944 12 945 12 946 12 947 12 948 12 949 12 950 12 951 12 952 12 953 12 954 12 955 12 956 12 957 12 958 12 959 12 960 12 961 12 962 12 963 12 964 12 965 12 966 12 967 12 968 12 969 12 970 12 971 12 972 12 973 12 974 12 975 12 976 12 977 12 978 12 979 12 980 12 981 12 982 12 983 12 984 12 985 12 986 12 987 12 988 12 989 12 990 12 991 12 992 12 993 12 994 12 995 12 996 12 997 12 998 12 999 13 0 13 1 13 2 13 3 13 4 13 5 13 6 13 7 13 8 13 9 13 10 13 11 13 12 13 13 13 14 13 15 13 16 13 17 13 18 13 19 13 20 13 21 13 22 13 23 13 24 13 25 13 26 13 27 13 28 13 29 13 30 13 31 13 32 13 33 13 34 13 35 13 36 13 37 13 38 13 39 13 40 13 41 13 42 13 43 13 44 13 45 13 46 13 47 13 48 13 49 13 50 13 51 13 52 13 53 13 54 13 55 13 56 13 57 13 58 13 59 13 60 13 61 13 62 13 63 13 64 13 65 13 66 13 67 13 68 13 69 13 70 13 71 13 72 13 73 13 74 13 75 13 76 13 77 13 78 13 79 13 80 13 81 13 82 13 83 13 84 13 85 13 86 13 87 13 88 13 89 13 90 13 91 13 92 13 93 13 94 13 95 13 96 13 97 13 98 13 99 13 100 13 101 13 102 13 103 13 104 13 105 13 106 13 107 13 108 13 109 13 110 13 111 13 112 13 113 13 114 13 115 13 116 13 117 13 118 13 119 13 120 13 121 13 122 13 123 13 124 13 125 13 126 13 127 13 128 13 129 13 130 13 131 13 132 13 133 13 134 13 135 13 136 13 137 13 138 13 139 13 140 13 141 13 142 13 143 13 144 13 145 13 146 13 147 13 148 13 149 13 150 13 151 13 152 13 153 13 154 13 155 13 156 13 157 13 158 13 159 13 160 13 161 13
--------------------------------------------------------------------------- KeyboardInterrupt Traceback (most recent call last) /home/haeryny/yuyuyu/_notebooks/2023-03-22-DS-space_time_complexity.ipynb Cell 22 in <cell line: 2>() <a href='vscode-notebook-cell://wsl%2Bubuntu/home/haeryny/yuyuyu/_notebooks/2023-03-22-DS-space_time_complexity.ipynb#X30sdnNjb2RlLXJlbW90ZQ%3D%3D?line=1'>2</a> for i in numbers: <a href='vscode-notebook-cell://wsl%2Bubuntu/home/haeryny/yuyuyu/_notebooks/2023-03-22-DS-space_time_complexity.ipynb#X30sdnNjb2RlLXJlbW90ZQ%3D%3D?line=2'>3</a> for j in numbers: ----> <a href='vscode-notebook-cell://wsl%2Bubuntu/home/haeryny/yuyuyu/_notebooks/2023-03-22-DS-space_time_complexity.ipynb#X30sdnNjb2RlLXJlbW90ZQ%3D%3D?line=3'>4</a> print(i,j) File ~/anaconda3/lib/python3.9/site-packages/ipykernel/iostream.py:531, in OutStream.write(self, string) 529 is_child = (not self._is_master_process()) 530 # only touch the buffer in the IO thread to avoid races --> 531 self.pub_thread.schedule(lambda: self._buffer.write(string)) 532 if is_child: 533 # mp.Pool cannot be trusted to flush promptly (or ever), 534 # and this helps. 535 if self._subprocess_flush_pending: File ~/anaconda3/lib/python3.9/site-packages/ipykernel/iostream.py:216, in IOPubThread.schedule(self, f) 214 self._events.append(f) 215 # wake event thread (message content is ignored) --> 216 self._event_pipe.send(b'') 217 else: 218 f() File ~/anaconda3/lib/python3.9/site-packages/zmq/sugar/socket.py:547, in Socket.send(self, data, flags, copy, track, routing_id, group) 540 data = zmq.Frame( 541 data, 542 track=track, 543 copy=copy or None, 544 copy_threshold=self.copy_threshold, 545 ) 546 data.group = group --> 547 return super(Socket, self).send(data, flags=flags, copy=copy, track=track) File zmq/backend/cython/socket.pyx:718, in zmq.backend.cython.socket.Socket.send() File zmq/backend/cython/socket.pyx:765, in zmq.backend.cython.socket.Socket.send() File zmq/backend/cython/socket.pyx:242, in zmq.backend.cython.socket._send_copy() File ~/anaconda3/lib/python3.9/site-packages/zmq/backend/cython/checkrc.pxd:13, in zmq.backend.cython.checkrc._check_rc() KeyboardInterrupt:
Space
This function takes two matrices matrix1 and matrix2 as input and returns their product as a new matrix. The function creates a new matrix result with dimensions m by n to store the product of the input matrices. The size of result depends on the size of the input matrices, so the space complexity of this function is O(n^2). As the size of the input matrices increases, the amount of memory required to execute the function also increases quadratically.
- Main take away is that a new matrix is created.
def multiply_matrices(matrix1, matrix2):
m = len(matrix1)
n = len(matrix2[0])
result = [[0] * n] * m #this creates the new matrix based on the size of matrix 1 and 2
for i in range(m):
for j in range(n):
for k in range(len(matrix2)):
result[i][j] += matrix1[i][k] * matrix2[k][j]
return result
print(multiply_matrices([[1,2],[3,4]], [[3,4],[1,2]]))
[[18, 28], [18, 28]]
Time
An example of a log time algorithm is binary search. Binary search is an algorithm that searches for a specific element in a sorted list by repeatedly dividing the search interval in half. As a result, the time taken to complete the search grows logarithmically with the size of the list. Hence, the time complexity of this operation is O(log n), where n is the size of the list being searched.
def binary_search(arr, low, high, target):
while low <= high:
mid = (low + high) // 2 #integer division
if arr[mid] == target:
return mid
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
target = 263
result = binary_search(numbers, 0, len(numbers) - 1, target)
print(result)
263
Space
The same algorithm above has a O(logn) space complexity. The function takes an array arr, its lower and upper bounds low and high, and a target value target. The function searches for target within the bounds of arr by recursively dividing the search space in half until the target is found or the search space is empty. The function does not create any new data structures that depend on the size of arr. Instead, the function uses the call stack to keep track of the recursive calls. Since the maximum depth of the recursive calls is O(logn), where n is the size of arr, the space complexity of this function is O(logn). As the size of arr increases, the amount of memory required to execute the function grows logarithmically.
Time
An example of an O(2^n) algorithm is the recursive implementation of the Fibonacci sequence. The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones, starting from 0 and 1. The recursive implementation of the Fibonacci sequence calculates each number by recursively calling itself with the two preceding numbers until it reaches the base case (i.e., the first or second number in the sequence). The algorithm takes O(2^n) time in the worst case because it has to calculate each number in the sequence by making two recursive calls.
![A visualization of calculating the fibonacci sequence]
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
#print(fibonacci(5))
#print(fibonacci(10))
#print(fibonacci(20))
print(fibonacci(30))
#print(fibonacci(40))
832040
Space
This function takes a set s as input and generates all possible subsets of s. The function does this by recursively generating the subsets of the set without the first element, and then adding the first element to each of those subsets to generate the subsets that include the first element. The function creates a new list for each recursive call that stores the subsets, and each element in the list is a new list that represents a subset. The number of subsets that can be generated from a set of size n is 2^n, so the space complexity of this function is O(2^n). As the size of the input set increases, the amount of memory required to execute the function grows exponentially.
def generate_subsets(s):
if not s:
return [[]]
subsets = generate_subsets(s[1:])
return [[s[0]] + subset for subset in subsets] + subsets
print(generate_subsets([1,2,3]))
#print(generate_subsets(numbers))
[[1, 2, 3], [1, 2], [1, 3], [1], [2, 3], [2], [3], []]
Using the time library, we are able to see the difference in time it takes to calculate the fibonacci function above.
- Based on what is known about the other time complexities, hypothesize the resulting elapsed time if the function is replaced.
import time
start_time = time.time()
print(fibonacci(34))
end_time = time.time()
total_time = end_time - start_time
print("Time taken:", total_time, "seconds")
start_time = time.time()
print(fibonacci(35))
end_time = time.time()
total_time = end_time - start_time
print("Time taken:", total_time, "seconds")
5702887 Time taken: 2.038557291030884 seconds 9227465 Time taken: 3.297881603240967 seconds
Hacks
- Record your findings when testing the time elapsed of the different algorithms.
- Although we will go more in depth later, time complexity is a key concept that relates to the different sorting algorithms. Do some basic research on the different types of sorting algorithms and their time complexity.
- Why is time and space complexity important when choosing an algorithm?
- Should you always use a constant time algorithm / Should you never use an exponential time algorithm? Explain?
- What are some general patterns that you noticed to determine each algorithm's time and space complexity?
Complete the Time and Space Complexity analysis questions linked below. Practice