AOC2023: Implement day8
Second part was kinda weird. You are supposted to assume something of the input, which necessarily is not true.
This commit is contained in:
parent
6ebe698218
commit
33b3c8bed0
|
@ -10,6 +10,7 @@ set(AOC2023_PROJECTS
|
|||
day5
|
||||
day6
|
||||
day7
|
||||
day8
|
||||
)
|
||||
|
||||
set(BANAN_AOC2023_BIN ${BANAN_BIN}/aoc2023)
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
cmake_minimum_required(VERSION 3.26)
|
||||
|
||||
project(aoc2023_day8 CXX)
|
||||
|
||||
set(SOURCES
|
||||
main.cpp
|
||||
)
|
||||
|
||||
add_executable(aoc2023_day8 ${SOURCES})
|
||||
target_compile_options(aoc2023_day8 PUBLIC -O2 -g)
|
||||
target_link_libraries(aoc2023_day8 PUBLIC libc ban)
|
||||
|
||||
add_dependencies(aoc2023_day8 libc-install ban-install)
|
||||
|
||||
add_custom_target(aoc2023_day8-install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/aoc2023_day8 ${BANAN_AOC2023_BIN}/day8
|
||||
DEPENDS aoc2023_day8
|
||||
DEPENDS aoc2023_always
|
||||
)
|
||||
|
||||
add_dependencies(aoc2023 aoc2023_day8)
|
||||
add_dependencies(aoc2023-install aoc2023_day8-install)
|
|
@ -0,0 +1,131 @@
|
|||
#include <BAN/HashMap.h>
|
||||
#include <BAN/String.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
using i32 = int32_t;
|
||||
using i64 = int64_t;
|
||||
|
||||
using u32 = uint32_t;
|
||||
using u64 = uint64_t;
|
||||
|
||||
static u32 coord_to_u32(BAN::StringView coord)
|
||||
{
|
||||
ASSERT(coord.size() == 3);
|
||||
return ((u32)coord[2] << 16) | ((u32)coord[1] << 8) | (u32)coord[0];
|
||||
}
|
||||
|
||||
i64 puzzle1(FILE* fp)
|
||||
{
|
||||
BAN::HashMap<u32, u32[2]> targets;
|
||||
BAN::String left_right_path;
|
||||
|
||||
{
|
||||
char buffer[512];
|
||||
if (!fgets(buffer, sizeof(buffer), fp))
|
||||
return -1;
|
||||
MUST(left_right_path.append(buffer));
|
||||
left_right_path.pop_back();
|
||||
|
||||
if (!fgets(buffer, sizeof(buffer), fp))
|
||||
return -1;
|
||||
while (fgets(buffer, sizeof(buffer), fp))
|
||||
{
|
||||
BAN::StringView line(buffer);
|
||||
if (line.size() < 15)
|
||||
continue;
|
||||
MUST(targets.emplace(
|
||||
coord_to_u32(line.substring(0, 3)),
|
||||
coord_to_u32(line.substring(7, 3)),
|
||||
coord_to_u32(line.substring(12, 3))
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
u32 current = coord_to_u32("AAA"sv);
|
||||
u32 target = coord_to_u32("ZZZ"sv);
|
||||
|
||||
i64 steps = 0;
|
||||
for (; current != target; steps++)
|
||||
{
|
||||
char direction = left_right_path[steps % left_right_path.size()];
|
||||
current = targets[current][direction == 'R'];
|
||||
}
|
||||
|
||||
return steps;
|
||||
}
|
||||
|
||||
i64 puzzle2(FILE* fp)
|
||||
{
|
||||
BAN::HashMap<u32, u32[2]> targets;
|
||||
BAN::String left_right_path;
|
||||
|
||||
{
|
||||
char buffer[512];
|
||||
if (!fgets(buffer, sizeof(buffer), fp))
|
||||
return -1;
|
||||
MUST(left_right_path.append(buffer));
|
||||
left_right_path.pop_back();
|
||||
|
||||
if (!fgets(buffer, sizeof(buffer), fp))
|
||||
return -1;
|
||||
while (fgets(buffer, sizeof(buffer), fp))
|
||||
{
|
||||
BAN::StringView line(buffer);
|
||||
if (line.size() < 15)
|
||||
continue;
|
||||
MUST(targets.emplace(
|
||||
coord_to_u32(line.substring(0, 3)),
|
||||
coord_to_u32(line.substring(7, 3)),
|
||||
coord_to_u32(line.substring(12, 3))
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
i64 result = 1;
|
||||
for (auto [key, _] : targets)
|
||||
{
|
||||
if ((key >> 16) != 'A')
|
||||
continue;
|
||||
|
||||
i64 steps = 0;
|
||||
for (u32 pos = key; (pos >> 16) != 'Z'; steps++)
|
||||
{
|
||||
char direction = left_right_path[steps % left_right_path.size()];
|
||||
pos = targets[pos][direction == 'R'];
|
||||
}
|
||||
|
||||
// Calculating LCM of all steps only works if steps is a multiple of full path size.
|
||||
// This seems to be the case with my input, but it's good to verify...
|
||||
ASSERT(steps % left_right_path.size() == 0);
|
||||
|
||||
result = BAN::Math::lcm(result, steps);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
const char* file_path = "/usr/share/aoc2023/day8_input.txt";
|
||||
|
||||
if (argc >= 2)
|
||||
file_path = argv[1];
|
||||
|
||||
FILE* fp = fopen(file_path, "r");
|
||||
if (fp == nullptr)
|
||||
{
|
||||
perror("fopen");
|
||||
return 1;
|
||||
}
|
||||
|
||||
printf("puzzle1: %lld\n", puzzle1(fp));
|
||||
|
||||
fseek(fp, 0, SEEK_SET);
|
||||
|
||||
printf("puzzle2: %lld\n", puzzle2(fp));
|
||||
|
||||
fclose(fp);
|
||||
}
|
|
@ -0,0 +1,768 @@
|
|||
LLLRRRLLRLRLLRRRLRLRRLRRLRRRLRRLLLRLRRLLRLRRRLRRRLLLRLLLLRLRRLLLRRRLRRRLRLRRRLLLLRLRLLRRLLRRRLRRLRLRRRLRRRLLLRLRRRLRRRLRRLLRRLRRRLLRLRLRLRLRLRRRLRLRRLRLRLRLRRLRRLRLRLRRLLRRLRRRLRRLRRLRRRLRRLRLLRLRLLRRLRRRLRLRLRRLLRRLRRRLRRLRRRLRLRRRLRRLRLRRLRLRRLLLRRLRRLRRRLRLRRLRRRLRLRLRRLRLLRRRR
|
||||
|
||||
TJS = (LFP, HKT)
|
||||
SMT = (LDV, MMH)
|
||||
QQQ = (VKG, FVB)
|
||||
PQD = (NRV, JGD)
|
||||
PDP = (XVG, HBQ)
|
||||
GRB = (XVB, VVL)
|
||||
JVX = (VPQ, QFT)
|
||||
XCM = (MTN, HKF)
|
||||
GSM = (HXM, CRX)
|
||||
GXD = (SCJ, STQ)
|
||||
BTF = (VPT, VVT)
|
||||
JLK = (BFJ, FPT)
|
||||
JCG = (RNF, RHS)
|
||||
QMJ = (GPG, XGP)
|
||||
HGL = (VNM, FVP)
|
||||
QNF = (XCH, MJX)
|
||||
PTL = (DQS, QQS)
|
||||
JNH = (DGV, FFT)
|
||||
CKG = (RQB, TPT)
|
||||
PKJ = (SHG, BFQ)
|
||||
HDF = (TKK, DTS)
|
||||
BQQ = (DPJ, GPM)
|
||||
TQH = (CJL, DXL)
|
||||
KLR = (MHH, LQF)
|
||||
SFH = (FXC, KTN)
|
||||
HKT = (PCH, GRV)
|
||||
BXL = (KDD, SCC)
|
||||
CDV = (RVK, KGL)
|
||||
XDS = (BTD, BVR)
|
||||
CCG = (PLD, CVF)
|
||||
BBN = (XLF, CPP)
|
||||
GHC = (VPF, NMK)
|
||||
PRK = (BFJ, FPT)
|
||||
HPT = (JNH, HKK)
|
||||
DXL = (NHC, VFP)
|
||||
VHX = (JVF, JGN)
|
||||
SLC = (DQF, LLH)
|
||||
KGL = (LQL, KHJ)
|
||||
TBM = (XGJ, KGH)
|
||||
XCA = (BCC, DKB)
|
||||
RMV = (QVT, QVT)
|
||||
HNC = (GXS, JJX)
|
||||
ZZZ = (KBC, KQK)
|
||||
NFD = (PQD, PXP)
|
||||
BTN = (SVJ, MMF)
|
||||
FJH = (KDB, LXF)
|
||||
PXJ = (KPK, QNL)
|
||||
GPG = (LHP, JLB)
|
||||
BNM = (MXP, RLX)
|
||||
LQG = (CLK, CCG)
|
||||
LJX = (PKR, XMV)
|
||||
PVB = (SMH, LDG)
|
||||
SHT = (TBM, GRL)
|
||||
JLB = (FGV, XPX)
|
||||
NJC = (LBK, XVK)
|
||||
HGD = (CRX, HXM)
|
||||
FGR = (SSD, KMB)
|
||||
PTS = (DQC, FDJ)
|
||||
NSJ = (TSC, BVS)
|
||||
XQP = (NHL, RPK)
|
||||
BFH = (JCN, DLH)
|
||||
XVB = (JLD, DVB)
|
||||
XDK = (XSV, GKV)
|
||||
MKV = (TXV, CCT)
|
||||
KGD = (FMS, HNC)
|
||||
BLQ = (PQD, PXP)
|
||||
HGP = (VQX, GTT)
|
||||
SSD = (GCT, NVB)
|
||||
DNH = (KFD, QXV)
|
||||
LKB = (STH, GMM)
|
||||
QTP = (DFH, BKX)
|
||||
TMQ = (CDV, PFB)
|
||||
QGC = (PFP, DVV)
|
||||
GGH = (THH, THH)
|
||||
GRJ = (GBH, MDN)
|
||||
DBX = (JKL, DVC)
|
||||
DTS = (XJP, NMB)
|
||||
PFT = (TGM, RQX)
|
||||
DRS = (JCG, PTB)
|
||||
CVQ = (VQG, CGN)
|
||||
RKF = (VRT, NLJ)
|
||||
VPQ = (JGT, CKG)
|
||||
LDJ = (KNS, DQH)
|
||||
JKL = (XJL, CVQ)
|
||||
LPH = (LBV, DNB)
|
||||
HGH = (RFM, RFM)
|
||||
QVT = (KDD, KDD)
|
||||
KNS = (MDJ, LLG)
|
||||
GPA = (PLN, RTM)
|
||||
CLM = (KPK, QNL)
|
||||
RJM = (LFP, HKT)
|
||||
BFM = (TQC, SQR)
|
||||
XBM = (JJH, PLR)
|
||||
PGD = (SNL, GGJ)
|
||||
SVQ = (DPP, LQP)
|
||||
BRR = (GHT, MGZ)
|
||||
PQH = (PRX, GGL)
|
||||
KRJ = (HDR, VRM)
|
||||
SXT = (GTH, PGQ)
|
||||
BHP = (XQD, VQJ)
|
||||
KPK = (JTF, LJS)
|
||||
JCN = (DLJ, GBM)
|
||||
KBC = (DTR, KNF)
|
||||
NMB = (HMF, LBL)
|
||||
HJB = (XMV, PKR)
|
||||
MDJ = (PFT, XHP)
|
||||
XKC = (KTK, RQP)
|
||||
QTB = (HGH, TLL)
|
||||
MSK = (VQX, GTT)
|
||||
HJK = (FGN, DHB)
|
||||
FDG = (PCJ, DXD)
|
||||
JDT = (BHL, BFM)
|
||||
CBK = (FMS, HNC)
|
||||
VPP = (NKP, MBD)
|
||||
RTL = (RFK, TBP)
|
||||
RNR = (KQK, KBC)
|
||||
RNF = (PBB, CXH)
|
||||
JCB = (JCQ, NMV)
|
||||
KHJ = (THC, BBN)
|
||||
PFF = (LQF, MHH)
|
||||
JJN = (JCT, RRM)
|
||||
PMQ = (JBB, XTH)
|
||||
VRK = (PKJ, DCB)
|
||||
DST = (XVV, XJK)
|
||||
KGH = (DBL, CDP)
|
||||
PTB = (RNF, RHS)
|
||||
FNS = (RCN, VLQ)
|
||||
DBL = (TSG, JSR)
|
||||
JGT = (TPT, RQB)
|
||||
SQH = (JNX, DDC)
|
||||
VQZ = (QDR, XXK)
|
||||
NLF = (KDB, LXF)
|
||||
BHF = (HGD, GSM)
|
||||
RND = (FFP, XLH)
|
||||
JDQ = (VVT, VPT)
|
||||
NRV = (PQH, FJM)
|
||||
BPG = (XSV, GKV)
|
||||
GHS = (NFD, BLQ)
|
||||
RGT = (SVQ, VNB)
|
||||
DHV = (SJG, TCC)
|
||||
GPM = (PTS, RGS)
|
||||
VSJ = (QPV, DFP)
|
||||
DRC = (DPJ, GPM)
|
||||
PVF = (XVV, XJK)
|
||||
VJD = (LPG, VXQ)
|
||||
TGD = (FKB, PVB)
|
||||
TVS = (XHX, SRN)
|
||||
GTT = (CJX, BGB)
|
||||
XLB = (KFD, QXV)
|
||||
SGH = (GSM, HGD)
|
||||
XLH = (RJX, LPH)
|
||||
JLD = (TMQ, LGG)
|
||||
GPH = (LKB, JMX)
|
||||
PTD = (VVP, SKG)
|
||||
MCD = (HPV, RGM)
|
||||
CQV = (JJV, FNQ)
|
||||
SJG = (TNG, LFN)
|
||||
DSX = (PLB, JTS)
|
||||
DQS = (JSK, FRM)
|
||||
JSX = (XFP, QLC)
|
||||
RFM = (KTK, KTK)
|
||||
GXS = (JBN, QNF)
|
||||
QNM = (VCC, NPL)
|
||||
BHH = (XJT, KTH)
|
||||
XSV = (JPT, FTP)
|
||||
QDQ = (GGH, GGH)
|
||||
JKQ = (RML, SXT)
|
||||
JKN = (MCK, BLL)
|
||||
XTH = (TCX, HJK)
|
||||
BFF = (PRN, MSF)
|
||||
VPM = (RKF, MMV)
|
||||
JTC = (BGC, GDX)
|
||||
XBL = (FXC, KTN)
|
||||
CCT = (JVX, QTF)
|
||||
VPT = (JHX, TDN)
|
||||
DGK = (SNL, GGJ)
|
||||
CRX = (XQM, TKJ)
|
||||
DMC = (PCF, KDP)
|
||||
JGD = (FJM, PQH)
|
||||
PJJ = (TQH, JDF)
|
||||
RGM = (FNS, MSX)
|
||||
BRD = (BHL, BFM)
|
||||
GNG = (FLP, BLV)
|
||||
FHV = (PLH, KFB)
|
||||
VPF = (SCH, HMM)
|
||||
XJT = (BJB, DPK)
|
||||
PJD = (CDQ, PDQ)
|
||||
DXD = (MVP, XHB)
|
||||
CXX = (PRK, JLK)
|
||||
KFD = (LHH, GHC)
|
||||
KFT = (HDR, VRM)
|
||||
LXT = (LGD, NNQ)
|
||||
NVB = (LQB, BBC)
|
||||
LBX = (XDX, PDP)
|
||||
RLX = (BFH, KRS)
|
||||
PDN = (BCT, HXD)
|
||||
VFS = (BPN, PJJ)
|
||||
JPM = (VBB, GHS)
|
||||
TRL = (SNB, FHV)
|
||||
JGN = (RMV, KCP)
|
||||
JFS = (PXS, QVL)
|
||||
TGM = (FJS, BFG)
|
||||
TCC = (TNG, LFN)
|
||||
JLL = (PTB, JCG)
|
||||
KCP = (QVT, BXL)
|
||||
QLC = (SNJ, JJN)
|
||||
HHC = (PRK, JLK)
|
||||
RQP = (THJ, QGZ)
|
||||
BGR = (CCG, CLK)
|
||||
CJL = (VFP, NHC)
|
||||
BVK = (XQS, CSN)
|
||||
DFJ = (HPV, RGM)
|
||||
BBK = (PLJ, DVF)
|
||||
XGJ = (CDP, DBL)
|
||||
XMT = (DHV, MFF)
|
||||
MRG = (JJD, XFG)
|
||||
DPP = (VXV, STX)
|
||||
JTF = (TJS, RJM)
|
||||
XMH = (CSN, XQS)
|
||||
FFT = (SJN, RTX)
|
||||
JJD = (SLC, JBK)
|
||||
KMB = (GCT, NVB)
|
||||
KNF = (SHT, KFP)
|
||||
MVF = (PXJ, CLM)
|
||||
CPN = (HKF, MTN)
|
||||
KTK = (THJ, THJ)
|
||||
SRS = (GVM, GVT)
|
||||
GSH = (NHV, KTQ)
|
||||
LXB = (PVB, FKB)
|
||||
VQX = (BGB, CJX)
|
||||
BFJ = (XSD, DJP)
|
||||
BPN = (JDF, TQH)
|
||||
CPP = (RKR, BPD)
|
||||
GVM = (MTX, MTX)
|
||||
VDN = (VBB, GHS)
|
||||
GGL = (BRG, MPJ)
|
||||
NVN = (VJP, QGC)
|
||||
TRP = (RRF, TKB)
|
||||
KNG = (VRG, KRN)
|
||||
MFF = (SJG, TCC)
|
||||
TXB = (LRG, JTC)
|
||||
DXK = (JTC, LRG)
|
||||
RVK = (LQL, KHJ)
|
||||
QFT = (CKG, JGT)
|
||||
XQS = (JKN, LHN)
|
||||
TRM = (NRB, XHQ)
|
||||
AAA = (KQK, KBC)
|
||||
DJN = (XVB, VVL)
|
||||
THH = (GPX, LHF)
|
||||
NCN = (VMV, PBG)
|
||||
JVF = (RMV, KCP)
|
||||
HMF = (LDJ, RDK)
|
||||
TDS = (JLQ, TQJ)
|
||||
JNX = (LQG, BGR)
|
||||
LQB = (XKR, CMN)
|
||||
QXV = (LHH, GHC)
|
||||
DRM = (PTX, TLH)
|
||||
HJL = (QVL, PXS)
|
||||
DLH = (DLJ, GBM)
|
||||
FQB = (XLH, FFP)
|
||||
PCJ = (MVP, XHB)
|
||||
XHP = (RQX, TGM)
|
||||
FGX = (RTL, GGV)
|
||||
GGJ = (SFH, XBL)
|
||||
QDF = (GTK, GTK)
|
||||
XJK = (GPH, HGR)
|
||||
BCT = (JCS, VHX)
|
||||
MVP = (KCN, XQP)
|
||||
QFL = (HXL, DHK)
|
||||
KCM = (KBX, SHR)
|
||||
GVT = (MTX, MFT)
|
||||
VRT = (PMK, VFS)
|
||||
NSM = (GVM, GVT)
|
||||
FMS = (GXS, JJX)
|
||||
XHX = (SQG, HDF)
|
||||
SQG = (DTS, TKK)
|
||||
VRM = (BRX, KJX)
|
||||
THK = (VNM, FVP)
|
||||
LQP = (STX, VXV)
|
||||
FJS = (BDH, QTB)
|
||||
RPV = (QCX, MSR)
|
||||
QQS = (FRM, JSK)
|
||||
HKK = (FFT, DGV)
|
||||
PGQ = (GLT, MXG)
|
||||
DHK = (RLN, XNP)
|
||||
XVV = (GPH, HGR)
|
||||
CJJ = (MFF, DHV)
|
||||
SBG = (VBX, GKD)
|
||||
RPX = (VRK, MRJ)
|
||||
XQM = (QTP, LRQ)
|
||||
KLJ = (GHL, BQC)
|
||||
TTC = (PBG, VMV)
|
||||
RKR = (BHH, KNQ)
|
||||
FJM = (PRX, GGL)
|
||||
SQR = (JPM, VDN)
|
||||
LBL = (RDK, LDJ)
|
||||
XNP = (BTF, JDQ)
|
||||
VRG = (THG, LLN)
|
||||
BVN = (TTK, NSJ)
|
||||
HCL = (JNH, HKK)
|
||||
FPH = (JKQ, LVX)
|
||||
CDQ = (FHT, XLJ)
|
||||
PLH = (KLR, PFF)
|
||||
PBB = (GRB, DJN)
|
||||
FRM = (JFX, DNC)
|
||||
THC = (XLF, CPP)
|
||||
BLV = (FSL, TVS)
|
||||
QLX = (HFC, VRC)
|
||||
BHL = (TQC, SQR)
|
||||
JLV = (PXQ, JSX)
|
||||
SHG = (HDN, HDN)
|
||||
LLN = (GBR, MRG)
|
||||
HFC = (SGV, GSH)
|
||||
JCQ = (DFM, DPB)
|
||||
HBX = (XNV, NJN)
|
||||
RVM = (DCX, KFK)
|
||||
KFK = (JRV, TCK)
|
||||
VLQ = (JXJ, KKB)
|
||||
NHV = (RXG, HMP)
|
||||
DFM = (KKK, DHR)
|
||||
MMV = (VRT, NLJ)
|
||||
TKK = (NMB, XJP)
|
||||
HBQ = (KLS, GJR)
|
||||
PMK = (BPN, PJJ)
|
||||
PLB = (RJN, JTR)
|
||||
MPJ = (SMN, CPG)
|
||||
XNV = (KLJ, VRJ)
|
||||
LRG = (BGC, GDX)
|
||||
JFX = (TXB, DXK)
|
||||
XMK = (MBK, JTP)
|
||||
STH = (XDK, BPG)
|
||||
MCR = (FPH, FXM)
|
||||
XLR = (BMR, FDG)
|
||||
NHC = (QDM, JLV)
|
||||
MRJ = (PKJ, DCB)
|
||||
VBB = (NFD, BLQ)
|
||||
KMN = (PRF, QNM)
|
||||
QMG = (JCQ, NMV)
|
||||
RMN = (XTH, JBB)
|
||||
HPV = (FNS, MSX)
|
||||
TCX = (FGN, DHB)
|
||||
BRG = (SMN, CPG)
|
||||
BJB = (BVK, XMH)
|
||||
NLJ = (PMK, VFS)
|
||||
RHS = (CXH, PBB)
|
||||
PLK = (LQX, SBG)
|
||||
NGS = (LDV, MMH)
|
||||
NRM = (MDN, GBH)
|
||||
BKN = (TKB, RRF)
|
||||
FVP = (SXM, DGX)
|
||||
VLF = (GTK, VQZ)
|
||||
MBD = (CQV, SND)
|
||||
MTN = (FCT, KNC)
|
||||
FKB = (SMH, LDG)
|
||||
XPX = (QSM, QJK)
|
||||
XGP = (JLB, LHP)
|
||||
QKN = (QCX, MSR)
|
||||
CLL = (JCB, QMG)
|
||||
PLD = (BFF, CHX)
|
||||
TXV = (JVX, QTF)
|
||||
KJX = (SQH, DCF)
|
||||
BPD = (BHH, KNQ)
|
||||
GKD = (NFQ, BVN)
|
||||
HSM = (VSJ, GHP)
|
||||
BKX = (LDX, KMN)
|
||||
FTP = (DRS, JLL)
|
||||
MVB = (NNQ, LGD)
|
||||
HGR = (LKB, JMX)
|
||||
FPL = (KFS, BHP)
|
||||
MSX = (VLQ, RCN)
|
||||
FLP = (FSL, TVS)
|
||||
JJH = (BKN, TRP)
|
||||
RJX = (LBV, DNB)
|
||||
BVS = (HGP, MSK)
|
||||
JXJ = (LBB, JXK)
|
||||
TSC = (MSK, HGP)
|
||||
RXG = (TDS, BNG)
|
||||
TPT = (PTC, PHQ)
|
||||
DHB = (CXX, HHC)
|
||||
XVK = (FVF, NVN)
|
||||
MMQ = (KRN, VRG)
|
||||
GCT = (BBC, LQB)
|
||||
MTX = (QDF, QDF)
|
||||
PBP = (LBK, XVK)
|
||||
KTP = (NJN, XNV)
|
||||
TNG = (VLC, VLC)
|
||||
LXF = (XCM, CPN)
|
||||
FVB = (FRV, FPL)
|
||||
PCH = (DRC, BQQ)
|
||||
DQH = (LLG, MDJ)
|
||||
RRH = (MMF, SVJ)
|
||||
PFG = (JTS, PLB)
|
||||
KRK = (DDM, FGX)
|
||||
SGV = (NHV, KTQ)
|
||||
PJL = (MQH, SXF)
|
||||
XMJ = (CCT, TXV)
|
||||
RFT = (RKF, MMV)
|
||||
QMR = (BTN, RRH)
|
||||
SXP = (NCN, TTC)
|
||||
GHL = (SXP, DDX)
|
||||
RRM = (HCL, HPT)
|
||||
JLQ = (KJV, BMG)
|
||||
PHQ = (GLS, GBX)
|
||||
FXM = (LVX, JKQ)
|
||||
BLL = (XMT, CJJ)
|
||||
MXP = (KRS, BFH)
|
||||
PQB = (GNV, BNM)
|
||||
THG = (GBR, MRG)
|
||||
XQD = (MHF, KRK)
|
||||
SNL = (XBL, SFH)
|
||||
QGZ = (DKB, BCC)
|
||||
RPK = (VRS, QSX)
|
||||
TKB = (JRN, QMC)
|
||||
NPL = (LXD, QBM)
|
||||
MJX = (DST, PVF)
|
||||
PFB = (KGL, RVK)
|
||||
RGV = (DHK, HXL)
|
||||
DQF = (DFD, MVF)
|
||||
SNM = (HXD, BCT)
|
||||
GLT = (QXL, SVX)
|
||||
XLF = (RKR, BPD)
|
||||
BGQ = (GGH, NNJ)
|
||||
QPV = (DLB, DMC)
|
||||
QCX = (SNM, PDN)
|
||||
PBG = (SRV, QLX)
|
||||
LQX = (VBX, GKD)
|
||||
KLX = (XLB, DNH)
|
||||
JVR = (XGP, GPG)
|
||||
DPK = (XMH, BVK)
|
||||
PRX = (MPJ, BRG)
|
||||
JBB = (HJK, TCX)
|
||||
HHK = (SNB, FHV)
|
||||
KTQ = (HMP, RXG)
|
||||
JCS = (JVF, JGN)
|
||||
VNM = (DGX, SXM)
|
||||
QNL = (JTF, LJS)
|
||||
CTM = (DBM, KCM)
|
||||
CVF = (BFF, CHX)
|
||||
TQC = (VDN, JPM)
|
||||
FRV = (BHP, KFS)
|
||||
GJR = (JFS, HJL)
|
||||
JQV = (KTP, HBX)
|
||||
XVG = (KLS, GJR)
|
||||
FGN = (CXX, HHC)
|
||||
JTR = (QFL, RGV)
|
||||
QNH = (PMQ, RMN)
|
||||
XHQ = (SSC, JVZ)
|
||||
XTT = (SBG, LQX)
|
||||
VLR = (XDX, PDP)
|
||||
GBH = (TXM, PJL)
|
||||
LFA = (XXK, QDR)
|
||||
SNJ = (RRM, JCT)
|
||||
KDD = (RNR, RNR)
|
||||
DLJ = (FGR, DSS)
|
||||
XKR = (LXB, TGD)
|
||||
PLF = (STQ, SCJ)
|
||||
TSG = (FRH, DRF)
|
||||
NHL = (VRS, QSX)
|
||||
LBB = (PGD, DGK)
|
||||
MQH = (QKN, RPV)
|
||||
KTH = (DPK, BJB)
|
||||
NJN = (VRJ, KLJ)
|
||||
FDJ = (KGK, CGL)
|
||||
MMF = (SMT, NGS)
|
||||
DCB = (SHG, BFQ)
|
||||
SXM = (GNB, BBK)
|
||||
QBM = (TQB, DHN)
|
||||
QXL = (DRM, TLM)
|
||||
MVL = (JTP, MBK)
|
||||
PTX = (HSM, BJS)
|
||||
GKV = (FTP, JPT)
|
||||
TKG = (XLB, DNH)
|
||||
PTC = (GLS, GBX)
|
||||
FNQ = (PTD, XNS)
|
||||
VXQ = (NRM, GRJ)
|
||||
PXP = (NRV, JGD)
|
||||
STQ = (VLR, LBX)
|
||||
VVL = (DVB, JLD)
|
||||
XJL = (CGN, VQG)
|
||||
FCT = (TCG, JPC)
|
||||
MXG = (QXL, SVX)
|
||||
BFQ = (HDN, TRM)
|
||||
JTP = (GDF, VPP)
|
||||
NGP = (FLP, BLV)
|
||||
VKG = (FRV, FPL)
|
||||
CXH = (GRB, DJN)
|
||||
NMK = (SCH, HMM)
|
||||
VRC = (SGV, GSH)
|
||||
LLH = (MVF, DFD)
|
||||
LLG = (XHP, PFT)
|
||||
TLH = (BJS, HSM)
|
||||
RTM = (MKV, XMJ)
|
||||
TLL = (RFM, XKC)
|
||||
RKK = (TRL, HHK)
|
||||
JMM = (MTQ, BRR)
|
||||
PDQ = (FHT, XLJ)
|
||||
XCL = (BTD, BVR)
|
||||
SPL = (CDQ, PDQ)
|
||||
TFT = (QQS, DQS)
|
||||
VVP = (GQD, XDH)
|
||||
CMN = (TGD, LXB)
|
||||
JSK = (JFX, DNC)
|
||||
KLS = (JFS, HJL)
|
||||
GDF = (NKP, MBD)
|
||||
KJV = (DQP, RKK)
|
||||
JBN = (XCH, MJX)
|
||||
PQA = (GPX, LHF)
|
||||
SMN = (RVM, SMQ)
|
||||
SND = (FNQ, JJV)
|
||||
XSD = (KFT, KRJ)
|
||||
BNG = (JLQ, TQJ)
|
||||
TDN = (BBG, PPR)
|
||||
VRS = (TTL, CFG)
|
||||
GDX = (NTJ, MCR)
|
||||
CJX = (PQB, HPJ)
|
||||
XNS = (VVP, SKG)
|
||||
GHT = (VTN, XBM)
|
||||
GNV = (RLX, MXP)
|
||||
LBK = (FVF, NVN)
|
||||
CFG = (MVL, XMK)
|
||||
GPX = (RFT, VPM)
|
||||
VXV = (KLX, TKG)
|
||||
JSR = (DRF, FRH)
|
||||
LRQ = (BKX, DFH)
|
||||
GTK = (XXK, QDR)
|
||||
GBM = (FGR, DSS)
|
||||
SNB = (PLH, KFB)
|
||||
JJV = (XNS, PTD)
|
||||
BVV = (RND, FQB)
|
||||
DDC = (BGR, LQG)
|
||||
LPG = (NRM, GRJ)
|
||||
FVF = (VJP, QGC)
|
||||
DFD = (PXJ, CLM)
|
||||
HMP = (BNG, TDS)
|
||||
BTD = (HGL, THK)
|
||||
VCC = (LXD, QBM)
|
||||
GBR = (JJD, XFG)
|
||||
NKP = (SND, CQV)
|
||||
CHX = (PRN, MSF)
|
||||
TCB = (JKL, DVC)
|
||||
DVF = (JVR, QMJ)
|
||||
VBX = (BVN, NFQ)
|
||||
RFK = (PLK, XTT)
|
||||
XHB = (KCN, XQP)
|
||||
BBG = (SPG, QMR)
|
||||
RJN = (RGV, QFL)
|
||||
DQP = (TRL, HHK)
|
||||
RRF = (QMC, JRN)
|
||||
BBC = (XKR, CMN)
|
||||
BFG = (BDH, QTB)
|
||||
DGX = (BBK, GNB)
|
||||
GGV = (RFK, TBP)
|
||||
KDP = (CTM, JQT)
|
||||
DJP = (KRJ, KFT)
|
||||
XJP = (HMF, LBL)
|
||||
JMX = (GMM, STH)
|
||||
KFM = (JCB, QMG)
|
||||
SPG = (RRH, BTN)
|
||||
BCC = (CLL, KFM)
|
||||
GQD = (SRS, NSM)
|
||||
FRH = (CSJ, QNH)
|
||||
JPC = (XVP, VJD)
|
||||
KTN = (TCB, DBX)
|
||||
PGG = (MRJ, VRK)
|
||||
KKK = (QQQ, RXR)
|
||||
MDN = (TXM, PJL)
|
||||
JBK = (LLH, DQF)
|
||||
NTJ = (FXM, FPH)
|
||||
LBV = (PBJ, XLR)
|
||||
CSJ = (PMQ, RMN)
|
||||
TTK = (TSC, BVS)
|
||||
PKR = (RGT, SLM)
|
||||
XMV = (SLM, RGT)
|
||||
KNC = (TCG, JPC)
|
||||
RTX = (MCD, DFJ)
|
||||
RQB = (PHQ, PTC)
|
||||
VNJ = (RND, FQB)
|
||||
DCX = (TCK, JRV)
|
||||
XVP = (VXQ, LPG)
|
||||
BJS = (VSJ, GHP)
|
||||
QSX = (TTL, CFG)
|
||||
VQJ = (MHF, KRK)
|
||||
JPT = (DRS, JLL)
|
||||
BDH = (HGH, TLL)
|
||||
DLB = (KDP, PCF)
|
||||
GBX = (TFT, PTL)
|
||||
FFP = (LPH, RJX)
|
||||
NFQ = (TTK, NSJ)
|
||||
HDR = (BRX, KJX)
|
||||
DBM = (SHR, KBX)
|
||||
JTS = (RJN, JTR)
|
||||
BMG = (RKK, DQP)
|
||||
BRX = (SQH, DCF)
|
||||
QDM = (PXQ, JSX)
|
||||
RDK = (KNS, DQH)
|
||||
MMH = (CBK, KGD)
|
||||
DPJ = (RGS, PTS)
|
||||
PLN = (XMJ, MKV)
|
||||
LQL = (THC, BBN)
|
||||
HXD = (JCS, VHX)
|
||||
QVL = (NJC, PBP)
|
||||
HPJ = (BNM, GNV)
|
||||
NMV = (DFM, DPB)
|
||||
JJX = (JBN, QNF)
|
||||
XFG = (SLC, JBK)
|
||||
RML = (PGQ, GTH)
|
||||
CLK = (CVF, PLD)
|
||||
MHF = (DDM, FGX)
|
||||
JVZ = (RTM, PLN)
|
||||
KDB = (CPN, XCM)
|
||||
CGL = (LJX, HJB)
|
||||
LXD = (DHN, TQB)
|
||||
LGG = (CDV, PFB)
|
||||
QJK = (PJD, SPL)
|
||||
HXM = (TKJ, XQM)
|
||||
PLJ = (JVR, QMJ)
|
||||
VNB = (DPP, LQP)
|
||||
KFS = (XQD, VQJ)
|
||||
KNQ = (KTH, XJT)
|
||||
GRL = (KGH, XGJ)
|
||||
TLM = (TLH, PTX)
|
||||
DRF = (QNH, CSJ)
|
||||
DQC = (KGK, CGL)
|
||||
GTH = (GLT, MXG)
|
||||
DVV = (MMQ, KNG)
|
||||
SKG = (GQD, XDH)
|
||||
QDR = (BRD, JDT)
|
||||
SCJ = (VLR, LBX)
|
||||
PLR = (TRP, BKN)
|
||||
DFP = (DMC, DLB)
|
||||
JCT = (HCL, HPT)
|
||||
MFT = (QDF, VLF)
|
||||
HMM = (QDQ, BGQ)
|
||||
JRN = (PFG, DSX)
|
||||
QMC = (PFG, DSX)
|
||||
QSM = (PJD, SPL)
|
||||
PFP = (KNG, MMQ)
|
||||
XDH = (SRS, NSM)
|
||||
VQG = (PLF, GXD)
|
||||
QTF = (VPQ, QFT)
|
||||
DDX = (TTC, NCN)
|
||||
TCK = (BVV, VNJ)
|
||||
SMQ = (KFK, DCX)
|
||||
LHN = (MCK, BLL)
|
||||
TCG = (VJD, XVP)
|
||||
DNC = (TXB, DXK)
|
||||
DTR = (SHT, KFP)
|
||||
VFP = (QDM, JLV)
|
||||
JHX = (PPR, BBG)
|
||||
STX = (TKG, KLX)
|
||||
KFP = (GRL, TBM)
|
||||
RGS = (DQC, FDJ)
|
||||
LDV = (CBK, KGD)
|
||||
RCN = (JXJ, KKB)
|
||||
BQC = (DDX, SXP)
|
||||
NRB = (SSC, SSC)
|
||||
MBK = (VPP, GDF)
|
||||
XDX = (HBQ, XVG)
|
||||
JXK = (DGK, PGD)
|
||||
JRV = (BVV, VNJ)
|
||||
HMA = (VTN, XBM)
|
||||
BGC = (MCR, NTJ)
|
||||
TQJ = (KJV, BMG)
|
||||
SRN = (HDF, SQG)
|
||||
LFP = (GRV, PCH)
|
||||
LGD = (GNG, NGP)
|
||||
MTQ = (GHT, GHT)
|
||||
GMM = (XDK, BPG)
|
||||
MHH = (FJH, NLF)
|
||||
KGK = (LJX, HJB)
|
||||
CGN = (PLF, GXD)
|
||||
LQF = (NLF, FJH)
|
||||
LFN = (VLC, JMM)
|
||||
CPG = (RVM, SMQ)
|
||||
PBJ = (FDG, BMR)
|
||||
VLC = (MTQ, MTQ)
|
||||
JQT = (DBM, KCM)
|
||||
DGV = (RTX, SJN)
|
||||
XXK = (BRD, JDT)
|
||||
DPB = (KKK, DHR)
|
||||
VRJ = (GHL, BQC)
|
||||
VMV = (QLX, SRV)
|
||||
KRN = (THG, LLN)
|
||||
SSC = (PLN, RTM)
|
||||
MGZ = (XBM, VTN)
|
||||
NNJ = (THH, JNZ)
|
||||
GNB = (PLJ, DVF)
|
||||
CSN = (LHN, JKN)
|
||||
DSS = (SSD, KMB)
|
||||
BMR = (DXD, PCJ)
|
||||
KRS = (JCN, DLH)
|
||||
SMH = (LXT, MVB)
|
||||
DFH = (LDX, KMN)
|
||||
LDG = (MVB, LXT)
|
||||
DCF = (DDC, JNX)
|
||||
DVC = (CVQ, XJL)
|
||||
LHF = (RFT, VPM)
|
||||
SHR = (NND, MPM)
|
||||
SRV = (VRC, HFC)
|
||||
RQX = (BFG, FJS)
|
||||
DNB = (XLR, PBJ)
|
||||
KKB = (LBB, JXK)
|
||||
JNZ = (LHF, GPX)
|
||||
MSR = (SNM, PDN)
|
||||
SXF = (QKN, RPV)
|
||||
XLJ = (BHF, SGH)
|
||||
DDM = (RTL, GGV)
|
||||
FPT = (DJP, XSD)
|
||||
DQQ = (HBX, KTP)
|
||||
GHP = (QPV, DFP)
|
||||
FSL = (XHX, SRN)
|
||||
PXQ = (XFP, QLC)
|
||||
KCN = (NHL, RPK)
|
||||
HXL = (RLN, XNP)
|
||||
DHR = (RXR, QQQ)
|
||||
PRF = (VCC, NPL)
|
||||
TBP = (PLK, XTT)
|
||||
PRN = (JQV, DQQ)
|
||||
THJ = (BCC, DKB)
|
||||
FGV = (QJK, QSM)
|
||||
LDX = (QNM, PRF)
|
||||
SVX = (DRM, TLM)
|
||||
DKB = (CLL, KFM)
|
||||
DHN = (PGG, RPX)
|
||||
TTL = (MVL, XMK)
|
||||
SCH = (QDQ, QDQ)
|
||||
MSF = (DQQ, JQV)
|
||||
NNQ = (NGP, GNG)
|
||||
HKF = (KNC, FCT)
|
||||
VVT = (JHX, TDN)
|
||||
GRV = (BQQ, DRC)
|
||||
BGB = (HPJ, PQB)
|
||||
PPR = (QMR, SPG)
|
||||
FHT = (BHF, SGH)
|
||||
KBX = (MPM, NND)
|
||||
TKJ = (QTP, LRQ)
|
||||
GLS = (PTL, TFT)
|
||||
TQB = (PGG, RPX)
|
||||
LHP = (XPX, FGV)
|
||||
SLM = (VNB, SVQ)
|
||||
SCC = (RNR, ZZZ)
|
||||
KQK = (KNF, DTR)
|
||||
RXR = (VKG, FVB)
|
||||
CDP = (JSR, TSG)
|
||||
NND = (XDS, XCL)
|
||||
LHH = (VPF, NMK)
|
||||
VJP = (PFP, DVV)
|
||||
SVJ = (NGS, SMT)
|
||||
TXM = (SXF, MQH)
|
||||
KFB = (PFF, KLR)
|
||||
BVR = (THK, HGL)
|
||||
DVB = (TMQ, LGG)
|
||||
SJN = (MCD, DFJ)
|
||||
PCF = (CTM, JQT)
|
||||
HDN = (NRB, NRB)
|
||||
RLN = (JDQ, BTF)
|
||||
XFP = (SNJ, JJN)
|
||||
FXC = (DBX, TCB)
|
||||
VTN = (JJH, PLR)
|
||||
MPM = (XCL, XDS)
|
||||
JDF = (DXL, CJL)
|
||||
MCK = (CJJ, XMT)
|
||||
LJS = (TJS, RJM)
|
||||
XCH = (PVF, DST)
|
||||
LVX = (SXT, RML)
|
||||
PXS = (PBP, NJC)
|
Loading…
Reference in New Issue