Made it though day3

This commit is contained in:
nikurasu 2022-12-22 13:20:28 +01:00
parent 11f2a91bb7
commit c6eafebf55
2 changed files with 356 additions and 0 deletions

300
2022/day03/input Normal file
View file

@ -0,0 +1,300 @@
LdHVLDLDdHdtLMhcqCqGWcWg
ZZQZSZnnJrQrJQJbfzfnWGWPWMcChMMPcqMnhFcF
ZrzpWzfbpQpWbzvZWZpdtVtDNmRHNVptNDHt
gzCjffWZCtCfZZVdqVSqJdvJndSt
hMHLcmGLMLhHmsRMsSvsQSqrsrlJTTdV
NPNGRGHGHNLczNzzZFWSFFCC
VSBpcvNNbNWWSfGRwtJnRtrzzGzGGn
jZlhTlQLHFLLZbwrzQQsttDtbs
hmmPFlhLmhLMgFMFLbMBBgcNVcfNCcfSVSSNBq
jRDSzjCjjMRMrHzMRCDHMDjBnlQbbnQwLwrNLPwnTPQrlc
sZBqdZqsWgFBpgppGJqllPllwnbQwTwsswQPwN
gJgtJJBtqJqWBGzjRCHDDzRmDtVV
GRBWbbWnGNhbwSsfPfmrlslWsS
HLVCgCLpMgcLVDcDCgmlvstSlsstPtSSSlscvl
LzQDQzMMzJzFQVDJgCzJHJZRZBNbqGFhNFwBGhbhBhBm
JNsHhdPZSdZJjSHzzNwvwGgBFmBmvptJbFvm
WrDrwqqqQWVMCvMvGbGbbFFbFp
rqqLncqnlCncwQWCwWlLfSZPsZddfzzNNdhdPlZz
rwfrwHqSdRcgwdZrDcrqDDdgNzjNjPzPJNJPtbNPbGsHNGHv
hllLMTLLQMCzJssPsTvtFG
QtQnpWVVMVWnVQpRZSSwZDggrcSq
FDlqPMBdmbqMrdDqqFdFDwjHZChHHZfZWZNBsZjhfhHf
VQJVgncpTQRJfsssGhsNWC
NtpLLSpcLVRzzRRtpgVcLgglMwwlPlzdmDlFmFPDmqqwlF
PqwwSqNWPqwSWqjNBwpTPpffhJfZfstRtZJRRdJsdR
VFLFzQVgVnDVjhdJHsvhZjfg
VVFVDDnmnzLFCzVmznFzrFlrjSCPNMBCSGSGwwwGBjPNWPwC
zzbCGrfgbzfzCtvqdjSrvSjnvS
cNVTLnJZRNNmQmhJNptvBlBtVjlljqqldtlB
ZhpcJHLQhRcLZLmNQJzfFwDzzgHPFngDPPnP
ttntdMMBZzbZZtjPfwjwTwBvvVmh
llSllRRNsGCrCDTPfgVgTfgvsjPH
CFclcCWGrJNDSnnWMbQTnWtLQd
bccfdSfwFsswcbbdJFGQVGnCJLnBLnDnQLDj
ThvHZNhZmqNWMNqvDVjcjjBQVhQBBVLB
vWMZZNRmNMWqtWqmqHclfFgdlwRwrzzSfwbFRd
WNzRWWZNmtNZnssNRPtCJFQJCffVJVffCvlF
cBqBLgHHBcgqBbCJjrvrVQJfsHlr
DhDShwchBSbdwBsqgGcbgTTRmzdNWmMRMmTdNpTMmW
FHWZDbbPZDFHgGGPdPbJNLpJSlNjcjSphcJjFN
ZCCrBBRwwCjcNwcljppN
CmTTsrMfBCRsTMnnCRTmVZbgdbdGfWHPDVvdbbPV
cgSNBScMgjBBPtBCNLVvVVvhhJJhvsMhVfWq
TFlDrHPZHTTFmwTQHZDZTrqvvzqlJppVJvpffhqqVfJp
DbPwrTZDQDRQQwQZrDrbbQwRRnNSBtCjtcNGjSgSLjLccC
pdcVCpdZnZgcZgdcDWBDNcNwvBWJwc
RRmHspRmmQfLwwJJbFBFFJNR
rGlpfrQrqGhGqdGP
THhNsHhdFjcDthDcjDhLBqWcLLQQJvvBbvBJbl
GfrCSZGCzfVMrVCCzGVfSMQBBFlJlJBFFZqvWBqbbQWl
rSrFwCwzMMzRfGrGMwPfGCVdgHDttthNPssHjmNNdDjgdD
shmhggDsZCZWBDmsQTcTqrLPTbNbwQQrrN
lzpFVfdjfFFGnVVHpjJGJVlprNMPNtPctTNwLtcTbwctwTnN
jVFfzVlFSpzpFCshWmgSRgmBRb
zZGFNPmdPdszdWddGWZlpLMLpbQbLDpblzQbtv
wTwgwSSCHhhCSghJbpcpDglbbQbMVMpV
BHnBRrJCHmRNfGDmfm
CffgvfCRGngRrvGvgdnRVpPQQPSqbVZZDPDVPzFSSQ
cMlWJTMlcTLTLtHHJlpqDLwqSzSSDDqDZDDS
tmHTtlMmWpmsMJsCRdCNsrRGfrnffN
lNrzNHNwzZlHmwNBpMqqnqGDZSpMTGnb
ddjgFjjsRvGvQhQvvFjqbVTFpbVpFDJSbJVpTS
cjsQhsjvRvGcgNtzczmtmwCCcr
NJMJvBmBJPtMtRDnDDwDMFFWDWHG
hZsrzshpSdjZZqSSfgpDwnwFnGCCLHDbjnGCWG
zfgSpScsrdpmllttGvJGcm
GLsnLVLZGZmcGVpgZLmTjTsDDTlDTHPPHWlHwD
dNJhCCdtNJSvdDzwPlvTlQ
BCbBrPPfRMfMJSffrMCMChrSqVcmLLFpqLFFcggLVnqgmbgc
hMdjMndZLRnRnjclszLclQlzGwcr
FPCCSCSpCwStJVGzsPQGslGzPbsQ
TSSJTtfTFTwtmTFFVFDTWRvdgndjjRhnjnvHjdfR
ZwgsnsWsWvWQHqJhGhJVCJHhCJ
cdjlMWRRMhJLCpLL
jjSRmRmNRNWBmdmcWjlDWFPswsPtnZQsnBsnZvvTTnvT
vvbjLTPbQzrQQjpLzLbflfjfRDDsDlRfgDnnVD
ZGCtHHFGzFHhMlCnDqwlgggsqf
FJHMhHZGmNHtJhMhBJZZtZdrbSbSzbmWLLQrQTbPdbrS
ZClGVCvLZzCLBVbdGGzVVBvVrqQMDWMHrgmgQLWrWmTgqqHH
tNpNspcQPfHmqfgHmHHg
nNttnwPRjFtPcccsFptPlllQGlQZbvGzVVVFzhCd
lflmVWpDVsMmmVPlHVbbGSSbGnSHJcncnLZn
NvTFzNwzTQvhFGSZnvgrbgJCgr
jtRwTQFzjBNGGQQBdDsDqqlsVqRflMlPsP
rCSJPCrBwwMdBJRCrwMTGWTWNbcjGZNGGZTb
qzgqfgFghsHzfgHgmmfWGNGGWcNNFClbWlcCNW
DqsnzsHLhddBDwCRJR
sZpHjZrVQmcrbhbthzhFHzhH
QDPMDMndqqQGqQfCDDbhFtzzLtbWzlBLLPBW
TDMDqfGnJSnfnfvgjsjNgJvsjVQv
bDZQbZHdQQggZfttJjGnplSnldsG
FTrFCvWBWzTNSPNvRBGJsGjpsJjstmCLtjCt
rhBvzRVRBBSVHDHcHMHq
FSbSNZbZbzGzGGbNzGgcZPwlDPvlNmLLLwLLlLvvvl
pqnqpVCrpshqmChsQnnRpRCldDHvDHLjDlvPwddlwPtwDV
rRTCnnpCWCChTrWsrBTfbcFFmFSSmfBBGg
QdhdWDsHhHWzPrLPSCPGvs
gpZZmNmtjZwpBZBZgSnvFcGPrrvmncnvmC
RVVRjZJfJVfVBZVtBNBVppZVDqMHhqTbMGlWHQhhWldRMHWd
BPWQrRRNNMhrHhLqqGgjDJjH
TzVmmpmtCNwscTzszcNzDCfCHJqDfGjDJJgfGCDq
wdwmspTsVdlTcpbmVMPWBbBWRPNnFnBWMr
VZTnVnsgrjjsqPzPwWgWPghz
mcFdQGPMBdMSBdWbhRzzWqwLwcWt
GQPBvpfvNvFPBvTnfjnZDHDDjsrr
CZssCNFJBmBNFmFBNwBFCJFTtthGrrSThtSgSRtSfRTGtRrg
LDpDbnjjDGpggGrvGg
PLMWnWQgbQWnWbnbjqDbszHwwzwmNsFZMBmwJFZF
hQSjFLhFLLMSSFgdWTMdGgNbNbWv
JmPlltJBJqmzpbrrwTwrvvGqww
HBzztRBRplzlmHmRmmsplRJZcfFcLFfHSLjSZTcfVVcLVH
nBSQMnVQqJBGnfVfDgCrjbVbtC
FNcPPHdTdhmBdHBvwlZjbClClfcZgjclgj
vFdHWhTLHvnBRRqBsWSR
TRsNNTTHRRZRRsRzJQddSpJLcQdpjs
DMVPVVGmMGWMGtMgGtDlmMWwLLLpJfSfpjzpdQddLSmSSJdc
tVMgGMDwMgMWDBWMttjRBZNnvNCNZrZZRbZNvZ
wlJPVMJPPBShSlhgfTvgNNzzgNMCTg
FLtRnDDSrvdNdrng
FcSmpFZFFmmjWqPWJbmhGqqm
hlBqqTlSfvNhpbfb
fRVsVDDRtnRVfbDNCCNCNQGwNZ
nrrRPPnHzntRrPsRVrtJVBMjlzWfFWdMjjWMqdBBlT
zDNcnRsNNfRFFNNzRzLbRWgMZMMZcdhcBdMrBpZmmZ
PVHHVlPDGPPtjDmmdrrGBBMpWGWd
VVqTTlQtDCqFNzsnbLbCSJ
ndSGSZZGwSZTBdwnwdwmWCzPQCQLffZzRgMZRggMzf
mvqVmqrmcDqllNNtbcNcMCQMRCMCCMQfHLgvRgMg
FhNNcrrVljFcqmTJhwnsmGdJsT
wlmLmZLwzvVmVWVmQWzZSFJFDSqFHSSFJHhDqZ
RsgpMNcMdRgjDcRFqCSrHSHBCFJr
jdncssDNPsbmmwvvlPLw
wQGHMrHGgwgVTQrrMGgGQrTtWzzPJhsfhZztWssQWbZCWh
FjvBFSqqDbljFvSbnvFltszfWPPfWzJZBCsPtJft
qLlDbpjFRbpdGTgLGLGTTV
hrVJsBrpwbsMZtTLlwnqtqdc
QDDmHWmffHCQWHjRQjCWczTTjtlzdldqVtTnTqLt
HmfGfRNWfNWmQCRsgbsMFMhMGvpBVs
CRzzVCZhvGQqNmcWrgpgwQFSmF
BJsttjDtjbdLMHHsBTqBbBHMrprDSrFnFnSgrnnrpDSmWWnw
TbMBMPPdLTbHTjHMtPzZGvzlvqCPGNlNVRVP
QcmcrCVcdTCGRRLT
zzgWFWVBTSWLPdMP
JbhnBVzzfVhgztVDvqcqHwncZHNqnsnccQ
JJVBFfJjNNNsJTwVfZJNffFRpRzRzRptRWtCtSSHWsWzCD
rmrnhgclhQGcGnhrPjqgGMHbWRHRbRCWbzRbMSSpHWCD
mhhjQGGjQgggqnmQnmghdQdJFZBNvZBBLNTvvTNNTLfZ
DrBgwMCMRvMrvDgPCzdpdNtzqqlHNNtp
jWSSZGgfGjcLfdNjFzqqFFzzFF
nGZhTmZLLZhGPVVTgQgMRrrb
ppqZvppdJmSLHdSfZRrrtbscgRVVgwVrHt
hFFFzQPhNWzNhnhGVggrcbwVgBnvbwgR
CNQWFMzWWhCflpjvZJMJdj
pfpfmQMWmcBVfMBBmpfVQMbDGGNPDTcSNTTsSNPCCNhC
ZZrZwvvzZrvZlZlwhwswhNSsgbDssC
ttvdtzRzFDqRJWLVLWJJpQ
CZZPTQPTPTJhTQTrHCBbvtLbbbRWtjbDvb
cGfsVSVcLdSgSwBWRNNGwRNRbD
spSffnccsgcdnnJJQlZZqJLhpMJh
TwGGdWwdddtTsbzPzbbnTLnPLP
gqNSMvtvcSDLLfnMnnPzFM
NvDNDqtvRcjQVGZZGZZhwpQB
jtgFmnqjqttQpsphzNllblzlNH
GRMRDMGCVCHzSCbSbNNl
LMTJRTGRLBJBwLRRHmBFQPvqmPBvtgtc
jDjjwRDpPqqsMsDLJbJzVB
lMNMNddvMltNfFVWbVVWJrrVLfgL
NQQtmtFGFlGZPZcMmmcjjn
CgCNjvSCgSQQzVZNWVnTBPTcsTVBnpPs
bFbbLfbfdRBFhLwqFmblBJfRHtWcttcttlDpspcPWDcDptPn
mdbFhfJrmJwfbmmFFFvBZCNCzMGrNjMQjCCZ
TPDNHHSTNNmRfTrRMZSqwwttdbBvBMth
VVnnFGgnQcBvMqvnhNBN
GLzjjzGscssJGJCHljmfmTWPTCDN
BZZNcMQjBNjNtDJgstjgtwqGRQfhGhSvPfThfqvPhfhf
CCndrnmnnWbrnHrFbWbpbbVmGGPqLfTGhvGSPhqRLRdfSGsf
bFssVbbblFHzrmFlMNMtcNgDtJDzZgtw
smjMtSqQQSjtSfmDVVFHFhnHBHmbNPPH
TgvCCJcZdwdgNvbHvPbbvBNq
JLqRWTgLqJLCJcclgCJdWjfsSSpsfRrsQjDtspptQQ
hNwztzgzJnnNTVFwNTNhwVhZlrpLMLZZlpZlQndLPLpQLZ
vRDvqSSqjbqSWDvjbvBdLWspPLddZPQQLMllLp
SfGfRmSGCSfBfjTcNFgzwMFJzwgm
lhVBhZjjPHbThwFGrNrdvNNwFV
DRrDLfMLSgpCdCJcfmcJCm
LQtnprtqSRtZjHzTthlb
GrGsqfbtsWGWWntnrrwWWWGSSDSMDcSSSwTDzPzJSJzPcT
lmQhhVCgmffCNgmNNmCmBNRRPvDzDMhJvSSDJzzcTzvvPvMT
VBllNBpfQgQmpLBpRBtnqWLFFnZZWWGrZrjq
NRJdngMVwfgnwJtvlblcWLlLDHfccDbW
PFJzBmhmjPFpJrFqLcQHLlHGDlHDQbGz
ShJZJmPFpwdMvCCZRd
WQDqSVWqpBCsPqPWWNscfrHfhrhrHhGFGs
MmLRmLTjmTzTzlhGHfprhvfFhHfT
mLZLRdgMRjtdddmdgwmtMwQSCPbnDSSCqBDwpWPQqn
rNHwMMGDrggWwsvWMPMWWwjbCqjCBlZqvfjBqCJhfffj
FbtFmRTpzBBZqCClpJ
ztbzFtnzVNnNNPPDGD
PLPFcwdLdFcbgdfSwFtWhGWGRMWMJMGCblJR
qTpszVVjRlCHtWCT
qzvrDqQrqznzggFZwFwQScdW
LWLjLNjNjTwlwLZVcBVcVVZcBVQcZZ
JhGhFdmBRdGGDnQtbPvVVdnccS
zDrrFGFFRgRHmDNWTpjTBNTHWNjW
fwfBVLhmwfhHsgBstWCWQnDQnlldWW
hZvFTNJrZjZbFvNvttqWWDtcWqCtFDWn
rbjjrjpRzRzgBLzwLgmzLh
ZqqqWVzdSPnwBJBfwJfZTs
FHGgjRLMJFsJTsBw
DHRcDgHvLhDWPSCzwqnq
LZGZLLRLZpRQBtPTjTffrHljjmsB
wNVVwcCgNCCScwggmjHjTPmQPsTHmlSs
gbbwbqhNCQcbqqVchWhtRZDJWJDtZLWL
CmTmvvmvzCCCgzzVQmTQvTjjGRGShwSHwRrRSSSSDNHSFN
PqZqWdqlplsqBJMMsMMnGRJRbbNwNhrrhShGShFD
fBWBWdZppqpqDMBdlfcTCTLtLtLCQfQvcmgv
pntdtdHHWHqnptGpqHqNgMQwPPPnZMZZZZcfgc
LFmLSVBRTSBBRrffTQgMfQMtJZQT
bmRCSSSjRCtSrRChjqqGqpppGhqDGp
dGGhhfNfgRTGLcpL
BmCCwQMQqmQrBCBJLpbVTFbHcgcbLTMc
JrpqJJmqqqqmzqqwmwNlzfvltDPltfshlhNN
VCCbMJfJlgRCnNGVNnvFvVBF
STsgcZdghZsqSttBnsGnBtBtHt
qDcjgDphjhSghZTQgCJWQWWfwfRzWlwJzJ
JHMVMvmvRcdbmrRHQBBGjcjfFQfChSfj
NltNtZllgZtgtnpnqNWpgCrCBQzBGzFhQrGSSBCzWh
pDrwnqLlvDVmPbss
dbrpbSrwBjswsSjCwqllLqFtqLcrGqqFtF
RvfJDQnRpHvvQfRvvQRJFDqzcWltFFlzcLttWltW
ZpnRVZHmvHnTnPZZPHfHmVwdjVghwgVSBgdBBCwgdC
WRCBGWvNgHnMcFwnpC
ltlstrjlJNlfrZZqDJtNLsHnmwwpcHphhFPMFjwhmnFp
TStJssLstJLtqTsNgvvSBNzzvWvGRz
VBjdWdGcqWdBVCFRmHwfCRRV
DLzNpqbDzDNbrJvltMLJLRRmtRFTSRmTmFwfRHRTFf
zvvJNLgNqGcnjgnP
JjdnFfbdbdQMbQzjtRcwcCvbvBqRBCwt
LlNHlWGprPCVVBsVzqNR
hLmgTlrpPPHrLprHrTTGggHWzhZFSJDfhMdnjjZfFfdFMjFz
bDbwRpCSRgqqMfMf
HzzPcPnhzlhsQzHhHnTggBBqTQTgVQqBqjZW
tnsrFccnzsDvGpNGqNtq
GmPsPrsSlswNmcLzMvnpnmMpLBCf
glDTZRDqRTjRCvjvfBpfCzvp
DHlJVhJRDTbqZDqSNVrNwtVrQwSSGs
nNnDwqDwFVgDwDnCgLnLpCVWdBMRpsPdMPPjRHRHHRdBWj
tQtfTtJtJmlTQrTtTlhfzrmdHzMMRMsBPPddjddBPPdWsB
bbhtQTfTTsmmbStnqGFGNDbFDgFVnw
dsVpDPBMHVdHpplpvdHjRjmmjRTMTFFrrTTFQq
LzzWZLGCzCWNjfmRfBhmQjZq
zSSSwJwSBzNtzLBbwbSGLzWVvcvpHdssDllVJgVHVcdDPv
RWfQBDTBLQWpDLNRZjZwHHddjHNhZdtv
ScCCzSszFzJccPHHvmjHvjhpmHsj
FPclgFVCbcngVgnpWQqqRfLBDBrR
cRLLVwcsctwmbVcszztwtRMvNrCpTggqFrTvvhCVpghBqh
PdSDGdnZQfGDfDjWjWWgvCqFhpqvpNZgCTTvrp
dGnDHWnSQdJPDSFLLcJmRzzLLLRRcl
lCSqlcCcBqBCCwGwnNWnnFwBHF
WMZLMPbPhQddRbMpbbLbRLLHDFgjFGDmFNZgNnDGNHGGjD
dTVPPQbPbMdQMzvVrWvczrCJqv
vzscdHcHZzHzCCHlQTTTCcslMGPStmSlpDDSSSgSPDNBmNtl
FWVMFhFMMqWhFVFbDBDDhpmpGtPSDpGG
fRLbFfwWWLnVjMdzzQHQJnnvQs
SmPdRbWZdSqqzSPmbdWFFQgcQnvncgQGQMMT
BfBLmVNjprVVNlVBrpBlHpNrgQFHGCGgvTQTMGFFgMCvgQcQ
BjjJfVLBfNffJbZDqtDsdzzm
NLgtLsSggjqgqpLLDjsjmcJfvpmFmmJmvPpwhBJB
lMnlZMtdCMrRRnRbTddWbVwcmPfFmhJwPfwJmvfwFvPl
MnRrnGWRbgQqtNGDjt
dSdrTbTtLJCcttcFVw
PhsgQQGPZshvpQZGgsrBllVFlHVpFllJJrFH
gqsGPgMZhgvQbzrzTfSzMTLf
pqbDdQWqCgBfbbfFfB
vtjnmzLcmhBdzTFgTsRP
LZGmjvJGGctnLtvcchSjmhcLqNHCwVdQZwDwWDNpCwqHdDwQ
wlMWSSHWShSMbDSwVhCrNjJmcrDmGRRCGCjN
FHZdHftFFQnqsQqsQttjvGrJccmdGGcrNdRNmG
pHpzPpQHpsPzPlzlbSgSSMLwzh
fCQDLlDQTSjbHDqH
ZhrsrZZZhcclwNswGGwbwF
rcWhlhlpMJpMZmgtBCzCttCCRfdp
zLnCMLNTvtGNpNvNjhRHgZhHvZdZHdjD
fSsWWqScTfJJqfJFFJwswhdHhhhdhDdjbjZbhhDj
WsWmfcqBWfTfsrntrLmplCLttm
ljssbqMMPbHPlsbcWZNLLsWJWRFvvZfW
SzgggDDwTzrQmDQgdSSWvdJLFGffRvZG
zCzCDCrznnTTmCbbpvlPHtCPtb
TZSwNPpcgpNPbwbhhbwrwJqh
BlCDtvvgLWGCLffGfLzLrMqnnbDDHbmnnnJrhnVJ
lzBjdCjCGCjfGjjLGBGGjlCSsRppcdpRNdRSPQcRPQZTgT
TsFTrvGmZGfvZfZFzNNZrhClmRcBgCMwQwQPCPMPRP
bpnnVVJtSDgRBwbQRwlR
jpSnqLpqDJDJLDjWDWLWvvzfZZvqvNsGTHGGFfZl
bzbzznqfCpzvhCSMfbCbpCFhtHGHHJdtHJGhFsmshJJG
DLWRLjRrmNPQjZZlQPsFGFggVcWcFddggdsg
rjrZPwwDRlLLBjQlRRlPDpmbqzpqnnCSCfTMwMqSvC
FmcGcjLRPjQwQjMQrwHQ
btJzJbVNdBJJtzTdGBbdBztGrQhhQWhMwHrhrHSHgHQfhMVS
JJDpdDTtCtzNptnTJBznnvLCCvcFqsRqFcvZclLGRR

