diff --git a/3/input b/3/input new file mode 100644 index 0000000..7565e91 --- /dev/null +++ b/3/input @@ -0,0 +1,300 @@ +vGFhvGvvSdfwqhqvmCPnlFPnCNPcCFcWcr +ZbWZDMgsTHsrNNLJcJnsJl +HbBWQgZVZZBzbgZphwjqpmmVfdGmjG +vvCJLGnthChvtrvCCnRbTRqRPRBtbTRfPRRl +djZSgHNNwjqcdWlbcbfc +pFgMSfpMfzMDZFSgSjGJQQnCvMCVLnnJQLGC +gVhQWQpcWZVwwHVvFvnnnnDFdL +lzbPlztjltztzSjfGcPdTHLTHFCnnHCLndFGGd +jsNbzbczclttSlfbqlljRQMJRMMpJwRZhspZgJRM +hLJvfGcNDttSGvJtvSSJcqbqFBBWbjQqDrqbjDDjjb +lTswlzZdssgFpdPwZpMQnCjngCCjWBQBWWQqng +PRZMpzPZTdVZTfJvFvLFRctJcf +JHbQtHVHHLLbTJmmZddgdgwhllMNhhhTgg +spqpNGDjDPMhCFChMj +DBSDDGnpSDsDWqWczcvSqWvsBtJJLLZrRVZLJRbBZNVrBHrV +GwGhfhPhpHccvwSwrTsmsCjDmqTfbDqjss +tQntQcNRJMFnnVQFFctJqCsRmsTjjbDqDlTqTbWT +NZdVBZZNFzMFNNNvGprZcLGPGrrpcP +SvCPLrrlCSvZLrCPPBNPRvNLQBbpmbdggQTTfpfQgpgTqbbb +HVjHwMVwWtdMGwtwMwdhDFgbJgJqTmFMfFfmmfTTpq +whtHVcjDtHWtsWdwVGVHthDPzRrNSsCRLrLRlZNzZSNzNR +rjrlCCBtbtntwPPt +FvfJHqBJQWWgWgWLwnMwMLbzvhwTTp +WqHgWqBFgGfQgHfVdQFfVfrDllSsRSDmVmRCZZmSSSSZ +gjnppCgGHNPrqqmFnnbr +tGltVlJRtLRlrqcJcqZDqBJc +VvhLlvWltWdVltRTLTfgwSjGNHhggQNQNjps +HDWjCNfQjmwgWhcwPPVbZGcpMb +sFltFBRRSRJBSSsBlSSnRLPZbVGMVPZpMpPZpcMrFZMc +BLTBsstlqBRRBSvJJBsHdgdDNHCQHvbdCjQNNW +lRGzWLZNFwJVbVVGcJ +HqqpjPvHQnJgVgTnbdTV +rVvjBQHQrQhCrzlzWrRlDZ +jZjTZRSjZnhGZhzGnG +HbnPHrCbBDMnhcrVLWWLLWWg +MBwbCNDDptwNMttjdSnsqSRSFFdjtj +bSfvcsNsDdccHHQm +ljrlplvBhDHDHHHHJl +jgpzhrzRrvhFRFrzFnWfZtTwSWZPbbqNbsTqsW +vvCTvcDzHcgtvWjvcDcvgBCgwTdPFPpwpwmTSwwmdPwZpfZh +rNLMNVqLGNrVsRNJNsPnGnnfnpSFGdfddndd +VPQsMbVsPbzzvgCzgv +wPsrqprHQQZsChZn +cjgFLwWDlDltfLmTCnmWCnZZChCQ +FccccSLGFwjVlfVLLtgdSPSpMpBMdMBRRdHdBp +mQQcpmCCprrfLQqZVGqLGv +PtsJdsMtTTTvFqLTnnqbGZ +HjldthsHWztJzstZhBcHDDgpNpCpmrpgSD +lCmhDljDJgWggcnh +LdQrbdTDQGfGLPdqqFrHwRJcWRHgHBWHBJ +sLqsGtDqdGQfSTsqtfqqVMzjCzlvllZljNpCsMMl +CfLCZCCqqHlhSSrrtpRjpL +mWQbnQZVTWwNdwmDSbpbrFptjDrjRj +PJWVnTWPVnnclqqBsCCZHP +tqvtbNCgqJSgZgZvSncrrcGjBGhcnVcR +DswGQQQdRcjBnRDn +sMdlFMQQpfZbvlNtZGgN +RMlPllHtrlrlcZLsZfLcfwdDGD +QppnQhTBgwQDJsGzLQ +gTjnmjvphDSNMbtMbtMRHNVr +RHHcChrVVChCWQmRnMZmnmbTbGmFnqTT +gpzpfpszDwvDDNdwjdstnSMMHGMqvZnFTTZqbq +DsDdpfppwHsgJdjzfdDjdssLPlRccPQQrJcchPQWWQRhlQcr +rsrjQjnRnQZZqMmMMVqs +WTSTdvJLvTGJTGCMGvzBBpVVqqFVzBzVmf +tTSJhGLJbJhLJRRbHPQbnHHMrl +GGgMgBJHWHhLWMhWhgfrhgWLzmsmlzTtzHmsmlszRtszRVlT +bvScppfcQfcQSFCQpnPqwwTdRTvmzVssvswtddsv +ZDpqnPbQbPPnQbFbfSPSqbQJhGrjgMZBhWLrLrBBBBJWhg +hQCCGCNhDmGFJsTt +fcggBBpvBSrtsRTpRmpD +wflWlBlfnvfWWgMNPPLhPnzhPmLQ +pcGGTvVpcQLLzSPPPpVBVQwngNqgsJqgJgqSngsJMqJg +RZDFGhtCDGmWfWsNdwJhnMgwswqJ +ZCGjRGjZllFGHvvcTPjPTQpB +FDVsWrFZnnnfNRJdgBBBMLsJLH +wcThcTphvCThwTlblpzwGlpLRgHJWLgHLBHdHWJLBLWR +mwcbPmClwlzlwvvbTmWbQSjZmZSrDnSNVZfVFnZf +tMlttlFRSrcSFcwQSRwSzrMMPPGGPGLWgNfTNTcLPNPGBPPG +pbZVCDTqnCjVDHnHVnhBPBBbhBhbhgLgmWLh +qZCJZJqqjjCVvvRQltlzTrJtMMMw +QvvdBDdMbdFFJrMMjjmjCfCntC +lHTPsNLPcfVZLnfj +GgsWpHPpTPWpNsGvgdnDbQRQFRbdQg +jPNwllsVZjhslSjwGShZMdJDmmdmWLtMDDPHMPFd +QbvpDrbBrtMbbHJmcH +vznvzBRpBprQBqQZjNswwZDnSlGjZl +PdNTzLQPLrVMzGcMtt +FsSvDrvmrwDggHGwgV +vlpZpZmfnmFTlTWJWdbrdh +mZmnggMTSJrrmnrbmTbngJMtwPvwzzRvPGhQdGZPGPLvGvRd +FFVBNHVlFlDfCsWwLwPzzhGPCvzhQv +qBHLsDcfqFfDDfsFLNcNNBFsrgpMpnJSbnmTnrtmbMSqnpnr +qjBNwBPNPspqddssbsTsMDhTDrThQb +gvzZSZzFbgHnrHmn +fcvfZcRSZFGfZcvFbGttcPfpVjWVwqBqdwNdwNNpqV +RrTmtTrqznrnRCSqJrWlWDbhWVnfVDVWdclV +QBBgHQGvHHQswLHQQLGLHdLhfhlZZFlsscVDZfWfDhVlZZ +dLBMPpGPjLHPHPBHjjgQjHQztSJRztmrNCSCmSpmprrrrz +HHWJgjjsJrPBWBjgWgDvbbvtbNDNVtttMPPp +SnLTlhhNSntRVVLFVbbb +ChqdcNTNqqJCrQrQrrBC +BvfLLngFLDrrlDFDDnGmGlmzqzdGqMMWWwWW +RVsPbsbVZbjctccCcsCSPmdNqMqMWddwqVzhhNHwHd +tcsjPZRctZTSbbtSbtsSjZznnJfJBrfJgLvJJDDBvpTrgp +LJJsNdtJQtbWRJQttjGhjVnjcnzcsczGqj +MDPPlvCwrTlZfMMvTlPTdVcVhVVjchSBrjccSnnq +lgZCvTTZfMgHLptdRgmR +gCDrJRNgJDZRCwMgqGbtVVjTjlFbbTtR +mccnfcnSQScdvdcQQQpWdnWSjPqTbFFlbPqbPVGNjTPjtN +NnzmpWmBBzzpzDgwhDghrZrw +wcbVDBQwVBFQLFQDQcqQcLcJfpHJjmljGgMHfcfgGgjf +PtnWMtSnlgJmWWmm +nThPtRnzntstvrtRPqDFLMLdDwBBFLQDBT +zshqnVqTwqHqZQgZDSZjpFjFFF +PsBRvttdcgFFBSmc +GlPsbLtrvrrrtJlCTnVTlwwfnhwVqH +CvVVnFwWZnZwJZMNlCMNMpbMrrQG +cpghqzqqtzbGMjTNclGN +PqLBsgqBsSfBffShVmvRVwWsFpwZVpsn +LzsLSScvscqNdGdgddQjCDbzhpCDbRbhDpDDwDwt +ZlMBBBnlMFVFHVMJflJjJBfhRnCbCDpRttRPDCbWpCRbpW +mlrFmJrmscNGmsjm +FqQjLRjfvTFvlPHHNPMBDDNDPR +chWptpcWTzBPMsMMMBHW +zcJghwJZpZcgnctccdzzpGQrbQbblFFlTCCFTbdCFCFq +QcwNpCcQzpwtCGPPPnrGrfHfvN +FgjhhhjMVFVjqRRqDBVBqvMZvdrHnPZWZvsnZHdWnv +ShBFhDVghhTBgBBFRRgRCmCPCcpPbwCmLTcCmbpb +ZzlzsBzZnWnsBhFRvfvvLfWqfvMv +GgQGjjddHHPwpHpTGjPdHMvtvwJqLtJRFlRFRqMwLc +dgbbdjpGGgTHGGgQgdpmpgblrBrhrhCBSSznChsVhBsmNB +PhSwPdnpsmSWWcjjDFNqnc +GJGCTLbTZTrlfflVLFchHDHHDFcVVN +RhlhrllQZhCsPvRBvMtSvw +GVgnrgTWGVGjLVjWSpvvNmPTmpQmzvhf +tBbBDsFtszzSSbPZbh +BqlqdcqSJtFMdMjWrnGCWRrWGG +sJVJsQhMhPPSQMwdHRmmsmmwRmsr +zLFjLDTBFNWWwrqrffldlRdFRq +BLjzjTpzLpzWGTbQpMJvVMQwQhhMQM +RqSztDRhJDLmRMLlfvsP +dMdMMHZCsnbdvmbP +VHcZVVcZTwTQpgHQcgFMFBpDDzBqqqDhqJSjSjJjSD +rdMnMGjdHhfnjqWWDJPpGWPtvW +PTBSQSSzZSBSCzQFFSlZTFSvcZpWWcJvtJppvZpLLcDVcv +sgQCsBmmlFCPFFzTgTBgdNnrNndnMrrrfbrNjf +bpZdggTjHbgLglpHjldvHpjdhTVzmhzzzFPzmhFsFQSFnhhN +rPCDBcCCMPGcWDNNWQzQQSNQnNzQ +fCCJtDtGGGfGBtGqBrrcfRBcvPwpLgdZZvHdljvqpvdwbpvl +qpmsNldnlHlCqQlHsHNHwJpJMtwvvvjMvfWjpDtt +TccVBScrzBzzTGPbVTPQhWjfMjwwRtJtjMtWDWWfDS +FQFbzBGczGBFLnFmmqsCLg +qpblblvpvJzStJDrhrnGrdhDfFqf +ggNQNwBgmTcgCBTBTQQjNfDCnZRRRrRGCnrFfdnhrC +mjVFHQTHNjTwcmpzJzHltltbSssS +WChWmdcmzndhFcZrrbvrVMVssj +NQLDlDplpSJGpLfRRMZVBBGjVsGbbjbBZsGv +QNDfNqlpLgSfNfNgNfpgpqwndwWwnCCnnTFMdHndzn +ZGRPTngTZMSGMGnhSgRjQHsPbqjmsWHQCQWbNN +BFLLfpzVDBfDdlfQcsbVcNmQsqqbcC +zFvdplLDLtzFmrrwMMtTrShZ +nTdmnVCGqTsSBTqv +HlMPwMlHfPSfBBmFBfSL +trHHwRHRwMHPMJQJHnDhbdRhdpCZmChNnd +lwHWjzplvHqWHGsMLsLwLfgdfLdg +tPJNPQmQmSGcTtFmctGmSCBgsBBRbLBRVdLVLCBBLgVf +FPtTPQNPrPPQctTcNPSQJJPDjlzplnGDDjWWplWHhGvpnr +jwvvDbvsRsrrjrfvfrrZsPpCpmPJJPqlqWmzRJRTqq +HdLttdSQHdLHMMtNdLMSTtHpCmPplWhCzmzmPWlJhlNplP +BTSLtLLQtnVZDnffbwfw +snvQdrtrQprWpgmGLp +FhzwlwHccBcljFBSDmHmLpgRmPDCffWL +zFhllqjczzwJqqSqlZMsvJgVNMTbssVNnQbb +dLZHrWjWPFZWZnPjZttjddFnMDVMGJMQqvMVGVRVpjVpGVvv +zhzTwTlfTwCsShSgNhfzsQQqvMQStQMDGJJGvGQVvq +TTwCBfsfBwhzwTBCzlmHZdLmBBbtLnLbFnnF +BhBRLFmlBlmhgShHmhSlZlFgvbQNwvcsvMCcsQCwNQvNMsBw +ttWddDjrfjDcssscDbvH +jfjfPWdzdfjdnWpjtrzqnhmJGJFhSJRHSmSmlqlHmq +QvJTgvsvghHRHHNbZvNZTRSzBBCLrDqzrfDDtJSqSLBC +cPPwdcFFPDwfFrBrFfFfrC +nppwdplpRvllsgDH +BGLLWLLwHVZwHnNhwsMsrqMqhh +STlTpDpmjzmjjjgccqdsbNbBhlNnNMhsqs +pjmgjfSDSzmSgFzRZQfRRZLBVLVtZZ +WHjddztMtVLNNFFTmbFPFPRw +bJnvpQfqccQJZfpcbvCphcFGDPFGRwDGDDGwGsmPFnPF +rvffQJZJqrpZCJZJQrQpvBvStlSWSzVSWBbzBLzjtjWWWj +SJFMSMGSDLTsFgHvHL +mNzRrRRzjzqqgPHvLTHjlvWg +ZLbRpRnRnCrbmnmrRRNnwbGfMwDwfDDdSVMdVJdd +nsqTbhcDssPsPWsnchPJMSTSMmJMwTSTCJJfJw +DHvFvvdHpvpGFHDMVVJVplCCVpggCl +RdQjtvHtDQNGsZqzcqPqbNcq +GFzRjczzQJnLjJvvTj +mSfHrNHDzHDrDSSSBvTZLTNqWJWBWLlv +PfgCmfPzDVrtHsddVMsRFcVFQM +sfBgfBfBsHBHFGhsqfjgQZtQQMdZgbZQptbM +rNLRSzRTrrvvLSTWGpjpNZdQPtGtMdNM +wvSWLwzTGTCcwwwJwvwcrcRcVfFBqhhVhDqhBllBfFqBCDCs +LbTpDTcMTSzzMLhScnDnSppNQwVNZFBVnFsrwQQZrQrQrN +tJtJCRlGWljGWCtjJZVPsJBsVwQmrQNN +fvHRftqjGfWGwtfGqvLTzDTzzzchSbMDTd +JJhWZlhqLDHtBDrqrB +bwwmfrSmbmFjVSFQwSdpDvGdpPnRvDtHpGtGPG +VgFfcSQfFgmLLrNThllTZc +QmfvrpnvrrJGnBSCFTBMSWFS +NVMggbVPzCTgDFDD +NRqHRZjVRZdRVdZwNPrMrchGhGpcGfvhQlHJ +nlBdCldndlZTttSSBBccPfGWLLHcTTcWPbbW +jpsFzFmzDzNzDGChGcGGmPQHQf +CNzqvvVJNFqvgRtlqRtdnwSZ +MJtDbNHDDpmVPJVzzjLm +RslhvlfRTWvWWRwfllSZngmggznjSPznLjmSnz +TlhffRwWQhChDqbBQLFHqNrb +HWnmSbzflWltlzLfWWDzjMBvCjjCTCgcMvzBBB +qRRRZJwhZFGdRNfghVjMVVgfcghC +QFFqwNNNwdNZZpqqZfnDSHmmlDLtWtHWlQmD +JrFdNTTLRBTJrFVrBNdVLFBdlHbzQQsQzbPJtpbtltWsHbQw +gZffDfMlCfjCSqMcpHPWHszstzHjQwpb +GMnvfGlfvSqvcMMDgDDcfnqSVFRdmTmVdNBTdmRmBFVnLLBT +ZvRHtDcZntLZssMssQBrMdnC +jglqlVdlbqgVWjJMbrrBCpmQBBfrpm +GqVVPPjPNjFVllNjJjFDvzTLZRvcLRLvTGdGDv +fDVzvVfzzZPMsMbb +LHtBwLBdhFgdHLLthRwFGGMsmrHMmmbZSmqbMGGG +bblRwbTRlllfVQnCQn +fVZzjRzpzpVCRPZhVWQvvLsWWWFQlmjWmG +JDHgJdtwbZqJqsWBBDLlQlvLms +cHHtdbqwrqbbtSbTgSTcVCMRZnRRVNhVPNMPpfMc +fCMPBBdpMpsqMssQccnV +TlwGWDjDZHLjZHHlLGmnlnNcRllsJcqtsJRV +ZHhZHThLLrGwjDDjLwGWWWSjPpbpzrvBFBFdBBbqvCbpFfpg +bvDfDPtCVfFFVdWWpmLRmzWzzdBW +jgZTghhjrGrsswrsghHrlgTGzSRmMLwpJMSMzWLLWRzpRRSc +lpjTpGHlpsNGTHllHrCFnDNPtVnvfQtQtQNP +BwlQcwZBwwwQNqJTrrsRGCDTNt +bMpVPSfRvCbCtTqsCs +dPSRfRpPPjjmLMgZBZBLZZwFQnZn +TsVfggTqVnsLVTdTpmDdRhwPRtPRDRwD +ljHBSWZvvFWvBFPppnQPwnpmzR +MSHSjbBclBSjccLJgqgnLVqTbsTT +zncfVgRzVJgnTfVqNHvZJZNJNMpHbdvH +PCBpsLjPPmMGdHNdHBHZ +jSLlrhLPDWLrPrDCLPCfnpzcVRFcRTnlVncntT +ccvSgjHtRjcjSvjvSrBjzSHHwnJPbgwPPZVVVZnPpZlpwnlT +ffqNqGGsGWqLTNqZwdndPnnJJpZVJW +sNmqhsCMQsMTmjrcmrHrRj +gWWWzNVJDwDzVWVDGbGNnhTnHLsmhmhfsQTNSmHd +vtMPZvrZvqtqBHljrqSnnmTfLfdnQsjhjmhL +MMPZPBqZCrBtvZcrBlDbGbbbzHJCbbRwgwDz +hGSRhsMswhcNNGwhwncMnCqCJNrHJPJJrJtCJdqHJm +BgVTzWBdTfCmfCJH +dlbVFvvWVZhSRQDMnlhc +WfpzBZmgJlQVGvWF +wHSbrHwmccnrmrHsClGqFGbQjQjjQJQQGv +SHPwwsRcrrNtrNSsphmZLzpfzhghZPdD +DFDPRpmgbPQtmgBBQDDNJTMMBZsqsZGqGZTGCGSqWG +fVvVVLcJVzlvzhqfSTCsZsMGMHqq +zJdrrdnzcLlwczwbQmQngRDQPbtDpQ +HDZZrpFqwRrQfBqhjjlVlQ +czTgvvWPNgPGcTlsQflCVshClC +PgNvtSJNvGVMMzNzgGvPGGLHFDdFdmZSZRdDdRrmpFwL +SVHNVFVPBHJqHhgFCgzLmCwppm +DvDdsGZljDlfdZnjnnZGMzLpRgLfMCLmzfPLhmgp +jZDZlrvrZTrTrTQrDsjslHNJqtWbWHbqbPBWNVQWBJ +NmGGBdWWJDJTTZHm +hFVhcqFjncpcppSjqfppqDvzDDDbbDZvDZZbHfJgvJ +jrPqnnHnqSPwPGWPdWst +BfhbwMwbbPbHPPPlrdJjrlMJLrJVTd +pnQnGnWDjnJdlJCh +qshsWvpttzNNQDtzRRPvwfcPHBBBHwbw +SHzGRQjhwwhGzjjwRjfBqpqbNCqNnnqqQqPlQC +TZtgLmZgVmgdFgmZtdrbNqnqlNlpblnlrnBd +DvgmvvZgmWJJjwHHhJSzps +JjlrlJjPJgDjJjJnDRDjNwGGqMvSddvPvwQddqSVvq +SLpphFLhFZhWLzvswwWqsqVVQWdv +FSHtTLZpfzRDDrJgRNjT +wjCMvrMlqqWHvWqddrHqgnBNhcffthhVLtpgLBnw +GbQFZzZZphnpgNZV +FhFzRTDRPzsRQGQGTFlllrJHjdsJlHMqjjHr +LqDcTbmJcqSJSTmnrTcmJrfffplfjZsGZfGGZfQLdplj +hWddgBvzWFZfPsQlGh +RBWBRCdHtgHttVVzHBVNNNDwSTDcSSSbScDDwbwbnmRS +FFPzwlZVVrzFFlFLVlllZdHCHPQMnJQQbhhChdhCbb +BRRqGBgRfqvgvBDDDTRgghNCMMTQNNbVJMNJJdbbdT +DfpgjGfsRWrFVzwLcs +PMTSdSmFjhFpNTqvppvRBrRBrDqB +HnZZznJbzGZGlZtZWHlJGcGcwMvQBsrwRDQvcDgrgDgrqRvq +HGlGfnJZfMMCfNhm +nRssqlqVRppVwdMMQwFgtRFz +smTvLLTvvNLtwMMQNg +CmPGBvZGWvBSGGDmTZjZlhpJcpHDJsbDnlrrprpl +djcQGNQqdGdGqMCgndwgCLDMgW +nvBvHpBppnvPPnJTBWLJVMwVfWJfCbfWgW +hsHHpBsvRTHpsPszTBTTsRTslGqGqlcqlScnqmhZmmZSZSjl +DddBHCmfWCBTDBHTHfMpzhzpJJMJsFrGrz +tPVPmbnttjPnZvSvSbnmZPZPNpNGMpJNzzNrGJpvhsshMpFs +mwnZcbmmStbVtVjbZVlcLTBlcLCRHRDWCWWW diff --git a/3/solution.mjs b/3/solution.mjs new file mode 100644 index 0000000..045f8c5 --- /dev/null +++ b/3/solution.mjs @@ -0,0 +1,66 @@ +import { readFileSync } from 'node:fs'; + +const input = readFileSync('input', 'utf-8'); + +function priorityForItem(item) { + const c = item.charCodeAt(0); + return c - (c >= 97 ? 96 : 38) +} + +const rucksacks = input + .split('\n') + .filter(line => { + if (!line) return false; + if (line.length % 2 !== 0) { + throw new Error('Rucksack with unequal compartments'); + } + return true; + }) + .map(line => line.split('')) + .map(rucksack => ([ + // compartment 1 + rucksack.slice(0, rucksack.length / 2), + // compartment 2 + rucksack.slice(rucksack.length / 2) + ])); + +const sumOfPriorities = rucksacks + .map(([compartment1, compartment2]) => { + const commonItems = [...new Set( + compartment1.filter(item => compartment2.includes(item)) + )]; + if (commonItems.length !== 1) { + throw new Error('Unexpected number of common items'); + } + return priorityForItem(commonItems[0]); + }) + .reduce((total, priority) => total + priority, 0); + +console.log(`Sum of priorities of common items: ${sumOfPriorities}`); + +const elfRucksackGroups = rucksacks + .reduce((groups, rucksack) => { + let group = groups[groups.length - 1]; + if (group.length >= 3) { + group = []; + groups.push(group); + } + group.push(rucksack); + return groups; + }, [[]]); + +const commonItemsInGroup = elfRucksackGroups + .map(group => group + .reduce((itemsA, itemsB) => { + itemsA = [...new Set(itemsA.flat())]; + itemsB = [...new Set(itemsB.flat())]; + return itemsA.filter(item => itemsB.includes(item)) + }) + ) + +const badgePriorities = commonItemsInGroup + .map(items => priorityForItem(items[0])) + .reduce((total, priority) => total + priority, 0) + +console.log(`Sum of badge priorities: ${badgePriorities}`); +