From 510a4329bdb694c8935e150cea709e47c33b82dd Mon Sep 17 00:00:00 2001 From: h7x4 Date: Sat, 3 Dec 2022 13:12:25 +0100 Subject: [PATCH] Day 03 --- day03/default.nix | 70 +++++++++++ day03/input.txt | 300 ++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 3 +- 3 files changed, 372 insertions(+), 1 deletion(-) create mode 100644 day03/default.nix create mode 100644 day03/input.txt diff --git a/day03/default.nix b/day03/default.nix new file mode 100644 index 0000000..d9c56ac --- /dev/null +++ b/day03/default.nix @@ -0,0 +1,70 @@ +{ pkgs, lib }: + +with lib; + +let + compartments = pipe (fileContents ./input.txt) [ + (splitString "\n") + ]; + + splitAtMiddle = s: { + c1 = substring 0 ((stringLength s) / 2) s; + c2 = substring ((stringLength s) / 2) (stringLength s) s; + }; + charsToSet = s: foldl (set: c: set // { ${c} = true; }) { } (stringToCharacters s); + getCommonChar = { c1, c2 }: + findSingle + (c: c2.${c} or false) + "Error: no common chars" + "Error: multiple chars" + (attrNames c1); + mapRange = min: max: f: i: if min <= i && i < max then f i else i; + transformRange = min: max: offset: i: mapRange min max (x: x + offset) i; + + charValue = c: pipe c [ + lib.strings.charToInt + (transformRange 65 91 (-(65 - 27))) + (transformRange 97 123 (-(97 - 1))) + ]; + + answer1 = pipe compartments [ + (map splitAtMiddle) + (map (mapAttrs (_: charsToSet))) + (map getCommonChar) + (map charValue) + (foldr add 0) + toString + ]; + + chunksOf = n: l: if length l <= n + then [l] + else [(take n l)] ++ (chunksOf n (drop n l)); + toA123 = l: { + a1 = elemAt l 0; + a2 = elemAt l 1; + a3 = elemAt l 2; + }; + getCommonChar2 = { a1, a2, a3 }: + findSingle + (c: a2.${c} or false && a3.${c} or false) + "Error: no common chars" + "Error: multiple chars" + (attrNames a1); + + answer2 = pipe compartments [ + (chunksOf 3) + (map toA123) + (map (mapAttrs (_: charsToSet))) + (map getCommonChar2) + (map charValue) + (foldr add 0) + toString + ]; + +in pkgs.writeText "answers" '' + Task1: + ${answer1} + + Task2: + ${answer2} +'' diff --git a/day03/input.txt b/day03/input.txt new file mode 100644 index 0000000..61d9ae0 --- /dev/null +++ b/day03/input.txt @@ -0,0 +1,300 @@ +lflZfgnSnlmmlgGfjGthQPtLNsQhvbHLLpSS +zrCVDVFMJTCTcCJMwCThWbtbpbWpPbtbHPLQssLsHP +rBFcrwFzFwwVDcDrzTzJfnRGjllBdGZnnZfhqmdn +FjpnFRDmbRtnbJrFJmSTsGShWVhGqGVVsmqs +ZwPvNPdzNZwfzBNLdNNNNcLvhnQhqMTVsTGSWSqGqTdVWhMT +vgLZHfvLffNLPbggnrbFpJnCbC +hzJzGjGfqmGtDQtDSvVV +plpcMBNBcCTlTgCMbvtrsSVsVJDJlrwDQr +McHBMMcTTHgJnWqnRqjzZnnRzR +ppvsGZhDGprrSjSllwfZ +TTFMMFJMgMHmHmdqdSvNqlSSSNJv +mgBPHTRWFRVcpvsVttppbv +ZZDssfMDMtqqppZLLJzmzSTwNJplTSgpgm +BdCRRHFRbccWWBvBHCdcJVngNVSvTgVNzgNNVmnz +QHFFrBdcGtqPmmQh +qLvQFRgLSSNgqQvRrqLTQvLttwDBFWDwjwFttDdlBBwBwM +nbsmZnbmHbZVCGPVmHWtwlStBDtwBMtwWHMj +CnCbhGCPpPCSnZmrgRNRqNRrLNgrzh +vgLWWHRNLnWwLggWzwLFFzMmBMRMhMhTbhsmmsbbmQTm +rScpJJDDpjtSDPPPJDpjqPCHBBtlTdblmmlhBsMMmTsbmtsl +GHZHCPprSSwgvWNVwVZv +dMrCMJMqvtdFwcjczjQzThtm +gGbLblLpZlHvllQhlQwcjT +GHRWvPRbPHPRvNGbvdRBqdqBBfRqBqnrfF +VsHcljlbhmHbHHlcjVcVShJSCdJCfMrMMQDfRNFCfMRGfNrQ +tGtvLtpgBTGvDMMRdMMgdCNM +pnGnGqGtvtzTLjWqmSSjHhWhWs +NJTDntDNDVjNnjBfjjjcCZCZcVqCSCLqcSScCc +zvhgRgQvvdllgQbHghlvHrRHSScBCRqqwCLGqSMCZCGGGqMZ +pvvrHzdgvlgzQphQsDFmnsNTTtjfjJJmPB +ScnSZSZZlmjmHjjWHHWZftJVJpppwtVVnLJtnptnwt +CFFlQBbbPQqrBwJrJJrGJD +PgTqRddFzgdRPFFbFgqQFgsSjfHWfSHmSMWcjZlmZmjTZM +lzBRtctbnBRBRBBWnDnDWjlLVvwGMrvwrHHQHGmDvHQvHGrV +FsTgFCTSgsCNspzhCGMfTHQVwVMfMmMmrH +hSdSFgghhqpRbLqjntqnPz +DCDnNGFFDQdQmVDNdFVNFccpJLHWSvPLrvvvPtGGhSttLv +sBgTzzZqrBlfljslWBhvHSvPBhSBJSSL +lRlTgMzlzrwRrnmbCMCFnNVMnc +MJQJMJHBrsdrHwts +dbbSVGgbjVqGTVfqddCTpmWWcprgNgWmcWwWswpN +LPdGGdVGPCVdLBlBMlDRRRMD +vdcwZLTdTFFRDHVgmpppMmqZ +jGPzCnQPjlsDVqDpqDHbgP +BjWJrlGQQzrCzBzlzBCGBznzwNRNcwLJdwTJFTHRSTvtLcNN +ngrgqTjJJZnjFJpnqnnVTLzBbbHbLQdLHLHbrdHdHG +lNcltCCtvftfWssPbMQdMBzhbbcBDLdh +PRtWsQCmWsmSsCNCSvCSWlspwgqjqmqjTpnJZwnZVpFwgq +PjWjGDCjmrmWPNmvWDWFmgCNfVJRLfJRfLDLJQlfHplpRbfR +MtZMtcSbccZshTtQTVVTpzHlLRRQLV +cZhbwMnwqsqnhnqtMBnvNFrnGPNPPmgPGCgW +WBjWjWjqZwQJnJZCZZbf +StHSDRPHHcTrTrJpLCCMbrqnJn +RvTTvGqcqTFvSvSRDHvRjlhgWBWBdhjwjGgNjhlj +FSbCqcFsbCPtrcrqhCScbshMjHDGGWBLHBnjGLPBHGGBGnHj +flQdlsgQgGnQHBHjDn +vllgRZdmvsvpgdwZgzJdwRmprqccSFcSShJbTSttqMCrCCch +GwwgCtvHgwcHVVDqpWdfnqVv +sllBsSNBjSrLfqhLgjfqhL +ZbQbZQzgQQPSblBggNQRHGZHHCmwmHFGGcwtJm +CmGVGBTVTmmTWTNLLCVgCSFvDQppQQDDnDQDJpMggfnQft +RrtdqtldPbHzRbnjRfQZjJfMDnMj +wcwhccqrdrrlFmLGCwCtSwtL +pzZznZphZnpcNWSwGwVVPzrPrG +lgFllLLltgbDsrBCwrjWGmwmtw +MgJbDLlMQRJccchrhc +wbbjzZhdGDwLzZSBWqqHmZgssCWqFtMZ +VRJccfvPlTTlQlHQCWQhMMhCCHqQ +RlVfVJcPTVTfvvvJfNJVlcBjGjwhSLdBNGGnjLLBwzGb +bvpqHMVTTpZnqnWRQQQw +tfhFFdSFggfhbldhhZcnRscRcQmnRs +DPzgFJzFLfFbFSgPFgdPglMHpvBpHTCMGpjvMMpLvvNG +JggGLQgQpLpSPRJgGPSnGlFTDBjjRFvRjtBFjWvFjqRj +cmHhZcMHcWjrTBjrvm +dbHwdNNHhwTNThZHdlwQJJwngpgnJGnSPw +DbZjVfjVLhZDLpWPHpMZPmmGNp +lFcJJGcFqnBFqwJCHHMmNHPsdCNp +BlwccRQtBwBrwLGbGhGggzLgzR +RBhZPjlWqgbNbgGLBr +MzSmSzpFdHwpswzzHnzjnvLCbgtrtLGLbJLLJNtJtbwJ +MsSHdmMdpFfmFjpfcPWRhRVZfWQThZ +mqmssPCFhhsJccVg +FTttfwdjjHznJgfngpnc +dNFTjQNRtRNQldRNrRdHMRrlPZqCGlGBCqqZmmbPqDmDCmGW +ZJVRRZZJRcvmPhCJrvhm +PPWQDTfWbnnstlCGvjGrWMGMvr +TbbwddndsnsfDpwFqZFVHBVPqc +tFmpJmgJJgmFDWgRgFrrlGSltSQvZChMtCMM +TLcZHsjLVNBwGQCCGlsCShvh +nqNdwwccBwVLwjjDznZzppbgzFZfDF +qsTqCCCszjlqTssBShlQSSZFgZZhgB +LDPmVgDDJdLPrPgLgPZSFZQfhQGGBQJcSFJS +mvmVbVvtggVtvgdLVvtmptCsNTtjRnpRTTjpsqCp +BdNPLnmFvLFNgnmBmnFGnwSZZZWwqWgqjwWssTHWSS +bJhMzhbVMbDCcVpZtjHMqTMwtttSjH +hzclfCppVqQfbzQVbpzPQLNFBdrvdNGGBnmrmP +nLVLzBDJCCHqdLncqVJgSsDlGsbssmvvvbvbff +jMNHFWNTZZNwMPrPWrrPMMrrvSllbgsllfgbgvQsvGmglZbv +RjPjrjRPtNrwHhBtncCJtJtL +jbhhjhNjvqNbmjMjqhtCFdmPFdlzJzfFfJQJfR +GBBZWrZWgpSsnSngrrSgHzFzFFdClzfFQFlRZftQPR +TrGTrGWHpHWGHWVWsngprHpLbLLVvcqMcNbVNLhwVNbtNb +sQDvDmDLQFDRsdchzhBczLhhPhVz +MbGGMjjGZSjvfHvHSbfwBqcPnqqcPVhPNnqnzjcn +ZwMMHrWvSHbfJfTrbJwSMMfMsQDtsFRptlpdCRpWmptQDRmC +TwMHdcTznLqzTrHdzzzHTdgMRQWRhJhNjjvgQvQQWNjl +tbfsVbDCVSSDtSPQJWPvRNhQtghN +FVGBpGCVFCbfCbVbZCSHqmwqcqLcdHJGwHqqTd +lTlGfjLGwHNMggscsDRwsC +MrFtrzZZPZrtVQtnrrFdQhhDPDSphgDRhDcsCCgWpW +ZJmJVzVVJFHfGbqJGMLv +zsFZVjzlHPfTzGfLGt +mdrrmdMMcBcmNqNbPqfRDLPWPlqTWD +BNQhmmrBrQghgSmNBQQSmvwssjZZSJHljJFFHZJvZV +rLZCsZdMJfdNCsfZMrLdFmssnwgTRQgBBwgRwcngTNVRVQjV +StqDHlStDPgRTqcwjT +GlDGDhbpHhvSHWlzbWlhpzhJdrFLrCLmvdmFZsmJJjJfdv +pJHJMJsJjSMFdHhszFvMhlmmGNlSmmBGllWmVlwcTw +ZqZRDrZCZDtPDPDrCngrnnPQGVmGHVBWGWtGmWVwVlmTlGNl +ZQPgRqrrQPqLnrLMvLphHdvdjpJddb +NwbBjljFbcjtTcccqW +RHZrPHPpNgZTzTqc +sfrPdmPdpsmPPPrfQPVGlwGVBwbGVnFlNQCG +hQdNTlzhdTvrhdnTBqcWBLsBHgWQgBPg +zwzRDbDfqZBLHDLB +wFbFmjjRzfmjGGMGMfmJwwGCCnvNhpvSCNnrvJvCprnnSp +zshNNJbwGFJfGJzzzNRnHGnCnRHcRPgTmPmn +LMDVtZLStrrZClBrVDllLSBWRPTPPRRPmgWPVmPTPHTWgR +SDSqLMlrtLlLtrBqBdlMZjvffCNzwvhjvvzhdfNhvf +SLQmGBmhLSLQTBGBGwdwpJjwwQjwcVpJZJ +sNrWrWPNbHghrbgnNNzbWbFWdZpMpzVpdMZMzMMVZcwwJdwd +frrPNNWshWhhHDvDGDRSBSRvttqv +FJqpgvhJJRjFjZTqDsMHrzwjsSsSszMrMm +PPPQWGtnbbfBmPsFswwsMrcc +QfBtbldtWQfbWbnfGlFqZppvpFZZLhFlpq +ZqSMZHHCMpHTZTWmFTFZPZQJBgVGVJQvVVSDBvBtcBBG +RNsndwsNjsbsgGCgjQBttcBg +NRszRRNzLNNNwNfhCCrfdmTqFZllFFHFFpWhlTmWpq +llbbzDmSspGRpHpzsldzRRsVtFBBFJMMVVFLTTTMVtLTDM +cqgjqvNgvqCjQZqgGGnhMTnMJVLBLMtFhhVFWB +PfGGvQrPCjvjZgGCCCZZZbSmmmHlRpprlHrHwssSRr +mRmpFpWpfMMgLnmS +CdCsqzdRzqStLjSqfMnL +wQRHdTzCQbzCwsTrZBlFZGpVlpFGQD +qnMTnTVSTPTHTHcMZMvVpmppmFmVzFLLFLlFpG +gBjDsjRRwhDDghthwwWZwLmpmwWWLWLbGZ +NhZtZtBgPTNJJNTS +jLjjmpHvzvZrfzQjmfHHWrfbqblLsSlTsqsgqPJbPqVglb +FBcCwDwtwgcgnCwcGchtJSsRqVRVJPPqDlbSDRPq +MBhthFNtMGCwhcwnpQfWjNrQprpvzpgQ +RfCnWfnhCbwHgWjzBgzB +PsVqDsSTshsgszpsph +DPDvTVtTShhSZhmqSvLlQJFnQJJZnbCnlCCZ +pRRdJngltnwwvTNSWqWffqgBqD +HQGcsdrjzMDDBfGMGG +FLhsdbzCLLHjhntpVnRPRvZV +gZNwQHHNRlGvhvhGRvRb +dpSSBDrzdCfcSzfrzZrfCfMbthWWWPttDthvMFWvvvPj +ZdpBpZCrssBJZfSJBzBdCTcnmQwmnVVlmqTQTTQlHLwNnN +ssCpTttVVVpzZDVvRpCsRtDgWBWBBFBJvvJHMBghGghrMJ +lwLmNNLwSblbmSQLfhJHZgHrHhhJJhHHmW +QLSdbdPqndlNlLdSLNQncpRtRTcRVTPPZRCjVCcc +wzzJclzcTThvWSSCqRlQSsNN +rDpVjpVVDpsQSRDRfQmm +GLbjrLpFbgLVLLgdbjVpchcFZhvBwJvtvtJcZwRB +wPgZgLVMfWVTgmTZZZftJjtfjtJCcdpjdCqc +zGGbQQnQGvBBhGQvvvBBSBvQdhdqqCpdddDmJlCcDjCtJdmJ +HszzHBzQBSmGSwTWgswZPWTVgZ +GDFvzCFdrszSdNJrFfjjfqZjRfsjpqmcwZ +WbbVtVnBPWMgBLMBnQQnBQHcjfjpZRwqcwMfcNTZRqqNmT +WQQnVVPHtggLghWWhHnPVQbvlJhSlrvJDlFGJDdDCzGNFF +dVhTBjBHtTVqWRJZRqhJZQ +brSDTbDfcCwDzfCSbwMQnlqCRJnMgWWnZngM +DFwNSrwNwbDzbFTTFtjmBpVdGpHs +dPQfdfTzDrFDmFDBgBFj +RlJRclcswJRvnwPcpjbjbbCZjFjbBmsbFZ +pqncGlcRJpHGpllGHhvPhRTHrQrttVVfrdQzfrTdftfV +RCzTzRMTfCfRRDzRfhSmZZlCslBbZZBVtZBZsqBL +nvvJPpdcFnPcWnFnVZvBqVlZMbZBNVlV +FpWPMdjdPhSTmwfSjD +NDJjNHLLNWjcLLWCLJLZjLDtRqqtgtMqgtqnRqnSRgggtZ +BwrlfFwmQwhwfPBFhsBdFmbQggCgqQVtbRSqttqMngnp +llPPwsPlGshBJGWJLcHvCzNv +rBvTmwdTSbnrvVWsWVftGfJQGT +gNRLLjlPRWnFVRFDFW +lpCpPNZqZCdvdppnSnBr +ShRdCrJgHClZJtZDGMMz +LvqVVTTNbVPLQNFTnwwMtzFZGDDwmtnM +VLbNvpPvTNVqVbbNpbVPGNLPrRWrcRCWdSrCjWSHcHSdWpCh +tNmZnLSZPFLDnLTmhJMWczQdhmWhWH +bGqbgrpsCsWhcChNQfJz +vwlNbppsRGRRSSSDvjTjLZjZ +zgMZhgfBtftSZQQmLHpSWH +cdqcqnrJVGjjqPVjrPnfpJmsQHQQpsSsbsSDmm +NNnrNqNlrNcPTlBvBvgggfMv +llPrrLHBHCrRRBjrHCjBdrPmvJZzZgZbmgJlZmZhMhhmvh +pNDstVtNtGFNSDFScQtfwzzFJwmJhgqzbMwqZJmh +fpNsptGtQcTsSTccprddCWPrWdTRBMMCMd +TTtDVqTsTcJFgbCqmbCq +NWZQnllzfBFZPBGWQGzFPFRNNgHbHrrwbNrmCbggJRHR +nBZjGFjMQBMPZnjfWjstpcctttvVtcTttMpL +qphVCCwnHqhnRVznFwvLtBTLDTWZtwLWWS +JmdlsdlsjfJfrtjTcvtctDZSSB +rsmfPGbrPbPJfPmrsgMrdJdlFTHhFCqhNqVHnNHHCFznhphG +JsWFMJJzrhSSdFdldmmdmdQc +qLLgCVTgLbBvqsQPVdQGcRRmQmdc +bBCBgCCDbLDqTvqqjpShHfzrzMfjtHHSHsfz +nvFSBFlvvgQFFBzQnlQglmRRzqwsrrMJJMrsMqrfrwzf +CjZNCNhLDNbPZZLZZhwVjpcfrqRhsdJqdsshRTTdqJrJ +jNNDDppjpjDWNVLCVVDpGVVPBFtlSQFWvvQvSSQHSgwQnvtB +WhrQWBRWwhzgmpnSpH +LqMVsJVvFMJLJMsfNjsTJvCgFbSmzgpSHzmngHbGPCbm +jvMjjtqVjTRnwZQwBWwt +jfTWSGSTTWhgcngQfbtJfNzztBQBzz +pVVwsdppRVPLVmPsVVHsjPLPzQdzBzQFzFBNNrJZZQBzbbFF +VmsqHmjHmpvGDSWDvlclSl +PNZfTFSFfTFGCHqqmbFm +WjzRWrjVgnjzplrWWjJVppgGPGsgstmPCCtcmssQqGQt +pzjzJVvnzJjWvpPlnVRVrvnlTDLNNhwfdNZLfMZLwLhTNvTw +QFrQZMFVrVpVszzcNTdMRCCb +SvljGmlvLfwLhLLLHlHdNzsRthhbbRccRCRNbC +LfwlDmlvGBSjjlLLgpPpFJqgQndQgZBJ +RBjPRHdjPfqQcfhcdv +SngFcJZJlcnctSlhhsQvGsDGDsDnfs +pSmFgSWNJFNtStrmNtpCCjPVcbjjHbcWTBHBHL +vGjqCPqNPGFGNftLwmZwfQNTLp +hrdBCSHcCJJcCBShJswmLQpLbbQZTLLJmmZp +BdHHSzrBWdzchzzCcdzHddcDVWFnjPjllGggVlWljPFFFWPM +hBtZZnpbhbPZJbnhDtPnpBtpfjfNNzrrCzjFzFzFTjfjjWzJ +gHllMqRSmqcqMTdggMqHlcFzRrFQWNfvrRvzQrWjWvWf +gwqlgHmmdsgwlwMHZtpsbBbtDBThbBht +CsDLFFLFCvczsCsJrCrJJLRgbQQgmMmPbDDQbPnMgMmg +VlwNBNVhjNVNWBwWjtbRMRZzPmQnfQMPnlZP +VWWSSwGTwtwWWNVwwpqJJrcJGvzqCJCqJF +wLwSSbzwCvddlvvlSj +THnQnnHttcvpQzrZRllZ +sTntBHTnVbPbgzsbgL +FwHgrHvFQQwpHhNhTBLdpNNNLd +fCGqCVtszfSslCSzSGsfCssjNTqLTdmjNLBLdnTTTMTjTg +DccfslfgRSSVVzlcSVtzDRVHwQZFrwwvwFWbbbRRWwrFJb +CwwWwwFNRpFFpZQHtsmfqbQDTQTTqb +VcjzLjGjzGjGjVjLdzqmDqHrsmsqGRrHqGqH +RjdVlgdnljlBnSgPCpNwwMWwMM +tCCtqtbPGzsSQVzQTq +mzMmHMpRsRQTsFFV +DpzDwgdMzMLppNmNpDpfgrbhLcGtPrbtrbrbhnbBcC +BvsQBBBLvDQGjDvSQLTvrHprHlRpVlVllgRbRbHPqq +MMMMCpfJFZZMmCzwpVPCWRtHgqWgqClgtt +FwzmfzhFFdFcpvSDSBDThs +fQrGQbFFFrHHtlHPclzzPLvc +mTnwpNCCqMqjmCThpTpSvvtBczstlLznvsztsPPP +mCpTNhmmpCqCmjmpTjmLCpSJQZVfFVrDVfffFFgfgJQFdbgG +GmWjRBSfttcGfRcSclVVJqsTMllsgJVMVZwV +pPFNpfNCdNzCVMTTNqVssqJN +dzPfHCLLhdjjLGRnmnmr +GPhPfGWgggfslffPsVPGsqJMzLQJtBprwQJJGQwLpQrw +ZNdmvbDDbNvHbmZCcJQwMmzMwWWQrrwttp +bvdDNdnvNbnHDdnDHHRSbnqhqhWfjWFVTVhRVjfjFTfP +hTThfWNCDRfsVCDhpgzgbpPZZwbnZQns +GSjGGcCBGmdjdSlGBcmZwzJzpPpJzwPwQbzgPd +BGmcrcStcMMMmrSLmSMCvFVRFDhfFhhNDWWTqFqTvf +ZmjDTTbmqQCCQQSwvhsL +FGVJPmPmtRVRsCvvRLwwhC +JgdHJgmfbjzTpTMf +fTbsVCsssgLNrfNrgm +zQvzZlRvddvpNLpZrMNNLZ +HLvWFHHlFQvzHnnlnvQqhzWvstBwbGVtstjGqjjwqGGCcwGq +JNpNdzzdJhNnfNGBZLqZqlhvSZSG +QswtcmmwwmTmwwcwZSLlZLDSvSvlBZQD +FsVFBbFgFsPwtVBTwgTPcsmpzdNngfzfpCzJdzCJzNCndn +qcvrLBppgpWWWgLcpzPfhNDqdzqwDDzwhV +MZFjFnHFMHbMntMtnwStfddPhDffDfzDfS +QmnjMZnlHjmnMGFnFlMmjlZWzLgsGgcrspBBLCBcgvgBRC +sdfWHjZfrZrSPMCQ +zqtWRDDDRMbrQJPQ +zwhwzmqwzmFpWzvFqBmFvjNHlHfgVLBgdfVfNVjLsl +lRlBTlvlZfhtbGBWtFBz +cqCNjjqjrNrcNjwDqNPCVrSQStSWshFhtQhbQzGzmFCG +HjPPzMcdNqjcNHMqPjdpgpZflfdgnTfdlvlJ +VpwQJVRtHplnnwtppHhqWBCfVdNNPqPBPWsBDq +jzLZCrvvrZjZvqNffvDNDcWDWd +LTrZZLFZbgTzgjZZjFClJhTHTplQpmnQlpmpQR +JGJnSWLGSpWHVHwGGJHpZdwPdTTPMdTMDdlzccPMPv +gqrrmtbrbgggqgBtqmRSrFgNCzvMDvlMPDdddvzBcPMMMDBd +gjrmRgmtRggFtqjbhgbjrtnJJHWLHQWZZLhZsLLGHhSL +BtTDNggLRPdWQHqggg +wrVpVVlCJVGMMJVdHWSdPSqqRwSQSP +vCVrpvvGjlphBRmZBhmBhBND +lqDcZGcSSqSqbDnccSLJgHgLRfnvvJRLmvWJ +FVCFPChQzVhmsFBgddRgJBfdNfJdfv +FzCpmTQzjQCThppTSttqDccMTDGcDG +QCSGBGCrCsMBTCQwMGSfvvLNNnnVLDlNVNDdVdlr +ZHtPffjWbqgtmnNdvljFnFhdVv +JRWbmgmRJtmJMGGwSBBRRRfQ +LqNrCfCQQhtgnPnc +JWBrWrVlbWgbbtcb +VwvTBprdrVJVNLNMNNqfqpjN +bjVqdHrdqVHPsPNbqHbqNdjFGRwRGlttRtMtRtFFGMLHJw +cfSpZnBZWQBZJlGRJJcwGMGL +WWBhTMgDTZghVjgjssbrbddd diff --git a/flake.nix b/flake.nix index 3b9c8c3..3706945 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,7 @@ packages.${system} = { day01 = pkgs.callPackage ./day01 {}; day02 = pkgs.callPackage ./day02 {}; + day03 = pkgs.callPackage ./day03 {}; }; }; -} \ No newline at end of file +}