This commit is contained in:
dave 2022-12-03 16:15:19 -08:00
parent 6a2ccb8c93
commit d315c3a553
4 changed files with 394 additions and 0 deletions

42
3/a.py Normal file
View File

@ -0,0 +1,42 @@
# All items of a given type are meant to go into exactly one of the two compartments.
# The Elf that did the packing failed to follow this rule for exactly one item type per rucksack.
# Every item type is identified by a single lowercase or uppercase letter
# The list of items for each rucksack is given as characters all on a single line.
# A given rucksack always has the same number of items in each of its two compartments,
# so the first half of the characters represent items in the first compartment,
# while the second half of the characters represent items in the second compartment.
from collections import defaultdict
def get_prio(c):
# Lowercase item types a through z have priorities 1 through 26.
# Uppercase item types A through Z have priorities 27 through 52.
c = ord(c)
if c >= 97 and c <= 122:
return c - 96
return c - 38
total = 0
with open("input.txt") as f:
for line in f:
line = line.strip()
print(line)
half = len(line) / 2
charsleft = defaultdict(int)
charsright = defaultdict(int)
for i, c in enumerate(line):
(charsleft if i < half else charsright)[c] += 1
common = set(charsleft.keys()).intersection(set(charsright.keys()))
assert len(common) == 1
total += get_prio(common.pop())
print(total)

46
3/b.py Normal file
View File

@ -0,0 +1,46 @@
# All items of a given type are meant to go into exactly one of the two compartments.
# The Elf that did the packing failed to follow this rule for exactly one item type per rucksack.
# Every item type is identified by a single lowercase or uppercase letter
# The list of items for each rucksack is given as characters all on a single line.
# A given rucksack always has the same number of items in each of its two compartments,
# so the first half of the characters represent items in the first compartment,
# while the second half of the characters represent items in the second compartment.
def get_prio(c):
# Lowercase item types a through z have priorities 1 through 26.
# Uppercase item types A through Z have priorities 27 through 52.
c = ord(c)
if c >= 97 and c <= 122:
return c - 96
return c - 38
total = 0
# Every Elf carries a badge that identifies their group.
# For efficiency, within each group of three Elves, the badge is the only item type carried by all three Elves.
with open("input.txt") as f:
while True:
lines = [f.readline().strip() for _ in range(0, 3)]
if not all(lines):
break
chars = [set() for _ in range(0, 3)]
for i, line in enumerate(lines):
for c in line:
chars[i].update(c)
common = chars[0].intersection(chars[1]).intersection(chars[2])
assert len(common) == 1
total += get_prio(common.pop())
print(total)

300
3/input.txt Normal file
View File

@ -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

6
3/sample.txt Normal file
View File

@ -0,0 +1,6 @@
vJrwpWtwJgWrhcsFMMfFFhFp
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
PmmdzqPrVvPwwTWBwg
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
ttgJtRGJQctTZtZT
CrZsJsPPZsGzwwsLwLmpwMDw