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

Generated on Mon Feb 12 2024 13:02:49 for PandA-2024.02 by doxygen 1.8.13