diff --git a/2024/day07_bridge_repair/Cargo.toml b/2024/day07_bridge_repair/Cargo.toml new file mode 100644 index 0000000..e5a586b --- /dev/null +++ b/2024/day07_bridge_repair/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "day07_bridge_repair" +version = "0.1.0" +edition = "2021" + +[dependencies] + +[dev-dependencies] +criterion = "0.5.1" + +[[bench]] +name = "test_benchmark" +harness = false diff --git a/2024/day07_bridge_repair/challenge.md b/2024/day07_bridge_repair/challenge.md new file mode 100644 index 0000000..430a648 --- /dev/null +++ b/2024/day07_bridge_repair/challenge.md @@ -0,0 +1,61 @@ +The Historians take you to a familiar [rope bridge](/2022/day/9) over a river in the middle of a jungle. The Chief isn't on this side of the bridge, though; maybe he's on the other side? + +When you go to cross the bridge, you notice a group of engineers trying to repair it. (Apparently, it breaks pretty frequently.) You won't be able to cross until it's fixed. + +You ask how long it'll take; the engineers tell you that it only needs final calibrations, but some young elephants were playing nearby and *stole all the operators* from their calibration equations! They could finish the calibrations if only someone could determine which test values could possibly be produced by placing any combination of operators into their calibration equations (your puzzle input). + +For example: + +``` +190: 10 19 +3267: 81 40 27 +83: 17 5 +156: 15 6 +7290: 6 8 6 15 +161011: 16 10 13 +192: 17 8 14 +21037: 9 7 18 13 +292: 11 6 16 20 + +``` + +Each line represents a single equation. The test value appears before the colon on each line; it is your job to determine whether the remaining numbers can be combined with operators to produce the test value. + +Operators are *always evaluated left-to-right*, *not* according to precedence rules. Furthermore, numbers in the equations cannot be rearranged. Glancing into the jungle, you can see elephants holding two different types of operators: *add* (`+`) and *multiply* (`*`). + +Only three of the above equations can be made true by inserting operators: + +* `190: 10 19` has only one position that accepts an operator: between `10` and `19`. Choosing `+` would give `29`, but choosing `*` would give the test value (`10 * 19 = 190`). +* `3267: 81 40 27` has two positions for operators. Of the four possible configurations of the operators, *two* cause the right side to match the test value: `81 + 40 * 27` and `81 * 40 + 27` both equal `3267` (when evaluated left-to-right)! +* `292: 11 6 16 20` can be solved in exactly one way: `11 + 6 * 16 + 20`. + +The engineers just need the *total calibration result*, which is the sum of the test values from just the equations that could possibly be true. In the above example, the sum of the test values for the three equations listed above is `*3749*`. + +Determine which equations could possibly be true. *What is their total calibration result?* + +Your puzzle answer was `1153997401072`. + +\--- Part Two --- +---------- + +The engineers seem concerned; the total calibration result you gave them is nowhere close to being within safety tolerances. Just then, you spot your mistake: some well-hidden elephants are holding a *third type of operator*. + +The [concatenation](https://en.wikipedia.org/wiki/Concatenation) operator (`||`) combines the digits from its left and right inputs into a single number. For example, `12 || 345` would become `12345`. All operators are still evaluated left-to-right. + +Now, apart from the three equations that could be made true using only addition and multiplication, the above example has three more equations that can be made true by inserting operators: + +* `156: 15 6` can be made true through a single concatenation: `15 || 6 = 156`. +* `7290: 6 8 6 15` can be made true using `6 * 8 || 6 * 15`. +* `192: 17 8 14` can be made true using `17 || 8 + 14`. + +Adding up all six test values (the three that could be made before using only `+` and `*` plus the new three that can now be made by also using `||`) produces the new *total calibration result* of `*11387*`. + +Using your new knowledge of elephant hiding spots, determine which equations could possibly be true. *What is their total calibration result?* + +Your puzzle answer was `97902809384118`. + +Both parts of this puzzle are complete! They provide two gold stars: \*\* + +At this point, you should [return to your Advent calendar](/2024) and try another puzzle. + +If you still want to see it, you can [get your puzzle input](7/input). \ No newline at end of file diff --git a/2024/day07_bridge_repair/src/lib.rs b/2024/day07_bridge_repair/src/lib.rs new file mode 100644 index 0000000..7b53503 --- /dev/null +++ b/2024/day07_bridge_repair/src/lib.rs @@ -0,0 +1,92 @@ +use core::fmt::Display; +use std::num::ParseIntError; + +#[derive(Debug, PartialEq, Eq)] +pub enum ParseError<'a> { + ParseIntError(std::num::ParseIntError), + LineMalformed(&'a str), +} + +impl From for ParseError<'_> { + fn from(value: ParseIntError) -> Self { + Self::ParseIntError(value) + } +} + +impl Display for ParseError<'_> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Self::LineMalformed(v) => write!(f, "Line is malformed: {v}\nShould be of format \"190: 10 19\""), + Self::ParseIntError(e) => write!(f, "Unable to parse into integer: {e}"), + } + } +} + +struct Calibration { + result: usize, + operands: Vec, +} + +impl<'a> TryFrom<&'a str> for Calibration { + type Error = ParseError<'a>; + + fn try_from(value: &'a str) -> Result { + if let Some((result, operands)) = value.split_once(": ") { + let result = result.parse::()?; + let operands: Vec<_> = operands.split_whitespace().map(|op| op.parse::()).collect::, _>>()?; + Ok(Self { result, operands, }) + } else { + Err(Self::Error::LineMalformed(value)) + } + } +} + +impl Calibration { + fn combine(so_far: usize, operands: &[usize], target: usize, with_concat: bool) -> bool { + if so_far > target { + false + } else if operands.is_empty() { + so_far == target + } else { + Self::combine(so_far + operands[0], &operands[1..], target, with_concat) || + Self::combine(so_far * operands[0], &operands[1..], target, with_concat) || + with_concat && Self::combine( + so_far * 10_usize.pow(operands[0].ilog10() + 1) + operands[0], + &operands[1..], + target, + with_concat) + } + } + fn can_evaluate(&self, with_concat: bool) -> bool { + Self::combine(self.operands[0], &self.operands[1..], self.result, with_concat) + } +} + +pub fn run(input: &str) -> Result<(usize, usize), ParseError> { + let calibrations: Vec<_> = input.lines().map(Calibration::try_from).collect::, _>>()?; + let first = calibrations.iter().filter(|c| c.can_evaluate(false)).map(|c| c.result).sum(); + let second = calibrations.iter().filter(|c| c.can_evaluate(true)).map(|c| c.result).sum(); + Ok((first, second)) +} + +#[cfg(test)] +mod tests { + use super::*; + use std::fs::read_to_string; + + fn read_file(name: &str) -> String { + read_to_string(name).expect(&format!("Unable to read file: {name}")[..]).trim().to_string() + } + + #[test] + fn test_sample() { + let sample_input = read_file("tests/sample_input"); + assert_eq!(run(&sample_input), Ok((3749, 11387))); + } + + #[test] + fn test_challenge() { + let challenge_input = read_file("tests/challenge_input"); + assert_eq!(run(&challenge_input), Ok((1153997401072, 97902809384118))); + } +} diff --git a/2024/day07_bridge_repair/tests/challenge_input b/2024/day07_bridge_repair/tests/challenge_input new file mode 100644 index 0000000..4382af2 --- /dev/null +++ b/2024/day07_bridge_repair/tests/challenge_input @@ -0,0 +1,850 @@ +9234: 8 10 8 1 63 99 +5962122: 71 9 516 171 1 339 69 +7861101: 1 212 309 7 3 4 10 50 +4185056939: 4 18 189 4 312 6 94 1 +25380: 5 27 2 91 748 62 +520509600: 9 670 4 130 2 83 +434727621: 492 888 9 98 405 +553270827383: 9 682 588 53 8 2 9 4 8 5 +2868250: 4 33 71 306 418 +52182: 77 676 62 67 1 +14061: 57 161 9 7 327 +113170: 81 18 92 5 3 9 63 1 336 +172838: 2 766 56 175 25 4 6 +2381763: 809 5 36 6 1 7 5 6 4 8 +1540748: 7 5 9 361 97 +32584018: 19 27 548 60 7 +392433: 26 5 8 3 35 +724768: 139 65 1 19 1 80 1 367 +5234568825: 872 424 4 137 6 +472219362: 6 97 3 764 9 6 59 +107230700: 18 36 5 9 6 8 3 9 65 8 5 5 +1892756526: 44 212 5 507 60 3 4 6 +70680: 3 21 1 6 81 97 6 11 7 96 +2492896: 332 21 6 868 8 +125418629: 4 8 243 3 7 6 2 55 16 8 5 +42102868500: 64 5 2 6 5 587 35 9 55 +511987: 8 7 9 7 987 +14697: 2 81 27 3 2 77 1 3 6 3 9 +83032: 307 45 4 6 87 31 +4536: 7 52 7 96 83 2 6 4 5 8 +54226011870: 2 2 3 2 1 91 231 8 4 90 +19887708065: 37 3 2 2 4 8 3 2 739 4 89 +2061527103: 4 726 706 5 8 58 26 4 8 +279272460: 505 204 1 4 9 8 7 78 8 4 +175744: 4 8 2 4 3 5 749 27 +131431: 84 46 66 76 8 +13312899577: 832 8 44 9 787 2 +103783226: 474 217 2 923 226 +30216973: 54 5 512 8 946 24 +8907600392: 90 34 3 1 539 6 7 9 92 +512: 1 32 5 5 52 2 1 8 4 51 4 2 +32730572: 6 9 788 469 +2373: 9 138 315 72 744 +1386384: 250 2 1 65 9 4 6 8 7 9 34 +785: 11 1 2 7 1 +54833058: 53 7 3 63 782 +1344765125: 9 6 2 1 7 650 3 1 4 3 36 3 +2138105646: 29 3 4 8 920 3 6 6 7 7 8 8 +4703307900: 3 9 382 39 436 789 4 +14391: 86 26 641 1 5 6 +3069529: 9 45 96 3 5 62 22 1 529 +813890: 21 1 34 964 93 +127524630: 49 53 438 47 894 +22306382: 9 33 16 476 3 51 380 2 +3554746: 695 5 19 8 7 592 4 6 +96698: 14 69 98 +67069: 5 21 637 131 53 +308544: 80 8 680 2 7 64 4 6 2 4 +3114506521: 956 47 86 806 9 +137885258: 7 2 1 3 9 1 4 171 2 59 2 +19766577290: 3 352 95 3 9 6 26 7 842 +2340433: 638 611 6 4 783 5 733 +745412: 36 242 5 462 413 +416166: 74 6 18 33 8 9 +19183500: 6 14 5 87 525 +655136168: 311 9 69 3 1 1 3 21 8 +15130: 2 7 8 1 7 +9088: 2 969 9 288 61 +2328250603: 7 2 7 596 568 6 2 6 8 5 7 +141445: 2 8 5 629 818 +3456860904: 7 249 7 5 5 7 2 66 6 564 +560591: 8 39 684 5 14 618 4 79 +9515800: 2 147 822 196 50 1 +1825104217: 8 362 1 9 3 6 7 9 51 466 +54162: 80 15 1 3 8 3 4 4 7 8 3 6 +128286780098: 549 38 3 83 84 6 1 49 1 +6808: 7 98 2 86 23 +2972984: 9 118 8 703 17 82 3 5 +13011210: 8 3 417 7 5 1 5 55 9 20 9 +1223: 70 360 786 5 2 +18537526: 95 98 25 91 706 77 7 +42510: 7 6 512 1 +150566660: 40 4 945 5 2 6 5 724 +11601102: 371 71 55 677 706 8 +159468: 761 3 23 23 3 357 +1145405553821: 343 1 390 6 856 2 20 +36711861: 5 8 11 5 7 4 7 8 7 9 971 5 +205304: 57 6 6 96 7 +531527: 97 684 83 2 2 2 79 +812674587: 81 26 7 45 90 +6054: 405 199 6 6 +16768009: 8 6 3 67 4 881 4 39 817 +1319: 5 2 29 366 2 7 +1105380: 62 7 9 20 89 +7764076834: 1 7 2 39 1 4 68 6 9 3 2 37 +1666756: 9 1 335 565 661 3 4 91 +4696656: 497 1 3 5 90 7 6 +103669997: 72 488 8 5 143 +2023562: 9 1 458 301 1 4 73 9 2 +3668288405: 77 6 794 840 7 +42152655: 132 8 66 657 504 46 +2455628: 3 5 35 8 3 2 4 7 73 1 564 +3866: 88 3 5 4 2 26 4 8 4 3 3 14 +297336461: 2 8 6 8 6 1 856 31 1 7 83 +6795684: 716 1 5 4 70 462 27 +14222070: 93 67 4 5 4 9 1 9 570 +89645290: 9 2 8 3 7 3 5 5 7 899 18 6 +115943343: 414 16 6 5 6 5 86 7 5 31 +7895282766: 8 32 2 747 528 2 7 6 9 1 +3228145: 52 1 2 2 617 +572391: 562 33 37 26 +27476: 34 7 36 1 76 +5215472: 30 900 701 4 8 +94551101: 6 7 469 4 5 6 7 8 2 2 55 9 +301888: 9 92 90 339 5 32 +850824: 50 4 8 1 16 73 4 2 39 6 6 +457165912: 2 4 3 1 4 792 4 55 721 8 +19518: 432 9 5 69 9 +2373165: 4 5 602 438 66 2 1 4 2 7 +303266506: 3 684 88 823 881 +770269794: 241 84 3 9 22 95 7 42 +155670: 802 32 895 7 9 +1943: 2 1 600 621 720 +2670444288: 8 61 542 82 384 +825943: 20 6 485 1 4 +11594: 490 22 4 585 225 +3594192000: 55 5 2 5 8 8 475 4 2 6 35 +86530589748: 865 305 888 9 48 +1027010: 19 7 1 9 767 +23709635331: 6 600 78 76 43 56 33 2 +360238915070: 6 3 133 348 2 4 7 3 951 +24161: 231 4 26 62 75 +582494725: 38 7 6 6 2 7 67 3 78 4 4 2 +29321919: 44 5 76 10 7 41 33 99 +5786032: 4 91 993 58 8 3 98 8 4 4 +65370259: 705 18 927 66 6 +3589: 11 94 3 3 1 +382457046: 4 454 5 2 21 6 44 48 +242926082: 48 7 5 660 70 5 2 8 4 83 +11376: 2 6 941 76 8 +1514053781661: 4 4 525 19 31 5 1 665 4 +2162: 6 174 2 5 34 9 1 5 6 9 5 +184879156: 9 571 878 260 22 +1978394: 4 286 986 6 7 5 921 86 +14802077: 981 5 1 7 15 77 +8136059939: 9 864 7 3 8 6 173 2 3 35 +1140467328: 442 6 598 473 9 +19878846: 6 6 3 8 2 6 9 842 4 8 9 70 +9579: 19 269 909 8 3 +19184: 8 77 3 218 +51029952: 88 5 3 8 8 75 543 8 8 +264026: 9 9 2 1 3 7 740 1 220 6 4 +4099862539: 6 44 801 948 625 38 +33388725: 948 3 47 747 66 +4158722: 1 2 380 76 48 +62963517790: 787 21 3 86 73 600 93 +577714802: 920 6 257 14 802 +48437424494: 5 96 2 5 27 2 406 4 3 6 5 +514212: 1 628 943 2 10 +17878: 60 558 9 2 3 4 343 8 6 1 +1041: 2 20 3 2 801 +3513: 281 889 3 +6308671578: 58 658 7 7 8 976 3 9 75 +188897280: 78 574 63 96 32 86 +34716465920: 6 559 9 6 599 472 8 8 5 +267114: 6 4 1 1 3 59 60 7 2 5 48 5 +4955160: 9 73 41 6 85 17 28 51 +14597226: 40 58 5 86 8 4 73 +52411392012: 661 76 1 80 165 6 1 3 +1843666: 39 8 5 3 3 73 153 775 6 +7481527875: 76 6 1 1 1 2 8 9 7 865 3 7 +68947200: 79 2 2 456 945 +1899: 3 3 841 995 57 +110187009: 206 2 92 57 51 83 +13293652678: 303 656 138 18 2 7 55 +1164: 34 69 5 10 84 +9701021: 6 755 25 773 7 70 1 +15989401530319: 7 54 705 6 15 30 319 +186741600: 17 995 80 69 2 +1145016: 37 1 54 93 6 +8747: 86 452 5 429 9 +2998937: 7 27 441 67 2 +143567363: 498 64 406 75 629 +44644315968: 16 678 5 9 3 3 9 4 8 529 +62840152050696: 87 27 798 89 593 12 6 +77: 5 61 8 +21906612448: 2 130 7 8 5 7 1 84 446 +29481: 441 4 74 6 567 8 33 +24514266: 11 6 5 3 6 1 7 86 6 7 16 1 +129758045: 32 487 2 64 837 8 265 +24739292162: 7 4 467 68 8 4 58 99 4 2 +38037: 4 95 31 8 +16325: 3 427 948 49 7 7 330 +49721890288940: 974 9 3 9 51 3 9 8 8 9 38 +14870894: 70 751 96 444 5 7 8 94 +28619136: 9 7 581 75 4 6 8 7 2 9 7 +74405648: 9 353 22 4 161 8 58 +13448411: 3 3 28 43 1 910 8 411 +1898642616: 1 338 7 1 3 4 4 488 35 5 +9649234: 206 9 88 6 85 1 1 33 +2313: 9 4 413 5 6 62 +14808455880: 2 8 5 9 554 9 3 49 9 6 1 8 +33500: 7 7 4 5 225 7 8 72 316 +18576: 402 84 288 4 6 +15453267748: 154 530 4 22 77 4 5 +27195129: 27 929 97 4 5 9 9 1 3 9 3 +55896: 685 80 17 190 889 +1806606915: 349 2 35 290 30 3 5 51 +101440976982: 25 10 78 52 518 980 +4620: 2 8 6 6 9 7 6 59 27 8 4 6 +696867: 72 5 6 56 34 +5460: 8 1 4 7 13 5 +16488459502: 661 30 398 271 88 +85: 6 53 25 +207367212: 5 9 1 8 96 1 5 5 9 8 34 9 +183617280: 17 79 96 69 231 60 +2686: 9 5 4 2 7 1 4 9 5 6 2 264 +140678730018: 272 862 5 50 6 20 1 +94771990: 7 6 8 5 5 6 46 89 1 6 8 7 +520982280: 39 57 3 930 84 +80097: 9 7 43 5 1 5 964 7 9 402 +72316180: 3 61 580 90 2 +2012224448: 22 7 73 343 783 5 950 +1295932086: 3 2 2 3 3 6 623 86 4 5 85 +974381887500: 3 2 479 6 2 37 750 1 5 3 +751850508: 4 59 2 39 270 28 30 5 3 +74437: 2 6 3 1 52 77 6 1 8 9 4 3 +8977665: 12 7 4 874 76 5 3 11 +771056573782: 91 12 3 6 50 939 7 779 +308082: 7 3 929 1 4 95 8 3 +1486: 9 358 4 5 12 1 +21953: 66 306 19 3 690 60 +5484: 530 77 3 7 3 +4121388: 8 4 152 60 837 +501081186: 5 650 174 843 5 6 717 +73645: 3 2 66 11 128 7 7 125 +50641: 454 1 5 4 1 1 3 5 8 9 817 +1384064: 25 971 57 8 1 381 +45551: 407 497 7 5 1 +6382919: 1 3 90 994 13 +575568: 9 44 768 701 47 +20914648: 6 749 5 46 25 143 922 +29008880: 4 6 2 3 4 4 56 881 +428182614: 9 355 6 6 135 989 1 9 +902285: 2 7 7 6 524 286 +332: 4 266 59 +69336: 8 9 9 5 215 939 54 +86949386084: 11 299 53 4 7 9 860 84 +1088: 9 23 86 73 80 1 4 +1810399: 3 5 587 8 1 3 11 8 9 3 4 +988540: 35 232 715 6 540 +188160: 9 7 56 27 3 5 19 8 6 4 4 4 +538634472750: 55 96 73 8 10 3 425 +38238799250: 1 686 26 15 8 34 872 1 +14904258: 88 4 9 18 256 +1427846: 1 2 62 1 3 4 24 55 1 6 7 2 +1175044: 2 92 4 2 68 23 23 +793261: 63 5 4 12 1 27 3 34 7 +4538016: 3 569 83 53 78 1 32 +105: 2 50 7 +66181: 233 4 28 772 57 +105082930849: 42 5 165 86 5 783 66 +289708029: 8 9 6 9 4 6 851 1 8 732 2 +73895406: 68 8 81 559 26 3 +1634: 62 4 96 9 8 +33124371: 69 981 29 21 489 +865972536: 809 320 535 2 139 +180175968784: 310 868 837 98 8 +7213185607233: 40 6 43 952 5 6 7 231 +394841946: 740 5 2 8 91 8 364 954 +18099321465: 4 451 90 503 21 457 6 +45895209132: 558 2 4 4 9 2 4 9 514 7 2 +139126: 9 235 570 45 +285741: 1 214 66 5 741 +95105: 484 6 655 83 64 6 +1993199: 383 6 78 3 69 36 3 5 7 +375892: 8 509 4 5 131 11 +942081843: 84 721 162 8 903 +17648588634: 8 404 7 15 3 6 4 2 634 +35928751: 75 11 67 13 50 +317750404232: 170 88 36 590 4 232 +2688453602: 6 4 7 8 2 452 5 2 8 9 5 6 +22886: 735 3 31 8 +1371084: 702 90 7 22 78 +3725748814: 5 9 13 263 618 6 63 3 +5014: 9 4 67 5 59 +8949756887: 9 749 45 236 92 1 78 5 +12735404423: 651 9 804 1 4 3 2 8 3 2 3 +646670: 8 9 94 2 922 548 198 5 +16351812864: 34 9 4 4 87 508 3 656 +5157193: 967 16 86 6 61 9 +273619631878: 81 1 30 74 49 917 6 60 +176106761: 43 4 9 456 1 913 16 1 1 +205031736: 75 1 6 707 2 9 84 117 2 +1377145288: 5 5 6 2 2 393 3 63 +2281138: 6 6 862 68 68 4 6 10 4 +124998056: 1 6 53 830 29 2 +1455104: 755 7 859 1 1 2 4 2 2 8 7 +72505080501: 5 6 13 6 8 7 9 36 30 504 +29662: 12 4 6 2 1 4 8 31 4 6 2 61 +795931207120: 4 20 235 992 71 19 +14142288157: 683 2 23 53 5 9 7 +11991850492951: 9 8 122 9 214 98 99 3 7 +247517: 9 7 5 2 3 70 1 4 3 715 56 +1566540: 4 9 7 2 5 60 707 2 5 9 6 3 +116894339160: 682 775 1 388 1 1 570 +3149034: 3 798 829 494 +6943257: 9 685 25 7 5 6 +516566: 34 633 24 9 29 +8882737463: 3 36 3 137 3 8 839 873 +35346153: 6 949 30 37 5 1 +45451: 156 291 55 +20411: 141 120 76 2 69 499 5 +211: 52 4 3 +318318: 74 2 429 +9521: 3 3 101 655 6 85 52 +478814: 471 16 764 1 2 8 2 +20831200: 6 9 3 341 1 7 586 5 26 8 +8421671423: 73 6 628 32 7 33 2 6 16 +3059: 7 174 27 97 5 3 1 +7618647: 8 2 3 74 10 4 6 343 617 +98022: 2 3 6 61 680 206 136 +506594: 4 9 5 8 9 4 19 4 1 3 32 2 +1335931: 26 48 214 5 571 +213: 6 5 10 6 +1587558: 6 5 332 417 6 9 5 13 63 +168116776: 3 4 3 9 9 1 2 3 353 2 5 3 +1115: 191 87 4 +18264: 5 779 5 9 5 5 76 468 7 4 +11371351224: 16 6 92 6 9 1 3 507 5 2 4 +741: 3 7 8 37 2 507 +3394050904: 84 834 8 8 5 6 364 904 +16269255: 7 1 9 8 8 249 4 71 7 3 3 5 +85050: 920 3 626 16 25 +1063: 102 6 955 +194477: 3 8 7 5 7 2 340 443 +579954: 85 6 70 7 988 +34284: 3 3 14 408 12 +1989: 15 92 3 18 9 +264880107: 6 766 1 860 67 9 958 +21502273: 1 1 3 2 42 35 1 702 5 3 +107653945983: 548 673 2 973 30 +8249314828: 30 42 54 9 6 31 955 +21520607688: 2 6 1 4 108 2 86 615 6 3 +11718394: 7 3 3 336 8 9 4 5 12 914 +2597376: 1 9 4 58 4 64 +2558404: 78 410 8 3 1 +97: 49 1 44 6 1 +107846719: 99 5 1 4 3 81 6 1 72 2 4 +1629768120: 9 9 287 20 534 8 3 8 5 +587237: 1 49 8 7 2 39 +27365665: 89 101 3 8 4 6 1 1 32 65 +125681360: 359 227 2 67 4 8 2 8 +82631988: 5 5 48 73 17 931 12 +439374: 84 2 431 1 763 57 6 +9274205506: 62 5 6 807 74 9 5 2 57 +306747: 4 650 411 9 8 759 81 +20350: 6 648 98 2 3 7 1 61 2 8 5 +744941241: 88 328 1 95 258 236 1 +27706: 722 2 6 66 8 3 6 257 17 +8515458: 88 40 37 57 21 2 +7986: 32 5 1 22 9 660 +1805833503: 5 52 60 55 9 8 25 30 46 +1991: 7 14 2 29 1 9 2 2 6 311 +486189920: 88 92 7 6 99 20 +91567498678: 1 938 4 5 22 328 30 36 +49620619: 57 10 869 2 719 +5812470: 15 533 727 47 58 +48290: 50 828 55 +19786909: 1 97 861 8 10 +9152552: 7 1 3 6 79 2 7 876 928 2 +535908897: 391 18 29 29 48 3 939 +13409760188: 14 50 85 156 56 1 91 +105111783: 4 27 25 4 7 56 8 3 8 9 9 7 +1662765: 831 2 765 +315710: 8 5 368 96 5 655 +5778: 4 3 28 818 5 8 +17971490583: 16 1 806 9 72 96 86 3 2 +4950652499: 11 621 250 426 +31825440: 982 3 8 40 27 +56049900: 493 7 3 8 656 6 3 8 99 +2457816522: 45 27 7 683 85 2 1 42 +5707603971: 78 69 15 4 16 96 8 86 3 +703209: 97 4 64 3 25 93 8 74 39 +47946200: 1 4 317 92 7 7 6 36 680 +15605270: 6 9 605 265 5 +85754: 7 4 5 11 17 9 7 4 7 7 6 96 +119732: 4 1 7 97 32 +615616571: 7 8 9 8 29 6 2 3 1 656 9 +326317567680: 568 493 83 4 78 45 +39648326: 29 91 13 765 328 +1640237818: 5 586 59 98 6 5 1 8 18 +146553577: 3 44 5 71 7 93 4 4 1 3 3 +21248503: 5 8 2 6 6 9 127 338 133 +4738: 486 63 8 39 307 +691995: 6 30 4 7 17 95 +133789: 51 8 52 9 4 63 8 36 769 +6845: 694 38 5 8 2 4 885 +37631775540: 50 889 3 96 47 590 6 +2955: 1 5 54 5 6 +98084070: 49 7 84 33 9 448 70 9 +744936: 73 91 1 5 53 34 +22515025: 2 9 6 1 36 6 43 65 5 73 +172299123: 20 9 444 8 65 9 2 490 1 +277267: 6 592 8 42 68 +2863714098954: 710 75 87 827 4 13 8 7 +399404712: 8 2 87 8 59 6 2 6 991 +591672859: 5 2 493 6 2 1 6 7 9 5 67 +33096742: 547 8 7 6 23 2 6 730 5 7 +235942116545: 7 3 4 8 907 515 827 2 4 +45973: 922 469 30 52 9 1 31 +111816391470: 278 94 3 9 74 7 73 930 +3412320: 324 3 108 225 4 96 +771436: 30 6 21 204 316 +62039705: 802 442 5 104 9 30 35 +583912: 3 4 8 8 9 279 1 29 75 56 +2607477: 76 48 5 41 493 +8079064: 990 5 4 7 811 677 4 8 5 +158034274857: 67 63 96 39 2 96 52 56 +4719928: 3 87 1 12 198 87 4 +29017701: 3 105 4 92 6 1 1 60 41 +139984: 7 5 66 2 397 8 4 674 6 +16583: 5 724 305 4 883 +145042338: 9 7 274 2 9 89 42 +26187955869502: 9 9 5 672 2 675 9 7 433 +5550150: 5 25 6 56 9 3 7 67 13 57 +9403846: 281 87 9 5 63 5 9 57 94 +3108: 416 5 650 22 446 15 2 +2547024489: 5 1 713 5 4 92 6 99 9 +67972: 74 1 1 86 347 2 +1522724: 956 6 657 5 17 1 14 +87141811: 27 8 9 6 931 8 2 6 199 +65068: 64 279 766 11 13 +2497572: 202 7 3 77 153 +500957902: 3 918 476 504 382 46 +334396832: 9 168 2 986 32 2 5 7 32 +49290072: 96 647 1 1 51 +1057074: 96 9 70 1 6 4 +989310: 7 7 6 9 9 116 3 9 519 5 1 +32701212: 890 5 6 4 8 9 8 75 9 9 9 +9067500: 7 5 2 3 561 5 5 7 930 5 3 +7713: 7 2 4 81 24 716 9 +283657050705: 573 33 1 47 50 3 1 705 +77240769: 8 40 82 370 399 8 61 9 +103576: 77 12 3 6 9 5 28 6 3 6 4 4 +36385440: 5 1 5 15 595 6 4 7 7 2 +3479731616: 7 486 25 1 403 947 43 +3283192941: 39 941 5 2 822 +2940624245885: 7 1 6 365 5 303 6 2 76 4 +88388: 1 7 9 330 9 5 56 1 24 92 +79403731845: 79 403 7 3 1 835 1 8 2 +95410: 84 7 37 390 94 +112523176: 4 90 2 183 2 2 3 8 2 5 6 +10443048: 638 4 31 2 132 +4743516240: 700 60 8 78 65 78 8 42 +2203: 25 7 6 11 578 564 +549615749: 701 20 76 5 392 +5499205: 91 58 14 720 6 +1344562: 2 23 3 48 5 64 +526: 28 6 3 19 3 +673596019: 26 44 486 1 825 8 6 3 1 +4128408668161: 1 455 9 643 5 2 4 35 9 8 +5518584808: 24 3 6 27 3 4 32 87 808 +5491: 6 94 8 7 556 4 4 7 14 2 +1746406: 8 3 3 487 7 +183348: 51 896 48 93 4 +35184829647: 7 8 5 4 9 3 1 22 9 639 1 6 +9532621: 95 8 597 3 630 2 2 7 63 +959766528: 4 3 752 256 6 49 +500897915: 2 6 58 5 346 1 6 4 26 2 9 +595747: 851 7 46 +4638631536: 2 75 8 66 1 82 903 594 +953226572: 7 945 4 8 5 3 6 44 4 8 8 5 +26509049: 3 16 3 34 3 6 47 982 69 +1539: 29 56 6 3 9 +647214: 186 8 117 9 401 +1688: 7 31 61 8 688 +2707936: 4 879 8 77 1 +788513522: 5 4 1 8 50 1 6 2 838 10 4 +4895442: 15 29 7 41 64 7 80 3 42 +1144290442: 538 3 66 210 442 +15416038512: 338 4 79 644 886 +204227252776: 463 84 8 422 2 5 1 525 +617155553: 3 748 7 12 821 +859453388: 859 45 288 4 505 +11532892791: 8 6 9 506 9 5 3 9 2 2 79 2 +10966593: 6 4 2 4 47 3 1 1 5 405 3 +6966237: 2 9 8 98 233 +1286344759384: 143 424 4 4 202 6 111 +417879: 1 8 239 3 40 533 4 3 +21969395730: 119 191 6 4 512 9 10 8 +13374: 83 2 75 844 80 +17771215: 98 1 5 96 69 55 373 3 +59776794: 1 9 9 5 73 122 9 48 561 +986: 4 85 2 3 892 +330101: 37 2 92 92 5 +2400: 5 1 4 96 20 +187913: 7 2 2 78 98 1 13 +1135439: 760 166 9 +145866: 8 2 90 477 2 3 9 2 3 9 7 +7018: 25 6 3 559 9 216 1 933 +3679: 9 33 3 703 3 +2630067: 5 7 61 95 8 4 4 826 2 81 +17930290226: 862 963 9 24 2 24 +730334815: 53 8 5 3 251 4 53 7 3 2 5 +611608800: 1 7 2 5 910 4 1 36 8 5 60 +57452: 919 30 6 3 8 29 649 9 5 +360872: 4 4 3 89 64 4 41 7 65 +10651478278: 8 3 587 86 4 6 722 +49984704: 22 966 42 8 7 +60587528825: 5 6 8 98 644 2 4 2 828 +568618: 631 7 81 11 160 +56112: 199 4 534 265 56 +25255782: 89 5 7 9 8 7 7 7 14 7 4 7 +1750149: 940 7 88 4 7 3 6 3 +35795958912: 57 439 27 2 236 7 809 +7821604466: 682 235 7 80 8 2 1 61 4 +5828542: 673 21 546 397 981 +4213782: 7 3 55 64 6 57 +2264455: 1 7 86 7 1 744 326 61 +1071689050: 7 6 315 729 81 +103517144: 42 90 3 74 748 8 268 +8072414: 32 55 248 9 5 +12675301254: 2 530 5 5 301 2 37 8 9 +32298561: 9 72 851 39 7 3 5 61 +1126392: 3 5 6 441 311 2 8 3 73 5 +95023: 48 54 5 888 7 +2091096945: 968 40 4 54 5 4 46 +1377661: 35 7 41 8 59 +593340: 15 1 86 5 950 46 1 9 +35610840: 5 6 745 758 4 +69427376: 4 7 57 107 60 887 72 +6235883144: 6 23 588 29 2 45 +1087682: 3 68 718 8 8 83 +47541787942: 499 237 402 2 59 942 +956726: 8 2 1 85 21 726 +576: 8 8 9 +8291426: 18 7 94 66 7 165 1 +554761266: 2 9 4 2 59 29 943 46 8 3 +86365743701: 862 2 3 3 9 76 7 4 3 70 1 +349933390: 7 8 2 2 9 91 17 216 93 +2318016: 5 197 98 54 24 +175371: 889 1 197 37 4 +8761554250: 2 51 4 24 8 89 205 8 +265739: 816 65 99 9 5 +569: 3 6 2 6 461 +1643: 1 1 183 6 4 842 32 5 +1024538: 5 191 3 6 3 91 7 6 7 6 9 2 +186481680: 339 4 9 946 1 8 3 70 8 +548586360: 49 5 2 9 13 3 1 8 2 2 63 2 +846605763540: 639 430 2 670 662 +339885: 561 122 5 59 455 +5095209: 4 950 144 924 222 62 +56451092: 11 47 38 995 6 97 +393: 53 5 90 1 38 +10835661: 5 1 5 46 7 5 9 372 5 661 +41637: 8 52 3 3 2 +201225: 2 285 31 15 7 +14545563101: 647 61 91 405 20 5 1 +27035281: 2 70 132 220 81 +20700: 4 6 4 477 4 3 9 13 3 2 4 +115266376870: 43 9 79 5 255 66 5 89 +24568472: 103 9 9 2 3 8 86 1 1 4 3 1 +18867: 5 5 319 547 99 58 6 3 3 +92673769816: 3 253 4 9 6 353 74 7 8 +5492716: 1 8 339 9 9 16 +363504324240: 3 2 11 9 6 55 7 8 135 8 +3704: 47 878 1 1 4 +111616092075: 7 4 53 61 548 6 15 3 5 5 +14146396320: 9 164 7 68 280 3 167 +6928: 34 5 52 4 74 41 +137814069685: 85 2 14 45 2 4 70 4 9 82 +180707551: 606 2 864 8 43 3 220 +2671200: 8 2 8 65 386 8 2 1 53 3 3 +761348: 9 7 9 30 424 5 6 8 529 4 +33525: 7 419 64 4 724 9 +37238: 6 9 76 9 301 1 +1101609706: 36 4 765 970 6 +1848: 867 1 981 +28603: 5 115 4 20 57 32 71 +201546: 3 343 74 479 1 362 +131636: 20 23 8 27 527 8 +457: 66 384 7 +4176: 32 3 5 214 6 3 9 +1620: 2 42 5 41 18 +1142067: 978 920 90 454 6 +1484955485: 6 32 3 67 3 8 4 8 584 +1944435: 6 6 1 6 233 976 9 435 3 +339774: 11 2 29 1 43 7 492 99 6 +550970347203: 9 8 38 75 7 4 34 80 1 +197202468: 259 170 2 1 42 5 459 +4380: 4 62 844 3 4 +12457334: 4 77 54 1 3 344 62 +124261707: 4 1 2 84 5 3 7 7 2 99 9 1 +34129: 85 229 2 108 1 +71064586565: 960 701 2 2 66 8 3 1 +56866078: 75 12 757 23 8 +296959: 9 81 7 403 3 99 249 +4367458314: 2 1 205 787 55 2 3 1 2 9 +5681955: 2 42 7 3 3 1 2 692 9 54 7 +378830130: 61 12 745 517 963 +8620430400: 4 62 3 123 2 50 3 314 +5671366: 3 26 8 27 811 7 5 37 1 +2844197736: 567 5 9 18 1 1 7 7 19 9 7 +909248226: 9 7 36 4 49 2 628 3 2 7 4 +224123896: 5 6 4 1 23 88 8 3 4 +16192758: 763 856 19 8 61 +2292620: 7 4 85 3 5 598 8 3 9 366 +1970842: 984 682 737 2 4 +6826814: 93 518 73 +10732: 8 2 5 710 9 73 +19150: 63 1 295 262 8 +8092: 2 3 29 7 4 999 2 6 1 2 6 2 +8436295: 843 10 43 4 4 949 +2490387327: 8 3 6 5 387 325 +3473196: 4 4 5 7 4 282 1 8 1 8 172 +3826105498: 683 233 8 7 2 1 677 +15155120: 7 5 721 5 8 2 8 6 1 4 17 +75821020: 74 3 90 198 91 +117344: 69 17 28 4 12 +2003100: 63 1 97 4 275 +16745: 3 9 4 9 6 2 4 +195392: 7 1 413 463 9 54 7 399 +9727471759: 97 270 3 70 94 7 756 +2848: 22 3 6 6 9 117 5 3 7 2 8 +12780: 930 471 4 725 2 3 +98333054: 658 42 593 683 6 68 +1397975040: 39 749 80 66 336 +2299346: 63 2 8 817 3 36 8 7 +786824: 798 5 2 61 8 59 +588352: 3 61 852 642 280 +2550896: 5 3 9 63 6 1 6 6 11 4 2 7 +5430: 445 65 394 1 6 +3060066755: 8 5 5 7 3 9 7 940 7 3 65 5 +299177: 7 6 1 6 5 1 6 7 6 5 2 41 +5009152: 4 93 2 68 99 16 16 +13598585400: 7 97 9 205 80 7 7 5 5 8 +3809009952782: 2 719 400 3 4 6 88 78 3 +33961192: 6 1 8 7 343 321 8 900 2 +338473: 7 354 62 8 73 +1019050: 2 9 5 613 54 1 6 6 5 9 1 1 +670144048: 5 66 28 5 88 6 752 61 7 +29872128: 3 1 4 143 384 68 +73794820: 1 8 8 371 132 6 2 5 4 7 8 +6682761: 1 15 70 690 4 +2360442: 4 983 6 5 4 5 44 9 5 4 1 1 +39392630673: 123 602 2 7 6 76 66 7 2 +664723036: 93 953 75 55 3 4 +121400042: 596 797 80 871 65 +776185490: 9 5 2 3 2 7 6 4 4 637 2 4 +6025840: 229 92 452 7 28 35 9 +37670787: 381 7 60 46 2 3 1 7 3 2 +1173455656852: 75 3 2 30 377 5 61 8 3 +95788: 77 9 37 834 90 +721279: 3 1 15 7 32 7 2 +233940483: 8 3 60 8 9 4 5 25 8 83 48 +100452: 67 28 5 452 3 +76453435: 304 101 498 6 89 5 +6214: 7 54 1 36 77 +366466464303: 56 88 26 7 354 295 8 +201167: 5 992 69 2 4 +3713603: 37 9 42 80 3 +3078: 7 8 40 7 832 2 1 6 2 6 46 +1171437344267: 1 99 5 59 262 2 56 26 5 +54056393: 2 6 154 3 52 1 1 2 4 9 93 +17318328: 11 997 81 820 6 35 48 +1434477681: 1 284 150 1 477 679 +7386168: 642 635 964 6 1 +26731245: 343 2 698 4 8 111 2 1 +27912: 29 40 58 650 6 +777796: 184 66 8 64 68 +11763586: 29 64 24 635 86 +8270026: 9 1 80 9 80 25 +227008925: 871 5 6 52 9 7 8 143 +33991: 39 867 83 86 9 +285: 25 1 56 3 1 4 26 8 +28574927459: 7 831 437 835 6 +7719198: 3 7 49 1 2 209 567 7 3 6 +226997: 5 45 1 990 6 +733937: 483 20 125 75 62 +8096958720855: 238 84 49 9 6 45 854 +1606970304546: 60 8 6 1 4 22 76 8 1 8 3 7 +522786: 424 87 23 979 +1402239: 254 8 690 3 81 68 10 +308651805: 16 83 4 4 1 7 281 99 +45553288: 4 28 4 80 33 13 3 +74013154: 57 6 9 160 939 2 2 75 4 +192: 64 2 64 +10396254: 24 17 29 78 305 24 +376546872: 6 375 4 338 731 +773410379: 75 2 3 38 7 23 1 92 186 +24570976326: 4 8 76 7 1 47 6 2 6 456 5 +14148025: 9 515 54 5 27 +6270069489: 7 7 736 836 6 94 90 +229312936: 3 4 634 9 762 3 9 60 2 2 +175745: 38 46 6 3 879 +116432658: 1 717 6 1 6 2 61 7 372 6 +914464664: 19 43 49 9 5 4 87 861 8 +743435960: 920 5 91 4 276 6 289 8 +14160: 175 7 90 8 748 616 4 +953995: 9 5 68 7 12 91 5 +844740: 23 68 896 1 3 285 +3163872420: 2 163 20 71 4 8 6 4 22 +1147617: 6 220 55 717 44 87 +112770: 4 128 25 15 14 +44626944186: 9 2 5 6 9 3 6 3 680 4 93 2 +525251636: 496 755 699 74 14 +147190320: 9 767 7 3 26 7 58 6 9 8 1 +77071: 139 631 6 3 8 +6912: 767 1 9 +356617393: 312 381 3 692 701 +3997266: 57 5 7 5 3 71 30 318 6 +244: 6 2 4 45 148 +7161: 7 5 1 8 80 8 18 3 1 8 79 1 +14708624: 3 95 7 514 2 49 1 +1733960: 54 351 5 856 560 +3290: 459 7 27 4 46 +22303320: 585 27 706 2 738 42 +6129696: 2 671 99 92 4 8 +51386810: 828 2 913 2 414 990 2 +16918: 8 192 79 7 791 237 83 +5238: 6 94 3 370 46 5 314 8 4 +7169600: 442 52 558 2 80 +25010177: 7 69 6 9 5 18 49 81 26 +2392309343: 3 2 61 9 2 1 314 7 3 35 4 +9164938: 7 7 3 7 96 515 +50619405215: 93 93 730 879 2 5 2 17 +34694788686: 95 8 5 7 4 412 8 4 4 45 6 +33226256: 1 9 23 879 9 56 +6494: 2 43 9 16 3 4 7 +246157: 63 71 1 55 10 75 +63632133: 776 82 13 5 +324919: 7 2 2 8 322 1 2 7 322 +97591: 88 3 7 5 72 24 7 +77273322: 79 4 931 320 1 +8729339: 4 3 7 7 85 8 5 96 3 35 7 +12246984: 2 1 9 92 7 442 7 72 +3338527798: 697 6 6 868 797 +259914: 4 6 5 522 8 8 2 508 7 88 +42274753044: 68 1 3 7 17 981 7 6 9 +8561903755: 896 5 659 5 601 58 3 5 +41095854076: 31 3 7 4 7 1 3 69 988 2 2 +4180: 32 65 8 2 2 +7913: 79 98 8 5 836 +30538410443: 8 429 2 319 930 7 440 +159524064: 942 8 7 6 4 126 4 +4058252537: 34 85 9 9 7 2 7 6 601 8 5 +1708499520: 8 5 5 57 2 5 42 954 82 +356534: 5 582 4 8 76 8 6 3 29 4 4 +144922210335: 31 22 17 7 1 7 374 73 +24309686477856: 8 10 322 880 3 7 7 8 59 +11181357476: 71 27 9 583 4 75 +548337426522: 68 1 1 64 505 805 +179: 83 70 4 15 7 +881071: 799 3 817 69 1 +6026684480: 8 76 46 355 607 +9444: 847 1 965 8 +22509426570: 8 77 7 6 829 75 1 87 5 +3000300: 22 78 532 65 20 73 +23287231584: 41 371 1 9 59 82 3 954 +26813667: 2 6 98 8 19 25 96 9 +4083599: 6 972 10 1 3 70 919 +148915: 90 247 441 298 +145456: 7 2 2 1 48 7 498 1 7 1 3 4 +42: 1 14 12 16 +36091522: 8 4 7 334 7 924 2 5 5 5 +521: 6 1 418 92 4 +201373110: 6 7 996 97 5 5 8 55 56 2 +141720690: 3 69 80 5 8 11 6 611 15 +10251: 78 24 35 8 7 +75253: 928 81 31 45 9 +19703: 2 8 5 7 35 9 7 2 26 58 1 +22468: 30 66 8 215 5 103 +678710: 391 4 6 746 67 +8601854165: 8 4 7 1 3 139 9 942 5 +41869156: 14 37 6 764 29 +36992565232: 2 48 3 87 981 5 7 7 5 3 2 +299880000: 2 9 1 8 2 14 25 60 735 4 +491400: 5 1 183 80 4 5 10 36 +1630: 4 12 43 9 40 893 +37008928575: 480 34 4 6 3 927 8 7 72 +408380544: 8 8 91 183 6 234 8 737 +973: 90 9 8 48 9 +1247425: 43 3 4 4 3 1 1 6 594 2 6 +731: 66 20 7 50 79 +7773950112: 706 72 2 11 9 72 1 5 +8581: 59 28 21 59 48 565 +517608: 2 7 20 186 468 +7106641: 8 47 629 1 364 8 11 6 5 +255596424: 7 850 961 402 92 +688575313: 162 8 752 531 1 +85704856: 26 3 758 2 6 6 4 6 946 3 +96059: 923 31 3 3 58 +388869: 56 8 868 7 5 +31449: 78 93 36 4 45 5 424 +421304315: 20 6 363 8 6 4 6 5 3 7 2 4 +970: 8 1 6 5 2 +1161660: 20 9 32 99 4 9 243 338 +128853: 31 8 34 20 426 201 +267293520: 8 85 6 4 149 7 4 1 38 6 2 +933413418: 97 4 4 297 5 5 9 9 4 9 4 9 +1480844029955: 75 3 95 68 4 448 656 +33048: 16 2 580 54 +906993247: 6 5 537 563 27 223 +3913571: 5 7 1 6 25 26 7 2 27 40 1 +448393127: 3 1 63 6 1 2 9 6 7 1 9 793 +1236541: 5 1 34 4 6 10 4 99 625 +2978614: 24 9 9 861 1 +3684894: 6 82 27 277 94 92 +1187136: 6 223 18 6 1 48 +125890: 3 2 7 889 4 5 527 4 894 +83266: 725 637 61 179 5 +727592: 19 686 1 13 103 +29012617: 495 8 6 24 6 8 1 7 9 1 6 4 +25141069676: 804 49 43 873 7 17 9 +2555700: 607 85 58 7 42 +26424117: 4 7 3 6 74 85 2 7 65 78 7 +1268918: 4 8 801 11 7 6 2 1 9 37 4 +39636: 566 8 3 23 31 +1392703578166: 973 226 3 36 477 166 +689935: 181 8 1 195 224 8 15 +1939: 6 2 562 691 72 606 +10587544: 560 1 822 8 23 +23564009: 530 234 190 175 34 +895941933: 4 4 9 2 30 7 81 3 901 32 +366516: 51 797 69 1 7 9 +57316464: 59 681 7 7 3 8 47 6 2 12 +16015708800: 970 14 70 2 78 108 +7126: 643 2 67 3 +75090600102: 44 8 3 436 2 7 5 48 4 6 2 +6082630: 60 81 94 5 586 99 +270761309: 835 68 3 81 4 4 +1284275: 8 5 6 234 5 13 20 78 5 +65240: 90 561 48 87 5 +2268935600: 3 25 8 2 893 5 3 2 8 5 8 8 +70734: 9 8 3 1 741 61 6 2 40 7 7 +2230: 55 37 74 79 42 +283374069: 40 865 126 65 65 4 +65205: 15 6 9 345 +7915415: 427 662 7 4 543 +16125257: 47 6 19 59 908 85 +322712041903: 8 5 3 38 996 9 8 1 903 +17629973: 339 13 4 1 973 +7040597767: 9 40 9 178 1 8 763 3 2 1 +64709: 6 4 805 34 8 28 9 +1537536873: 205 75 3 6 874 +7143: 3 9 88 5 3 +34181236: 531 47 264 56 157 4 +7445: 4 840 341 38 6 9 48 50 +28796: 9 24 65 6 95 diff --git a/2024/day07_bridge_repair/tests/sample_input b/2024/day07_bridge_repair/tests/sample_input new file mode 100644 index 0000000..fc6e099 --- /dev/null +++ b/2024/day07_bridge_repair/tests/sample_input @@ -0,0 +1,9 @@ +190: 10 19 +3267: 81 40 27 +83: 17 5 +156: 15 6 +7290: 6 8 6 15 +161011: 16 10 13 +192: 17 8 14 +21037: 9 7 18 13 +292: 11 6 16 20