From 767f4f4c04b160e4b7e829af47676965fa04d205 Mon Sep 17 00:00:00 2001 From: Yohan Boujon Date: Fri, 13 Oct 2023 09:40:39 +0200 Subject: [PATCH] Day 4 Part 1 --- rust/day4/Cargo.lock | 7 + rust/day4/Cargo.toml | 11 + rust/day4/exemple | 6 + rust/day4/input | 1000 +++++++++++++++++++++++++++++++++++++++++ rust/day4/src/main.rs | 28 ++ 5 files changed, 1052 insertions(+) create mode 100644 rust/day4/Cargo.lock create mode 100644 rust/day4/Cargo.toml create mode 100644 rust/day4/exemple create mode 100644 rust/day4/input create mode 100644 rust/day4/src/main.rs diff --git a/rust/day4/Cargo.lock b/rust/day4/Cargo.lock new file mode 100644 index 0000000..91d4e8b --- /dev/null +++ b/rust/day4/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aoc-day4" +version = "0.1.0" diff --git a/rust/day4/Cargo.toml b/rust/day4/Cargo.toml new file mode 100644 index 0000000..da7c8fa --- /dev/null +++ b/rust/day4/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "aoc-day4" +version = "0.1.0" +edition = "2021" +authors = ["Yohan Boujon "] + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] + +[workspace] diff --git a/rust/day4/exemple b/rust/day4/exemple new file mode 100644 index 0000000..99a66c5 --- /dev/null +++ b/rust/day4/exemple @@ -0,0 +1,6 @@ +2-4,6-8 +2-3,4-5 +5-7,7-9 +2-8,3-7 +6-6,4-6 +2-6,4-8 \ No newline at end of file diff --git a/rust/day4/input b/rust/day4/input new file mode 100644 index 0000000..f0f5469 --- /dev/null +++ b/rust/day4/input @@ -0,0 +1,1000 @@ +4-90,1-4 +80-94,80-81 +1-97,96-99 +20-87,20-88 +84-84,83-88 +9-75,10-75 +7-25,24-48 +10-99,11-98 +4-98,1-1 +20-42,1-42 +5-31,6-31 +9-14,15-84 +87-98,22-81 +44-69,45-68 +2-2,2-83 +16-76,69-75 +43-71,43-91 +30-95,29-29 +1-1,3-87 +22-90,22-80 +86-90,91-98 +11-20,10-20 +59-67,60-79 +20-75,20-95 +26-57,27-56 +7-71,6-72 +10-78,1-6 +59-67,31-68 +91-95,7-81 +15-60,14-14 +5-54,6-53 +88-97,91-96 +46-70,45-69 +65-79,64-86 +74-74,25-73 +1-95,95-98 +8-70,70-71 +1-2,1-1 +35-43,38-60 +11-81,12-12 +1-1,1-90 +5-10,4-23 +87-97,52-96 +4-98,5-98 +1-3,7-90 +91-93,10-92 +46-46,46-89 +10-99,10-97 +34-50,51-51 +26-72,42-73 +9-69,9-10 +78-85,22-79 +65-72,64-78 +52-93,51-52 +4-22,5-22 +33-34,11-55 +46-91,47-90 +78-96,12-96 +16-98,15-98 +28-78,6-77 +7-15,7-16 +35-95,13-43 +99-99,73-92 +34-70,38-69 +4-74,92-96 +86-90,52-90 +15-45,15-44 +11-53,54-86 +21-78,16-21 +30-35,32-34 +49-72,71-78 +77-94,35-63 +6-47,17-36 +7-96,6-94 +50-51,50-65 +15-75,14-76 +19-88,12-87 +13-64,4-63 +53-64,52-65 +69-79,79-86 +13-34,13-14 +48-57,48-85 +66-80,2-79 +11-82,3-6 +29-91,29-84 +7-16,16-36 +45-86,44-87 +86-86,21-86 +21-87,22-86 +6-79,12-79 +3-64,98-98 +44-69,45-68 +19-94,95-95 +5-92,5-84 +83-85,84-85 +16-88,16-89 +86-91,29-86 +27-85,86-86 +48-60,48-69 +1-3,3-82 +25-25,40-46 +52-77,51-76 +35-38,36-38 +75-75,5-76 +62-77,63-69 +21-83,22-91 +12-12,12-93 +30-82,31-41 +17-62,18-63 +5-97,3-5 +49-96,50-96 +46-48,46-50 +22-22,14-21 +5-98,4-98 +91-92,16-92 +1-97,98-99 +85-97,73-96 +45-62,11-50 +3-14,13-73 +8-75,9-76 +32-58,33-53 +3-68,65-68 +6-10,6-7 +2-2,2-26 +6-96,5-95 +12-90,53-90 +48-86,49-59 +4-89,4-95 +44-44,45-54 +43-65,42-89 +95-95,5-79 +51-53,37-52 +31-99,30-97 +3-83,2-78 +32-73,32-33 +68-83,68-79 +4-17,16-53 +25-64,24-26 +8-92,8-93 +3-77,3-78 +53-77,29-77 +77-99,76-97 +46-88,49-83 +52-63,53-64 +25-78,14-84 +5-39,4-39 +48-84,49-83 +14-78,52-83 +27-87,35-95 +11-48,6-48 +3-99,1-34 +20-25,28-67 +33-61,34-83 +11-21,20-32 +30-39,10-39 +22-25,29-51 +18-88,32-89 +12-87,12-13 +49-76,29-32 +17-52,77-92 +72-79,65-79 +4-53,2-2 +61-91,62-91 +6-69,70-70 +2-96,96-99 +20-68,19-68 +60-98,59-59 +31-34,30-34 +2-22,19-21 +3-80,79-80 +72-72,71-71 +1-92,1-1 +67-86,48-94 +42-43,43-80 +3-89,89-90 +5-68,3-69 +7-7,6-65 +78-86,78-81 +54-85,85-85 +9-64,10-10 +39-96,38-38 +60-62,18-61 +20-47,47-81 +2-97,98-99 +18-83,83-83 +12-93,12-13 +4-4,3-74 +77-96,11-62 +2-81,2-80 +53-59,52-59 +55-94,54-90 +29-30,29-42 +52-69,64-69 +9-90,3-10 +16-39,15-61 +74-76,38-75 +12-14,22-43 +12-90,11-11 +5-94,6-93 +6-18,17-23 +8-8,8-18 +27-42,26-41 +8-77,7-7 +46-47,47-47 +1-57,21-29 +11-87,2-2 +45-45,46-46 +64-65,64-87 +36-36,37-74 +34-56,38-56 +66-77,67-98 +1-86,2-21 +11-30,12-29 +98-99,31-97 +5-5,10-71 +18-83,11-19 +8-38,3-8 +2-79,48-78 +10-14,9-24 +16-91,16-96 +3-3,4-99 +25-35,29-84 +49-70,50-74 +48-68,49-49 +61-61,57-61 +40-79,50-78 +56-83,27-84 +82-92,54-82 +50-59,59-69 +52-84,52-83 +17-66,15-65 +2-91,3-3 +13-47,12-88 +62-80,61-70 +11-71,4-8 +35-88,36-88 +9-55,5-10 +31-53,30-91 +22-36,35-97 +5-64,4-65 +61-61,4-62 +10-78,16-73 +6-81,5-82 +10-42,9-75 +17-36,16-96 +51-83,85-85 +35-68,67-68 +46-61,19-60 +12-55,10-56 +3-90,9-91 +63-97,98-99 +32-93,33-52 +66-71,67-67 +22-82,82-83 +6-91,7-92 +76-97,98-99 +33-86,53-85 +37-83,37-82 +5-86,64-87 +29-52,40-51 +60-76,76-77 +20-40,56-58 +14-88,3-89 +15-15,16-88 +96-99,6-97 +55-76,54-76 +22-88,28-81 +21-21,21-36 +2-92,1-93 +13-36,12-35 +50-81,18-51 +46-48,1-47 +17-82,82-84 +7-9,12-88 +16-94,16-58 +18-52,17-96 +6-82,7-82 +14-94,48-93 +12-76,9-13 +20-98,21-96 +69-95,16-92 +2-3,2-93 +28-38,27-39 +11-65,11-64 +43-44,43-63 +1-1,4-98 +3-3,3-9 +63-89,21-63 +6-48,5-48 +13-51,13-50 +90-96,53-95 +9-44,30-44 +61-74,61-62 +47-87,48-83 +26-26,25-96 +58-95,57-95 +24-81,80-81 +9-95,3-94 +13-31,14-32 +14-89,89-89 +19-29,18-28 +7-41,4-7 +63-73,63-64 +3-11,10-95 +36-41,26-47 +19-79,18-80 +46-86,30-45 +84-91,84-87 +1-76,1-88 +43-80,1-3 +3-8,47-77 +54-54,21-55 +3-83,82-83 +54-72,15-55 +10-49,62-71 +7-98,10-93 +89-92,8-93 +67-68,24-67 +43-80,44-84 +35-51,88-99 +4-99,3-98 +16-63,8-64 +80-99,81-99 +14-95,13-96 +13-84,12-13 +19-80,18-81 +2-91,3-86 +59-59,1-58 +23-90,10-21 +99-99,3-96 +7-7,3-8 +66-95,24-95 +27-86,26-86 +45-96,48-95 +33-56,29-34 +43-43,44-91 +2-96,3-97 +16-16,15-77 +61-61,61-71 +17-73,73-74 +64-86,63-86 +21-23,42-46 +29-30,19-30 +12-96,2-97 +25-25,25-73 +15-21,14-20 +82-90,15-69 +5-29,6-29 +2-95,82-96 +19-56,6-55 +24-56,24-52 +5-6,5-94 +40-97,40-40 +79-99,55-80 +9-98,97-99 +16-98,9-99 +70-71,24-70 +13-34,14-33 +40-41,40-51 +6-98,7-97 +16-77,55-58 +16-24,9-19 +41-70,42-70 +6-98,99-99 +77-77,40-76 +34-77,34-87 +74-92,29-74 +5-33,4-96 +14-83,1-82 +5-40,5-30 +72-72,11-71 +45-45,44-58 +10-10,9-72 +5-42,1-43 +11-99,10-99 +6-6,6-96 +39-59,38-60 +92-94,41-93 +1-17,3-94 +20-49,20-50 +3-26,28-54 +40-60,10-59 +24-95,55-96 +4-97,5-98 +3-93,1-93 +3-99,4-95 +60-98,17-57 +12-12,13-78 +3-34,2-99 +6-6,5-63 +3-85,4-65 +4-77,4-77 +56-56,11-55 +27-99,37-98 +7-7,7-59 +22-89,28-85 +6-39,7-96 +15-21,11-16 +51-72,13-71 +7-41,7-41 +18-28,10-27 +38-78,25-38 +32-84,32-83 +48-92,48-69 +83-84,84-84 +52-94,52-89 +33-33,31-33 +34-78,34-35 +6-97,14-96 +18-62,17-70 +12-51,13-56 +68-68,24-67 +6-19,19-63 +19-88,15-88 +44-62,45-63 +5-82,6-82 +4-89,96-99 +20-35,35-85 +39-52,38-51 +44-98,28-99 +76-78,6-76 +86-93,37-88 +63-82,12-83 +69-78,61-79 +97-98,6-98 +28-73,28-28 +11-73,10-73 +3-4,6-80 +71-75,72-75 +74-75,10-74 +5-99,4-18 +24-32,9-25 +1-8,7-80 +17-53,52-93 +13-95,12-94 +28-87,28-54 +78-89,90-93 +24-54,54-54 +11-62,10-62 +66-82,65-82 +31-94,30-94 +5-96,6-98 +90-91,27-81 +63-64,63-89 +5-63,5-5 +91-92,3-41 +65-66,60-65 +48-99,48-49 +9-96,8-9 +6-48,6-47 +4-87,3-86 +10-99,11-98 +4-79,4-4 +19-71,65-72 +3-90,3-3 +16-97,17-98 +61-98,99-99 +7-24,6-66 +76-82,77-82 +47-89,46-94 +4-91,6-70 +28-29,30-53 +54-58,55-74 +33-71,72-99 +26-26,26-43 +97-99,12-94 +30-82,99-99 +94-94,42-94 +4-98,5-98 +41-82,40-83 +1-92,97-99 +40-43,31-39 +60-96,59-68 +90-90,90-95 +22-24,22-97 +13-98,98-99 +56-86,85-85 +89-92,93-93 +80-80,4-81 +67-98,66-87 +5-97,6-97 +20-67,68-68 +6-18,4-6 +31-71,32-32 +14-25,13-39 +90-90,9-91 +4-80,51-79 +59-88,15-99 +27-76,28-28 +7-47,48-48 +15-94,16-89 +15-50,16-50 +31-56,2-32 +14-62,15-61 +9-99,9-97 +82-92,11-82 +3-33,3-32 +9-79,51-78 +63-80,36-63 +57-60,57-82 +51-53,52-89 +11-20,44-98 +41-79,36-41 +61-79,74-79 +20-55,54-70 +49-51,17-50 +15-20,15-19 +46-75,47-74 +38-65,34-39 +86-89,37-85 +4-85,3-3 +8-76,2-76 +62-73,45-73 +29-31,29-53 +76-78,25-77 +11-98,11-11 +17-93,18-94 +4-12,5-12 +15-75,18-76 +1-14,1-3 +35-98,34-99 +2-34,34-67 +18-23,18-68 +68-70,39-69 +64-86,85-87 +22-94,5-64 +12-95,13-95 +88-88,68-87 +15-82,30-50 +11-26,25-27 +12-12,11-53 +15-47,48-48 +56-63,62-83 +36-98,35-98 +29-46,30-47 +64-64,50-64 +4-67,9-67 +71-95,67-94 +58-66,57-63 +55-71,56-70 +7-10,7-11 +17-91,90-90 +81-81,41-81 +1-24,1-5 +69-98,98-98 +15-85,14-85 +75-95,33-51 +13-67,17-66 +22-46,23-63 +3-94,3-4 +11-81,81-83 +79-92,80-80 +5-79,5-80 +67-75,66-96 +51-75,76-76 +12-74,13-73 +4-11,10-65 +17-61,8-11 +63-63,9-64 +38-38,23-38 +15-89,19-80 +95-96,74-95 +79-81,63-80 +89-89,39-88 +7-41,8-41 +16-23,22-96 +7-50,8-98 +30-75,31-74 +30-30,30-89 +52-53,52-78 +15-16,21-40 +3-37,13-38 +18-61,19-32 +78-79,1-78 +40-65,66-98 +2-72,67-71 +7-9,8-88 +26-61,25-25 +49-91,49-92 +2-24,2-94 +10-43,10-44 +73-80,6-79 +65-66,66-66 +24-31,31-32 +4-23,40-58 +4-86,1-1 +1-93,1-1 +7-8,7-83 +53-53,35-52 +7-7,6-71 +8-77,76-77 +11-33,11-42 +66-66,67-67 +35-53,34-52 +23-23,23-68 +9-20,10-15 +16-74,15-83 +20-82,58-81 +19-84,82-84 +50-77,50-77 +5-7,7-71 +18-93,52-92 +77-93,89-99 +43-43,42-43 +4-64,1-83 +8-74,74-75 +29-62,29-94 +8-50,1-9 +9-99,8-61 +5-98,4-98 +17-79,79-80 +53-84,54-85 +36-78,37-79 +45-74,46-73 +43-64,44-65 +39-45,38-72 +13-32,12-96 +5-5,5-84 +66-96,67-81 +84-84,24-83 +27-66,65-67 +12-46,64-72 +34-94,95-95 +10-89,10-11 +4-72,3-71 +13-38,12-16 +15-92,92-93 +16-16,17-74 +89-89,88-88 +5-65,6-65 +63-87,64-86 +19-86,18-86 +72-72,51-73 +64-95,65-65 +15-92,15-16 +48-86,49-86 +96-98,2-97 +99-99,2-97 +52-61,51-51 +80-92,13-93 +95-97,89-96 +49-54,54-59 +63-99,62-89 +4-88,3-88 +8-56,8-56 +10-31,30-32 +44-44,26-43 +81-93,40-91 +34-60,60-61 +22-80,12-23 +46-84,78-85 +22-83,22-71 +16-98,19-94 +34-47,39-46 +1-12,73-81 +12-98,12-48 +13-91,21-59 +26-65,26-66 +33-33,33-55 +6-99,7-98 +12-12,12-67 +11-68,1-95 +82-94,6-83 +62-70,61-94 +9-9,10-76 +23-93,93-93 +65-87,64-87 +86-88,19-87 +91-92,3-96 +8-93,93-94 +4-29,4-18 +10-23,22-35 +7-18,18-56 +23-82,7-11 +60-75,39-49 +9-78,19-77 +42-86,41-41 +24-24,39-99 +92-92,4-91 +3-12,4-14 +17-65,29-66 +44-91,92-93 +3-96,2-97 +5-92,4-93 +74-76,36-75 +8-65,6-9 +11-84,78-85 +50-50,30-57 +5-77,1-2 +31-94,93-95 +40-71,41-70 +90-92,4-91 +9-66,80-87 +30-57,57-86 +26-34,27-34 +38-84,37-85 +65-74,65-66 +60-84,3-85 +4-63,3-93 +61-93,62-62 +18-24,18-19 +7-12,11-13 +60-70,60-61 +4-57,4-63 +21-30,29-62 +49-89,48-90 +9-97,96-98 +1-97,3-94 +4-93,4-94 +3-96,7-81 +2-2,2-86 +4-8,1-8 +28-33,53-82 +20-91,19-91 +1-88,20-76 +8-70,3-16 +13-63,63-71 +4-71,71-72 +14-88,89-89 +8-87,5-9 +6-63,47-62 +61-99,61-99 +22-26,21-84 +47-86,47-51 +9-15,4-14 +2-67,3-66 +22-94,23-94 +21-86,20-86 +24-68,24-64 +38-38,38-56 +43-99,33-44 +85-86,53-85 +69-69,12-69 +11-12,30-98 +28-58,25-28 +27-94,28-98 +7-94,99-99 +35-91,17-92 +92-92,19-91 +12-94,40-93 +18-82,18-19 +3-96,2-97 +43-71,44-70 +39-82,40-83 +6-52,24-52 +19-51,20-52 +26-53,48-54 +15-99,14-16 +5-12,11-97 +12-86,86-87 +27-27,26-94 +14-15,18-87 +20-46,37-90 +12-61,12-13 +25-25,19-25 +93-97,13-92 +1-10,10-11 +25-34,25-30 +53-59,54-59 +25-92,66-93 +6-6,5-40 +2-31,1-32 +5-5,6-76 +19-99,9-98 +12-92,11-91 +3-33,58-90 +19-64,33-63 +10-54,10-55 +8-8,9-90 +16-90,15-90 +82-94,82-83 +12-77,27-64 +14-37,15-36 +63-83,74-84 +7-98,7-93 +7-87,23-88 +9-95,4-9 +42-46,80-89 +7-92,8-91 +7-14,7-20 +43-91,42-42 +53-81,1-82 +8-80,6-20 +19-59,5-58 +29-90,13-29 +29-90,28-30 +89-95,18-96 +76-76,21-75 +28-97,27-97 +28-91,27-91 +5-89,12-85 +62-63,20-62 +33-90,33-98 +12-53,11-54 +31-66,67-67 +60-90,61-91 +8-8,10-83 +50-82,36-83 +54-95,55-96 +42-80,43-81 +40-40,40-75 +10-69,9-27 +43-47,26-34 +44-75,12-76 +35-36,35-97 +6-25,5-25 +4-65,2-5 +70-71,50-70 +9-95,4-9 +38-75,38-39 +72-94,8-71 +30-97,30-31 +8-87,8-40 +19-59,18-59 +3-96,1-96 +4-69,3-99 +4-7,7-98 +16-94,93-94 +8-86,9-87 +23-97,23-98 +5-89,6-6 +15-32,15-15 +8-79,2-8 +6-22,7-22 +89-91,24-90 +57-85,7-86 +54-79,53-54 +96-97,7-97 +45-45,9-44 +28-98,46-97 +40-65,66-66 +12-26,13-26 +10-10,10-76 +29-59,28-59 +17-39,16-72 +69-70,70-81 +60-61,60-64 +18-56,18-95 +21-21,21-80 +15-36,15-95 +1-98,1-1 +61-65,60-66 +80-91,80-99 +42-81,65-82 +44-87,43-90 +12-90,11-90 +5-94,6-94 +81-81,44-80 +2-37,21-47 +26-81,30-81 +29-81,97-97 +7-79,3-78 +43-74,42-73 +3-77,3-74 +2-74,1-2 +46-68,14-46 +1-58,3-78 +46-70,13-52 +92-96,32-92 +32-81,31-80 +17-97,17-98 +40-75,75-76 +22-22,22-73 +13-96,13-95 +47-70,46-70 +21-56,22-22 +7-87,3-96 +12-48,13-48 +23-84,3-24 +20-98,20-99 +8-79,6-95 +6-62,2-98 +21-28,3-28 +67-69,59-68 +16-86,14-14 +25-77,25-26 +9-34,9-35 +8-13,14-14 +8-24,8-91 +8-76,6-75 +9-78,9-10 +19-82,7-19 +83-84,62-83 +16-86,17-86 +32-32,14-31 +24-73,23-99 +5-16,5-15 +7-99,8-98 +12-94,13-91 +37-38,37-92 +3-87,3-4 +10-96,10-93 +2-77,1-76 +61-87,37-70 +2-24,80-86 +3-97,3-17 +5-74,46-58 +76-78,40-77 +7-94,7-87 +15-31,31-32 +10-96,70-98 +4-51,52-90 +48-52,52-75 +19-46,18-47 +82-97,25-96 +15-54,8-15 +90-90,89-94 +16-91,16-65 +3-97,3-99 +6-90,6-91 +75-76,1-75 +9-9,8-86 +34-34,34-36 +94-94,42-93 +7-37,6-36 +5-5,5-67 +59-84,3-90 +26-26,25-99 +44-97,96-97 +41-77,42-57 +33-79,34-80 +68-70,68-68 +68-81,67-80 +4-93,4-5 +25-42,3-26 +44-77,45-95 +38-97,96-98 +33-34,32-34 +90-93,89-89 +21-60,60-85 +44-91,20-95 +26-68,25-63 +17-18,17-73 +6-93,6-7 +26-31,27-32 +10-97,10-98 +33-84,33-92 +93-98,2-93 +39-92,39-91 +9-73,8-65 +10-89,9-62 +50-89,50-51 +35-98,99-99 +50-96,24-87 +99-99,25-96 +37-78,4-79 +2-10,10-11 +13-71,11-14 +51-76,7-76 +38-52,42-51 +10-91,3-11 +7-78,3-79 +5-7,3-3 +28-50,17-50 +39-62,4-15 +6-97,5-98 +63-91,23-99 +12-93,11-19 +52-93,73-99 +12-95,12-12 +13-28,27-84 +83-85,12-84 +26-99,26-27 +58-62,57-88 +27-43,44-44 +43-96,20-44 +34-61,59-60 +44-75,43-75 +1-99,5-93 +17-99,18-98 +84-90,85-89 +5-49,1-5 +26-74,43-74 +65-93,65-90 +18-84,11-19 +15-15,14-83 +19-97,19-96 +2-95,4-95 +84-84,85-85 +7-53,53-56 +2-2,3-60 +24-48,48-72 +1-1,1-97 +15-29,16-20 +1-20,19-50 +6-88,1-7 +14-47,13-13 +4-44,4-42 +7-98,7-12 +30-69,3-30 +73-82,81-83 +1-96,1-86 +4-4,3-48 +94-96,5-86 +29-73,29-30 +21-22,22-80 +97-98,29-98 +42-75,76-84 +86-92,85-93 +14-70,13-69 \ No newline at end of file diff --git a/rust/day4/src/main.rs b/rust/day4/src/main.rs new file mode 100644 index 0000000..9c8f5a1 --- /dev/null +++ b/rust/day4/src/main.rs @@ -0,0 +1,28 @@ +use std::fs::read_to_string; + +fn convert(vec: &Vec<&str>, index: usize, str_index: usize) -> u32 { + let two_num: Vec<&str> = vec[index].split("-").collect(); + two_num[str_index].parse().unwrap() +} + +fn first_part(str: &String) { + let mut count = 0; + let pairs: Vec> = str + .split("\r\n") + .map(|ch| ch.split(",").collect()) + .collect(); + for pair in &pairs { + if convert(pair, 0, 0) <= convert(pair, 1, 0) && convert(pair, 0, 1) >= convert(pair, 1, 1) + || convert(pair, 0, 0) >= convert(pair, 1, 0) + && convert(pair, 0, 1) <= convert(pair, 1, 1) + { + count += 1; + } + } + println!("Final Count: {}", count); +} + +fn main() { + let file_content = read_to_string("input").unwrap(); + first_part(&file_content); +}