diff --git a/day3/Cargo.lock b/day3/Cargo.lock new file mode 100644 index 0000000..4104d70 --- /dev/null +++ b/day3/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "day3" +version = "0.1.0" diff --git a/day3/Cargo.toml b/day3/Cargo.toml new file mode 100644 index 0000000..898e70d --- /dev/null +++ b/day3/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "day3" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/day3/src/input.txt b/day3/src/input.txt new file mode 100644 index 0000000..bb85e8f --- /dev/null +++ b/day3/src/input.txt @@ -0,0 +1,300 @@ +vJrrdQlGBQWPTBTF +fcpTMnMqMfTnZpgMfPbFBWzHPpBPzbCPPH +mcVMfcsqZgmgVcmfgcmZmqZNJhrlrdhNhDdrRRJSvDTRhJlD +pMFRmLwHMbRPmMbPPddvqqrrNSTFVttdrN +hgfpgCGZcjpcgfvNtdrtjvrdtSrd +gZgsBBBlZggBGhsfhpzlzLDLmLRDRMLDPw +hChhMFCvqtTMwbSSHgTZWHZd +jjBNPjJJNfsNjVnVJJNcNfPwGbSbDZnZZgHrddwHrrgWGb +mBBRRmBBQBmNJWhCzqllzhRCCv +lQgpngNgQvHdSgWwjMRmDjmMDHmm +zCLVzfzzbbCzsZZPbZPLfFJJMDWWRcDsmJRcjmwTmlRj +BblftzBtlFznptSQQQppNG +wJJwqCtCGRcVlqlM +BQpppjBQLczTrvHRjH +QQQFnmQWWRfnpQBpQpfDCwCdbPDCwbNNPtdJPCZw +gpJjshBpgjZGppJqBGJjJZzTwzTmcvzwwcmvwsCFdmcF +WPSSWWSQLVdDDfWltDWLPfttvFCVmzCCTFnmwcnnnCTCzVVv +tLldLltDQfflrRWNqBRjgHBpJNZjHj +bzVJjVnjbCGVLZQLmmsJZZQQ +RrwwzhPScWSwrhvZZvZlZvvSTsQS +HwFhzFWdPHfcPwPWPdhWffnngpjtnjgtpnfGCGnG +CPwQtftDQfPDBPBCfDDDCDptszcpVVddcRczVLVdccRGrLWs +FqlSnhlqhmhMbHqqSQlHbcrRrsWzRdzdWVzLRGRrVF +MbQmSnHZhqZMQMTJCttjCgPCwfgDwT +CCSpvHtZHSwftFtdtbfR +QJmNPmjjJNgNVNSzDlmRqbWlqWWfcqfWqbwfqR +MDhJzmSMDmsZrLhssrvh +ZhznnrLzcHhHSjsjSBSsBnSS +dTwqDdqDRQjNdwqjldggDvBJfmBfTSBbBSvfSJsmff +DjCldNglVwFVgZHHHzhCMcLhMC +vBnShjwwSshmQPmtJLpJtn +rDLFCWrClWCMWWVrbFVJqpQqpHmtbzJPQzJmzb +ZMCCDCMNrTWTrgScgGRhsvcsGLSG +LQpJglQQRjQsppfsQbjfbQlBgBhFhrvghhZCdPZZZthPgv +zVHDMSWVVMVWDzmnVMHDSMMzZvNFFrFvPCdmdFdNdrBPZhhd +ncqqSzMVCcGWVSCTWCDcVTffLLLbJsLLsRLblRQTps +zjGzLQtFzzRgwwLhVrqw +dfClCdHZsmffZDWlBZHCDBmhJbqTgbwgqbTnwrgrqRbT +HsdwPCsWDpDsBpfdWdHldWpsGvvccPvGcvzQvFQvccjNztQt +wmVVgFPrFdwJrlNHQHSHCCHL +tWBtvnBqZZMpcvmmqMBRCQQLCLWCHfNQQCSGWL +BBsnmcpqPswFsTws +BQRpFPJJJJPmPRqZNFVhcczHHzggwjBhghgzHw +snTsTLtrlvSSSslsGdcwmjhgggvjHhmH +nSsWWTtCbbDSnlRRZCfFRNZmCVJf +tRRMCWLtJWQLqLrmLHVLqmqh +JszPjSbGbsnGnSZprVpFhvFqvhrqZZ +zgbGSDBbPsTgbDBzzSDnDnPTcWlWJCQlNttNwwwMcMctcW +hlVRvPvzqqtRdwRRJsst +HHVNVBMBjHLTjVjwDjsbjJwbdmbbss +NBZHMCNVCCpgLTWggBpgNLTvqCPnGhQhCCGlqlhfcvvGfn +mwbfbfbDCqRJZRbCSvmfWTQFczTznnnFTFnrzJsz +BdhHlLjpjjjncSprnsSFWS +ljhVBPjSdHPRfZRZDvVRZM +tGqbqBSsntRgNqwNNVVHVN +hclFvJZvCDFppDpZpHNggMTwdlrMQNVgHM +CCFmcZLDFpvzZhCFJvZvmwjSRWsBLWsnfWjRRGGfnsst +GdGQQFdcMPwMdLFvWsNWFDLfss +SqjhtjnrbVznSztSqtzpjztVvTmNNmmfMMfDDMDDNTqfgsqv +rVhhZjppVrhpVzRbjSnzHPMwlJCJQdcRPPlPPcHJ +JVQLVgVZghFtFlhghtvSzsddmrdvssmzSWtd +HTMJCBMCjnwNBnCbTNwMdWfzvzsrsvffWbdsmfPr +BGnnpDnTjjHJwDBNpqlFQVQFQclcRFQqpR +BRhbrQDttbTTtRDtTRRzLHWZLZHGSqWLCBNWqLNL +fwFPPSjmsmJGLsNH +dvfSdvfVMjPTttTzczgTcd +dZgggwzgvsggtdstZTZgdfnhSJSSJDDhnDBdppnGnhSp +VQWRQWVCRLFGnThJCpFJ +LbmmbQVcHcmmlWjmVlVQNVRzvwwZvTrsrNwNwzZrMvfsqt +lDZQSlHDbLccRPQhCNhG +gtsntgvdvBvvqgsTgBggdrWRNzPhWczPbWcdWCccGGGP +sTBttvrFnnMTMJngbqfLlZLpwFVljwppZZDl +zNNNgqpgmLgqlHBHsMGslH +WdWFrFwhcwWRwhddcRWcdQbcDDslzBDszsHbGBDfbHfzVlVl +ZvhRrvPQwvWFQRZvFdJttSPgCmNppCNzJnJS +fCzRRNGfqNRvwpQhwrGcwZZT +gJnStgMmLhdHndSSTjcTrTpcmrjjcrrw +FFJBbdddFPPhFFNWCF +btrHRSBBSNLLRPLwhbhpqpfWhQppWZ +zCzTvvmgDvgDZhqWZZthtDZh +ttTjMsvCgRRLRSsBRG +LsSFFTTDWdCsmFTlLSsLDDRRQCvhpRQGNGQBJBhGGMNB +zqPtqZnjPPrPvJHBMHrJrMpv +VbqfjZfwgtfjPgZPgtwDLTLcTlcFdWLdcdVTJF +pfMCDmpHbdMQQdQFFG +gdjldRsVFRntQnqR +rlJVsWgWPWjsslSpDbScmSDPHfCd +lnFFGgBFBslDFGbFSjnNTjjppSrQHhnT +zcvmCRcvZmcZzWpTQhQrrTSPtHWH +CRccrZJmdJlwDJwgswGg +hllrrDzggGppgSSLNWgW +jlTlPwwqjjntVpWWPNnP +wjjJqvQjJjQJbTjlFqhBMzfDDmMCGBMHDCGb +jvQPhhtCRtfmqHHjqHHJsl +FFSTcBTBTMwFGCTwMTcGwTVnsHSJzqqJJJplmlpJHszZZzZD +dLMdVMNGBdGFMTNTRRLrQWCQhgWQbhgf +gdRgdgzzrvrzggDwgDGpPLzrbNljMTsbWWjWjZbTjLZMWcWj +tFfCQHJJnJMJTJjNNMjl +HmtffVttqHQmBCBQCqfFnCwRqpDvPRrGppRggNzdwgzp +DHSqzQbzWlRLDzMZNpVLgnpNLggw +cZcdTmPPthPdsvvdhPGTvJgwnpgjjTgNNwMVngNBjNfn +PPdJPvrtGtcFdFFchDRHDqHzZWSQQCrQWQ +BcgnLBLsFvRnGRRRlzfJbbPJzwHPwPFz +hCDjWMDVNfVllfzddw +qqMqpWCMjDTWNWTBLpgsgLvZwtGLLg +zczPgpGzhnbmbchhHwqwhSwfwHCFWw +VJdmVLlLdVJSJWHSTFwH +rlttQLVLdvvZpgcGbmDrzGMD +WSvtpqqtqccttVQpVvJNJSVNCmTlnCWwTTnWlBBBjwCBTlTP +ZgfPHfPfMHsDCwnlGBwTMGBM +rgdffZhPrrLsdLZpvcFSJJNvpJhcJv +qVdqJGvzgJzJgwzgWvdJzpblcRRWmLFFcLBmllFRRMRFRH +TGGSsSssNPTSLlRLcPHMmnPB +tTjTZtNGhrCjQNCjQQDTCSjZvfJbdgqrdpwqfVzwgzvdvVgb +VTmwcTVSMHwbMwbDVBTcMpJfpfnWqdJbZpJldfsjZn +hNtPhtzFzPQGCCGFFCGtnqQqWZWplsjWdlnlldJn +vRCRzvvFFFvhrRthPtLrtNGSwBVDScDSgHHjwwcBgSgTSL +dWCsWbWWchblsmbWVZqqsSpsGfBqBVBB +DtTtjPJrgjjtTTwgPwwjrTgnLqSBZQLqngQppqnfBVQfGp +PJPwwtDwHGGJtJRFHmhCFRCvdmHR +mMsMJSCjllsSSmBBclsMsJHDbcHqqbHpqHGbDZHbqHpb +RnQnGVnzGzFQgzWzpzvpqDHW +QVhRTfGLLFGTTFFwhnQVNfFwJsJsMjsBMrlsjrJlPSPlTrls +JNMJSVSGVCjnWZMZWWcH +gLTcqbqhqbbgzgnjpnjjWHnP +wqlbcrfTwrvcLBwwRtJwsNRstRsCCN +MlBssQBchZDLNJZgmvGg +fdzHMfHSzSprfgSvvJbmvDGNDW +PCHTRfjHnzHMzzfrCPCpMTlFhcFstqVwVCFllQcBtqss +TtFnnFJfDhtdfJJcFtfnsfcFjBjLDjHrDLrCjMjwCLLrZjrS +qQmWmQzvWpRQGvgpGGRGRzmWwZMwBLCHMZjbBBCLwrHSLrqr +MRllgRWWMlsJFnlFclJT +SRRrRDRBRTdbdMRZBZMprTCJCnWGvChJGzLSWWzsGhCs +wwqHPtFwjwTHLHvGTsGW +FlPtqTNVcTVtwtmjRbBZfQbfZbQmRRMR +WSWfQttffsHSfRRRStfnCsQQqlJpbhnrnmNzJbzqNbbrpmnb +FGFPddBcBwDPzpzbWlpzDbbh +ZPdPPLMFdGwFFGdwGdZwcZgTtSTVCsRRSgSRTQWTTtCTtH +vHsfGHTvSvHHHsGHctMgtHrJwbJJwrjgbrdzjWCrdrrw +hqZRLmmZpFhcLhFmrzJQbzzmQQJWJJbm +LNZFcpPlhBRhqDDllRtnMssGfBsnttGTnttT +VDVrLrZZcjrhhFrZppGlglGMPFwFWNQw +bzszSBHBWNGcscpN +TJqBqSfTBBqBHzJqddBqzcLnLjnhCRTvvRrnDrvrvZRn +GLzrNWbtMptHDmNDglgmlD +fZtcfCRvtBcQjdjgmmjj +RhBhhqfSPPpttrnPnVVW +BhVRJGwWqtHjZqTDLZ +gQnfpBdPNpQrPNSfBdndnpTTDFZttDLLzZzTzCLNLZZD +mQQPsgrldpgdBQgSbGVcmcRwGMWhwVwW +DrLCctBCLQtSSQcLbcQHWvvvlWHHnWlWBlNRRB +wqdmpgqsZhzGphwwpZGsppRvfnJsWfHWvfFfWFsfvlNN +mwmhVppTqpGqpNZpqTbSLLttDrDDtPQTtr +qwqmgnglDnlgtQzQJzJQhmWQ +pTpTpssdsVvNsdTSZGdSdjvCRcqcRcVWVczhWChtchzWcR +sGTvPqZvSGdZZGdsvNGdPHrFHFBDlDLwPgBFLLBB +BBBGsGGBrBBrqWVqRnWBBBWpzFwMhjMFSFPzzSwPFPpzzFvg +HtCdDdDctZDtbHCffcbddbNfvjvFSPFjMhMgLwPgjbFhjFFj +NJTDdltNgCNDZJJZCDJZDfJtrWWnQGBqlRVVlrBsnlrqqmnr +PwZhgbZSWSqqGznv +tTPVVmptcsrNrsTNpjRzqfHvvGfGWjfjqGzHWn +RVRtVDRmsRtrctmJDtgBBhBhbFgJPFFMFJgP +jPzzCCPzTtTfzrRtgSNVRHvFQVvbpQppVN +sSnDlBGBwJbFNplVlN +cLwSwdMhSwcBcsBZgWjCTCWfCLffrg +RSNPvTTNqFTSvNrSBvBGJGzmFMslgCMJCgmzlc +fDVfpptLWQfnVLffVHbQDQCclJzGGCtGmmGJmzMshzGh +VfQnWZfZDbdnVHWcfWnfHWVvPrTSNZqSwSqPjjvBwRqrNS +FLRpmRwcpjfzjSnD +tGvPNvBnPQggPQQvPgNHDjSSjDzzthjzfHrjlT +JGqvWNCCGQBWGBQvVLsCMMRLRnRMnwMc +fGJbzgBffCGpPGDVnG +mcTccshvbbdRNRsNjdLjnVlHVnHLqVpDpDqD +wdmsWvWssbZTcWvRhfzMQtrzMgrfrZJgfQ +NfSbvZHZNRSbQbbQgZrMjhLwMrjLjwHLCmmh +NTWdJBFcWJFcdsFJqcqPwqmjpMrLCMpLMwLP +dNJctnFBVfSGgvnfZz +GSnRJfGfRJgMDMGWnfzdmptpFJppLvwLwvLt +hbjZzrQbblqcLtpwlHvFplTH +qrzqbschrQCqqjPcCVcCGDfGMWDgWNGDDSfgnf +vmMpCdTndCvMdmnFcCRJWBJGcZJRJB +NDNwGzshPLrwVVNsjswhGzjFSfFFQQRSJWRBFcFRfsWFQB +NwNhNjVzhhzzrgzdqqvqtnqvlqdggG +MdPLVSSlMMVMmlLBBLFdvZNWqWztStttRRNqzqNGTq +DhJfhghhCgwChJgJwHHzbsHpnZRtTWqqfZRGTnWTZtNqNRWR +hwHpJbprwpQhDHDCbCCzsClBvrLMVFPvmPlMMVMdLrvj +DssDrqRsWsNfzfsWLRzjgTdBlgzFpMlgTFTglT +ttCZnSQmSQmgjGQGQgDlBp +bhDnCmbwVmCwwtZttPwbRWsRJcqWJfcfsfrqVrqq +ldBgTMTRvBDVnCCCTdSRTqNjbjSbPPPPqtfPqtPJFJ +cZHZrszLrrrZHrbNjNtbJCfqNJLt +GZzCzWZGGsGzmzZcmGssZzZVvnVdBDddRRDnVlWgRTDdBM +RjNrrjwGDDqqGJsHtzpMHHGz +QCbWgbShmBCCPClmmWFHzJzTbDdsMJsTtpTD +fffQfnSCWDBfhCDLRrNrwcrqVqwNqn +zmRrDRzqjmLLHzDjLsHLflJlVVJlWWTDTfdMtlWJ +pPQQnbvSpvNbgfgfVtMVJfgdtG +SnpnVFcPnNnPvpNSFNSbhHLhrjhCqRsRBRrHCLhzmC +CZZzlnCZNlGGcbVrbtVlMtct +MgFQDFgQRLLHhJgDFqQJQLgdtVTrttSrPSmcbmTtvSqvVSTV +hFQDDfMDfLgHwWfBzWwwsZGW +bHVDdHVHTPMvnSQnWSDQgDmm +GhrCJfbfrhfbRJcqGqlwZtnBRtBWSQgQWWnWQW +lfcCrqJhlfFqphpplNCrNVMPMPLbsLPLzFVHVLsVdz +VDhFCZhtFdPqwwcp +SvnvHNNnTvbwNNgnHwTHgwBTLcdqmmfmqLGmmTRLPfpdGP +BNWsHJgSnwgMMgMBBWMDVJjtjZrDJZzztJhjQr +HDsSHLRnpjbpbbRDbqLjLjjGGVffMVGMdvnfMcNvfBBGcB +TCzQQztwwNTMqMdBVv +hCQWmtCzZthPPZPrLjSbJqjSjLLFjLpr +ZrrZqJDcZSCFLLHBFcjjHF +TgvnDTlTtQwgBfwwwzLjGLdF +VbnVngMtvDTTVMQDQMDQlsbZJChCmCPhprrZqhqZSZPJ +glMGHBJTJJTplgwcCgcqcFhhbWncFm +sSswtPfRDmWcCqfchq +RZSdSzsVzNPSwSSQsdzSSQpGLjJTMpBGrJrLLrplZBpG +WQqqwLqQlnlWDwtbVbtCNfVbpV +dFTRjBPhcBgBrFhTPhrbVptJpNNbbtJCbJSL +hjcmcRmgPPcRcPDmHHzGLWmsDmzH +rWFmrRmmccSZJWvSLZTH +hDPhGbhSjtbpqJLvJHjLHTqj +pnplBlfBPPhlgfDbDhglPMMrwrRRSSncwccQzddzmC +LbccJCGzbcCJcfGczcnmNnvNmZNLSDZZWPWS +dwstRhTsrsFddPZqvNWP +BBggRrQstBwBRTHWTprRCHHGVljfCGCfcljHjbGV +FHVBSVDvnsFDwwSVwwvGVSMFWhWcWptMWchWMtPPcWtNNWcj +TgqJrJTRmRCNrbcLjprLnp +qQTlfdlZQgmfqqnFVznvQwvnsBsV +TGpDDMQGMZNtfvDJdtWd +jbrmstmllRmNvVhmmvJVhv +tbrRzFFLlRrjFlLlTQgLQwwLMwgTZBTB +QFgFWQQfSgLFGmtnnVmqCPWmPH +TTzjgTbRRqnRsCPCsP +NDMMgZjzcJvbjhMcjZbbbJJNpdpBfBvSBBQwBSQLQSpSplBG +zcRNsQSSMjRsNNZZFBLQHHFFBPWF +tvwCtgvqLJNnNBCH +fNNwqrqNMpTrDlcs +MMHMVPRJHJWvqzWctbtQQdQz +DFfNFffDnTllfTfFfmzsjqcdtQGQpbddQQbssn +mlFNCgFNNNLrmLFCThhhzJBvhSJPVhMgMh +PWjhljbHFhjbFMWhjbPfhbTGZvlGcGlCLvvwtGCNZGvc +SRqBqBrmQWQrgQrrqrJBLZNccLNZmTCtvTGtCvCt +rJDzDSSBrzdqQWDPHFMjMFdjHMVnbM +qqLwvvtrLFqqfqrjjjdBZfBCBBJdlT +ZGZpRZHbQDzDWRRRVdBzSSlBdzjjzdJJ +ZGpgNDQmWGDRmRpZMQbvPPtnnFnLsstFmnFrPL +TdhcfZhdZZdpdbPWttCWrrCN +MBMMqRLgpGpFFWbNsvLwvCPCCP +mpBMnBRMBGqJfZcfZZHZlhfm +CdmGdnMcMwHjhDtFFnrj +vPbVbPBPPpgpgWJpvTjqDZZqSHqVZShrDj +BppjjgvbJjbpNbzPfNcGCLlCRcmLLflllGcc +qDtgVttGFtlslStS +gCZbbHCjvJbZjCbJhHhHJrZcslJcLzLllcLNFssMSsTlSM +CWbWrZgWBQQBBpfdPm +hstPtCGtltlTClllPJLScVdPdJjLPJMV +NHRbDZDQSDFFjjdJ +RqbQpgBmqZvqZNQqgZmmbszpTtthtCswhjslwwpTWC +CVdwBJJdppbbwdBVrJbrJbGPlMFSLrjrPjmPFFmPRRDF +NNWHHhNZTcQWhnNFlmSSlRmLjnPPRF +qWsccHTZccsNsZcvTcNtStpBtbdVwpfBwbVCBq +lPQHNJhMPMPFlNMHBqZBwQwQwQZwcCqw +bWddDzbWbftdDSDbgttgnSDWccLwcvBczqcqGZzLccZTZwwc +spWrssWrnDtDpfSWDtsFqlFPjNMjRJVVNNPJNp +bCCfcWVLTHfSSdHwhH +sGQSZSzQJmmQsphwHHHsndnpHN +zPSqrmZPFCvFTbWMLV +tLtVBGLJqGqVGbzGSCsSsSqQsFvZCSQv +gRgdWlHTBHgjjHlWpWjWjrwdCfQRZFSssQQQZmQmMSvZfFMQ +lPHlpWgjTldprNWHNNdHjTctcLbVcnNJJGbVzBhnbhhJ +zVrSwzzJbVrbqFCVVVwVCztWDDtfTZsWDZTLZZmSWsDm +bpgHlgBbbGGGglBGRNvMpWfTDjmDfWDjfRZZWLtmZs +bGbvQHMpQccFJPPh +VGqCPmPjfGqCdMqVMhjhmPChDJDJzvrrbrBvrdrpnJDpJDQr +TSRsgHRSFHTlHvJvBDvvzlptbv +ZFLTsRRgZTgWscHTfWNWNPPBfGqmmMfV +TvTrrrCVCVwqjPrWfWhjfH +RRmgmnggltRgNpzRsdfqWWjdFdvNHfdh +zZlRzDGGZmbmmZbvGJVccwCMVcVVTLwDwC +QPsNlvvvSccbbNQcSPvDVSvzTLLCgRVzCJgTJpgCpphgzh +MDqHwFrMffgFpgpJLzTz +ZtdrffBrdqmBBmfwMtDtQPPPbjcNvnllnlbNtScn +HbbbcpTHHMMqNTCddCVBQvgPzJPJWQBQjvpBvQ +FFrDGtntFFwhrRFDFthfRhRmSJPJvvJZjZjWJJvJQJnvWjjg +rtfFfLmLRmNgdHqcLNHd +FpFHCFWtFSnCWnBfJJfgMJDGHDGGsG +rhrLrrhLrbtZThLfgsfGNDfgTgNcDs +QmPjbdqjmbbbrmhQqQZrZStRdlnnFdlRzVVVWlnpzR +bBMwwjzhbjhssvsGZBSZLr +JFtnDtRzJtffJHWNtHncRRrvGZvSnllZZZsgvlnvVvlv +RRPHPHFPHHdcHtzNfMQhdCwbqCmbMChhqq +pWGdFSWwwjLdvgNNvggl +mTNbmRPHmmVNmvZhnhBssBlhnb +HPTzRPffJJNzjCFpDWDz +MHlgzsqHlbmzgsHzlsbcRWPdPtjZFqhGGdrPrjPJGrVP +vpwwvQwCnhNQpSnLdVtrrZGZtZjdVSdJ +hfffwvTpvLwDpCLvDnQDHbmRRTcWRHMWWHWMmWMW +WHlNHWWldjpwntnWBPpPQFZFBFhZBZCZ +TqqvgvmgfmvDVLLfqqLsrFBRhrrBFJQBGPgPZGCR +mcDbcDmzLcmDDzfVzTQNjNzNztdzjNdwSHlH diff --git a/day3/src/main.rs b/day3/src/main.rs new file mode 100644 index 0000000..802bf09 --- /dev/null +++ b/day3/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + let file_str = include_str!("input.txt"); +}