Day6.sql 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. USE Day6; -- Assumes you have a database called Day6
  2. DROP PROCEDURE IF EXISTS `loadInputPt1`;
  3. DROP PROCEDURE IF EXISTS `loadNumbersPt2`;
  4. DROP PROCEDURE IF EXISTS `loadOperandsPt2`;
  5. DROP FUNCTION IF EXISTS `result`;
  6. DROP TABLE IF EXISTS `numbers`;
  7. DROP TABLE IF EXISTS `operands`;
  8. CREATE TABLE `numbers` (
  9. problem INTEGER,
  10. number INTEGER,
  11. pos INTEGER
  12. );
  13. CREATE TABLE `operands` (
  14. problem INTEGER,
  15. operand enum('*', '+'),
  16. pos INTEGER
  17. );
  18. DELIMITER $$
  19. CREATE PROCEDURE loadInputPt1(inp TEXT)
  20. BEGIN
  21. DECLARE nl TEXT DEFAULT '
  22. ';
  23. DECLARE max_length INT DEFAULT 0;
  24. DECLARE pos INT DEFAULT 0;
  25. DECLARE occurence INT DEFAULT 1;
  26. DECLARE s TEXT DEFAULT '';
  27. DECLARE problem INT DEFAULT 0;
  28. SET inp = REPLACE(CONCAT(inp, ' '), nl, CONCAT(' ', nl, ' '));
  29. SET max_length = CHAR_LENGTH(inp);
  30. TRUNCATE TABLE `numbers`;
  31. TRUNCATE TABLE `operands`;
  32. myloop:LOOP
  33. IF max_length = 0 OR inp IS NULL THEN
  34. LEAVE myloop;
  35. END IF;
  36. SET pos = LOCATE(' ', inp, pos + 1);
  37. IF pos > max_length OR pos = 0 THEN
  38. LEAVE myloop;
  39. END IF;
  40. SET s = SUBSTRING_INDEX(SUBSTRING_INDEX(inp, ' ', occurence), ' ', -1);
  41. IF s = nl THEN
  42. SET problem = 0;
  43. ELSEIF s IN ('*', '+') THEN
  44. INSERT INTO `operands` (`problem`, `operand`) VALUES (problem, s);
  45. SET problem = problem + 1;
  46. ELSEIF s <> '' THEN
  47. INSERT INTO `numbers` (`problem`, `number`) VALUES (problem, CAST(s as UNSIGNED INTEGER));
  48. SET problem = problem + 1;
  49. END IF;
  50. SET occurence = occurence + 1;
  51. END LOOP;
  52. END $$
  53. CREATE FUNCTION result() RETURNS BIGINT DETERMINISTIC
  54. BEGIN
  55. SELECT ROUND(SUM(`result`)) INTO @ret FROM (
  56. SELECT `problem`, MIN(`operand`) as `operand`, IF(
  57. MIN(`operand`)='*',
  58. IF(MIN(`number`=0), 0, EXP(SUM(LOG(`number`)))),
  59. SUM(`number`)
  60. ) as `result`
  61. FROM `operands`
  62. JOIN `numbers` USING (`problem`)
  63. GROUP BY `problem`
  64. ) as `results`;
  65. RETURN @ret;
  66. END $$
  67. CREATE PROCEDURE loadOperandsPt2(inp TEXT)
  68. BEGIN
  69. DECLARE nl TEXT DEFAULT '
  70. ';
  71. DECLARE max_length INT DEFAULT 0;
  72. DECLARE pos INT DEFAULT 0;
  73. DECLARE s TEXT DEFAULT '';
  74. DECLARE operands TEXT DEFAULT '';
  75. DECLARE problem INT DEFAULT 0;
  76. SET operands = SUBSTRING_INDEX(inp, nl, -1);
  77. SET max_length = CHAR_LENGTH(operands);
  78. SET pos = 0;
  79. TRUNCATE TABLE `operands`;
  80. myloop:LOOP
  81. IF max_length = 0 OR operands IS NULL THEN
  82. LEAVE myloop;
  83. END IF;
  84. SET pos = LEAST(IFNULL(NULLIF(LOCATE('*', operands, pos+1),0), max_length + 1), IFNULL(NULLIF(LOCATE('+', operands, pos+1),0), max_length + 1));
  85. IF pos > max_length THEN
  86. LEAVE myloop;
  87. END IF;
  88. INSERT INTO `operands` (`problem`, `operand`, `pos`) VALUES (problem, SUBSTRING(operands, pos, 1), pos);
  89. SET problem = problem + 1;
  90. END LOOP;
  91. END $$
  92. CREATE PROCEDURE loadNumbersPt2(inp TEXT)
  93. BEGIN
  94. DECLARE nl TEXT DEFAULT '
  95. ';
  96. DECLARE line TEXT default '';
  97. DECLARE max_length INT DEFAULT 0;
  98. DECLARE digit_pos INT DEFAULT 0;
  99. DECLARE digit TEXT DEFAULT 0;
  100. DECLARE i INT DEFAULT 1;
  101. SET line = SUBSTRING_INDEX(SUBSTRING_INDEX(inp, nl, i), nl, -1);
  102. SET max_length = CHAR_LENGTH(inp);
  103. SET digit_pos = 1;
  104. TRUNCATE TABLE `numbers`;
  105. myloop:LOOP
  106. IF max_length = 0 OR digit_pos > max_length OR line IS NULL OR line = '' THEN
  107. LEAVE myloop;
  108. END IF;
  109. SET digit = SUBSTRING(line, digit_pos, 1);
  110. IF digit <> ' ' THEN
  111. IF digit IN ('*', '+') THEN
  112. LEAVE myloop;
  113. ELSEIF digit='' THEN
  114. SET i = i + 1;
  115. SET line = SUBSTRING_INDEX(SUBSTRING_INDEX(inp, nl, i), nl, -1);
  116. SET digit_pos = 0;
  117. ELSE
  118. SET @e = 0;
  119. SELECT COUNT(*) INTO @e FROM `numbers` WHERE `numbers`.`pos` = digit_pos;
  120. IF @e = 0 THEN
  121. SELECT MAX(problem) INTO @problem FROM operands WHERE `operands`.`pos` <= digit_pos;
  122. INSERT INTO `numbers`(`problem`, `number`, `pos`)
  123. VALUES (
  124. @problem,
  125. CAST(digit as UNSIGNED),
  126. digit_pos
  127. );
  128. ELSE
  129. UPDATE `numbers` SET `number` = `number` * 10 + CAST(digit as UNSIGNED) WHERE `numbers`.`pos`=digit_pos;
  130. END IF;
  131. END IF;
  132. END IF;
  133. SET digit_pos = digit_pos + 1;
  134. END LOOP;
  135. END $$
  136. DELIMITER ;
  137. SET @test_inp = "123 328 51 64
  138. 45 64 387 23
  139. 6 98 215 314
  140. * + * + ";
  141. SET @inp = "886 63 27 258 98 318 99 975 7 6393 947 87 23 765 35 1 6415 4 5 882 7 475 74 598 4 47 66 9233 6 669 2 3 6 92 77 4 6 64 89 989 436 833 946 5927 398 2 262 594 752 79 3 3 44 117 149 74 119 48 17 762 621 81 3576 23 259 141 51 312 16 255 6 925 7 1 395 61 61 34 277 1366 44 8 32 26 932 61 48 29 693 3 27 89 9 618 95 693 3 3 11 7 366 2455 3 11 4 59 9 9975 81 2 71 989 697 8636 12 16 889 78 53 23 321 33 29 129 81 18 161 78 7365 8 9515 127 94 383 6 17 2 389 724 37 5227 64 55 5 1 9 983 36 194 377 476 938 81 39 76 3 9 935 16 16 99 79 84 1212 3 13 2865 3 13 85 66 898 636 7164 23 81 88 79 767 66 348 5114 426 62 33 42 31 46 16 964 4 54 957 66 156 94 7876 393 481 23 64 54 95 56 27 4 525 892 38 213 29 15 1 28 4 41 65 5 89 15 52 535 8972 89 74 7672 824 71 2 49 7 494 9 697 3291 6 97 221 6 942 3 776 54 175 25 93 951 353 7448 891 16 476 7 65 56 37 9 88 195 3 21 19 439 478 366 67 1543 76 112 3 8246 2 6 77 6 3889 85 32 9 13 85 45 27 3 896 84 46 29 384 9259 761 4165 72 5 71 48 512 822 25 74 78 91 31 43 195 12 84 94 35 48 29 265 133 25 1286 42 76 5411 327 3 8 485 488 2 747 243 476 31 138 13 49 44 74 8 898 7 2 96 28 1966 34 15 7 29 429 327 46 823 87 45 339 663 96 5 99 22 9283 7 297 79 63 3 5753 48 68 269 22 3 75 2 44 48 4584 75 83 467 44 4532 24 12 82 44 472 8 5 6414 35 329 388 268 36 8 75 6296 25 731 51 56 55 681 2 6 128 872 818 768 977 134 9147 2 29 2 16 281 119 456 882 415 4 72 538 693 882 219 538 288 293 41 327 366 9 125 261 66 69 113 114 18 759 554 247 98 22 9 78 62 57 1 76 86 61 24 54 2 938 251 72 55 831 5593 31 26 2186 85 34 17 73 14 785 511 18 39 4 61 72 63 817 4 49 57 775 9527 8 58 712 9 7 17 35 9 77 93 3 71 5 13 9 46 6 9 381 58 364 236 87 96 8 691 529 83 3 5 5 66 87 54 277 92 6 3 165 1 12 2 163 28 93 649 95 5 136 1 1 81 6359 35 212 164 636 56 8 3 3 8 52 17 414 2491 542 5553 629 24 594 357 35 83 8 9 77 7 55 34 54 693 1 86 6547 572 442 92 656 39 9 38 8 49 8 273 7 987 4686 38 549 86 6 75 616 623 6639 4224 68 131 539 6 2275 4 8547 785 4387 917 45 52 383 18 1967 2 5 21 64 92 8186 18 243 219 4 1126 426 58 1515 2 187 874 151 82 152 356 21 17 14 8 65 44 52 9149 91 936 74 81 816 87 48 7 28 165 5 27 73 99 75 739 69 62 839 1 548 58 996 687 77 28 584 39 32 294 551 3 9234 595 4353 984 236 9252 773 66 1 65 435 84 67 57 16 191 75 9 668 2 9533 437 86 839 82 94 1547 78 6281 9419 23 1 4 573 957 2163 5 49 41 8 644 35 435 6 217 2 9 77 21 92 12 9 32 1778 579 9 5 13 544 896 7592 39 637 9 33 21 71 791 89 32 946 579 2 1 456 971 951 15 7 112 85 23 7 521 551 2618 228 88 91 387 889 971 448 647 9 34 94 822 736 45 355 816 46 36 7 348 144 72 6 865 3 997 5248 897 257 177 69 44 64 925 177 965 25 11 979 773 8334 3195 236 9657 9 9 576 839 843 863 7 99 848 251 98 9 358 69 87 37 12 9 999 5 4576 828 35 6 78 74 127 9177 47 4 94 46 98 688 354 723 53 55 8 47 692 72 85 675 878 689 86 25 5 251 95 8 3 25 76 335 3 8 9 922 6 7 13 14 56 9 3 54 43 24 15 987 622 45 69 8 94 736 67 165 66 794 298 79 56 2 61 3431 65 652 83 656 44 66 8 52 95 2219 2 84 84 97 98 48 722 88 66 629 1 31 14 7 62 8 7577 96 22 46 25 58 3195 29 36 93 56 477 328 6 33 4 3 6143 6228 34 249 7 56 6 8 5 29 6 69 9 286 1 763 74 695 416 63 17 6 59 727 495 52 294 86 49 3 76 83 87 183 261 928 5919 99 3 27 147 94 467 821 72 362 49 36 473 6291 37 679 6 91 66 35 8757 9425 658 899 3 5164 64 787 52 141 68 6 59 776 99 8 58
  142. 652 49 14 97 72 335 28 269 23 1648 698 46 68 814 3193 89 421 13 4 585 4 962 48 983 3 59 59 4636 44 532 5 77 239 93 59 817 6 26 92 537 363 883 993 8984 64 36 976 613 39 57 777 3 66 299 62 2 429 12 91 367 45 63 4417 81 525 26 3617 225 26 69 53 562 985 5 261 71 29 89 134 7355 44 62 79 45 734 76 47 97 66 2 667 71 46 316 16 8339 29 84 21 65 8469 6312 63 9 1 476 22 9392 16 52 34 352 548 5181 89 81 466 6 22 92 793 321 44 1644 64 79 632 22 876 77 8748 929 75 294 19 17 4 218 641 48 621 61 76 16 81 39 431 36 895 982 545 493 57 134 14 25 2 521 87 2 731 43 33 4258 1 91 8384 764 2969 52 22 362 587 1528 99 21 83 12 133 135 697 4989 826 38 646 16 73 99 73 798 586 93 4584 81 618 79 9338 54 298 39 61 37 23 55 31 21 847 725 47 469 671 37 9 29 34 146 96 89 79 24 61 667 8745 17 594 1563 9596 25 678 28 26 935 25 543 7531 23 786 549 4 993 63 268 219 986 787 91 635 262 1472 5213 44 482 92 89 77 9225 5329 71 995 43 82 837 118 915 988 82 4754 42 111 7 3787 27 6 87 4 128 83 33 927 27 59 17 39 36 4 88 98 83 1747 2241 152 288 89 95 3 64 991 381 64 175 17 39 538 969 853 63 47 42 23 27 68 3555 374 44 5784 97 99 7355 667 271 62 845 318 5 831 117 389 14 785 26 461 58 39 26 891 95 45 5 43 7765 62 19 66 71 425 987 66 368 72 69 346 476 57 772 87 73 4987 74 459 48 91 9 4247 33 37 134 32 99 23 6 17 47 2612 37 8 786 73 262 21 77 38 24 497 88 585 1838 81 312 265 993 65 954 848 485 98 42 6591 65 693 273 77 6 268 888 252 656 591 69 5592 98 241 511 21 282 261 283 54 574 56 816 319 745 161 887 657 982 923 48 513 649 621 719 826 67 35 69 784 45 36 986 986 63 78 86 75 97 12 3 778 39 41 52 92 12 853 725 95 33 499 865 11 841 8793 92 41 75 64 62 636 657 14 15 58 35 83 22 644 68 94 22 876 5927 882 97 698 2 45 98 9187 49 21 36 17 25 51 35 546 82 46 41 852 79 996 87 87 59 76 93 337 32 84 7 9 54 25 15 52 89 96 75 224 3 19 97 9784 82 59 5 13 35 114 9 576 458 6664 45 177 631 212 263 8 2 65 248 292 52 485 3544 8919 647 789 89 223 173 558 54 14 99 88 515 93 85 886 471 292 24 4764 285 341 53 924 784 69 86 222 31 53 641 4 552 694 41 691 321 39 35 334 142 1639 1423 355 577 2479 4 5299 174 2621 2711 5423 515 83 5717 952 45 694 7 88 34 28 19 3519 184 696 348 57 94 999 47 3465 2 213 545 335 31 813 57 64 73 95 26 328 31 77 747 87 959 46 769 914 84 29 59 78 259 1 2435 54 932 42 652 59 49 813 66 933 82 738 888 29 59 359 15 835 364 62 37 41 472 7961 645 317 9724 194 882 3 43 921 57 66 56 27 979 24 8 1936 6 7434 726 38 79 46 31 6797 29 3347 762 83 7 93 7846 581 8867 92 79 74 8 15 39 87 43 686 86 65 84 96 68 91 89 17 2598 768 27 75 57 315 642 2231 57 425 2 48 41 94 1415 87 46 411 264 37 1 8581 872 359 817 41 751 79 673 89 613 765 1254 849 97 63 223 93 773 136 124 14 835 67 894 769 315 544 923 77 65 6 695 882 413 8 854 35 498 7665 776 526 164 31 64 45 646 937 727 37 84 73 511 9495 235 588 6894 5 71 257 71 821 262 6 57 637 773 91 6 248 24 84 256 872 997 324 72 233 536 94 9 19 98 287 782 29 37 12 14 31 582 611 317 89 16 713 2417 637 81 82 44 554 312 381 71 4 275 3 4 551 25 11 7939 72 1 8 431 21 22 12 25 72 71 5 31 95 92 52 398 735 75 21 22 55 137 54 75 554 645 126 41 58 17 27 1467 97 53 18 667 69 84 6 53 48 6561 47 75 84 16 95 348 99 3 65 366 79 758 5921 6 596 7 5146 27 53 693 39 69 1198 92 13 7 42 551 483 9 934 86 89 5442 8966 79 46 376 65 6 89 22 43 9 33 293 499 618 66 11 537 689 41 74 3 464 753 965 425 158 91 79 588 66 359 237 791 163 759 4374 39 7 35 554 2978 835 146 31 534 36 14 956 3881 59 419 79 56 63 32 8385 6366 997 86 76 3148 98 513 89 379 2296 81 31 6222 33 7 665
  143. 65 143 36 8 42 429 55 327 44 775 558 76 85 171 6136 9139 23 97 73 575 9 933 52 87 43 2 27 869 88 415 28 17 292 19 36 158 31 67 39 682 8 712 182 373 52 21 675 286 95 41 114 35 754 13 97 1 387 83 96 582 71 46 6827 11 456 1 5474 198 64 6 94 126 814 69 66 83 42 3 28 1828 8 54 33 84 4562 34 23 45 67 4 376 34 66 6639 21 5723 62 666 21 19 9159 9428 35 9 3 993 349 982 8 46 16 244 77 5567 38 44 461 2 4 37 953 687 44 8648 49 72 23 96 54 61 7735 65 71 45 31 8828 2 591 867 45 397 34 4 137 52 89 733 36 735 79 51 169 43 5114 48 87 52 298 37 1 657 87 7346 7781 45 75 9752 949 2584 37 8 858 227 25 473 21 93 59 737 689 232 732 512 24 784 55 876 48 33 21 2199 99 7251 15 731 71 548 87 767 95 17 47 78 19 89 29 65 762 49 528 7417 134 4 55 157 3848 39 99 26 27 49 37 854 669 776 9414 1335 39 249 38 34 4 77 486 1457 13 477 472 6 97 416 2543 327 774 848 59 5848 191 1877 2552 546 59 99 44 8 4135 9669 88 838 16 44 392 859 192 8534 36 988 59 947 36 3467 95 59 49 9 769 45 93 366 39 19 22 63 37 9 73 41 55 5752 5777 324 136 65 46 8 44 195 696 9 863 4 55 767 6572 538 58 72 111 9 37 41 1211 875 16 428 43 94 7779 2746 4639 392 656 453 48 82 216 136 8 839 8 767 53 23 39 633 828 991 1 9128 351 12 85 314 9 521 491 48 318 463 3 386 838 39 482 5 24 2825 465 79 295 57 86 7627 42 63 55 53 63 38 8 87 66 655 85 6 274 66 989 999 37 97 25 139 639 8289 235 45 353 97 26 89 699 378 76 92 16 5661 14 324 99 75 46 68 644 367 748 689 52 893 22 558 278 73 738 216 93 22 724 59 865 313 7824 8221 683 36 162 938 9 611 672 318 895 521 25 157 58 382 483 89 768 325 23 875 44 973 1 42 23 146 84 4 59 398 744 579 157 15 959 1 786 53 9619 2845 83 73 153 46 84 525 463 76 24 97 38 65 9 572 95 28 97 1 7523 787 57 714 9 36 9 7412 65 47 55 368 25 55 98 2847 66 65 916 468 19 947 1 47 53 718 36 74 44 79 53 37 381 48 54 85 55 99 86 3772 44 66 42 9935 26 73 6 91 64 988 64 7975 476 9714 59 418 7468 613 1998 15 57 13 429 945 3 18 9864 1986 39 944 25 755 834 2558 57 69 63 357 4491 1 97 771 12 9157 91 12 375 138 48 4235 3215 538 67 1845 66 52 48 28 9 77 11 3 684 69 75 588 967 9226 1564 793 556 9826 63 9772 687 1639 6553 9472 624 84 3782 236 15 66 64 83 76 75 32 2978 619 2145 432 51 74 86 69 458 45 324 539 331 4 38 73 35 33 43 458 416 26 13 79 32 671 73 515 21 12 882 589 936 947 34 9536 92 7134 65 381 28 94 17 6569 461 24 473 552 6 42 937 255 5337 463 68 916 64 376 86 91 377 389 662 9297 66 51 64 783 43 4 38 698 3 95 3789 43 2466 691 69 84 66 28 622 91 469 5 91 87 785 8489 59 339 55 45 29 86 16 1962 34 577 2466 58 59 31 367 22 36 29 83 217 68 268 841 24 787 852 6686 55 423 151 18 1446 2 9728 34 559 245 89 36 3 8892 1 364 662 54 214 181 876 343 43 755 8623 93 62 43 4636 16 662 115 463 781 779 15 377 848 326 254 5293 86 7 9 43 951 574 6827 495 796 925 13 912 883 137 55 47 52 517 762 221 51 46 94 618 85 6 612 8977 33 47 336 16 456 545 9316 468 581 964 35 16 78 58 39 825 595 355 615 96 749 85 44 88 87 1 921 98 72 824 93 41 99 789 8 4 27 389 775 1463 89 31 7 13 26 225 594 46 7 42 9 425 234 17 56 4451 967 58 64 622 99 36 7 7 28 59 44 31 72 61 22 288 84 34 99 74 9488 946 17 18 176 874 135 88 12 99 27 2266 18 3 243 577 21 94 612 92 78 972 91 18 48 874 87 646 31 1 22 974 483 428 1834 5 218 91 3426 33 6 9247 87 55 344 64 99 4 71 15 565 65 774 138 625 8685 234 44 22 1957 36 224 38 183 45 83 17 1484 48 182 56 32 76 587 17 77 83 3772 945 564 852 13 14 39 967 46 272 373 66 569 37 6662 43 53 65 7157 1882 569 618 21 279 25 61 111 855 46 138 18 76 926 89 5524 3347 55 91 56 2742 729 939 21 319 2332 25 13 4445 55 52 911
  144. 8 686 695 9 4 689 2 373 96 131 7 41 96 28 7328 8919 66 68 86 291 36 1 69 48 21 2 5 9 47 797 723 41 216 4 66 181 21 21 8 33 6 111 592 655 54 81 62 674 56 1 154 11 525 84 77 8 93 94 55 7 5 86 879 89 65 7 8855 15 46 5 64 25 729 772 38 78 3 1 1 31 1 75 49 86 8412 2 66 51 74 76 722 46 26 8592 9 2227 36 778 8 34 8635 76 87 8 91 837 3433 92 9 17 65 614 7 931 1 52 735 5 1 2 84 615 8 7675 6 9 58 3 51 12 32 6 8 78 55 1295 89 556 8 1 28 2 9 525 43 115 782 22 359 1 84 879 59 6796 87 44 23 36 3 2 282 21 3753 64 27 38 19 279 4487 264 8 367 329 67 517 25 65 94 44 147 772 354 773 15 883 4769 488 82 6 94 1562 79 1415 83 36 71 24 85 164 173 17 84 63 36 19 34 8 96 4 889 3851 963 91 14 297 3461 5 27 445 52 49 2 891 765 198 9972 9839 92 986 98 74 2 63 8 11 55 196 49 95 1 761 5741 296 68 166 3 9738 44 25 4642 198 6 16 834 3 5382 2549 15 41 42 28 5444 792 383 6762 16 882 2 54 59 5498 36 951 86 11 489 89 31 893 32 67 17 64 79 3 14 53 13 4991 6778 83 235 55 94 6 414 959 765 3 728 7 48 177 1273 556 9 4 623 5 93 11 8495 324 4 121 2 65 894 7831 6856 8921 183 894 67 56 647 797 1 41 3 344 9 85 56 1 571 157 3 4547 384 37 8 377 6 99 258 89 7485 362 9 9 49 52 688 8 51 779 315 8 775 8 51 2752 7 55 4 8 52 69 49 52 38 129 94 5 362 6 53 723 7 3 165 675 654 4688 8 4 872 73 79 6 967 257 3 32 92 6711 7 423 4 18 35 2 562 927 319 812 27 488 82 119 265 22 93 66 1 93 594 89 628 77 7185 9239 37 47 397 881 7 486 981 444 241 674 41 3575 9 237 2133 75 88 652 94 152 344 186 8 89 67 154 77 7 7 841 939 175 3 8 481 3 249 69 3253 48 17 47 169 1 27 15 4 5 28 67 6 1 7 34 686 52 46 4 572 122 97 972 77 411 2 6688 12 15 59 693 79 31 86 3915 67 96 674 229 52 794 4 9 65 986 34 43 58 677 493 76 215 8 35 51 59 24 66 9151 76 97 43 2698 26 49 6 1 69 838 46 5672 539 962 19 597 3585 8 8434 57 49 62 149 938 1 48 5555 3316 5 73 9 146 778 9175 74 74 77 376 1481 8 34 892 46 4369 35 71 872 192 63 6147 9188 245 41 1392 91 44 8 88 1 85 3 7 417 47 89 87 936 321 5818 511 636 8926 37 8851 815 71 9492 3632 64 191 4661 862 82 6 13 28 66 9 68 71 647 9139 922 235 8 7 21 559 86 181 37 6 6 9 4 2 47 41 482 128 4 17 48 9 372 61 721 74 78 5741 4613 854 736 91 5389 8983 8224 89 111 75 88 37 8942 251 84 274 22 2 28 4 744 7646 525 5 233 76 11 7 4 37 612 66 4459 33 2 25 966 8 9 24 88 4 11 3534 113 2272 714 13 9 86 79 93 88 674 4 12 865 294 5913 9 24 77 9 48 97 48 5751 6 921 1779 32 43 8 527 44 99 22 57 83 3 917 131 49 17 875 612 15 21 414 69 7935 3 9772 54 557 849 7 621 54 5848 6 349 281 22 793 653 438 343 93 59 92 35 4 46 4347 16 245 148 56 329 519 73 56 147 698 483 1435 57 2 44 13 196 978 4763 328 729 15 5 21 5 652 29 98 27 515 166 725 1 76 4 965 83 7 261 675 12 69 9 26 834 848 5817 986 27 128 3 64 3 61 8 265 297 268 14 16 436 25 17 94 41 1 15 4 65 257 29 56 63 597 3 9 36 185 368 6737 17 264 6 4 5 94 524 38 93 38 4 837 676 97 1 4844 557 31 38 42 14 86 6 2 18 11 66 14 2 61 65 78 3 98 7 48 3969 698 36 6 762 695 48 24 26 79 4 7343 99 3 835 27 93 9 541 1 5 18 992 31 1 116 44 912 18 3 7 81 662 718 3415 49 566 22 14 72 5 3899 94 1 97 488 28 7 23 6 7 26 523 129 289 7896 691 63 64 3383 36 169 45 777 1 318 94 2122 4 849 7 248 2 6 51 33 269 4469 28 716 692 1 97 6 658 68 713 153 75 715 79 219 37 99 6 7426 1336 585 71 76 248 87 6 791 76 15 82 59 66 459 73 995 7374 3 22 64 4681 228 439 73 8 8129 56 5 3884 84 64 343
  145. * + + * + + * + * + + * * + + + + * * * + * + + + * * + * + * * + + * * * + + * * * + + + + * * + * * + * * * + * * * * + * + * * * + * + + * * * * * + + * * + * + + + + * * * * + + * + + + + * * * * + + * + * + + + + * + + * + + * * + * * + + * + + * * + + * + * + * + + + * * * + + * * * + + + * * + + * + + * + * + * + * + + * * + * + + * * * + + + * * * * + + * * + + * + + + + + + * + * + + + + + * + * * * * * * + + * + * * + + * + * * + + * * + + + * + + + * * + + * * + * * + + * + + + * + + * * * + * + + + + * + + * * + * + * + * + + + * + + * + + + * * * + + * + * + + * + * + * + + + + + + * * + + * + * + + * + * + + * * + + + + * * + * + + * * + + + * + * + + * + + + * * * + + * + * + + + + * + * + + * * * + + * * + * * * * * * + + * * * + * + * * + * + + + * * + + * * + * * + * * * + * + * + * + * + + * * + * * * * * + * * + + + * * + + * + * + * * + * + + * + * * * * * * + + + * + * + * + + * * + + * + + * * * * + + * + + * + * + + * + + * + * * * * * + + * + + + * + * + + + + + * * * * + * + * * * + + * * * + * + * + + + + + * * + * * * + + * + * + + + + * + + + + + * + + + + * * * + * + + * + + + * * + * + + + + + + + * + * + * + + + + * * * * + * + + * + + * + * + + + * * + * * + * * * + + + * + * + + + * + * + * + * * * + * * + + * + + * * * + * * + + + * + + + + * + + * * + * * + + * * * * + * * + + * + * * + * + + * * * + * + + * * + + + + + * * + + + + + * * + + * + + * * * + + + * + + + + * * + * * + * * + * * * + * * * + + + + + * + * * + + * + * + * + + * + + + + + + + * * * + * * + * * * * + + * + * + * + * * + + * * * + + * * * * * * + * + + + + * + * * * * + + + * * * + * + + * * + * + + + * * * + + + + + + * + + * * * * + * * * * + * + * + * + * * * + + + + + * * * + + * * + + + * + * * * + * + * * + * * * + * + * + * + * * + + * + * + + * + + * * + * + * * * + * * * + + * + + + + * * + + * * * + * * + + * * + + * + * * + * + * + + * * * * * + + * * + + + + * * + * + + + + + * * + + + * * * + * * + * * * + + + + + + * + + * * + * + * * + + * * ";
  146. CALL loadInputPt1(@inp);
  147. SET @pt1 = result();
  148. CALL loadOperandsPt2(@inp);
  149. CALL loadNumbersPt2(@inp);
  150. SET @pt2 = result();
  151. SELECT @pt1, @pt2;