From efd556f72e7cdc81538fda566d50c760d9e07072 Mon Sep 17 00:00:00 2001 From: Kristofers Solo Date: Sat, 2 Dec 2023 14:40:16 +0200 Subject: [PATCH 1/2] finished day 01 part 1 --- Cargo.lock | 625 ------------------------ day-01/Cargo.toml | 9 + day-01/input1.txt | 1000 +++++++++++++++++++++++++++++++++++++++ day-01/src/bin/part1.rs | 9 + day-01/src/bin/part2.rs | 9 + day-01/src/lib.rs | 2 + day-01/src/part1.rs | 30 ++ 7 files changed, 1059 insertions(+), 625 deletions(-) create mode 100644 day-01/Cargo.toml create mode 100644 day-01/input1.txt create mode 100644 day-01/src/bin/part1.rs create mode 100644 day-01/src/bin/part2.rs create mode 100644 day-01/src/lib.rs create mode 100644 day-01/src/part1.rs diff --git a/Cargo.lock b/Cargo.lock index 2e724eb..252ad3b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,12 +17,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - [[package]] name = "backtrace" version = "0.3.69" @@ -38,27 +32,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "backtrace-ext" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50" -dependencies = [ - "backtrace", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" - [[package]] name = "cc" version = "1.0.83" @@ -108,52 +81,6 @@ dependencies = [ "color-eyre", ] -[[package]] -name = "day-template" -version = "0.1.0" -dependencies = [ - "color-eyre", - "dhat", - "itertools", - "miette", - "nom", - "thiserror", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "dhat" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2aaf837aaf456f6706cb46386ba8dffd4013a757e36f4ea05c20dd46b209a3" -dependencies = [ - "backtrace", - "lazy_static", - "mintex", - "parking_lot", - "rustc-hash", - "serde", - "serde_json", - "thousands", -] - -[[package]] -name = "either" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" - -[[package]] -name = "errno" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "eyre" version = "0.6.9" @@ -170,50 +97,12 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" -[[package]] -name = "hermit-abi" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" - [[package]] name = "indenter" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" -[[package]] -name = "is-terminal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" -dependencies = [ - "hermit-abi", - "rustix", - "windows-sys 0.48.0", -] - -[[package]] -name = "is_ci" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb" - -[[package]] -name = "itertools" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" - [[package]] name = "lazy_static" version = "1.4.0" @@ -226,72 +115,12 @@ version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" -[[package]] -name = "linux-raw-sys" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" - -[[package]] -name = "lock_api" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - [[package]] name = "memchr" version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" -[[package]] -name = "miette" -version = "5.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" -dependencies = [ - "backtrace", - "backtrace-ext", - "is-terminal", - "miette-derive", - "once_cell", - "owo-colors", - "supports-color", - "supports-hyperlinks", - "supports-unicode", - "terminal_size", - "textwrap", - "thiserror", - "unicode-width", -] - -[[package]] -name = "miette-derive" -version = "5.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" version = "0.7.1" @@ -301,36 +130,6 @@ dependencies = [ "adler", ] -[[package]] -name = "mintex" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7c5ba1c3b5a23418d7bbf98c71c3d4946a0125002129231da8d6b723d559cb" -dependencies = [ - "once_cell", - "sys-info", -] - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - [[package]] name = "object" version = "0.32.1" @@ -346,142 +145,24 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "owo-colors" version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.48.5", -] - [[package]] name = "pin-project-lite" version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" -[[package]] -name = "proc-macro2" -version = "1.0.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "rustc-demangle" version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustix" -version = "0.38.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a" -dependencies = [ - "bitflags 2.4.1", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "ryu" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "serde" -version = "1.0.193" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.193" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" -dependencies = [ - "itoa", - "ryu", - "serde", -] - [[package]] name = "sharded-slab" version = "0.1.7" @@ -491,114 +172,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "smallvec" -version = "1.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" - -[[package]] -name = "smawk" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" - -[[package]] -name = "supports-color" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" -dependencies = [ - "is-terminal", - "is_ci", -] - -[[package]] -name = "supports-hyperlinks" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84231692eb0d4d41e4cdd0cabfdd2e6cd9e255e65f80c9aa7c98dd502b4233d" -dependencies = [ - "is-terminal", -] - -[[package]] -name = "supports-unicode" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b6c2cb240ab5dd21ed4906895ee23fe5a48acdbd15a3ce388e7b62a9b66baf7" -dependencies = [ - "is-terminal", -] - -[[package]] -name = "syn" -version = "2.0.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sys-info" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b3a0d0aba8bf96a0e1ddfdc352fc53b3df7f39318c71854910c3c4b024ae52c" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "terminal_size" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "textwrap" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" -dependencies = [ - "smawk", - "unicode-linebreak", - "unicode-width", -] - -[[package]] -name = "thiserror" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thousands" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" - [[package]] name = "thread_local" version = "1.1.7" @@ -616,21 +189,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ "pin-project-lite", - "tracing-attributes", "tracing-core", ] -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "tracing-core" version = "0.1.32" @@ -651,205 +212,19 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - [[package]] name = "tracing-subscriber" version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ - "nu-ansi-term", "sharded-slab", - "smallvec", "thread_local", "tracing-core", - "tracing-log", ] -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-linebreak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" - -[[package]] -name = "unicode-width" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" - [[package]] name = "valuable" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.0", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" -dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" diff --git a/day-01/Cargo.toml b/day-01/Cargo.toml new file mode 100644 index 0000000..0b07f6b --- /dev/null +++ b/day-01/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "day-01" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +color-eyre = { workspace = true } diff --git a/day-01/input1.txt b/day-01/input1.txt new file mode 100644 index 0000000..8a2eb54 --- /dev/null +++ b/day-01/input1.txt @@ -0,0 +1,1000 @@ +51591twosix4dhsxvgghxq +425nine +llvmhjtr8nbbhrfone +lpbjvpbtdfvtxtdvkpjs7qrvddkzmjtlqtg +3sixnineseven +rfmsqbkms7three +33291six +oneonevstpxxrjpnine7six +75sevennine14mzqljsjfbb7two +three6two9jckvk +zprj8394threehczfkncntk +mkqtlrzmzfsix2ccqsnnxtwo4sevenxp9 +tdszrfzspthree2ttzseven5seven +two3fiveckrsjr +four14three7 +4fdkcclmxmxsevenfiver +5sjnnfivefourzxxfpfivenine7five +77sixfive +twofivecrkvmpcpvzddvzcmjhjlthree8fcrrninefive +fivetwo562five +2ninekvdbfnmjmd6ninentpktmgseven92 +2twonine +5fivesprm4ndqzbqnjqx +7jfq9 +1hgnkmx91 +2jcrmhfvntc3lqnine4five4 +zvqmpjrpninejhqrnineggghcrjfd3onefive +11three64qjjhqdnonetwo +rmvzjnbonetwo6 +eightfive698threenine9 +8eighttrfngsklrkfivefourninefourqhclfcp +1z +fivegfslvcvtvs4 +sfq1twosevendbjq2nine4rzmdpmgcx +seven816one8jmcqqhfnthree +twor4325rsl5 +four2vqhninexqqhlfhfouronejks1 +7hjmmxhdnine8 +1eight3hqgshtb147 +four6sixeightone +twomvkjxbqxzhnnmjxstkgfhzzdsc1fivefivesix +3slhhsfnkhhlxtvqfrhvdzzkvlzcnlxgd4ninechp +meightseven8onegghfsfeight84 +kmxckzqdfeightsqfivefivetfg77 +dc8 +mktwonecvqsxhqrjfninethreethreedkllgfxrxrffzvdbqdj2c3 +8shsxjmqmb3kpvj485nd +rbdlrxsmjvnkttnpfour6twoseven +bkt1seven +threehkjhm9 +threeeight8sevennine7nlx +jmvj4ctqpccsixseven +4fourmtwoxcsvlvlhctdpxns +eight7three4729eightbslrgrhs +26seven1 +7ffseven +9rsgmlgcsevenxkmsd17three +snzn6htcqxqj7bf +ppr7six73znmtmgrzrp9 +61mj7dvddfseveneight +threevfive3fourseven3 +xznsxcxsbggvctqqb82two +five4none +foursevenrl12threegpbvdsspkrfour +9sevensixthreerftbxgthree +6fph +996three +64pkndfphqrglbgcpseven +72749twoeightcpqfzqcrns +xnzzhvssixtrlfftrjr5two9threenine +four8hzkkrpb71glpqsnkvcb +sixsix1 +9lfdtwo4sevenjhv911 +chxjljdh8jztwo61three +twothree11 +hft2dmntjgzg1 +rtfckbnqxfdldgttbltdr33kqhxhkeight4 +ninefourseven4nine5 +25fsmkbsevenpzhgdhnxnbsix3 +bd1frglljngg8one1 +34six +96cpcmztffqdrfrfslfour4lpnbmrfm +psxrlseven2zmkvrhckqcxdl91 +ninexkfjcjkjb8three4xeighttqsrgbmfdt +2threesixeight1 +ggxzf3gkdvsqxggltxdhdbhm5 +sixtwo89six +eightnine3 +threemdrhqpone6 +sncpmhtwozsfpcpxgq9three +rtwone37three7xhzlckfclbltdkrgqbcrhpqzg +68sixbgsz35 +kdeightwo69 +four7bfq3four +sixone3fivedgmrrvjqrr7three7seven +sixthree6 +onethree3onevdtlkrfour4 +eight4seven5cszgblfseven +two8ddmjtg +fivejnvrdmghnvrmrjeightnnxpv8 +2threezvklqkpml +two76cdfrmfckbjc +zqxpg42sixeightfour76 +3eightvqpxzsn2bnbkrfb49 +eight85five +sixngs8xjseight4 +296pfsgnlpbmngzlrrldznmrj1mjgvtxkr +six4bvrdgxh +34eight56eightsixhphnbgscfb +two4twosixthreeggfdzlbkxxqmtxtczdfj +four4tqrjxxcrztwoeight +one73zpfhjvjh2 +7eight35phcfcdzhhpzn49eight +zqcmlcqfneightsixrpmmhcrssk6dclcpmhzqhrbcnkxjdfjvrf +1threegkhpq7nfrksvm69nxpvgvthfzoneighttc +gtjsevensixsixb9 +nine73nine +cbhsddcmzmdv2bnnffour +85hhqkqmv +six2jfxfgpg9 +fiveeightskrn1 +khvcf3five8qj5 +sevenfive7ptb +tscc9psz3gtnsnksn +xzlh7zfivefivejgr +one4nine8three3 +2kjkbbvftktkvpbp8gkcnrrkr6r +565three718five +twojjgcfz3fiveoneftvnldxdhr2 +13three +phbvxsnnineksttklfljm85 +tvzpbgzhmbnine1eightbpjtkflllg +7five3 +2623four +nvfchhrbcone1nine +mjv5vtmlmsfcfmt65five1 +7one2 +4six4 +dlbzctlxpjxxqk96pmdgdfblbfjnsxjmkoneqgeight +seven4nzvxldvzvjpzlzxb4eightnine6 +2vzblzhrxnc8qtgvxxzgkeightblqfftjtnxrbpvlsgvd +thfdzxfqcthqfcnrt2 +qxfpbbnfczfourh4twodjrhp +4m2fivelklgfgr6three +4tsbs74 +one6twomzfncms2lrgzgsspkjmcgqxp +six5fourgzrhbvdnzzllh +9seventwothree8sevenfive4two +7eightdprzmjvsevenfourfiveeight +twosjzhsb29lqzkjbtshp5 +8four6two +bklkfctjb84one +sevensevenfive7seven6 +vklhzsjz5fiveeight5 +fourmlthreecjspnchzrthree8tb +7gsfvptnpcl2n82 +58mdllbtjkkzcmdgzbeightbzqmfour +2vtlzkzlsfive92vbpnq +jbcgqvr28ksbphtfourfourfksnxjhtb +21ljfcmgtmdqfive +threejhhstcxfive64sixeightthree +7tqpqngnrmnnxt3pjbcqjmktvj +fmqqc9twoone15four +5six13dnkxtqrxrh +8xxpnpfivethreeh5ktnpctlqrgtl +9hgmlnzsbmbsbjbg9 +8mnlsqkpqp18jkftxzfcklsgkvjr4threergdbrrzbb +eightglhhjsfl819lkzlxjvcshdtjhxvjs8 +gshmsmzfbcrhvnfnpppmmfmngcv2snrponeqgxvtx +9sprkdkk3cpjzlzphfdbhczbpssix +nine8954five +oneonettsixckhgprszjckhx2 +seveneightgnhzhm9pkthree3three +5mjkpk +sevenfour832five +fivellhglxm2twoneq +fqtfqdgeight2lfklmhrnfive +flqdfkmlfthdvzncvbfour7gq +793 +fourninetwojrfp4three5three5 +snnnjlhcnine84eightjthbkgtslhp4skglpzhz +mnxfgpg862ninefive26 +bmdtbfjonegprzlxqlkb4mcscbqnv +nine9fourfourfive1fivethree2 +eightfqrqz8 +fourpkd1bpxczlzthreecptvjlgzfmtqnr +25onejrksrlccgrqtkcsmzccnine +5nine26three88 +25four299fourfour +hlrbll8vnhjlfjrkd +ffourthreefourkgjbsnbc6 +eight8mpqpsgxthreegmxrhqkqbhgstcz +three82five1 +4dxvzg29fourdsh +ffgdlggchpcq7four34lfive +seveneight9eightnpjmh9eightfive +bnjrnsdfjg6 +76five +five4nine6six +q339eightkhnjsixttvqzlbchleight +koneightonenine2nftlzxnkbctmjvzk98 +511 +4cghqsix3bqr +958three +seven2vmrkjqgrlb5 +9three6one5jdrnlfour6nine +four2xdrqqsktone +1sevendxkhzglzxgcmonesixrplhlplhnone +6threefourhshvnszlqrzb +7hctfsqf2jzjkxbljg +sevencxncnc68 +49lfdkv2zbhddmbfive +sevenfdsmsmmgzv29two6rpxsgpdsjxljcthree +hgfqhdfb4mninesevenzngfljcvpvvkmghqxoneseven +gtlqcggrp6lzjfive3rtrqvszcrsevennine +qvhztzsfddxbbxsr88 +nine5kfnninelknrbf5bjrrthv +pfnmdzksjcjcbvlvgcbheight47 +sixfour8 +cdbxkcqseven1 +onefive65mdbrnlg +vlcxxcxhfkjhm6two5 +bfpnhlzq3tgcmhd4 +6three69eightgmxsseven +three1six +fourgqqgvltwofkxzmcfdmz4 +24four68nxs84spjnpfsdv +m1threesvlhmgsbn +three7jcvclg84sixfjvvtkfk7 +hznlsixjqnlvpmninejrvfpplbm5 +mgfrn6 +xb9469 +48713fivefour6 +sevenfiverzlhdzr59lbtvltccgbstzxksb +rxkppsh771 +dldhcgdvtwosix3 +one4phkrftwo +rrdrpfddtphv88jldqht +vgcpcmrj6 +9zdqnzlthreelxzmlhsgdc1pddz +669onesix +5eighthlbhzlpms7qvbftcrone +8mttfjqjnsf528hzvljcx +eight9tseven25csfeight1 +7threethreetcdxnhnnftwosevennine +54tsrjthq831sixcmxzqg +61eight9kb5 +qlxmg4zhcpfxvrhlgjlcbxvxsix +95two +four75eight +6fbrnsflmxstwo +25 +eightcdl979gxzv97eightwogdv +eightgbx85sevenseven +3rfvzeightsjcctzxvtcrsix +fivevqgm14 +dbfkfnfbckncvseven83drnkzt1 +11ninesevenxlxfr +4ptvstqt7fivebznine +5qmcnfour9 +four5mndpqsmxninethree56ctnlcpbtzmthree +four2bqnbcbninemccbzhrfourbgrccrsznskjn +rjdfqd24seveneightwom +9ztmbftvvzlqlr4 +qprftkd3vkfhtwofour33five +fourdtmjbtvvdxdhj5 +jpttch9 +9jkngffbxhg +one79twoonesix +2eight528nine2 +psncczvbeight3 +4seven7nlgrlzsqjsdb51 +five98lqc8 +nine377rcgvvhdghrg5scmff1 +8fvcxpr6kx5cpcrjdpnjcsj +ltlbphmcc7six2 +4threek +8hzmfhrnvt +tbmzgpgkkxc89z4sqpd +fivefourdjpdgfournine37eightzqbpgcnfrq +sqh6llxn9z +five1sixrqqclkhx334sixone +289 +nqcspsixone822five +bq19 +mxdqptgg99982vpthreesgdgsf +vp334fourhdtjvlgtwo9seven +3five157sixgzgxxfive2 +dvmtwone3sixfivetwo6ninezpjv +9trtrdkldqj429hsrtd8 +6three3sxsbbhpgsix1 +3gccsixcghh +six4nnbg +ppvljnh5 +sevenmghppptnrtrzh7 +4sevenszkgbpldhklrtclm +9qjsxmrmdm +twoskbhlqhnkmgzkpvtft9five2qrkeight +1v +988fkxgkbonerglfsknxr5eight6 +xkdklvjbhv977lvlnmrj3gnfjrnttm +1fourthreesevensevenxfdmtdone +fourmg4xtvjbfmqkhtbslq1onehmtrtvsslrjdfncr +twosgdlxsixfive1 +bscpkcfp8mhpvzn7threefqgcpfpmftsrmktwo +sixeight4vthcxd48two +1ninehclngfzbktvpjone +one2sixmzxdqxvg4oneoneztbmplctc +5tkhrmfrvonetwo +lfgveightnqdmrv9six +zzgmcr1jgzjjljhqmtnbrnbt +one3vfour7eight +fourseven3ninenine5four +92kpdtggsb +onecsfdhsn3gqmtfhc +bhflvgdfkhprqqdgs6one +1five93pmrhdvmgp7onesix +56mgkt +rksixfourfourthreefive3fdrbtgmdt2 +8one7 +rgvccbsrphxkmdgjkrjjztdzzmkgqbcdkseven69 +three4eightsixjgbnthfxvltwosevenxjkd +5cffmxhdbtgtlffdb +8fivetwoneb +5trtgsgkvplfvqccknine +two4gjjmptwo +two845lltssr6 +six8xngnhbctl +nhbxglqfjrhmhneightqmvlnqtwo53 +7nsr +one2seven +8eight2jphsz9 +9fivebv7kmxqtdvxq +ninec4four +vrtczjzbzg8bgf +pvhnfhvsixbppv4oneshhqp8jprm +tnxqmfive1khnmb +onefivechd69nine8 +sxeightwoeightkpjxbkrvtbllbxfshseven4threemkbx7 +twofgcfp7ddjqvhrbvmkjdsltfps9bttz6 +sixninezpsbrvhvlz4 +four6sbtdldjcjrn7 +79drd742 +mmccvnldbhxcfnpxrftqc1sixlncsqs +jjdpbsm2 +9fnhthreefourtftrmqhkmxrpnnhbxvk +five168sixs4 +65fourkpzbhhgsghxvhlvlftfmck62 +8fivesixsvmzjhdmdqsixntzrckdk +gfzjxptdqnineonepqqsldlvjrg5pdgthrslpfcfive +38mmkcseven2four +vghjzfchxsqq8fivefourone1 +tttjzcm3 +jpn764tsmrfvtjp7four +onelhbhkmf7 +5ssfzvfrrvgleight71 +52lkxkxdjch5 +3eighttffhffht4 +832 +2gbhzrgchz +threessdmstrhchfq73ftcfbrtrvf +8xqs9scc +xglmdxq24two28kcckrsqpzone +16mkcl +ldhmz3 +xzvttst5 +drkkc3 +8zhbplhvcr4 +one1xzbrkd59 +xzzbsnktjhjltsfrrrz3four +8vlfgxgzsnfljbnnmlpz5nine3three +99onehzdqm +5zdtrvccn +75sixsixkxldjnxslnvggnvvjbzcrqveight +9sixztkk +three9sevenone +zxsgxfxpkpp45 +9hkshgthreekkvrplztccvb +sixbvdxrhrc16 +1jbjbqhnqgg5shmgfm9seven99fvpnrrpks +sixstsxgbmcx12qhhdr +9trfxqzkdstwo2dzone5three +one3drbrbtsevenonekmfdlffive +nsnchfkxttwo2zgpbvkvktwofour +cnzgzdvfm9 +8fst5jsgmxhbgklninebkkrs577 +xskvpkzcx2twoninebslrbdmqseven +qlbpjqmptkseven9lqmcdvjcxqsix4 +eight7six2 +33h8rxmtlctrz67dz +3rmkrn83seven4bxthree +mmznine55 +1onefour +two4fivenine +fivesevenpp2onexcxjvllseight +onehtfzdtjxskmzsbc4sixfourz +mfkttfxqvtdqdrl93 +567 +qqpnrfninetwo55eight +4qqmlrfbfrvpxvphjpbc +nltblqfourbxxrrgvgkcbb5hzzgfour5dmdxl +three2526ngfzssixsixseven +1tffj2fcddnfxrzx34 +59jd +sevenr8sevenvxltmxcssttwo9 +svklhbtwoxbbmk6ninekptrln7sixjqbjgxdhzr +krbmcxpnxfrn4 +pnkfournjgpggxzjd97two +cplfrzbgbleight2z7six +ninep8xxxnine +xqlrnzlz92ninehblgkztwonerc +1nine7 +one8three361two98 +nine367qqslvgcxftwo +3fournine3twofkcdmx6 +1b2ninethree +6one4sevencnlsqzzmcxkxfnqjone9csmkx +oneeightgh44eight66 +6x527threethreerggpfcfqlf +eight1tnine7gjvtpvmqb1seven6 +six45six7fourmnhbskfthree4 +ltf4 +3hgqgdsmnsnine +hjqneight5threeeight +onekxbrlhkxgxbmbn6eightfourltspzkqdnone +llfphldmghqrcnineeightonefive9vldfskjbhl1 +sixpjf5gjkdqkvvqhj +2five685kvh17four +pgslffcdvsix7oneightcs +lznbhzonefivezgj45crzfl +twosjggnvbxcmtwo8four5 +fourhtstxbkcz6fclrvgfrgbv +nine4ninefourfdkdmjvlvzgsnjsfseven +three318lmzcfive57 +5pmcnc +861 +qbbhpjsg5r2 +jtxcphmrjnscfhqhk6seven2threefive +qd1sixninefour +four7fivethree65 +7dlzrddgrgfour3hxsttlnkbm29 +four4twonine8 +5zblkgmxninesevenbrhntxm +xfvl9589 +five2seventhree6gbzb2 +cvmqqtskxlthree1 +sevenseventwo9xthreevzfdmfqvdf6 +six72sixeightnine9 +xrjnqqtlxz8bbgsqrseven6two9 +29seven153eightzl7 +sevengntsfmzkfb8 +1fiveseveneightdbvbtszptqlnineseventhree +four6rks1v +52eightninez +5jspztgxrpt +bq8jpttmm2 +fourctnlpkbrsfive9qd +85twothreebbpsjcfh12oneeightwov +xhxgfrcljq7six +zh9 +9sixfiveseveneight +rgqzbrldqrhtzjbsbzggktnc4nine8one1 +xcmfbrprxr72qqtnine +tjphvghjfthree1one +twosixeight9fourone +eight48xronebc +t6two34nkmfgmsnnvlbq3 +eighteightkx86 +82b6fcvvxpsx84 +threeeight66two +six4pkbhtxlteighteightsix +three7snrrdfb8sixninetwo4mltj +5jqbgnqthreemjzgbvpdeighteight8tvf +nine6zrbpsfrfqnsixlkmxrkxln +2fivedvkt2998 +j2eightzqspbs +mmp694eighteight +3chzvrsrhzrcrtwoone2 +qqqzxcqmbb8nine +sixsone7onesix1vvrqszvmnrh +8threegtfnmkgthreesixthreeglhzqq +threefiveone2three6seven4 +sixzkqbcg1 +two7seven85five +cfhg3zmpfd644 +btsrthdbkt6242dhl +hqlgnine5two +2zgftzs8twovt +mmpcgngmjjvbnsix35threezxjjxsqnlv +lmmqsevenvjcvcqj55fiveninernmn9 +two7rgsbxnmddtjd +36foursixsevencjffhxrsq +4jxzfhxrphtgbjqfivefive +99pqtnvtwo9crsbvsnrmtpltthree +threedhk3hgvkp8nvbk6 +fivelkxdgvsq6twofive9hzjkdz +ps7two9pqnnnvqpdbcpttjgrjl +jjcfkvqdcl4twothreetwosix +47one525 +23three2 +eight9four7gddxxfxcm9gdmmnfvbxr1 +745 +gkblgnrzsblklpb5bc8ftrnineoneseven +jghbzdlmqbjm5glsqfffvzksc +eightsix1five +nznrzbdsv4 +16vdxm2hlrgtvgtdrbsix +txk26eightnrjxrrlvffour2 +threesevenddmrsghzsjk2bdcqx +eightthree9blrfjvrpfnjcfqrxcnine1 +two7three81htcdvdnxg +seven1three6 +kplnzdjmkcrthreefour38 +bvf1sevenmcdfnv9lpnnh +6eightqcznninesix +two3sevensnpf6v +eightthreeeight4986 +9seven7nine6nineseven6 +3two91 +six97three26hlxczxp +65twopggttdksmtsblfpjbcphzc8eightwopx +mbxtfmkfourrkspbkvbrnljsjhzpqsgtvrr2 +sixseven9one5 +three7twob98 +6c +5797xjtwo83 +chrbcms6vpmrpctssbvqmvreight76 +mthgpstgchone6two +597 +1799gjjdgzhg9eight +vzqkgj27zpvxltzvrfcl47 +381lmxkxrfhbxqeight89tdhpbpqnx +sevennine4 +29ninetwo1tvhpr6three +dlbqfsdmdxhszmcpzshdthree3hvc2csbtfthree +19khmsnhone +twofourbtlsl1 +3sevenssevenfivefour +8seventhreesevenseven +three27rseven +1jbdtfcdvvbzhgfsixrzqxkfktjmhkhfive5 +onetnznrrcthreefmmfivesbsvg4twothreetwoneqq +sbjfxeight2tzbdkvqmmdd2 +vc4xfsjmt +bfive9dmqgfnzvtngkbvthlrfjmsjtclbzbszfour +31nbzfqvckd +26kcdkzbjnpkpljxhgnhjgmtbrvkntjbqtwo +3eightthree +eighteight88 +five6bsix3rkchjzlfour94 +one9rrrbx3eightone +6fourkxpdmt852eight +8xhfbqqklnfive2one +4ninetwoone6 +seven5seven +1vzprkvk +mczkrcdx7rzvgdd6ktcnktpfkpp +sixnine988one +68shx +jqfoneight4sevensevenhmcrqjlzhnl6vcsqgmgnnxqhvchx8 +1fourgqbjvjhzdppdq +lcxjghp2 +sevenone8nlh5 +nine94krdvjv5seven3 +ninenineseven8threentgtlzfnrfbhxxzn8jt +nine37 +hbzztninexrrktrlktwohr1765 +5sixjdvfxdxslhthreethree +2eighteight +dfnbf65 +4onenineqjnlpninekgk +oneoneeight974 +4nqqm83ninezkmbcblh +7tpjhbeight1 +fiveninefdcnfourvdjcnsshnine3fivefive +344 +crnqzpztstxvcgjdmkp6 +hgcvbscglp63tpfive +seven5fivesixcbtblmlsixgvfbqttzonedld +43threep +zshzcplxth4nine2zcgsbzdlxtzbxggnine +cqtwoneone9ckhnzmzfsevenfour8j3 +fiveshs8ttpcsznh +hdpqds3seventwokbzlhxpj +joneight9 +hmxxnxhqfivefiveseventtgxqcxc3 +59sixoneonezjgbshzpfg +1gqqz +8two38fourjm7 +1fiveeight1four69 +88eightwoffg +threenine3threegqvtvtxgninerdprd +7sixthreesixsixmgzlqlbsslseven7 +threegmrbgmsfourfourbvmhzpctkd5rzx98 +five193146mmqmf +41fourxone +2jhgqrkmmgbthreeeighttxg +5xxbgpmm3 +5twonineffsevenfivetwonine +seven98 +one7532rcc +8djrctpqvpcd +eightqqnhfnn2pjsevensixx7nine +jkzjrbhsevenseven1 +4tnkqxkl69nrktzz +six88five9nplcm +xngrktpqclsmkqggj935oneeight +8fourgbns +eight47nine1two147 +vpshrqvfkjctpmhcfc22eightmqdxlsngbfn +rfive1kxfbcpq +twompnqfvqxqninevgvhqlpfqc15seven5eight +9fournine4ntvhbkbhqn48mqhqhltbjpzrrgb +ninesix2four937 +6cxpmgqnchk33mfdxfqdhxbfiveonethree +9mqmldz3kjnsgfoureight +4dmxtdvqvrvdrbfour5q +8eightmcsbfive11four2thqxmbktdl +zddeightwosixlmhrzfksevensevenfive3seven7four +lvgfftzceightsevensevennineseven5twobkd +nine7three +zlmfvjfrxrrdmtxg965msd4 +two9five4sevennmrvdgzrf1bjdzbtrdlb1 +tjbnzrpzrflpfsrprsg9 +fourzcqfonesix279 +75fxlvc +ldvmnfqpll7fourqxzpfctfxp1nhrhpvkbtmone +seven4ninebpbdfjsxxmbqvtwo6one8 +fivefive47seven +rxeightwomgzhcbnlmj72 +eight34xhbcmeightfour3 +nxszsbltqhthree4 +7threefiveninecqzfdjpdcg +kdfour2 +ktworhdsfhhfqcrbzdslthmt2 +dpjbqmd7689 +threesix8 +61113threenine +ninenine77fhtvsmfh23onefour +bccdxg5three +2eight1bnrx +eight7sixdvvrqgt46874 +35onekpnthreeprznkpfvlneightwom +52five6 +one3foursjnngjznqkfqklhjn +eighttwomzrxzfqgtdthree3scbjdnq +9fivecjgdnkxrt +5nine442fb8 +nine6one +241fouronenrlb6 +97sstjznxfcpccngfl7cxmzzcvptfive +gvtsxbqzcone52 +5845836fourfgrvrchv +7247zxfkqhvd +fourxtwonine2eightfive +znjxhfour229three +fiveone8qjfmjbnnc +1sqdjlfiveh +fivegxfj9pfbxf5 +cnxmvmcrm4cfivedcnrnneightwosd +four3oneone +hbtfjlnplcsrxkt6rcqpfdseveneightwoh +jqknine9xfour43sevenbgznxhh +pvtztgjv47 +one9oneeight +3npsq +ninekmzdninejk7 +6threeninefhcpbb +266 +pvtwocthreeeight1 +lpmshscqztgsgsb2zfcddqnvkseven +dmoneighteight78oneeight9zqszseven +eight8eight +fcdlflbtfiverxfx9 +five7six5 +hhvmsspr4four8hhcjdhnthree +three8qfzjpdztwodrkg5cg +919lhzrx1 +foursevenfourfive6lvfour57 +crzmt7 +two71pzxnxtjkngfzm +sixbmzlvcnine9 +hfbeightwo3eightfoursixfive +j5twotwo57nine +rmqq3sbjqnqmdjhmbp91hp +3threezr +fivesixfour81jqxx +2bfeight7nine7 +fourfiveqjfkzsdxmgjmpmtone3hbgcvq +7nrshoneninetwocpphnrfprz2five +twoseven1bqjgdz2 +one7qonevmvb4sixhsbqgp +fivethreethreegmdh1 +lv7d89 +2tbrnmflxfhhsixddn +6sevennlhxsevensixt +pd2kkfvtjbbgvfrcts +djfoursevenflp2three6 +bppkvmxcrvffssdxgrr6mtlthree9six +4szvlsixsevenxttwo +ppggtqx8 +two3three6five +threegplsmsjzjfcctwo6tkrkzmnk +srtj2tsnxthreeonethreep +szhnzblxslqthreejveightfvrrhbcqjqmmvczh1 +five2five25 +btvlzjhrxxdqdmbbcrmbffpmlmr9four +1jdrpjpvkmmseven +85bbbht +2onel2p +hdsfftwotpqcgdbdjbgnvfone3eight +fourdgtccrxdnvfszgkjsj38 +twonine6twotvqxpskhonejsnpmtpctjfive6 +29eightcgskgdnmnhkpp63seventwo +2seventwofhktwo9 +8kx +32zxdzvfzjvtwofive9sevenfive +2seven8pmdnnthreehnvltl7 +33sevenfournvnjp24 +two3m9kcsppfour +hjfb9six5gtbppmzlfmfourtwodqzppcldd2 +4qlkz3 +4ninejzgpnkvq +fbcpkspbcgrn6dmclmnqldeight +sixtwodphp833 +sevenonesix5eightsrzpjzpj45rczn +9fiveltfqjmkzbrm8oneightbq +mxfqsrs5fpeightfive7mvclrlqhhkptpbqq +438rktthreegvhltmsv +dcl9xnntwosixthreesix7 +csxhsvkkkhfour4slkvjk1eight89 +three2eightfiveone +17kqnstzmbthree9seventpld35 +ztxjhftwo1f +ccfvc3three9five +fmngmbkjppkxjnzqbqldmspbrrrhhrkrsix4 +9fivejthreepjtmtfive455 +4ncdvqfiveonefive5zxgjpptbnbsmbrfdpqrjnx +ljctvztrxncpxsdtttwo2tnkkt +five544mlzkztsblt17fivesix +9five35bkbpjc +6fourtwo +nine5hqlbjp1onenvvnvsseven +5qbvsbxtktqhgqxfgprsgsrrpdtpcmr8 +hhsgjxlz3gzxhz14fourtwofq +6three8rmtrbnhvr +9bhxvmhldnm6 +vkjjpkgdmxrzzfour7 +rhvrsrthsevenfour3eight5one73 +msqdzmfzfeight6qhrvzcdxfourrleight84 +pjtfflgfhqnpdk6three63five9six +1sixcpcvbnnine9eightonenlnjfdfdmxcmcb +zpgrbsevenmqskhgtrm6 +8hnqmmgrnsxhrxjjc2qjbbvpknh82 +5six7threepx +bmlxvnqrxtqzkdlnnine5two9bpphfdhqj +mtxrblghxrsbxhmgnbvgvffivenine49ztktxvfvseven +tnqclrllq9fivebddnv +56seven222pkmqk +74eight9pfqghssgk +nhmzdpbnlreightqgljp6 +nf3three2 +eight9glknfltsqsfdsixfour2tcfnzfmf +four1ninetwo4sckcbgzrx663 +eightbcfsevennqznfmfivetwo7qgdjtwo +64three +8vgggxllsrhqjh2 +7jhthmpmlxlptgbnscxcthreeeighttwo3seven +ktqlfveight1eightjnfxvvjk +99qjcxgnpdvnbjqprbqnsjone3ninenmxkslmdsx +9gn2 +qtlztwo7eight2 +nvzhsjsdp4sgrbmx36 +fldvmnlkq52nqtsccgfgtwolm7mmb +tzvgkfx6ssnxfeightwov +rrl8pxjj6onefour +3hzhqbrdspfrn2eight8 +jcrcxtqh8three4 +ttwone449cxvvljcpzpqmngtzslnq +3gnkgbjnsmxv2fourd8 +9zt +kckeightsix8oneeightsix36 +vjcg4p +jkzr3 +twofiveone1four9seven5cnhzm +6one6 +s2twosixfvgrglfive2mtkrxznllj1 +cnhbzthlzllgghkxjgtrph45 +six5two +nine5threefournine +1rkbvrk8threevfkdbvxgj +28six7dvone8 +74seven +6threeseven92rvpg1 +hxvthvgk8vhn6kmljfnl +fourztpprfkonemnjbsfdjlj8 +djnhxfxxl1five2threezgthn7 +vmhmlgljrpsix93sssixsevensix +dqk8nrsrk +jjtdjkfivegpfspqqjthreedkntgjslqreight7n8 +8four12 +8vlcfsixthreelvvdv +zsjqvmghp6seventwo +6tnjfl2cfzcbgqp5 +vgjxleightzqfklqdx4vlpvp2gqxdxpzk4 +12mshtkbgsndrdx7three +htckznt2threeninej4fhmrtthreeeight +four8hdbrmptjnine +2xbk +ljgcscxxjgdbpdpzfcchrqnmqqthree8 +three7six51 +four5five92ftqhjhx +eightfthreebzbhk4tceight +2fivethreefiveeight9fbk +9four613two8cnpzgcrnmc3 +fqfive38 +nine88mkthree99lkvzgvpjk7 +784dxxcpszbzkdlsrgnnqfsixone7twonemvh +onetwo5tzggnsix2 +xsclx3twojhslqrnc32pxfqsjxctnb4 +zrdbcccznzlfgz8jfpgllczxtnpmp58one +four21one925rntdr +38six +seven3nfttdgkjhklmdqbkv8threefour +75kblsbqhonevsx +fourztseven8twothtwo +gmktvrd44twonine4pnbrkhhzpl8five +nineslj1six8two +one98mxnkrbv +9zmfour +8dkfmthstlqvs9r +cjmcjjjvmceight9rslcctdslsxthreexsjbffnine +5eight677 +4twothree +cvqbrkmgthree4tbmzrhqtpx +24twoone +nphprsbcfhcfrggktgzgvrninesixdnchjd2 +9sevennmxzpjbhct +sbchgzqgdk8twosix667 +hkjlpqgtmglv3eighttwo7two +gflktjvlfivetbgmbsxzdpdxjdgkzvn851sixfour +five2ffivefiveonekldfpcfjg +mlnvqltfsixnxqxsgfpxrpsxmmlnzsnineeight5 +six1z +sevenpvhgctkcvgtjstwoeightzgqlcgq1gxzj +fivenine13rbbxfs1zpvrstlkceight +6zmcggdqbfptwofourfphdbdg99four +one65ninetljqcfive8 +six57fourthree4fzctnjzcdm +181one +3one315gftsbtnggrq +gcdvnzbvv55onemgcftkmzrxf +697cnzql8eightvdsngsglkfour +fourfiveqjptdn6 +pq83six7fprdbzvmgrhkzmjmxgnkcr +nineeightfivesix8 +fiveseven931xhtnvrtr9three +seven9ninetkhldts +6threehlzfbppqmhrtxnfoursix2cxn9 +mphgdnggjt3flmdz14ninejjskfivenine +boneight7one19179 +npdjlhskrdmvsvhtldsthree5tpt +6rvpnvdqqpkkfvgclctqcmpdfvftt68 +91four3twoones +seven793 +8h2four6cdsevencsjvcgdlrj +4bzxqvp74mmdvjfdvq4fivec +31tlvlrb75 +nndfct5ninesix +ncqsnf6six +fiveonefour8 +sixtwo6zjhvhkoneeighttbfv +three5dcpmcsnmfhtwo5 +eightnqqkpnine4ninegb +lgnsrbbtkgtwo7eightthree +rlpcrnscknpjpqm2qqpllrzk8p9 +tvpqncpmffpmv9nineninesixnjbhbhgdlf2 +lzrhjdkfhn1 +jgjfckbrpvc3fouronefourfive3eight +twozhkpzcdkjfour8eight +5sevenfourtwo4 +1sevenfivehvppxvxvcnsnhdrflonefour +4pshnstwo46fivetwoone +three1onemdlc8pcqkzsrnhqone +qvgfvfxnrp5bqdrlqd +jzgcnslrfxxc72bqqqrzltqm18four +nmjlnxktmvzzrgkbrffourdddbbt7eight +3two9twothreerlztqftcgkznfour +8fivefive5tkv +4vtsnlclbb37eight2xprhpnddzj9 +8hbmfjxmqckxqrdjqxrnhg +onef6 +8fivezcjtworgbxrfkjkbk5mdkdgfbnkkkljlv +5six6prgqhbvcrr1msjcct +mvzdrmdlrsdz9nqmbkb6286 +367 +94vjktbt +twofivefour7three454 +2n +six224 +z841dzxcthdx +fourvnlj7twocchdcn976four +threexmxq5five +dscbqrjqmssnzbbdtx34 +8sevenhrvzqskpczsfhzrhrfch +4qx +6eightnine +cnbxjrbsseven8hbdfmjvk6sevendrglnfq3six +82threengstmq +19f +cvjrhrnxnfiveksrjgh8 +2six1dlpdds +5xzhhnqpnsix8qthckdhggfdfour7 +9threetwoqznvtb4 +one8dseven +3fivefourjzbk4seven8tvqgvh +9kffjzvfxtwofive3seventhree5 +5onerxdcrrlgvfbrvrphnine5eight +614pnrbdp +eightfour1cvxjbztxgzznlpr8qbzkz35 +four5seventwo3 +9fourzzjfdqdkmxbeight41eightwopr +eight6rfdhz793twonevkf +vmrkgjgthreethree8ninesevend6hmjmkfdqz +vqstkklpj4j8 +72jglrpp57nine7vcr +sevenfbbgpxlvk7tmlvtjsixdtrnseven3d +5jlb4 +jhkslf976fpseven +jpfive1 +two2jpfztkeightssfsevennine56 +seven6rjchpgvmqgrxdddq +four7eight +zqoneight9mqmjtjcb +ljcmvjf1ngrgzmttttqprks2kphjtgqvmeightvfmzqhdhgj +77ninejjxxgbffive6zzgd +4pthree5zp3one +mhdzcmmsseven4three3bngxxqzclpkmcppxtwo +bneightwo33ptmpcbfournine4five +sevenfrzffbklg4dmdngxmsixnzjgpkngsfivetwo6 +six2onethreethree +xhx4gvkbtcjbqvrhtwo6 +1mdfvninevchtrqthree +onecrnninedjchhzkmzthree4qjnclshjlbn +threeccgbz6sixlhnkcpfdzk119 +61dtwo +ncsbdxnp43jlrxfhgzlrfzqjkzbkd +nxfztwo9lhcc +mds9vkninehzcdk +twofive4jdcndg +374 +threedrsh9eightcqkrslljl5tthree +fourtwotwo8kl1bvplqfrc7 +threekldmmjkmc92sixsixonenine6 +bllccpcksq59zznr +n35lxtnq3 +25hmzzxv +38sevenkqgtfcpnj +ntfceightmvhvnzjvv37bsj +4sixfvrtgdsjvxsevenfouronefiveddns2 +eight29lnznht2oneonekgjkq +4lthkrtj1onesevenninerfplsixfhxdvlhoneighth +1seven8eightgxzvgmnqj +7qfqvxcjttwoeighteightqqsgbsftseight +slfqkljnine1oneeightlgskmlqgstwo +sppqhlxqzkdtdqc6qtxsssdcf41 +tnggpjrnmrrgzpssptpk32 +6pcjglgdknjoneightssb +ninefivefrglbccjmrchvbpsgxrq15fourfive +7five1lmndzphnj4fouronesj +jvhkb24htseven7 +7sevensjnrvxmsixthreesevengrh +9h5xbdgpdjjkt1 +c14vbjvcv +ninetwohfbm6fourjpgz676 +gqdtlzqvkplj48cxvtvjjlkmbstcfxd5hkbfdgtf +ninelpxd8eightvmmbvgmhs3six1 +9mmlj4vvcxlnbsfoureight +nzrjlxqhnffour1 +hl5fzsxdbvklx4five +182ninedghflcgrqz4ns +eightdmbqddsqmfive7qshcvdjx +vdfzsevenoneone4ninemhclrkjspkxt +2three1qzqhscbvmpnine86three +1ninevvlzft +1ghfnrvkn97sixqzgtm32 +sixnine4rsjghcsznfvs +ph5mzknlknp5 +3eight3twotchnsqdtbkh +63threerjlgv6three +fivevvcmvrqfkdfshxjnfgsevensix3seven8 +21onebcsgvhtm6two +bnjpqcqdzmeight2gtjhqeight +1rsjbbhtkbbfourqzdhlone4eighttwo +6jpnnlbstgjfjdrdgnthreepgh49hdxqghr +five3oneonefrvnbnnlz +gbseven9five6 +nine2hdltdjdp73phzrjnonegx +3two3eightjszbfourkxbh5twonepr +5cfprzgxtf3465five diff --git a/day-01/src/bin/part1.rs b/day-01/src/bin/part1.rs new file mode 100644 index 0000000..ae94c03 --- /dev/null +++ b/day-01/src/bin/part1.rs @@ -0,0 +1,9 @@ +use color_eyre::Result; +use day_01::part1::process; + +fn main() -> Result<()> { + let file = include_str!("../../input1.txt"); + let result = process(file)?; + println!("{}", result); + Ok(()) +} diff --git a/day-01/src/bin/part2.rs b/day-01/src/bin/part2.rs new file mode 100644 index 0000000..aceff8e --- /dev/null +++ b/day-01/src/bin/part2.rs @@ -0,0 +1,9 @@ +use color_eyre::Result; +use day_01::part2::process; + +fn main() -> Result<()> { + let file = include_str!("../../input2.txt"); + let result = process(file)?; + println!("{}", result); + Ok(()) +} diff --git a/day-01/src/lib.rs b/day-01/src/lib.rs new file mode 100644 index 0000000..faaf542 --- /dev/null +++ b/day-01/src/lib.rs @@ -0,0 +1,2 @@ +pub mod part1; +pub mod part2; diff --git a/day-01/src/part1.rs b/day-01/src/part1.rs new file mode 100644 index 0000000..78128b7 --- /dev/null +++ b/day-01/src/part1.rs @@ -0,0 +1,30 @@ +use color_eyre::Result; + +pub fn process(input: &str) -> Result { + let sum: u32 = input + .lines() + .flat_map(|line| { + let digits: Vec = line.chars().filter_map(|char| char.to_digit(10)).collect(); + match (digits.first(), digits.last()) { + (Some(first), Some(last)) => Some(first * 10 + last), + _ => None, + } + }) + .sum(); + + Ok(sum) +} + +#[cfg(test)] +mod tests { + use super::*; + #[test] + fn test_process() -> Result<()> { + let input = "1abc2 +pqr3stu8vwx +a1b2c3d4e5f +treb7uchet"; + assert_eq!(142, process(input)?); + Ok(()) + } +} From 1ab7c5779f72f353209de49438cba11ce288229e Mon Sep 17 00:00:00 2001 From: Kristofers Solo Date: Sat, 2 Dec 2023 19:50:16 +0200 Subject: [PATCH 2/2] finished day 01 part 2 --- day-01/input2.txt | 1000 +++++++++++++++++++++++++++++++++++++++++++ day-01/src/part2.rs | 59 +++ 2 files changed, 1059 insertions(+) create mode 100644 day-01/input2.txt create mode 100644 day-01/src/part2.rs diff --git a/day-01/input2.txt b/day-01/input2.txt new file mode 100644 index 0000000..8a2eb54 --- /dev/null +++ b/day-01/input2.txt @@ -0,0 +1,1000 @@ +51591twosix4dhsxvgghxq +425nine +llvmhjtr8nbbhrfone +lpbjvpbtdfvtxtdvkpjs7qrvddkzmjtlqtg +3sixnineseven +rfmsqbkms7three +33291six +oneonevstpxxrjpnine7six +75sevennine14mzqljsjfbb7two +three6two9jckvk +zprj8394threehczfkncntk +mkqtlrzmzfsix2ccqsnnxtwo4sevenxp9 +tdszrfzspthree2ttzseven5seven +two3fiveckrsjr +four14three7 +4fdkcclmxmxsevenfiver +5sjnnfivefourzxxfpfivenine7five +77sixfive +twofivecrkvmpcpvzddvzcmjhjlthree8fcrrninefive +fivetwo562five +2ninekvdbfnmjmd6ninentpktmgseven92 +2twonine +5fivesprm4ndqzbqnjqx +7jfq9 +1hgnkmx91 +2jcrmhfvntc3lqnine4five4 +zvqmpjrpninejhqrnineggghcrjfd3onefive +11three64qjjhqdnonetwo +rmvzjnbonetwo6 +eightfive698threenine9 +8eighttrfngsklrkfivefourninefourqhclfcp +1z +fivegfslvcvtvs4 +sfq1twosevendbjq2nine4rzmdpmgcx +seven816one8jmcqqhfnthree +twor4325rsl5 +four2vqhninexqqhlfhfouronejks1 +7hjmmxhdnine8 +1eight3hqgshtb147 +four6sixeightone +twomvkjxbqxzhnnmjxstkgfhzzdsc1fivefivesix +3slhhsfnkhhlxtvqfrhvdzzkvlzcnlxgd4ninechp +meightseven8onegghfsfeight84 +kmxckzqdfeightsqfivefivetfg77 +dc8 +mktwonecvqsxhqrjfninethreethreedkllgfxrxrffzvdbqdj2c3 +8shsxjmqmb3kpvj485nd +rbdlrxsmjvnkttnpfour6twoseven +bkt1seven +threehkjhm9 +threeeight8sevennine7nlx +jmvj4ctqpccsixseven +4fourmtwoxcsvlvlhctdpxns +eight7three4729eightbslrgrhs +26seven1 +7ffseven +9rsgmlgcsevenxkmsd17three +snzn6htcqxqj7bf +ppr7six73znmtmgrzrp9 +61mj7dvddfseveneight +threevfive3fourseven3 +xznsxcxsbggvctqqb82two +five4none +foursevenrl12threegpbvdsspkrfour +9sevensixthreerftbxgthree +6fph +996three +64pkndfphqrglbgcpseven +72749twoeightcpqfzqcrns +xnzzhvssixtrlfftrjr5two9threenine +four8hzkkrpb71glpqsnkvcb +sixsix1 +9lfdtwo4sevenjhv911 +chxjljdh8jztwo61three +twothree11 +hft2dmntjgzg1 +rtfckbnqxfdldgttbltdr33kqhxhkeight4 +ninefourseven4nine5 +25fsmkbsevenpzhgdhnxnbsix3 +bd1frglljngg8one1 +34six +96cpcmztffqdrfrfslfour4lpnbmrfm +psxrlseven2zmkvrhckqcxdl91 +ninexkfjcjkjb8three4xeighttqsrgbmfdt +2threesixeight1 +ggxzf3gkdvsqxggltxdhdbhm5 +sixtwo89six +eightnine3 +threemdrhqpone6 +sncpmhtwozsfpcpxgq9three +rtwone37three7xhzlckfclbltdkrgqbcrhpqzg +68sixbgsz35 +kdeightwo69 +four7bfq3four +sixone3fivedgmrrvjqrr7three7seven +sixthree6 +onethree3onevdtlkrfour4 +eight4seven5cszgblfseven +two8ddmjtg +fivejnvrdmghnvrmrjeightnnxpv8 +2threezvklqkpml +two76cdfrmfckbjc +zqxpg42sixeightfour76 +3eightvqpxzsn2bnbkrfb49 +eight85five +sixngs8xjseight4 +296pfsgnlpbmngzlrrldznmrj1mjgvtxkr +six4bvrdgxh +34eight56eightsixhphnbgscfb +two4twosixthreeggfdzlbkxxqmtxtczdfj +four4tqrjxxcrztwoeight +one73zpfhjvjh2 +7eight35phcfcdzhhpzn49eight +zqcmlcqfneightsixrpmmhcrssk6dclcpmhzqhrbcnkxjdfjvrf +1threegkhpq7nfrksvm69nxpvgvthfzoneighttc +gtjsevensixsixb9 +nine73nine +cbhsddcmzmdv2bnnffour +85hhqkqmv +six2jfxfgpg9 +fiveeightskrn1 +khvcf3five8qj5 +sevenfive7ptb +tscc9psz3gtnsnksn +xzlh7zfivefivejgr +one4nine8three3 +2kjkbbvftktkvpbp8gkcnrrkr6r +565three718five +twojjgcfz3fiveoneftvnldxdhr2 +13three +phbvxsnnineksttklfljm85 +tvzpbgzhmbnine1eightbpjtkflllg +7five3 +2623four +nvfchhrbcone1nine +mjv5vtmlmsfcfmt65five1 +7one2 +4six4 +dlbzctlxpjxxqk96pmdgdfblbfjnsxjmkoneqgeight +seven4nzvxldvzvjpzlzxb4eightnine6 +2vzblzhrxnc8qtgvxxzgkeightblqfftjtnxrbpvlsgvd +thfdzxfqcthqfcnrt2 +qxfpbbnfczfourh4twodjrhp +4m2fivelklgfgr6three +4tsbs74 +one6twomzfncms2lrgzgsspkjmcgqxp +six5fourgzrhbvdnzzllh +9seventwothree8sevenfive4two +7eightdprzmjvsevenfourfiveeight +twosjzhsb29lqzkjbtshp5 +8four6two +bklkfctjb84one +sevensevenfive7seven6 +vklhzsjz5fiveeight5 +fourmlthreecjspnchzrthree8tb +7gsfvptnpcl2n82 +58mdllbtjkkzcmdgzbeightbzqmfour +2vtlzkzlsfive92vbpnq +jbcgqvr28ksbphtfourfourfksnxjhtb +21ljfcmgtmdqfive +threejhhstcxfive64sixeightthree +7tqpqngnrmnnxt3pjbcqjmktvj +fmqqc9twoone15four +5six13dnkxtqrxrh +8xxpnpfivethreeh5ktnpctlqrgtl +9hgmlnzsbmbsbjbg9 +8mnlsqkpqp18jkftxzfcklsgkvjr4threergdbrrzbb +eightglhhjsfl819lkzlxjvcshdtjhxvjs8 +gshmsmzfbcrhvnfnpppmmfmngcv2snrponeqgxvtx +9sprkdkk3cpjzlzphfdbhczbpssix +nine8954five +oneonettsixckhgprszjckhx2 +seveneightgnhzhm9pkthree3three +5mjkpk +sevenfour832five +fivellhglxm2twoneq +fqtfqdgeight2lfklmhrnfive +flqdfkmlfthdvzncvbfour7gq +793 +fourninetwojrfp4three5three5 +snnnjlhcnine84eightjthbkgtslhp4skglpzhz +mnxfgpg862ninefive26 +bmdtbfjonegprzlxqlkb4mcscbqnv +nine9fourfourfive1fivethree2 +eightfqrqz8 +fourpkd1bpxczlzthreecptvjlgzfmtqnr +25onejrksrlccgrqtkcsmzccnine +5nine26three88 +25four299fourfour +hlrbll8vnhjlfjrkd +ffourthreefourkgjbsnbc6 +eight8mpqpsgxthreegmxrhqkqbhgstcz +three82five1 +4dxvzg29fourdsh +ffgdlggchpcq7four34lfive +seveneight9eightnpjmh9eightfive +bnjrnsdfjg6 +76five +five4nine6six +q339eightkhnjsixttvqzlbchleight +koneightonenine2nftlzxnkbctmjvzk98 +511 +4cghqsix3bqr +958three +seven2vmrkjqgrlb5 +9three6one5jdrnlfour6nine +four2xdrqqsktone +1sevendxkhzglzxgcmonesixrplhlplhnone +6threefourhshvnszlqrzb +7hctfsqf2jzjkxbljg +sevencxncnc68 +49lfdkv2zbhddmbfive +sevenfdsmsmmgzv29two6rpxsgpdsjxljcthree +hgfqhdfb4mninesevenzngfljcvpvvkmghqxoneseven +gtlqcggrp6lzjfive3rtrqvszcrsevennine +qvhztzsfddxbbxsr88 +nine5kfnninelknrbf5bjrrthv +pfnmdzksjcjcbvlvgcbheight47 +sixfour8 +cdbxkcqseven1 +onefive65mdbrnlg +vlcxxcxhfkjhm6two5 +bfpnhlzq3tgcmhd4 +6three69eightgmxsseven +three1six +fourgqqgvltwofkxzmcfdmz4 +24four68nxs84spjnpfsdv +m1threesvlhmgsbn +three7jcvclg84sixfjvvtkfk7 +hznlsixjqnlvpmninejrvfpplbm5 +mgfrn6 +xb9469 +48713fivefour6 +sevenfiverzlhdzr59lbtvltccgbstzxksb +rxkppsh771 +dldhcgdvtwosix3 +one4phkrftwo +rrdrpfddtphv88jldqht +vgcpcmrj6 +9zdqnzlthreelxzmlhsgdc1pddz +669onesix +5eighthlbhzlpms7qvbftcrone +8mttfjqjnsf528hzvljcx +eight9tseven25csfeight1 +7threethreetcdxnhnnftwosevennine +54tsrjthq831sixcmxzqg +61eight9kb5 +qlxmg4zhcpfxvrhlgjlcbxvxsix +95two +four75eight +6fbrnsflmxstwo +25 +eightcdl979gxzv97eightwogdv +eightgbx85sevenseven +3rfvzeightsjcctzxvtcrsix +fivevqgm14 +dbfkfnfbckncvseven83drnkzt1 +11ninesevenxlxfr +4ptvstqt7fivebznine +5qmcnfour9 +four5mndpqsmxninethree56ctnlcpbtzmthree +four2bqnbcbninemccbzhrfourbgrccrsznskjn +rjdfqd24seveneightwom +9ztmbftvvzlqlr4 +qprftkd3vkfhtwofour33five +fourdtmjbtvvdxdhj5 +jpttch9 +9jkngffbxhg +one79twoonesix +2eight528nine2 +psncczvbeight3 +4seven7nlgrlzsqjsdb51 +five98lqc8 +nine377rcgvvhdghrg5scmff1 +8fvcxpr6kx5cpcrjdpnjcsj +ltlbphmcc7six2 +4threek +8hzmfhrnvt +tbmzgpgkkxc89z4sqpd +fivefourdjpdgfournine37eightzqbpgcnfrq +sqh6llxn9z +five1sixrqqclkhx334sixone +289 +nqcspsixone822five +bq19 +mxdqptgg99982vpthreesgdgsf +vp334fourhdtjvlgtwo9seven +3five157sixgzgxxfive2 +dvmtwone3sixfivetwo6ninezpjv +9trtrdkldqj429hsrtd8 +6three3sxsbbhpgsix1 +3gccsixcghh +six4nnbg +ppvljnh5 +sevenmghppptnrtrzh7 +4sevenszkgbpldhklrtclm +9qjsxmrmdm +twoskbhlqhnkmgzkpvtft9five2qrkeight +1v +988fkxgkbonerglfsknxr5eight6 +xkdklvjbhv977lvlnmrj3gnfjrnttm +1fourthreesevensevenxfdmtdone +fourmg4xtvjbfmqkhtbslq1onehmtrtvsslrjdfncr +twosgdlxsixfive1 +bscpkcfp8mhpvzn7threefqgcpfpmftsrmktwo +sixeight4vthcxd48two +1ninehclngfzbktvpjone +one2sixmzxdqxvg4oneoneztbmplctc +5tkhrmfrvonetwo +lfgveightnqdmrv9six +zzgmcr1jgzjjljhqmtnbrnbt +one3vfour7eight +fourseven3ninenine5four +92kpdtggsb +onecsfdhsn3gqmtfhc +bhflvgdfkhprqqdgs6one +1five93pmrhdvmgp7onesix +56mgkt +rksixfourfourthreefive3fdrbtgmdt2 +8one7 +rgvccbsrphxkmdgjkrjjztdzzmkgqbcdkseven69 +three4eightsixjgbnthfxvltwosevenxjkd +5cffmxhdbtgtlffdb +8fivetwoneb +5trtgsgkvplfvqccknine +two4gjjmptwo +two845lltssr6 +six8xngnhbctl +nhbxglqfjrhmhneightqmvlnqtwo53 +7nsr +one2seven +8eight2jphsz9 +9fivebv7kmxqtdvxq +ninec4four +vrtczjzbzg8bgf +pvhnfhvsixbppv4oneshhqp8jprm +tnxqmfive1khnmb +onefivechd69nine8 +sxeightwoeightkpjxbkrvtbllbxfshseven4threemkbx7 +twofgcfp7ddjqvhrbvmkjdsltfps9bttz6 +sixninezpsbrvhvlz4 +four6sbtdldjcjrn7 +79drd742 +mmccvnldbhxcfnpxrftqc1sixlncsqs +jjdpbsm2 +9fnhthreefourtftrmqhkmxrpnnhbxvk +five168sixs4 +65fourkpzbhhgsghxvhlvlftfmck62 +8fivesixsvmzjhdmdqsixntzrckdk +gfzjxptdqnineonepqqsldlvjrg5pdgthrslpfcfive +38mmkcseven2four +vghjzfchxsqq8fivefourone1 +tttjzcm3 +jpn764tsmrfvtjp7four +onelhbhkmf7 +5ssfzvfrrvgleight71 +52lkxkxdjch5 +3eighttffhffht4 +832 +2gbhzrgchz +threessdmstrhchfq73ftcfbrtrvf +8xqs9scc +xglmdxq24two28kcckrsqpzone +16mkcl +ldhmz3 +xzvttst5 +drkkc3 +8zhbplhvcr4 +one1xzbrkd59 +xzzbsnktjhjltsfrrrz3four +8vlfgxgzsnfljbnnmlpz5nine3three +99onehzdqm +5zdtrvccn +75sixsixkxldjnxslnvggnvvjbzcrqveight +9sixztkk +three9sevenone +zxsgxfxpkpp45 +9hkshgthreekkvrplztccvb +sixbvdxrhrc16 +1jbjbqhnqgg5shmgfm9seven99fvpnrrpks +sixstsxgbmcx12qhhdr +9trfxqzkdstwo2dzone5three +one3drbrbtsevenonekmfdlffive +nsnchfkxttwo2zgpbvkvktwofour +cnzgzdvfm9 +8fst5jsgmxhbgklninebkkrs577 +xskvpkzcx2twoninebslrbdmqseven +qlbpjqmptkseven9lqmcdvjcxqsix4 +eight7six2 +33h8rxmtlctrz67dz +3rmkrn83seven4bxthree +mmznine55 +1onefour +two4fivenine +fivesevenpp2onexcxjvllseight +onehtfzdtjxskmzsbc4sixfourz +mfkttfxqvtdqdrl93 +567 +qqpnrfninetwo55eight +4qqmlrfbfrvpxvphjpbc +nltblqfourbxxrrgvgkcbb5hzzgfour5dmdxl +three2526ngfzssixsixseven +1tffj2fcddnfxrzx34 +59jd +sevenr8sevenvxltmxcssttwo9 +svklhbtwoxbbmk6ninekptrln7sixjqbjgxdhzr +krbmcxpnxfrn4 +pnkfournjgpggxzjd97two +cplfrzbgbleight2z7six +ninep8xxxnine +xqlrnzlz92ninehblgkztwonerc +1nine7 +one8three361two98 +nine367qqslvgcxftwo +3fournine3twofkcdmx6 +1b2ninethree +6one4sevencnlsqzzmcxkxfnqjone9csmkx +oneeightgh44eight66 +6x527threethreerggpfcfqlf +eight1tnine7gjvtpvmqb1seven6 +six45six7fourmnhbskfthree4 +ltf4 +3hgqgdsmnsnine +hjqneight5threeeight +onekxbrlhkxgxbmbn6eightfourltspzkqdnone +llfphldmghqrcnineeightonefive9vldfskjbhl1 +sixpjf5gjkdqkvvqhj +2five685kvh17four +pgslffcdvsix7oneightcs +lznbhzonefivezgj45crzfl +twosjggnvbxcmtwo8four5 +fourhtstxbkcz6fclrvgfrgbv +nine4ninefourfdkdmjvlvzgsnjsfseven +three318lmzcfive57 +5pmcnc +861 +qbbhpjsg5r2 +jtxcphmrjnscfhqhk6seven2threefive +qd1sixninefour +four7fivethree65 +7dlzrddgrgfour3hxsttlnkbm29 +four4twonine8 +5zblkgmxninesevenbrhntxm +xfvl9589 +five2seventhree6gbzb2 +cvmqqtskxlthree1 +sevenseventwo9xthreevzfdmfqvdf6 +six72sixeightnine9 +xrjnqqtlxz8bbgsqrseven6two9 +29seven153eightzl7 +sevengntsfmzkfb8 +1fiveseveneightdbvbtszptqlnineseventhree +four6rks1v +52eightninez +5jspztgxrpt +bq8jpttmm2 +fourctnlpkbrsfive9qd +85twothreebbpsjcfh12oneeightwov +xhxgfrcljq7six +zh9 +9sixfiveseveneight +rgqzbrldqrhtzjbsbzggktnc4nine8one1 +xcmfbrprxr72qqtnine +tjphvghjfthree1one +twosixeight9fourone +eight48xronebc +t6two34nkmfgmsnnvlbq3 +eighteightkx86 +82b6fcvvxpsx84 +threeeight66two +six4pkbhtxlteighteightsix +three7snrrdfb8sixninetwo4mltj +5jqbgnqthreemjzgbvpdeighteight8tvf +nine6zrbpsfrfqnsixlkmxrkxln +2fivedvkt2998 +j2eightzqspbs +mmp694eighteight +3chzvrsrhzrcrtwoone2 +qqqzxcqmbb8nine +sixsone7onesix1vvrqszvmnrh +8threegtfnmkgthreesixthreeglhzqq +threefiveone2three6seven4 +sixzkqbcg1 +two7seven85five +cfhg3zmpfd644 +btsrthdbkt6242dhl +hqlgnine5two +2zgftzs8twovt +mmpcgngmjjvbnsix35threezxjjxsqnlv +lmmqsevenvjcvcqj55fiveninernmn9 +two7rgsbxnmddtjd +36foursixsevencjffhxrsq +4jxzfhxrphtgbjqfivefive +99pqtnvtwo9crsbvsnrmtpltthree +threedhk3hgvkp8nvbk6 +fivelkxdgvsq6twofive9hzjkdz +ps7two9pqnnnvqpdbcpttjgrjl +jjcfkvqdcl4twothreetwosix +47one525 +23three2 +eight9four7gddxxfxcm9gdmmnfvbxr1 +745 +gkblgnrzsblklpb5bc8ftrnineoneseven +jghbzdlmqbjm5glsqfffvzksc +eightsix1five +nznrzbdsv4 +16vdxm2hlrgtvgtdrbsix +txk26eightnrjxrrlvffour2 +threesevenddmrsghzsjk2bdcqx +eightthree9blrfjvrpfnjcfqrxcnine1 +two7three81htcdvdnxg +seven1three6 +kplnzdjmkcrthreefour38 +bvf1sevenmcdfnv9lpnnh +6eightqcznninesix +two3sevensnpf6v +eightthreeeight4986 +9seven7nine6nineseven6 +3two91 +six97three26hlxczxp +65twopggttdksmtsblfpjbcphzc8eightwopx +mbxtfmkfourrkspbkvbrnljsjhzpqsgtvrr2 +sixseven9one5 +three7twob98 +6c +5797xjtwo83 +chrbcms6vpmrpctssbvqmvreight76 +mthgpstgchone6two +597 +1799gjjdgzhg9eight +vzqkgj27zpvxltzvrfcl47 +381lmxkxrfhbxqeight89tdhpbpqnx +sevennine4 +29ninetwo1tvhpr6three +dlbqfsdmdxhszmcpzshdthree3hvc2csbtfthree +19khmsnhone +twofourbtlsl1 +3sevenssevenfivefour +8seventhreesevenseven +three27rseven +1jbdtfcdvvbzhgfsixrzqxkfktjmhkhfive5 +onetnznrrcthreefmmfivesbsvg4twothreetwoneqq +sbjfxeight2tzbdkvqmmdd2 +vc4xfsjmt +bfive9dmqgfnzvtngkbvthlrfjmsjtclbzbszfour +31nbzfqvckd +26kcdkzbjnpkpljxhgnhjgmtbrvkntjbqtwo +3eightthree +eighteight88 +five6bsix3rkchjzlfour94 +one9rrrbx3eightone +6fourkxpdmt852eight +8xhfbqqklnfive2one +4ninetwoone6 +seven5seven +1vzprkvk +mczkrcdx7rzvgdd6ktcnktpfkpp +sixnine988one +68shx +jqfoneight4sevensevenhmcrqjlzhnl6vcsqgmgnnxqhvchx8 +1fourgqbjvjhzdppdq +lcxjghp2 +sevenone8nlh5 +nine94krdvjv5seven3 +ninenineseven8threentgtlzfnrfbhxxzn8jt +nine37 +hbzztninexrrktrlktwohr1765 +5sixjdvfxdxslhthreethree +2eighteight +dfnbf65 +4onenineqjnlpninekgk +oneoneeight974 +4nqqm83ninezkmbcblh +7tpjhbeight1 +fiveninefdcnfourvdjcnsshnine3fivefive +344 +crnqzpztstxvcgjdmkp6 +hgcvbscglp63tpfive +seven5fivesixcbtblmlsixgvfbqttzonedld +43threep +zshzcplxth4nine2zcgsbzdlxtzbxggnine +cqtwoneone9ckhnzmzfsevenfour8j3 +fiveshs8ttpcsznh +hdpqds3seventwokbzlhxpj +joneight9 +hmxxnxhqfivefiveseventtgxqcxc3 +59sixoneonezjgbshzpfg +1gqqz +8two38fourjm7 +1fiveeight1four69 +88eightwoffg +threenine3threegqvtvtxgninerdprd +7sixthreesixsixmgzlqlbsslseven7 +threegmrbgmsfourfourbvmhzpctkd5rzx98 +five193146mmqmf +41fourxone +2jhgqrkmmgbthreeeighttxg +5xxbgpmm3 +5twonineffsevenfivetwonine +seven98 +one7532rcc +8djrctpqvpcd +eightqqnhfnn2pjsevensixx7nine +jkzjrbhsevenseven1 +4tnkqxkl69nrktzz +six88five9nplcm +xngrktpqclsmkqggj935oneeight +8fourgbns +eight47nine1two147 +vpshrqvfkjctpmhcfc22eightmqdxlsngbfn +rfive1kxfbcpq +twompnqfvqxqninevgvhqlpfqc15seven5eight +9fournine4ntvhbkbhqn48mqhqhltbjpzrrgb +ninesix2four937 +6cxpmgqnchk33mfdxfqdhxbfiveonethree +9mqmldz3kjnsgfoureight +4dmxtdvqvrvdrbfour5q +8eightmcsbfive11four2thqxmbktdl +zddeightwosixlmhrzfksevensevenfive3seven7four +lvgfftzceightsevensevennineseven5twobkd +nine7three +zlmfvjfrxrrdmtxg965msd4 +two9five4sevennmrvdgzrf1bjdzbtrdlb1 +tjbnzrpzrflpfsrprsg9 +fourzcqfonesix279 +75fxlvc +ldvmnfqpll7fourqxzpfctfxp1nhrhpvkbtmone +seven4ninebpbdfjsxxmbqvtwo6one8 +fivefive47seven +rxeightwomgzhcbnlmj72 +eight34xhbcmeightfour3 +nxszsbltqhthree4 +7threefiveninecqzfdjpdcg +kdfour2 +ktworhdsfhhfqcrbzdslthmt2 +dpjbqmd7689 +threesix8 +61113threenine +ninenine77fhtvsmfh23onefour +bccdxg5three +2eight1bnrx +eight7sixdvvrqgt46874 +35onekpnthreeprznkpfvlneightwom +52five6 +one3foursjnngjznqkfqklhjn +eighttwomzrxzfqgtdthree3scbjdnq +9fivecjgdnkxrt +5nine442fb8 +nine6one +241fouronenrlb6 +97sstjznxfcpccngfl7cxmzzcvptfive +gvtsxbqzcone52 +5845836fourfgrvrchv +7247zxfkqhvd +fourxtwonine2eightfive +znjxhfour229three +fiveone8qjfmjbnnc +1sqdjlfiveh +fivegxfj9pfbxf5 +cnxmvmcrm4cfivedcnrnneightwosd +four3oneone +hbtfjlnplcsrxkt6rcqpfdseveneightwoh +jqknine9xfour43sevenbgznxhh +pvtztgjv47 +one9oneeight +3npsq +ninekmzdninejk7 +6threeninefhcpbb +266 +pvtwocthreeeight1 +lpmshscqztgsgsb2zfcddqnvkseven +dmoneighteight78oneeight9zqszseven +eight8eight +fcdlflbtfiverxfx9 +five7six5 +hhvmsspr4four8hhcjdhnthree +three8qfzjpdztwodrkg5cg +919lhzrx1 +foursevenfourfive6lvfour57 +crzmt7 +two71pzxnxtjkngfzm +sixbmzlvcnine9 +hfbeightwo3eightfoursixfive +j5twotwo57nine +rmqq3sbjqnqmdjhmbp91hp +3threezr +fivesixfour81jqxx +2bfeight7nine7 +fourfiveqjfkzsdxmgjmpmtone3hbgcvq +7nrshoneninetwocpphnrfprz2five +twoseven1bqjgdz2 +one7qonevmvb4sixhsbqgp +fivethreethreegmdh1 +lv7d89 +2tbrnmflxfhhsixddn +6sevennlhxsevensixt +pd2kkfvtjbbgvfrcts +djfoursevenflp2three6 +bppkvmxcrvffssdxgrr6mtlthree9six +4szvlsixsevenxttwo +ppggtqx8 +two3three6five +threegplsmsjzjfcctwo6tkrkzmnk +srtj2tsnxthreeonethreep +szhnzblxslqthreejveightfvrrhbcqjqmmvczh1 +five2five25 +btvlzjhrxxdqdmbbcrmbffpmlmr9four +1jdrpjpvkmmseven +85bbbht +2onel2p +hdsfftwotpqcgdbdjbgnvfone3eight +fourdgtccrxdnvfszgkjsj38 +twonine6twotvqxpskhonejsnpmtpctjfive6 +29eightcgskgdnmnhkpp63seventwo +2seventwofhktwo9 +8kx +32zxdzvfzjvtwofive9sevenfive +2seven8pmdnnthreehnvltl7 +33sevenfournvnjp24 +two3m9kcsppfour +hjfb9six5gtbppmzlfmfourtwodqzppcldd2 +4qlkz3 +4ninejzgpnkvq +fbcpkspbcgrn6dmclmnqldeight +sixtwodphp833 +sevenonesix5eightsrzpjzpj45rczn +9fiveltfqjmkzbrm8oneightbq +mxfqsrs5fpeightfive7mvclrlqhhkptpbqq +438rktthreegvhltmsv +dcl9xnntwosixthreesix7 +csxhsvkkkhfour4slkvjk1eight89 +three2eightfiveone +17kqnstzmbthree9seventpld35 +ztxjhftwo1f +ccfvc3three9five +fmngmbkjppkxjnzqbqldmspbrrrhhrkrsix4 +9fivejthreepjtmtfive455 +4ncdvqfiveonefive5zxgjpptbnbsmbrfdpqrjnx +ljctvztrxncpxsdtttwo2tnkkt +five544mlzkztsblt17fivesix +9five35bkbpjc +6fourtwo +nine5hqlbjp1onenvvnvsseven +5qbvsbxtktqhgqxfgprsgsrrpdtpcmr8 +hhsgjxlz3gzxhz14fourtwofq +6three8rmtrbnhvr +9bhxvmhldnm6 +vkjjpkgdmxrzzfour7 +rhvrsrthsevenfour3eight5one73 +msqdzmfzfeight6qhrvzcdxfourrleight84 +pjtfflgfhqnpdk6three63five9six +1sixcpcvbnnine9eightonenlnjfdfdmxcmcb +zpgrbsevenmqskhgtrm6 +8hnqmmgrnsxhrxjjc2qjbbvpknh82 +5six7threepx +bmlxvnqrxtqzkdlnnine5two9bpphfdhqj +mtxrblghxrsbxhmgnbvgvffivenine49ztktxvfvseven +tnqclrllq9fivebddnv +56seven222pkmqk +74eight9pfqghssgk +nhmzdpbnlreightqgljp6 +nf3three2 +eight9glknfltsqsfdsixfour2tcfnzfmf +four1ninetwo4sckcbgzrx663 +eightbcfsevennqznfmfivetwo7qgdjtwo +64three +8vgggxllsrhqjh2 +7jhthmpmlxlptgbnscxcthreeeighttwo3seven +ktqlfveight1eightjnfxvvjk +99qjcxgnpdvnbjqprbqnsjone3ninenmxkslmdsx +9gn2 +qtlztwo7eight2 +nvzhsjsdp4sgrbmx36 +fldvmnlkq52nqtsccgfgtwolm7mmb +tzvgkfx6ssnxfeightwov +rrl8pxjj6onefour +3hzhqbrdspfrn2eight8 +jcrcxtqh8three4 +ttwone449cxvvljcpzpqmngtzslnq +3gnkgbjnsmxv2fourd8 +9zt +kckeightsix8oneeightsix36 +vjcg4p +jkzr3 +twofiveone1four9seven5cnhzm +6one6 +s2twosixfvgrglfive2mtkrxznllj1 +cnhbzthlzllgghkxjgtrph45 +six5two +nine5threefournine +1rkbvrk8threevfkdbvxgj +28six7dvone8 +74seven +6threeseven92rvpg1 +hxvthvgk8vhn6kmljfnl +fourztpprfkonemnjbsfdjlj8 +djnhxfxxl1five2threezgthn7 +vmhmlgljrpsix93sssixsevensix +dqk8nrsrk +jjtdjkfivegpfspqqjthreedkntgjslqreight7n8 +8four12 +8vlcfsixthreelvvdv +zsjqvmghp6seventwo +6tnjfl2cfzcbgqp5 +vgjxleightzqfklqdx4vlpvp2gqxdxpzk4 +12mshtkbgsndrdx7three +htckznt2threeninej4fhmrtthreeeight +four8hdbrmptjnine +2xbk +ljgcscxxjgdbpdpzfcchrqnmqqthree8 +three7six51 +four5five92ftqhjhx +eightfthreebzbhk4tceight +2fivethreefiveeight9fbk +9four613two8cnpzgcrnmc3 +fqfive38 +nine88mkthree99lkvzgvpjk7 +784dxxcpszbzkdlsrgnnqfsixone7twonemvh +onetwo5tzggnsix2 +xsclx3twojhslqrnc32pxfqsjxctnb4 +zrdbcccznzlfgz8jfpgllczxtnpmp58one +four21one925rntdr +38six +seven3nfttdgkjhklmdqbkv8threefour +75kblsbqhonevsx +fourztseven8twothtwo +gmktvrd44twonine4pnbrkhhzpl8five +nineslj1six8two +one98mxnkrbv +9zmfour +8dkfmthstlqvs9r +cjmcjjjvmceight9rslcctdslsxthreexsjbffnine +5eight677 +4twothree +cvqbrkmgthree4tbmzrhqtpx +24twoone +nphprsbcfhcfrggktgzgvrninesixdnchjd2 +9sevennmxzpjbhct +sbchgzqgdk8twosix667 +hkjlpqgtmglv3eighttwo7two +gflktjvlfivetbgmbsxzdpdxjdgkzvn851sixfour +five2ffivefiveonekldfpcfjg +mlnvqltfsixnxqxsgfpxrpsxmmlnzsnineeight5 +six1z +sevenpvhgctkcvgtjstwoeightzgqlcgq1gxzj +fivenine13rbbxfs1zpvrstlkceight +6zmcggdqbfptwofourfphdbdg99four +one65ninetljqcfive8 +six57fourthree4fzctnjzcdm +181one +3one315gftsbtnggrq +gcdvnzbvv55onemgcftkmzrxf +697cnzql8eightvdsngsglkfour +fourfiveqjptdn6 +pq83six7fprdbzvmgrhkzmjmxgnkcr +nineeightfivesix8 +fiveseven931xhtnvrtr9three +seven9ninetkhldts +6threehlzfbppqmhrtxnfoursix2cxn9 +mphgdnggjt3flmdz14ninejjskfivenine +boneight7one19179 +npdjlhskrdmvsvhtldsthree5tpt +6rvpnvdqqpkkfvgclctqcmpdfvftt68 +91four3twoones +seven793 +8h2four6cdsevencsjvcgdlrj +4bzxqvp74mmdvjfdvq4fivec +31tlvlrb75 +nndfct5ninesix +ncqsnf6six +fiveonefour8 +sixtwo6zjhvhkoneeighttbfv +three5dcpmcsnmfhtwo5 +eightnqqkpnine4ninegb +lgnsrbbtkgtwo7eightthree +rlpcrnscknpjpqm2qqpllrzk8p9 +tvpqncpmffpmv9nineninesixnjbhbhgdlf2 +lzrhjdkfhn1 +jgjfckbrpvc3fouronefourfive3eight +twozhkpzcdkjfour8eight +5sevenfourtwo4 +1sevenfivehvppxvxvcnsnhdrflonefour +4pshnstwo46fivetwoone +three1onemdlc8pcqkzsrnhqone +qvgfvfxnrp5bqdrlqd +jzgcnslrfxxc72bqqqrzltqm18four +nmjlnxktmvzzrgkbrffourdddbbt7eight +3two9twothreerlztqftcgkznfour +8fivefive5tkv +4vtsnlclbb37eight2xprhpnddzj9 +8hbmfjxmqckxqrdjqxrnhg +onef6 +8fivezcjtworgbxrfkjkbk5mdkdgfbnkkkljlv +5six6prgqhbvcrr1msjcct +mvzdrmdlrsdz9nqmbkb6286 +367 +94vjktbt +twofivefour7three454 +2n +six224 +z841dzxcthdx +fourvnlj7twocchdcn976four +threexmxq5five +dscbqrjqmssnzbbdtx34 +8sevenhrvzqskpczsfhzrhrfch +4qx +6eightnine +cnbxjrbsseven8hbdfmjvk6sevendrglnfq3six +82threengstmq +19f +cvjrhrnxnfiveksrjgh8 +2six1dlpdds +5xzhhnqpnsix8qthckdhggfdfour7 +9threetwoqznvtb4 +one8dseven +3fivefourjzbk4seven8tvqgvh +9kffjzvfxtwofive3seventhree5 +5onerxdcrrlgvfbrvrphnine5eight +614pnrbdp +eightfour1cvxjbztxgzznlpr8qbzkz35 +four5seventwo3 +9fourzzjfdqdkmxbeight41eightwopr +eight6rfdhz793twonevkf +vmrkgjgthreethree8ninesevend6hmjmkfdqz +vqstkklpj4j8 +72jglrpp57nine7vcr +sevenfbbgpxlvk7tmlvtjsixdtrnseven3d +5jlb4 +jhkslf976fpseven +jpfive1 +two2jpfztkeightssfsevennine56 +seven6rjchpgvmqgrxdddq +four7eight +zqoneight9mqmjtjcb +ljcmvjf1ngrgzmttttqprks2kphjtgqvmeightvfmzqhdhgj +77ninejjxxgbffive6zzgd +4pthree5zp3one +mhdzcmmsseven4three3bngxxqzclpkmcppxtwo +bneightwo33ptmpcbfournine4five +sevenfrzffbklg4dmdngxmsixnzjgpkngsfivetwo6 +six2onethreethree +xhx4gvkbtcjbqvrhtwo6 +1mdfvninevchtrqthree +onecrnninedjchhzkmzthree4qjnclshjlbn +threeccgbz6sixlhnkcpfdzk119 +61dtwo +ncsbdxnp43jlrxfhgzlrfzqjkzbkd +nxfztwo9lhcc +mds9vkninehzcdk +twofive4jdcndg +374 +threedrsh9eightcqkrslljl5tthree +fourtwotwo8kl1bvplqfrc7 +threekldmmjkmc92sixsixonenine6 +bllccpcksq59zznr +n35lxtnq3 +25hmzzxv +38sevenkqgtfcpnj +ntfceightmvhvnzjvv37bsj +4sixfvrtgdsjvxsevenfouronefiveddns2 +eight29lnznht2oneonekgjkq +4lthkrtj1onesevenninerfplsixfhxdvlhoneighth +1seven8eightgxzvgmnqj +7qfqvxcjttwoeighteightqqsgbsftseight +slfqkljnine1oneeightlgskmlqgstwo +sppqhlxqzkdtdqc6qtxsssdcf41 +tnggpjrnmrrgzpssptpk32 +6pcjglgdknjoneightssb +ninefivefrglbccjmrchvbpsgxrq15fourfive +7five1lmndzphnj4fouronesj +jvhkb24htseven7 +7sevensjnrvxmsixthreesevengrh +9h5xbdgpdjjkt1 +c14vbjvcv +ninetwohfbm6fourjpgz676 +gqdtlzqvkplj48cxvtvjjlkmbstcfxd5hkbfdgtf +ninelpxd8eightvmmbvgmhs3six1 +9mmlj4vvcxlnbsfoureight +nzrjlxqhnffour1 +hl5fzsxdbvklx4five +182ninedghflcgrqz4ns +eightdmbqddsqmfive7qshcvdjx +vdfzsevenoneone4ninemhclrkjspkxt +2three1qzqhscbvmpnine86three +1ninevvlzft +1ghfnrvkn97sixqzgtm32 +sixnine4rsjghcsznfvs +ph5mzknlknp5 +3eight3twotchnsqdtbkh +63threerjlgv6three +fivevvcmvrqfkdfshxjnfgsevensix3seven8 +21onebcsgvhtm6two +bnjpqcqdzmeight2gtjhqeight +1rsjbbhtkbbfourqzdhlone4eighttwo +6jpnnlbstgjfjdrdgnthreepgh49hdxqghr +five3oneonefrvnbnnlz +gbseven9five6 +nine2hdltdjdp73phzrjnonegx +3two3eightjszbfourkxbh5twonepr +5cfprzgxtf3465five diff --git a/day-01/src/part2.rs b/day-01/src/part2.rs new file mode 100644 index 0000000..06a82d9 --- /dev/null +++ b/day-01/src/part2.rs @@ -0,0 +1,59 @@ +use color_eyre::Result; + +pub fn process(input: &str) -> Result { + let sum: u32 = input.lines().map(process_line).sum(); + + Ok(sum) +} + +fn process_line(line: &str) -> u32 { + let mut it = (0..line.len()).filter_map(|index| { + let reduced_line = &line[index..]; + let result = if reduced_line.starts_with("one") { + Some(1) + } else if reduced_line.starts_with("two") { + Some(2) + } else if reduced_line.starts_with("three") { + Some(3) + } else if reduced_line.starts_with("four") { + Some(4) + } else if reduced_line.starts_with("five") { + Some(5) + } else if reduced_line.starts_with("six") { + Some(6) + } else if reduced_line.starts_with("seven") { + Some(7) + } else if reduced_line.starts_with("eight") { + Some(8) + } else if reduced_line.starts_with("nine") { + Some(9) + } else { + reduced_line.chars().next().unwrap().to_digit(10) + }; + result + }); + + let first = it.next().expect("Should be a number"); + + match it.last() { + Some(num) => first * 10 + num, + None => first * 10 + first, + } +} + +#[cfg(test)] +mod tests { + use super::*; + #[test] + fn test_process() -> Result<()> { + let input = "two1nine +eightwothree +abcone2threexyz +xtwone3four +4nineeightseven2 +zoneight234 +7pqrstsixteen"; + assert_eq!(281, process(input)?); + Ok(()) + } +}