56
2022/day03/main.mjs Normal file
View file

@ -0,0 +1,56 @@
import fs from 'node:fs'
import readline from 'node:readline'
const rl = readline.createInterface({
input: fs.createReadStream('input'),
output: process.stdout,
terminal: false
})
let completeValue = 0
let badgesValue = 0
let group = []
rl.on('line', line => {
let inventory = [
line.substr(0, line.length/2),
line.substr(line.length/2)
]
let dublicate = ""
inventory0Loop:
for (let item0 of inventory[0]) {
for (let item1 of inventory[1]) {
if (item0 === item1) {
dublicate = item0
break inventory0Loop
}
}
}
completeValue += getPriority(dublicate)
group.push(line)
if (group.length > 2) {
group0Loop:
for (let item0 of group[0]) {
for (let item1 of group[1]) {
for (let item2 of group[2]) {
if (item0 === item1 && item1 === item2) {
badgesValue += getPriority(item0)
break group0Loop
}
}
}
}
group = []
}
})
rl.on('close', () => {
console.log('Part 1: The complete Value is: ' + completeValue)
console.log('Part 2: The badges Value is: ' + badgesValue)
})
function getPriority(item) {
return item === item.toUpperCase() ? item.charCodeAt() - 38 : item.charCodeAt() - 96
}