aboutsummaryrefslogtreecommitdiff
path: root/benchmarks/spmv
diff options
context:
space:
mode:
authorYunsup Lee <yunsup@cs.berkeley.edu>2013-04-29 18:44:21 -0700
committerYunsup Lee <yunsup@cs.berkeley.edu>2013-04-29 18:44:21 -0700
commit23507d668862dff15a898f20e109a46c6e95780d (patch)
treea3b620e117c1ded337e9508042e353c62a1a97a8 /benchmarks/spmv
parentf8ea498f79ab4d6495f2966d1e5c3dd42f567752 (diff)
downloadriscv-tests-23507d668862dff15a898f20e109a46c6e95780d.zip
riscv-tests-23507d668862dff15a898f20e109a46c6e95780d.tar.gz
riscv-tests-23507d668862dff15a898f20e109a46c6e95780d.tar.bz2
benchmarks initial commit
Diffstat (limited to 'benchmarks/spmv')
-rw-r--r--benchmarks/spmv/bmark.mk29
-rw-r--r--benchmarks/spmv/dataset1.h23022
-rw-r--r--benchmarks/spmv/spmv_gendata.scala48
-rw-r--r--benchmarks/spmv/spmv_main.c123
4 files changed, 23222 insertions, 0 deletions
diff --git a/benchmarks/spmv/bmark.mk b/benchmarks/spmv/bmark.mk
new file mode 100644
index 0000000..5ab9cc0
--- /dev/null
+++ b/benchmarks/spmv/bmark.mk
@@ -0,0 +1,29 @@
+#=======================================================================
+# UCB CS250 Makefile fragment for benchmarks
+#-----------------------------------------------------------------------
+#
+# Each benchmark directory should have its own fragment which
+# essentially lists what the source files are and how to link them
+# into an riscv and/or host executable. All variables should include
+# the benchmark name as a prefix so that they are unique.
+#
+
+spmv_c_src = \
+ spmv_main.c \
+
+spmv_riscv_src = \
+ crt.S \
+
+spmv_c_objs = $(patsubst %.c, %.o, $(spmv_c_src))
+spmv_riscv_objs = $(patsubst %.S, %.o, $(spmv_riscv_src))
+
+spmv_host_bin = spmv.host
+$(spmv_host_bin) : $(spmv_c_src)
+ $(HOST_COMP) $^ -o $(spmv_host_bin)
+
+spmv_riscv_bin = spmv.riscv
+$(spmv_riscv_bin) : $(spmv_c_objs) $(spmv_riscv_objs)
+ $(RISCV_LINK) $(spmv_c_objs) $(spmv_riscv_objs) -o $(spmv_riscv_bin)
+
+junk += $(spmv_c_objs) $(spmv_riscv_objs) \
+ $(spmv_host_bin) $(spmv_riscv_bin)
diff --git a/benchmarks/spmv/dataset1.h b/benchmarks/spmv/dataset1.h
new file mode 100644
index 0000000..ebdf7ff
--- /dev/null
+++ b/benchmarks/spmv/dataset1.h
@@ -0,0 +1,23022 @@
+#define R 1000
+#define C 1000
+#define NNZ 10004
+const double val[10004] = {
+ 658,
+ 279,
+ 587,
+ 255,
+ 359,
+ 844,
+ 905,
+ 456,
+ 897,
+ 837,
+ 652,
+ 398,
+ 885,
+ 21,
+ 669,
+ 738,
+ 365,
+ 928,
+ 713,
+ 771,
+ 536,
+ 987,
+ 917,
+ 823,
+ 544,
+ 40,
+ 80,
+ 636,
+ 263,
+ 929,
+ 757,
+ 677,
+ 151,
+ 500,
+ 875,
+ 720,
+ 205,
+ 292,
+ 859,
+ 980,
+ 97,
+ 608,
+ 813,
+ 840,
+ 397,
+ 765,
+ 294,
+ 718,
+ 751,
+ 7,
+ 482,
+ 166,
+ 653,
+ 172,
+ 187,
+ 79,
+ 228,
+ 857,
+ 540,
+ 760,
+ 509,
+ 190,
+ 396,
+ 765,
+ 37,
+ 85,
+ 866,
+ 981,
+ 999,
+ 793,
+ 921,
+ 664,
+ 208,
+ 856,
+ 528,
+ 782,
+ 318,
+ 170,
+ 521,
+ 691,
+ 726,
+ 996,
+ 947,
+ 326,
+ 825,
+ 77,
+ 823,
+ 752,
+ 266,
+ 834,
+ 196,
+ 58,
+ 430,
+ 764,
+ 807,
+ 568,
+ 665,
+ 583,
+ 178,
+ 250,
+ 273,
+ 654,
+ 487,
+ 504,
+ 729,
+ 338,
+ 866,
+ 981,
+ 852,
+ 842,
+ 785,
+ 13,
+ 588,
+ 44,
+ 432,
+ 408,
+ 374,
+ 761,
+ 653,
+ 752,
+ 684,
+ 6,
+ 357,
+ 703,
+ 447,
+ 966,
+ 457,
+ 738,
+ 646,
+ 646,
+ 217,
+ 522,
+ 839,
+ 417,
+ 506,
+ 801,
+ 233,
+ 929,
+ 487,
+ 353,
+ 660,
+ 751,
+ 738,
+ 512,
+ 566,
+ 130,
+ 61,
+ 128,
+ 698,
+ 467,
+ 362,
+ 867,
+ 639,
+ 289,
+ 371,
+ 427,
+ 650,
+ 16,
+ 878,
+ 967,
+ 369,
+ 517,
+ 161,
+ 330,
+ 294,
+ 396,
+ 606,
+ 638,
+ 171,
+ 602,
+ 531,
+ 14,
+ 968,
+ 15,
+ 193,
+ 225,
+ 863,
+ 171,
+ 254,
+ 714,
+ 256,
+ 873,
+ 353,
+ 35,
+ 910,
+ 849,
+ 658,
+ 546,
+ 389,
+ 239,
+ 355,
+ 540,
+ 494,
+ 968,
+ 319,
+ 590,
+ 608,
+ 445,
+ 806,
+ 51,
+ 117,
+ 401,
+ 314,
+ 280,
+ 334,
+ 44,
+ 17,
+ 107,
+ 108,
+ 650,
+ 807,
+ 385,
+ 748,
+ 942,
+ 719,
+ 110,
+ 630,
+ 559,
+ 717,
+ 375,
+ 963,
+ 45,
+ 403,
+ 476,
+ 408,
+ 732,
+ 87,
+ 874,
+ 635,
+ 119,
+ 190,
+ 949,
+ 777,
+ 201,
+ 503,
+ 658,
+ 777,
+ 564,
+ 830,
+ 122,
+ 929,
+ 68,
+ 11,
+ 354,
+ 395,
+ 213,
+ 766,
+ 40,
+ 995,
+ 577,
+ 514,
+ 568,
+ 56,
+ 439,
+ 91,
+ 148,
+ 612,
+ 717,
+ 157,
+ 538,
+ 682,
+ 190,
+ 571,
+ 847,
+ 275,
+ 190,
+ 824,
+ 985,
+ 29,
+ 426,
+ 173,
+ 898,
+ 297,
+ 156,
+ 936,
+ 1,
+ 455,
+ 812,
+ 173,
+ 131,
+ 376,
+ 947,
+ 596,
+ 783,
+ 800,
+ 361,
+ 798,
+ 598,
+ 710,
+ 86,
+ 149,
+ 457,
+ 129,
+ 437,
+ 352,
+ 933,
+ 320,
+ 709,
+ 167,
+ 793,
+ 46,
+ 49,
+ 305,
+ 704,
+ 577,
+ 855,
+ 336,
+ 978,
+ 206,
+ 662,
+ 230,
+ 93,
+ 898,
+ 368,
+ 422,
+ 689,
+ 351,
+ 87,
+ 465,
+ 576,
+ 33,
+ 884,
+ 675,
+ 548,
+ 116,
+ 730,
+ 385,
+ 483,
+ 340,
+ 809,
+ 938,
+ 342,
+ 576,
+ 887,
+ 479,
+ 455,
+ 820,
+ 521,
+ 320,
+ 488,
+ 506,
+ 591,
+ 901,
+ 505,
+ 525,
+ 5,
+ 133,
+ 705,
+ 561,
+ 285,
+ 95,
+ 918,
+ 410,
+ 578,
+ 347,
+ 375,
+ 735,
+ 624,
+ 491,
+ 494,
+ 931,
+ 655,
+ 819,
+ 883,
+ 328,
+ 527,
+ 194,
+ 580,
+ 584,
+ 837,
+ 700,
+ 681,
+ 249,
+ 643,
+ 958,
+ 363,
+ 316,
+ 397,
+ 638,
+ 261,
+ 459,
+ 960,
+ 636,
+ 458,
+ 84,
+ 797,
+ 696,
+ 782,
+ 831,
+ 419,
+ 393,
+ 649,
+ 312,
+ 811,
+ 703,
+ 70,
+ 688,
+ 285,
+ 39,
+ 617,
+ 935,
+ 495,
+ 392,
+ 143,
+ 734,
+ 166,
+ 406,
+ 464,
+ 732,
+ 709,
+ 379,
+ 143,
+ 527,
+ 514,
+ 709,
+ 130,
+ 965,
+ 632,
+ 448,
+ 836,
+ 62,
+ 567,
+ 600,
+ 520,
+ 519,
+ 16,
+ 394,
+ 705,
+ 438,
+ 548,
+ 696,
+ 140,
+ 573,
+ 509,
+ 968,
+ 935,
+ 165,
+ 868,
+ 577,
+ 451,
+ 865,
+ 304,
+ 777,
+ 828,
+ 147,
+ 704,
+ 821,
+ 641,
+ 783,
+ 376,
+ 757,
+ 391,
+ 170,
+ 592,
+ 235,
+ 920,
+ 846,
+ 683,
+ 249,
+ 697,
+ 253,
+ 386,
+ 244,
+ 889,
+ 607,
+ 768,
+ 88,
+ 836,
+ 259,
+ 945,
+ 33,
+ 352,
+ 70,
+ 83,
+ 996,
+ 791,
+ 18,
+ 599,
+ 488,
+ 43,
+ 582,
+ 993,
+ 692,
+ 841,
+ 558,
+ 530,
+ 350,
+ 187,
+ 295,
+ 215,
+ 869,
+ 593,
+ 385,
+ 722,
+ 724,
+ 282,
+ 681,
+ 534,
+ 788,
+ 836,
+ 378,
+ 825,
+ 93,
+ 539,
+ 120,
+ 794,
+ 384,
+ 798,
+ 505,
+ 833,
+ 27,
+ 181,
+ 951,
+ 966,
+ 498,
+ 375,
+ 22,
+ 545,
+ 62,
+ 816,
+ 119,
+ 712,
+ 813,
+ 783,
+ 655,
+ 832,
+ 143,
+ 501,
+ 519,
+ 43,
+ 760,
+ 17,
+ 896,
+ 96,
+ 390,
+ 121,
+ 458,
+ 736,
+ 649,
+ 227,
+ 778,
+ 283,
+ 657,
+ 434,
+ 214,
+ 123,
+ 929,
+ 548,
+ 206,
+ 993,
+ 463,
+ 824,
+ 369,
+ 260,
+ 868,
+ 645,
+ 857,
+ 184,
+ 198,
+ 349,
+ 652,
+ 522,
+ 23,
+ 208,
+ 968,
+ 290,
+ 770,
+ 109,
+ 978,
+ 513,
+ 298,
+ 675,
+ 306,
+ 866,
+ 927,
+ 822,
+ 495,
+ 653,
+ 134,
+ 702,
+ 147,
+ 366,
+ 947,
+ 65,
+ 586,
+ 412,
+ 638,
+ 760,
+ 541,
+ 118,
+ 551,
+ 574,
+ 85,
+ 736,
+ 999,
+ 917,
+ 478,
+ 35,
+ 629,
+ 963,
+ 898,
+ 826,
+ 113,
+ 298,
+ 606,
+ 568,
+ 152,
+ 926,
+ 277,
+ 984,
+ 549,
+ 279,
+ 839,
+ 348,
+ 672,
+ 278,
+ 94,
+ 455,
+ 590,
+ 843,
+ 85,
+ 222,
+ 901,
+ 621,
+ 30,
+ 880,
+ 914,
+ 27,
+ 974,
+ 399,
+ 873,
+ 968,
+ 870,
+ 479,
+ 696,
+ 964,
+ 929,
+ 499,
+ 121,
+ 812,
+ 933,
+ 799,
+ 506,
+ 412,
+ 712,
+ 791,
+ 426,
+ 835,
+ 488,
+ 910,
+ 522,
+ 332,
+ 967,
+ 380,
+ 61,
+ 5,
+ 282,
+ 119,
+ 22,
+ 136,
+ 436,
+ 730,
+ 341,
+ 687,
+ 371,
+ 19,
+ 893,
+ 20,
+ 327,
+ 221,
+ 221,
+ 966,
+ 354,
+ 198,
+ 985,
+ 56,
+ 305,
+ 691,
+ 980,
+ 12,
+ 790,
+ 64,
+ 484,
+ 621,
+ 214,
+ 332,
+ 898,
+ 898,
+ 318,
+ 416,
+ 445,
+ 350,
+ 317,
+ 336,
+ 714,
+ 788,
+ 541,
+ 890,
+ 42,
+ 111,
+ 596,
+ 164,
+ 424,
+ 448,
+ 666,
+ 362,
+ 429,
+ 617,
+ 910,
+ 917,
+ 970,
+ 526,
+ 321,
+ 551,
+ 481,
+ 83,
+ 46,
+ 146,
+ 569,
+ 856,
+ 85,
+ 192,
+ 724,
+ 378,
+ 299,
+ 13,
+ 422,
+ 411,
+ 552,
+ 569,
+ 100,
+ 849,
+ 484,
+ 906,
+ 47,
+ 532,
+ 742,
+ 415,
+ 228,
+ 897,
+ 715,
+ 807,
+ 329,
+ 244,
+ 312,
+ 903,
+ 758,
+ 34,
+ 172,
+ 18,
+ 917,
+ 700,
+ 108,
+ 611,
+ 567,
+ 616,
+ 572,
+ 174,
+ 925,
+ 553,
+ 903,
+ 268,
+ 544,
+ 998,
+ 708,
+ 133,
+ 717,
+ 584,
+ 517,
+ 608,
+ 680,
+ 597,
+ 316,
+ 470,
+ 764,
+ 530,
+ 221,
+ 405,
+ 133,
+ 406,
+ 506,
+ 56,
+ 458,
+ 721,
+ 935,
+ 356,
+ 130,
+ 99,
+ 395,
+ 117,
+ 34,
+ 881,
+ 231,
+ 214,
+ 248,
+ 458,
+ 246,
+ 632,
+ 471,
+ 279,
+ 385,
+ 594,
+ 855,
+ 305,
+ 30,
+ 542,
+ 144,
+ 509,
+ 548,
+ 364,
+ 171,
+ 386,
+ 382,
+ 616,
+ 997,
+ 28,
+ 361,
+ 855,
+ 449,
+ 992,
+ 956,
+ 439,
+ 569,
+ 383,
+ 523,
+ 852,
+ 337,
+ 112,
+ 24,
+ 902,
+ 352,
+ 542,
+ 231,
+ 664,
+ 411,
+ 457,
+ 572,
+ 52,
+ 760,
+ 88,
+ 907,
+ 345,
+ 284,
+ 636,
+ 219,
+ 975,
+ 713,
+ 231,
+ 888,
+ 49,
+ 624,
+ 179,
+ 579,
+ 401,
+ 694,
+ 984,
+ 905,
+ 673,
+ 414,
+ 773,
+ 165,
+ 349,
+ 436,
+ 128,
+ 186,
+ 487,
+ 17,
+ 552,
+ 833,
+ 98,
+ 424,
+ 791,
+ 220,
+ 352,
+ 75,
+ 470,
+ 405,
+ 679,
+ 939,
+ 792,
+ 653,
+ 142,
+ 226,
+ 208,
+ 629,
+ 429,
+ 55,
+ 455,
+ 362,
+ 210,
+ 765,
+ 693,
+ 113,
+ 656,
+ 824,
+ 441,
+ 191,
+ 50,
+ 957,
+ 99,
+ 27,
+ 582,
+ 461,
+ 279,
+ 299,
+ 492,
+ 678,
+ 452,
+ 640,
+ 349,
+ 758,
+ 298,
+ 903,
+ 361,
+ 333,
+ 339,
+ 60,
+ 824,
+ 773,
+ 184,
+ 621,
+ 66,
+ 49,
+ 228,
+ 608,
+ 523,
+ 591,
+ 533,
+ 234,
+ 566,
+ 291,
+ 646,
+ 93,
+ 42,
+ 810,
+ 154,
+ 846,
+ 426,
+ 32,
+ 828,
+ 360,
+ 917,
+ 182,
+ 50,
+ 40,
+ 182,
+ 19,
+ 127,
+ 614,
+ 951,
+ 662,
+ 591,
+ 140,
+ 110,
+ 685,
+ 549,
+ 6,
+ 346,
+ 766,
+ 689,
+ 743,
+ 414,
+ 135,
+ 61,
+ 548,
+ 363,
+ 915,
+ 462,
+ 526,
+ 405,
+ 524,
+ 192,
+ 754,
+ 796,
+ 616,
+ 98,
+ 341,
+ 786,
+ 778,
+ 929,
+ 6,
+ 388,
+ 293,
+ 513,
+ 148,
+ 298,
+ 311,
+ 29,
+ 456,
+ 960,
+ 560,
+ 895,
+ 121,
+ 511,
+ 141,
+ 732,
+ 762,
+ 774,
+ 261,
+ 287,
+ 314,
+ 801,
+ 320,
+ 173,
+ 616,
+ 356,
+ 783,
+ 256,
+ 129,
+ 513,
+ 212,
+ 293,
+ 168,
+ 813,
+ 279,
+ 65,
+ 784,
+ 360,
+ 921,
+ 320,
+ 177,
+ 923,
+ 385,
+ 142,
+ 380,
+ 772,
+ 929,
+ 718,
+ 277,
+ 61,
+ 620,
+ 575,
+ 772,
+ 356,
+ 414,
+ 775,
+ 392,
+ 523,
+ 760,
+ 192,
+ 905,
+ 606,
+ 134,
+ 695,
+ 784,
+ 540,
+ 63,
+ 939,
+ 941,
+ 887,
+ 217,
+ 290,
+ 893,
+ 206,
+ 662,
+ 63,
+ 102,
+ 74,
+ 943,
+ 288,
+ 8,
+ 254,
+ 131,
+ 420,
+ 841,
+ 79,
+ 139,
+ 362,
+ 221,
+ 915,
+ 6,
+ 28,
+ 417,
+ 846,
+ 996,
+ 794,
+ 522,
+ 391,
+ 513,
+ 715,
+ 87,
+ 449,
+ 801,
+ 823,
+ 16,
+ 485,
+ 874,
+ 8,
+ 601,
+ 885,
+ 146,
+ 886,
+ 318,
+ 235,
+ 390,
+ 561,
+ 869,
+ 640,
+ 860,
+ 433,
+ 651,
+ 145,
+ 149,
+ 682,
+ 612,
+ 580,
+ 946,
+ 572,
+ 155,
+ 736,
+ 898,
+ 774,
+ 81,
+ 882,
+ 286,
+ 362,
+ 982,
+ 788,
+ 658,
+ 452,
+ 889,
+ 688,
+ 384,
+ 948,
+ 342,
+ 402,
+ 777,
+ 403,
+ 547,
+ 123,
+ 187,
+ 394,
+ 470,
+ 978,
+ 234,
+ 461,
+ 127,
+ 349,
+ 476,
+ 927,
+ 837,
+ 997,
+ 494,
+ 167,
+ 920,
+ 911,
+ 84,
+ 432,
+ 339,
+ 87,
+ 841,
+ 535,
+ 972,
+ 671,
+ 395,
+ 445,
+ 681,
+ 494,
+ 737,
+ 492,
+ 96,
+ 84,
+ 261,
+ 871,
+ 91,
+ 696,
+ 960,
+ 346,
+ 430,
+ 796,
+ 326,
+ 272,
+ 982,
+ 25,
+ 927,
+ 923,
+ 528,
+ 924,
+ 215,
+ 789,
+ 691,
+ 898,
+ 811,
+ 189,
+ 284,
+ 856,
+ 200,
+ 278,
+ 436,
+ 354,
+ 114,
+ 978,
+ 648,
+ 797,
+ 437,
+ 916,
+ 220,
+ 449,
+ 740,
+ 179,
+ 484,
+ 470,
+ 332,
+ 178,
+ 65,
+ 807,
+ 860,
+ 180,
+ 421,
+ 148,
+ 563,
+ 253,
+ 691,
+ 121,
+ 837,
+ 851,
+ 341,
+ 948,
+ 563,
+ 635,
+ 780,
+ 148,
+ 567,
+ 713,
+ 118,
+ 877,
+ 505,
+ 519,
+ 975,
+ 504,
+ 745,
+ 190,
+ 958,
+ 134,
+ 898,
+ 723,
+ 546,
+ 781,
+ 46,
+ 760,
+ 530,
+ 572,
+ 163,
+ 227,
+ 886,
+ 408,
+ 586,
+ 4,
+ 901,
+ 233,
+ 753,
+ 720,
+ 203,
+ 575,
+ 748,
+ 443,
+ 207,
+ 838,
+ 492,
+ 290,
+ 223,
+ 256,
+ 715,
+ 830,
+ 432,
+ 97,
+ 99,
+ 477,
+ 725,
+ 574,
+ 91,
+ 746,
+ 731,
+ 615,
+ 629,
+ 437,
+ 320,
+ 843,
+ 559,
+ 13,
+ 902,
+ 779,
+ 564,
+ 689,
+ 207,
+ 599,
+ 726,
+ 598,
+ 606,
+ 148,
+ 58,
+ 115,
+ 536,
+ 319,
+ 279,
+ 944,
+ 485,
+ 699,
+ 948,
+ 13,
+ 895,
+ 766,
+ 582,
+ 559,
+ 998,
+ 250,
+ 788,
+ 869,
+ 877,
+ 23,
+ 647,
+ 488,
+ 164,
+ 845,
+ 344,
+ 545,
+ 307,
+ 991,
+ 0,
+ 805,
+ 152,
+ 412,
+ 534,
+ 323,
+ 614,
+ 415,
+ 865,
+ 847,
+ 210,
+ 743,
+ 122,
+ 943,
+ 594,
+ 320,
+ 268,
+ 154,
+ 253,
+ 816,
+ 347,
+ 768,
+ 953,
+ 982,
+ 606,
+ 131,
+ 813,
+ 92,
+ 339,
+ 5,
+ 707,
+ 517,
+ 526,
+ 469,
+ 537,
+ 89,
+ 141,
+ 537,
+ 557,
+ 190,
+ 659,
+ 87,
+ 659,
+ 401,
+ 367,
+ 414,
+ 460,
+ 34,
+ 96,
+ 895,
+ 740,
+ 694,
+ 352,
+ 537,
+ 592,
+ 877,
+ 137,
+ 922,
+ 915,
+ 99,
+ 216,
+ 969,
+ 716,
+ 44,
+ 869,
+ 856,
+ 853,
+ 352,
+ 556,
+ 216,
+ 426,
+ 231,
+ 259,
+ 172,
+ 67,
+ 694,
+ 488,
+ 311,
+ 712,
+ 767,
+ 279,
+ 962,
+ 265,
+ 615,
+ 141,
+ 454,
+ 711,
+ 384,
+ 452,
+ 135,
+ 90,
+ 391,
+ 787,
+ 665,
+ 528,
+ 296,
+ 824,
+ 820,
+ 455,
+ 885,
+ 301,
+ 155,
+ 647,
+ 6,
+ 973,
+ 627,
+ 663,
+ 922,
+ 969,
+ 799,
+ 698,
+ 523,
+ 404,
+ 784,
+ 422,
+ 128,
+ 103,
+ 233,
+ 601,
+ 812,
+ 281,
+ 600,
+ 336,
+ 11,
+ 743,
+ 288,
+ 925,
+ 181,
+ 228,
+ 508,
+ 308,
+ 3,
+ 141,
+ 711,
+ 602,
+ 71,
+ 868,
+ 255,
+ 307,
+ 24,
+ 862,
+ 567,
+ 134,
+ 74,
+ 755,
+ 947,
+ 111,
+ 812,
+ 42,
+ 295,
+ 650,
+ 859,
+ 78,
+ 128,
+ 462,
+ 308,
+ 290,
+ 372,
+ 166,
+ 111,
+ 364,
+ 469,
+ 591,
+ 127,
+ 56,
+ 840,
+ 758,
+ 781,
+ 756,
+ 548,
+ 658,
+ 412,
+ 851,
+ 134,
+ 233,
+ 432,
+ 257,
+ 138,
+ 210,
+ 184,
+ 986,
+ 51,
+ 806,
+ 442,
+ 711,
+ 243,
+ 571,
+ 861,
+ 550,
+ 111,
+ 798,
+ 138,
+ 316,
+ 746,
+ 549,
+ 276,
+ 458,
+ 866,
+ 335,
+ 334,
+ 178,
+ 191,
+ 473,
+ 452,
+ 764,
+ 487,
+ 525,
+ 273,
+ 457,
+ 902,
+ 888,
+ 519,
+ 203,
+ 891,
+ 497,
+ 998,
+ 535,
+ 382,
+ 673,
+ 787,
+ 112,
+ 846,
+ 836,
+ 898,
+ 681,
+ 607,
+ 546,
+ 863,
+ 639,
+ 896,
+ 281,
+ 845,
+ 305,
+ 410,
+ 835,
+ 985,
+ 245,
+ 781,
+ 208,
+ 337,
+ 248,
+ 205,
+ 264,
+ 198,
+ 305,
+ 665,
+ 351,
+ 609,
+ 186,
+ 444,
+ 589,
+ 130,
+ 292,
+ 668,
+ 617,
+ 611,
+ 111,
+ 80,
+ 9,
+ 267,
+ 275,
+ 135,
+ 201,
+ 926,
+ 789,
+ 835,
+ 221,
+ 290,
+ 297,
+ 93,
+ 437,
+ 892,
+ 921,
+ 994,
+ 748,
+ 321,
+ 23,
+ 394,
+ 725,
+ 377,
+ 581,
+ 57,
+ 219,
+ 461,
+ 54,
+ 183,
+ 506,
+ 889,
+ 920,
+ 714,
+ 639,
+ 836,
+ 585,
+ 787,
+ 929,
+ 597,
+ 307,
+ 678,
+ 35,
+ 296,
+ 46,
+ 459,
+ 368,
+ 342,
+ 200,
+ 609,
+ 265,
+ 11,
+ 315,
+ 10,
+ 29,
+ 32,
+ 339,
+ 250,
+ 974,
+ 736,
+ 834,
+ 281,
+ 332,
+ 656,
+ 530,
+ 384,
+ 96,
+ 544,
+ 775,
+ 208,
+ 375,
+ 230,
+ 31,
+ 589,
+ 385,
+ 130,
+ 718,
+ 82,
+ 909,
+ 267,
+ 482,
+ 503,
+ 875,
+ 824,
+ 488,
+ 837,
+ 757,
+ 19,
+ 121,
+ 129,
+ 531,
+ 712,
+ 76,
+ 183,
+ 137,
+ 764,
+ 617,
+ 846,
+ 64,
+ 65,
+ 775,
+ 593,
+ 526,
+ 53,
+ 923,
+ 142,
+ 330,
+ 153,
+ 199,
+ 71,
+ 584,
+ 423,
+ 770,
+ 318,
+ 965,
+ 493,
+ 953,
+ 238,
+ 416,
+ 471,
+ 978,
+ 436,
+ 501,
+ 505,
+ 264,
+ 789,
+ 199,
+ 241,
+ 800,
+ 168,
+ 34,
+ 291,
+ 399,
+ 972,
+ 890,
+ 462,
+ 670,
+ 628,
+ 19,
+ 204,
+ 99,
+ 751,
+ 742,
+ 231,
+ 397,
+ 5,
+ 204,
+ 886,
+ 763,
+ 706,
+ 218,
+ 775,
+ 730,
+ 231,
+ 425,
+ 118,
+ 778,
+ 886,
+ 537,
+ 364,
+ 691,
+ 19,
+ 114,
+ 195,
+ 665,
+ 675,
+ 359,
+ 653,
+ 185,
+ 76,
+ 351,
+ 221,
+ 695,
+ 147,
+ 1,
+ 109,
+ 790,
+ 749,
+ 299,
+ 358,
+ 11,
+ 581,
+ 511,
+ 614,
+ 950,
+ 916,
+ 923,
+ 764,
+ 245,
+ 487,
+ 508,
+ 471,
+ 71,
+ 482,
+ 614,
+ 660,
+ 834,
+ 875,
+ 433,
+ 470,
+ 650,
+ 753,
+ 828,
+ 360,
+ 551,
+ 946,
+ 215,
+ 358,
+ 689,
+ 468,
+ 280,
+ 98,
+ 363,
+ 451,
+ 20,
+ 842,
+ 913,
+ 105,
+ 575,
+ 798,
+ 199,
+ 612,
+ 778,
+ 959,
+ 295,
+ 322,
+ 760,
+ 963,
+ 854,
+ 191,
+ 629,
+ 165,
+ 420,
+ 127,
+ 515,
+ 858,
+ 783,
+ 487,
+ 499,
+ 534,
+ 451,
+ 373,
+ 116,
+ 973,
+ 576,
+ 184,
+ 587,
+ 765,
+ 975,
+ 945,
+ 960,
+ 801,
+ 802,
+ 793,
+ 32,
+ 608,
+ 312,
+ 533,
+ 916,
+ 92,
+ 625,
+ 661,
+ 374,
+ 967,
+ 332,
+ 554,
+ 259,
+ 838,
+ 475,
+ 765,
+ 833,
+ 74,
+ 39,
+ 780,
+ 446,
+ 132,
+ 270,
+ 583,
+ 378,
+ 677,
+ 805,
+ 921,
+ 723,
+ 624,
+ 67,
+ 434,
+ 875,
+ 847,
+ 149,
+ 881,
+ 104,
+ 729,
+ 327,
+ 239,
+ 791,
+ 22,
+ 717,
+ 647,
+ 118,
+ 353,
+ 791,
+ 129,
+ 253,
+ 60,
+ 938,
+ 533,
+ 408,
+ 994,
+ 849,
+ 789,
+ 764,
+ 797,
+ 687,
+ 892,
+ 203,
+ 880,
+ 903,
+ 946,
+ 294,
+ 830,
+ 698,
+ 297,
+ 478,
+ 305,
+ 452,
+ 258,
+ 30,
+ 799,
+ 756,
+ 793,
+ 937,
+ 775,
+ 14,
+ 383,
+ 276,
+ 481,
+ 215,
+ 317,
+ 879,
+ 52,
+ 628,
+ 654,
+ 429,
+ 753,
+ 848,
+ 606,
+ 629,
+ 748,
+ 832,
+ 335,
+ 733,
+ 90,
+ 396,
+ 690,
+ 482,
+ 54,
+ 12,
+ 306,
+ 535,
+ 750,
+ 116,
+ 524,
+ 383,
+ 475,
+ 214,
+ 178,
+ 784,
+ 798,
+ 563,
+ 935,
+ 806,
+ 949,
+ 53,
+ 694,
+ 273,
+ 124,
+ 284,
+ 619,
+ 45,
+ 521,
+ 715,
+ 851,
+ 132,
+ 424,
+ 438,
+ 319,
+ 538,
+ 981,
+ 802,
+ 986,
+ 340,
+ 600,
+ 353,
+ 980,
+ 637,
+ 505,
+ 17,
+ 280,
+ 855,
+ 237,
+ 432,
+ 184,
+ 955,
+ 538,
+ 935,
+ 480,
+ 421,
+ 580,
+ 423,
+ 928,
+ 926,
+ 930,
+ 732,
+ 210,
+ 351,
+ 346,
+ 469,
+ 100,
+ 288,
+ 353,
+ 788,
+ 232,
+ 130,
+ 79,
+ 360,
+ 870,
+ 439,
+ 47,
+ 661,
+ 595,
+ 636,
+ 52,
+ 389,
+ 986,
+ 159,
+ 454,
+ 317,
+ 961,
+ 915,
+ 76,
+ 342,
+ 895,
+ 53,
+ 396,
+ 15,
+ 66,
+ 139,
+ 310,
+ 636,
+ 549,
+ 440,
+ 926,
+ 132,
+ 734,
+ 726,
+ 696,
+ 332,
+ 229,
+ 896,
+ 486,
+ 316,
+ 840,
+ 403,
+ 557,
+ 963,
+ 67,
+ 401,
+ 318,
+ 13,
+ 109,
+ 745,
+ 296,
+ 653,
+ 711,
+ 718,
+ 2,
+ 951,
+ 853,
+ 130,
+ 22,
+ 879,
+ 878,
+ 759,
+ 466,
+ 520,
+ 25,
+ 403,
+ 952,
+ 914,
+ 29,
+ 133,
+ 156,
+ 467,
+ 435,
+ 896,
+ 78,
+ 488,
+ 55,
+ 739,
+ 861,
+ 521,
+ 904,
+ 498,
+ 748,
+ 703,
+ 489,
+ 21,
+ 377,
+ 322,
+ 248,
+ 818,
+ 176,
+ 531,
+ 564,
+ 1,
+ 694,
+ 362,
+ 876,
+ 165,
+ 881,
+ 325,
+ 475,
+ 810,
+ 181,
+ 30,
+ 455,
+ 255,
+ 673,
+ 320,
+ 600,
+ 602,
+ 568,
+ 974,
+ 350,
+ 826,
+ 212,
+ 504,
+ 91,
+ 21,
+ 317,
+ 275,
+ 775,
+ 422,
+ 278,
+ 795,
+ 826,
+ 818,
+ 377,
+ 295,
+ 165,
+ 496,
+ 753,
+ 425,
+ 554,
+ 243,
+ 964,
+ 169,
+ 281,
+ 109,
+ 884,
+ 334,
+ 692,
+ 641,
+ 411,
+ 352,
+ 66,
+ 765,
+ 196,
+ 508,
+ 696,
+ 866,
+ 369,
+ 725,
+ 838,
+ 82,
+ 62,
+ 300,
+ 637,
+ 29,
+ 108,
+ 859,
+ 222,
+ 768,
+ 442,
+ 891,
+ 38,
+ 523,
+ 158,
+ 856,
+ 949,
+ 852,
+ 145,
+ 630,
+ 686,
+ 109,
+ 577,
+ 371,
+ 673,
+ 807,
+ 224,
+ 169,
+ 148,
+ 890,
+ 329,
+ 653,
+ 720,
+ 898,
+ 771,
+ 65,
+ 712,
+ 735,
+ 606,
+ 578,
+ 836,
+ 17,
+ 498,
+ 31,
+ 275,
+ 54,
+ 494,
+ 831,
+ 255,
+ 266,
+ 574,
+ 693,
+ 418,
+ 226,
+ 351,
+ 867,
+ 287,
+ 717,
+ 708,
+ 104,
+ 131,
+ 863,
+ 474,
+ 600,
+ 323,
+ 235,
+ 80,
+ 710,
+ 719,
+ 924,
+ 168,
+ 168,
+ 979,
+ 24,
+ 755,
+ 935,
+ 78,
+ 386,
+ 41,
+ 546,
+ 155,
+ 306,
+ 366,
+ 814,
+ 445,
+ 883,
+ 504,
+ 332,
+ 920,
+ 265,
+ 484,
+ 591,
+ 98,
+ 981,
+ 576,
+ 392,
+ 905,
+ 927,
+ 715,
+ 264,
+ 598,
+ 847,
+ 753,
+ 329,
+ 350,
+ 983,
+ 179,
+ 993,
+ 810,
+ 809,
+ 155,
+ 508,
+ 564,
+ 896,
+ 733,
+ 734,
+ 714,
+ 637,
+ 560,
+ 186,
+ 751,
+ 601,
+ 636,
+ 361,
+ 916,
+ 10,
+ 542,
+ 258,
+ 286,
+ 756,
+ 471,
+ 858,
+ 97,
+ 373,
+ 699,
+ 1,
+ 707,
+ 260,
+ 900,
+ 145,
+ 979,
+ 143,
+ 487,
+ 427,
+ 863,
+ 472,
+ 638,
+ 672,
+ 309,
+ 980,
+ 332,
+ 480,
+ 26,
+ 184,
+ 40,
+ 723,
+ 102,
+ 856,
+ 785,
+ 298,
+ 816,
+ 525,
+ 160,
+ 897,
+ 421,
+ 697,
+ 122,
+ 571,
+ 372,
+ 138,
+ 892,
+ 370,
+ 805,
+ 754,
+ 113,
+ 993,
+ 448,
+ 471,
+ 423,
+ 96,
+ 331,
+ 419,
+ 144,
+ 172,
+ 987,
+ 170,
+ 788,
+ 400,
+ 346,
+ 139,
+ 676,
+ 380,
+ 257,
+ 350,
+ 89,
+ 592,
+ 501,
+ 664,
+ 19,
+ 957,
+ 462,
+ 302,
+ 430,
+ 880,
+ 869,
+ 99,
+ 70,
+ 356,
+ 931,
+ 751,
+ 43,
+ 531,
+ 790,
+ 559,
+ 455,
+ 64,
+ 846,
+ 139,
+ 685,
+ 876,
+ 166,
+ 361,
+ 28,
+ 876,
+ 223,
+ 147,
+ 928,
+ 619,
+ 734,
+ 870,
+ 738,
+ 393,
+ 293,
+ 722,
+ 301,
+ 936,
+ 566,
+ 57,
+ 881,
+ 398,
+ 796,
+ 134,
+ 566,
+ 932,
+ 756,
+ 860,
+ 638,
+ 546,
+ 33,
+ 144,
+ 29,
+ 628,
+ 254,
+ 764,
+ 604,
+ 357,
+ 987,
+ 552,
+ 400,
+ 663,
+ 874,
+ 727,
+ 586,
+ 988,
+ 684,
+ 867,
+ 343,
+ 733,
+ 349,
+ 534,
+ 976,
+ 708,
+ 998,
+ 871,
+ 564,
+ 271,
+ 105,
+ 397,
+ 40,
+ 884,
+ 62,
+ 43,
+ 361,
+ 451,
+ 188,
+ 520,
+ 953,
+ 709,
+ 796,
+ 522,
+ 365,
+ 263,
+ 807,
+ 14,
+ 439,
+ 395,
+ 800,
+ 614,
+ 831,
+ 675,
+ 532,
+ 95,
+ 332,
+ 538,
+ 318,
+ 526,
+ 1,
+ 689,
+ 111,
+ 487,
+ 370,
+ 203,
+ 211,
+ 642,
+ 549,
+ 158,
+ 206,
+ 298,
+ 846,
+ 87,
+ 717,
+ 363,
+ 83,
+ 200,
+ 769,
+ 504,
+ 670,
+ 536,
+ 349,
+ 294,
+ 441,
+ 239,
+ 721,
+ 400,
+ 355,
+ 212,
+ 120,
+ 623,
+ 664,
+ 94,
+ 116,
+ 126,
+ 904,
+ 947,
+ 938,
+ 152,
+ 542,
+ 464,
+ 735,
+ 926,
+ 112,
+ 590,
+ 1,
+ 209,
+ 102,
+ 237,
+ 258,
+ 552,
+ 427,
+ 808,
+ 319,
+ 631,
+ 769,
+ 884,
+ 24,
+ 132,
+ 697,
+ 878,
+ 344,
+ 335,
+ 391,
+ 384,
+ 27,
+ 533,
+ 900,
+ 96,
+ 279,
+ 121,
+ 998,
+ 558,
+ 987,
+ 848,
+ 426,
+ 191,
+ 925,
+ 623,
+ 850,
+ 163,
+ 184,
+ 819,
+ 881,
+ 279,
+ 850,
+ 517,
+ 178,
+ 727,
+ 603,
+ 152,
+ 657,
+ 412,
+ 17,
+ 120,
+ 241,
+ 718,
+ 785,
+ 921,
+ 237,
+ 982,
+ 936,
+ 745,
+ 810,
+ 507,
+ 207,
+ 267,
+ 17,
+ 967,
+ 133,
+ 73,
+ 627,
+ 20,
+ 158,
+ 69,
+ 829,
+ 769,
+ 457,
+ 436,
+ 986,
+ 723,
+ 248,
+ 784,
+ 704,
+ 146,
+ 408,
+ 0,
+ 170,
+ 209,
+ 720,
+ 958,
+ 149,
+ 321,
+ 919,
+ 924,
+ 223,
+ 35,
+ 326,
+ 196,
+ 513,
+ 992,
+ 884,
+ 467,
+ 877,
+ 695,
+ 432,
+ 281,
+ 722,
+ 633,
+ 209,
+ 616,
+ 140,
+ 93,
+ 274,
+ 31,
+ 401,
+ 971,
+ 177,
+ 946,
+ 782,
+ 271,
+ 934,
+ 159,
+ 416,
+ 861,
+ 9,
+ 607,
+ 415,
+ 747,
+ 444,
+ 487,
+ 701,
+ 191,
+ 88,
+ 850,
+ 580,
+ 93,
+ 59,
+ 309,
+ 477,
+ 613,
+ 974,
+ 126,
+ 348,
+ 256,
+ 573,
+ 578,
+ 865,
+ 805,
+ 280,
+ 90,
+ 858,
+ 924,
+ 455,
+ 681,
+ 307,
+ 581,
+ 714,
+ 156,
+ 224,
+ 534,
+ 198,
+ 63,
+ 489,
+ 144,
+ 123,
+ 288,
+ 500,
+ 221,
+ 618,
+ 674,
+ 233,
+ 440,
+ 788,
+ 569,
+ 70,
+ 472,
+ 166,
+ 12,
+ 979,
+ 722,
+ 929,
+ 108,
+ 736,
+ 666,
+ 525,
+ 631,
+ 554,
+ 287,
+ 742,
+ 65,
+ 324,
+ 248,
+ 710,
+ 489,
+ 834,
+ 199,
+ 338,
+ 851,
+ 793,
+ 960,
+ 761,
+ 383,
+ 891,
+ 973,
+ 943,
+ 853,
+ 422,
+ 178,
+ 600,
+ 890,
+ 732,
+ 384,
+ 431,
+ 476,
+ 237,
+ 104,
+ 622,
+ 839,
+ 904,
+ 805,
+ 512,
+ 57,
+ 17,
+ 630,
+ 378,
+ 32,
+ 996,
+ 247,
+ 209,
+ 254,
+ 119,
+ 396,
+ 565,
+ 630,
+ 782,
+ 633,
+ 138,
+ 318,
+ 112,
+ 545,
+ 743,
+ 616,
+ 663,
+ 89,
+ 367,
+ 495,
+ 845,
+ 127,
+ 597,
+ 434,
+ 129,
+ 692,
+ 109,
+ 168,
+ 953,
+ 668,
+ 590,
+ 177,
+ 578,
+ 46,
+ 707,
+ 413,
+ 115,
+ 788,
+ 513,
+ 243,
+ 935,
+ 953,
+ 58,
+ 584,
+ 64,
+ 569,
+ 367,
+ 978,
+ 249,
+ 290,
+ 125,
+ 183,
+ 852,
+ 485,
+ 847,
+ 895,
+ 835,
+ 25,
+ 289,
+ 995,
+ 226,
+ 156,
+ 980,
+ 520,
+ 656,
+ 255,
+ 37,
+ 852,
+ 719,
+ 493,
+ 473,
+ 900,
+ 417,
+ 647,
+ 363,
+ 759,
+ 778,
+ 735,
+ 349,
+ 627,
+ 525,
+ 255,
+ 13,
+ 58,
+ 399,
+ 222,
+ 70,
+ 304,
+ 663,
+ 158,
+ 152,
+ 788,
+ 103,
+ 693,
+ 274,
+ 873,
+ 116,
+ 837,
+ 876,
+ 367,
+ 272,
+ 778,
+ 65,
+ 363,
+ 625,
+ 696,
+ 809,
+ 16,
+ 491,
+ 615,
+ 196,
+ 88,
+ 0,
+ 204,
+ 418,
+ 203,
+ 952,
+ 205,
+ 240,
+ 962,
+ 899,
+ 872,
+ 222,
+ 961,
+ 363,
+ 920,
+ 659,
+ 935,
+ 943,
+ 198,
+ 385,
+ 475,
+ 298,
+ 936,
+ 22,
+ 204,
+ 947,
+ 776,
+ 911,
+ 581,
+ 661,
+ 340,
+ 433,
+ 188,
+ 622,
+ 117,
+ 154,
+ 150,
+ 388,
+ 214,
+ 513,
+ 625,
+ 875,
+ 779,
+ 262,
+ 972,
+ 396,
+ 803,
+ 396,
+ 991,
+ 976,
+ 900,
+ 387,
+ 371,
+ 522,
+ 162,
+ 234,
+ 733,
+ 314,
+ 331,
+ 666,
+ 44,
+ 205,
+ 66,
+ 422,
+ 780,
+ 978,
+ 661,
+ 775,
+ 647,
+ 511,
+ 670,
+ 515,
+ 88,
+ 714,
+ 579,
+ 133,
+ 499,
+ 837,
+ 506,
+ 904,
+ 172,
+ 248,
+ 476,
+ 836,
+ 898,
+ 514,
+ 396,
+ 852,
+ 568,
+ 706,
+ 533,
+ 54,
+ 72,
+ 167,
+ 493,
+ 809,
+ 588,
+ 792,
+ 34,
+ 325,
+ 827,
+ 878,
+ 440,
+ 708,
+ 348,
+ 589,
+ 708,
+ 271,
+ 577,
+ 857,
+ 999,
+ 547,
+ 579,
+ 502,
+ 298,
+ 330,
+ 790,
+ 687,
+ 99,
+ 245,
+ 721,
+ 264,
+ 826,
+ 487,
+ 501,
+ 783,
+ 194,
+ 469,
+ 991,
+ 653,
+ 87,
+ 946,
+ 556,
+ 707,
+ 104,
+ 879,
+ 160,
+ 15,
+ 1,
+ 95,
+ 323,
+ 870,
+ 521,
+ 897,
+ 840,
+ 699,
+ 410,
+ 751,
+ 42,
+ 342,
+ 802,
+ 547,
+ 862,
+ 168,
+ 5,
+ 561,
+ 488,
+ 170,
+ 237,
+ 655,
+ 179,
+ 909,
+ 847,
+ 536,
+ 360,
+ 44,
+ 371,
+ 9,
+ 473,
+ 253,
+ 400,
+ 563,
+ 683,
+ 471,
+ 625,
+ 823,
+ 414,
+ 590,
+ 312,
+ 407,
+ 971,
+ 929,
+ 614,
+ 705,
+ 249,
+ 69,
+ 348,
+ 527,
+ 915,
+ 978,
+ 728,
+ 593,
+ 641,
+ 627,
+ 144,
+ 653,
+ 818,
+ 763,
+ 116,
+ 676,
+ 611,
+ 451,
+ 203,
+ 589,
+ 62,
+ 984,
+ 165,
+ 631,
+ 42,
+ 873,
+ 56,
+ 256,
+ 459,
+ 134,
+ 722,
+ 235,
+ 798,
+ 291,
+ 977,
+ 646,
+ 36,
+ 156,
+ 546,
+ 113,
+ 96,
+ 964,
+ 156,
+ 570,
+ 366,
+ 718,
+ 816,
+ 726,
+ 385,
+ 188,
+ 184,
+ 154,
+ 921,
+ 821,
+ 329,
+ 928,
+ 176,
+ 688,
+ 942,
+ 204,
+ 240,
+ 423,
+ 498,
+ 422,
+ 115,
+ 696,
+ 1,
+ 850,
+ 309,
+ 733,
+ 628,
+ 595,
+ 930,
+ 467,
+ 888,
+ 638,
+ 448,
+ 895,
+ 10,
+ 938,
+ 848,
+ 116,
+ 193,
+ 390,
+ 415,
+ 330,
+ 359,
+ 115,
+ 371,
+ 432,
+ 229,
+ 264,
+ 141,
+ 162,
+ 491,
+ 397,
+ 2,
+ 141,
+ 761,
+ 471,
+ 68,
+ 55,
+ 628,
+ 593,
+ 891,
+ 84,
+ 808,
+ 740,
+ 196,
+ 196,
+ 511,
+ 901,
+ 324,
+ 464,
+ 627,
+ 461,
+ 900,
+ 995,
+ 118,
+ 486,
+ 960,
+ 709,
+ 451,
+ 432,
+ 997,
+ 785,
+ 480,
+ 20,
+ 351,
+ 25,
+ 955,
+ 40,
+ 788,
+ 56,
+ 254,
+ 329,
+ 601,
+ 293,
+ 704,
+ 639,
+ 743,
+ 983,
+ 177,
+ 722,
+ 193,
+ 708,
+ 34,
+ 202,
+ 364,
+ 404,
+ 487,
+ 436,
+ 867,
+ 906,
+ 442,
+ 472,
+ 718,
+ 610,
+ 366,
+ 991,
+ 639,
+ 821,
+ 604,
+ 618,
+ 538,
+ 266,
+ 781,
+ 958,
+ 542,
+ 744,
+ 116,
+ 604,
+ 835,
+ 310,
+ 847,
+ 277,
+ 138,
+ 979,
+ 930,
+ 962,
+ 3,
+ 641,
+ 976,
+ 673,
+ 928,
+ 851,
+ 456,
+ 963,
+ 604,
+ 336,
+ 360,
+ 467,
+ 374,
+ 536,
+ 56,
+ 729,
+ 272,
+ 563,
+ 205,
+ 301,
+ 583,
+ 329,
+ 632,
+ 151,
+ 678,
+ 100,
+ 234,
+ 74,
+ 315,
+ 289,
+ 759,
+ 313,
+ 854,
+ 558,
+ 997,
+ 905,
+ 186,
+ 261,
+ 863,
+ 607,
+ 41,
+ 70,
+ 234,
+ 147,
+ 448,
+ 619,
+ 179,
+ 65,
+ 716,
+ 309,
+ 858,
+ 408,
+ 143,
+ 61,
+ 760,
+ 308,
+ 115,
+ 116,
+ 233,
+ 598,
+ 170,
+ 675,
+ 117,
+ 147,
+ 511,
+ 935,
+ 857,
+ 761,
+ 397,
+ 692,
+ 940,
+ 606,
+ 235,
+ 50,
+ 297,
+ 219,
+ 216,
+ 501,
+ 489,
+ 22,
+ 792,
+ 878,
+ 722,
+ 293,
+ 667,
+ 71,
+ 663,
+ 870,
+ 294,
+ 596,
+ 885,
+ 140,
+ 169,
+ 325,
+ 8,
+ 107,
+ 780,
+ 536,
+ 320,
+ 652,
+ 975,
+ 155,
+ 371,
+ 901,
+ 716,
+ 175,
+ 240,
+ 296,
+ 355,
+ 416,
+ 277,
+ 187,
+ 178,
+ 977,
+ 254,
+ 679,
+ 799,
+ 428,
+ 123,
+ 66,
+ 195,
+ 143,
+ 700,
+ 648,
+ 653,
+ 570,
+ 363,
+ 942,
+ 352,
+ 981,
+ 175,
+ 815,
+ 618,
+ 479,
+ 760,
+ 663,
+ 298,
+ 944,
+ 716,
+ 925,
+ 796,
+ 312,
+ 509,
+ 365,
+ 165,
+ 945,
+ 52,
+ 787,
+ 270,
+ 663,
+ 358,
+ 452,
+ 103,
+ 809,
+ 345,
+ 62,
+ 545,
+ 863,
+ 116,
+ 952,
+ 951,
+ 810,
+ 297,
+ 884,
+ 386,
+ 683,
+ 991,
+ 161,
+ 48,
+ 267,
+ 672,
+ 558,
+ 977,
+ 2,
+ 827,
+ 848,
+ 293,
+ 860,
+ 247,
+ 564,
+ 141,
+ 285,
+ 134,
+ 736,
+ 604,
+ 789,
+ 441,
+ 723,
+ 714,
+ 911,
+ 957,
+ 597,
+ 510,
+ 547,
+ 274,
+ 761,
+ 684,
+ 747,
+ 652,
+ 536,
+ 114,
+ 555,
+ 176,
+ 743,
+ 923,
+ 442,
+ 629,
+ 984,
+ 703,
+ 957,
+ 620,
+ 822,
+ 47,
+ 186,
+ 669,
+ 17,
+ 168,
+ 377,
+ 271,
+ 562,
+ 420,
+ 799,
+ 820,
+ 73,
+ 439,
+ 884,
+ 919,
+ 306,
+ 164,
+ 749,
+ 123,
+ 830,
+ 461,
+ 452,
+ 353,
+ 589,
+ 305,
+ 907,
+ 949,
+ 288,
+ 733,
+ 975,
+ 454,
+ 821,
+ 394,
+ 329,
+ 776,
+ 69,
+ 134,
+ 808,
+ 888,
+ 663,
+ 594,
+ 378,
+ 691,
+ 175,
+ 951,
+ 234,
+ 635,
+ 969,
+ 838,
+ 443,
+ 447,
+ 399,
+ 563,
+ 442,
+ 750,
+ 523,
+ 909,
+ 889,
+ 768,
+ 390,
+ 61,
+ 896,
+ 865,
+ 534,
+ 72,
+ 558,
+ 267,
+ 678,
+ 930,
+ 662,
+ 655,
+ 15,
+ 153,
+ 885,
+ 631,
+ 724,
+ 475,
+ 919,
+ 691,
+ 260,
+ 925,
+ 49,
+ 798,
+ 761,
+ 314,
+ 497,
+ 116,
+ 789,
+ 548,
+ 1,
+ 258,
+ 388,
+ 137,
+ 467,
+ 706,
+ 580,
+ 717,
+ 110,
+ 290,
+ 513,
+ 408,
+ 639,
+ 72,
+ 629,
+ 772,
+ 67,
+ 460,
+ 612,
+ 46,
+ 88,
+ 330,
+ 790,
+ 854,
+ 708,
+ 610,
+ 334,
+ 180,
+ 901,
+ 718,
+ 647,
+ 281,
+ 135,
+ 80,
+ 583,
+ 591,
+ 828,
+ 405,
+ 843,
+ 30,
+ 709,
+ 657,
+ 329,
+ 53,
+ 351,
+ 336,
+ 445,
+ 249,
+ 761,
+ 14,
+ 187,
+ 628,
+ 154,
+ 381,
+ 915,
+ 589,
+ 911,
+ 849,
+ 515,
+ 39,
+ 58,
+ 17,
+ 790,
+ 825,
+ 446,
+ 99,
+ 674,
+ 155,
+ 407,
+ 324,
+ 888,
+ 447,
+ 662,
+ 324,
+ 588,
+ 659,
+ 898,
+ 234,
+ 12,
+ 418,
+ 514,
+ 833,
+ 149,
+ 241,
+ 655,
+ 350,
+ 256,
+ 869,
+ 127,
+ 629,
+ 236,
+ 334,
+ 940,
+ 175,
+ 685,
+ 224,
+ 243,
+ 866,
+ 979,
+ 495,
+ 375,
+ 525,
+ 869,
+ 524,
+ 894,
+ 919,
+ 4,
+ 184,
+ 348,
+ 75,
+ 892,
+ 379,
+ 899,
+ 177,
+ 709,
+ 762,
+ 356,
+ 612,
+ 992,
+ 723,
+ 47,
+ 227,
+ 317,
+ 542,
+ 703,
+ 279,
+ 969,
+ 946,
+ 473,
+ 208,
+ 60,
+ 872,
+ 674,
+ 116,
+ 360,
+ 616,
+ 976,
+ 253,
+ 862,
+ 119,
+ 649,
+ 710,
+ 851,
+ 690,
+ 448,
+ 714,
+ 152,
+ 489,
+ 62,
+ 833,
+ 207,
+ 594,
+ 100,
+ 375,
+ 9,
+ 497,
+ 111,
+ 442,
+ 116,
+ 818,
+ 749,
+ 177,
+ 898,
+ 403,
+ 243,
+ 228,
+ 741,
+ 680,
+ 393,
+ 292,
+ 726,
+ 628,
+ 149,
+ 127,
+ 525,
+ 320,
+ 404,
+ 831,
+ 842,
+ 852,
+ 367,
+ 849,
+ 66,
+ 448,
+ 978,
+ 941,
+ 165,
+ 565,
+ 960,
+ 631,
+ 220,
+ 220,
+ 154,
+ 584,
+ 841,
+ 386,
+ 582,
+ 233,
+ 22,
+ 608,
+ 508,
+ 454,
+ 503,
+ 267,
+ 660,
+ 899,
+ 404,
+ 660,
+ 451,
+ 86,
+ 966,
+ 694,
+ 133,
+ 320,
+ 811,
+ 966,
+ 556,
+ 377,
+ 653,
+ 244,
+ 718,
+ 255,
+ 748,
+ 6,
+ 237,
+ 11,
+ 668,
+ 411,
+ 351,
+ 360,
+ 833,
+ 91,
+ 414,
+ 264,
+ 447,
+ 816,
+ 962,
+ 197,
+ 774,
+ 504,
+ 426,
+ 161,
+ 42,
+ 714,
+ 130,
+ 699,
+ 64,
+ 307,
+ 15,
+ 719,
+ 917,
+ 452,
+ 573,
+ 184,
+ 297,
+ 10,
+ 249,
+ 628,
+ 440,
+ 761,
+ 170,
+ 588,
+ 537,
+ 318,
+ 130,
+ 207,
+ 376,
+ 696,
+ 203,
+ 202,
+ 790,
+ 737,
+ 133,
+ 966,
+ 24,
+ 127,
+ 820,
+ 109,
+ 53,
+ 185,
+ 38,
+ 946,
+ 96,
+ 352,
+ 529,
+ 349,
+ 678,
+ 309,
+ 51,
+ 680,
+ 881,
+ 489,
+ 940,
+ 962,
+ 163,
+ 900,
+ 797,
+ 461,
+ 431,
+ 973,
+ 204,
+ 597,
+ 681,
+ 483,
+ 903,
+ 351,
+ 885,
+ 646,
+ 358,
+ 891,
+ 564,
+ 405,
+ 989,
+ 656,
+ 628,
+ 749,
+ 23,
+ 243,
+ 407,
+ 178,
+ 22,
+ 132,
+ 883,
+ 365,
+ 471,
+ 941,
+ 762,
+ 226,
+ 403,
+ 87,
+ 231,
+ 589,
+ 543,
+ 346,
+ 737,
+ 817,
+ 261,
+ 857,
+ 869,
+ 996,
+ 27,
+ 280,
+ 595,
+ 538,
+ 113,
+ 628,
+ 587,
+ 677,
+ 641,
+ 421,
+ 176,
+ 262,
+ 399,
+ 786,
+ 970,
+ 330,
+ 936,
+ 633,
+ 690,
+ 156,
+ 855,
+ 313,
+ 550,
+ 707,
+ 201,
+ 910,
+ 556,
+ 248,
+ 34,
+ 432,
+ 547,
+ 622,
+ 737,
+ 233,
+ 941,
+ 694,
+ 526,
+ 409,
+ 458,
+ 133,
+ 900,
+ 248,
+ 670,
+ 109,
+ 802,
+ 295,
+ 233,
+ 117,
+ 923,
+ 139,
+ 855,
+ 382,
+ 757,
+ 399,
+ 462,
+ 115,
+ 447,
+ 444,
+ 53,
+ 235,
+ 163,
+ 232,
+ 333,
+ 335,
+ 219,
+ 625,
+ 95,
+ 674,
+ 879,
+ 204,
+ 460,
+ 370,
+ 829,
+ 943,
+ 420,
+ 10,
+ 538,
+ 863,
+ 694,
+ 537,
+ 124,
+ 406,
+ 294,
+ 131,
+ 306,
+ 420,
+ 12,
+ 385,
+ 107,
+ 33,
+ 153,
+ 815,
+ 899,
+ 989,
+ 845,
+ 875,
+ 772,
+ 172,
+ 308,
+ 285,
+ 1,
+ 721,
+ 487,
+ 495,
+ 310,
+ 222,
+ 950,
+ 874,
+ 211,
+ 837,
+ 723,
+ 834,
+ 407,
+ 327,
+ 658,
+ 647,
+ 1,
+ 278,
+ 524,
+ 266,
+ 906,
+ 312,
+ 955,
+ 632,
+ 631,
+ 515,
+ 440,
+ 334,
+ 122,
+ 559,
+ 72,
+ 785,
+ 431,
+ 621,
+ 61,
+ 584,
+ 588,
+ 594,
+ 16,
+ 217,
+ 50,
+ 831,
+ 188,
+ 52,
+ 393,
+ 993,
+ 495,
+ 848,
+ 480,
+ 456,
+ 370,
+ 424,
+ 777,
+ 718,
+ 39,
+ 186,
+ 466,
+ 773,
+ 185,
+ 508,
+ 464,
+ 989,
+ 135,
+ 971,
+ 470,
+ 682,
+ 443,
+ 97,
+ 124,
+ 838,
+ 135,
+ 186,
+ 427,
+ 544,
+ 719,
+ 411,
+ 244,
+ 64,
+ 273,
+ 568,
+ 160,
+ 173,
+ 273,
+ 185,
+ 826,
+ 238,
+ 841,
+ 840,
+ 553,
+ 33,
+ 758,
+ 873,
+ 162,
+ 707,
+ 158,
+ 166,
+ 714,
+ 461,
+ 573,
+ 566,
+ 256,
+ 903,
+ 798,
+ 242,
+ 561,
+ 763,
+ 334,
+ 164,
+ 781,
+ 73,
+ 309,
+ 228,
+ 71,
+ 643,
+ 774,
+ 672,
+ 507,
+ 676,
+ 406,
+ 695,
+ 623,
+ 993,
+ 729,
+ 898,
+ 324,
+ 420,
+ 903,
+ 599,
+ 622,
+ 129,
+ 694,
+ 716,
+ 742,
+ 632,
+ 89,
+ 740,
+ 417,
+ 606,
+ 494,
+ 697,
+ 697,
+ 655,
+ 30,
+ 87,
+ 617,
+ 604,
+ 101,
+ 537,
+ 566,
+ 828,
+ 969,
+ 570,
+ 993,
+ 883,
+ 127,
+ 625,
+ 985,
+ 804,
+ 553,
+ 874,
+ 758,
+ 396,
+ 875,
+ 133,
+ 224,
+ 853,
+ 877,
+ 710,
+ 782,
+ 155,
+ 923,
+ 416,
+ 794,
+ 663,
+ 200,
+ 30,
+ 689,
+ 77,
+ 218,
+ 632,
+ 849,
+ 60,
+ 270,
+ 446,
+ 419,
+ 697,
+ 980,
+ 892,
+ 935,
+ 24,
+ 717,
+ 178,
+ 471,
+ 497,
+ 209,
+ 743,
+ 284,
+ 3,
+ 813,
+ 234,
+ 76,
+ 527,
+ 145,
+ 684,
+ 742,
+ 500,
+ 832,
+ 533,
+ 780,
+ 226,
+ 800,
+ 897,
+ 102,
+ 309,
+ 994,
+ 775,
+ 888,
+ 944,
+ 243,
+ 54,
+ 17,
+ 107,
+ 929,
+ 52,
+ 244,
+ 843,
+ 553,
+ 701,
+ 236,
+ 53,
+ 909,
+ 972,
+ 753,
+ 927,
+ 796,
+ 81,
+ 679,
+ 394,
+ 649,
+ 991,
+ 973,
+ 903,
+ 797,
+ 321,
+ 763,
+ 37,
+ 991,
+ 544,
+ 268,
+ 236,
+ 10,
+ 923,
+ 443,
+ 394,
+ 720,
+ 76,
+ 434,
+ 280,
+ 314,
+ 91,
+ 934,
+ 848,
+ 217,
+ 697,
+ 646,
+ 53,
+ 647,
+ 723,
+ 154,
+ 894,
+ 943,
+ 217,
+ 641,
+ 64,
+ 987,
+ 58,
+ 98,
+ 191,
+ 819,
+ 510,
+ 708,
+ 33,
+ 747,
+ 400,
+ 513,
+ 360,
+ 526,
+ 173,
+ 733,
+ 234,
+ 759,
+ 525,
+ 485,
+ 463,
+ 382,
+ 261,
+ 826,
+ 870,
+ 999,
+ 655,
+ 564,
+ 947,
+ 334,
+ 479,
+ 963,
+ 641,
+ 647,
+ 554,
+ 497,
+ 688,
+ 818,
+ 941,
+ 20,
+ 235,
+ 523,
+ 847,
+ 527,
+ 290,
+ 535,
+ 244,
+ 312,
+ 703,
+ 779,
+ 768,
+ 732,
+ 734,
+ 759,
+ 228,
+ 671,
+ 245,
+ 304,
+ 191,
+ 808,
+ 502,
+ 219,
+ 948,
+ 24,
+ 398,
+ 268,
+ 540,
+ 243,
+ 691,
+ 966,
+ 768,
+ 631,
+ 38,
+ 446,
+ 446,
+ 697,
+ 82,
+ 824,
+ 893,
+ 696,
+ 553,
+ 563,
+ 502,
+ 25,
+ 34,
+ 648,
+ 753,
+ 857,
+ 8,
+ 341,
+ 801,
+ 913,
+ 802,
+ 177,
+ 805,
+ 155,
+ 242,
+ 920,
+ 148,
+ 139,
+ 517,
+ 413,
+ 252,
+ 225,
+ 766,
+ 663,
+ 767,
+ 179,
+ 615,
+ 212,
+ 299,
+ 424,
+ 125,
+ 155,
+ 717,
+ 263,
+ 174,
+ 390,
+ 849,
+ 645,
+ 242,
+ 572,
+ 768,
+ 821,
+ 739,
+ 12,
+ 398,
+ 617,
+ 875,
+ 957,
+ 14,
+ 791,
+ 633,
+ 539,
+ 221,
+ 80,
+ 487,
+ 467,
+ 88,
+ 234,
+ 770,
+ 816,
+ 947,
+ 220,
+ 967,
+ 942,
+ 344,
+ 993,
+ 79,
+ 388,
+ 415,
+ 886,
+ 335,
+ 967,
+ 560,
+ 486,
+ 606,
+ 49,
+ 114,
+ 582,
+ 891,
+ 544,
+ 623,
+ 858,
+ 875,
+ 986,
+ 486,
+ 549,
+ 196,
+ 198,
+ 108,
+ 152,
+ 545,
+ 430,
+ 569,
+ 122,
+ 123,
+ 386,
+ 163,
+ 269,
+ 400,
+ 774,
+ 65,
+ 689,
+ 802,
+ 35,
+ 629,
+ 738,
+ 662,
+ 930,
+ 494,
+ 45,
+ 816,
+ 412,
+ 401,
+ 728,
+ 336,
+ 584,
+ 876,
+ 14,
+ 27,
+ 12,
+ 224,
+ 482,
+ 304,
+ 852,
+ 352,
+ 163,
+ 300,
+ 545,
+ 554,
+ 958,
+ 621,
+ 872,
+ 192,
+ 450,
+ 400,
+ 195,
+ 339,
+ 916,
+ 344,
+ 341,
+ 814,
+ 450,
+ 292,
+ 783,
+ 818,
+ 573,
+ 187,
+ 992,
+ 219,
+ 103,
+ 894,
+ 857,
+ 262,
+ 204,
+ 570,
+ 30,
+ 293,
+ 454,
+ 72,
+ 568,
+ 273,
+ 112,
+ 923,
+ 247,
+ 251,
+ 780,
+ 590,
+ 349,
+ 311,
+ 856,
+ 583,
+ 566,
+ 965,
+ 74,
+ 260,
+ 523,
+ 413,
+ 892,
+ 640,
+ 718,
+ 646,
+ 244,
+ 2,
+ 440,
+ 492,
+ 906,
+ 619,
+ 94,
+ 124,
+ 732,
+ 250,
+ 906,
+ 669,
+ 903,
+ 885,
+ 494,
+ 972,
+ 619,
+ 414,
+ 627,
+ 131,
+ 249,
+ 528,
+ 447,
+ 992,
+ 345,
+ 940,
+ 765,
+ 238,
+ 131,
+ 900,
+ 327,
+ 554,
+ 975,
+ 547,
+ 630,
+ 428,
+ 673,
+ 144,
+ 690,
+ 200,
+ 148,
+ 405,
+ 29,
+ 680,
+ 559,
+ 896,
+ 321,
+ 736,
+ 540,
+ 197,
+ 154,
+ 373,
+ 221,
+ 78,
+ 134,
+ 443,
+ 514,
+ 40,
+ 577,
+ 529,
+ 205,
+ 83,
+ 366,
+ 475,
+ 703,
+ 166,
+ 31,
+ 340,
+ 803,
+ 940,
+ 181,
+ 134,
+ 520,
+ 159,
+ 99,
+ 168,
+ 404,
+ 343,
+ 317,
+ 298,
+ 715,
+ 303,
+ 990,
+ 32,
+ 999,
+ 653,
+ 151,
+ 913,
+ 449,
+ 884,
+ 571,
+ 139,
+ 806,
+ 296,
+ 375,
+ 476,
+ 206,
+ 45,
+ 991,
+ 607,
+ 5,
+ 851,
+ 283,
+ 642,
+ 396,
+ 370,
+ 25,
+ 24,
+ 418,
+ 679,
+ 469,
+ 607,
+ 355,
+ 600,
+ 83,
+ 32,
+ 787,
+ 834,
+ 972,
+ 351,
+ 948,
+ 356,
+ 270,
+ 606,
+ 322,
+ 279,
+ 966,
+ 138,
+ 832,
+ 428,
+ 306,
+ 889,
+ 828,
+ 34,
+ 449,
+ 879,
+ 205,
+ 227,
+ 67,
+ 132,
+ 845,
+ 506,
+ 317,
+ 867,
+ 353,
+ 804,
+ 532,
+ 41,
+ 157,
+ 400,
+ 691,
+ 424,
+ 812,
+ 523,
+ 232,
+ 584,
+ 885,
+ 556,
+ 504,
+ 985,
+ 322,
+ 969,
+ 371,
+ 391,
+ 98,
+ 941,
+ 26,
+ 178,
+ 774,
+ 463,
+ 997,
+ 240,
+ 265,
+ 783,
+ 393,
+ 970,
+ 984,
+ 767,
+ 198,
+ 352,
+ 641,
+ 75,
+ 295,
+ 130,
+ 103,
+ 967,
+ 755,
+ 140,
+ 35,
+ 36,
+ 632,
+ 140,
+ 31,
+ 343,
+ 311,
+ 875,
+ 957,
+ 214,
+ 594,
+ 102,
+ 708,
+ 704,
+ 42,
+ 385,
+ 66,
+ 207,
+ 462,
+ 7,
+ 629,
+ 996,
+ 45,
+ 239,
+ 67,
+ 320,
+ 572,
+ 870,
+ 745,
+ 491,
+ 347,
+ 526,
+ 400,
+ 699,
+ 754,
+ 976,
+ 956,
+ 954,
+ 794,
+ 539,
+ 303,
+ 659,
+ 358,
+ 240,
+ 499,
+ 659,
+ 623,
+ 633,
+ 84,
+ 969,
+ 47,
+ 38,
+ 147,
+ 473,
+ 237,
+ 108,
+ 223,
+ 587,
+ 983,
+ 835,
+ 709,
+ 650,
+ 654,
+ 290,
+ 457,
+ 508,
+ 179,
+ 41,
+ 861,
+ 141,
+ 415,
+ 338,
+ 134,
+ 768,
+ 896,
+ 332,
+ 774,
+ 619,
+ 168,
+ 326,
+ 995,
+ 974,
+ 888,
+ 405,
+ 863,
+ 48,
+ 321,
+ 634,
+ 321,
+ 270,
+ 859,
+ 323,
+ 320,
+ 737,
+ 558,
+ 628,
+ 600,
+ 523,
+ 806,
+ 90,
+ 149,
+ 997,
+ 588,
+ 708,
+ 940,
+ 616,
+ 975,
+ 302,
+ 113,
+ 670,
+ 369,
+ 987,
+ 171,
+ 900,
+ 669,
+ 758,
+ 668,
+ 439,
+ 111,
+ 749,
+ 85,
+ 423,
+ 868,
+ 299,
+ 854,
+ 861,
+ 512,
+ 673,
+ 594,
+ 180,
+ 719,
+ 880,
+ 377,
+ 927,
+ 123,
+ 93,
+ 351,
+ 135,
+ 116,
+ 681,
+ 353,
+ 159,
+ 981,
+ 788,
+ 232,
+ 670,
+ 43,
+ 414,
+ 383,
+ 448,
+ 113,
+ 401,
+ 103,
+ 514,
+ 158,
+ 22,
+ 537,
+ 72,
+ 392,
+ 763,
+ 35,
+ 420,
+ 434,
+ 526,
+ 732,
+ 53,
+ 193,
+ 681,
+ 185,
+ 586,
+ 476,
+ 362,
+ 274,
+ 409,
+ 658,
+ 165,
+ 767,
+ 233,
+ 389,
+ 776,
+ 179,
+ 432,
+ 84,
+ 27,
+ 691,
+ 946,
+ 470,
+ 906,
+ 144,
+ 423,
+ 226,
+ 616,
+ 247,
+ 503,
+ 52,
+ 921,
+ 450,
+ 596,
+ 634,
+ 189,
+ 640,
+ 812,
+ 892,
+ 964,
+ 903,
+ 866,
+ 914,
+ 506,
+ 858,
+ 104,
+ 335,
+ 545,
+ 557,
+ 515,
+ 707,
+ 797,
+ 965,
+ 331,
+ 927,
+ 376,
+ 757,
+ 886,
+ 154,
+ 827,
+ 675,
+ 744,
+ 712,
+ 717,
+ 977,
+ 168,
+ 49,
+ 739,
+ 407,
+ 50,
+ 224,
+ 180,
+ 317,
+ 364,
+ 594,
+ 696,
+ 318,
+ 336,
+ 734,
+ 293,
+ 497,
+ 469,
+ 988,
+ 653,
+ 241,
+ 114,
+ 982,
+ 927,
+ 708,
+ 609,
+ 851,
+ 256,
+ 225,
+ 51,
+ 194,
+ 14,
+ 282,
+ 557,
+ 892,
+ 905,
+ 457,
+ 759,
+ 466,
+ 622,
+ 351,
+ 245,
+ 5,
+ 449,
+ 80,
+ 548,
+ 213,
+ 711,
+ 458,
+ 106,
+ 713,
+ 94,
+ 587,
+ 650,
+ 853,
+ 41,
+ 578,
+ 515,
+ 946,
+ 3,
+ 758,
+ 437,
+ 935,
+ 967,
+ 284,
+ 783,
+ 525,
+ 306,
+ 820,
+ 175,
+ 216,
+ 350,
+ 866,
+ 535,
+ 369,
+ 843,
+ 642,
+ 848,
+ 648,
+ 44,
+ 796,
+ 390,
+ 983,
+ 292,
+ 352,
+ 992,
+ 122,
+ 715,
+ 123,
+ 2,
+ 83,
+ 193,
+ 711,
+ 329,
+ 242,
+ 453,
+ 600,
+ 770,
+ 969,
+ 90,
+ 259,
+ 71,
+ 253,
+ 311,
+ 865,
+ 679,
+ 120,
+ 409,
+ 329,
+ 113,
+ 636,
+ 784,
+ 548,
+ 5,
+ 162,
+ 555,
+ 82,
+ 479,
+ 168,
+ 984,
+ 802,
+ 681,
+ 497,
+ 996,
+ 382,
+ 339,
+ 55,
+ 947,
+ 117,
+ 162,
+ 275,
+ 493,
+ 410,
+ 234,
+ 69,
+ 54,
+ 817,
+ 985,
+ 639,
+ 479,
+ 362,
+ 394,
+ 939,
+ 494,
+ 462,
+ 642,
+ 301,
+ 983,
+ 350,
+ 923,
+ 244,
+ 565,
+ 587,
+ 811,
+ 130,
+ 2,
+ 249,
+ 56,
+ 722,
+ 814,
+ 940,
+ 346,
+ 233,
+ 575,
+ 764,
+ 917,
+ 981,
+ 350,
+ 589,
+ 969,
+ 834,
+ 506,
+ 623,
+ 448,
+ 515,
+ 715,
+ 397,
+ 395,
+ 174,
+ 196,
+ 337,
+ 713,
+ 560,
+ 686,
+ 836,
+ 837,
+ 544,
+ 582,
+ 586,
+ 883,
+ 968,
+ 810,
+ 164,
+ 568,
+ 109,
+ 333,
+ 703,
+ 3,
+ 719,
+ 500,
+ 530,
+ 11,
+ 628,
+ 164,
+ 246,
+ 446,
+ 472,
+ 883,
+ 142,
+ 978,
+ 127,
+ 127,
+ 837,
+ 156,
+ 66,
+ 142,
+ 382,
+ 852,
+ 608,
+ 956,
+ 287,
+ 553,
+ 284,
+ 347,
+ 23,
+ 358,
+ 964,
+ 746,
+ 894,
+ 32,
+ 258,
+ 788,
+ 404,
+ 75,
+ 587,
+ 955,
+ 593,
+ 640,
+ 828,
+ 977,
+ 428,
+ 189,
+ 421,
+ 587,
+ 31,
+ 41,
+ 718,
+ 490,
+ 535,
+ 330,
+ 589,
+ 256,
+ 762,
+ 629,
+ 586,
+ 916,
+ 745,
+ 353,
+ 114,
+ 385,
+ 517,
+ 1,
+ 279,
+ 673,
+ 638,
+ 516,
+ 273,
+ 953,
+ 822,
+ 323,
+ 973,
+ 946,
+ 715,
+ 414,
+ 811,
+ 28,
+ 804,
+ 139,
+ 254,
+ 110,
+ 811,
+ 684,
+ 405,
+ 174,
+ 97,
+ 444,
+ 222,
+ 329,
+ 911,
+ 670,
+ 642,
+ 424,
+ 24,
+ 129,
+ 772,
+ 432,
+ 372,
+ 124,
+ 43,
+ 396,
+ 319,
+ 386,
+ 934,
+ 153,
+ 697,
+ 562,
+ 375,
+ 838,
+ 510,
+ 574,
+ 8,
+ 870,
+ 677,
+ 326,
+ 410,
+ 19,
+ 510,
+ 433,
+ 893,
+ 768,
+ 853,
+ 775,
+ 994,
+ 851,
+ 611,
+ 885,
+ 212,
+ 885,
+ 411,
+ 597,
+ 36,
+ 951,
+ 482,
+ 530,
+ 572,
+ 492,
+ 583,
+ 749,
+ 579,
+ 293,
+ 315,
+ 783,
+ 31,
+ 789,
+ 298,
+ 772,
+ 697,
+ 113,
+ 87,
+ 624,
+ 402,
+ 939,
+ 214,
+ 569,
+ 92,
+ 324,
+ 338,
+ 680,
+ 627,
+ 979,
+ 679,
+ 685,
+ 954,
+ 247,
+ 130,
+ 718,
+ 993,
+ 444,
+ 692,
+ 459,
+ 652,
+ 877,
+ 733,
+ 689,
+ 848,
+ 63,
+ 325,
+ 90,
+ 638,
+ 494,
+ 278,
+ 454,
+ 490,
+ 807,
+ 30,
+ 904,
+ 133,
+ 648,
+ 201,
+ 990,
+ 662,
+ 647,
+ 987,
+ 94,
+ 103,
+ 886,
+ 386,
+ 578,
+ 667,
+ 536,
+ 754,
+ 56,
+ 382,
+ 963,
+ 506,
+ 825,
+ 173,
+ 850,
+ 635,
+ 796,
+ 229,
+ 893,
+ 785,
+ 30,
+ 143,
+ 375,
+ 306,
+ 367,
+ 888,
+ 996,
+ 908,
+ 332,
+ 239,
+ 925,
+ 603,
+ 189,
+ 160,
+ 738,
+ 16,
+ 403,
+ 222,
+ 546,
+ 469,
+ 416,
+ 29,
+ 914,
+ 212,
+ 666,
+ 260,
+ 352,
+ 592,
+ 389,
+ 793,
+ 834,
+ 43,
+ 260,
+ 583,
+ 984,
+ 590,
+ 508,
+ 347,
+ 115,
+ 199,
+ 309,
+ 508,
+ 400,
+ 669,
+ 110,
+ 201,
+ 5,
+ 575,
+ 500,
+ 292,
+ 759,
+ 898,
+ 671,
+ 612,
+ 438,
+ 33,
+ 561,
+ 560,
+ 205,
+ 719,
+ 987,
+ 263,
+ 313,
+ 144,
+ 189,
+ 429,
+ 366,
+ 229,
+ 618,
+ 384,
+ 865,
+ 278,
+ 926,
+ 329,
+ 869,
+ 930,
+ 789,
+ 925,
+ 797,
+ 554,
+ 442,
+ 595,
+ 979,
+ 276,
+ 72,
+ 960,
+ 883,
+ 436,
+ 816,
+ 70,
+ 631,
+ 956,
+ 704,
+ 691,
+ 775,
+ 67,
+ 196,
+ 246,
+ 324,
+ 260,
+ 252,
+ 68,
+ 442,
+ 493,
+ 266,
+ 873,
+ 264,
+ 920,
+ 686,
+ 970,
+ 661,
+ 807,
+ 496,
+ 214,
+ 225,
+ 80,
+ 505,
+ 837,
+ 965,
+ 360,
+ 494,
+ 233,
+ 584,
+ 268,
+ 618,
+ 633,
+ 894,
+ 994,
+ 110,
+ 917,
+ 711,
+ 214,
+ 832,
+ 291,
+ 354,
+ 961,
+ 142,
+ 343,
+ 548,
+ 803,
+ 661,
+ 706,
+ 969,
+ 201,
+ 938,
+ 706,
+ 438,
+ 922,
+ 228,
+ 775,
+ 736,
+ 91,
+ 948,
+ 581,
+ 564,
+ 370,
+ 995,
+ 653,
+ 252,
+ 872,
+ 70,
+ 990,
+ 323,
+ 392,
+ 48,
+ 737,
+ 957,
+ 660,
+ 405,
+ 290,
+ 886,
+ 550,
+ 86,
+ 426,
+ 678,
+ 908,
+ 325,
+ 65,
+ 845,
+ 933,
+ 918,
+ 393,
+ 504,
+ 272,
+ 785,
+ 526,
+ 480,
+ 331,
+ 400,
+ 514,
+ 940,
+ 121,
+ 9,
+ 965,
+ 907,
+ 165,
+ 521,
+ 825,
+ 40,
+ 251,
+ 227,
+ 739,
+ 370,
+ 606,
+ 572,
+ 70,
+ 118,
+ 684,
+ 236,
+ 809,
+ 947,
+ 221,
+ 588,
+ 369,
+ 826,
+ 554,
+ 206,
+ 353,
+ 168,
+ 995,
+ 549,
+ 733,
+ 42,
+ 297,
+ 346,
+ 495,
+ 684,
+ 266,
+ 672,
+ 400,
+ 150,
+ 178,
+ 45,
+ 40,
+ 723,
+ 527,
+ 349,
+ 985,
+ 279,
+ 965,
+ 668,
+ 29,
+ 684,
+ 447,
+ 152,
+ 241,
+ 801,
+ 335,
+ 777,
+ 601,
+ 968,
+ 997,
+ 614,
+ 762,
+ 586,
+ 540,
+ 429,
+ 174,
+ 626,
+ 770,
+ 855,
+ 522,
+ 250,
+ 846,
+ 878,
+ 412,
+ 566,
+ 995,
+ 715,
+ 880,
+ 819,
+ 67,
+ 152,
+ 154,
+ 331,
+ 191,
+ 879,
+ 869,
+ 201,
+ 642,
+ 229,
+ 298,
+ 251,
+ 182,
+ 871,
+ 757,
+ 905,
+ 462,
+ 7,
+ 9,
+ 896,
+ 234,
+ 51,
+ 579,
+ 603,
+ 265,
+ 850,
+ 203,
+ 62,
+ 577,
+ 812,
+ 511,
+ 816,
+ 498,
+ 805,
+ 35,
+ 358,
+ 144,
+ 77,
+ 731,
+ 198,
+ 647,
+ 679,
+ 697,
+ 766,
+ 553,
+ 980,
+ 49,
+ 337,
+ 803,
+ 387,
+ 593,
+ 459,
+ 286,
+ 352,
+ 798,
+ 154,
+ 888,
+ 494,
+ 914,
+ 961,
+ 547,
+ 154,
+ 802,
+ 889,
+ 726,
+ 638,
+ 740,
+ 710,
+ 263,
+ 126,
+ 509,
+ 220,
+ 626,
+ 650,
+ 40,
+ 821,
+ 979,
+ 240,
+ 371,
+ 936,
+ 7,
+ 926,
+ 252,
+ 142,
+ 200,
+ 1,
+ 801,
+ 252,
+ 208,
+ 605,
+ 516,
+ 777,
+ 997,
+ 370,
+ 869,
+ 523,
+ 651,
+ 799,
+ 321,
+ 938,
+ 575,
+ 397,
+ 289,
+ 704,
+ 359,
+ 99,
+ 245,
+ 635,
+ 79,
+ 849,
+ 375,
+ 753,
+ 806,
+ 315,
+ 21,
+ 871,
+ 991,
+ 828,
+ 942,
+ 478,
+ 651,
+ 532,
+ 357,
+ 482,
+ 76,
+ 536,
+ 603,
+ 8,
+ 941,
+ 541,
+ 639,
+ 924,
+ 709,
+ 648,
+ 169,
+ 84,
+ 810,
+ 836,
+ 724,
+ 997,
+ 346,
+ 945,
+ 961,
+ 296,
+ 708,
+ 790,
+ 640,
+ 0,
+ 829,
+ 692,
+ 178,
+ 258,
+ 727,
+ 958,
+ 490,
+ 169,
+ 612,
+ 232,
+ 33,
+ 526,
+ 776,
+ 947,
+ 161,
+ 697,
+ 20,
+ 930,
+ 57,
+ 630,
+ 359,
+ 716,
+ 247,
+ 214,
+ 839,
+ 662,
+ 141,
+ 401,
+ 157,
+ 436,
+ 98,
+ 173,
+ 390,
+ 620,
+ 608,
+ 14,
+ 518,
+ 880,
+ 749,
+ 218,
+ 704,
+ 902,
+ 131,
+ 663,
+ 288,
+ 797,
+ 171,
+ 316,
+ 89,
+ 806,
+ 367,
+ 513,
+ 666,
+ 917,
+ 660,
+ 891,
+ 835,
+ 610,
+ 822,
+ 88,
+ 765,
+ 760,
+ 69,
+ 579,
+ 16,
+ 202,
+ 470,
+ 973,
+ 542,
+ 21,
+ 853,
+ 905,
+ 108,
+ 62,
+ 285,
+ 313,
+ 337,
+ 488,
+ 546,
+ 482,
+ 575,
+ 385,
+ 997,
+ 73,
+ 919,
+ 939,
+ 503,
+ 888,
+ 345,
+ 666,
+ 425,
+ 722,
+ 864,
+ 831,
+ 432,
+ 542,
+ 196,
+ 536,
+ 582,
+ 275,
+ 489,
+ 793,
+ 835,
+ 457,
+ 645,
+ 275,
+ 499,
+ 7,
+ 759,
+ 959,
+ 400,
+ 983,
+ 387,
+ 768,
+ 928,
+ 858,
+ 938,
+ 938,
+ 258,
+ 457,
+ 166,
+ 547,
+ 954,
+ 505,
+ 483,
+ 868,
+ 556,
+ 994,
+ 752,
+ 163,
+ 301,
+ 340,
+ 445,
+ 641,
+ 436,
+ 439,
+ 935,
+ 91,
+ 736,
+ 277,
+ 895,
+ 935,
+ 139,
+ 582,
+ 208,
+ 309,
+ 468,
+ 784,
+ 847,
+ 991,
+ 571,
+ 561,
+ 573,
+ 143,
+ 181,
+ 99,
+ 232,
+ 691,
+ 567,
+ 634,
+ 352,
+ 775,
+ 39,
+ 173,
+ 877,
+ 688,
+ 845,
+ 102,
+ 565,
+ 760,
+ 585,
+ 920,
+ 979,
+ 563,
+ 839,
+ 324,
+ 987,
+ 541,
+ 557,
+ 904,
+ 658,
+ 830,
+ 141,
+ 77,
+ 955,
+ 19,
+ 357,
+ 939,
+ 324,
+ 793,
+ 604,
+ 731,
+ 535,
+ 848,
+ 527,
+ 392,
+ 804,
+ 771,
+ 202,
+ 955,
+ 996,
+ 904,
+ 290,
+ 762,
+ 368,
+ 552,
+ 30,
+ 277,
+ 784,
+ 204,
+ 446,
+ 829,
+ 367,
+ 857,
+ 180,
+ 880,
+ 148,
+ 946,
+ 447,
+ 309,
+ 315,
+ 858,
+ 231,
+ 664,
+ 490,
+ 946,
+ 242,
+ 443,
+ 448,
+ 309,
+ 869,
+ 650,
+ 431,
+ 141,
+ 990,
+ 745,
+ 850,
+ 593,
+ 62,
+ 580,
+ 690,
+ 158,
+ 28,
+ 98,
+ 371,
+ 567,
+ 309,
+ 647,
+ 651,
+ 602,
+ 647,
+ 949,
+ 938,
+ 848,
+ 612,
+ 239,
+ 812,
+ 521,
+ 37,
+ 121,
+ 756,
+ 674,
+ 948,
+ 735,
+ 779,
+ 668,
+ 515,
+ 320,
+ 142,
+ 154,
+ 266,
+ 582,
+ 941,
+ 887,
+ 171,
+ 277,
+ 392,
+ 489,
+ 603,
+ 654,
+ 492,
+ 670,
+ 313,
+ 768,
+ 51,
+ 545,
+ 424,
+ 497,
+ 834,
+ 457,
+ 577,
+ 798,
+ 243,
+ 695,
+ 722,
+ 429,
+ 691,
+ 209,
+ 363,
+ 179,
+ 302,
+ 152,
+ 647,
+ 743,
+ 158,
+ 234,
+ 127,
+ 993,
+ 971,
+ 477,
+ 26,
+ 345,
+ 84,
+ 737,
+ 585,
+ 496,
+ 220,
+ 465,
+ 126,
+ 125,
+ 991,
+ 870,
+ 645,
+ 502,
+ 531,
+ 63,
+ 347,
+ 616,
+ 580,
+ 96,
+ 315,
+ 286,
+ 264,
+ 230,
+ 432,
+ 274,
+ 537,
+ 733,
+ 708,
+ 931,
+ 224,
+ 871,
+ 886,
+ 843,
+ 727,
+ 249,
+ 306,
+ 691,
+ 887,
+ 763,
+ 899,
+ 717,
+ 480,
+ 411,
+ 124,
+ 990,
+ 895,
+ 767,
+ 252,
+ 398,
+ 713,
+ 893,
+ 935,
+ 773,
+ 998,
+ 625,
+ 849,
+ 380,
+ 761,
+ 627,
+ 125,
+ 541,
+ 108,
+ 177,
+ 508,
+ 824,
+ 640,
+ 320,
+ 809,
+ 788,
+ 513,
+ 115,
+ 65,
+ 270,
+ 584,
+ 422,
+ 17,
+ 840,
+ 587,
+ 778,
+ 703,
+ 433,
+ 399,
+ 92,
+ 570,
+ 325,
+ 22,
+ 452,
+ 950,
+ 105,
+ 459,
+ 671,
+ 7,
+ 357,
+ 713,
+ 106,
+ 871,
+ 94,
+ 404,
+ 948,
+ 530,
+ 631,
+ 679,
+ 806,
+ 774,
+ 371,
+ 124,
+ 529,
+ 513,
+ 26,
+ 859,
+ 172,
+ 331,
+ 566,
+ 434,
+ 1,
+ 970,
+ 56,
+ 18,
+ 411,
+ 123,
+ 316,
+ 194,
+ 574,
+ 190,
+ 302,
+ 548,
+ 643,
+ 635,
+ 871,
+ 630,
+ 207,
+ 193,
+ 984,
+ 963,
+ 623,
+ 742,
+ 257,
+ 336,
+ 153,
+ 792,
+ 967,
+ 235,
+ 506,
+ 401,
+ 408,
+ 45,
+ 648,
+ 153,
+ 364,
+ 320,
+ 619,
+ 949,
+ 354,
+ 243,
+ 437,
+ 646,
+ 675,
+ 74,
+ 658,
+ 781,
+ 24,
+ 282,
+ 902,
+ 530,
+ 403,
+ 499,
+ 962,
+ 787,
+ 980,
+ 815,
+ 163,
+ 921,
+ 355,
+ 375,
+ 103,
+ 223,
+ 556,
+ 860,
+ 636,
+ 420,
+ 212,
+ 690,
+ 559,
+ 39,
+ 222,
+ 201,
+ 70,
+ 282,
+ 83,
+ 53,
+ 83,
+ 520,
+ 716,
+ 286,
+ 149,
+ 456,
+ 277,
+ 130,
+ 500,
+ 379,
+ 495,
+ 485,
+ 729,
+ 922,
+ 762,
+ 59,
+ 880,
+ 432,
+ 6,
+ 500,
+ 19,
+ 982,
+ 612,
+ 22,
+ 812,
+ 278,
+ 222,
+ 897,
+ 854,
+ 360,
+ 719,
+ 923,
+ 264,
+ 120,
+ 760,
+ 427,
+ 520,
+ 304,
+ 800,
+ 411,
+ 720,
+ 729,
+ 399,
+ 207,
+ 336,
+ 917,
+ 368,
+ 763,
+ 560,
+ 568,
+ 609,
+ 361,
+ 359,
+ 253,
+ 672,
+ 742,
+ 141,
+ 397,
+ 292,
+ 262,
+ 881,
+ 258,
+ 564,
+ 566,
+ 72,
+ 633,
+ 920,
+ 904,
+ 419,
+ 990,
+ 10,
+ 812,
+ 547,
+ 545,
+ 232,
+ 129,
+ 284,
+ 975,
+ 178,
+ 483,
+ 75,
+ 780,
+ 562,
+ 910,
+ 277,
+ 107,
+ 836,
+ 912,
+ 638,
+ 896,
+ 204,
+ 861,
+ 507,
+ 604,
+ 103,
+ 868,
+ 644,
+ 496,
+ 215,
+ 215,
+ 553,
+ 645,
+ 398,
+ 752,
+ 352,
+ 984,
+ 6,
+ 846,
+ 49,
+ 811,
+ 354,
+ 263,
+ 286,
+ 518,
+ 269,
+ 639,
+ 74,
+ 637,
+ 917,
+ 15,
+ 244,
+ 539,
+ 595,
+ 545,
+ 856,
+ 68,
+ 354,
+ 968,
+ 10,
+ 256,
+ 106,
+ 124,
+ 864,
+ 595,
+ 936,
+ 194,
+ 956,
+ 201,
+ 612,
+ 603,
+ 546,
+ 703,
+ 582,
+ 139,
+ 436,
+ 716,
+ 605,
+ 65,
+ 832,
+ 103,
+ 742,
+ 511,
+ 26,
+ 122,
+ 309,
+ 599,
+ 251,
+ 324,
+ 507,
+ 125,
+ 294,
+ 877,
+ 45,
+ 956,
+ 27,
+ 330,
+ 36,
+ 80,
+ 298,
+ 272,
+ 438,
+ 243,
+ 437,
+ 741,
+ 121,
+ 507,
+ 674,
+ 194,
+ 263,
+ 440,
+ 772,
+ 93,
+ 3,
+ 139,
+ 173,
+ 594,
+ 174,
+ 770,
+ 954,
+ 393,
+ 549,
+ 33,
+ 435,
+ 836,
+ 75,
+ 842,
+ 469,
+ 887,
+ 919,
+ 901,
+ 326,
+ 898,
+ 346,
+ 314,
+ 389,
+ 818,
+ 663,
+ 371,
+ 843,
+ 363,
+ 959,
+ 215,
+ 802,
+ 218,
+ 776,
+ 153,
+ 648,
+ 150,
+ 257,
+ 31,
+ 711,
+ 335,
+ 516,
+ 582,
+ 317,
+ 999,
+ 393,
+ 435,
+ 371,
+ 926,
+ 507,
+ 933,
+ 925,
+ 825,
+ 554,
+ 870,
+ 845,
+ 194,
+ 588,
+ 423,
+ 819,
+ 698,
+ 312,
+ 107,
+ 541,
+ 443,
+ 833,
+ 20,
+ 79,
+ 147,
+ 331,
+ 986,
+ 784,
+ 130,
+ 261,
+ 714,
+ 537,
+ 500,
+ 363,
+ 259,
+ 122,
+ 506,
+ 550,
+ 204,
+ 466,
+ 763,
+ 650,
+ 360,
+ 826,
+ 385,
+ 189,
+ 836,
+ 807,
+ 862,
+ 943,
+ 431,
+ 547,
+ 300,
+ 682,
+ 336,
+ 71,
+ 467,
+ 871,
+ 6,
+ 207,
+ 214,
+ 482,
+ 128,
+ 42,
+ 151,
+ 788,
+ 597,
+ 644,
+ 217,
+ 507,
+ 653,
+ 330,
+ 660,
+ 696,
+ 287,
+ 513,
+ 506,
+ 124,
+ 348,
+ 195,
+ 344,
+ 480,
+ 112,
+ 839,
+ 497,
+ 751,
+ 689,
+ 579,
+ 820,
+ 490,
+ 903,
+ 809,
+ 790,
+ 409,
+ 684,
+ 708,
+ 538,
+ 177,
+ 77,
+ 702,
+ 997,
+ 846,
+ 958,
+ 767,
+ 174,
+ 206,
+ 236,
+ 340,
+ 66,
+ 495,
+ 364,
+ 833,
+ 710,
+ 598,
+ 889,
+ 36,
+ 413,
+ 485,
+ 27,
+ 824,
+ 138,
+ 864,
+ 146,
+ 890,
+ 855,
+ 133,
+ 57,
+ 788,
+ 755,
+ 597,
+ 256,
+ 76,
+ 75,
+ 795,
+ 970,
+ 384,
+ 463,
+ 528,
+ 142,
+ 232,
+ 973,
+ 961,
+ 696,
+ 231,
+ 251,
+ 918,
+ 383,
+ 264,
+ 229,
+ 103,
+ 610,
+ 505,
+ 311,
+ 725,
+ 203,
+ 414,
+ 53,
+ 258,
+ 973,
+ 293,
+ 254,
+ 782,
+ 26,
+ 490,
+ 190,
+ 927,
+ 341,
+ 479,
+ 858,
+ 804,
+ 463,
+ 457,
+ 47,
+ 718,
+ 205,
+ 521,
+ 107,
+ 171,
+ 414,
+ 845,
+ 941,
+ 865,
+ 778,
+ 315,
+ 513,
+ 236,
+ 669,
+ 681,
+ 187,
+ 964,
+ 875,
+ 548,
+ 869,
+ 157,
+ 782,
+ 876,
+ 820,
+ 436,
+ 595,
+ 304,
+ 452,
+ 667,
+ 827,
+ 803,
+ 227,
+ 466,
+ 253,
+ 874,
+ 43,
+ 987,
+ 416,
+ 64,
+ 529,
+ 943,
+ 471,
+ 753,
+ 259,
+ 81,
+ 693,
+ 231,
+ 159,
+ 143,
+ 399,
+ 492,
+ 510,
+ 257,
+ 825,
+ 557,
+ 263,
+ 536,
+ 200,
+ 71,
+ 744,
+ 132,
+ 231,
+ 842,
+ 159,
+ 49,
+ 302,
+ 806,
+ 870,
+ 999,
+ 580,
+ 941,
+ 437,
+ 261,
+ 861,
+ 423,
+ 929,
+ 994,
+ 534,
+ 396,
+ 315,
+ 783,
+ 765,
+ 930,
+ 644,
+ 756,
+ 462,
+ 195,
+ 564,
+ 22,
+ 384,
+ 521,
+ 730,
+ 505,
+ 63,
+ 457,
+ 709,
+ 976,
+ 314,
+ 282,
+ 864,
+ 118,
+ 724,
+ 440,
+ 316,
+ 776,
+ 848,
+ 506,
+ 48,
+ 233,
+ 789,
+ 380,
+ 580,
+ 889,
+ 81,
+ 697,
+ 763,
+ 59,
+ 234,
+ 408,
+ 647,
+ 306,
+ 431,
+ 170,
+ 942,
+ 7,
+ 854,
+ 406,
+ 217,
+ 257,
+ 654,
+ 945,
+ 846,
+ 874,
+ 436,
+ 621,
+ 787,
+ 538,
+ 556,
+ 245,
+ 891,
+ 675,
+ 141,
+ 746,
+ 646,
+ 56,
+ 919,
+ 717,
+ 816,
+ 234,
+ 712,
+ 458,
+ 339,
+ 680,
+ 705,
+ 485,
+ 616,
+ 610,
+ 208,
+ 251,
+ 273,
+ 242,
+ 151,
+ 560,
+ 362,
+ 520,
+ 417,
+ 760,
+ 758,
+ 89,
+ 229,
+ 964,
+ 150,
+ 683,
+ 851,
+ 620,
+ 180,
+ 304,
+ 339,
+ 923,
+ 78,
+ 12,
+ 253,
+ 307,
+ 854,
+ 692,
+ 339,
+ 854,
+ 773,
+ 925,
+ 938,
+ 926,
+ 680,
+ 358,
+ 592,
+ 522,
+ 3,
+ 916,
+ 431,
+ 61,
+ 649,
+ 448,
+ 463,
+ 508,
+ 758,
+ 646,
+ 122,
+ 644,
+ 508,
+ 85,
+ 945,
+ 934,
+ 473,
+ 86,
+ 380,
+ 856,
+ 26,
+ 642,
+ 831,
+ 889,
+ 592,
+ 669,
+ 896,
+ 665,
+ 897,
+ 497,
+ 740,
+ 987,
+ 530,
+ 217,
+ 945,
+ 800,
+ 104,
+ 267,
+ 558,
+ 688,
+ 806,
+ 944,
+ 79,
+ 119,
+ 416,
+ 715,
+ 389,
+ 267,
+ 333,
+ 579,
+ 882,
+ 278,
+ 972,
+ 767,
+ 890,
+ 412,
+ 110,
+ 525,
+ 605,
+ 273,
+ 857,
+ 312,
+ 841,
+ 312,
+ 76,
+ 596,
+ 956,
+ 484,
+ 30,
+ 230,
+ 319,
+ 789,
+ 586,
+ 44,
+ 341,
+ 434,
+ 565,
+ 238,
+ 907,
+ 581,
+ 719,
+ 944,
+ 19,
+ 447,
+ 599,
+ 966,
+ 776,
+ 472,
+ 393,
+ 179,
+ 350,
+ 59,
+ 291,
+ 317,
+ 585,
+ 868,
+ 750,
+ 464,
+ 35,
+ 79,
+ 888,
+ 245,
+ 972,
+ 150,
+ 190,
+ 511,
+ 785,
+ 79,
+ 726,
+ 51,
+ 655,
+ 456,
+ 474,
+ 441,
+ 257,
+ 664,
+ 257,
+ 683,
+ 70,
+ 763,
+ 743,
+ 208,
+ 190,
+ 857,
+ 693,
+ 574,
+ 626,
+ 411,
+ 484,
+ 434,
+ 507,
+ 779,
+ 306,
+ 549,
+ 778,
+ 512,
+ 343,
+ 549,
+ 679,
+ 259,
+ 793,
+ 492,
+ 966,
+ 281,
+ 787,
+ 858,
+ 419,
+ 580,
+ 588,
+ 626,
+ 166,
+ 360,
+ 780,
+ 747,
+ 249,
+ 856,
+ 305,
+ 861,
+ 383,
+ 938,
+ 520,
+ 78,
+ 311,
+ 334,
+ 592,
+ 8,
+ 629,
+ 606,
+ 623,
+ 217,
+ 466,
+ 378,
+ 856,
+ 551,
+ 458,
+ 243,
+ 484,
+ 294,
+ 587,
+ 953,
+ 749,
+ 287,
+ 733,
+ 796,
+ 498,
+ 534,
+ 989,
+ 379,
+ 804,
+ 560,
+ 971,
+ 333,
+ 384,
+ 367,
+ 292,
+ 898,
+ 277,
+ 508,
+ 58,
+ 636,
+ 37,
+ 312,
+ 742,
+ 879,
+ 536,
+ 239,
+ 240,
+ 730,
+ 3,
+ 593,
+ 301,
+ 66,
+ 144,
+ 62,
+ 248,
+ 634,
+ 863,
+ 14,
+ 579,
+ 120,
+ 250,
+ 322,
+ 964,
+ 447,
+ 727,
+ 322,
+ 765,
+ 268,
+ 206,
+ 364,
+ 515,
+ 471,
+ 858,
+ 438,
+ 840,
+ 968,
+ 13,
+ 264,
+ 388,
+ 75,
+ 163,
+ 137,
+ 999,
+ 866,
+ 153,
+ 356,
+ 193,
+ 854,
+ 718,
+ 606,
+ 730,
+ 162,
+ 431,
+ 375,
+ 917,
+ 548,
+ 825,
+ 99,
+ 271,
+ 0,
+ 303,
+ 228,
+ 894,
+ 370,
+ 644,
+ 38,
+ 532,
+ 512,
+ 546,
+ 303,
+ 923,
+ 170,
+ 489,
+ 40,
+ 82,
+ 479,
+ 971,
+ 452,
+ 637,
+ 557,
+ 940,
+ 132,
+ 908,
+ 268,
+ 774,
+ 932,
+ 786,
+ 976,
+ 491,
+ 710,
+ 197,
+ 554,
+ 532,
+ 265,
+ 909,
+ 18,
+ 758,
+ 213,
+ 45,
+ 698,
+ 180,
+ 990,
+ 471,
+ 610,
+ 575,
+ 659,
+ 412,
+ 595,
+ 275,
+ 498,
+ 713,
+ 306,
+ 259,
+ 1,
+ 253,
+ 316,
+ 357,
+ 155,
+ 55,
+ 520,
+ 687,
+ 350,
+ 644,
+ 974,
+ 945,
+ 277,
+ 654,
+ 850,
+ 412,
+ 847,
+ 384,
+ 820,
+ 512,
+ 979,
+ 21,
+ 823,
+ 299,
+ 93,
+ 793,
+ 204,
+ 925,
+ 130,
+ 103,
+ 314,
+ 105,
+ 564,
+ 762,
+ 524,
+ 478,
+ 178,
+ 807,
+ 56,
+ 916,
+ 711,
+ 511,
+ 111,
+ 865,
+ 110,
+ 195,
+ 982,
+ 171,
+ 631,
+ 960,
+ 640,
+ 584,
+ 600,
+ 770,
+ 669,
+ 649,
+ 51,
+ 212,
+ 828,
+ 973,
+ 448,
+ 101,
+ 856,
+ 801,
+ 679,
+ 694,
+ 242,
+ 334,
+ 620,
+ 160,
+ 667,
+ 891,
+ 791,
+ 659,
+ 107,
+ 865,
+ 126,
+ 882,
+ 675,
+ 726,
+ 234,
+ 346,
+ 875,
+ 88,
+ 115,
+ 592,
+ 729,
+ 299,
+ 177,
+ 210,
+ 456,
+ 766,
+ 928,
+ 837,
+ 417,
+ 856,
+ 631,
+ 142,
+ 640,
+ 848,
+ 805,
+ 989,
+ 509,
+ 106,
+ 440,
+ 276,
+ 581,
+ 117,
+ 187,
+ 565,
+ 620,
+ 433,
+ 475,
+ 873,
+ 626,
+ 342,
+ 455,
+ 373,
+ 767,
+ 855,
+ 866,
+ 942,
+ 108,
+ 117,
+ 799,
+ 85,
+ 936,
+ 665,
+ 975,
+ 750,
+ 35,
+ 769,
+ 889,
+ 610,
+ 210,
+ 220,
+ 359,
+ 981,
+ 728,
+ 649,
+ 0,
+ 826,
+ 950,
+ 120,
+ 648,
+ 58,
+ 383,
+ 436,
+ 737,
+ 11,
+ 714,
+ 424,
+ 251,
+ 301,
+ 204,
+ 287,
+ 183,
+ 472,
+ 265,
+ 120,
+ 780,
+ 369,
+ 695,
+ 758,
+ 740,
+ 107,
+ 831,
+ 93,
+ 535,
+ 306,
+ 777,
+ 976,
+ 562,
+ 59,
+ 956,
+ 304,
+ 83,
+ 576,
+ 399,
+ 999,
+ 899,
+ 824,
+ 350,
+ 635,
+ 896,
+ 802,
+ 332,
+ 421,
+ 878,
+ 433,
+ 193,
+ 353,
+ 802,
+ 683,
+ 456,
+ 88,
+ 211,
+ 132,
+ 432,
+ 354,
+ 421,
+ 616,
+ 53,
+ 231,
+ 915,
+ 510,
+ 106,
+ 28,
+ 32,
+ 600,
+ 461,
+ 131,
+ 594,
+ 678,
+ 744,
+ 674,
+ 620,
+ 290,
+ 535,
+ 534,
+ 543,
+ 62,
+ 971,
+ 905,
+ 180,
+ 10,
+ 234,
+ 166,
+ 272,
+ 73,
+ 128,
+ 437,
+ 613,
+ 291,
+ 638,
+ 610,
+ 225,
+ 630,
+ 309,
+ 112,
+ 868,
+ 557,
+ 439,
+ 355,
+ 555,
+ 579,
+ 443,
+ 843,
+ 20,
+ 464,
+ 987,
+ 284,
+ 302,
+ 450,
+ 355,
+ 83,
+ 407,
+ 711,
+ 752,
+ 187,
+ 249,
+ 807,
+ 883,
+ 924,
+ 858,
+ 110,
+ 409,
+ 189,
+ 998,
+ 439,
+ 120,
+ 321,
+ 875,
+ 140,
+ 640,
+ 285,
+ 561,
+ 873,
+ 371,
+ 73,
+ 4,
+ 169,
+ 771,
+ 413,
+ 447,
+ 985,
+ 206,
+ 635,
+ 943,
+ 960,
+ 240,
+ 554,
+ 209,
+ 576,
+ 254,
+ 163,
+ 977,
+ 846,
+ 610,
+ 596,
+ 920,
+ 524,
+ 608,
+ 402,
+ 249,
+ 624,
+ 180,
+ 875,
+ 240,
+ 670,
+ 421,
+ 1,
+ 911,
+ 505,
+ 474,
+ 979,
+ 623,
+ 678,
+ 952,
+ 909,
+ 751,
+ 241,
+ 269,
+ 968,
+ 396,
+ 641,
+ 516,
+ 965,
+ 406,
+ 54,
+ 853,
+ 346,
+ 650,
+ 787,
+ 400,
+ 175,
+ 929,
+ 662,
+ 870,
+ 170,
+ 468,
+ 173,
+ 620,
+ 318,
+ 170,
+ 995,
+ 525,
+ 138,
+ 520,
+ 151,
+ 851,
+ 30,
+ 596,
+ 605,
+ 802,
+ 449,
+ 174,
+ 518,
+ 633,
+ 293,
+ 652,
+ 779,
+ 606,
+ 444,
+ 472,
+ 359,
+ 204,
+ 308,
+ 104,
+ 274,
+ 707,
+ 638,
+ 193,
+ 577,
+ 125,
+ 28,
+ 537,
+ 987,
+ 521,
+ 80,
+ 56,
+ 111,
+ 589,
+ 81,
+ 794,
+ 377,
+ 36,
+ 680,
+ 476,
+ 227,
+ 778,
+ 138,
+ 24,
+ 752,
+ 160,
+ 590,
+ 855,
+ 396,
+ 289,
+ 142,
+ 785,
+ 551,
+ 696,
+ 514,
+ 268,
+ 536,
+ 547,
+ 207,
+ 943,
+ 166,
+ 0,
+ 959,
+ 114,
+ 322,
+ 906,
+ 322,
+ 892,
+ 960,
+ 152,
+ 219,
+ 944,
+ 540,
+ 874,
+ 965,
+ 269,
+ 858,
+ 681,
+ 764,
+ 673,
+ 30,
+ 954,
+ 88,
+ 521,
+ 729,
+ 159,
+ 275,
+ 56,
+ 125,
+ 755,
+ 556,
+ 505,
+ 72,
+ 919,
+ 180,
+ 714,
+ 476,
+ 557,
+ 286,
+ 639,
+ 983,
+ 152,
+ 572,
+ 584,
+ 774,
+ 510,
+ 716,
+ 601,
+ 148,
+ 732,
+ 601,
+ 940,
+ 969,
+ 20,
+ 190,
+ 364,
+ 622,
+ 685,
+ 61,
+ 344,
+ 196,
+ 7,
+ 990,
+ 899,
+ 252,
+ 754,
+ 435,
+ 284,
+ 201,
+ 722,
+ 552,
+ 343,
+ 657,
+ 969,
+ 888,
+ 215,
+ 691,
+ 409,
+ 26,
+ 814,
+ 955,
+ 756,
+ 555,
+ 490,
+ 721,
+ 618,
+ 204,
+ 30,
+ 599,
+ 134,
+ 692,
+ 978,
+ 825,
+ 270,
+ 841,
+ 504,
+ 774,
+ 525,
+ 384,
+ 45,
+ 973,
+ 630,
+ 292,
+ 407,
+ 67,
+ 655,
+ 51,
+ 321,
+ 712,
+ 920,
+ 987,
+ 848,
+ 722,
+ 54,
+ 844,
+ 881,
+ 2,
+ 745,
+ 543,
+ 18,
+ 346,
+ 886,
+ 284,
+ 553,
+ 327,
+ 745,
+ 802,
+ 253,
+ 852,
+ 636,
+ 390,
+ 455,
+ 868,
+ 740,
+ 663,
+ 964,
+ 729,
+ 838,
+ 160,
+ 466,
+ 658,
+ 934,
+ 788,
+ 92,
+ 286,
+ 175,
+ 248,
+ 540,
+ 880,
+ 948,
+ 738,
+ 221,
+ 979,
+ 785,
+ 992,
+ 482,
+ 300,
+ 55,
+ 307,
+ 541,
+ 695,
+ 226,
+ 659,
+ 648,
+ 922,
+ 441,
+ 203,
+ 794,
+ 22,
+ 970,
+ 164,
+ 46,
+ 259,
+ 951,
+ 704,
+ 886,
+ 299,
+ 673,
+ 173,
+ 240,
+ 807,
+ 719,
+ 658,
+ 194,
+ 357,
+ 971,
+ 821,
+ 711,
+ 707,
+ 225,
+ 482,
+ 734,
+ 77,
+ 917,
+ 665,
+ 867,
+ 755,
+ 544,
+ 326,
+ 524,
+ 598,
+ 78,
+ 244,
+ 906,
+ 617,
+ 928,
+ 395,
+ 658,
+ 732,
+ 601,
+ 421,
+ 359,
+ 459,
+ 727,
+ 409,
+ 806,
+ 285,
+ 943,
+ 207,
+ 630,
+ 752,
+ 85,
+ 819,
+ 81,
+ 714,
+ 599,
+ 44,
+ 892,
+ 139,
+ 813,
+ 684,
+ 175,
+ 718,
+ 720,
+ 697,
+ 401,
+ 310,
+ 84,
+ 666,
+ 259,
+ 357,
+ 939,
+ 246,
+ 527,
+ 856,
+ 455,
+ 533,
+ 717,
+ 790,
+ 923,
+ 962,
+ 105,
+ 447,
+ 598,
+ 8,
+ 941,
+ 409,
+ 510,
+ 130,
+ 823,
+ 606,
+ 773,
+ 511,
+ 574,
+ 98,
+ 731,
+ 402,
+ 862,
+ 752,
+ 623,
+ 991,
+ 46,
+ 307,
+ 347,
+ 826,
+ 698,
+ 658,
+ 35,
+ 642,
+ 770,
+ 293,
+ 385,
+ 50,
+ 470,
+ 908,
+ 177,
+ 919,
+ 460,
+ 783,
+ 812,
+ 885,
+ 144,
+ 408,
+ 659,
+ 741,
+ 639,
+ 741,
+ 234,
+ 361,
+ 975,
+ 361,
+ 934,
+ 345,
+ 46,
+ 370,
+ 804,
+ 357,
+ 22,
+ 797,
+ 24,
+ 698,
+ 274,
+ 669,
+ 711,
+ 610,
+ 104,
+ 699,
+ 121,
+ 724,
+ 99,
+ 296,
+ 870,
+ 786,
+ 907,
+ 517,
+ 300,
+ 369,
+ 115,
+ 987,
+ 98,
+ 420,
+ 792,
+ 167,
+ 589,
+ 81,
+ 929,
+ 901,
+ 444,
+ 109,
+ 382,
+ 693,
+ 593,
+ 875,
+ 545,
+ 683,
+ 487,
+ 631,
+ 35,
+ 664,
+ 35,
+ 465,
+ 381,
+ 502,
+ 512,
+ 213,
+ 325,
+ 921,
+ 435,
+ 368,
+ 265,
+ 897,
+ 888,
+ 773,
+ 659,
+ 636,
+ 822,
+ 940,
+ 704,
+ 937,
+ 990,
+ 380,
+ 22,
+ 806,
+ 443,
+ 272,
+ 226,
+ 75,
+ 390,
+ 701,
+ 604,
+ 103,
+ 834,
+ 836,
+ 128,
+ 776,
+ 390,
+ 490,
+ 761,
+ 481,
+ 372,
+ 204,
+ 99,
+ 91,
+ 22,
+ 808,
+ 253,
+ 230,
+ 576,
+ 111,
+ 530,
+ 569,
+ 205,
+ 79,
+ 723,
+ 69,
+ 129,
+ 157,
+ 690,
+ 663,
+ 960,
+ 928,
+ 549,
+ 861,
+ 858,
+ 688,
+ 269,
+ 88,
+ 740,
+ 156,
+ 907,
+ 39,
+ 916,
+ 907,
+ 334,
+ 924,
+ 489,
+ 523,
+ 243,
+ 832,
+ 196,
+ 238,
+ 353,
+ 1,
+ 7,
+ 314,
+ 127,
+ 188,
+ 96,
+ 15,
+ 805,
+ 54,
+ 9,
+ 827,
+ 404,
+ 908,
+ 152,
+ 993,
+ 739,
+ 18,
+ 830,
+ 225,
+ 119,
+ 544,
+ 559,
+ 312,
+ 438,
+ 641,
+ 301,
+ 560,
+ 392,
+ 365,
+ 576,
+ 955,
+ 898,
+ 503,
+ 118,
+ 601,
+ 848,
+ 464,
+ 83,
+ 817,
+ 190,
+ 930,
+ 333,
+ 675,
+ 660,
+ 97,
+ 975,
+ 412,
+ 292,
+ 419,
+ 456,
+ 795,
+ 937,
+ 793,
+ 775,
+ 168,
+ 22,
+ 285,
+ 446,
+ 516,
+ 479,
+ 419,
+ 80,
+ 724,
+ 440,
+ 812,
+ 799,
+ 215,
+ 257,
+ 254,
+ 998,
+ 103,
+ 914,
+ 559,
+ 536,
+ 588,
+ 833,
+ 464,
+ 188,
+ 548,
+ 869,
+ 359,
+ 478,
+ 711,
+ 413,
+ 236,
+ 826,
+ 534,
+ 811,
+ 997,
+ 919,
+ 179,
+ 790,
+ 869,
+ 958,
+ 428,
+ 792,
+ 503,
+ 118,
+ 329,
+ 350,
+ 240,
+ 390,
+ 989,
+ 365,
+ 170,
+ 270,
+ 362,
+ 823,
+ 277,
+ 978,
+ 293,
+ 777,
+ 833,
+ 515,
+ 336,
+ 976,
+ 174,
+ 532,
+ 206,
+ 600,
+ 236,
+ 270,
+ 737,
+ 513,
+ 511,
+ 672,
+ 679,
+ 854,
+ 554,
+ 295,
+ 755,
+ 523,
+ 932,
+ 750,
+ 520,
+ 450,
+ 535,
+ 586,
+ 41,
+ 2,
+ 357,
+ 349,
+ 195,
+ 5,
+ 421,
+ 165,
+ 148,
+ 341,
+ 548,
+ 200,
+ 620,
+ 554,
+ 759,
+ 518,
+ 145,
+ 722,
+ 932,
+ 586,
+ 186,
+ 189,
+ 713,
+ 830,
+ 193,
+ 436,
+ 92,
+ 883,
+ 115,
+ 46,
+ 257,
+ 114,
+ 244,
+ 303,
+ 658,
+ 66,
+ 395,
+ 469,
+ 697,
+ 430,
+ 317,
+ 184,
+ 224,
+ 362,
+ 429,
+ 493,
+ 506,
+ 218,
+ 593,
+ 279,
+ 450,
+ 567,
+ 823,
+ 411,
+ 889,
+ 871,
+ 439,
+ 366,
+ 693,
+ 160,
+ 602,
+ 813,
+ 85,
+ 824,
+ 224,
+ 144,
+ 721,
+ 540,
+ 880,
+ 444,
+ 222,
+ 843,
+ 704,
+ 285,
+ 480,
+ 71,
+ 556,
+ 404,
+ 959,
+ 31,
+ 235,
+ 826,
+ 228,
+ 372,
+ 477,
+ 993,
+ 269,
+ 254,
+ 432,
+ 643,
+ 380,
+ 81,
+ 642,
+ 794,
+ 462,
+ 386,
+ 625,
+ 787,
+ 623,
+ 528,
+ 718,
+ 472,
+ 82,
+ 225,
+ 488,
+ 488,
+ 382,
+ 114,
+ 741,
+ 356,
+ 237,
+ 434,
+ 915,
+ 593,
+ 334,
+ 875,
+ 525,
+ 846,
+ 418,
+ 726,
+ 633,
+ 9,
+ 228,
+ 131,
+ 198,
+ 922,
+ 681,
+ 218,
+ 435,
+ 803,
+ 310,
+ 641,
+ 258,
+ 90,
+ 521,
+ 538,
+ 971,
+ 301,
+ 904,
+ 31,
+ 805,
+ 745,
+ 702,
+ 285,
+ 511,
+ 591,
+ 404,
+ 739,
+ 157,
+ 12,
+ 212,
+ 69,
+ 478,
+ 627,
+ 720,
+ 177,
+ 290,
+ 417,
+ 585,
+ 965,
+ 881,
+ 508,
+ 92,
+ 443,
+ 655,
+ 217,
+ 758,
+ 203,
+ 491,
+ 497,
+ 753,
+ 347,
+ 582,
+ 15,
+ 142,
+ 301,
+ 481,
+ 728,
+ 242,
+ 325,
+ 272,
+ 127,
+ 694,
+ 174,
+ 851,
+ 309,
+ 486,
+ 520,
+ 498,
+ 794,
+ 155,
+ 671,
+ 872,
+ 698,
+ 579,
+ 771,
+ 665,
+ 591,
+ 806,
+ 984,
+ 37,
+ 886,
+ 580,
+ 305,
+ 103,
+ 585,
+ 234,
+ 918,
+ 62,
+ 857,
+ 548,
+ 295,
+ 618,
+ 901,
+ 12,
+ 20,
+ 59,
+ 291,
+ 376,
+ 299,
+ 339,
+ 10,
+ 586,
+ 540,
+ 972,
+ 682,
+ 473,
+ 340,
+ 820,
+ 752,
+ 332,
+ 93,
+ 973,
+ 434,
+ 39,
+ 526,
+ 841,
+ 955,
+ 270,
+ 116,
+ 778,
+ 140,
+ 878,
+ 509,
+ 760,
+ 216,
+ 851,
+ 836,
+ 475,
+ 33,
+ 884,
+ 382,
+ 264,
+ 324,
+ 787,
+ 640,
+ 793,
+ 686,
+ 280,
+ 115,
+ 461,
+ 258,
+ 5,
+ 461,
+ 527,
+ 672,
+ 196,
+ 813,
+ 585,
+ 387,
+ 413,
+ 339,
+ 113,
+ 767,
+ 564,
+ 10,
+ 332,
+ 500,
+ 311,
+ 282,
+ 143,
+ 108,
+ 29,
+ 966,
+ 13,
+ 837,
+ 241,
+ 431,
+ 51,
+ 564,
+ 414,
+ 835,
+ 855,
+ 71,
+ 885,
+ 990,
+ 86,
+ 340,
+ 225,
+ 179,
+ 12,
+ 795,
+ 628,
+ 615,
+ 167,
+ 756,
+ 274,
+ 154,
+ 484,
+ 607,
+ 155,
+ 522,
+ 699,
+ 407,
+ 582,
+ 710,
+ 535,
+ 153,
+ 417,
+ 349,
+ 37,
+ 743,
+ 966,
+ 840,
+ 230,
+ 83,
+ 759,
+ 610,
+ 31,
+ 962,
+ 561,
+ 19,
+ 702,
+ 56,
+ 838,
+ 235,
+ 47,
+ 393,
+ 700,
+ 873,
+ 548,
+ 419,
+ 508,
+ 320,
+ 91,
+ 70,
+ 693,
+ 587,
+ 889,
+ 716,
+ 7,
+ 213,
+ 628,
+ 603,
+ 411,
+ 351,
+ 79,
+ 220,
+ 823,
+ 919,
+ 430,
+ 423,
+ 336,
+ 265,
+ 161,
+ 357,
+ 184,
+ 821,
+ 598,
+ 529,
+ 663,
+ 197,
+ 655,
+ 620,
+ 749,
+ 488,
+ 130,
+ 45,
+ 861,
+ 912,
+ 383,
+ 273,
+ 357,
+ 285,
+ 244,
+ 860,
+ 867,
+ 156,
+ 540,
+ 428,
+ 250,
+ 383,
+ 327,
+ 125,
+ 170,
+ 226,
+ 163,
+ 295,
+ 901,
+ 703,
+ 992,
+ 625,
+ 805,
+ 143,
+ 416,
+ 488,
+ 83,
+ 838,
+ 901,
+ 832,
+ 722,
+ 33,
+ 565,
+ 957,
+ 386,
+ 255,
+ 529,
+ 22,
+ 385,
+ 641,
+ 3,
+ 975,
+ 43,
+ 360,
+ 374,
+ 26,
+ 50,
+ 513,
+ 623,
+ 498,
+ 962,
+ 47,
+ 824,
+ 955,
+ 947,
+ 877,
+ 718,
+ 305,
+ 433,
+ 838,
+ 16,
+ 971,
+ 56,
+ 315,
+ 40,
+ 251,
+ 32,
+ 776,
+ 910,
+ 502,
+ 872,
+ 404,
+ 24,
+ 266,
+ 655,
+ 444,
+ 38,
+ 433,
+ 166,
+ 251,
+ 737,
+ 585,
+ 802,
+ 879,
+ 316,
+ 909,
+ 85,
+ 530,
+ 162,
+ 819,
+ 420,
+ 995,
+ 655,
+ 546,
+ 83,
+ 666,
+ 491,
+ 224,
+ 436,
+ 981,
+ 473,
+ 206,
+ 574,
+ 977,
+ 573,
+ 905,
+ 370,
+ 928,
+ 524,
+ 974,
+ 177,
+ 667,
+ 662,
+ 121,
+ 514,
+ 916,
+ 830,
+ 801,
+ 455,
+ 43,
+ 986,
+ 364,
+ 479,
+ 667,
+ 157,
+ 546,
+ 927,
+ 120,
+ 882,
+ 184,
+ 769,
+ 480,
+ 892,
+ 324,
+ 822,
+ 947,
+ 608,
+ 704,
+ 503,
+ 888,
+ 28,
+ 741,
+ 735,
+ 189,
+ 673,
+ 549,
+ 13,
+ 594,
+ 331,
+ 965,
+ 430,
+ 323,
+ 625,
+ 845,
+ 487,
+ 704,
+ 232,
+ 774,
+ 239,
+ 323,
+ 458,
+ 415,
+ 843,
+ 822,
+ 500,
+ 699,
+ 940,
+ 198,
+ 205,
+ 274,
+ 723,
+ 728,
+ 817,
+ 307,
+ 500,
+ 942,
+ 294,
+ 475,
+ 840,
+ 245,
+ 863,
+ 692,
+ 884,
+ 15,
+ 43,
+ 589,
+ 639,
+ 584,
+ 66,
+ 194,
+ 473,
+ 487,
+ 382,
+ 984,
+ 855,
+ 19,
+ 764,
+ 751,
+ 420,
+ 783,
+ 774,
+ 692,
+ 537,
+ 467,
+ 185,
+ 506,
+ 348,
+ 617,
+ 961,
+ 109,
+ 118,
+ 833,
+ 725,
+ 706,
+ 47,
+ 641,
+ 69,
+ 382,
+ 892,
+ 613,
+ 168,
+ 546,
+ 72,
+ 287,
+ 658,
+ 280,
+ 961,
+ 11,
+ 786,
+ 468,
+ 65,
+ 25,
+ 145,
+ 746,
+ 846,
+ 911,
+ 574,
+ 392,
+ 779,
+ 746,
+ 711,
+ 935,
+ 796,
+ 482,
+ 506,
+ 772,
+ 873,
+ 712,
+ 546,
+ 93,
+ 546,
+ 28,
+ 757,
+ 858,
+ 313,
+ 663,
+ 914,
+ 858,
+ 508,
+ 945,
+ 912,
+ 223,
+ 945,
+ 200,
+ 313,
+ 367,
+ 309,
+ 487,
+ 637,
+ 824,
+ 869,
+ 534,
+ 699,
+ 79,
+ 510,
+ 860,
+ 34,
+ 420,
+ 255,
+ 493,
+ 790,
+ 310,
+ 444,
+ 113,
+ 719,
+ 695,
+ 358,
+ 148,
+ 947,
+ 483,
+ 821,
+ 59,
+ 835,
+ 434,
+ 903,
+ 41,
+ 634,
+ 592,
+ 594,
+ 150,
+ 410,
+ 598,
+ 14,
+ 961,
+ 97,
+ 942,
+ 79,
+ 466,
+ 17,
+ 112,
+ 830,
+ 751,
+ 454,
+ 84,
+ 374,
+ 264,
+ 624,
+ 963,
+ 372,
+ 81,
+ 536,
+ 775,
+ 159,
+ 372,
+ 174,
+ 707,
+ 399,
+ 984,
+ 57,
+ 648,
+ 923,
+ 258,
+ 417,
+ 86,
+ 978,
+ 982,
+ 414,
+ 147,
+ 403,
+ 610,
+ 251,
+ 571,
+ 656,
+ 151,
+ 156,
+ 812,
+ 621,
+ 669,
+ 21,
+ 148,
+ 31,
+ 74,
+ 77,
+ 49,
+ 175,
+ 263,
+ 527,
+ 797,
+ 797,
+ 775,
+ 553,
+ 981,
+ 898,
+ 725,
+ 357,
+ 116,
+ 678,
+ 297,
+ 357,
+ 496,
+ 159,
+ 750,
+ 979,
+ 145,
+ 331,
+ 691,
+ 711,
+ 921,
+ 829,
+ 284,
+ 217,
+ 581,
+ 203,
+ 124,
+ 670,
+ 62,
+ 544,
+ 289,
+ 240,
+ 308,
+ 333,
+ 829,
+ 758,
+ 48,
+ 339,
+ 468,
+ 795,
+ 844,
+ 212,
+ 623,
+ 954,
+ 946,
+ 951,
+ 531,
+ 119,
+ 806,
+ 153,
+ 382,
+ 632,
+ 472,
+ 665,
+ 241,
+ 794,
+ 786,
+ 436,
+ 323,
+ 840,
+ 594,
+ 95,
+ 175,
+ 134,
+ 796,
+ 940,
+ 747,
+ 997,
+ 360,
+ 755,
+ 467,
+ 711,
+ 275,
+ 449,
+ 291,
+ 217,
+ 677,
+ 446,
+ 422,
+ 225,
+ 302,
+ 8,
+ 957,
+ 836,
+ 901,
+ 37,
+ 919,
+ 426,
+ 623,
+ 94,
+ 105,
+ 654,
+ 752,
+ 464,
+ 323,
+ 877,
+ 954,
+ 228,
+ 375,
+ 752,
+ 743,
+ 349,
+ 350,
+ 181,
+ 532,
+ 97,
+ 777,
+ 935,
+ 148,
+ 433,
+ 153,
+ 973,
+ 525,
+ 131,
+ 947,
+ 752,
+ 692,
+ 927,
+ 84,
+ 270,
+ 152,
+ 62,
+ 676,
+ 772,
+ 301,
+ 542,
+ 874,
+ 841,
+ 976,
+ 442,
+ 540,
+ 397,
+ 922,
+ 430,
+ 729,
+ 328,
+ 779,
+ 624,
+ 430,
+ 783,
+ 852,
+ 691,
+ 657,
+ 553,
+ 216,
+ 941,
+ 965,
+ 248,
+ 656,
+ 952,
+ 514,
+ 250,
+ 890,
+ 502,
+ 392,
+ 951,
+ 357,
+ 453,
+ 744,
+ 557,
+ 940,
+ 738,
+ 207,
+ 960,
+ 612,
+ 410,
+ 688,
+ 517,
+ 612,
+ 723,
+ 773,
+ 269,
+ 176,
+ 305,
+ 210,
+ 455,
+ 178,
+ 764,
+ 414,
+ 918,
+ 958,
+ 727,
+ 54,
+ 74,
+ 191,
+ 371,
+ 376,
+ 770,
+ 275,
+ 82,
+ 913,
+ 527,
+ 249,
+ 800,
+ 675,
+ 387,
+ 810,
+ 388,
+ 503,
+ 240,
+ 491,
+ 28,
+ 491,
+ 110,
+ 133,
+ 734,
+ 720,
+ 476,
+ 943,
+ 315,
+ 810,
+ 672,
+ 761,
+ 421,
+ 269,
+ 449,
+ 677,
+ 98,
+ 912,
+ 873,
+ 36,
+ 313,
+ 585,
+ 401,
+ 35,
+ 248,
+ 301,
+ 668,
+ 136,
+ 88,
+ 514,
+ 765,
+ 68,
+ 160,
+ 267,
+ 325,
+ 663,
+ 511,
+ 927,
+ 524,
+ 243,
+ 22,
+ 126,
+ 193,
+ 846,
+ 233,
+ 289,
+ 676,
+ 783,
+ 957,
+ 845,
+ 673,
+ 692,
+ 285,
+ 763,
+ 575,
+ 742,
+ 791,
+ 744,
+ 630,
+ 650,
+ 435,
+ 748,
+ 128,
+ 612,
+ 892,
+ 729,
+ 230,
+ 818,
+ 271,
+ 634,
+ 875,
+ 930,
+ 576,
+ 333,
+ 589,
+ 849,
+ 116,
+ 143,
+ 383,
+ 705,
+ 321,
+ 218,
+ 620,
+ 142,
+ 602,
+ 477,
+ 31,
+ 550,
+ 407,
+ 552,
+ 766,
+ 851,
+ 17,
+ 123,
+ 828,
+ 678,
+ 986,
+ 66,
+ 629,
+ 393,
+ 595,
+ 319,
+ 404,
+ 352,
+ 95,
+ 140,
+ 329,
+ 357,
+ 197,
+ 571,
+ 46,
+ 8,
+ 251,
+ 628,
+ 0,
+ 327,
+ 965,
+ 938,
+ 187,
+ 95,
+ 925,
+ 514,
+ 566,
+ 95,
+ 301,
+ 153,
+ 166,
+ 526,
+ 648,
+ 41,
+ 663,
+ 145,
+ 534,
+ 712,
+ 452,
+ 770,
+ 326,
+ 518,
+ 767,
+ 743,
+ 726,
+ 560,
+ 301,
+ 198,
+ 253,
+ 702,
+ 177,
+ 619,
+ 698,
+ 645,
+ 696,
+ 622,
+ 686,
+ 401,
+ 644,
+ 124,
+ 276,
+ 707,
+ 746,
+ 136,
+ 48,
+ 275,
+ 263,
+ 285,
+ 301,
+ 59,
+ 367,
+ 802,
+ 225,
+ 719,
+ 334,
+ 91,
+ 899,
+ 836,
+ 39,
+ 801,
+ 797,
+ 52,
+ 769,
+ 941,
+ 404,
+ 667,
+ 842,
+ 726,
+ 652,
+ 538,
+ 68,
+ 780,
+ 305,
+ 694,
+ 212,
+ 208,
+ 576,
+ 35,
+ 505,
+ 26,
+ 939,
+ 402,
+ 977,
+ 342,
+ 4,
+ 436,
+ 287,
+ 861,
+ 465,
+ 898,
+ 593,
+ 691,
+ 341,
+ 595,
+ 526,
+ 722,
+ 464,
+ 273,
+ 301,
+ 51,
+ 148,
+ 888,
+ 16,
+ 548,
+ 760,
+ 252,
+ 855,
+ 690,
+ 754,
+ 886,
+ 625,
+ 404,
+ 861,
+ 546,
+ 558,
+ 201,
+ 715,
+ 800,
+ 24,
+ 464,
+ 763,
+ 181,
+ 111,
+ 42,
+ 899,
+ 398,
+ 995,
+ 166,
+ 769,
+ 737,
+ 196,
+ 1,
+ 99,
+ 136,
+ 62,
+ 335,
+ 351,
+ 346,
+ 289,
+ 899,
+ 124,
+ 607,
+ 468,
+ 686,
+ 775,
+ 991,
+ 561,
+ 335,
+ 250,
+ 880,
+ 252,
+ 56,
+ 390,
+ 363,
+ 965,
+ 233,
+ 98,
+ 954,
+ 669,
+ 596,
+ 836,
+ 912,
+ 645,
+ 516,
+ 891,
+ 340,
+ 529,
+ 722,
+ 391,
+ 580,
+ 212,
+ 501,
+ 961,
+ 154,
+ 117,
+ 877,
+ 956,
+ 245,
+ 543,
+ 749,
+ 229,
+ 959,
+ 415,
+ 3,
+ 886,
+ 430,
+ 294,
+ 501,
+ 957,
+ 218,
+ 686,
+ 825,
+ 508,
+ 746,
+ 186,
+ 624,
+ 450,
+ 123,
+ 310,
+ 161,
+ 775,
+ 581,
+ 541,
+ 630,
+ 788,
+ 652,
+ 849,
+ 101,
+ 81,
+ 872,
+ 316,
+ 621,
+ 8,
+ 17,
+ 934,
+ 555,
+ 326,
+ 252,
+ 104,
+ 720,
+ 706,
+ 130,
+ 364,
+ 56,
+ 558,
+ 83,
+ 928,
+ 538,
+ 227,
+ 366,
+ 463,
+ 527,
+ 769,
+ 19,
+ 815,
+ 801,
+ 899,
+ 72,
+ 970,
+ 25,
+ 993,
+ 340,
+ 724,
+ 765,
+ 167,
+ 347,
+ 803,
+ 148,
+ 363,
+ 967,
+ 325,
+ 927,
+ 588,
+ 791,
+ 579,
+ 647,
+ 245,
+ 767,
+ 522,
+ 989,
+ 49,
+ 619,
+ 794,
+ 385,
+ 865,
+ 665,
+ 136,
+ 426,
+ 849,
+ 354,
+ 982,
+ 870,
+ 328,
+ 181,
+ 922,
+ 304,
+ 822,
+ 665,
+ 956,
+ 324,
+ 168,
+ 412,
+ 785,
+ 919,
+ 486,
+ 340,
+ 677,
+ 751,
+ 646,
+ 857,
+ 629,
+ 108,
+ 650,
+ 366,
+ 931,
+ 195,
+ 684,
+ 498,
+ 266,
+ 669,
+ 73,
+ 103,
+ 512,
+ 456,
+ 187,
+ 190,
+ 356,
+ 146,
+ 361,
+ 597,
+ 277,
+ 261,
+ 993,
+ 479,
+ 850,
+ 883,
+ 950,
+ 622,
+ 192,
+ 351,
+ 293,
+ 375,
+ 86,
+ 141,
+ 824,
+ 714,
+ 492,
+ 48,
+ 589,
+ 564,
+ 266,
+ 359,
+ 425,
+ 75,
+ 797,
+ 538,
+ 550,
+ 885,
+ 404,
+ 863,
+ 468,
+ 301,
+ 321,
+ 475,
+ 876,
+ 916,
+ 666,
+ 927,
+ 31,
+ 256,
+ 839,
+ 177,
+ 61,
+ 875,
+ 23,
+ 348,
+ 257,
+ 939,
+ 931,
+ 533,
+ 473,
+ 865,
+ 108,
+ 130,
+ 772,
+ 296,
+ 768,
+ 721,
+ 908,
+ 108,
+ 727,
+ 659,
+ 811,
+ 821,
+ 971,
+ 652,
+ 546,
+ 727,
+ 678,
+ 767,
+ 229,
+ 606,
+ 503,
+ 298,
+ 186,
+ 539,
+ 4,
+ 203,
+ 752,
+ 630,
+ 179,
+ 182,
+ 476,
+ 366,
+ 651,
+ 924,
+ 38,
+ 925,
+ 37,
+ 177,
+ 658,
+ 489,
+ 816,
+ 322,
+ 963,
+ 928,
+ 818,
+ 169,
+ 602,
+ 403,
+ 506,
+ 127,
+ 844,
+ 749,
+ 674,
+ 845,
+ 529,
+ 865,
+ 635,
+ 791,
+ 776,
+ 334,
+ 136,
+ 342,
+ 593,
+ 512,
+ 660,
+ 640,
+ 787,
+ 139,
+ 544,
+ 181,
+ 43,
+ 46,
+ 413,
+ 337,
+ 854,
+ 986,
+ 815,
+ 121,
+ 877,
+ 294,
+ 218,
+ 4,
+ 136,
+ 225,
+ 766,
+ 992,
+ 910,
+ 530,
+ 646,
+ 213,
+ 695,
+ 271,
+ 967,
+ 986,
+ 628,
+ 777,
+ 180,
+ 866,
+ 599,
+ 664,
+ 46,
+ 994,
+ 396,
+ 56,
+ 256,
+ 739,
+ 481,
+ 608,
+ 360,
+ 134,
+ 970,
+ 282,
+ 898,
+ 417,
+ 948,
+ 956,
+ 230,
+ 884,
+ 748,
+ 74,
+ 938,
+ 224,
+ 920,
+ 974,
+ 475,
+ 405,
+ 442,
+ 630,
+ 596,
+ 118,
+ 398,
+ 439,
+ 969,
+ 188,
+ 169,
+ 251,
+ 630,
+ 835,
+ 480,
+ 557,
+ 904,
+ 461,
+ 371,
+ 885,
+ 197,
+ 305,
+ 678,
+ 12,
+ 663,
+ 960,
+ 311,
+ 877,
+ 747,
+ 20,
+ 271,
+ 622,
+ 48,
+ 621,
+ 135,
+ 59,
+ 179,
+ 377,
+ 684,
+ 861,
+ 760,
+ 38,
+ 780,
+ 91,
+ 18,
+ 23,
+ 432,
+ 37,
+ 443,
+ 450,
+ 508,
+ 193,
+ 960,
+ 986,
+ 761,
+ 605,
+ 788,
+ 86,
+ 436,
+ 23,
+ 581,
+ 605,
+ 128,
+ 84,
+ 979,
+ 732,
+ 230,
+ 787,
+ 836,
+ 261,
+ 677,
+ 117,
+ 292,
+ 477,
+ 388,
+ 20,
+ 962,
+ 707,
+ 979,
+ 933,
+ 662,
+ 112,
+ 234,
+ 771,
+ 167,
+ 31,
+ 673,
+ 42,
+ 705,
+ 675,
+ 151,
+ 452,
+ 875,
+ 655,
+ 399,
+ 59,
+ 702,
+ 502,
+ 444,
+ 892,
+ 290,
+ 856,
+ 53,
+ 260,
+ 19,
+ 221,
+ 987,
+ 330,
+ 80,
+ 665,
+ 551,
+ 377,
+ 540,
+ 188,
+ 920,
+ 680,
+ 133,
+ 77,
+ 466,
+ 439,
+ 258,
+ 570,
+ 659,
+ 56,
+ 10,
+ 615,
+ 504,
+ 336,
+ 655,
+ 720,
+ 156,
+ 289,
+ 354,
+ 637,
+ 184,
+ 853,
+ 944,
+ 177,
+ 973,
+ 177,
+ 537,
+ 934,
+ 78,
+ 267,
+ 209,
+ 898,
+ 115,
+ 986,
+ 920,
+ 926,
+ 393,
+ 217,
+ 204,
+ 312,
+ 989,
+ 655,
+ 214,
+ 47,
+ 231,
+ 278,
+ 866,
+ 734,
+ 707,
+ 605,
+ 208,
+ 232,
+ 506,
+ 116,
+ 383,
+ 662,
+ 151,
+ 92,
+ 785,
+ 431,
+ 614,
+ 585,
+ 682,
+ 781,
+ 343,
+ 590,
+ 458,
+ 232,
+ 360,
+ 187,
+ 18,
+ 769,
+ 704,
+ 620,
+ 67,
+ 109,
+ 88,
+ 353,
+ 401,
+ 228,
+ 508,
+ 406,
+ 255,
+ 989,
+ 151,
+ 702,
+ 277,
+ 376,
+ 381,
+ 409,
+ 932,
+ 31,
+ 761,
+ 783,
+ 233,
+ 154,
+ 871,
+ 55,
+ 648,
+ 5,
+ 12,
+ 465,
+ 96,
+ 904,
+ 169,
+ 325,
+ 428,
+ 572,
+ 47,
+ 78,
+ 258,
+ 525,
+ 276,
+ 502,
+ 972,
+ 488,
+ 763,
+ 798,
+ 973,
+ 186,
+ 490,
+ 362,
+ 205,
+ 154,
+ 245,
+ 784,
+ 493,
+ 76,
+ 975,
+ 459,
+ 598,
+ 227,
+ 161,
+ 752,
+ 243,
+ 858,
+ 931,
+ 996,
+ 543,
+ 488,
+ 560,
+ 240,
+ 49,
+ 318,
+ 374,
+ 914,
+ 52,
+ 693,
+ 762,
+ 329,
+ 691,
+ 193,
+ 122,
+ 925,
+ 577,
+ 748,
+ 236,
+ 8,
+ 591,
+ 640,
+ 61,
+ 77,
+ 295,
+ 117,
+ 323,
+ 732,
+ 493,
+ 811,
+ 67,
+ 694,
+ 158,
+ 589,
+ 247,
+ 115,
+ 184,
+ 682,
+ 927,
+ 918,
+ 353,
+ 217,
+ 904,
+ 834,
+ 107,
+ 728,
+ 683,
+ 908,
+ 596,
+ 721,
+ 44,
+ 412,
+ 780,
+ 882,
+ 682,
+ 497,
+ 832,
+ 559,
+ 126,
+ 303,
+ 100,
+ 214,
+ 829,
+ 344,
+ 654,
+ 679,
+ 336,
+ 148,
+ 213,
+ 982,
+ 859,
+ 558,
+ 855,
+ 999,
+ 698,
+ 38,
+ 490,
+ 340,
+ 846,
+ 852,
+ 26,
+ 942,
+ 575,
+ 383,
+ 1,
+ 198,
+ 836,
+ 570,
+ 893,
+ 950,
+ 7,
+ 527,
+ 628,
+ 753,
+ 660,
+ 180,
+ 354,
+ 819,
+ 775,
+ 271,
+ 187,
+ 374,
+ 532,
+ 374,
+ 900
+};
+const int idx[10004] = {
+ 13,
+ 111,
+ 124,
+ 218,
+ 316,
+ 502,
+ 34,
+ 119,
+ 167,
+ 180,
+ 186,
+ 346,
+ 511,
+ 543,
+ 755,
+ 788,
+ 833,
+ 929,
+ 46,
+ 109,
+ 154,
+ 220,
+ 248,
+ 448,
+ 509,
+ 517,
+ 530,
+ 557,
+ 639,
+ 643,
+ 720,
+ 137,
+ 189,
+ 424,
+ 480,
+ 570,
+ 642,
+ 849,
+ 896,
+ 968,
+ 117,
+ 136,
+ 208,
+ 248,
+ 347,
+ 410,
+ 433,
+ 515,
+ 747,
+ 144,
+ 148,
+ 375,
+ 405,
+ 444,
+ 532,
+ 788,
+ 808,
+ 987,
+ 110,
+ 112,
+ 403,
+ 415,
+ 596,
+ 612,
+ 669,
+ 794,
+ 851,
+ 80,
+ 285,
+ 288,
+ 433,
+ 500,
+ 628,
+ 982,
+ 999,
+ 57,
+ 237,
+ 252,
+ 304,
+ 469,
+ 600,
+ 609,
+ 621,
+ 741,
+ 798,
+ 251,
+ 322,
+ 369,
+ 374,
+ 376,
+ 507,
+ 623,
+ 666,
+ 669,
+ 677,
+ 707,
+ 823,
+ 919,
+ 63,
+ 187,
+ 266,
+ 360,
+ 396,
+ 439,
+ 459,
+ 526,
+ 623,
+ 804,
+ 857,
+ 881,
+ 948,
+ 160,
+ 165,
+ 226,
+ 446,
+ 538,
+ 585,
+ 624,
+ 866,
+ 975,
+ 979,
+ 18,
+ 54,
+ 151,
+ 180,
+ 230,
+ 298,
+ 480,
+ 678,
+ 688,
+ 696,
+ 742,
+ 757,
+ 889,
+ 979,
+ 100,
+ 245,
+ 513,
+ 925,
+ 162,
+ 413,
+ 427,
+ 588,
+ 645,
+ 807,
+ 853,
+ 194,
+ 313,
+ 339,
+ 466,
+ 539,
+ 581,
+ 732,
+ 791,
+ 832,
+ 927,
+ 954,
+ 962,
+ 966,
+ 42,
+ 45,
+ 138,
+ 141,
+ 239,
+ 338,
+ 584,
+ 696,
+ 912,
+ 929,
+ 269,
+ 352,
+ 443,
+ 463,
+ 896,
+ 962,
+ 60,
+ 92,
+ 273,
+ 568,
+ 591,
+ 851,
+ 38,
+ 77,
+ 281,
+ 362,
+ 544,
+ 614,
+ 651,
+ 836,
+ 871,
+ 873,
+ 45,
+ 61,
+ 140,
+ 153,
+ 234,
+ 439,
+ 472,
+ 509,
+ 588,
+ 675,
+ 760,
+ 777,
+ 178,
+ 198,
+ 248,
+ 517,
+ 566,
+ 679,
+ 700,
+ 289,
+ 455,
+ 602,
+ 695,
+ 711,
+ 853,
+ 923,
+ 179,
+ 199,
+ 214,
+ 280,
+ 343,
+ 405,
+ 435,
+ 504,
+ 898,
+ 910,
+ 939,
+ 130,
+ 219,
+ 296,
+ 445,
+ 508,
+ 634,
+ 763,
+ 918,
+ 922,
+ 978,
+ 87,
+ 285,
+ 614,
+ 667,
+ 679,
+ 739,
+ 834,
+ 192,
+ 347,
+ 549,
+ 557,
+ 724,
+ 764,
+ 928,
+ 929,
+ 976,
+ 17,
+ 283,
+ 413,
+ 429,
+ 612,
+ 683,
+ 707,
+ 725,
+ 743,
+ 833,
+ 856,
+ 165,
+ 267,
+ 304,
+ 361,
+ 397,
+ 410,
+ 570,
+ 683,
+ 766,
+ 788,
+ 849,
+ 882,
+ 885,
+ 30,
+ 58,
+ 221,
+ 254,
+ 453,
+ 457,
+ 470,
+ 674,
+ 687,
+ 745,
+ 809,
+ 819,
+ 55,
+ 121,
+ 231,
+ 538,
+ 604,
+ 718,
+ 768,
+ 960,
+ 71,
+ 77,
+ 104,
+ 186,
+ 205,
+ 234,
+ 456,
+ 467,
+ 579,
+ 682,
+ 733,
+ 767,
+ 947,
+ 66,
+ 86,
+ 157,
+ 290,
+ 422,
+ 441,
+ 473,
+ 560,
+ 607,
+ 640,
+ 682,
+ 888,
+ 37,
+ 296,
+ 439,
+ 629,
+ 642,
+ 733,
+ 824,
+ 917,
+ 969,
+ 4,
+ 25,
+ 580,
+ 622,
+ 636,
+ 666,
+ 672,
+ 732,
+ 802,
+ 921,
+ 943,
+ 130,
+ 194,
+ 245,
+ 273,
+ 323,
+ 344,
+ 603,
+ 740,
+ 795,
+ 974,
+ 189,
+ 422,
+ 445,
+ 446,
+ 831,
+ 905,
+ 912,
+ 36,
+ 60,
+ 218,
+ 428,
+ 455,
+ 627,
+ 743,
+ 796,
+ 801,
+ 903,
+ 136,
+ 152,
+ 166,
+ 352,
+ 364,
+ 369,
+ 382,
+ 466,
+ 521,
+ 577,
+ 665,
+ 746,
+ 910,
+ 294,
+ 345,
+ 445,
+ 645,
+ 686,
+ 718,
+ 757,
+ 762,
+ 796,
+ 817,
+ 832,
+ 836,
+ 997,
+ 127,
+ 258,
+ 259,
+ 449,
+ 541,
+ 643,
+ 665,
+ 756,
+ 817,
+ 854,
+ 870,
+ 89,
+ 134,
+ 188,
+ 362,
+ 408,
+ 531,
+ 566,
+ 816,
+ 127,
+ 170,
+ 302,
+ 336,
+ 426,
+ 434,
+ 601,
+ 708,
+ 774,
+ 780,
+ 900,
+ 935,
+ 377,
+ 469,
+ 618,
+ 650,
+ 790,
+ 809,
+ 78,
+ 253,
+ 340,
+ 382,
+ 586,
+ 673,
+ 684,
+ 282,
+ 354,
+ 363,
+ 398,
+ 636,
+ 655,
+ 729,
+ 885,
+ 911,
+ 10,
+ 175,
+ 195,
+ 229,
+ 273,
+ 339,
+ 380,
+ 531,
+ 660,
+ 681,
+ 794,
+ 800,
+ 236,
+ 416,
+ 646,
+ 679,
+ 685,
+ 885,
+ 7,
+ 116,
+ 299,
+ 481,
+ 702,
+ 747,
+ 922,
+ 64,
+ 153,
+ 374,
+ 391,
+ 532,
+ 558,
+ 602,
+ 655,
+ 662,
+ 804,
+ 847,
+ 867,
+ 998,
+ 45,
+ 66,
+ 97,
+ 106,
+ 236,
+ 240,
+ 247,
+ 453,
+ 641,
+ 646,
+ 711,
+ 712,
+ 715,
+ 855,
+ 906,
+ 923,
+ 37,
+ 65,
+ 122,
+ 331,
+ 578,
+ 589,
+ 610,
+ 139,
+ 293,
+ 354,
+ 395,
+ 430,
+ 486,
+ 589,
+ 614,
+ 661,
+ 699,
+ 846,
+ 910,
+ 18,
+ 53,
+ 78,
+ 234,
+ 296,
+ 690,
+ 828,
+ 923,
+ 87,
+ 115,
+ 156,
+ 161,
+ 173,
+ 201,
+ 400,
+ 474,
+ 501,
+ 526,
+ 782,
+ 861,
+ 63,
+ 271,
+ 427,
+ 552,
+ 590,
+ 657,
+ 920,
+ 41,
+ 194,
+ 281,
+ 571,
+ 640,
+ 681,
+ 696,
+ 301,
+ 306,
+ 514,
+ 553,
+ 560,
+ 641,
+ 683,
+ 762,
+ 812,
+ 818,
+ 876,
+ 904,
+ 932,
+ 978,
+ 38,
+ 62,
+ 98,
+ 103,
+ 370,
+ 390,
+ 531,
+ 559,
+ 693,
+ 813,
+ 924,
+ 943,
+ 955,
+ 973,
+ 13,
+ 40,
+ 62,
+ 75,
+ 396,
+ 419,
+ 615,
+ 773,
+ 968,
+ 989,
+ 150,
+ 183,
+ 241,
+ 261,
+ 407,
+ 476,
+ 492,
+ 524,
+ 541,
+ 863,
+ 994,
+ 156,
+ 195,
+ 197,
+ 278,
+ 457,
+ 467,
+ 610,
+ 621,
+ 956,
+ 49,
+ 343,
+ 454,
+ 477,
+ 572,
+ 600,
+ 700,
+ 759,
+ 804,
+ 923,
+ 92,
+ 194,
+ 455,
+ 842,
+ 968,
+ 160,
+ 211,
+ 461,
+ 463,
+ 467,
+ 622,
+ 854,
+ 972,
+ 333,
+ 469,
+ 563,
+ 571,
+ 639,
+ 838,
+ 977,
+ 18,
+ 105,
+ 133,
+ 258,
+ 572,
+ 720,
+ 804,
+ 851,
+ 930,
+ 19,
+ 139,
+ 158,
+ 301,
+ 354,
+ 407,
+ 589,
+ 726,
+ 846,
+ 904,
+ 26,
+ 54,
+ 155,
+ 212,
+ 216,
+ 418,
+ 534,
+ 647,
+ 792,
+ 862,
+ 889,
+ 101,
+ 216,
+ 228,
+ 396,
+ 470,
+ 473,
+ 592,
+ 706,
+ 799,
+ 913,
+ 922,
+ 98,
+ 324,
+ 524,
+ 672,
+ 685,
+ 856,
+ 213,
+ 224,
+ 228,
+ 300,
+ 395,
+ 604,
+ 631,
+ 651,
+ 835,
+ 944,
+ 289,
+ 574,
+ 613,
+ 657,
+ 671,
+ 748,
+ 763,
+ 768,
+ 815,
+ 843,
+ 908,
+ 74,
+ 79,
+ 203,
+ 218,
+ 245,
+ 249,
+ 390,
+ 548,
+ 616,
+ 804,
+ 986,
+ 49,
+ 196,
+ 585,
+ 591,
+ 608,
+ 728,
+ 750,
+ 810,
+ 836,
+ 920,
+ 980,
+ 38,
+ 41,
+ 93,
+ 94,
+ 320,
+ 360,
+ 502,
+ 555,
+ 729,
+ 742,
+ 814,
+ 984,
+ 89,
+ 131,
+ 499,
+ 677,
+ 825,
+ 846,
+ 919,
+ 966,
+ 17,
+ 37,
+ 121,
+ 168,
+ 560,
+ 585,
+ 691,
+ 788,
+ 892,
+ 925,
+ 951,
+ 995,
+ 13,
+ 69,
+ 124,
+ 229,
+ 308,
+ 554,
+ 643,
+ 668,
+ 717,
+ 747,
+ 813,
+ 814,
+ 864,
+ 298,
+ 327,
+ 386,
+ 425,
+ 586,
+ 600,
+ 725,
+ 730,
+ 832,
+ 12,
+ 38,
+ 94,
+ 150,
+ 175,
+ 501,
+ 538,
+ 552,
+ 571,
+ 606,
+ 624,
+ 650,
+ 686,
+ 728,
+ 157,
+ 605,
+ 630,
+ 713,
+ 784,
+ 850,
+ 954,
+ 181,
+ 234,
+ 610,
+ 612,
+ 661,
+ 663,
+ 677,
+ 688,
+ 726,
+ 809,
+ 818,
+ 67,
+ 77,
+ 164,
+ 193,
+ 214,
+ 345,
+ 352,
+ 551,
+ 696,
+ 919,
+ 994,
+ 12,
+ 311,
+ 404,
+ 454,
+ 473,
+ 521,
+ 581,
+ 651,
+ 677,
+ 717,
+ 850,
+ 873,
+ 880,
+ 892,
+ 945,
+ 54,
+ 138,
+ 210,
+ 219,
+ 248,
+ 413,
+ 480,
+ 491,
+ 639,
+ 652,
+ 773,
+ 807,
+ 824,
+ 962,
+ 79,
+ 211,
+ 499,
+ 560,
+ 561,
+ 759,
+ 774,
+ 800,
+ 865,
+ 35,
+ 146,
+ 619,
+ 746,
+ 754,
+ 81,
+ 237,
+ 258,
+ 388,
+ 477,
+ 658,
+ 704,
+ 712,
+ 781,
+ 109,
+ 720,
+ 758,
+ 98,
+ 209,
+ 252,
+ 311,
+ 410,
+ 532,
+ 611,
+ 656,
+ 722,
+ 772,
+ 822,
+ 828,
+ 912,
+ 980,
+ 95,
+ 107,
+ 167,
+ 287,
+ 289,
+ 303,
+ 441,
+ 446,
+ 580,
+ 600,
+ 630,
+ 632,
+ 658,
+ 682,
+ 847,
+ 92,
+ 137,
+ 177,
+ 238,
+ 262,
+ 324,
+ 438,
+ 479,
+ 534,
+ 539,
+ 689,
+ 846,
+ 956,
+ 962,
+ 200,
+ 496,
+ 521,
+ 656,
+ 714,
+ 785,
+ 814,
+ 857,
+ 184,
+ 204,
+ 455,
+ 702,
+ 754,
+ 803,
+ 887,
+ 928,
+ 993,
+ 42,
+ 51,
+ 189,
+ 204,
+ 358,
+ 572,
+ 601,
+ 665,
+ 867,
+ 71,
+ 108,
+ 208,
+ 243,
+ 263,
+ 314,
+ 359,
+ 418,
+ 482,
+ 556,
+ 680,
+ 945,
+ 958,
+ 964,
+ 97,
+ 200,
+ 202,
+ 223,
+ 230,
+ 428,
+ 447,
+ 537,
+ 574,
+ 635,
+ 663,
+ 728,
+ 737,
+ 858,
+ 861,
+ 930,
+ 71,
+ 84,
+ 85,
+ 196,
+ 199,
+ 242,
+ 513,
+ 761,
+ 48,
+ 98,
+ 127,
+ 194,
+ 233,
+ 283,
+ 334,
+ 420,
+ 627,
+ 632,
+ 931,
+ 34,
+ 82,
+ 176,
+ 197,
+ 217,
+ 235,
+ 237,
+ 358,
+ 462,
+ 947,
+ 10,
+ 178,
+ 265,
+ 350,
+ 396,
+ 468,
+ 539,
+ 586,
+ 612,
+ 628,
+ 644,
+ 791,
+ 40,
+ 234,
+ 292,
+ 299,
+ 375,
+ 396,
+ 410,
+ 429,
+ 728,
+ 36,
+ 360,
+ 475,
+ 562,
+ 962,
+ 5,
+ 60,
+ 169,
+ 509,
+ 558,
+ 594,
+ 613,
+ 648,
+ 654,
+ 726,
+ 769,
+ 773,
+ 777,
+ 40,
+ 49,
+ 403,
+ 446,
+ 524,
+ 548,
+ 730,
+ 774,
+ 938,
+ 978,
+ 997,
+ 221,
+ 248,
+ 407,
+ 447,
+ 585,
+ 756,
+ 824,
+ 894,
+ 972,
+ 121,
+ 189,
+ 364,
+ 537,
+ 563,
+ 179,
+ 328,
+ 344,
+ 692,
+ 711,
+ 750,
+ 760,
+ 780,
+ 810,
+ 929,
+ 942,
+ 106,
+ 336,
+ 551,
+ 616,
+ 640,
+ 654,
+ 726,
+ 890,
+ 74,
+ 200,
+ 233,
+ 254,
+ 382,
+ 396,
+ 895,
+ 971,
+ 283,
+ 614,
+ 898,
+ 87,
+ 122,
+ 172,
+ 255,
+ 324,
+ 383,
+ 498,
+ 525,
+ 699,
+ 817,
+ 825,
+ 3,
+ 41,
+ 104,
+ 280,
+ 399,
+ 617,
+ 641,
+ 769,
+ 789,
+ 817,
+ 891,
+ 937,
+ 143,
+ 175,
+ 185,
+ 217,
+ 222,
+ 362,
+ 391,
+ 465,
+ 515,
+ 544,
+ 818,
+ 868,
+ 35,
+ 44,
+ 122,
+ 235,
+ 345,
+ 415,
+ 479,
+ 569,
+ 575,
+ 740,
+ 765,
+ 867,
+ 967,
+ 78,
+ 107,
+ 265,
+ 358,
+ 524,
+ 646,
+ 716,
+ 720,
+ 840,
+ 76,
+ 77,
+ 353,
+ 406,
+ 533,
+ 648,
+ 726,
+ 733,
+ 906,
+ 979,
+ 65,
+ 133,
+ 182,
+ 187,
+ 191,
+ 424,
+ 430,
+ 520,
+ 674,
+ 776,
+ 945,
+ 975,
+ 18,
+ 242,
+ 393,
+ 458,
+ 468,
+ 530,
+ 599,
+ 717,
+ 933,
+ 278,
+ 297,
+ 465,
+ 476,
+ 579,
+ 591,
+ 633,
+ 643,
+ 937,
+ 271,
+ 481,
+ 618,
+ 890,
+ 5,
+ 126,
+ 171,
+ 192,
+ 209,
+ 259,
+ 367,
+ 840,
+ 861,
+ 6,
+ 26,
+ 47,
+ 90,
+ 225,
+ 239,
+ 385,
+ 577,
+ 782,
+ 795,
+ 797,
+ 893,
+ 76,
+ 82,
+ 309,
+ 348,
+ 450,
+ 583,
+ 677,
+ 696,
+ 752,
+ 785,
+ 800,
+ 991,
+ 2,
+ 191,
+ 211,
+ 279,
+ 280,
+ 556,
+ 591,
+ 774,
+ 785,
+ 822,
+ 913,
+ 34,
+ 117,
+ 159,
+ 204,
+ 266,
+ 418,
+ 547,
+ 565,
+ 962,
+ 992,
+ 33,
+ 72,
+ 140,
+ 141,
+ 157,
+ 254,
+ 513,
+ 558,
+ 643,
+ 695,
+ 779,
+ 791,
+ 882,
+ 978,
+ 13,
+ 53,
+ 65,
+ 479,
+ 513,
+ 674,
+ 687,
+ 711,
+ 785,
+ 811,
+ 830,
+ 4,
+ 5,
+ 9,
+ 34,
+ 77,
+ 137,
+ 265,
+ 270,
+ 542,
+ 552,
+ 622,
+ 632,
+ 634,
+ 647,
+ 783,
+ 895,
+ 951,
+ 995,
+ 89,
+ 113,
+ 174,
+ 225,
+ 231,
+ 258,
+ 294,
+ 347,
+ 383,
+ 414,
+ 444,
+ 463,
+ 467,
+ 493,
+ 535,
+ 612,
+ 688,
+ 107,
+ 111,
+ 213,
+ 238,
+ 494,
+ 555,
+ 572,
+ 676,
+ 40,
+ 50,
+ 59,
+ 119,
+ 291,
+ 365,
+ 416,
+ 565,
+ 607,
+ 613,
+ 631,
+ 902,
+ 908,
+ 998,
+ 63,
+ 495,
+ 534,
+ 581,
+ 601,
+ 694,
+ 719,
+ 731,
+ 790,
+ 969,
+ 176,
+ 262,
+ 481,
+ 545,
+ 694,
+ 737,
+ 853,
+ 202,
+ 267,
+ 269,
+ 302,
+ 466,
+ 727,
+ 786,
+ 816,
+ 858,
+ 923,
+ 14,
+ 241,
+ 387,
+ 416,
+ 468,
+ 501,
+ 513,
+ 599,
+ 48,
+ 157,
+ 318,
+ 426,
+ 589,
+ 632,
+ 871,
+ 882,
+ 87,
+ 444,
+ 486,
+ 558,
+ 618,
+ 773,
+ 794,
+ 73,
+ 116,
+ 199,
+ 229,
+ 233,
+ 255,
+ 360,
+ 400,
+ 425,
+ 468,
+ 474,
+ 540,
+ 589,
+ 786,
+ 834,
+ 868,
+ 888,
+ 85,
+ 112,
+ 162,
+ 185,
+ 316,
+ 331,
+ 346,
+ 410,
+ 611,
+ 729,
+ 798,
+ 863,
+ 234,
+ 591,
+ 637,
+ 933,
+ 8,
+ 12,
+ 32,
+ 43,
+ 101,
+ 339,
+ 436,
+ 708,
+ 88,
+ 111,
+ 115,
+ 790,
+ 841,
+ 935,
+ 976,
+ 12,
+ 175,
+ 245,
+ 447,
+ 449,
+ 548,
+ 581,
+ 652,
+ 743,
+ 763,
+ 773,
+ 776,
+ 828,
+ 951,
+ 58,
+ 62,
+ 68,
+ 277,
+ 297,
+ 401,
+ 418,
+ 460,
+ 482,
+ 561,
+ 656,
+ 734,
+ 812,
+ 818,
+ 837,
+ 861,
+ 118,
+ 192,
+ 254,
+ 267,
+ 270,
+ 276,
+ 347,
+ 463,
+ 509,
+ 514,
+ 714,
+ 717,
+ 788,
+ 905,
+ 924,
+ 100,
+ 256,
+ 334,
+ 335,
+ 465,
+ 627,
+ 803,
+ 815,
+ 884,
+ 996,
+ 15,
+ 140,
+ 172,
+ 197,
+ 227,
+ 300,
+ 310,
+ 466,
+ 530,
+ 560,
+ 567,
+ 784,
+ 860,
+ 15,
+ 108,
+ 132,
+ 188,
+ 310,
+ 621,
+ 838,
+ 839,
+ 988,
+ 8,
+ 130,
+ 289,
+ 462,
+ 472,
+ 549,
+ 557,
+ 561,
+ 643,
+ 753,
+ 755,
+ 841,
+ 955,
+ 40,
+ 325,
+ 334,
+ 371,
+ 375,
+ 417,
+ 573,
+ 872,
+ 921,
+ 989,
+ 25,
+ 94,
+ 138,
+ 217,
+ 312,
+ 370,
+ 528,
+ 585,
+ 603,
+ 630,
+ 729,
+ 803,
+ 810,
+ 73,
+ 424,
+ 570,
+ 624,
+ 630,
+ 642,
+ 671,
+ 697,
+ 873,
+ 935,
+ 987,
+ 94,
+ 174,
+ 318,
+ 415,
+ 507,
+ 516,
+ 676,
+ 779,
+ 821,
+ 941,
+ 973,
+ 73,
+ 78,
+ 97,
+ 148,
+ 237,
+ 269,
+ 293,
+ 304,
+ 483,
+ 575,
+ 591,
+ 916,
+ 64,
+ 228,
+ 238,
+ 269,
+ 287,
+ 400,
+ 633,
+ 749,
+ 114,
+ 173,
+ 311,
+ 400,
+ 454,
+ 634,
+ 644,
+ 726,
+ 731,
+ 860,
+ 921,
+ 224,
+ 262,
+ 367,
+ 401,
+ 504,
+ 589,
+ 630,
+ 727,
+ 848,
+ 161,
+ 392,
+ 401,
+ 410,
+ 530,
+ 548,
+ 787,
+ 894,
+ 989,
+ 121,
+ 372,
+ 437,
+ 676,
+ 929,
+ 976,
+ 980,
+ 111,
+ 365,
+ 706,
+ 954,
+ 82,
+ 379,
+ 563,
+ 728,
+ 949,
+ 124,
+ 227,
+ 540,
+ 671,
+ 767,
+ 861,
+ 484,
+ 678,
+ 840,
+ 864,
+ 916,
+ 304,
+ 348,
+ 502,
+ 599,
+ 617,
+ 657,
+ 82,
+ 149,
+ 163,
+ 216,
+ 229,
+ 449,
+ 612,
+ 620,
+ 636,
+ 673,
+ 679,
+ 756,
+ 802,
+ 859,
+ 953,
+ 142,
+ 176,
+ 215,
+ 273,
+ 335,
+ 415,
+ 586,
+ 658,
+ 682,
+ 764,
+ 865,
+ 896,
+ 923,
+ 76,
+ 283,
+ 284,
+ 464,
+ 481,
+ 588,
+ 625,
+ 742,
+ 790,
+ 947,
+ 119,
+ 186,
+ 309,
+ 320,
+ 404,
+ 407,
+ 440,
+ 496,
+ 692,
+ 853,
+ 884,
+ 901,
+ 980,
+ 990,
+ 345,
+ 493,
+ 503,
+ 691,
+ 738,
+ 743,
+ 890,
+ 929,
+ 993,
+ 998,
+ 45,
+ 272,
+ 313,
+ 350,
+ 384,
+ 452,
+ 499,
+ 569,
+ 248,
+ 346,
+ 515,
+ 676,
+ 751,
+ 755,
+ 775,
+ 778,
+ 17,
+ 491,
+ 522,
+ 538,
+ 622,
+ 672,
+ 919,
+ 961,
+ 54,
+ 126,
+ 207,
+ 301,
+ 375,
+ 447,
+ 500,
+ 599,
+ 651,
+ 683,
+ 890,
+ 947,
+ 93,
+ 317,
+ 482,
+ 656,
+ 774,
+ 865,
+ 904,
+ 96,
+ 224,
+ 260,
+ 313,
+ 340,
+ 372,
+ 410,
+ 437,
+ 452,
+ 511,
+ 512,
+ 718,
+ 911,
+ 77,
+ 100,
+ 176,
+ 232,
+ 418,
+ 661,
+ 689,
+ 805,
+ 956,
+ 51,
+ 262,
+ 280,
+ 352,
+ 380,
+ 413,
+ 461,
+ 538,
+ 616,
+ 769,
+ 783,
+ 821,
+ 855,
+ 946,
+ 956,
+ 73,
+ 169,
+ 238,
+ 246,
+ 319,
+ 391,
+ 392,
+ 669,
+ 769,
+ 770,
+ 786,
+ 946,
+ 415,
+ 453,
+ 590,
+ 628,
+ 630,
+ 684,
+ 852,
+ 52,
+ 258,
+ 318,
+ 322,
+ 535,
+ 545,
+ 561,
+ 610,
+ 621,
+ 662,
+ 687,
+ 839,
+ 87,
+ 98,
+ 181,
+ 269,
+ 454,
+ 666,
+ 667,
+ 684,
+ 891,
+ 142,
+ 270,
+ 300,
+ 396,
+ 398,
+ 443,
+ 652,
+ 677,
+ 821,
+ 0,
+ 77,
+ 85,
+ 163,
+ 180,
+ 281,
+ 470,
+ 491,
+ 665,
+ 694,
+ 760,
+ 899,
+ 992,
+ 32,
+ 51,
+ 73,
+ 75,
+ 157,
+ 216,
+ 224,
+ 301,
+ 376,
+ 433,
+ 536,
+ 612,
+ 703,
+ 11,
+ 228,
+ 456,
+ 471,
+ 543,
+ 627,
+ 650,
+ 873,
+ 898,
+ 144,
+ 258,
+ 597,
+ 796,
+ 36,
+ 394,
+ 486,
+ 492,
+ 497,
+ 681,
+ 710,
+ 963,
+ 522,
+ 582,
+ 709,
+ 769,
+ 775,
+ 987,
+ 80,
+ 129,
+ 156,
+ 281,
+ 339,
+ 346,
+ 402,
+ 777,
+ 789,
+ 812,
+ 822,
+ 859,
+ 108,
+ 127,
+ 207,
+ 293,
+ 337,
+ 385,
+ 415,
+ 479,
+ 509,
+ 539,
+ 746,
+ 785,
+ 929,
+ 934,
+ 943,
+ 27,
+ 52,
+ 55,
+ 67,
+ 124,
+ 298,
+ 381,
+ 625,
+ 690,
+ 741,
+ 975,
+ 26,
+ 112,
+ 127,
+ 152,
+ 225,
+ 513,
+ 534,
+ 672,
+ 734,
+ 766,
+ 968,
+ 26,
+ 87,
+ 123,
+ 198,
+ 266,
+ 279,
+ 410,
+ 445,
+ 612,
+ 791,
+ 807,
+ 946,
+ 996,
+ 287,
+ 417,
+ 458,
+ 515,
+ 562,
+ 576,
+ 725,
+ 750,
+ 779,
+ 92,
+ 136,
+ 168,
+ 174,
+ 213,
+ 300,
+ 392,
+ 541,
+ 602,
+ 618,
+ 729,
+ 761,
+ 960,
+ 2,
+ 340,
+ 378,
+ 414,
+ 441,
+ 575,
+ 632,
+ 731,
+ 791,
+ 870,
+ 875,
+ 2,
+ 176,
+ 241,
+ 307,
+ 436,
+ 707,
+ 912,
+ 929,
+ 962,
+ 232,
+ 300,
+ 389,
+ 397,
+ 400,
+ 483,
+ 547,
+ 628,
+ 766,
+ 781,
+ 783,
+ 833,
+ 981,
+ 193,
+ 200,
+ 224,
+ 681,
+ 739,
+ 750,
+ 25,
+ 404,
+ 409,
+ 420,
+ 511,
+ 621,
+ 623,
+ 857,
+ 909,
+ 144,
+ 179,
+ 221,
+ 223,
+ 400,
+ 413,
+ 483,
+ 507,
+ 516,
+ 609,
+ 806,
+ 869,
+ 995,
+ 1,
+ 194,
+ 270,
+ 433,
+ 450,
+ 549,
+ 591,
+ 794,
+ 872,
+ 106,
+ 125,
+ 136,
+ 207,
+ 239,
+ 432,
+ 529,
+ 588,
+ 634,
+ 869,
+ 936,
+ 61,
+ 70,
+ 156,
+ 171,
+ 172,
+ 272,
+ 582,
+ 594,
+ 943,
+ 310,
+ 445,
+ 589,
+ 752,
+ 769,
+ 775,
+ 778,
+ 901,
+ 76,
+ 130,
+ 151,
+ 165,
+ 236,
+ 473,
+ 503,
+ 558,
+ 794,
+ 804,
+ 945,
+ 953,
+ 971,
+ 2,
+ 4,
+ 44,
+ 150,
+ 167,
+ 190,
+ 209,
+ 658,
+ 747,
+ 934,
+ 75,
+ 156,
+ 315,
+ 528,
+ 697,
+ 760,
+ 156,
+ 165,
+ 232,
+ 644,
+ 680,
+ 686,
+ 771,
+ 846,
+ 100,
+ 197,
+ 377,
+ 497,
+ 658,
+ 674,
+ 685,
+ 716,
+ 759,
+ 890,
+ 1,
+ 18,
+ 104,
+ 318,
+ 462,
+ 643,
+ 793,
+ 930,
+ 999,
+ 104,
+ 112,
+ 141,
+ 231,
+ 255,
+ 414,
+ 419,
+ 651,
+ 754,
+ 900,
+ 914,
+ 965,
+ 969,
+ 43,
+ 275,
+ 386,
+ 410,
+ 419,
+ 480,
+ 607,
+ 649,
+ 688,
+ 763,
+ 850,
+ 149,
+ 184,
+ 326,
+ 434,
+ 485,
+ 599,
+ 618,
+ 786,
+ 915,
+ 54,
+ 113,
+ 195,
+ 358,
+ 383,
+ 489,
+ 564,
+ 788,
+ 840,
+ 887,
+ 219,
+ 232,
+ 351,
+ 373,
+ 691,
+ 777,
+ 42,
+ 58,
+ 124,
+ 272,
+ 297,
+ 571,
+ 583,
+ 590,
+ 618,
+ 734,
+ 867,
+ 60,
+ 90,
+ 174,
+ 217,
+ 339,
+ 423,
+ 531,
+ 640,
+ 707,
+ 767,
+ 798,
+ 896,
+ 981,
+ 208,
+ 304,
+ 402,
+ 657,
+ 959,
+ 197,
+ 242,
+ 348,
+ 373,
+ 409,
+ 449,
+ 489,
+ 529,
+ 545,
+ 577,
+ 812,
+ 844,
+ 853,
+ 956,
+ 114,
+ 128,
+ 137,
+ 254,
+ 386,
+ 401,
+ 424,
+ 425,
+ 470,
+ 509,
+ 735,
+ 835,
+ 872,
+ 899,
+ 29,
+ 49,
+ 189,
+ 201,
+ 495,
+ 517,
+ 598,
+ 669,
+ 712,
+ 734,
+ 794,
+ 903,
+ 32,
+ 34,
+ 191,
+ 411,
+ 499,
+ 542,
+ 581,
+ 593,
+ 748,
+ 823,
+ 878,
+ 99,
+ 169,
+ 439,
+ 522,
+ 729,
+ 879,
+ 31,
+ 97,
+ 195,
+ 273,
+ 314,
+ 496,
+ 498,
+ 863,
+ 55,
+ 75,
+ 100,
+ 153,
+ 198,
+ 404,
+ 459,
+ 664,
+ 800,
+ 877,
+ 919,
+ 999,
+ 97,
+ 252,
+ 330,
+ 477,
+ 572,
+ 663,
+ 687,
+ 707,
+ 726,
+ 778,
+ 822,
+ 905,
+ 909,
+ 62,
+ 285,
+ 353,
+ 384,
+ 564,
+ 578,
+ 626,
+ 669,
+ 34,
+ 82,
+ 303,
+ 585,
+ 614,
+ 682,
+ 816,
+ 896,
+ 917,
+ 971,
+ 198,
+ 200,
+ 255,
+ 508,
+ 524,
+ 640,
+ 789,
+ 840,
+ 855,
+ 125,
+ 177,
+ 277,
+ 332,
+ 491,
+ 513,
+ 514,
+ 526,
+ 619,
+ 626,
+ 651,
+ 730,
+ 735,
+ 795,
+ 999,
+ 91,
+ 141,
+ 279,
+ 457,
+ 617,
+ 717,
+ 24,
+ 26,
+ 255,
+ 270,
+ 314,
+ 333,
+ 425,
+ 493,
+ 518,
+ 626,
+ 900,
+ 943,
+ 161,
+ 381,
+ 386,
+ 412,
+ 688,
+ 795,
+ 970,
+ 999,
+ 51,
+ 77,
+ 123,
+ 193,
+ 225,
+ 227,
+ 340,
+ 757,
+ 826,
+ 901,
+ 927,
+ 938,
+ 972,
+ 180,
+ 304,
+ 358,
+ 508,
+ 531,
+ 997,
+ 46,
+ 99,
+ 182,
+ 354,
+ 653,
+ 661,
+ 749,
+ 765,
+ 766,
+ 911,
+ 50,
+ 320,
+ 365,
+ 604,
+ 720,
+ 812,
+ 60,
+ 91,
+ 196,
+ 249,
+ 492,
+ 525,
+ 671,
+ 681,
+ 724,
+ 801,
+ 813,
+ 936,
+ 34,
+ 221,
+ 318,
+ 353,
+ 490,
+ 557,
+ 584,
+ 640,
+ 801,
+ 152,
+ 253,
+ 264,
+ 314,
+ 567,
+ 587,
+ 888,
+ 898,
+ 238,
+ 263,
+ 269,
+ 386,
+ 446,
+ 578,
+ 613,
+ 632,
+ 853,
+ 893,
+ 193,
+ 311,
+ 391,
+ 604,
+ 638,
+ 780,
+ 786,
+ 890,
+ 909,
+ 931,
+ 25,
+ 152,
+ 201,
+ 221,
+ 222,
+ 345,
+ 358,
+ 442,
+ 578,
+ 622,
+ 640,
+ 711,
+ 748,
+ 979,
+ 474,
+ 479,
+ 541,
+ 963,
+ 193,
+ 202,
+ 264,
+ 365,
+ 512,
+ 648,
+ 992,
+ 60,
+ 135,
+ 327,
+ 330,
+ 355,
+ 400,
+ 434,
+ 556,
+ 561,
+ 691,
+ 760,
+ 810,
+ 848,
+ 3,
+ 25,
+ 372,
+ 421,
+ 555,
+ 618,
+ 678,
+ 723,
+ 790,
+ 850,
+ 876,
+ 947,
+ 47,
+ 179,
+ 253,
+ 284,
+ 588,
+ 608,
+ 615,
+ 688,
+ 732,
+ 746,
+ 753,
+ 923,
+ 997,
+ 70,
+ 197,
+ 212,
+ 281,
+ 360,
+ 588,
+ 897,
+ 994,
+ 140,
+ 146,
+ 209,
+ 212,
+ 321,
+ 427,
+ 581,
+ 736,
+ 744,
+ 755,
+ 848,
+ 913,
+ 15,
+ 183,
+ 733,
+ 792,
+ 804,
+ 848,
+ 854,
+ 6,
+ 13,
+ 42,
+ 187,
+ 211,
+ 465,
+ 567,
+ 741,
+ 755,
+ 858,
+ 955,
+ 36,
+ 56,
+ 131,
+ 213,
+ 352,
+ 377,
+ 393,
+ 405,
+ 520,
+ 543,
+ 729,
+ 826,
+ 865,
+ 42,
+ 66,
+ 80,
+ 116,
+ 322,
+ 463,
+ 768,
+ 866,
+ 981,
+ 105,
+ 252,
+ 513,
+ 613,
+ 652,
+ 788,
+ 199,
+ 245,
+ 609,
+ 673,
+ 703,
+ 770,
+ 863,
+ 868,
+ 34,
+ 432,
+ 522,
+ 571,
+ 641,
+ 649,
+ 804,
+ 842,
+ 934,
+ 24,
+ 25,
+ 88,
+ 322,
+ 369,
+ 423,
+ 598,
+ 632,
+ 675,
+ 711,
+ 969,
+ 161,
+ 274,
+ 320,
+ 377,
+ 434,
+ 705,
+ 749,
+ 753,
+ 850,
+ 881,
+ 134,
+ 158,
+ 235,
+ 245,
+ 346,
+ 383,
+ 422,
+ 425,
+ 594,
+ 598,
+ 735,
+ 750,
+ 876,
+ 988,
+ 144,
+ 183,
+ 191,
+ 344,
+ 460,
+ 522,
+ 527,
+ 529,
+ 537,
+ 619,
+ 711,
+ 812,
+ 852,
+ 901,
+ 979,
+ 100,
+ 143,
+ 653,
+ 755,
+ 759,
+ 816,
+ 23,
+ 161,
+ 188,
+ 223,
+ 266,
+ 326,
+ 726,
+ 750,
+ 802,
+ 898,
+ 998,
+ 27,
+ 178,
+ 242,
+ 269,
+ 604,
+ 870,
+ 990,
+ 137,
+ 350,
+ 424,
+ 447,
+ 553,
+ 559,
+ 580,
+ 624,
+ 677,
+ 690,
+ 751,
+ 894,
+ 922,
+ 995,
+ 41,
+ 147,
+ 178,
+ 272,
+ 357,
+ 361,
+ 415,
+ 782,
+ 891,
+ 124,
+ 149,
+ 194,
+ 473,
+ 542,
+ 687,
+ 758,
+ 776,
+ 852,
+ 935,
+ 33,
+ 63,
+ 420,
+ 25,
+ 54,
+ 134,
+ 169,
+ 216,
+ 217,
+ 315,
+ 367,
+ 378,
+ 452,
+ 535,
+ 549,
+ 598,
+ 624,
+ 683,
+ 731,
+ 882,
+ 893,
+ 203,
+ 277,
+ 470,
+ 676,
+ 686,
+ 688,
+ 711,
+ 805,
+ 880,
+ 943,
+ 74,
+ 139,
+ 158,
+ 190,
+ 216,
+ 295,
+ 380,
+ 431,
+ 436,
+ 445,
+ 514,
+ 683,
+ 713,
+ 807,
+ 809,
+ 820,
+ 845,
+ 897,
+ 991,
+ 46,
+ 227,
+ 290,
+ 462,
+ 672,
+ 901,
+ 10,
+ 76,
+ 108,
+ 110,
+ 111,
+ 160,
+ 168,
+ 257,
+ 453,
+ 533,
+ 739,
+ 746,
+ 764,
+ 846,
+ 946,
+ 999,
+ 36,
+ 136,
+ 311,
+ 392,
+ 724,
+ 908,
+ 30,
+ 450,
+ 495,
+ 648,
+ 672,
+ 726,
+ 878,
+ 881,
+ 984,
+ 80,
+ 208,
+ 329,
+ 502,
+ 511,
+ 515,
+ 553,
+ 560,
+ 694,
+ 824,
+ 938,
+ 70,
+ 110,
+ 144,
+ 183,
+ 309,
+ 332,
+ 337,
+ 342,
+ 398,
+ 591,
+ 635,
+ 811,
+ 842,
+ 192,
+ 339,
+ 449,
+ 504,
+ 570,
+ 594,
+ 644,
+ 666,
+ 692,
+ 779,
+ 847,
+ 32,
+ 138,
+ 155,
+ 279,
+ 296,
+ 409,
+ 427,
+ 524,
+ 605,
+ 837,
+ 919,
+ 993,
+ 38,
+ 72,
+ 139,
+ 173,
+ 279,
+ 281,
+ 285,
+ 306,
+ 375,
+ 390,
+ 426,
+ 734,
+ 909,
+ 958,
+ 17,
+ 61,
+ 451,
+ 523,
+ 573,
+ 622,
+ 935,
+ 16,
+ 74,
+ 97,
+ 139,
+ 149,
+ 193,
+ 268,
+ 353,
+ 433,
+ 475,
+ 481,
+ 508,
+ 752,
+ 881,
+ 919,
+ 9,
+ 93,
+ 292,
+ 406,
+ 543,
+ 573,
+ 610,
+ 612,
+ 642,
+ 855,
+ 326,
+ 327,
+ 428,
+ 430,
+ 677,
+ 781,
+ 796,
+ 906,
+ 918,
+ 93,
+ 191,
+ 206,
+ 467,
+ 654,
+ 704,
+ 707,
+ 709,
+ 813,
+ 908,
+ 87,
+ 212,
+ 252,
+ 315,
+ 586,
+ 755,
+ 777,
+ 801,
+ 809,
+ 838,
+ 982,
+ 479,
+ 491,
+ 499,
+ 681,
+ 887,
+ 996,
+ 37,
+ 378,
+ 408,
+ 456,
+ 460,
+ 493,
+ 568,
+ 601,
+ 616,
+ 684,
+ 820,
+ 866,
+ 915,
+ 153,
+ 186,
+ 593,
+ 781,
+ 878,
+ 48,
+ 262,
+ 320,
+ 361,
+ 599,
+ 696,
+ 698,
+ 871,
+ 17,
+ 104,
+ 128,
+ 142,
+ 216,
+ 347,
+ 468,
+ 583,
+ 656,
+ 737,
+ 752,
+ 759,
+ 767,
+ 848,
+ 860,
+ 885,
+ 105,
+ 151,
+ 173,
+ 198,
+ 412,
+ 467,
+ 701,
+ 709,
+ 967,
+ 65,
+ 165,
+ 315,
+ 431,
+ 523,
+ 562,
+ 633,
+ 694,
+ 780,
+ 782,
+ 795,
+ 943,
+ 991,
+ 28,
+ 125,
+ 223,
+ 283,
+ 384,
+ 460,
+ 586,
+ 589,
+ 600,
+ 743,
+ 754,
+ 846,
+ 907,
+ 983,
+ 12,
+ 26,
+ 94,
+ 190,
+ 256,
+ 282,
+ 380,
+ 385,
+ 450,
+ 570,
+ 582,
+ 669,
+ 672,
+ 751,
+ 804,
+ 892,
+ 26,
+ 167,
+ 259,
+ 337,
+ 409,
+ 425,
+ 121,
+ 133,
+ 305,
+ 332,
+ 408,
+ 432,
+ 531,
+ 582,
+ 598,
+ 680,
+ 716,
+ 778,
+ 790,
+ 907,
+ 942,
+ 224,
+ 240,
+ 394,
+ 449,
+ 489,
+ 503,
+ 575,
+ 594,
+ 618,
+ 653,
+ 711,
+ 736,
+ 744,
+ 821,
+ 961,
+ 536,
+ 603,
+ 781,
+ 866,
+ 901,
+ 911,
+ 916,
+ 970,
+ 42,
+ 110,
+ 186,
+ 276,
+ 396,
+ 565,
+ 573,
+ 677,
+ 738,
+ 918,
+ 956,
+ 965,
+ 978,
+ 160,
+ 191,
+ 338,
+ 502,
+ 572,
+ 721,
+ 731,
+ 45,
+ 209,
+ 224,
+ 226,
+ 623,
+ 718,
+ 721,
+ 725,
+ 840,
+ 953,
+ 977,
+ 24,
+ 77,
+ 117,
+ 290,
+ 941,
+ 945,
+ 84,
+ 200,
+ 254,
+ 374,
+ 591,
+ 635,
+ 652,
+ 765,
+ 826,
+ 949,
+ 104,
+ 257,
+ 715,
+ 162,
+ 456,
+ 479,
+ 892,
+ 34,
+ 110,
+ 142,
+ 645,
+ 664,
+ 840,
+ 950,
+ 139,
+ 313,
+ 453,
+ 615,
+ 792,
+ 798,
+ 47,
+ 133,
+ 170,
+ 350,
+ 605,
+ 757,
+ 922,
+ 940,
+ 45,
+ 204,
+ 274,
+ 369,
+ 411,
+ 809,
+ 888,
+ 903,
+ 969,
+ 151,
+ 318,
+ 354,
+ 375,
+ 629,
+ 758,
+ 881,
+ 917,
+ 972,
+ 185,
+ 238,
+ 397,
+ 405,
+ 422,
+ 450,
+ 500,
+ 532,
+ 625,
+ 677,
+ 708,
+ 755,
+ 780,
+ 824,
+ 845,
+ 931,
+ 963,
+ 975,
+ 18,
+ 245,
+ 447,
+ 519,
+ 700,
+ 21,
+ 49,
+ 130,
+ 133,
+ 185,
+ 191,
+ 388,
+ 654,
+ 760,
+ 812,
+ 817,
+ 858,
+ 906,
+ 982,
+ 997,
+ 209,
+ 508,
+ 611,
+ 691,
+ 725,
+ 79,
+ 232,
+ 320,
+ 367,
+ 481,
+ 559,
+ 649,
+ 656,
+ 830,
+ 960,
+ 40,
+ 288,
+ 542,
+ 644,
+ 646,
+ 749,
+ 827,
+ 894,
+ 929,
+ 956,
+ 73,
+ 87,
+ 215,
+ 261,
+ 377,
+ 517,
+ 822,
+ 906,
+ 997,
+ 56,
+ 267,
+ 276,
+ 375,
+ 415,
+ 528,
+ 660,
+ 670,
+ 892,
+ 959,
+ 998,
+ 999,
+ 146,
+ 329,
+ 331,
+ 332,
+ 400,
+ 510,
+ 623,
+ 653,
+ 822,
+ 18,
+ 375,
+ 394,
+ 477,
+ 482,
+ 596,
+ 665,
+ 724,
+ 847,
+ 872,
+ 935,
+ 40,
+ 136,
+ 320,
+ 332,
+ 408,
+ 767,
+ 975,
+ 24,
+ 49,
+ 156,
+ 246,
+ 378,
+ 578,
+ 627,
+ 916,
+ 965,
+ 998,
+ 123,
+ 285,
+ 305,
+ 438,
+ 476,
+ 538,
+ 554,
+ 773,
+ 804,
+ 968,
+ 4,
+ 181,
+ 240,
+ 411,
+ 715,
+ 797,
+ 802,
+ 896,
+ 904,
+ 985,
+ 68,
+ 118,
+ 185,
+ 326,
+ 645,
+ 690,
+ 736,
+ 744,
+ 961,
+ 3,
+ 404,
+ 437,
+ 572,
+ 812,
+ 902,
+ 917,
+ 921,
+ 180,
+ 291,
+ 327,
+ 328,
+ 389,
+ 407,
+ 408,
+ 530,
+ 650,
+ 727,
+ 996,
+ 230,
+ 313,
+ 506,
+ 579,
+ 593,
+ 610,
+ 814,
+ 832,
+ 840,
+ 876,
+ 951,
+ 251,
+ 327,
+ 353,
+ 581,
+ 588,
+ 711,
+ 837,
+ 2,
+ 60,
+ 165,
+ 275,
+ 291,
+ 320,
+ 735,
+ 796,
+ 63,
+ 78,
+ 165,
+ 318,
+ 433,
+ 439,
+ 456,
+ 466,
+ 529,
+ 765,
+ 144,
+ 221,
+ 259,
+ 686,
+ 793,
+ 7,
+ 242,
+ 265,
+ 433,
+ 474,
+ 664,
+ 840,
+ 954,
+ 95,
+ 161,
+ 165,
+ 209,
+ 396,
+ 820,
+ 947,
+ 36,
+ 198,
+ 262,
+ 342,
+ 449,
+ 482,
+ 621,
+ 742,
+ 756,
+ 822,
+ 972,
+ 145,
+ 339,
+ 342,
+ 479,
+ 523,
+ 811,
+ 916,
+ 199,
+ 318,
+ 323,
+ 363,
+ 491,
+ 496,
+ 562,
+ 570,
+ 612,
+ 719,
+ 739,
+ 836,
+ 168,
+ 216,
+ 252,
+ 319,
+ 760,
+ 841,
+ 845,
+ 955,
+ 144,
+ 354,
+ 442,
+ 443,
+ 662,
+ 752,
+ 936,
+ 77,
+ 185,
+ 315,
+ 473,
+ 512,
+ 596,
+ 612,
+ 634,
+ 900,
+ 936,
+ 974,
+ 166,
+ 189,
+ 428,
+ 498,
+ 755,
+ 922,
+ 23,
+ 100,
+ 204,
+ 534,
+ 719,
+ 738,
+ 854,
+ 44,
+ 120,
+ 273,
+ 407,
+ 988,
+ 50,
+ 386,
+ 460,
+ 472,
+ 513,
+ 552,
+ 811,
+ 912,
+ 981,
+ 995,
+ 24,
+ 113,
+ 129,
+ 302,
+ 442,
+ 512,
+ 685,
+ 726,
+ 966,
+ 161,
+ 413,
+ 491,
+ 498,
+ 499,
+ 543,
+ 688,
+ 690,
+ 809,
+ 843,
+ 888,
+ 564,
+ 624,
+ 756,
+ 815,
+ 832,
+ 866,
+ 932,
+ 1,
+ 13,
+ 26,
+ 39,
+ 87,
+ 176,
+ 279,
+ 284,
+ 317,
+ 344,
+ 397,
+ 442,
+ 507,
+ 591,
+ 663,
+ 691,
+ 800,
+ 803,
+ 865,
+ 925,
+ 987,
+ 995,
+ 996,
+ 315,
+ 541,
+ 557,
+ 664,
+ 679,
+ 754,
+ 808,
+ 851,
+ 918,
+ 0,
+ 117,
+ 131,
+ 262,
+ 442,
+ 627,
+ 702,
+ 799,
+ 945,
+ 281,
+ 313,
+ 314,
+ 384,
+ 427,
+ 558,
+ 669,
+ 706,
+ 720,
+ 721,
+ 766,
+ 786,
+ 840,
+ 842,
+ 923,
+ 58,
+ 119,
+ 317,
+ 411,
+ 415,
+ 416,
+ 680,
+ 997,
+ 84,
+ 442,
+ 487,
+ 689,
+ 811,
+ 833,
+ 940,
+ 22,
+ 431,
+ 515,
+ 598,
+ 605,
+ 738,
+ 876,
+ 919,
+ 960,
+ 980,
+ 3,
+ 38,
+ 130,
+ 716,
+ 854,
+ 885,
+ 51,
+ 93,
+ 141,
+ 153,
+ 195,
+ 258,
+ 329,
+ 390,
+ 497,
+ 508,
+ 680,
+ 863,
+ 169,
+ 211,
+ 335,
+ 423,
+ 442,
+ 479,
+ 864,
+ 169,
+ 239,
+ 534,
+ 605,
+ 708,
+ 743,
+ 772,
+ 814,
+ 832,
+ 54,
+ 110,
+ 167,
+ 171,
+ 290,
+ 370,
+ 433,
+ 652,
+ 661,
+ 677,
+ 710,
+ 726,
+ 829,
+ 902,
+ 915,
+ 44,
+ 88,
+ 104,
+ 214,
+ 313,
+ 346,
+ 487,
+ 555,
+ 582,
+ 660,
+ 674,
+ 713,
+ 721,
+ 762,
+ 785,
+ 797,
+ 986,
+ 998,
+ 50,
+ 143,
+ 158,
+ 281,
+ 488,
+ 566,
+ 579,
+ 584,
+ 596,
+ 846,
+ 876,
+ 42,
+ 64,
+ 71,
+ 73,
+ 105,
+ 170,
+ 171,
+ 210,
+ 276,
+ 531,
+ 577,
+ 699,
+ 879,
+ 889,
+ 925,
+ 932,
+ 442,
+ 447,
+ 462,
+ 504,
+ 530,
+ 687,
+ 714,
+ 838,
+ 120,
+ 171,
+ 280,
+ 358,
+ 644,
+ 735,
+ 765,
+ 964,
+ 988,
+ 993,
+ 80,
+ 352,
+ 740,
+ 813,
+ 999,
+ 133,
+ 155,
+ 192,
+ 196,
+ 442,
+ 456,
+ 504,
+ 519,
+ 530,
+ 606,
+ 777,
+ 916,
+ 985,
+ 24,
+ 42,
+ 351,
+ 407,
+ 504,
+ 516,
+ 682,
+ 879,
+ 67,
+ 69,
+ 145,
+ 152,
+ 492,
+ 515,
+ 562,
+ 575,
+ 658,
+ 668,
+ 700,
+ 722,
+ 811,
+ 956,
+ 18,
+ 126,
+ 283,
+ 289,
+ 297,
+ 307,
+ 337,
+ 368,
+ 519,
+ 615,
+ 789,
+ 838,
+ 876,
+ 970,
+ 38,
+ 137,
+ 307,
+ 378,
+ 436,
+ 437,
+ 453,
+ 520,
+ 793,
+ 844,
+ 893,
+ 168,
+ 179,
+ 230,
+ 327,
+ 487,
+ 662,
+ 727,
+ 126,
+ 320,
+ 584,
+ 707,
+ 864,
+ 895,
+ 295,
+ 309,
+ 781,
+ 823,
+ 988,
+ 18,
+ 42,
+ 151,
+ 163,
+ 259,
+ 324,
+ 349,
+ 416,
+ 521,
+ 659,
+ 689,
+ 912,
+ 24,
+ 87,
+ 201,
+ 319,
+ 406,
+ 434,
+ 488,
+ 554,
+ 576,
+ 624,
+ 714,
+ 851,
+ 995,
+ 49,
+ 142,
+ 236,
+ 300,
+ 416,
+ 497,
+ 586,
+ 708,
+ 777,
+ 962,
+ 969,
+ 217,
+ 235,
+ 279,
+ 316,
+ 430,
+ 491,
+ 630,
+ 842,
+ 907,
+ 124,
+ 143,
+ 180,
+ 455,
+ 672,
+ 695,
+ 891,
+ 971,
+ 90,
+ 173,
+ 363,
+ 410,
+ 446,
+ 480,
+ 528,
+ 631,
+ 690,
+ 777,
+ 792,
+ 143,
+ 187,
+ 261,
+ 268,
+ 292,
+ 410,
+ 524,
+ 557,
+ 618,
+ 643,
+ 656,
+ 680,
+ 807,
+ 812,
+ 824,
+ 900,
+ 2,
+ 5,
+ 117,
+ 216,
+ 329,
+ 355,
+ 400,
+ 493,
+ 606,
+ 631,
+ 850,
+ 875,
+ 947,
+ 93,
+ 134,
+ 172,
+ 427,
+ 477,
+ 508,
+ 540,
+ 585,
+ 878,
+ 123,
+ 302,
+ 594,
+ 678,
+ 697,
+ 747,
+ 824,
+ 868,
+ 965,
+ 14,
+ 21,
+ 178,
+ 180,
+ 227,
+ 281,
+ 379,
+ 412,
+ 417,
+ 450,
+ 456,
+ 465,
+ 589,
+ 596,
+ 736,
+ 760,
+ 844,
+ 13,
+ 81,
+ 177,
+ 276,
+ 327,
+ 359,
+ 623,
+ 674,
+ 676,
+ 3,
+ 6,
+ 34,
+ 144,
+ 150,
+ 202,
+ 219,
+ 376,
+ 429,
+ 539,
+ 648,
+ 663,
+ 885,
+ 944,
+ 997,
+ 31,
+ 259,
+ 263,
+ 291,
+ 646,
+ 783,
+ 820,
+ 836,
+ 903,
+ 929,
+ 83,
+ 145,
+ 193,
+ 372,
+ 392,
+ 422,
+ 564,
+ 734,
+ 740,
+ 846,
+ 868,
+ 945,
+ 185,
+ 277,
+ 325,
+ 394,
+ 499,
+ 649,
+ 656,
+ 748,
+ 841,
+ 922,
+ 958,
+ 19,
+ 43,
+ 51,
+ 96,
+ 291,
+ 397,
+ 680,
+ 729,
+ 913,
+ 943,
+ 978,
+ 151,
+ 179,
+ 234,
+ 248,
+ 358,
+ 692,
+ 704,
+ 778,
+ 809,
+ 847,
+ 850,
+ 873,
+ 969,
+ 242,
+ 327,
+ 340,
+ 552,
+ 736,
+ 742,
+ 837,
+ 959,
+ 179,
+ 216,
+ 355,
+ 356,
+ 443,
+ 447,
+ 512,
+ 515,
+ 529,
+ 634,
+ 786,
+ 47,
+ 142,
+ 203,
+ 223,
+ 606,
+ 623,
+ 815,
+ 24,
+ 37,
+ 67,
+ 199,
+ 272,
+ 349,
+ 380,
+ 512,
+ 574,
+ 586,
+ 743,
+ 847,
+ 890,
+ 897,
+ 25,
+ 107,
+ 347,
+ 474,
+ 476,
+ 621,
+ 642,
+ 734,
+ 755,
+ 142,
+ 211,
+ 273,
+ 526,
+ 528,
+ 602,
+ 632,
+ 761,
+ 765,
+ 776,
+ 847,
+ 112,
+ 118,
+ 140,
+ 153,
+ 229,
+ 313,
+ 448,
+ 469,
+ 619,
+ 627,
+ 637,
+ 672,
+ 751,
+ 900,
+ 906,
+ 297,
+ 411,
+ 464,
+ 497,
+ 691,
+ 740,
+ 886,
+ 14,
+ 109,
+ 125,
+ 187,
+ 194,
+ 241,
+ 263,
+ 379,
+ 552,
+ 615,
+ 657,
+ 670,
+ 750,
+ 47,
+ 133,
+ 386,
+ 482,
+ 517,
+ 641,
+ 696,
+ 734,
+ 951,
+ 1,
+ 101,
+ 103,
+ 134,
+ 205,
+ 526,
+ 533,
+ 538,
+ 559,
+ 594,
+ 680,
+ 835,
+ 4,
+ 224,
+ 526,
+ 600,
+ 769,
+ 885,
+ 991,
+ 2,
+ 292,
+ 326,
+ 380,
+ 393,
+ 539,
+ 798,
+ 907,
+ 465,
+ 641,
+ 727,
+ 763,
+ 794,
+ 854,
+ 44,
+ 92,
+ 235,
+ 381,
+ 420,
+ 430,
+ 461,
+ 538,
+ 555,
+ 725,
+ 756,
+ 849,
+ 177,
+ 180,
+ 337,
+ 353,
+ 540,
+ 571,
+ 588,
+ 706,
+ 734,
+ 753,
+ 776,
+ 786,
+ 982,
+ 999,
+ 10,
+ 159,
+ 258,
+ 428,
+ 449,
+ 505,
+ 588,
+ 888,
+ 998,
+ 55,
+ 79,
+ 95,
+ 211,
+ 226,
+ 432,
+ 435,
+ 560,
+ 563,
+ 613,
+ 694,
+ 806,
+ 968,
+ 90,
+ 165,
+ 207,
+ 422,
+ 439,
+ 489,
+ 674,
+ 693,
+ 985,
+ 8,
+ 111,
+ 336,
+ 474,
+ 489,
+ 554,
+ 715,
+ 742,
+ 772,
+ 889,
+ 906,
+ 918,
+ 102,
+ 197,
+ 236,
+ 294,
+ 345,
+ 562,
+ 568,
+ 697,
+ 850,
+ 950,
+ 113,
+ 151,
+ 204,
+ 226,
+ 235,
+ 267,
+ 302,
+ 380,
+ 407,
+ 499,
+ 813,
+ 916,
+ 956,
+ 200,
+ 275,
+ 403,
+ 546,
+ 607,
+ 697,
+ 734,
+ 187,
+ 211,
+ 255,
+ 329,
+ 359,
+ 421,
+ 495,
+ 555,
+ 581,
+ 696,
+ 961,
+ 973,
+ 231,
+ 318,
+ 359,
+ 388,
+ 422,
+ 643,
+ 707,
+ 932,
+ 940,
+ 949,
+ 3,
+ 65,
+ 128,
+ 134,
+ 172,
+ 231,
+ 349,
+ 728,
+ 749,
+ 757,
+ 772,
+ 891,
+ 150,
+ 185,
+ 551,
+ 599,
+ 617,
+ 709,
+ 816,
+ 170,
+ 339,
+ 406,
+ 487,
+ 800,
+ 887,
+ 71,
+ 196,
+ 209,
+ 449,
+ 497,
+ 517,
+ 518,
+ 529,
+ 629,
+ 661,
+ 715,
+ 869,
+ 20,
+ 37,
+ 96,
+ 99,
+ 214,
+ 273,
+ 400,
+ 555,
+ 917,
+ 31,
+ 227,
+ 228,
+ 246,
+ 353,
+ 379,
+ 507,
+ 534,
+ 590,
+ 620,
+ 680,
+ 734,
+ 830,
+ 876,
+ 955,
+ 996,
+ 5,
+ 361,
+ 364,
+ 559,
+ 699,
+ 882,
+ 920,
+ 11,
+ 114,
+ 119,
+ 154,
+ 161,
+ 319,
+ 467,
+ 533,
+ 570,
+ 787,
+ 827,
+ 995,
+ 23,
+ 171,
+ 240,
+ 254,
+ 268,
+ 287,
+ 455,
+ 580,
+ 672,
+ 726,
+ 977,
+ 982,
+ 203,
+ 239,
+ 298,
+ 407,
+ 579,
+ 594,
+ 610,
+ 624,
+ 672,
+ 756,
+ 161,
+ 228,
+ 437,
+ 465,
+ 552,
+ 861,
+ 879,
+ 968,
+ 987,
+ 989,
+ 59,
+ 79,
+ 143,
+ 149,
+ 166,
+ 271,
+ 300,
+ 411,
+ 641,
+ 677,
+ 757,
+ 868,
+ 918,
+ 994,
+ 0,
+ 321,
+ 340,
+ 346,
+ 548,
+ 788,
+ 821,
+ 953,
+ 59,
+ 120,
+ 230,
+ 344,
+ 726,
+ 823,
+ 850,
+ 83,
+ 121,
+ 201,
+ 345,
+ 355,
+ 369,
+ 398,
+ 422,
+ 507,
+ 527,
+ 554,
+ 599,
+ 712,
+ 735,
+ 874,
+ 900,
+ 28,
+ 40,
+ 149,
+ 243,
+ 344,
+ 494,
+ 759,
+ 902,
+ 979,
+ 9,
+ 168,
+ 493,
+ 610,
+ 655,
+ 747,
+ 806,
+ 975,
+ 8,
+ 29,
+ 56,
+ 150,
+ 177,
+ 207,
+ 268,
+ 364,
+ 368,
+ 458,
+ 473,
+ 719,
+ 796,
+ 862,
+ 865,
+ 45,
+ 52,
+ 115,
+ 198,
+ 285,
+ 377,
+ 396,
+ 548,
+ 682,
+ 705,
+ 807,
+ 833,
+ 957,
+ 36,
+ 149,
+ 150,
+ 278,
+ 440,
+ 451,
+ 558,
+ 575,
+ 625,
+ 630,
+ 689,
+ 932,
+ 953,
+ 985,
+ 16,
+ 106,
+ 338,
+ 342,
+ 667,
+ 675,
+ 723,
+ 745,
+ 973,
+ 86,
+ 175,
+ 207,
+ 262,
+ 385,
+ 496,
+ 774,
+ 33,
+ 222,
+ 265,
+ 295,
+ 297,
+ 410,
+ 412,
+ 500,
+ 526,
+ 595,
+ 813,
+ 899,
+ 87,
+ 155,
+ 168,
+ 505,
+ 612,
+ 650,
+ 753,
+ 819,
+ 830,
+ 103,
+ 147,
+ 237,
+ 278,
+ 438,
+ 480,
+ 490,
+ 648,
+ 671,
+ 748,
+ 822,
+ 183,
+ 246,
+ 400,
+ 541,
+ 582,
+ 614,
+ 622,
+ 745,
+ 807,
+ 80,
+ 137,
+ 430,
+ 461,
+ 541,
+ 724,
+ 6,
+ 142,
+ 168,
+ 183,
+ 196,
+ 313,
+ 484,
+ 594,
+ 635,
+ 716,
+ 803,
+ 825,
+ 861,
+ 972,
+ 981,
+ 83,
+ 164,
+ 202,
+ 232,
+ 270,
+ 311,
+ 404,
+ 431,
+ 688,
+ 729,
+ 867,
+ 903,
+ 925,
+ 69,
+ 283,
+ 295,
+ 363,
+ 410,
+ 434,
+ 457,
+ 481,
+ 574,
+ 578,
+ 587,
+ 600,
+ 664,
+ 803,
+ 858,
+ 76,
+ 205,
+ 334,
+ 441,
+ 553,
+ 590,
+ 944,
+ 69,
+ 272,
+ 486,
+ 513,
+ 604,
+ 749,
+ 842,
+ 852,
+ 954,
+ 17,
+ 86,
+ 115,
+ 203,
+ 343,
+ 355,
+ 467,
+ 478,
+ 629,
+ 646,
+ 748,
+ 811,
+ 900,
+ 13,
+ 25,
+ 120,
+ 353,
+ 608,
+ 612,
+ 747,
+ 766,
+ 856,
+ 109,
+ 234,
+ 265,
+ 279,
+ 325,
+ 379,
+ 418,
+ 464,
+ 550,
+ 552,
+ 571,
+ 344,
+ 448,
+ 517,
+ 682,
+ 895,
+ 173,
+ 242,
+ 281,
+ 314,
+ 350,
+ 502,
+ 518,
+ 552,
+ 745,
+ 19,
+ 70,
+ 75,
+ 80,
+ 695,
+ 697,
+ 793,
+ 877,
+ 85,
+ 189,
+ 248,
+ 300,
+ 417,
+ 433,
+ 507,
+ 936,
+ 947,
+ 8,
+ 351,
+ 368,
+ 400,
+ 450,
+ 470,
+ 474,
+ 501,
+ 518,
+ 524,
+ 558,
+ 616,
+ 666,
+ 712,
+ 953,
+ 172,
+ 398,
+ 644,
+ 680,
+ 785,
+ 71,
+ 116,
+ 288,
+ 314,
+ 327,
+ 488,
+ 724,
+ 770,
+ 858,
+ 934,
+ 958,
+ 67,
+ 115,
+ 279,
+ 654,
+ 689,
+ 707,
+ 752,
+ 888,
+ 966,
+ 208,
+ 544,
+ 679,
+ 719,
+ 789,
+ 831,
+ 49,
+ 263,
+ 420,
+ 433,
+ 502,
+ 602,
+ 651,
+ 678,
+ 730,
+ 756,
+ 762,
+ 900,
+ 100,
+ 113,
+ 177,
+ 198,
+ 509,
+ 516,
+ 596,
+ 645,
+ 783,
+ 939,
+ 987,
+ 335,
+ 429,
+ 437,
+ 543,
+ 566,
+ 695,
+ 707,
+ 747,
+ 868,
+ 921,
+ 0,
+ 84,
+ 203,
+ 215,
+ 477,
+ 523,
+ 526,
+ 612,
+ 627,
+ 766,
+ 778,
+ 809,
+ 126,
+ 203,
+ 373,
+ 590,
+ 640,
+ 863,
+ 871,
+ 937,
+ 201,
+ 221,
+ 729,
+ 746,
+ 772,
+ 924,
+ 937,
+ 964,
+ 78,
+ 339,
+ 406,
+ 424,
+ 475,
+ 679,
+ 869,
+ 938,
+ 64,
+ 147,
+ 163,
+ 171,
+ 293,
+ 381,
+ 390,
+ 511,
+ 989,
+ 63,
+ 85,
+ 208,
+ 335,
+ 441,
+ 510,
+ 566,
+ 586,
+ 909,
+ 935,
+ 970,
+ 50,
+ 100,
+ 351,
+ 354,
+ 397,
+ 442,
+ 448,
+ 580,
+ 657,
+ 789,
+ 836,
+ 293,
+ 311,
+ 456,
+ 795,
+ 796,
+ 799,
+ 909,
+ 972,
+ 984,
+ 28,
+ 132,
+ 226,
+ 361,
+ 473,
+ 493,
+ 586,
+ 611,
+ 676,
+ 693,
+ 939,
+ 948,
+ 150,
+ 185,
+ 269,
+ 362,
+ 648,
+ 650,
+ 870,
+ 307,
+ 330,
+ 438,
+ 756,
+ 852,
+ 99,
+ 223,
+ 285,
+ 371,
+ 767,
+ 912,
+ 966,
+ 1,
+ 3,
+ 111,
+ 583,
+ 733,
+ 841,
+ 959,
+ 977,
+ 115,
+ 263,
+ 283,
+ 498,
+ 517,
+ 534,
+ 604,
+ 656,
+ 661,
+ 769,
+ 876,
+ 974,
+ 59,
+ 123,
+ 291,
+ 343,
+ 473,
+ 565,
+ 634,
+ 834,
+ 898,
+ 923,
+ 962,
+ 75,
+ 85,
+ 92,
+ 125,
+ 305,
+ 827,
+ 836,
+ 901,
+ 936,
+ 28,
+ 124,
+ 316,
+ 541,
+ 636,
+ 694,
+ 929,
+ 960,
+ 37,
+ 69,
+ 169,
+ 442,
+ 491,
+ 588,
+ 619,
+ 643,
+ 740,
+ 794,
+ 939,
+ 941,
+ 10,
+ 43,
+ 248,
+ 450,
+ 812,
+ 907,
+ 984,
+ 271,
+ 307,
+ 316,
+ 533,
+ 702,
+ 733,
+ 752,
+ 850,
+ 892,
+ 919,
+ 971,
+ 97,
+ 132,
+ 154,
+ 461,
+ 633,
+ 741,
+ 905,
+ 940,
+ 74,
+ 115,
+ 118,
+ 251,
+ 297,
+ 344,
+ 405,
+ 623,
+ 655,
+ 658,
+ 775,
+ 801,
+ 903,
+ 965,
+ 53,
+ 309,
+ 392,
+ 643,
+ 696,
+ 752,
+ 764,
+ 867,
+ 981,
+ 64,
+ 228,
+ 236,
+ 301,
+ 498,
+ 512,
+ 536,
+ 568,
+ 685,
+ 865,
+ 925,
+ 29,
+ 371,
+ 372,
+ 626,
+ 760,
+ 765,
+ 773,
+ 813,
+ 980,
+ 109,
+ 177,
+ 211,
+ 322,
+ 370,
+ 415,
+ 425,
+ 514,
+ 647,
+ 672,
+ 767,
+ 945,
+ 613,
+ 720,
+ 863,
+ 870,
+ 886,
+ 924,
+ 144,
+ 233,
+ 483,
+ 504,
+ 811,
+ 872,
+ 908,
+ 921,
+ 61,
+ 160,
+ 350,
+ 376,
+ 424,
+ 602,
+ 632,
+ 675,
+ 682,
+ 861,
+ 959,
+ 380,
+ 389,
+ 848,
+ 7,
+ 13,
+ 458,
+ 629,
+ 103,
+ 193,
+ 231,
+ 533,
+ 590,
+ 598,
+ 661,
+ 741,
+ 880,
+ 243,
+ 400,
+ 505,
+ 601,
+ 689,
+ 965,
+ 15,
+ 136,
+ 200,
+ 230,
+ 322,
+ 419,
+ 792,
+ 890,
+ 3,
+ 71,
+ 174,
+ 189,
+ 336,
+ 363,
+ 371,
+ 403,
+ 534,
+ 743,
+ 792,
+ 799,
+ 867,
+ 909,
+ 951,
+ 57,
+ 198,
+ 202,
+ 334,
+ 471,
+ 542,
+ 709,
+ 19,
+ 104,
+ 156,
+ 246,
+ 421,
+ 450,
+ 593,
+ 721,
+ 866,
+ 972,
+ 43,
+ 185,
+ 199,
+ 243,
+ 255,
+ 293,
+ 343,
+ 395,
+ 413,
+ 608,
+ 749,
+ 759,
+ 819,
+ 160,
+ 261,
+ 357,
+ 728,
+ 734,
+ 788,
+ 849,
+ 859,
+ 884,
+ 915,
+ 129,
+ 394,
+ 592,
+ 803,
+ 974,
+ 57,
+ 79,
+ 246,
+ 528,
+ 698,
+ 740,
+ 909,
+ 968,
+ 90,
+ 204,
+ 337,
+ 699,
+ 926,
+ 125,
+ 181,
+ 251,
+ 333,
+ 335,
+ 439,
+ 737,
+ 778,
+ 905,
+ 922,
+ 1,
+ 22,
+ 64,
+ 80,
+ 304,
+ 45,
+ 63,
+ 99,
+ 144,
+ 222,
+ 274,
+ 384,
+ 406,
+ 447,
+ 643,
+ 774,
+ 784,
+ 918,
+ 58,
+ 110,
+ 156,
+ 294,
+ 436,
+ 531,
+ 654,
+ 742,
+ 769,
+ 948,
+ 153,
+ 171,
+ 177,
+ 389,
+ 647,
+ 722,
+ 781,
+ 825,
+ 829,
+ 854,
+ 33,
+ 150,
+ 194,
+ 237,
+ 313,
+ 314,
+ 386,
+ 502,
+ 645,
+ 705,
+ 791,
+ 833,
+ 845,
+ 882,
+ 916,
+ 136,
+ 222,
+ 275,
+ 381,
+ 471,
+ 859,
+ 901,
+ 902,
+ 917,
+ 992,
+ 118,
+ 319,
+ 494,
+ 512,
+ 812,
+ 897,
+ 960,
+ 35,
+ 252,
+ 489,
+ 565,
+ 573,
+ 605,
+ 684,
+ 847,
+ 22,
+ 396,
+ 541,
+ 560,
+ 589,
+ 618,
+ 685,
+ 771,
+ 793,
+ 968,
+ 53,
+ 102,
+ 130,
+ 434,
+ 506,
+ 738,
+ 759,
+ 867,
+ 884,
+ 886,
+ 894,
+ 956,
+ 95,
+ 100,
+ 117,
+ 215,
+ 360,
+ 399,
+ 416,
+ 421,
+ 612,
+ 692,
+ 697,
+ 707,
+ 815,
+ 852,
+ 875,
+ 892,
+ 936,
+ 346,
+ 380,
+ 563,
+ 691,
+ 718,
+ 115,
+ 192,
+ 309,
+ 603,
+ 881,
+ 888,
+ 927,
+ 983,
+ 182,
+ 206,
+ 222,
+ 295,
+ 355,
+ 446,
+ 672,
+ 710,
+ 751,
+ 85,
+ 127,
+ 144,
+ 267,
+ 306,
+ 339,
+ 372,
+ 393,
+ 688,
+ 739,
+ 821,
+ 886,
+ 894,
+ 915,
+ 952,
+ 169,
+ 179,
+ 233,
+ 316,
+ 654,
+ 864,
+ 988,
+ 98,
+ 102,
+ 153,
+ 188,
+ 205,
+ 245,
+ 290,
+ 333,
+ 901,
+ 922,
+ 986,
+ 988,
+ 996,
+ 93,
+ 390,
+ 438,
+ 445,
+ 539,
+ 614,
+ 713,
+ 800,
+ 856,
+ 962,
+ 101,
+ 145,
+ 245,
+ 546,
+ 560,
+ 581,
+ 598,
+ 937,
+ 54,
+ 148,
+ 181,
+ 302,
+ 592,
+ 670,
+ 761,
+ 287,
+ 324,
+ 365,
+ 464,
+ 471,
+ 473,
+ 487,
+ 598,
+ 667,
+ 741,
+ 0,
+ 95,
+ 183,
+ 420,
+ 469,
+ 648,
+ 686,
+ 890,
+ 902,
+ 20,
+ 207,
+ 397,
+ 410,
+ 481,
+ 545,
+ 579,
+ 635,
+ 689,
+ 755,
+ 791,
+ 850,
+ 856,
+ 857,
+ 998,
+ 15,
+ 332,
+ 481,
+ 577,
+ 603,
+ 635,
+ 948,
+ 58,
+ 135,
+ 208,
+ 370,
+ 469,
+ 848,
+ 942,
+ 946,
+ 31,
+ 149,
+ 153,
+ 164,
+ 174,
+ 329,
+ 444,
+ 534,
+ 548,
+ 615,
+ 110,
+ 137,
+ 177,
+ 287,
+ 699,
+ 705,
+ 848,
+ 197,
+ 204,
+ 236,
+ 382,
+ 543,
+ 874,
+ 984,
+ 49,
+ 78,
+ 163,
+ 185,
+ 316,
+ 355,
+ 365,
+ 577,
+ 667,
+ 673,
+ 720,
+ 722,
+ 785,
+ 942,
+ 10,
+ 117,
+ 182,
+ 218,
+ 305,
+ 398,
+ 471,
+ 676,
+ 807,
+ 839,
+ 944,
+ 173,
+ 182,
+ 184,
+ 302,
+ 340,
+ 426,
+ 609,
+ 693,
+ 735,
+ 762,
+ 873,
+ 947,
+ 24,
+ 85,
+ 290,
+ 299,
+ 499,
+ 551,
+ 609,
+ 648,
+ 660,
+ 685,
+ 11,
+ 62,
+ 109,
+ 185,
+ 345,
+ 797,
+ 843,
+ 264,
+ 776,
+ 824,
+ 845,
+ 958,
+ 49,
+ 58,
+ 170,
+ 367,
+ 451,
+ 469,
+ 654,
+ 794,
+ 842,
+ 877,
+ 897,
+ 950,
+ 4,
+ 57,
+ 58,
+ 61,
+ 260,
+ 334,
+ 494,
+ 540,
+ 561,
+ 636,
+ 659,
+ 950,
+ 68,
+ 96,
+ 146,
+ 167,
+ 270,
+ 293,
+ 401,
+ 623,
+ 625,
+ 668,
+ 690,
+ 934,
+ 946,
+ 218,
+ 280,
+ 309,
+ 389,
+ 447,
+ 492,
+ 641,
+ 730,
+ 786,
+ 843,
+ 871,
+ 970,
+ 973,
+ 14,
+ 93,
+ 284,
+ 404,
+ 666,
+ 713,
+ 835,
+ 183,
+ 214,
+ 292,
+ 563,
+ 739,
+ 823,
+ 876,
+ 6,
+ 84,
+ 543,
+ 556,
+ 579,
+ 855,
+ 35,
+ 227,
+ 327,
+ 380,
+ 439,
+ 712,
+ 769,
+ 776,
+ 46,
+ 176,
+ 178,
+ 192,
+ 239,
+ 555,
+ 703,
+ 744,
+ 751,
+ 813,
+ 939,
+ 30,
+ 89,
+ 141,
+ 260,
+ 268,
+ 348,
+ 367,
+ 374,
+ 730,
+ 742,
+ 766,
+ 769,
+ 832,
+ 99,
+ 150,
+ 199,
+ 229,
+ 286,
+ 292,
+ 344,
+ 464,
+ 524,
+ 558,
+ 565,
+ 629,
+ 716,
+ 766,
+ 818,
+ 867,
+ 876,
+ 877,
+ 881,
+ 131,
+ 208,
+ 312,
+ 472,
+ 524,
+ 565,
+ 638,
+ 645,
+ 655,
+ 663,
+ 665,
+ 713,
+ 752,
+ 877,
+ 958,
+ 963,
+ 985,
+ 993,
+ 23,
+ 160,
+ 240,
+ 594,
+ 602,
+ 663,
+ 876,
+ 945,
+ 961,
+ 53,
+ 82,
+ 159,
+ 217,
+ 219,
+ 270,
+ 549,
+ 598,
+ 742,
+ 846,
+ 885,
+ 628,
+ 878,
+ 121,
+ 210,
+ 273,
+ 554,
+ 555,
+ 759,
+ 911,
+ 913,
+ 28,
+ 233,
+ 269,
+ 347,
+ 489,
+ 592,
+ 859,
+ 934,
+ 952,
+ 6,
+ 60,
+ 79,
+ 123,
+ 256,
+ 279,
+ 455,
+ 557,
+ 727,
+ 123,
+ 750,
+ 906,
+ 971,
+ 7,
+ 26,
+ 96,
+ 209,
+ 464,
+ 477,
+ 662,
+ 693,
+ 963,
+ 201,
+ 427,
+ 474,
+ 663,
+ 728,
+ 917,
+ 81,
+ 102,
+ 488,
+ 644,
+ 802,
+ 834,
+ 929,
+ 987,
+ 273,
+ 283,
+ 459,
+ 531,
+ 736,
+ 918,
+ 960,
+ 112,
+ 182,
+ 187,
+ 193,
+ 311,
+ 360,
+ 400,
+ 517,
+ 668,
+ 885,
+ 888,
+ 70,
+ 89,
+ 130,
+ 190,
+ 248,
+ 262,
+ 334,
+ 447,
+ 451,
+ 493,
+ 513,
+ 531,
+ 548,
+ 721,
+ 891,
+ 918,
+ 925,
+ 968,
+ 102,
+ 249,
+ 396,
+ 397,
+ 405,
+ 473,
+ 532,
+ 761,
+ 869,
+ 127,
+ 211,
+ 234,
+ 375,
+ 377,
+ 513,
+ 517,
+ 523,
+ 526,
+ 712,
+ 772,
+ 848,
+ 890,
+ 172,
+ 264,
+ 385,
+ 445,
+ 461,
+ 474,
+ 485,
+ 537,
+ 608,
+ 687,
+ 735,
+ 11,
+ 220,
+ 328,
+ 381,
+ 488,
+ 690,
+ 790,
+ 910,
+ 969,
+ 994,
+ 191,
+ 284,
+ 472,
+ 565,
+ 584,
+ 660,
+ 706,
+ 715,
+ 739,
+ 75,
+ 78,
+ 81,
+ 260,
+ 372,
+ 741,
+ 898,
+ 910,
+ 967,
+ 972,
+ 108,
+ 410,
+ 463,
+ 923,
+ 936,
+ 947,
+ 961,
+ 110,
+ 111,
+ 160,
+ 191,
+ 239,
+ 735,
+ 963,
+ 77,
+ 267,
+ 275,
+ 330,
+ 357,
+ 620,
+ 664,
+ 699,
+ 837,
+ 842,
+ 42,
+ 45,
+ 375,
+ 384,
+ 468,
+ 516,
+ 521,
+ 552,
+ 564,
+ 700,
+ 943,
+ 981,
+ 36,
+ 272,
+ 288,
+ 442,
+ 506,
+ 507,
+ 533,
+ 708,
+ 748,
+ 834,
+ 950,
+ 261,
+ 275,
+ 24,
+ 97,
+ 124,
+ 311,
+ 398,
+ 504,
+ 558,
+ 581,
+ 653,
+ 799,
+ 930,
+ 988,
+ 63,
+ 164,
+ 260,
+ 305,
+ 348,
+ 372,
+ 456,
+ 468,
+ 667,
+ 794,
+ 934,
+ 956,
+ 210,
+ 478,
+ 533,
+ 927,
+ 14,
+ 89,
+ 163,
+ 207,
+ 356,
+ 626,
+ 628,
+ 658,
+ 696,
+ 725,
+ 731,
+ 764,
+ 43,
+ 58,
+ 449,
+ 639,
+ 894,
+ 138,
+ 163,
+ 290,
+ 344,
+ 345,
+ 386,
+ 432,
+ 466,
+ 614,
+ 767,
+ 800,
+ 831,
+ 7,
+ 292,
+ 314,
+ 322,
+ 327,
+ 518,
+ 549,
+ 760,
+ 981,
+ 122,
+ 246,
+ 297,
+ 461,
+ 489,
+ 502,
+ 581,
+ 630,
+ 746,
+ 769,
+ 904,
+ 0,
+ 27,
+ 157,
+ 259,
+ 337,
+ 434,
+ 504,
+ 541,
+ 573,
+ 781,
+ 794,
+ 842,
+ 928,
+ 986,
+ 184,
+ 244,
+ 372,
+ 423,
+ 482,
+ 503,
+ 626,
+ 644,
+ 785,
+ 890,
+ 47,
+ 242,
+ 509,
+ 671,
+ 675,
+ 765,
+ 884,
+ 982,
+ 81,
+ 84,
+ 147,
+ 314,
+ 456,
+ 483,
+ 603,
+ 670,
+ 691,
+ 896,
+ 928,
+ 18,
+ 21,
+ 75,
+ 114,
+ 284,
+ 513,
+ 574,
+ 621,
+ 630,
+ 753,
+ 765,
+ 896,
+ 331,
+ 344,
+ 358,
+ 409,
+ 499,
+ 678,
+ 679,
+ 953,
+ 90,
+ 123,
+ 139,
+ 150,
+ 161,
+ 228,
+ 296,
+ 534,
+ 658,
+ 707,
+ 715,
+ 743,
+ 757,
+ 945,
+ 962,
+ 993,
+ 92,
+ 133,
+ 147,
+ 201,
+ 297,
+ 363,
+ 517,
+ 7,
+ 80,
+ 147,
+ 183,
+ 328,
+ 348,
+ 351,
+ 594,
+ 691,
+ 723,
+ 735,
+ 18,
+ 145,
+ 216,
+ 231,
+ 305,
+ 364,
+ 380,
+ 447,
+ 589,
+ 629,
+ 648,
+ 727,
+ 729,
+ 109,
+ 132,
+ 161,
+ 195,
+ 408,
+ 443,
+ 527,
+ 748,
+ 770,
+ 821,
+ 928,
+ 962,
+ 119,
+ 298,
+ 395,
+ 556,
+ 728,
+ 898,
+ 945,
+ 10,
+ 129,
+ 451,
+ 490,
+ 606,
+ 620,
+ 662,
+ 698,
+ 782,
+ 813,
+ 816,
+ 952,
+ 69,
+ 175,
+ 203,
+ 306,
+ 399,
+ 405,
+ 707,
+ 710,
+ 12,
+ 107,
+ 284,
+ 285,
+ 448,
+ 584,
+ 689,
+ 818,
+ 990,
+ 11,
+ 105,
+ 114,
+ 271,
+ 305,
+ 561,
+ 572,
+ 626,
+ 669,
+ 710,
+ 72,
+ 224,
+ 233,
+ 276,
+ 445,
+ 476,
+ 613,
+ 615,
+ 879,
+ 244,
+ 268,
+ 502,
+ 512,
+ 520,
+ 600,
+ 671,
+ 694,
+ 887,
+ 987,
+ 81,
+ 87,
+ 378,
+ 384,
+ 397,
+ 423,
+ 427,
+ 626,
+ 630,
+ 693,
+ 699,
+ 726,
+ 887,
+ 929,
+ 967,
+ 31,
+ 71,
+ 326,
+ 345,
+ 350,
+ 422,
+ 515,
+ 531,
+ 630,
+ 761,
+ 26,
+ 33,
+ 461,
+ 601,
+ 627,
+ 716,
+ 743,
+ 975,
+ 81,
+ 399,
+ 489,
+ 609,
+ 733,
+ 741,
+ 787,
+ 806,
+ 874,
+ 903,
+ 932,
+ 988,
+ 81,
+ 367,
+ 406,
+ 492,
+ 550,
+ 561,
+ 599,
+ 635,
+ 756,
+ 838,
+ 944,
+ 958,
+ 39,
+ 75,
+ 102,
+ 259,
+ 345,
+ 376,
+ 499,
+ 519,
+ 548,
+ 763,
+ 788,
+ 857,
+ 899,
+ 947,
+ 948,
+ 970,
+ 975,
+ 26,
+ 244,
+ 367,
+ 408,
+ 410,
+ 415,
+ 669,
+ 849,
+ 904,
+ 912,
+ 913,
+ 932,
+ 84,
+ 89,
+ 233,
+ 297,
+ 433,
+ 599,
+ 818,
+ 869,
+ 957,
+ 194,
+ 373,
+ 632,
+ 651,
+ 718,
+ 728,
+ 827,
+ 997,
+ 15,
+ 45,
+ 173,
+ 175,
+ 229,
+ 339,
+ 690,
+ 714,
+ 758,
+ 764,
+ 824,
+ 837,
+ 961,
+ 211,
+ 223,
+ 606,
+ 623,
+ 648,
+ 674,
+ 684,
+ 819,
+ 919,
+ 207,
+ 258,
+ 277,
+ 280,
+ 285,
+ 424,
+ 429,
+ 670,
+ 855,
+ 867,
+ 872,
+ 966,
+ 0,
+ 21,
+ 346,
+ 560,
+ 652,
+ 791,
+ 911,
+ 327,
+ 376,
+ 387,
+ 460,
+ 491,
+ 496,
+ 662,
+ 667,
+ 745,
+ 754,
+ 767,
+ 974,
+ 2,
+ 209,
+ 210,
+ 598,
+ 883,
+ 930,
+ 952,
+ 7,
+ 90,
+ 267,
+ 342,
+ 368,
+ 486,
+ 628,
+ 698,
+ 915,
+ 935,
+ 2,
+ 12,
+ 86,
+ 209,
+ 243,
+ 383,
+ 449,
+ 604,
+ 841,
+ 967,
+ 976,
+ 27,
+ 31,
+ 47,
+ 117,
+ 424,
+ 536,
+ 714,
+ 745,
+ 891,
+ 899,
+ 950,
+ 85,
+ 152,
+ 210,
+ 270,
+ 389,
+ 551,
+ 86,
+ 140,
+ 202,
+ 432,
+ 625,
+ 885,
+ 908,
+ 928,
+ 43,
+ 81,
+ 110,
+ 227,
+ 278,
+ 589,
+ 613,
+ 729,
+ 732,
+ 743,
+ 747,
+ 762,
+ 784,
+ 864,
+ 980,
+ 57,
+ 132,
+ 309,
+ 313,
+ 349,
+ 366,
+ 494,
+ 563,
+ 564,
+ 604,
+ 640,
+ 800,
+ 935,
+ 6,
+ 77,
+ 201,
+ 726,
+ 745,
+ 772,
+ 833,
+ 990,
+ 33,
+ 45,
+ 178,
+ 335,
+ 393,
+ 410,
+ 498,
+ 534,
+ 603,
+ 626,
+ 672,
+ 685,
+ 740,
+ 930,
+ 995,
+ 118,
+ 142,
+ 306,
+ 373,
+ 446,
+ 480,
+ 802,
+ 930,
+ 998,
+ 184,
+ 273,
+ 401,
+ 444,
+ 483,
+ 484,
+ 526,
+ 611,
+ 641,
+ 666,
+ 681,
+ 786,
+ 899,
+ 919,
+ 942,
+ 31,
+ 50,
+ 66,
+ 68,
+ 86,
+ 140,
+ 229,
+ 349,
+ 445,
+ 588,
+ 665,
+ 682,
+ 686,
+ 783,
+ 798,
+ 900,
+ 926,
+ 976,
+ 261,
+ 727,
+ 811,
+ 125,
+ 144,
+ 256,
+ 377,
+ 644,
+ 660,
+ 752,
+ 843,
+ 981,
+ 982,
+ 997,
+ 998,
+ 296,
+ 382,
+ 477,
+ 479,
+ 548,
+ 583,
+ 676,
+ 767,
+ 791,
+ 25,
+ 446,
+ 546,
+ 585,
+ 654,
+ 727,
+ 804,
+ 969,
+ 7,
+ 53,
+ 203,
+ 220,
+ 247,
+ 450,
+ 487,
+ 503,
+ 578,
+ 638,
+ 657,
+ 730,
+ 753,
+ 792,
+ 998,
+ 4,
+ 87,
+ 316,
+ 379,
+ 840,
+ 891,
+ 896,
+ 902,
+ 906,
+ 150,
+ 361,
+ 490,
+ 517,
+ 533,
+ 693,
+ 696,
+ 791,
+ 805,
+ 868,
+ 944,
+ 962,
+ 128,
+ 154,
+ 165,
+ 374,
+ 573,
+ 636,
+ 796,
+ 44,
+ 78,
+ 249,
+ 341,
+ 392,
+ 538,
+ 569,
+ 746,
+ 752,
+ 858,
+ 59,
+ 106,
+ 357,
+ 471,
+ 570,
+ 680,
+ 850,
+ 968,
+ 984,
+ 166,
+ 184,
+ 216,
+ 263,
+ 306,
+ 660,
+ 745,
+ 807,
+ 207,
+ 236,
+ 295,
+ 302,
+ 444,
+ 536,
+ 603,
+ 618,
+ 632,
+ 938,
+ 198,
+ 212,
+ 293,
+ 357,
+ 381,
+ 384,
+ 406,
+ 564,
+ 763,
+ 813,
+ 908,
+ 922,
+ 936,
+ 958,
+ 54,
+ 119,
+ 458,
+ 459,
+ 586,
+ 764,
+ 810,
+ 869,
+ 897,
+ 168,
+ 200,
+ 232,
+ 274,
+ 312,
+ 423,
+ 434,
+ 497,
+ 549,
+ 618,
+ 628,
+ 829,
+ 842,
+ 896,
+ 961,
+ 105,
+ 226,
+ 276,
+ 292,
+ 592,
+ 727,
+ 818,
+ 106,
+ 426,
+ 459,
+ 529,
+ 543,
+ 544,
+ 569,
+ 572,
+ 600,
+ 601,
+ 629,
+ 641,
+ 700,
+ 766,
+ 793,
+ 24,
+ 87,
+ 89,
+ 173,
+ 312,
+ 617,
+ 680,
+ 921,
+ 960,
+ 991,
+ 234,
+ 289,
+ 308,
+ 321,
+ 364,
+ 865,
+ 14,
+ 76,
+ 98,
+ 425,
+ 656,
+ 965,
+ 289,
+ 435,
+ 497,
+ 630,
+ 695,
+ 907,
+ 977,
+ 41,
+ 95,
+ 276,
+ 584,
+ 700,
+ 822,
+ 829,
+ 29,
+ 129,
+ 183,
+ 244,
+ 247,
+ 258,
+ 276,
+ 303,
+ 337,
+ 374,
+ 413,
+ 424,
+ 431,
+ 434,
+ 507,
+ 675,
+ 713,
+ 827,
+ 855,
+ 49,
+ 81,
+ 99,
+ 133,
+ 163,
+ 213,
+ 219,
+ 425,
+ 747,
+ 810,
+ 997,
+ 95,
+ 271,
+ 454,
+ 553,
+ 775,
+ 796,
+ 974,
+ 984,
+ 439,
+ 468,
+ 662,
+ 799,
+ 897,
+ 907,
+ 936,
+ 92,
+ 101,
+ 119,
+ 146,
+ 780,
+ 915,
+ 65,
+ 292,
+ 373,
+ 408,
+ 465,
+ 564,
+ 752,
+ 756,
+ 818,
+ 863,
+ 960,
+ 124,
+ 128,
+ 414,
+ 811,
+ 843,
+ 890,
+ 134,
+ 211,
+ 218,
+ 271,
+ 288,
+ 353,
+ 612,
+ 765,
+ 772,
+ 825,
+ 853,
+ 859,
+ 910,
+ 60,
+ 68,
+ 327,
+ 452,
+ 638,
+ 642,
+ 675,
+ 682,
+ 692,
+ 710,
+ 722,
+ 732,
+ 807,
+ 42,
+ 93,
+ 220,
+ 272,
+ 284,
+ 306,
+ 472,
+ 635,
+ 714,
+ 718,
+ 61,
+ 67,
+ 110,
+ 362,
+ 397,
+ 471,
+ 667,
+ 965,
+ 98,
+ 180,
+ 259,
+ 387,
+ 400,
+ 433,
+ 592,
+ 725,
+ 811,
+ 884,
+ 975,
+ 181,
+ 383,
+ 497,
+ 584,
+ 595,
+ 634,
+ 883,
+ 957,
+ 386,
+ 387,
+ 419,
+ 538,
+ 604,
+ 681,
+ 780,
+ 834,
+ 981,
+ 113,
+ 146,
+ 166,
+ 224,
+ 228,
+ 237,
+ 249,
+ 341,
+ 516,
+ 569,
+ 593,
+ 744,
+ 819,
+ 891,
+ 984,
+ 23,
+ 74,
+ 323,
+ 540,
+ 592,
+ 681,
+ 733,
+ 739,
+ 853,
+ 19,
+ 176,
+ 191,
+ 580,
+ 581,
+ 823,
+ 930,
+ 8,
+ 35,
+ 97,
+ 238,
+ 240,
+ 264,
+ 575,
+ 620,
+ 649,
+ 668,
+ 686,
+ 713,
+ 775,
+ 784,
+ 900,
+ 992,
+ 185,
+ 448,
+ 498,
+ 697,
+ 709,
+ 783,
+ 278,
+ 279,
+ 325,
+ 554,
+ 667,
+ 672,
+ 894,
+ 925,
+ 43,
+ 89,
+ 172,
+ 524,
+ 526,
+ 735,
+ 748,
+ 772,
+ 778,
+ 268,
+ 435,
+ 528,
+ 561,
+ 604,
+ 708,
+ 79,
+ 334,
+ 401,
+ 650,
+ 838,
+ 841,
+ 898,
+ 82,
+ 112,
+ 196,
+ 217,
+ 229,
+ 441,
+ 644,
+ 101,
+ 116,
+ 139,
+ 398,
+ 399,
+ 424,
+ 493,
+ 600,
+ 644,
+ 659,
+ 785,
+ 966,
+ 983,
+ 5,
+ 284,
+ 315,
+ 495,
+ 563,
+ 566,
+ 624,
+ 802,
+ 986,
+ 129,
+ 169,
+ 325,
+ 440,
+ 448,
+ 706,
+ 752,
+ 845,
+ 863,
+ 114,
+ 153,
+ 277,
+ 287,
+ 535,
+ 588,
+ 602,
+ 609,
+ 736,
+ 769,
+ 185,
+ 272,
+ 304,
+ 332,
+ 569,
+ 743,
+ 811,
+ 54,
+ 72,
+ 218,
+ 292,
+ 379,
+ 556,
+ 638,
+ 825,
+ 8,
+ 60,
+ 87,
+ 391,
+ 421,
+ 568,
+ 602,
+ 644,
+ 667,
+ 764,
+ 797,
+ 809,
+ 872,
+ 900,
+ 950,
+ 952,
+ 178,
+ 247,
+ 251,
+ 412,
+ 811,
+ 823,
+ 897,
+ 929,
+ 115,
+ 129,
+ 212,
+ 341,
+ 352,
+ 578,
+ 754,
+ 920,
+ 925,
+ 160,
+ 429,
+ 511,
+ 522,
+ 709,
+ 838,
+ 942,
+ 12,
+ 123,
+ 206,
+ 214,
+ 253,
+ 255,
+ 264,
+ 458,
+ 641,
+ 679,
+ 848,
+ 238,
+ 309,
+ 380,
+ 491,
+ 565,
+ 619,
+ 697,
+ 750,
+ 835,
+ 936,
+ 957,
+ 962,
+ 345,
+ 380,
+ 463,
+ 486,
+ 547,
+ 653,
+ 763,
+ 787,
+ 859,
+ 861,
+ 940,
+ 950,
+ 984,
+ 164,
+ 281,
+ 297,
+ 344,
+ 510,
+ 570,
+ 580,
+ 657,
+ 936,
+ 984,
+ 66,
+ 210,
+ 590,
+ 877,
+ 72,
+ 85,
+ 106,
+ 143,
+ 148,
+ 385,
+ 557,
+ 627,
+ 631,
+ 653,
+ 724,
+ 742,
+ 745,
+ 800,
+ 829,
+ 58,
+ 179,
+ 352,
+ 528,
+ 658,
+ 696,
+ 761,
+ 763,
+ 864,
+ 28,
+ 34,
+ 164,
+ 235,
+ 712,
+ 742,
+ 802,
+ 919,
+ 943,
+ 962,
+ 64,
+ 143,
+ 312,
+ 336,
+ 338,
+ 371,
+ 381,
+ 519,
+ 690,
+ 811,
+ 868,
+ 65,
+ 374,
+ 403,
+ 440,
+ 508,
+ 525,
+ 884,
+ 26,
+ 112,
+ 144,
+ 218,
+ 228,
+ 234,
+ 254,
+ 281,
+ 315,
+ 455,
+ 493,
+ 505,
+ 598,
+ 677,
+ 707,
+ 948,
+ 20,
+ 160,
+ 165,
+ 186,
+ 290,
+ 353,
+ 787,
+ 806,
+ 904,
+ 917,
+ 10,
+ 67,
+ 246,
+ 290,
+ 560,
+ 620,
+ 711,
+ 724,
+ 8,
+ 375,
+ 410,
+ 481,
+ 515,
+ 663,
+ 743,
+ 747,
+ 967,
+ 179,
+ 252,
+ 256,
+ 324,
+ 877,
+ 885,
+ 971,
+ 90,
+ 306,
+ 330,
+ 445,
+ 728,
+ 806,
+ 888,
+ 287,
+ 348,
+ 412,
+ 500,
+ 631,
+ 687,
+ 726,
+ 728,
+ 85,
+ 238,
+ 273,
+ 403,
+ 532,
+ 654,
+ 879,
+ 23,
+ 102,
+ 434,
+ 437,
+ 849,
+ 856,
+ 17,
+ 265,
+ 383,
+ 547,
+ 599,
+ 858,
+ 995,
+ 285,
+ 320,
+ 553,
+ 737,
+ 787,
+ 894,
+ 5,
+ 17,
+ 89,
+ 190,
+ 327,
+ 418,
+ 525,
+ 543,
+ 587,
+ 678,
+ 730,
+ 835,
+ 928,
+ 947,
+ 13,
+ 74,
+ 134,
+ 303,
+ 421,
+ 436,
+ 475,
+ 701,
+ 929,
+ 156,
+ 347,
+ 498,
+ 698,
+ 870,
+ 909,
+ 4,
+ 15,
+ 45,
+ 73,
+ 229,
+ 268,
+ 345,
+ 357,
+ 459,
+ 500,
+ 513,
+ 544,
+ 620,
+ 624,
+ 702,
+ 959,
+ 29,
+ 71,
+ 163,
+ 196,
+ 197,
+ 416,
+ 756,
+ 851,
+ 890,
+ 921,
+ 926,
+ 65,
+ 443,
+ 507,
+ 514,
+ 531,
+ 581,
+ 649,
+ 674,
+ 855,
+ 861,
+ 865,
+ 957,
+ 35,
+ 94,
+ 113,
+ 505,
+ 660,
+ 821,
+ 208,
+ 229,
+ 246,
+ 324,
+ 327,
+ 446,
+ 470,
+ 494,
+ 518,
+ 526,
+ 600,
+ 659,
+ 886,
+ 897,
+ 103,
+ 402,
+ 403,
+ 460,
+ 541,
+ 709,
+ 815,
+ 816,
+ 973,
+ 128,
+ 236,
+ 378,
+ 398,
+ 561,
+ 602,
+ 609,
+ 659,
+ 677,
+ 688,
+ 741,
+ 815,
+ 59,
+ 82,
+ 122,
+ 162,
+ 233,
+ 265,
+ 335,
+ 407,
+ 452,
+ 489,
+ 495,
+ 542,
+ 642,
+ 696,
+ 825,
+ 902,
+ 262,
+ 524,
+ 738,
+ 166,
+ 389,
+ 408,
+ 564,
+ 603,
+ 639,
+ 942,
+ 16,
+ 51,
+ 87,
+ 211,
+ 336,
+ 371,
+ 404,
+ 449,
+ 538,
+ 560,
+ 594,
+ 612,
+ 849,
+ 953,
+ 23,
+ 64,
+ 432,
+ 559,
+ 802,
+ 813,
+ 874,
+ 919,
+ 89,
+ 341,
+ 355,
+ 383,
+ 509,
+ 650,
+ 778,
+ 972,
+ 998,
+ 13,
+ 208,
+ 407,
+ 419,
+ 465,
+ 582,
+ 595,
+ 825,
+ 909,
+ 83,
+ 110,
+ 184,
+ 240,
+ 362,
+ 559,
+ 684,
+ 815,
+ 840,
+ 881,
+ 269,
+ 670,
+ 675,
+ 680,
+ 793,
+ 794,
+ 804,
+ 805,
+ 807,
+ 830,
+ 2,
+ 20,
+ 491,
+ 581,
+ 676,
+ 9,
+ 231,
+ 243,
+ 294,
+ 464,
+ 513,
+ 544,
+ 703,
+ 763,
+ 813,
+ 862,
+ 880,
+ 943,
+ 114,
+ 115,
+ 131,
+ 145,
+ 191,
+ 357,
+ 380,
+ 391,
+ 394,
+ 399,
+ 548,
+ 651,
+ 654,
+ 805,
+ 82,
+ 152,
+ 163,
+ 241,
+ 250,
+ 331,
+ 430,
+ 467,
+ 474,
+ 536,
+ 598,
+ 634,
+ 722,
+ 778,
+ 857,
+ 951,
+ 954,
+ 104,
+ 131,
+ 190,
+ 354,
+ 475,
+ 511,
+ 574,
+ 656,
+ 778,
+ 801,
+ 902,
+ 100,
+ 296,
+ 462,
+ 928,
+ 9,
+ 231,
+ 239,
+ 263,
+ 311,
+ 485,
+ 614,
+ 713,
+ 139,
+ 238,
+ 307,
+ 343,
+ 349,
+ 395,
+ 499,
+ 678,
+ 821,
+ 912,
+ 166,
+ 181,
+ 312,
+ 491,
+ 520,
+ 710,
+ 752,
+ 871,
+ 108,
+ 306,
+ 511,
+ 652,
+ 679,
+ 777,
+ 799,
+ 19,
+ 23,
+ 80,
+ 92,
+ 261,
+ 466,
+ 558,
+ 606,
+ 781,
+ 844,
+ 941,
+ 11,
+ 89,
+ 94,
+ 178,
+ 257,
+ 381,
+ 398,
+ 586,
+ 610,
+ 646,
+ 817,
+ 903,
+ 952,
+ 988,
+ 107,
+ 176,
+ 296,
+ 332,
+ 430,
+ 434,
+ 531,
+ 669,
+ 807,
+ 888,
+ 997,
+ 124,
+ 246,
+ 537,
+ 650,
+ 786,
+ 979,
+ 194,
+ 535,
+ 548,
+ 560,
+ 566,
+ 711,
+ 760,
+ 930,
+ 947,
+ 143,
+ 151,
+ 395,
+ 872,
+ 981,
+ 95,
+ 107,
+ 380,
+ 475,
+ 552,
+ 597,
+ 757,
+ 804,
+ 810,
+ 914,
+ 96,
+ 210,
+ 329,
+ 445,
+ 516,
+ 575,
+ 609,
+ 690,
+ 860,
+ 913,
+ 963,
+ 134,
+ 197,
+ 307,
+ 313,
+ 414,
+ 465,
+ 560,
+ 639,
+ 780,
+ 854,
+ 946,
+ 103,
+ 353,
+ 413,
+ 532,
+ 657,
+ 689,
+ 904,
+ 958,
+ 990,
+ 43,
+ 131,
+ 142,
+ 217,
+ 236,
+ 406,
+ 597,
+ 859,
+ 61,
+ 153,
+ 437,
+ 468,
+ 586,
+ 635,
+ 670,
+ 701,
+ 117,
+ 138,
+ 237,
+ 305,
+ 358,
+ 528,
+ 605,
+ 613,
+ 628,
+ 759,
+ 771,
+ 836,
+ 896,
+ 968,
+ 988,
+ 34,
+ 82,
+ 347,
+ 448,
+ 461,
+ 575,
+ 761,
+ 910,
+ 977,
+ 50,
+ 103,
+ 173,
+ 185,
+ 287,
+ 308,
+ 406,
+ 462,
+ 671,
+ 767,
+ 789,
+ 890,
+ 905,
+ 548,
+ 562,
+ 606,
+ 653,
+ 692,
+ 846,
+ 114,
+ 170,
+ 477,
+ 549,
+ 607,
+ 696,
+ 945,
+ 130,
+ 172,
+ 175,
+ 319,
+ 443,
+ 480,
+ 869,
+ 44,
+ 65,
+ 111,
+ 324,
+ 413,
+ 474,
+ 610,
+ 627,
+ 642,
+ 685,
+ 807,
+ 824,
+ 265,
+ 465,
+ 558,
+ 564,
+ 614,
+ 628,
+ 833,
+ 916,
+ 942,
+ 26,
+ 70,
+ 136,
+ 208,
+ 492,
+ 641,
+ 803,
+ 912,
+ 914,
+ 74,
+ 168,
+ 198,
+ 368,
+ 376,
+ 558,
+ 737,
+ 783,
+ 816,
+ 845,
+ 959,
+ 126,
+ 246,
+ 406,
+ 444,
+ 449,
+ 517,
+ 579,
+ 665,
+ 772,
+ 789,
+ 906,
+ 988,
+ 189,
+ 235,
+ 374,
+ 387,
+ 446,
+ 456,
+ 554,
+ 643,
+ 685,
+ 826,
+ 848,
+ 893,
+ 944,
+ 972,
+ 21,
+ 134,
+ 141,
+ 304,
+ 360,
+ 385,
+ 409,
+ 498,
+ 523,
+ 659,
+ 8,
+ 111,
+ 156,
+ 256,
+ 276,
+ 342,
+ 449,
+ 480,
+ 543,
+ 686,
+ 691,
+ 863,
+ 205,
+ 281,
+ 302,
+ 375,
+ 439,
+ 492,
+ 605,
+ 675,
+ 707,
+ 741,
+ 933,
+ 966,
+ 971,
+ 42,
+ 381,
+ 569,
+ 899,
+ 902,
+ 980,
+ 217,
+ 321,
+ 374,
+ 416,
+ 482,
+ 560,
+ 563,
+ 626,
+ 677,
+ 690,
+ 780,
+ 788,
+ 963,
+ 57,
+ 58,
+ 61,
+ 77,
+ 110,
+ 255,
+ 326,
+ 389,
+ 466,
+ 476,
+ 557,
+ 744,
+ 791,
+ 846,
+ 861,
+ 967,
+ 980,
+ 31,
+ 99,
+ 213,
+ 234,
+ 282,
+ 362,
+ 396,
+ 702,
+ 861,
+ 51,
+ 102,
+ 209,
+ 308,
+ 335,
+ 408,
+ 418,
+ 511,
+ 567,
+ 726,
+ 758,
+ 899,
+ 927,
+ 940,
+ 992,
+ 69,
+ 132,
+ 185,
+ 261,
+ 358,
+ 396,
+ 684,
+ 872,
+ 986,
+ 116,
+ 149,
+ 204,
+ 691,
+ 814,
+ 892,
+ 895,
+ 914,
+ 916,
+ 154,
+ 224,
+ 243,
+ 253,
+ 282,
+ 368,
+ 579,
+ 654,
+ 661,
+ 703,
+ 735,
+ 868,
+ 930,
+ 29,
+ 164,
+ 253,
+ 277,
+ 290,
+ 340,
+ 626,
+ 765,
+ 852,
+ 173,
+ 203,
+ 225,
+ 282,
+ 415,
+ 587,
+ 595,
+ 643,
+ 858,
+ 874,
+ 83,
+ 238,
+ 314,
+ 462,
+ 803,
+ 822,
+ 960,
+ 83,
+ 362,
+ 467,
+ 497,
+ 666,
+ 748,
+ 814,
+ 76,
+ 210,
+ 256,
+ 374,
+ 538,
+ 759,
+ 833,
+ 881,
+ 8,
+ 57,
+ 74,
+ 92,
+ 117,
+ 142,
+ 383,
+ 649,
+ 738,
+ 815,
+ 821,
+ 836,
+ 919,
+ 13,
+ 18,
+ 218,
+ 342,
+ 474,
+ 664,
+ 723,
+ 827,
+ 866,
+ 147,
+ 153,
+ 240,
+ 404,
+ 557,
+ 567,
+ 591,
+ 656,
+ 721,
+ 757,
+ 822,
+ 12,
+ 98,
+ 205,
+ 241,
+ 376,
+ 394,
+ 487,
+ 494,
+ 823,
+ 919,
+ 74,
+ 272,
+ 285,
+ 362,
+ 575,
+ 598,
+ 873,
+ 880,
+ 894,
+ 119,
+ 221,
+ 227,
+ 291,
+ 338,
+ 447,
+ 507,
+ 541,
+ 559,
+ 620,
+ 721,
+ 752,
+ 802,
+ 819,
+ 835,
+ 843,
+ 849,
+ 90,
+ 130,
+ 258,
+ 417,
+ 481,
+ 576,
+ 611,
+ 826,
+ 859,
+ 893,
+ 950,
+ 321,
+ 476,
+ 528,
+ 664,
+ 679,
+ 752,
+ 789,
+ 940,
+ 951,
+ 51,
+ 97,
+ 144,
+ 274,
+ 341,
+ 384,
+ 466,
+ 627,
+ 642,
+ 682,
+ 753,
+ 766,
+ 140,
+ 301,
+ 310,
+ 340,
+ 480,
+ 669,
+ 793,
+ 885,
+ 887,
+ 917,
+ 83,
+ 115,
+ 188,
+ 269,
+ 272,
+ 418,
+ 534,
+ 546,
+ 746,
+ 810,
+ 869,
+ 109,
+ 126,
+ 185,
+ 245,
+ 345,
+ 750,
+ 759,
+ 815,
+ 854,
+ 492,
+ 514,
+ 609,
+ 647,
+ 706,
+ 726,
+ 760,
+ 106,
+ 176,
+ 289,
+ 544,
+ 753,
+ 861,
+ 901,
+ 47,
+ 145,
+ 234,
+ 253,
+ 308,
+ 466,
+ 467,
+ 826,
+ 38,
+ 89,
+ 147,
+ 210,
+ 254,
+ 270,
+ 283,
+ 453,
+ 607,
+ 727,
+ 828,
+ 874,
+ 912,
+ 915,
+ 921,
+ 17,
+ 201,
+ 303,
+ 338,
+ 815,
+ 880,
+ 984,
+ 100,
+ 296,
+ 475,
+ 490,
+ 567,
+ 963,
+ 979,
+ 72,
+ 110,
+ 120,
+ 308,
+ 451,
+ 622,
+ 670,
+ 695,
+ 696,
+ 720,
+ 912,
+ 981,
+ 23,
+ 239,
+ 255,
+ 344,
+ 397,
+ 847,
+ 950,
+ 45,
+ 141,
+ 311,
+ 607,
+ 626,
+ 877,
+ 58,
+ 87,
+ 106,
+ 132,
+ 210,
+ 232,
+ 265,
+ 373,
+ 447,
+ 476,
+ 621,
+ 887,
+ 959,
+ 134,
+ 135,
+ 187,
+ 189,
+ 345,
+ 346,
+ 411,
+ 603,
+ 626,
+ 901,
+ 21,
+ 158,
+ 177,
+ 263,
+ 344,
+ 408,
+ 458,
+ 851,
+ 855,
+ 856,
+ 942,
+ 971,
+ 978,
+ 6,
+ 23,
+ 129,
+ 235,
+ 368,
+ 400,
+ 617,
+ 962,
+ 311,
+ 445,
+ 457,
+ 530,
+ 540,
+ 650,
+ 722,
+ 18,
+ 118,
+ 176,
+ 177,
+ 337,
+ 350,
+ 510,
+ 771,
+ 787,
+ 804,
+ 839,
+ 193,
+ 229,
+ 261,
+ 434,
+ 523,
+ 528,
+ 553,
+ 559,
+ 660,
+ 673,
+ 197,
+ 400,
+ 436,
+ 481,
+ 556,
+ 566,
+ 569,
+ 627,
+ 642,
+ 662,
+ 866,
+ 101,
+ 247,
+ 354,
+ 423,
+ 611,
+ 669,
+ 714,
+ 923,
+ 323,
+ 447,
+ 531,
+ 561,
+ 668,
+ 674,
+ 700,
+ 816,
+ 921,
+ 27,
+ 243,
+ 270,
+ 324,
+ 341,
+ 380,
+ 546,
+ 594,
+ 730,
+ 877,
+ 889,
+ 367,
+ 683,
+ 847,
+ 889,
+ 897,
+ 166,
+ 535,
+ 574,
+ 680,
+ 819,
+ 949,
+ 185,
+ 261,
+ 266,
+ 637,
+ 639,
+ 669,
+ 836,
+ 963,
+ 990,
+ 72,
+ 233,
+ 450,
+ 675,
+ 815,
+ 826,
+ 996,
+ 93,
+ 129,
+ 278,
+ 355,
+ 405,
+ 422,
+ 430,
+ 550,
+ 585,
+ 727,
+ 783,
+ 795,
+ 882,
+ 51,
+ 79,
+ 303,
+ 308,
+ 311,
+ 354,
+ 449,
+ 469,
+ 530,
+ 553,
+ 572,
+ 731,
+ 757,
+ 900,
+ 933,
+ 255,
+ 359,
+ 382,
+ 405,
+ 426,
+ 453,
+ 680,
+ 727,
+ 757,
+ 195,
+ 287,
+ 342,
+ 445,
+ 687,
+ 693,
+ 824,
+ 875,
+ 955,
+ 986,
+ 29,
+ 61,
+ 154,
+ 200,
+ 236,
+ 287,
+ 359,
+ 497,
+ 568,
+ 761,
+ 843,
+ 965,
+ 140,
+ 217,
+ 301,
+ 459,
+ 518,
+ 647,
+ 698,
+ 870,
+ 880,
+ 24,
+ 60,
+ 158,
+ 202,
+ 223,
+ 333,
+ 477,
+ 746,
+ 749,
+ 826,
+ 930,
+ 265,
+ 431,
+ 539,
+ 588,
+ 610,
+ 620,
+ 900,
+ 901,
+ 929,
+ 13,
+ 117,
+ 140,
+ 170,
+ 287,
+ 390,
+ 438,
+ 580,
+ 611,
+ 659,
+ 806,
+ 916,
+ 930,
+ 940,
+ 159,
+ 296,
+ 467,
+ 534,
+ 639,
+ 679,
+ 706,
+ 878,
+ 989,
+ 147,
+ 533,
+ 545,
+ 685,
+ 741,
+ 846,
+ 2,
+ 34,
+ 251,
+ 331,
+ 424,
+ 440,
+ 647,
+ 694,
+ 733,
+ 808,
+ 866,
+ 929,
+ 423,
+ 571,
+ 667,
+ 692,
+ 996,
+ 74,
+ 347,
+ 424,
+ 565,
+ 581,
+ 618,
+ 638,
+ 658,
+ 681,
+ 833,
+ 919,
+ 936,
+ 965,
+ 128,
+ 307,
+ 357,
+ 367,
+ 412,
+ 468,
+ 523,
+ 571,
+ 616,
+ 667,
+ 683,
+ 57,
+ 137,
+ 197,
+ 337,
+ 398,
+ 606,
+ 781,
+ 840,
+ 850,
+ 864,
+ 880,
+ 948,
+ 115,
+ 177,
+ 229,
+ 265,
+ 293,
+ 303,
+ 479,
+ 659,
+ 667,
+ 813,
+ 844,
+ 953,
+ 22,
+ 95,
+ 274,
+ 308,
+ 423,
+ 485,
+ 608,
+ 632,
+ 688,
+ 820,
+ 875,
+ 945,
+ 952,
+ 71,
+ 234,
+ 248,
+ 250,
+ 497,
+ 951,
+ 141,
+ 170,
+ 236,
+ 265,
+ 394,
+ 471,
+ 567,
+ 703,
+ 854,
+ 896,
+ 897,
+ 37,
+ 164,
+ 271,
+ 395,
+ 524,
+ 793,
+ 943,
+ 5,
+ 109,
+ 156,
+ 183,
+ 293,
+ 349,
+ 383,
+ 533,
+ 679,
+ 743,
+ 114,
+ 138,
+ 236,
+ 316,
+ 334,
+ 352,
+ 489,
+ 569,
+ 699,
+ 755,
+ 904,
+ 993,
+ 314,
+ 489,
+ 568,
+ 658,
+ 736,
+ 748,
+ 848,
+ 156,
+ 160,
+ 252,
+ 472,
+ 531,
+ 613,
+ 687,
+ 701,
+ 740,
+ 767,
+ 780,
+ 841,
+ 882,
+ 975,
+ 990,
+ 47,
+ 195,
+ 363,
+ 506,
+ 654,
+ 767,
+ 792,
+ 802,
+ 150,
+ 204,
+ 319,
+ 379,
+ 455,
+ 574,
+ 843,
+ 869,
+ 84,
+ 116,
+ 190,
+ 191,
+ 193,
+ 268,
+ 366,
+ 409,
+ 579,
+ 628,
+ 767,
+ 794,
+ 801,
+ 823,
+ 887,
+ 107,
+ 176,
+ 361,
+ 465,
+ 467,
+ 647,
+ 666,
+ 700,
+ 708,
+ 720,
+ 754,
+ 784,
+ 932,
+ 959,
+ 66,
+ 167,
+ 196,
+ 213,
+ 261,
+ 319,
+ 330,
+ 398,
+ 416,
+ 534,
+ 598,
+ 677,
+ 787,
+ 800,
+ 910,
+ 961,
+ 999,
+ 404,
+ 411,
+ 452,
+ 536,
+ 786,
+ 886,
+ 940,
+ 84,
+ 116,
+ 236,
+ 334,
+ 374,
+ 433,
+ 701,
+ 870,
+ 73,
+ 184,
+ 341,
+ 367,
+ 412,
+ 423,
+ 673,
+ 678,
+ 981,
+ 258,
+ 269,
+ 313,
+ 360,
+ 423,
+ 561,
+ 602,
+ 854,
+ 985,
+ 112,
+ 227,
+ 253,
+ 256,
+ 326,
+ 327,
+ 517,
+ 624,
+ 736,
+ 891,
+ 38,
+ 79,
+ 361,
+ 369,
+ 581,
+ 583,
+ 700,
+ 43,
+ 100,
+ 329,
+ 391,
+ 722,
+ 926,
+ 967,
+ 972,
+ 82,
+ 224,
+ 254,
+ 366,
+ 389,
+ 755,
+ 756,
+ 820,
+ 942,
+ 54,
+ 393,
+ 405,
+ 464,
+ 596,
+ 663,
+ 864,
+ 966,
+ 108,
+ 297,
+ 305,
+ 368,
+ 832,
+ 878,
+ 903,
+ 918,
+ 995,
+ 324,
+ 797,
+ 823,
+ 871,
+ 298,
+ 535,
+ 642,
+ 720,
+ 803,
+ 910,
+ 961,
+ 33,
+ 319,
+ 442,
+ 492,
+ 568,
+ 803,
+ 8,
+ 84,
+ 197,
+ 359,
+ 435,
+ 791,
+ 922,
+ 949,
+ 969,
+ 984,
+ 210,
+ 220,
+ 380,
+ 904,
+ 949,
+ 977,
+ 984,
+ 22,
+ 68,
+ 83,
+ 190,
+ 333,
+ 468,
+ 648,
+ 683,
+ 783,
+ 807,
+ 856,
+ 959,
+ 54,
+ 95,
+ 180,
+ 213,
+ 353,
+ 417,
+ 721,
+ 744,
+ 888,
+ 331,
+ 388,
+ 441,
+ 951,
+ 5,
+ 86,
+ 132,
+ 167,
+ 224,
+ 366,
+ 553,
+ 655,
+ 812,
+ 815,
+ 989,
+ 33,
+ 34,
+ 183,
+ 239,
+ 270,
+ 529,
+ 811,
+ 105,
+ 117,
+ 126,
+ 220,
+ 280,
+ 315,
+ 353,
+ 201,
+ 294,
+ 364,
+ 511,
+ 521,
+ 532,
+ 557,
+ 744,
+ 756,
+ 846,
+ 173,
+ 199,
+ 436,
+ 511,
+ 712,
+ 725,
+ 27,
+ 244,
+ 262,
+ 274,
+ 347,
+ 404,
+ 486,
+ 623,
+ 857,
+ 858,
+ 34,
+ 126,
+ 217,
+ 618,
+ 674,
+ 813,
+ 818,
+ 830,
+ 876,
+ 885,
+ 63,
+ 134,
+ 200,
+ 269,
+ 427,
+ 448,
+ 486,
+ 646,
+ 774,
+ 778,
+ 928,
+ 162,
+ 229,
+ 251,
+ 273,
+ 277,
+ 281,
+ 372,
+ 448,
+ 563,
+ 606,
+ 641,
+ 845,
+ 997,
+ 81,
+ 93,
+ 153,
+ 516,
+ 592,
+ 603,
+ 641,
+ 706,
+ 929,
+ 945,
+ 17,
+ 25,
+ 109,
+ 140,
+ 440,
+ 524,
+ 803,
+ 309,
+ 494,
+ 513,
+ 542,
+ 778,
+ 809,
+ 93,
+ 161,
+ 360,
+ 405,
+ 507,
+ 556,
+ 559,
+ 734,
+ 881,
+ 986,
+ 53,
+ 238,
+ 271,
+ 320,
+ 367,
+ 600,
+ 768,
+ 940,
+ 315,
+ 351,
+ 521,
+ 530,
+ 548,
+ 549,
+ 628,
+ 881,
+ 909,
+ 917,
+ 246,
+ 296,
+ 318,
+ 324,
+ 339,
+ 359,
+ 393,
+ 511,
+ 557,
+ 690,
+ 696,
+ 764,
+ 777,
+ 810,
+ 954,
+ 73,
+ 337,
+ 473,
+ 526,
+ 601,
+ 620,
+ 668,
+ 689,
+ 698,
+ 768,
+ 782,
+ 859,
+ 930,
+ 937,
+ 942,
+ 954,
+ 162,
+ 279,
+ 410,
+ 454,
+ 958,
+ 29,
+ 36,
+ 77,
+ 109,
+ 139,
+ 185,
+ 224,
+ 270,
+ 512,
+ 601,
+ 657,
+ 664,
+ 669,
+ 683,
+ 695,
+ 734,
+ 947,
+ 146,
+ 193,
+ 464,
+ 491,
+ 767,
+ 771,
+ 818,
+ 911,
+ 947,
+ 981,
+ 56,
+ 102,
+ 291,
+ 434,
+ 527,
+ 601,
+ 613,
+ 646,
+ 731,
+ 777,
+ 3,
+ 90,
+ 179,
+ 196,
+ 270,
+ 380,
+ 458,
+ 638,
+ 680,
+ 854,
+ 883,
+ 956,
+ 72,
+ 104,
+ 272,
+ 518,
+ 755,
+ 33,
+ 387,
+ 450,
+ 519,
+ 528,
+ 576,
+ 607,
+ 637,
+ 786,
+ 228,
+ 298,
+ 355,
+ 377,
+ 414,
+ 560,
+ 847,
+ 853,
+ 927,
+ 47,
+ 191,
+ 304,
+ 328,
+ 371,
+ 424,
+ 441,
+ 555,
+ 658,
+ 837,
+ 902,
+ 132,
+ 215,
+ 252,
+ 278,
+ 293,
+ 339,
+ 390,
+ 729,
+ 754,
+ 855,
+ 896,
+ 11,
+ 115,
+ 159,
+ 173,
+ 351,
+ 407,
+ 412,
+ 438,
+ 996,
+ 87,
+ 104,
+ 164,
+ 212,
+ 213,
+ 329,
+ 419,
+ 668,
+ 683,
+ 847,
+ 940,
+ 134,
+ 245,
+ 296,
+ 306,
+ 346,
+ 369,
+ 382,
+ 417,
+ 495,
+ 555,
+ 578,
+ 662,
+ 712,
+ 844,
+ 850,
+ 885,
+ 988,
+ 58,
+ 212,
+ 347,
+ 886,
+ 925,
+ 60,
+ 132,
+ 301,
+ 377,
+ 933,
+ 26,
+ 38,
+ 49,
+ 94,
+ 176,
+ 206,
+ 344,
+ 416,
+ 686,
+ 719,
+ 734,
+ 837,
+ 32,
+ 160,
+ 194,
+ 481,
+ 567,
+ 653,
+ 711,
+ 813,
+ 871,
+ 946,
+ 980,
+ 48,
+ 53,
+ 124,
+ 170,
+ 281,
+ 370,
+ 414,
+ 501,
+ 938,
+ 943,
+ 951,
+ 115,
+ 386,
+ 540,
+ 583,
+ 678,
+ 729,
+ 901,
+ 28,
+ 105,
+ 153,
+ 177,
+ 178,
+ 443,
+ 494,
+ 496,
+ 591,
+ 609,
+ 628,
+ 683,
+ 22,
+ 144,
+ 185,
+ 234,
+ 306,
+ 323,
+ 704,
+ 830,
+ 838,
+ 923,
+ 940,
+ 29,
+ 75,
+ 140,
+ 393,
+ 625,
+ 760,
+ 916,
+ 919,
+ 15,
+ 109,
+ 266,
+ 846,
+ 107,
+ 129,
+ 278,
+ 279,
+ 323,
+ 438,
+ 461,
+ 543,
+ 567,
+ 648,
+ 713,
+ 866,
+ 908,
+ 277,
+ 320,
+ 390,
+ 421,
+ 549,
+ 564,
+ 620,
+ 885,
+ 935,
+ 58,
+ 322,
+ 330,
+ 432,
+ 435,
+ 517,
+ 578,
+ 704,
+ 941,
+ 952,
+ 89,
+ 172,
+ 420,
+ 511,
+ 542,
+ 607,
+ 654,
+ 921,
+ 103,
+ 240,
+ 287,
+ 289,
+ 302,
+ 324,
+ 399,
+ 415,
+ 657,
+ 680,
+ 764,
+ 781,
+ 799,
+ 824,
+ 835,
+ 911,
+ 36,
+ 148,
+ 156,
+ 170,
+ 241,
+ 478,
+ 600,
+ 672,
+ 685,
+ 764,
+ 936,
+ 979,
+ 106,
+ 285,
+ 492,
+ 493,
+ 834,
+ 839,
+ 873,
+ 948,
+ 956,
+ 35,
+ 50,
+ 122,
+ 176,
+ 261,
+ 597,
+ 621,
+ 628,
+ 654,
+ 935,
+ 190,
+ 244,
+ 301,
+ 337,
+ 473,
+ 646,
+ 886,
+ 76,
+ 193,
+ 213,
+ 313,
+ 331,
+ 356,
+ 408,
+ 449,
+ 511,
+ 848,
+ 853,
+ 876,
+ 19,
+ 109,
+ 168,
+ 262,
+ 269,
+ 320,
+ 467,
+ 642,
+ 650,
+ 687,
+ 703,
+ 921,
+ 936,
+ 973,
+ 43,
+ 68,
+ 305,
+ 395,
+ 433,
+ 534,
+ 746,
+ 812,
+ 815,
+ 986,
+ 998,
+ 165,
+ 240,
+ 323,
+ 346,
+ 459,
+ 468,
+ 474,
+ 650,
+ 834,
+ 919,
+ 991,
+ 993,
+ 36,
+ 40,
+ 46,
+ 195,
+ 331,
+ 346,
+ 844,
+ 852,
+ 7,
+ 216,
+ 248,
+ 548,
+ 637,
+ 733,
+ 788,
+ 810,
+ 909,
+ 151,
+ 205,
+ 248,
+ 297,
+ 381,
+ 501,
+ 589,
+ 601,
+ 610,
+ 693,
+ 851,
+ 211,
+ 379,
+ 508,
+ 770,
+ 955,
+ 17,
+ 216,
+ 372,
+ 471,
+ 804,
+ 838,
+ 934,
+ 977,
+ 16,
+ 119,
+ 332,
+ 338,
+ 478,
+ 628,
+ 803,
+ 911,
+ 8,
+ 132,
+ 144,
+ 169,
+ 192,
+ 713,
+ 748,
+ 808,
+ 824,
+ 13,
+ 19,
+ 31,
+ 78,
+ 94,
+ 513,
+ 561,
+ 587,
+ 825,
+ 953,
+ 248,
+ 254,
+ 470,
+ 520,
+ 594,
+ 634,
+ 636,
+ 647,
+ 830,
+ 862,
+ 869,
+ 17,
+ 37,
+ 62,
+ 138,
+ 270,
+ 337,
+ 449,
+ 474,
+ 540,
+ 566,
+ 583,
+ 721,
+ 929,
+ 935,
+ 954,
+ 221,
+ 273,
+ 315,
+ 397,
+ 447,
+ 641,
+ 725,
+ 830,
+ 885,
+ 928,
+ 7,
+ 175,
+ 188,
+ 464,
+ 482,
+ 493,
+ 519,
+ 612,
+ 615,
+ 666,
+ 758,
+ 807,
+ 915,
+ 70,
+ 133,
+ 350,
+ 438,
+ 479,
+ 522,
+ 564,
+ 893,
+ 120,
+ 273,
+ 384,
+ 424,
+ 446,
+ 447,
+ 467,
+ 585,
+ 633,
+ 792,
+ 948,
+ 997,
+ 7,
+ 51,
+ 151,
+ 197,
+ 232,
+ 348,
+ 581,
+ 596,
+ 628,
+ 833,
+ 890,
+ 32,
+ 96,
+ 265,
+ 272,
+ 387,
+ 691,
+ 694,
+ 17,
+ 322,
+ 369,
+ 457,
+ 499,
+ 611,
+ 735,
+ 813,
+ 885,
+ 72,
+ 84,
+ 130,
+ 210,
+ 228,
+ 334,
+ 349,
+ 396,
+ 443,
+ 483,
+ 498,
+ 508,
+ 509,
+ 762,
+ 105,
+ 127,
+ 157,
+ 198,
+ 206,
+ 286,
+ 298,
+ 371,
+ 380,
+ 516,
+ 698,
+ 738,
+ 837,
+ 840,
+ 946,
+ 982,
+ 359,
+ 436,
+ 687,
+ 802,
+ 805,
+ 950,
+ 112,
+ 113,
+ 141,
+ 282,
+ 290,
+ 524,
+ 527,
+ 624,
+ 642,
+ 762,
+ 840,
+ 858,
+ 997,
+ 30,
+ 257,
+ 465,
+ 573,
+ 605,
+ 661,
+ 752,
+ 783,
+ 795,
+ 880,
+ 907,
+ 8,
+ 101,
+ 145,
+ 253,
+ 375,
+ 459,
+ 556,
+ 559,
+ 584,
+ 748,
+ 999,
+ 50,
+ 180,
+ 388,
+ 638,
+ 902,
+ 122,
+ 192,
+ 405,
+ 468,
+ 486,
+ 562,
+ 604,
+ 841,
+ 844,
+ 134,
+ 197,
+ 381,
+ 382,
+ 414,
+ 430,
+ 431,
+ 655,
+ 666,
+ 807,
+ 958,
+ 81,
+ 210,
+ 496,
+ 538,
+ 724,
+ 903,
+ 947,
+ 51,
+ 118,
+ 243,
+ 326,
+ 537,
+ 597,
+ 836,
+ 966,
+ 11,
+ 139,
+ 147,
+ 204,
+ 214,
+ 269,
+ 288,
+ 290,
+ 304,
+ 307,
+ 334,
+ 451,
+ 575,
+ 600,
+ 661,
+ 775,
+ 800,
+ 969,
+ 986,
+ 64,
+ 206,
+ 269,
+ 403,
+ 461,
+ 508,
+ 548,
+ 581,
+ 596,
+ 692,
+ 777,
+ 124,
+ 232,
+ 312,
+ 322,
+ 447,
+ 498,
+ 526,
+ 543,
+ 656,
+ 670,
+ 712,
+ 751,
+ 907,
+ 923,
+ 71,
+ 94,
+ 114,
+ 148,
+ 201,
+ 249,
+ 293,
+ 296,
+ 331,
+ 336,
+ 505,
+ 607,
+ 768,
+ 933,
+ 217,
+ 260,
+ 296,
+ 302,
+ 311,
+ 581,
+ 625,
+ 655,
+ 781,
+ 892,
+ 926,
+ 23,
+ 43,
+ 100,
+ 156,
+ 273,
+ 337,
+ 572,
+ 673,
+ 741,
+ 980,
+ 52,
+ 156,
+ 164,
+ 336,
+ 373,
+ 400,
+ 470,
+ 951,
+ 20,
+ 30,
+ 73,
+ 179,
+ 351,
+ 566,
+ 636,
+ 872,
+ 883,
+ 944,
+ 11,
+ 62,
+ 460,
+ 482,
+ 486,
+ 495,
+ 512,
+ 651,
+ 868,
+ 917,
+ 997,
+ 16,
+ 74,
+ 417,
+ 496,
+ 590,
+ 639,
+ 692,
+ 778,
+ 781,
+ 855,
+ 928,
+ 930,
+ 259,
+ 275,
+ 477,
+ 637,
+ 748,
+ 807,
+ 957,
+ 999,
+ 38,
+ 184,
+ 260,
+ 266,
+ 268,
+ 323,
+ 391,
+ 598,
+ 628,
+ 881,
+ 947,
+ 54,
+ 62,
+ 219,
+ 270,
+ 471,
+ 473,
+ 491,
+ 673,
+ 859,
+ 892,
+ 947,
+ 72,
+ 218,
+ 309,
+ 331,
+ 372,
+ 573,
+ 741,
+ 822,
+ 825,
+ 966,
+ 48,
+ 200,
+ 205,
+ 237,
+ 261,
+ 265,
+ 338,
+ 353,
+ 666,
+ 928,
+ 967,
+ 53,
+ 74,
+ 259,
+ 284,
+ 507,
+ 615,
+ 886,
+ 905,
+ 955,
+ 10,
+ 21,
+ 44,
+ 406,
+ 460,
+ 684,
+ 782,
+ 816,
+ 826,
+ 907,
+ 34,
+ 189,
+ 260,
+ 332,
+ 356,
+ 444,
+ 460,
+ 758,
+ 781,
+ 838,
+ 842,
+ 905,
+ 967,
+ 6,
+ 7,
+ 169,
+ 220,
+ 295,
+ 384,
+ 399,
+ 442,
+ 739,
+ 922,
+ 969,
+ 286,
+ 300,
+ 401,
+ 460,
+ 503,
+ 659,
+ 686,
+ 727,
+ 749,
+ 785,
+ 974,
+ 993,
+ 998,
+ 183,
+ 210,
+ 328,
+ 450,
+ 453,
+ 480,
+ 496,
+ 517,
+ 525,
+ 549,
+ 635,
+ 716,
+ 732,
+ 748,
+ 749,
+ 832,
+ 959,
+ 95,
+ 107,
+ 121,
+ 258,
+ 326,
+ 416,
+ 588,
+ 654,
+ 753,
+ 831,
+ 34,
+ 83,
+ 101,
+ 181,
+ 224,
+ 552,
+ 623,
+ 671,
+ 866,
+ 983,
+ 997,
+ 104,
+ 129,
+ 143,
+ 198,
+ 213,
+ 420,
+ 438,
+ 612,
+ 674,
+ 910,
+ 943,
+ 210,
+ 212,
+ 218,
+ 321,
+ 330,
+ 455,
+ 692,
+ 794,
+ 839,
+ 960,
+ 965,
+ 17,
+ 101,
+ 124,
+ 395,
+ 476,
+ 513,
+ 514,
+ 566,
+ 692,
+ 846,
+ 856,
+ 859,
+ 862,
+ 908,
+ 920,
+ 947,
+ 958,
+ 8,
+ 200,
+ 373,
+ 462,
+ 556,
+ 739,
+ 796,
+ 932,
+ 951,
+ 958,
+ 44,
+ 56,
+ 186,
+ 262,
+ 310,
+ 355,
+ 380,
+ 470,
+ 593,
+ 714,
+ 906,
+ 964,
+ 989,
+ 65,
+ 114,
+ 195,
+ 306,
+ 307,
+ 355,
+ 403,
+ 469,
+ 513,
+ 654,
+ 685,
+ 800,
+ 812,
+ 816,
+ 825,
+ 843,
+ 925,
+ 3,
+ 328,
+ 425,
+ 486,
+ 730,
+ 773,
+ 789,
+ 824,
+ 943,
+ 966,
+ 967,
+ 981,
+ 984,
+ 83,
+ 156,
+ 311,
+ 439,
+ 545,
+ 565,
+ 650,
+ 682,
+ 769,
+ 299,
+ 341,
+ 409,
+ 782,
+ 943,
+ 5,
+ 52,
+ 57,
+ 123,
+ 146,
+ 175,
+ 409,
+ 443,
+ 532,
+ 989,
+ 120,
+ 158,
+ 430,
+ 436,
+ 449,
+ 640,
+ 659,
+ 734,
+ 749,
+ 834,
+ 882,
+ 911,
+ 952,
+ 22,
+ 226,
+ 442,
+ 591,
+ 879,
+ 51,
+ 69,
+ 86,
+ 97,
+ 178,
+ 263,
+ 316,
+ 425,
+ 534,
+ 554,
+ 565,
+ 888,
+ 988,
+ 991,
+ 24,
+ 352,
+ 511,
+ 522,
+ 555,
+ 570,
+ 603,
+ 696,
+ 887,
+ 960,
+ 39,
+ 133,
+ 260,
+ 401,
+ 465,
+ 526,
+ 609,
+ 732,
+ 131,
+ 206,
+ 305,
+ 669,
+ 809,
+ 877,
+ 986,
+ 439,
+ 520,
+ 567,
+ 588,
+ 617,
+ 712,
+ 891,
+ 998,
+ 274,
+ 358,
+ 425,
+ 495,
+ 715,
+ 872,
+ 918,
+ 923,
+ 951,
+ 980,
+ 983,
+ 119,
+ 123,
+ 316,
+ 324,
+ 349,
+ 644,
+ 705,
+ 718,
+ 769,
+ 781,
+ 795,
+ 884,
+ 110,
+ 133,
+ 140,
+ 152,
+ 157,
+ 495,
+ 569,
+ 608,
+ 629,
+ 803,
+ 827,
+ 909,
+ 942,
+ 9,
+ 230,
+ 268,
+ 423,
+ 626,
+ 707,
+ 724,
+ 748,
+ 828,
+ 996,
+ 274,
+ 308,
+ 436,
+ 722,
+ 879,
+ 213,
+ 259,
+ 324,
+ 329,
+ 377,
+ 534,
+ 588,
+ 827,
+ 896,
+ 149,
+ 261,
+ 591,
+ 597,
+ 785,
+ 813,
+ 883,
+ 920,
+ 996,
+ 10,
+ 64,
+ 237,
+ 417,
+ 535,
+ 686,
+ 709,
+ 717,
+ 744,
+ 41,
+ 67,
+ 260,
+ 370,
+ 405,
+ 407,
+ 520,
+ 632,
+ 893,
+ 955,
+ 127,
+ 250,
+ 336,
+ 354,
+ 388,
+ 474,
+ 591,
+ 703,
+ 805,
+ 811,
+ 833,
+ 871,
+ 881,
+ 991,
+ 994,
+ 17,
+ 91,
+ 113,
+ 122,
+ 300,
+ 301,
+ 463,
+ 716,
+ 741,
+ 776,
+ 784,
+ 906,
+ 994,
+ 33,
+ 57,
+ 206,
+ 448,
+ 520,
+ 612,
+ 769,
+ 834,
+ 282,
+ 393,
+ 441,
+ 461,
+ 503,
+ 796,
+ 72,
+ 206,
+ 304,
+ 381,
+ 565,
+ 723,
+ 114,
+ 121,
+ 130,
+ 259,
+ 346,
+ 386,
+ 432,
+ 538,
+ 575,
+ 595,
+ 855,
+ 945
+};
+const double x[1000] = {
+ 602,
+ 730,
+ 528,
+ 886,
+ 890,
+ 755,
+ 124,
+ 435,
+ 24,
+ 245,
+ 112,
+ 144,
+ 171,
+ 746,
+ 547,
+ 172,
+ 905,
+ 97,
+ 70,
+ 133,
+ 117,
+ 951,
+ 783,
+ 271,
+ 174,
+ 263,
+ 769,
+ 889,
+ 920,
+ 698,
+ 644,
+ 138,
+ 34,
+ 866,
+ 831,
+ 249,
+ 611,
+ 672,
+ 502,
+ 450,
+ 225,
+ 557,
+ 793,
+ 244,
+ 336,
+ 942,
+ 604,
+ 135,
+ 507,
+ 328,
+ 36,
+ 299,
+ 769,
+ 323,
+ 957,
+ 171,
+ 455,
+ 627,
+ 701,
+ 624,
+ 383,
+ 354,
+ 675,
+ 971,
+ 562,
+ 945,
+ 354,
+ 90,
+ 495,
+ 269,
+ 684,
+ 468,
+ 832,
+ 38,
+ 189,
+ 103,
+ 509,
+ 754,
+ 85,
+ 70,
+ 727,
+ 897,
+ 441,
+ 745,
+ 443,
+ 561,
+ 23,
+ 796,
+ 104,
+ 178,
+ 388,
+ 178,
+ 663,
+ 652,
+ 533,
+ 738,
+ 423,
+ 500,
+ 390,
+ 567,
+ 834,
+ 806,
+ 97,
+ 517,
+ 352,
+ 636,
+ 158,
+ 839,
+ 822,
+ 68,
+ 707,
+ 838,
+ 778,
+ 15,
+ 201,
+ 364,
+ 397,
+ 166,
+ 372,
+ 39,
+ 525,
+ 360,
+ 596,
+ 664,
+ 606,
+ 182,
+ 684,
+ 147,
+ 941,
+ 695,
+ 815,
+ 721,
+ 377,
+ 215,
+ 386,
+ 265,
+ 598,
+ 890,
+ 241,
+ 302,
+ 423,
+ 623,
+ 610,
+ 26,
+ 311,
+ 887,
+ 496,
+ 968,
+ 549,
+ 581,
+ 421,
+ 638,
+ 154,
+ 471,
+ 768,
+ 953,
+ 7,
+ 906,
+ 894,
+ 155,
+ 687,
+ 813,
+ 376,
+ 463,
+ 815,
+ 436,
+ 817,
+ 5,
+ 366,
+ 412,
+ 435,
+ 825,
+ 437,
+ 614,
+ 437,
+ 14,
+ 492,
+ 117,
+ 610,
+ 0,
+ 837,
+ 665,
+ 464,
+ 847,
+ 513,
+ 606,
+ 532,
+ 503,
+ 566,
+ 270,
+ 559,
+ 509,
+ 634,
+ 339,
+ 535,
+ 708,
+ 663,
+ 1,
+ 837,
+ 508,
+ 499,
+ 216,
+ 758,
+ 36,
+ 242,
+ 351,
+ 432,
+ 439,
+ 562,
+ 307,
+ 643,
+ 498,
+ 659,
+ 16,
+ 265,
+ 653,
+ 105,
+ 527,
+ 595,
+ 448,
+ 832,
+ 381,
+ 714,
+ 533,
+ 178,
+ 644,
+ 455,
+ 667,
+ 7,
+ 378,
+ 639,
+ 19,
+ 50,
+ 415,
+ 591,
+ 827,
+ 956,
+ 69,
+ 712,
+ 767,
+ 368,
+ 552,
+ 230,
+ 288,
+ 146,
+ 676,
+ 651,
+ 333,
+ 284,
+ 782,
+ 283,
+ 774,
+ 791,
+ 451,
+ 795,
+ 991,
+ 618,
+ 620,
+ 547,
+ 769,
+ 226,
+ 563,
+ 117,
+ 524,
+ 287,
+ 615,
+ 322,
+ 41,
+ 582,
+ 156,
+ 664,
+ 261,
+ 368,
+ 702,
+ 25,
+ 439,
+ 382,
+ 123,
+ 682,
+ 970,
+ 511,
+ 928,
+ 870,
+ 453,
+ 865,
+ 724,
+ 255,
+ 504,
+ 567,
+ 105,
+ 465,
+ 146,
+ 349,
+ 616,
+ 419,
+ 389,
+ 629,
+ 964,
+ 482,
+ 483,
+ 252,
+ 183,
+ 300,
+ 578,
+ 255,
+ 825,
+ 702,
+ 650,
+ 468,
+ 808,
+ 939,
+ 360,
+ 830,
+ 281,
+ 969,
+ 139,
+ 488,
+ 603,
+ 449,
+ 731,
+ 941,
+ 172,
+ 643,
+ 569,
+ 90,
+ 966,
+ 468,
+ 818,
+ 249,
+ 649,
+ 661,
+ 661,
+ 955,
+ 52,
+ 17,
+ 364,
+ 472,
+ 854,
+ 154,
+ 543,
+ 110,
+ 327,
+ 905,
+ 715,
+ 940,
+ 612,
+ 248,
+ 634,
+ 690,
+ 326,
+ 622,
+ 52,
+ 935,
+ 244,
+ 406,
+ 604,
+ 351,
+ 303,
+ 268,
+ 717,
+ 247,
+ 475,
+ 718,
+ 835,
+ 885,
+ 534,
+ 842,
+ 942,
+ 929,
+ 713,
+ 786,
+ 72,
+ 122,
+ 443,
+ 64,
+ 512,
+ 38,
+ 189,
+ 552,
+ 935,
+ 778,
+ 832,
+ 569,
+ 144,
+ 810,
+ 634,
+ 399,
+ 261,
+ 918,
+ 728,
+ 648,
+ 340,
+ 730,
+ 358,
+ 496,
+ 928,
+ 344,
+ 929,
+ 572,
+ 876,
+ 667,
+ 933,
+ 584,
+ 122,
+ 739,
+ 978,
+ 37,
+ 250,
+ 192,
+ 113,
+ 763,
+ 214,
+ 852,
+ 365,
+ 638,
+ 570,
+ 82,
+ 861,
+ 448,
+ 649,
+ 813,
+ 950,
+ 843,
+ 154,
+ 527,
+ 12,
+ 953,
+ 153,
+ 311,
+ 177,
+ 490,
+ 754,
+ 973,
+ 511,
+ 777,
+ 649,
+ 605,
+ 311,
+ 539,
+ 133,
+ 245,
+ 940,
+ 717,
+ 851,
+ 189,
+ 905,
+ 410,
+ 214,
+ 170,
+ 983,
+ 998,
+ 404,
+ 599,
+ 843,
+ 41,
+ 955,
+ 505,
+ 916,
+ 947,
+ 851,
+ 397,
+ 194,
+ 288,
+ 781,
+ 897,
+ 546,
+ 305,
+ 113,
+ 356,
+ 454,
+ 679,
+ 774,
+ 314,
+ 897,
+ 452,
+ 169,
+ 391,
+ 344,
+ 880,
+ 840,
+ 327,
+ 404,
+ 29,
+ 353,
+ 688,
+ 196,
+ 135,
+ 860,
+ 878,
+ 288,
+ 523,
+ 335,
+ 1,
+ 680,
+ 923,
+ 480,
+ 108,
+ 10,
+ 188,
+ 165,
+ 500,
+ 331,
+ 668,
+ 279,
+ 939,
+ 797,
+ 203,
+ 925,
+ 768,
+ 310,
+ 453,
+ 213,
+ 909,
+ 769,
+ 136,
+ 93,
+ 501,
+ 926,
+ 249,
+ 888,
+ 591,
+ 628,
+ 317,
+ 668,
+ 364,
+ 375,
+ 951,
+ 432,
+ 217,
+ 765,
+ 469,
+ 458,
+ 25,
+ 330,
+ 279,
+ 734,
+ 995,
+ 187,
+ 150,
+ 739,
+ 179,
+ 551,
+ 844,
+ 920,
+ 871,
+ 906,
+ 397,
+ 540,
+ 376,
+ 123,
+ 233,
+ 19,
+ 227,
+ 109,
+ 158,
+ 20,
+ 11,
+ 899,
+ 462,
+ 655,
+ 837,
+ 756,
+ 930,
+ 580,
+ 304,
+ 655,
+ 419,
+ 695,
+ 319,
+ 496,
+ 856,
+ 575,
+ 700,
+ 223,
+ 793,
+ 462,
+ 666,
+ 274,
+ 967,
+ 650,
+ 287,
+ 521,
+ 69,
+ 898,
+ 684,
+ 759,
+ 31,
+ 373,
+ 515,
+ 56,
+ 966,
+ 971,
+ 836,
+ 950,
+ 94,
+ 647,
+ 948,
+ 766,
+ 988,
+ 556,
+ 458,
+ 415,
+ 46,
+ 741,
+ 519,
+ 186,
+ 393,
+ 409,
+ 658,
+ 349,
+ 833,
+ 339,
+ 61,
+ 250,
+ 49,
+ 63,
+ 503,
+ 21,
+ 951,
+ 809,
+ 391,
+ 242,
+ 739,
+ 823,
+ 9,
+ 548,
+ 876,
+ 431,
+ 920,
+ 451,
+ 967,
+ 291,
+ 529,
+ 37,
+ 133,
+ 656,
+ 240,
+ 981,
+ 223,
+ 167,
+ 458,
+ 624,
+ 473,
+ 570,
+ 942,
+ 260,
+ 808,
+ 16,
+ 792,
+ 699,
+ 537,
+ 84,
+ 906,
+ 429,
+ 728,
+ 320,
+ 785,
+ 301,
+ 9,
+ 679,
+ 882,
+ 98,
+ 431,
+ 223,
+ 920,
+ 173,
+ 895,
+ 605,
+ 68,
+ 698,
+ 696,
+ 987,
+ 855,
+ 191,
+ 657,
+ 533,
+ 478,
+ 321,
+ 846,
+ 921,
+ 490,
+ 278,
+ 145,
+ 500,
+ 274,
+ 974,
+ 505,
+ 33,
+ 936,
+ 691,
+ 922,
+ 140,
+ 846,
+ 951,
+ 745,
+ 893,
+ 803,
+ 316,
+ 689,
+ 960,
+ 509,
+ 518,
+ 911,
+ 121,
+ 12,
+ 477,
+ 702,
+ 94,
+ 521,
+ 751,
+ 840,
+ 492,
+ 666,
+ 922,
+ 714,
+ 43,
+ 683,
+ 871,
+ 531,
+ 774,
+ 137,
+ 914,
+ 745,
+ 722,
+ 78,
+ 398,
+ 384,
+ 536,
+ 365,
+ 245,
+ 807,
+ 925,
+ 201,
+ 917,
+ 368,
+ 214,
+ 246,
+ 143,
+ 388,
+ 937,
+ 483,
+ 480,
+ 793,
+ 415,
+ 835,
+ 554,
+ 514,
+ 838,
+ 655,
+ 837,
+ 481,
+ 483,
+ 777,
+ 447,
+ 963,
+ 596,
+ 248,
+ 819,
+ 696,
+ 540,
+ 163,
+ 333,
+ 589,
+ 863,
+ 603,
+ 835,
+ 952,
+ 253,
+ 329,
+ 552,
+ 207,
+ 684,
+ 593,
+ 618,
+ 742,
+ 53,
+ 90,
+ 27,
+ 955,
+ 217,
+ 955,
+ 20,
+ 520,
+ 221,
+ 316,
+ 45,
+ 948,
+ 552,
+ 110,
+ 594,
+ 774,
+ 517,
+ 880,
+ 32,
+ 575,
+ 852,
+ 463,
+ 685,
+ 10,
+ 58,
+ 945,
+ 572,
+ 875,
+ 633,
+ 942,
+ 880,
+ 426,
+ 283,
+ 491,
+ 848,
+ 491,
+ 280,
+ 412,
+ 1,
+ 819,
+ 199,
+ 190,
+ 577,
+ 488,
+ 936,
+ 678,
+ 79,
+ 317,
+ 408,
+ 689,
+ 353,
+ 889,
+ 294,
+ 561,
+ 501,
+ 411,
+ 554,
+ 321,
+ 193,
+ 748,
+ 309,
+ 110,
+ 454,
+ 33,
+ 28,
+ 193,
+ 166,
+ 804,
+ 710,
+ 581,
+ 70,
+ 726,
+ 805,
+ 673,
+ 751,
+ 147,
+ 793,
+ 395,
+ 151,
+ 129,
+ 143,
+ 610,
+ 700,
+ 590,
+ 577,
+ 814,
+ 104,
+ 990,
+ 56,
+ 254,
+ 816,
+ 278,
+ 108,
+ 765,
+ 31,
+ 208,
+ 804,
+ 730,
+ 960,
+ 323,
+ 152,
+ 202,
+ 449,
+ 238,
+ 907,
+ 532,
+ 618,
+ 377,
+ 295,
+ 625,
+ 252,
+ 383,
+ 345,
+ 46,
+ 934,
+ 908,
+ 851,
+ 304,
+ 235,
+ 623,
+ 808,
+ 363,
+ 80,
+ 373,
+ 858,
+ 839,
+ 385,
+ 426,
+ 727,
+ 615,
+ 675,
+ 860,
+ 602,
+ 623,
+ 780,
+ 246,
+ 22,
+ 681,
+ 623,
+ 293,
+ 421,
+ 908,
+ 419,
+ 811,
+ 631,
+ 155,
+ 139,
+ 861,
+ 262,
+ 789,
+ 344,
+ 507,
+ 14,
+ 445,
+ 995,
+ 316,
+ 74,
+ 32,
+ 239,
+ 932,
+ 586,
+ 167,
+ 578,
+ 555,
+ 8,
+ 720,
+ 804,
+ 18,
+ 185,
+ 637,
+ 185,
+ 21,
+ 121,
+ 993,
+ 457,
+ 0,
+ 911,
+ 330,
+ 214,
+ 343,
+ 600,
+ 720,
+ 645,
+ 542,
+ 991,
+ 704,
+ 261,
+ 481,
+ 242,
+ 949,
+ 909,
+ 745,
+ 799,
+ 644,
+ 858,
+ 132,
+ 886,
+ 194,
+ 886,
+ 695,
+ 912,
+ 980,
+ 956,
+ 51,
+ 885,
+ 410,
+ 88,
+ 578,
+ 636,
+ 698,
+ 636,
+ 532,
+ 579,
+ 389,
+ 124,
+ 386,
+ 54,
+ 616,
+ 203,
+ 838,
+ 732,
+ 152,
+ 775,
+ 749,
+ 373
+};
+const int ptr[1001] = {
+ 0,
+ 6,
+ 18,
+ 31,
+ 40,
+ 49,
+ 58,
+ 67,
+ 75,
+ 85,
+ 98,
+ 111,
+ 121,
+ 135,
+ 139,
+ 146,
+ 159,
+ 169,
+ 175,
+ 181,
+ 191,
+ 203,
+ 210,
+ 217,
+ 228,
+ 238,
+ 245,
+ 254,
+ 265,
+ 278,
+ 290,
+ 298,
+ 311,
+ 323,
+ 332,
+ 343,
+ 353,
+ 360,
+ 370,
+ 383,
+ 396,
+ 407,
+ 415,
+ 427,
+ 433,
+ 440,
+ 449,
+ 461,
+ 467,
+ 474,
+ 487,
+ 503,
+ 510,
+ 522,
+ 530,
+ 542,
+ 549,
+ 556,
+ 570,
+ 584,
+ 594,
+ 605,
+ 614,
+ 624,
+ 629,
+ 637,
+ 644,
+ 653,
+ 663,
+ 674,
+ 685,
+ 691,
+ 701,
+ 712,
+ 723,
+ 734,
+ 746,
+ 754,
+ 766,
+ 779,
+ 788,
+ 802,
+ 809,
+ 820,
+ 831,
+ 846,
+ 860,
+ 869,
+ 874,
+ 883,
+ 886,
+ 900,
+ 915,
+ 929,
+ 937,
+ 946,
+ 955,
+ 969,
+ 985,
+ 993,
+ 1004,
+ 1014,
+ 1026,
+ 1035,
+ 1040,
+ 1053,
+ 1064,
+ 1073,
+ 1078,
+ 1089,
+ 1097,
+ 1105,
+ 1108,
+ 1119,
+ 1131,
+ 1143,
+ 1156,
+ 1165,
+ 1175,
+ 1187,
+ 1196,
+ 1205,
+ 1209,
+ 1218,
+ 1230,
+ 1242,
+ 1253,
+ 1263,
+ 1277,
+ 1288,
+ 1306,
+ 1323,
+ 1331,
+ 1345,
+ 1355,
+ 1362,
+ 1372,
+ 1380,
+ 1388,
+ 1395,
+ 1412,
+ 1424,
+ 1428,
+ 1436,
+ 1443,
+ 1457,
+ 1473,
+ 1488,
+ 1498,
+ 1511,
+ 1520,
+ 1533,
+ 1543,
+ 1556,
+ 1567,
+ 1578,
+ 1590,
+ 1598,
+ 1609,
+ 1618,
+ 1627,
+ 1634,
+ 1638,
+ 1643,
+ 1649,
+ 1654,
+ 1660,
+ 1675,
+ 1688,
+ 1698,
+ 1712,
+ 1722,
+ 1730,
+ 1738,
+ 1746,
+ 1758,
+ 1765,
+ 1778,
+ 1787,
+ 1802,
+ 1814,
+ 1821,
+ 1833,
+ 1842,
+ 1851,
+ 1864,
+ 1877,
+ 1886,
+ 1890,
+ 1898,
+ 1904,
+ 1916,
+ 1931,
+ 1942,
+ 1953,
+ 1966,
+ 1975,
+ 1988,
+ 1999,
+ 2008,
+ 2021,
+ 2027,
+ 2036,
+ 2049,
+ 2058,
+ 2069,
+ 2078,
+ 2086,
+ 2099,
+ 2109,
+ 2115,
+ 2123,
+ 2133,
+ 2142,
+ 2155,
+ 2166,
+ 2175,
+ 2185,
+ 2191,
+ 2202,
+ 2215,
+ 2220,
+ 2234,
+ 2248,
+ 2260,
+ 2271,
+ 2277,
+ 2285,
+ 2297,
+ 2310,
+ 2318,
+ 2328,
+ 2337,
+ 2352,
+ 2358,
+ 2370,
+ 2378,
+ 2391,
+ 2397,
+ 2407,
+ 2413,
+ 2425,
+ 2434,
+ 2442,
+ 2452,
+ 2462,
+ 2476,
+ 2480,
+ 2487,
+ 2500,
+ 2512,
+ 2525,
+ 2533,
+ 2545,
+ 2552,
+ 2563,
+ 2576,
+ 2585,
+ 2591,
+ 2599,
+ 2608,
+ 2619,
+ 2629,
+ 2643,
+ 2658,
+ 2664,
+ 2675,
+ 2682,
+ 2696,
+ 2705,
+ 2715,
+ 2718,
+ 2736,
+ 2746,
+ 2765,
+ 2771,
+ 2787,
+ 2793,
+ 2802,
+ 2813,
+ 2826,
+ 2837,
+ 2849,
+ 2863,
+ 2870,
+ 2885,
+ 2895,
+ 2904,
+ 2914,
+ 2925,
+ 2931,
+ 2944,
+ 2949,
+ 2957,
+ 2973,
+ 2982,
+ 2995,
+ 3009,
+ 3025,
+ 3031,
+ 3046,
+ 3061,
+ 3069,
+ 3082,
+ 3089,
+ 3100,
+ 3106,
+ 3116,
+ 3119,
+ 3123,
+ 3130,
+ 3136,
+ 3144,
+ 3153,
+ 3162,
+ 3180,
+ 3185,
+ 3200,
+ 3205,
+ 3215,
+ 3225,
+ 3234,
+ 3246,
+ 3255,
+ 3266,
+ 3273,
+ 3283,
+ 3293,
+ 3303,
+ 3312,
+ 3320,
+ 3331,
+ 3342,
+ 3349,
+ 3357,
+ 3367,
+ 3372,
+ 3380,
+ 3387,
+ 3398,
+ 3405,
+ 3417,
+ 3425,
+ 3432,
+ 3443,
+ 3449,
+ 3456,
+ 3461,
+ 3471,
+ 3480,
+ 3491,
+ 3498,
+ 3521,
+ 3530,
+ 3539,
+ 3554,
+ 3562,
+ 3569,
+ 3579,
+ 3585,
+ 3597,
+ 3604,
+ 3613,
+ 3628,
+ 3646,
+ 3657,
+ 3673,
+ 3681,
+ 3691,
+ 3696,
+ 3709,
+ 3717,
+ 3731,
+ 3745,
+ 3756,
+ 3763,
+ 3769,
+ 3774,
+ 3786,
+ 3799,
+ 3810,
+ 3819,
+ 3827,
+ 3838,
+ 3854,
+ 3867,
+ 3876,
+ 3885,
+ 3902,
+ 3911,
+ 3926,
+ 3936,
+ 3948,
+ 3959,
+ 3970,
+ 3983,
+ 3991,
+ 4002,
+ 4009,
+ 4023,
+ 4032,
+ 4043,
+ 4058,
+ 4065,
+ 4078,
+ 4087,
+ 4099,
+ 4106,
+ 4114,
+ 4120,
+ 4132,
+ 4146,
+ 4155,
+ 4168,
+ 4177,
+ 4189,
+ 4199,
+ 4212,
+ 4219,
+ 4231,
+ 4241,
+ 4253,
+ 4260,
+ 4266,
+ 4278,
+ 4287,
+ 4303,
+ 4310,
+ 4322,
+ 4334,
+ 4344,
+ 4354,
+ 4368,
+ 4376,
+ 4383,
+ 4399,
+ 4408,
+ 4416,
+ 4431,
+ 4444,
+ 4458,
+ 4467,
+ 4474,
+ 4486,
+ 4495,
+ 4506,
+ 4515,
+ 4521,
+ 4536,
+ 4549,
+ 4564,
+ 4571,
+ 4580,
+ 4593,
+ 4602,
+ 4613,
+ 4618,
+ 4627,
+ 4635,
+ 4644,
+ 4659,
+ 4664,
+ 4675,
+ 4684,
+ 4690,
+ 4702,
+ 4713,
+ 4723,
+ 4735,
+ 4743,
+ 4751,
+ 4759,
+ 4768,
+ 4779,
+ 4790,
+ 4799,
+ 4811,
+ 4818,
+ 4823,
+ 4830,
+ 4838,
+ 4850,
+ 4861,
+ 4870,
+ 4878,
+ 4890,
+ 4897,
+ 4908,
+ 4916,
+ 4930,
+ 4939,
+ 4950,
+ 4959,
+ 4971,
+ 4977,
+ 4985,
+ 4996,
+ 4999,
+ 5003,
+ 5012,
+ 5018,
+ 5026,
+ 5041,
+ 5048,
+ 5058,
+ 5071,
+ 5081,
+ 5086,
+ 5094,
+ 5099,
+ 5109,
+ 5114,
+ 5127,
+ 5137,
+ 5147,
+ 5162,
+ 5172,
+ 5179,
+ 5187,
+ 5197,
+ 5209,
+ 5226,
+ 5231,
+ 5239,
+ 5248,
+ 5263,
+ 5270,
+ 5283,
+ 5293,
+ 5301,
+ 5308,
+ 5318,
+ 5327,
+ 5342,
+ 5349,
+ 5357,
+ 5367,
+ 5374,
+ 5381,
+ 5395,
+ 5406,
+ 5418,
+ 5428,
+ 5435,
+ 5440,
+ 5452,
+ 5464,
+ 5477,
+ 5490,
+ 5497,
+ 5504,
+ 5510,
+ 5518,
+ 5529,
+ 5542,
+ 5561,
+ 5579,
+ 5588,
+ 5599,
+ 5601,
+ 5609,
+ 5618,
+ 5627,
+ 5631,
+ 5640,
+ 5646,
+ 5654,
+ 5661,
+ 5672,
+ 5690,
+ 5699,
+ 5712,
+ 5723,
+ 5733,
+ 5742,
+ 5752,
+ 5759,
+ 5766,
+ 5776,
+ 5788,
+ 5799,
+ 5801,
+ 5813,
+ 5825,
+ 5829,
+ 5841,
+ 5846,
+ 5858,
+ 5867,
+ 5878,
+ 5892,
+ 5902,
+ 5910,
+ 5921,
+ 5933,
+ 5941,
+ 5957,
+ 5964,
+ 5975,
+ 5988,
+ 6000,
+ 6007,
+ 6019,
+ 6027,
+ 6036,
+ 6046,
+ 6055,
+ 6065,
+ 6080,
+ 6090,
+ 6098,
+ 6110,
+ 6122,
+ 6139,
+ 6151,
+ 6160,
+ 6168,
+ 6181,
+ 6190,
+ 6202,
+ 6209,
+ 6221,
+ 6228,
+ 6238,
+ 6249,
+ 6260,
+ 6266,
+ 6274,
+ 6289,
+ 6302,
+ 6310,
+ 6325,
+ 6334,
+ 6349,
+ 6367,
+ 6370,
+ 6382,
+ 6391,
+ 6399,
+ 6414,
+ 6423,
+ 6435,
+ 6442,
+ 6452,
+ 6461,
+ 6469,
+ 6479,
+ 6493,
+ 6502,
+ 6517,
+ 6524,
+ 6539,
+ 6549,
+ 6555,
+ 6561,
+ 6568,
+ 6575,
+ 6594,
+ 6605,
+ 6613,
+ 6620,
+ 6626,
+ 6637,
+ 6643,
+ 6656,
+ 6669,
+ 6679,
+ 6687,
+ 6698,
+ 6706,
+ 6715,
+ 6730,
+ 6739,
+ 6746,
+ 6762,
+ 6768,
+ 6776,
+ 6785,
+ 6791,
+ 6798,
+ 6805,
+ 6818,
+ 6827,
+ 6836,
+ 6846,
+ 6853,
+ 6861,
+ 6877,
+ 6885,
+ 6894,
+ 6901,
+ 6912,
+ 6924,
+ 6937,
+ 6947,
+ 6951,
+ 6966,
+ 6975,
+ 6985,
+ 6996,
+ 7003,
+ 7019,
+ 7029,
+ 7037,
+ 7046,
+ 7053,
+ 7060,
+ 7068,
+ 7075,
+ 7081,
+ 7088,
+ 7094,
+ 7108,
+ 7117,
+ 7123,
+ 7139,
+ 7150,
+ 7162,
+ 7168,
+ 7182,
+ 7191,
+ 7203,
+ 7219,
+ 7222,
+ 7229,
+ 7243,
+ 7251,
+ 7260,
+ 7269,
+ 7279,
+ 7289,
+ 7294,
+ 7307,
+ 7321,
+ 7338,
+ 7349,
+ 7353,
+ 7361,
+ 7371,
+ 7379,
+ 7386,
+ 7397,
+ 7411,
+ 7422,
+ 7428,
+ 7437,
+ 7442,
+ 7452,
+ 7463,
+ 7474,
+ 7483,
+ 7491,
+ 7499,
+ 7514,
+ 7523,
+ 7536,
+ 7542,
+ 7549,
+ 7556,
+ 7568,
+ 7577,
+ 7586,
+ 7597,
+ 7609,
+ 7623,
+ 7633,
+ 7645,
+ 7658,
+ 7664,
+ 7677,
+ 7694,
+ 7703,
+ 7718,
+ 7727,
+ 7736,
+ 7749,
+ 7758,
+ 7768,
+ 7775,
+ 7782,
+ 7790,
+ 7803,
+ 7812,
+ 7823,
+ 7833,
+ 7842,
+ 7859,
+ 7870,
+ 7879,
+ 7891,
+ 7901,
+ 7912,
+ 7921,
+ 7928,
+ 7935,
+ 7943,
+ 7958,
+ 7965,
+ 7972,
+ 7984,
+ 7991,
+ 7997,
+ 8010,
+ 8020,
+ 8033,
+ 8041,
+ 8048,
+ 8059,
+ 8069,
+ 8080,
+ 8088,
+ 8097,
+ 8108,
+ 8113,
+ 8119,
+ 8128,
+ 8135,
+ 8148,
+ 8163,
+ 8172,
+ 8182,
+ 8194,
+ 8203,
+ 8214,
+ 8223,
+ 8237,
+ 8246,
+ 8252,
+ 8264,
+ 8269,
+ 8282,
+ 8293,
+ 8305,
+ 8317,
+ 8330,
+ 8336,
+ 8347,
+ 8354,
+ 8364,
+ 8376,
+ 8383,
+ 8398,
+ 8406,
+ 8414,
+ 8429,
+ 8443,
+ 8460,
+ 8467,
+ 8475,
+ 8484,
+ 8493,
+ 8503,
+ 8510,
+ 8518,
+ 8527,
+ 8535,
+ 8544,
+ 8548,
+ 8555,
+ 8561,
+ 8571,
+ 8578,
+ 8590,
+ 8599,
+ 8603,
+ 8614,
+ 8621,
+ 8628,
+ 8638,
+ 8644,
+ 8654,
+ 8664,
+ 8675,
+ 8688,
+ 8698,
+ 8705,
+ 8711,
+ 8721,
+ 8729,
+ 8739,
+ 8754,
+ 8770,
+ 8775,
+ 8792,
+ 8802,
+ 8812,
+ 8824,
+ 8829,
+ 8838,
+ 8847,
+ 8858,
+ 8869,
+ 8878,
+ 8889,
+ 8906,
+ 8911,
+ 8916,
+ 8928,
+ 8939,
+ 8950,
+ 8957,
+ 8969,
+ 8980,
+ 8988,
+ 8992,
+ 9005,
+ 9014,
+ 9024,
+ 9032,
+ 9048,
+ 9060,
+ 9069,
+ 9079,
+ 9086,
+ 9098,
+ 9112,
+ 9123,
+ 9135,
+ 9143,
+ 9152,
+ 9163,
+ 9168,
+ 9176,
+ 9184,
+ 9193,
+ 9203,
+ 9214,
+ 9229,
+ 9239,
+ 9252,
+ 9260,
+ 9272,
+ 9283,
+ 9290,
+ 9299,
+ 9313,
+ 9329,
+ 9335,
+ 9348,
+ 9359,
+ 9370,
+ 9375,
+ 9384,
+ 9395,
+ 9402,
+ 9410,
+ 9429,
+ 9440,
+ 9454,
+ 9468,
+ 9479,
+ 9489,
+ 9497,
+ 9507,
+ 9518,
+ 9530,
+ 9538,
+ 9549,
+ 9560,
+ 9570,
+ 9581,
+ 9590,
+ 9600,
+ 9613,
+ 9624,
+ 9637,
+ 9654,
+ 9664,
+ 9675,
+ 9686,
+ 9697,
+ 9714,
+ 9724,
+ 9737,
+ 9754,
+ 9767,
+ 9776,
+ 9781,
+ 9791,
+ 9804,
+ 9809,
+ 9823,
+ 9833,
+ 9841,
+ 9848,
+ 9856,
+ 9867,
+ 9879,
+ 9892,
+ 9902,
+ 9907,
+ 9916,
+ 9925,
+ 9934,
+ 9944,
+ 9959,
+ 9972,
+ 9980,
+ 9986,
+ 9992,
+ 10004
+};
+const double verify_data[1000] = {
+ 1971101,
+ 3601995,
+ 3608374,
+ 3068439,
+ 2756891,
+ 1644445,
+ 2326970,
+ 3571797,
+ 2167311,
+ 3272467,
+ 5257490,
+ 2287052,
+ 5507394,
+ 1707471,
+ 1181529,
+ 2596954,
+ 2999820,
+ 1456597,
+ 1755714,
+ 2783599,
+ 2224880,
+ 953747,
+ 1863442,
+ 2375479,
+ 3838149,
+ 1472958,
+ 2613759,
+ 1412651,
+ 2454897,
+ 4139599,
+ 1540527,
+ 2373885,
+ 2371153,
+ 2496043,
+ 2946006,
+ 3041837,
+ 2102841,
+ 3413598,
+ 3937131,
+ 3428786,
+ 2323528,
+ 1657458,
+ 3358521,
+ 1821261,
+ 937257,
+ 2638848,
+ 3351703,
+ 2436591,
+ 1387045,
+ 3372777,
+ 4422352,
+ 2696491,
+ 2775768,
+ 1711500,
+ 2463910,
+ 1906176,
+ 2655972,
+ 2176802,
+ 4025605,
+ 1836921,
+ 2902963,
+ 1950818,
+ 2553243,
+ 2012524,
+ 2449182,
+ 1632320,
+ 2628093,
+ 1093587,
+ 3089207,
+ 3020390,
+ 1485696,
+ 1932818,
+ 3334949,
+ 1610563,
+ 2076427,
+ 3114683,
+ 1548840,
+ 3339439,
+ 3335032,
+ 1366398,
+ 1685659,
+ 1668385,
+ 2510712,
+ 2871270,
+ 3270369,
+ 4311377,
+ 1982006,
+ 1326681,
+ 1381634,
+ 398901,
+ 3333661,
+ 3352243,
+ 2878790,
+ 1577319,
+ 2415255,
+ 1191188,
+ 3219765,
+ 3467850,
+ 1940862,
+ 2056258,
+ 1786527,
+ 2278347,
+ 2077897,
+ 1457888,
+ 3707208,
+ 1405999,
+ 952210,
+ 1600564,
+ 2343319,
+ 1781556,
+ 2474389,
+ 522450,
+ 3674982,
+ 3619187,
+ 3211390,
+ 3586103,
+ 1475431,
+ 3546147,
+ 3698208,
+ 2049193,
+ 1979189,
+ 1111515,
+ 2790498,
+ 3439083,
+ 4279066,
+ 2774436,
+ 2077245,
+ 4390617,
+ 3149593,
+ 5326535,
+ 3848199,
+ 2772446,
+ 2682304,
+ 2277814,
+ 1222790,
+ 2067874,
+ 1982666,
+ 2371257,
+ 1270393,
+ 3228410,
+ 2598823,
+ 2428645,
+ 904561,
+ 2100006,
+ 2337148,
+ 3164102,
+ 3908197,
+ 1529402,
+ 3084375,
+ 1927419,
+ 3196639,
+ 2303890,
+ 4265937,
+ 2061281,
+ 2212135,
+ 2407656,
+ 1723976,
+ 2903704,
+ 3276733,
+ 1491735,
+ 1684162,
+ 1307018,
+ 1201185,
+ 636997,
+ 1186016,
+ 1774809,
+ 2607471,
+ 2619840,
+ 3493545,
+ 3226129,
+ 1737347,
+ 2380184,
+ 1201957,
+ 983240,
+ 2529069,
+ 2689857,
+ 3022018,
+ 2223714,
+ 3625235,
+ 3008732,
+ 2417998,
+ 4428750,
+ 2270952,
+ 2186948,
+ 4812008,
+ 2233927,
+ 3334976,
+ 1264519,
+ 1626345,
+ 1123879,
+ 3098605,
+ 4036407,
+ 3104973,
+ 2897790,
+ 3788865,
+ 2422217,
+ 3611590,
+ 1749696,
+ 2447434,
+ 2977777,
+ 1573650,
+ 2620107,
+ 2319242,
+ 2902283,
+ 1882200,
+ 1787017,
+ 2436605,
+ 3467551,
+ 2413830,
+ 187567,
+ 2242075,
+ 1754385,
+ 1836061,
+ 4245412,
+ 3751015,
+ 2715151,
+ 1557751,
+ 421948,
+ 2963355,
+ 2050843,
+ 1758567,
+ 2680768,
+ 4076059,
+ 4484640,
+ 3293151,
+ 1433126,
+ 1649435,
+ 4409656,
+ 2223098,
+ 2455979,
+ 1874200,
+ 2098066,
+ 4020158,
+ 1312572,
+ 2801068,
+ 3341899,
+ 3785087,
+ 1569098,
+ 2778159,
+ 1992179,
+ 2669866,
+ 1914494,
+ 1619868,
+ 2274333,
+ 1857912,
+ 3099797,
+ 809499,
+ 1679713,
+ 3531350,
+ 2599926,
+ 1970143,
+ 2920228,
+ 2883295,
+ 1394658,
+ 3554897,
+ 3534392,
+ 1625041,
+ 1492274,
+ 1451033,
+ 2248274,
+ 2910569,
+ 2341827,
+ 2768016,
+ 3567361,
+ 781606,
+ 2434644,
+ 1782504,
+ 4124675,
+ 3646132,
+ 2864945,
+ 512560,
+ 3618571,
+ 2223074,
+ 4315721,
+ 1195043,
+ 4737421,
+ 1748427,
+ 3474050,
+ 1798506,
+ 4916152,
+ 2411793,
+ 3382242,
+ 5132409,
+ 810557,
+ 4870878,
+ 1368859,
+ 2955757,
+ 1940419,
+ 3146202,
+ 880792,
+ 3448573,
+ 1017493,
+ 2481321,
+ 3652309,
+ 3475252,
+ 2845994,
+ 3182841,
+ 5898263,
+ 1771223,
+ 3346757,
+ 2512678,
+ 1778448,
+ 3432671,
+ 2814247,
+ 3403195,
+ 812303,
+ 2104162,
+ 85040,
+ 989115,
+ 1897384,
+ 1248980,
+ 2002961,
+ 1371732,
+ 2373820,
+ 5178478,
+ 1511192,
+ 5127654,
+ 1468260,
+ 2185303,
+ 2436412,
+ 2978141,
+ 2230665,
+ 1707852,
+ 2529167,
+ 1152196,
+ 3239187,
+ 2498749,
+ 2707774,
+ 1502699,
+ 1633289,
+ 2782744,
+ 4089832,
+ 1548833,
+ 1704769,
+ 2712629,
+ 992084,
+ 1369606,
+ 2480517,
+ 2846051,
+ 3100172,
+ 2371224,
+ 1173652,
+ 1837754,
+ 3822172,
+ 1417367,
+ 1538908,
+ 1146694,
+ 2528965,
+ 2800885,
+ 3461160,
+ 786155,
+ 6573509,
+ 3071638,
+ 1511640,
+ 3652853,
+ 1475533,
+ 1525596,
+ 2695806,
+ 1277883,
+ 3278333,
+ 2226936,
+ 2030339,
+ 3914645,
+ 4318373,
+ 2059669,
+ 3961569,
+ 1772074,
+ 3135802,
+ 1261862,
+ 4771438,
+ 1587528,
+ 2435428,
+ 2869031,
+ 2629400,
+ 1533986,
+ 1866116,
+ 1203541,
+ 2007311,
+ 4295134,
+ 3082652,
+ 2127515,
+ 3110833,
+ 2895900,
+ 4701588,
+ 2727753,
+ 2324739,
+ 2142817,
+ 4359375,
+ 2762710,
+ 2675084,
+ 2776056,
+ 2906201,
+ 2859945,
+ 1471060,
+ 3224362,
+ 2455374,
+ 2030195,
+ 909337,
+ 2716237,
+ 2230075,
+ 3070171,
+ 4476596,
+ 2646370,
+ 3421732,
+ 2163616,
+ 4043766,
+ 2111374,
+ 2016619,
+ 1318843,
+ 3586217,
+ 3000490,
+ 2914687,
+ 2728187,
+ 3496083,
+ 3137438,
+ 1555757,
+ 2975780,
+ 864871,
+ 3568793,
+ 3273559,
+ 4362169,
+ 1225951,
+ 1858409,
+ 1867854,
+ 2081582,
+ 4028493,
+ 1772236,
+ 2634979,
+ 3563733,
+ 1734270,
+ 2430471,
+ 3597625,
+ 1010411,
+ 1086456,
+ 3717761,
+ 3038402,
+ 1630224,
+ 4565438,
+ 3347069,
+ 2543316,
+ 3034145,
+ 1190307,
+ 3710367,
+ 2894919,
+ 4122408,
+ 1917891,
+ 1308296,
+ 1847812,
+ 2799933,
+ 5544619,
+ 990734,
+ 2302389,
+ 2828494,
+ 2767749,
+ 2734181,
+ 1584801,
+ 2096227,
+ 2132396,
+ 1605917,
+ 3953389,
+ 489065,
+ 3370917,
+ 1246610,
+ 1859633,
+ 3905768,
+ 2375583,
+ 2352791,
+ 3066605,
+ 3023804,
+ 1714567,
+ 1630198,
+ 3244096,
+ 3311209,
+ 2837076,
+ 1806523,
+ 3111912,
+ 924345,
+ 891749,
+ 1710635,
+ 2779972,
+ 2288984,
+ 2104226,
+ 2726511,
+ 2994247,
+ 4159385,
+ 927922,
+ 3372483,
+ 2093351,
+ 3228595,
+ 1549615,
+ 3203118,
+ 1566786,
+ 2046013,
+ 1122663,
+ 902592,
+ 2101848,
+ 633763,
+ 1382735,
+ 2235887,
+ 1595380,
+ 1684910,
+ 4534882,
+ 1927642,
+ 3881319,
+ 4091228,
+ 3489550,
+ 1186206,
+ 1089968,
+ 1673520,
+ 2908231,
+ 1060251,
+ 4422500,
+ 2814892,
+ 2014163,
+ 3954105,
+ 2685902,
+ 1427353,
+ 1040905,
+ 2481509,
+ 2984177,
+ 5050926,
+ 1266027,
+ 2158372,
+ 2317752,
+ 4020554,
+ 1226253,
+ 3034218,
+ 3335936,
+ 3282626,
+ 1782262,
+ 3007006,
+ 2399815,
+ 4116453,
+ 1101525,
+ 2175742,
+ 1919181,
+ 1935647,
+ 3021439,
+ 2975812,
+ 1409385,
+ 3435714,
+ 2843659,
+ 2535310,
+ 973352,
+ 4051148,
+ 3198667,
+ 3025227,
+ 3821291,
+ 2634495,
+ 1066026,
+ 1015860,
+ 2374721,
+ 1893315,
+ 2896157,
+ 5768610,
+ 4638503,
+ 1096525,
+ 2521763,
+ 201516,
+ 1885950,
+ 2456554,
+ 2395576,
+ 1805310,
+ 3539192,
+ 706652,
+ 3652867,
+ 1803915,
+ 2740108,
+ 4902727,
+ 2480670,
+ 4763486,
+ 2831231,
+ 2804267,
+ 2958655,
+ 1180330,
+ 1377988,
+ 1967048,
+ 3251495,
+ 3641699,
+ 2327118,
+ 518996,
+ 3627226,
+ 4512513,
+ 821503,
+ 4513458,
+ 1746977,
+ 3396668,
+ 2072470,
+ 3064446,
+ 4435618,
+ 2734309,
+ 2193304,
+ 4275484,
+ 3468741,
+ 2498396,
+ 3068739,
+ 1699359,
+ 2816909,
+ 2705770,
+ 2392503,
+ 1288021,
+ 2667346,
+ 1722567,
+ 2924017,
+ 3160472,
+ 1098169,
+ 3756129,
+ 5913618,
+ 3768712,
+ 2089078,
+ 2340072,
+ 2483109,
+ 4368798,
+ 2778403,
+ 1706517,
+ 2503001,
+ 2633764,
+ 2488649,
+ 3759253,
+ 1596753,
+ 1671868,
+ 1377167,
+ 2721074,
+ 2026518,
+ 3148597,
+ 1753515,
+ 2407030,
+ 3191030,
+ 3974792,
+ 1798541,
+ 4805468,
+ 2569249,
+ 4324091,
+ 3385093,
+ 745588,
+ 2231981,
+ 2000465,
+ 2339460,
+ 3327609,
+ 3719613,
+ 4276833,
+ 1018769,
+ 2495582,
+ 2942706,
+ 2035953,
+ 2227503,
+ 3631249,
+ 2988856,
+ 2784977,
+ 1822310,
+ 4621193,
+ 2352625,
+ 1249877,
+ 1540945,
+ 1241921,
+ 1994350,
+ 5628798,
+ 1620488,
+ 1897543,
+ 952310,
+ 1052254,
+ 3358187,
+ 2994928,
+ 2959189,
+ 2720309,
+ 2875425,
+ 2144130,
+ 4548462,
+ 2048162,
+ 1339841,
+ 4090958,
+ 1862715,
+ 1268274,
+ 4042390,
+ 1581631,
+ 2874452,
+ 1735445,
+ 1588799,
+ 1331885,
+ 2179684,
+ 5179645,
+ 1959366,
+ 2027198,
+ 2755029,
+ 2265692,
+ 2335785,
+ 4348426,
+ 1879924,
+ 2696539,
+ 1106357,
+ 2932568,
+ 2492358,
+ 3120132,
+ 3691105,
+ 1442767,
+ 4534420,
+ 2112951,
+ 2625910,
+ 3375099,
+ 1555111,
+ 4988419,
+ 1174798,
+ 1332818,
+ 1869705,
+ 1696774,
+ 1175511,
+ 1819161,
+ 1548388,
+ 1420761,
+ 1580164,
+ 943541,
+ 4405558,
+ 2240390,
+ 1501984,
+ 4062955,
+ 3082580,
+ 2967491,
+ 1152855,
+ 3788527,
+ 2868984,
+ 4078134,
+ 3701904,
+ 752170,
+ 1758523,
+ 3256074,
+ 2335111,
+ 2496969,
+ 2165110,
+ 2589055,
+ 1648006,
+ 966763,
+ 3719559,
+ 4883836,
+ 2489406,
+ 2900336,
+ 1003207,
+ 914713,
+ 2687415,
+ 2957174,
+ 991602,
+ 3005713,
+ 3016805,
+ 3646583,
+ 2002778,
+ 2188117,
+ 996416,
+ 3940661,
+ 3749144,
+ 1702093,
+ 1779575,
+ 2135189,
+ 1198463,
+ 1665170,
+ 1230802,
+ 3071243,
+ 1250575,
+ 1159769,
+ 2008716,
+ 2577482,
+ 1680782,
+ 2755046,
+ 2798673,
+ 2779172,
+ 4719731,
+ 2451896,
+ 2268516,
+ 3364116,
+ 2139930,
+ 4014502,
+ 5474835,
+ 2379560,
+ 3272928,
+ 2133308,
+ 2638465,
+ 3610736,
+ 2437161,
+ 2469816,
+ 1951246,
+ 1998282,
+ 2022421,
+ 2093450,
+ 2415039,
+ 4011191,
+ 2829334,
+ 2863331,
+ 4093600,
+ 2661113,
+ 2923200,
+ 2198013,
+ 2162835,
+ 2958211,
+ 1829311,
+ 750764,
+ 1125263,
+ 1293794,
+ 4883789,
+ 1165273,
+ 1322292,
+ 2045605,
+ 1796576,
+ 1587215,
+ 3595048,
+ 2442957,
+ 3675117,
+ 2022610,
+ 2207877,
+ 3164247,
+ 2539827,
+ 2289433,
+ 2050621,
+ 2033111,
+ 2996013,
+ 643859,
+ 1353849,
+ 2284477,
+ 1687120,
+ 2374034,
+ 3975861,
+ 3174103,
+ 3090405,
+ 3004853,
+ 1655110,
+ 2881453,
+ 3229992,
+ 3406893,
+ 1953384,
+ 2162162,
+ 3005248,
+ 1806960,
+ 2262637,
+ 2658934,
+ 3172203,
+ 2346601,
+ 2083857,
+ 1905139,
+ 2243485,
+ 1779413,
+ 2958736,
+ 2324181,
+ 1167937,
+ 2487352,
+ 2195558,
+ 2511598,
+ 3374057,
+ 3239559,
+ 3989322,
+ 2007874,
+ 1142953,
+ 1917363,
+ 1413284,
+ 2254989,
+ 2519517,
+ 2612721,
+ 1979898,
+ 1472130,
+ 4246577,
+ 678823,
+ 1032892,
+ 1956684,
+ 2963972,
+ 2501714,
+ 3206467,
+ 3867577,
+ 1866296,
+ 1852756,
+ 2674353,
+ 2068891,
+ 2485623,
+ 1691978,
+ 3224678,
+ 2235530,
+ 2642436,
+ 3528805,
+ 3154289,
+ 763332,
+ 2188687,
+ 2175236,
+ 3423181,
+ 2228774,
+ 4926897,
+ 4720293,
+ 1365097,
+ 4384144,
+ 1933318,
+ 1538742,
+ 3060760,
+ 891455,
+ 2247727,
+ 1481978,
+ 2009726,
+ 3389542,
+ 737932,
+ 4035426,
+ 4661761,
+ 1332633,
+ 913928,
+ 2479290,
+ 1992229,
+ 2961682,
+ 1641167,
+ 3217414,
+ 3225260,
+ 2595246,
+ 591918,
+ 5566353,
+ 2528672,
+ 2502651,
+ 1241588,
+ 2590376,
+ 3876970,
+ 1793155,
+ 1501528,
+ 1838442,
+ 2522918,
+ 2422260,
+ 3056321,
+ 2273838,
+ 2071241,
+ 1658722,
+ 2562266,
+ 1338349,
+ 1376886,
+ 2223907,
+ 1921712,
+ 2211260,
+ 1602704,
+ 5260200,
+ 2189077,
+ 3019251,
+ 2106858,
+ 3976347,
+ 2463524,
+ 1576729,
+ 491605,
+ 3168168,
+ 4672180,
+ 1922298,
+ 2396219,
+ 2857066,
+ 3012596,
+ 874988,
+ 2600192,
+ 2197450,
+ 1567978,
+ 1636166,
+ 4334187,
+ 2964752,
+ 4434709,
+ 2753079,
+ 2384760,
+ 1534463,
+ 2112708,
+ 2065799,
+ 1431116,
+ 3960134,
+ 2861238,
+ 2406750,
+ 2744852,
+ 2940188,
+ 3343790,
+ 2451949,
+ 2431427,
+ 2343771,
+ 4247520,
+ 2386347,
+ 5806313,
+ 2995484,
+ 3520605,
+ 1723394,
+ 2278390,
+ 4240678,
+ 1794433,
+ 3515379,
+ 4577968,
+ 2412014,
+ 1533701,
+ 733354,
+ 2879952,
+ 4102595,
+ 1847856,
+ 1920316,
+ 2281251,
+ 1136467,
+ 2032967,
+ 2387741,
+ 2059754,
+ 3098458,
+ 2813846,
+ 2264943,
+ 1328950,
+ 1544527,
+ 1143015,
+ 2417418,
+ 2816076,
+ 4485204,
+ 2576250,
+ 2144794,
+ 1827914,
+ 1906691,
+ 2348923
+};
diff --git a/benchmarks/spmv/spmv_gendata.scala b/benchmarks/spmv/spmv_gendata.scala
new file mode 100644
index 0000000..f777445
--- /dev/null
+++ b/benchmarks/spmv/spmv_gendata.scala
@@ -0,0 +1,48 @@
+#!/usr/bin/env scala
+!#
+
+val m = args(0).toInt
+val n = args(1).toInt
+val approx_nnz = args(2).toInt
+
+val pnnz = approx_nnz.toDouble/(m*n)
+val idx = collection.mutable.ArrayBuffer[Int]()
+val p = collection.mutable.ArrayBuffer(0)
+
+for (i <- 0 until m) {
+ for (j <- 0 until n) {
+ if (util.Random.nextDouble < pnnz)
+ idx += j
+ }
+ p += idx.length
+}
+
+val nnz = idx.length
+val v = Array.tabulate(n)(i => util.Random.nextInt(1000))
+val d = Array.tabulate(nnz)(i => util.Random.nextInt(1000))
+
+def printVec(t: String, name: String, data: Seq[Int]) = {
+ println("const " + t + " " + name + "[" + data.length + "] = {")
+ println(" "+data.map(_.toString).reduceLeft(_+",\n "+_))
+ println("};")
+}
+
+def spmv(p: Seq[Int], d: Seq[Int], idx: Seq[Int], v: Seq[Int]) = {
+ val y = collection.mutable.ArrayBuffer[Int]()
+ for (i <- 0 until p.length-1) {
+ var yi = 0
+ for (k <- p(i) until p(i+1))
+ yi = yi + d(k)*v(idx(k))
+ y += yi
+ }
+ y
+}
+
+println("#define R " + m)
+println("#define C " + n)
+println("#define NNZ " + nnz)
+printVec("double", "val", d)
+printVec("int", "idx", idx)
+printVec("double", "x", v)
+printVec("int", "ptr", p)
+printVec("double", "verify_data", spmv(p, d, idx, v))
diff --git a/benchmarks/spmv/spmv_main.c b/benchmarks/spmv/spmv_main.c
new file mode 100644
index 0000000..11d9540
--- /dev/null
+++ b/benchmarks/spmv/spmv_main.c
@@ -0,0 +1,123 @@
+//**************************************************************************
+// Double-precision general matrix multiplication benchmark
+//--------------------------------------------------------------------------
+
+//--------------------------------------------------------------------------
+// Macros
+
+// Set HOST_DEBUG to 1 if you are going to compile this for a host
+// machine (ie Athena/Linux) for debug purposes and set HOST_DEBUG
+// to 0 if you are compiling with the smips-gcc toolchain.
+
+#ifndef HOST_DEBUG
+#define HOST_DEBUG 0
+#endif
+
+// Set PREALLOCATE to 1 if you want to preallocate the benchmark
+// function before starting stats. If you have instruction/data
+// caches and you don't want to count the overhead of misses, then
+// you will need to use preallocation.
+
+#ifndef PREALLOCATE
+#define PREALLOCATE 0
+#endif
+
+// Set SET_STATS to 1 if you want to carve out the piece that actually
+// does the computation.
+
+#ifndef SET_STATS
+#define SET_STATS 0
+#endif
+
+//--------------------------------------------------------------------------
+// Input/Reference Data
+
+#include "dataset1.h"
+
+//--------------------------------------------------------------------------
+// Helper functions
+
+int verify( long n, const double test[], const double correct[] )
+{
+ int i;
+ for ( i = 0; i < n; i++ ) {
+ if ( test[i] != correct[i] ) {
+ return 2;
+ }
+ }
+ return 1;
+}
+
+#if HOST_DEBUG
+#include <stdio.h>
+#include <stdlib.h>
+void printArray( char name[], long n, const double arr[] )
+{
+ int i;
+ printf( " %10s :", name );
+ for ( i = 0; i < n; i++ )
+ printf( " %8.1f ", arr[i] );
+ printf( "\n" );
+}
+#endif
+
+void finishTest( int toHostValue )
+{
+#if HOST_DEBUG
+ if ( toHostValue == 1 )
+ printf( "*** PASSED ***\n" );
+ else
+ printf( "*** FAILED *** (tohost = %d)\n", toHostValue );
+ exit(0);
+#else
+ asm( "mtpcr %0, cr30" : : "r" (toHostValue) );
+ while ( 1 ) { }
+#endif
+}
+
+void setStats( int enable )
+{
+#if ( !HOST_DEBUG && SET_STATS )
+ asm( "mtpcr %0, cr10" : : "r" (enable) );
+#endif
+}
+
+void spmv(int r, const double* val, const int* idx, const double* x,
+ const int* ptr, double* y)
+{
+ for (int i = 0; i < r; i++)
+ {
+ int k;
+ double yi0 = 0, yi1 = 0, yi2 = 0, yi3 = 0;
+ for (k = ptr[i]; k < ptr[i+1]-3; k+=4)
+ {
+ yi0 += val[k+0]*x[idx[k+0]];
+ yi1 += val[k+1]*x[idx[k+1]];
+ yi2 += val[k+2]*x[idx[k+2]];
+ yi3 += val[k+3]*x[idx[k+3]];
+ }
+ for ( ; k < ptr[i+1]; k++)
+ {
+ yi0 += val[k]*x[idx[k]];
+ }
+ y[i] = (yi0+yi1)+(yi2+yi3);
+ }
+}
+
+//--------------------------------------------------------------------------
+// Main
+
+int main( int argc, char* argv[] )
+{
+ double y[R];
+
+#if PREALLOCATE
+ spmv(R, val, idx, x, ptr, y);
+#endif
+
+ setStats(1);
+ spmv(R, val, idx, x, ptr, y);
+ setStats(0);
+
+ finishTest(verify(R, y, verify_data));
+}