chore: add day 19 pt 1
This commit is contained in:
		
							parent
							
								
									2c959c109b
								
							
						
					
					
						commit
						39c6f8ed4d
					
				
							
								
								
									
										17
									
								
								day19/example.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								day19/example.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
			
		||||
px{a<2006:qkq,m>2090:A,rfg}
 | 
			
		||||
pv{a>1716:R,A}
 | 
			
		||||
lnx{m>1548:A,A}
 | 
			
		||||
rfg{s<537:gd,x>2440:R,A}
 | 
			
		||||
qs{s>3448:A,lnx}
 | 
			
		||||
qkq{x<1416:A,crn}
 | 
			
		||||
crn{x>2662:A,R}
 | 
			
		||||
in{s<1351:px,qqz}
 | 
			
		||||
qqz{s>2770:qs,m<1801:hdj,R}
 | 
			
		||||
gd{a>3333:R,R}
 | 
			
		||||
hdj{m>838:A,pv}
 | 
			
		||||
 | 
			
		||||
{x=787,m=2655,a=1222,s=2876}
 | 
			
		||||
{x=1679,m=44,a=2067,s=496}
 | 
			
		||||
{x=2036,m=264,a=79,s=2244}
 | 
			
		||||
{x=2461,m=1339,a=466,s=291}
 | 
			
		||||
{x=2127,m=1623,a=2188,s=1013}
 | 
			
		||||
							
								
								
									
										780
									
								
								day19/input.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										780
									
								
								day19/input.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,780 @@
 | 
			
		||||
ztj{s<2703:A,m<1025:vk,ztl}
 | 
			
		||||
nqt{a>3513:R,s>2424:R,m>929:R,A}
 | 
			
		||||
mr{s>2281:R,A}
 | 
			
		||||
gf{x>2746:R,a<3379:jcl,R}
 | 
			
		||||
gkv{x>2579:qlx,s>322:rxv,R}
 | 
			
		||||
gdl{x<2917:A,s>82:A,s<54:R,R}
 | 
			
		||||
hzc{m<1277:R,m>1355:A,x>953:A,R}
 | 
			
		||||
xs{x>2337:ft,m>1444:A,R}
 | 
			
		||||
hs{m<235:A,a<2424:A,x<3026:pvh,hqk}
 | 
			
		||||
cls{a<1361:zch,s<3630:tnh,a<2359:px,spb}
 | 
			
		||||
gq{m<1157:A,R}
 | 
			
		||||
hc{m<2726:A,s>1302:A,R}
 | 
			
		||||
lt{x>3157:A,a<3669:R,R}
 | 
			
		||||
sf{x<3199:R,s>2680:jrl,x>3718:jh,R}
 | 
			
		||||
hr{m>1737:A,A}
 | 
			
		||||
bgg{x<171:A,x<283:R,R}
 | 
			
		||||
pgb{m<1624:ksc,x>2675:bzc,bzn}
 | 
			
		||||
zm{m<2599:sjc,m>3497:A,m<2946:A,A}
 | 
			
		||||
gbb{x>860:bxv,a<2306:br,msc}
 | 
			
		||||
gsl{x>53:A,A}
 | 
			
		||||
zs{x<1669:kp,x<2690:ns,s>2951:cls,tvv}
 | 
			
		||||
qhq{x<1264:A,m<1728:A,R}
 | 
			
		||||
gg{s<239:A,s>340:R,x>3642:A,R}
 | 
			
		||||
ktx{m>2620:R,m>2073:R,a<3539:R,R}
 | 
			
		||||
xg{x<3497:fp,sgc}
 | 
			
		||||
pms{m<3366:R,x>3570:A,R}
 | 
			
		||||
gsb{x>2077:A,A}
 | 
			
		||||
xf{s>3779:A,R}
 | 
			
		||||
tfs{s>3844:rb,s<3703:scg,bk}
 | 
			
		||||
bgb{a>2837:R,a>2812:A,A}
 | 
			
		||||
nvk{s<2358:mr,x>2818:nqt,x<2757:lf,R}
 | 
			
		||||
fg{a>1961:A,x<68:R,R}
 | 
			
		||||
cfz{x>1567:A,m>951:A,a<2959:R,A}
 | 
			
		||||
ljt{m>950:A,m<557:R,m<745:A,R}
 | 
			
		||||
zcq{m>1403:th,fd}
 | 
			
		||||
tbv{a>1532:R,R}
 | 
			
		||||
dq{m>960:R,csz}
 | 
			
		||||
tvv{a<2619:zh,m>1623:kb,vh}
 | 
			
		||||
dzz{s>3136:R,s<2702:A,a>2889:R,R}
 | 
			
		||||
lg{a<66:A,s>784:A,s>263:A,A}
 | 
			
		||||
zfk{s<463:R,x>3180:A,R}
 | 
			
		||||
bdh{s>356:A,s>193:A,m>482:R,R}
 | 
			
		||||
tc{m>3454:R,x>3211:A,A}
 | 
			
		||||
tz{x>3191:R,a<1319:R,R}
 | 
			
		||||
cpn{m<2478:A,a<2228:A,a>3262:A,A}
 | 
			
		||||
qmt{x<2144:R,flt}
 | 
			
		||||
nsp{m<379:R,R}
 | 
			
		||||
sxt{s<1011:A,a>1135:A,rl}
 | 
			
		||||
bjg{m>973:lz,x>243:hh,a>1789:xl,xmg}
 | 
			
		||||
cj{x>2137:nst,m<3002:A,s>3193:jc,pfr}
 | 
			
		||||
lmc{a>2967:A,A}
 | 
			
		||||
tv{m>1493:A,m<769:A,R}
 | 
			
		||||
khc{m>2346:mbr,s>596:kvr,a<274:fzh,tb}
 | 
			
		||||
zbk{s>1140:qrt,x>1818:pv,a>540:gt,gxc}
 | 
			
		||||
kk{s>3728:R,s>3683:R,m<562:A,A}
 | 
			
		||||
jv{m<848:zpq,a>1225:fsv,ztj}
 | 
			
		||||
shb{a<242:A,m>2625:R,R}
 | 
			
		||||
fhg{m>1372:R,A}
 | 
			
		||||
dg{x>1246:qd,s<3289:lbf,a<1032:zzp,ks}
 | 
			
		||||
cfq{s>2689:A,s>2613:R,A}
 | 
			
		||||
gl{m>2798:cqm,s>3029:cnl,m>2233:A,qc}
 | 
			
		||||
tkv{m<1884:A,A}
 | 
			
		||||
fdm{m<1549:tgt,x<2498:kdf,s>528:jz,lt}
 | 
			
		||||
vx{x<2948:xc,mgp}
 | 
			
		||||
bs{m<687:A,R}
 | 
			
		||||
kp{x>609:dkr,tqc}
 | 
			
		||||
xpj{x<934:A,a>1772:A,A}
 | 
			
		||||
rhd{x>956:A,a<2471:A,a<3414:A,A}
 | 
			
		||||
srg{m>1381:A,s<264:A,A}
 | 
			
		||||
szv{s>453:mff,nzj}
 | 
			
		||||
ldl{a>3906:A,A}
 | 
			
		||||
rxv{m<1632:R,m>1700:R,R}
 | 
			
		||||
ch{s<3588:A,a<639:A,R}
 | 
			
		||||
sc{s>2789:A,a<1419:R,R}
 | 
			
		||||
gk{m>415:R,x>508:A,a<3053:R,R}
 | 
			
		||||
rs{s<1893:R,m>2997:R,x<2049:R,R}
 | 
			
		||||
ncn{s<722:R,m>3562:A,s>773:jm,vr}
 | 
			
		||||
kz{x>3160:A,A}
 | 
			
		||||
xxt{s>1035:R,a<942:R,R}
 | 
			
		||||
pfr{m<3520:A,A}
 | 
			
		||||
nh{a<638:mv,s>865:vm,nrf}
 | 
			
		||||
sg{s>3051:vps,m>2918:A,zhs}
 | 
			
		||||
xnj{x>3494:A,m>584:A,a<1897:A,R}
 | 
			
		||||
jg{s<2380:R,a<2211:A,A}
 | 
			
		||||
cqm{s<3107:R,a>3295:R,m>3224:R,A}
 | 
			
		||||
hgv{m<203:A,s>107:R,A}
 | 
			
		||||
vqt{x<2609:xkn,bnt}
 | 
			
		||||
ft{s>3154:A,m>1087:R,A}
 | 
			
		||||
qv{a>621:A,a>259:xp,m<2439:fbv,kpq}
 | 
			
		||||
lzv{x<2186:gpt,lsb}
 | 
			
		||||
lx{x>3655:A,s>2359:A,s>2271:R,R}
 | 
			
		||||
xfj{s<407:sxx,R}
 | 
			
		||||
tnh{x<3164:vx,js}
 | 
			
		||||
mbr{s<671:A,R}
 | 
			
		||||
tbn{m<2151:A,x<3001:R,R}
 | 
			
		||||
zhp{m<3768:fgp,x>3307:rv,kj}
 | 
			
		||||
qd{s<3201:A,s>3491:hgt,x>1468:A,R}
 | 
			
		||||
qdk{s<1950:R,R}
 | 
			
		||||
vn{s>2814:A,m>386:A,A}
 | 
			
		||||
lv{x>3090:A,s>2406:znh,R}
 | 
			
		||||
km{m>2029:A,m>1871:A,s<2456:A,R}
 | 
			
		||||
ppc{m>2718:R,x<2889:A,x>3361:A,R}
 | 
			
		||||
bk{a<3189:A,m>846:R,R}
 | 
			
		||||
ht{s>2582:jts,x<3333:hx,rgx}
 | 
			
		||||
bb{x<3122:A,x>3258:R,m>3625:A,A}
 | 
			
		||||
fd{m>650:R,x<450:A,a<2254:gb,gk}
 | 
			
		||||
dcf{s>1084:tzp,gbb}
 | 
			
		||||
pm{x>3659:A,m<3539:R,A}
 | 
			
		||||
hj{a>3260:hrn,A}
 | 
			
		||||
ds{m>767:A,m>718:A,R}
 | 
			
		||||
ccv{a<2781:R,a<2905:hd,s<1781:A,qdk}
 | 
			
		||||
vh{s<2473:lpg,m>643:cmn,s>2647:vkk,ht}
 | 
			
		||||
zld{x<3737:A,xst}
 | 
			
		||||
djf{x<748:R,R}
 | 
			
		||||
jfx{m>1768:gz,m>802:jfs,m<437:cl,snl}
 | 
			
		||||
vft{x<2121:dn,m<2486:kf,x<2180:qmt,vsj}
 | 
			
		||||
bc{m<369:hs,a<2050:dfd,m>584:mx,vqt}
 | 
			
		||||
dn{a<799:vbr,m<1868:A,s<1387:skb,rs}
 | 
			
		||||
kxl{a<1795:A,s>3664:A,s<3514:R,R}
 | 
			
		||||
bh{x>3971:A,R}
 | 
			
		||||
pv{x>1877:R,s<517:R,m>2313:R,A}
 | 
			
		||||
vzj{s<1879:cth,vc}
 | 
			
		||||
fc{a<2156:ths,zbc}
 | 
			
		||||
cs{a>2745:A,x>2067:A,s>2357:R,A}
 | 
			
		||||
nsj{a>2800:A,m<2010:R,R}
 | 
			
		||||
lsb{a>2810:R,x>2463:A,m>2877:R,bz}
 | 
			
		||||
nl{x<2336:A,x>2529:A,A}
 | 
			
		||||
pk{m<2800:A,s>3027:R,x<487:A,A}
 | 
			
		||||
bzn{m<1838:R,A}
 | 
			
		||||
qrt{s>1765:R,s>1529:A,s>1302:zdc,kzp}
 | 
			
		||||
srn{m<3131:zbr,a>3269:phc,x<2610:R,xd}
 | 
			
		||||
lz{m<1282:pzk,s>1085:gld,A}
 | 
			
		||||
spb{x<3144:krj,sx}
 | 
			
		||||
mqz{m>467:sm,m<282:R,s<969:hhs,jfp}
 | 
			
		||||
mff{s<632:A,x>625:R,dzt}
 | 
			
		||||
hgt{m<2577:A,s<3667:A,s>3805:R,R}
 | 
			
		||||
xpv{a<3077:R,R}
 | 
			
		||||
rf{m>3497:gv,a>334:vhk,A}
 | 
			
		||||
rsc{s>1811:A,jk}
 | 
			
		||||
vkl{a>1095:A,a<912:R,R}
 | 
			
		||||
mpn{a>3161:pdk,x>3461:zld,ff}
 | 
			
		||||
pzk{s>1180:R,m>1114:R,x>299:A,R}
 | 
			
		||||
vf{x<492:R,s<3334:R,R}
 | 
			
		||||
kjv{m<719:bc,vhc}
 | 
			
		||||
ks{m>2088:kxl,a>1906:ll,gq}
 | 
			
		||||
vm{m>1632:vb,qcr}
 | 
			
		||||
ph{a<2292:qzf,A}
 | 
			
		||||
xn{x<2461:qln,R}
 | 
			
		||||
px{a<1762:xg,x>3186:jfx,fc}
 | 
			
		||||
fzz{x<3174:mq,a>1103:nn,m<533:bgn,mdq}
 | 
			
		||||
xl{x>116:lmr,m<712:nvq,a>2807:jmf,R}
 | 
			
		||||
br{s>958:xxt,x<537:bnn,a<1228:R,ssr}
 | 
			
		||||
mcl{x>3441:R,s<2530:R,R}
 | 
			
		||||
gn{a<3598:R,a>3777:A,x>861:A,R}
 | 
			
		||||
scg{a>3029:A,s>3661:A,R}
 | 
			
		||||
kr{m<471:R,hz}
 | 
			
		||||
xfc{s>3354:R,R}
 | 
			
		||||
th{a>1860:vf,a>789:pk,mt}
 | 
			
		||||
nm{s<2242:A,x>3062:kz,R}
 | 
			
		||||
xp{m<2732:R,a<441:R,A}
 | 
			
		||||
fzh{a>101:A,x>3191:R,A}
 | 
			
		||||
bn{x<3725:R,a>499:R,R}
 | 
			
		||||
kmh{s>1727:A,a>1678:A,a<1550:A,A}
 | 
			
		||||
dj{m<2927:R,m>3578:A,x>1056:R,A}
 | 
			
		||||
jz{x>3123:A,a>3678:A,x>2902:R,R}
 | 
			
		||||
qq{m<3557:A,m>3852:A,a<1950:R,A}
 | 
			
		||||
nrv{m>1238:qcd,mqz}
 | 
			
		||||
pmd{x>3502:R,gdl}
 | 
			
		||||
ll{s>3570:A,s<3419:R,x>946:A,R}
 | 
			
		||||
td{x<1875:A,a>1161:A,A}
 | 
			
		||||
jt{m>1937:A,s<430:tkv,R}
 | 
			
		||||
pp{s<1233:mzr,m>2932:vsl,ccv}
 | 
			
		||||
ssr{s<903:R,R}
 | 
			
		||||
qcd{m>1677:R,R}
 | 
			
		||||
sv{x<3042:fv,s<3775:tc,m<3706:ct,dm}
 | 
			
		||||
qsg{x>3287:vvt,dbq}
 | 
			
		||||
cdt{x<3342:kx,a>1677:btj,nth}
 | 
			
		||||
jrl{m>1242:A,m>940:R,m<793:R,R}
 | 
			
		||||
dzt{s<732:A,A}
 | 
			
		||||
dk{m>1342:rmq,hdt}
 | 
			
		||||
rn{x<3645:A,R}
 | 
			
		||||
fx{s>1211:jpn,s>785:nrv,m<1357:pd,dcg}
 | 
			
		||||
nvh{a<2086:kmh,x<2940:A,m<2730:R,pms}
 | 
			
		||||
cb{x<581:sd,psf}
 | 
			
		||||
mq{m>678:A,x>2970:qf,a<881:A,ck}
 | 
			
		||||
qfn{s>298:A,R}
 | 
			
		||||
rss{s>1618:rsl,frj}
 | 
			
		||||
sp{x<3759:R,a>512:A,m>3807:R,R}
 | 
			
		||||
dns{m>270:A,x<2335:R,s>3567:R,R}
 | 
			
		||||
dsr{x<2503:R,m>969:A,x>3358:R,A}
 | 
			
		||||
jfs{s>3760:R,R}
 | 
			
		||||
zpq{x<2139:td,s>2466:nl,A}
 | 
			
		||||
vk{s<2893:A,a<803:A,s>2986:R,A}
 | 
			
		||||
rbn{a>3902:zp,m>472:A,R}
 | 
			
		||||
tvn{m<2544:R,A}
 | 
			
		||||
lqf{a<3601:rnx,a<3691:A,fz}
 | 
			
		||||
ls{m<1384:A,R}
 | 
			
		||||
rnk{a>3786:R,m<2367:A,zl}
 | 
			
		||||
pdk{x>3398:R,s>2636:tnq,a>3510:xt,km}
 | 
			
		||||
gm{x>1475:sg,zdv}
 | 
			
		||||
ps{s>2886:A,A}
 | 
			
		||||
ndh{a<979:fkj,a>1636:A,s>2743:tz,nf}
 | 
			
		||||
zhs{s>2501:R,a<3309:A,s>2306:A,R}
 | 
			
		||||
zht{a>1418:A,A}
 | 
			
		||||
fn{x>3198:A,a>3957:R,m>3278:A,A}
 | 
			
		||||
xc{m>1714:xfc,a>2574:cmr,A}
 | 
			
		||||
gld{m<1414:R,x<381:A,m<1444:A,R}
 | 
			
		||||
pz{m>3006:R,A}
 | 
			
		||||
fkp{a>3424:R,m<3526:A,A}
 | 
			
		||||
fqc{a<2473:tv,m>2350:cj,a<2565:xs,vv}
 | 
			
		||||
bnt{s>1011:R,x>3453:A,R}
 | 
			
		||||
xzq{a<3766:lqf,a<3888:kgd,s<1399:zmt,lp}
 | 
			
		||||
clh{a<1003:A,s>3818:A,ntv}
 | 
			
		||||
rq{s>2799:R,m<1088:A,A}
 | 
			
		||||
jfp{s<1113:A,R}
 | 
			
		||||
hh{x<466:A,R}
 | 
			
		||||
md{s>1194:R,R}
 | 
			
		||||
hm{a>1759:gsb,R}
 | 
			
		||||
vb{s>1454:A,s<1082:kxs,a>1134:A,hc}
 | 
			
		||||
rsl{a<3803:gh,st}
 | 
			
		||||
tjb{x>2545:A,x>1949:A,R}
 | 
			
		||||
zsp{s<3356:R,A}
 | 
			
		||||
bg{x>1362:A,R}
 | 
			
		||||
lbf{m>1460:A,mnr}
 | 
			
		||||
bt{s<856:R,s>1189:ppc,x>2845:R,R}
 | 
			
		||||
ct{a<1119:A,x>3291:A,m<3487:A,A}
 | 
			
		||||
drn{s>2455:R,x>3658:A,x>3401:R,A}
 | 
			
		||||
xst{m>2109:R,a>2952:A,a<2839:R,R}
 | 
			
		||||
pr{a>3195:xxm,R}
 | 
			
		||||
rnx{s<926:A,a>3544:R,A}
 | 
			
		||||
ngl{a<2849:kzb,x>1007:R,vq}
 | 
			
		||||
fhq{m<1694:R,m>3210:A,a>1513:A,A}
 | 
			
		||||
ttd{x>952:R,m>216:R,m>132:R,A}
 | 
			
		||||
tg{a>447:R,m<3009:R,s<3685:R,A}
 | 
			
		||||
cgl{x>2271:A,s>3239:R,s<2541:cs,A}
 | 
			
		||||
jh{a>3871:R,s<2611:A,R}
 | 
			
		||||
vlx{m>2576:A,a<3152:R,m>1231:A,R}
 | 
			
		||||
fh{s>1137:R,s<937:R,djf}
 | 
			
		||||
xz{x<2419:sl,x<3456:rt,m>3040:fs,crn}
 | 
			
		||||
pj{a<887:sq,s<3315:A,R}
 | 
			
		||||
kjt{m<990:hqc,nkr}
 | 
			
		||||
tb{m>1009:A,A}
 | 
			
		||||
ppm{a<1310:R,a<1850:R,a<2261:R,R}
 | 
			
		||||
jm{x<1054:R,a<579:R,A}
 | 
			
		||||
fsf{x<3020:R,R}
 | 
			
		||||
xxm{a<3299:R,R}
 | 
			
		||||
pvh{s>929:A,R}
 | 
			
		||||
bfx{a<3017:A,a>3351:gn,grz}
 | 
			
		||||
fp{x<2966:tbv,x<3308:R,R}
 | 
			
		||||
krr{x<677:tvn,A}
 | 
			
		||||
vdz{m<3388:R,x<844:A,R}
 | 
			
		||||
hzf{s>385:R,s<196:A,A}
 | 
			
		||||
jjf{x>3217:A,m<616:qfn,dr}
 | 
			
		||||
nq{x>2432:lg,m<1705:A,R}
 | 
			
		||||
cmn{a<3539:rtg,a>3754:sf,dv}
 | 
			
		||||
sq{a>365:R,m>2615:A,s>3324:A,A}
 | 
			
		||||
xqf{x<554:A,m>1924:A,x>1244:A,R}
 | 
			
		||||
gxc{a<350:A,s>506:fhg,vl}
 | 
			
		||||
qx{a<3727:A,R}
 | 
			
		||||
nzq{m<1027:R,s>1843:R,A}
 | 
			
		||||
rv{a<3212:R,x>3734:R,m>3888:tq,tn}
 | 
			
		||||
lrn{m>1353:kq,s<3039:jv,gx}
 | 
			
		||||
nf{m>2662:A,x<3529:A,m>2179:A,R}
 | 
			
		||||
zlz{a<750:mc,clh}
 | 
			
		||||
kf{a>756:A,R}
 | 
			
		||||
gj{m<1030:A,a>1937:R,R}
 | 
			
		||||
gb{s<3174:A,s<3470:A,A}
 | 
			
		||||
tnq{x>3001:A,R}
 | 
			
		||||
zqv{m>691:A,R}
 | 
			
		||||
kj{x<2954:psp,x>3147:mg,a>3127:mjb,A}
 | 
			
		||||
tgn{a>1711:lkc,s>541:qt,R}
 | 
			
		||||
npt{x<772:R,x>900:R,s<1084:R,A}
 | 
			
		||||
cx{x>3400:lxp,lbv}
 | 
			
		||||
vvt{s>278:R,A}
 | 
			
		||||
vqq{x<3192:R,A}
 | 
			
		||||
tq{s>2456:R,s<2301:R,x>3451:A,A}
 | 
			
		||||
xxx{m<2342:R,A}
 | 
			
		||||
dkr{a<2409:dg,m<1437:lvf,x>1274:gm,qdc}
 | 
			
		||||
fs{s>1657:pbv,m<3482:A,m>3677:R,R}
 | 
			
		||||
tpg{m<1159:A,x>3135:R,gmf}
 | 
			
		||||
qln{a<2906:A,a>2928:R,a<2918:R,A}
 | 
			
		||||
lvf{x<1270:bfx,x<1455:bzz,qk}
 | 
			
		||||
xlq{m<334:A,s>1515:A,A}
 | 
			
		||||
sx{m<1833:tfs,hf}
 | 
			
		||||
gpt{a>2836:zxd,a>2730:R,A}
 | 
			
		||||
krn{x>1155:ckd,s<1260:A,m>2770:A,zht}
 | 
			
		||||
sk{m>348:R,x>1377:A,m>153:A,R}
 | 
			
		||||
rl{a<984:R,R}
 | 
			
		||||
ntd{a<819:dns,qnm}
 | 
			
		||||
grz{x>890:A,a<3172:A,A}
 | 
			
		||||
kt{x>967:A,R}
 | 
			
		||||
qs{m<1546:A,R}
 | 
			
		||||
js{x>3672:qmv,a>2929:hdn,hcs}
 | 
			
		||||
bzz{m<647:sk,bg}
 | 
			
		||||
vv{s>2934:sj,R}
 | 
			
		||||
lbp{s>2775:R,R}
 | 
			
		||||
zxd{x>1854:A,R}
 | 
			
		||||
crn{s>1724:R,rn}
 | 
			
		||||
jc{x>1851:R,s<3672:A,m<3477:A,R}
 | 
			
		||||
xxh{m>1324:qqn,qm}
 | 
			
		||||
pn{s<976:A,m<2297:R,A}
 | 
			
		||||
fv{s>3818:A,s<3658:R,s<3743:R,A}
 | 
			
		||||
ck{x>2824:R,m<316:R,A}
 | 
			
		||||
vdp{x<3490:A,A}
 | 
			
		||||
xq{m>184:A,x>3334:A,A}
 | 
			
		||||
fz{m>3339:R,m>2690:R,x>2493:R,R}
 | 
			
		||||
jf{m<1773:R,x>659:R,A}
 | 
			
		||||
xd{a<3143:A,R}
 | 
			
		||||
svq{a<3528:A,R}
 | 
			
		||||
cl{x>3473:A,R}
 | 
			
		||||
qf{x>3076:A,R}
 | 
			
		||||
ktb{m<3197:A,s<704:R,s>1154:A,A}
 | 
			
		||||
gbj{m<158:R,m<302:R,m>336:R,R}
 | 
			
		||||
ff{s<2459:lmc,s>2743:R,nsj}
 | 
			
		||||
rcn{s>3821:R,x>2847:A,a<2261:R,A}
 | 
			
		||||
xkn{x>2134:R,x>1785:A,A}
 | 
			
		||||
pf{a>3576:A,s>3815:A,s>3737:R,R}
 | 
			
		||||
ntv{s<3659:R,A}
 | 
			
		||||
psf{m>575:R,a<2611:A,m>319:R,R}
 | 
			
		||||
fqz{a>3321:bx,vdp}
 | 
			
		||||
tzp{x<554:ph,a>2615:lm,krn}
 | 
			
		||||
pht{s>625:fh,x>606:ffn,sxb}
 | 
			
		||||
zz{m<1836:ql,s>1299:hp,m<3200:shb,A}
 | 
			
		||||
snl{s>3863:R,a<2001:xnj,kk}
 | 
			
		||||
qdc{a<3128:ngl,a>3442:rnk,x<874:zm,gl}
 | 
			
		||||
rsz{m>1017:R,x<2038:A,m<443:R,dzz}
 | 
			
		||||
frj{m>1063:md,a>3826:rbn,s>1317:lb,zkk}
 | 
			
		||||
bbt{a>3364:A,a<3152:R,R}
 | 
			
		||||
lpg{x>3231:fqz,x<2909:nvk,s<2283:nm,lv}
 | 
			
		||||
sd{s<1984:R,a>1624:A,m<729:A,A}
 | 
			
		||||
spq{x<3000:A,s>148:A,R}
 | 
			
		||||
fsv{s<2728:gj,m<1078:fpf,s>2917:R,R}
 | 
			
		||||
rmq{s<3098:A,x<182:fg,cpn}
 | 
			
		||||
msc{x>326:A,xxx}
 | 
			
		||||
drg{a>1618:hzf,s>486:zjl,a>619:hzc,A}
 | 
			
		||||
hx{x>3100:R,m<249:hnq,R}
 | 
			
		||||
ksc{a>3214:A,x>2913:R,R}
 | 
			
		||||
kxs{x<3497:R,s>949:A,A}
 | 
			
		||||
xv{s>311:A,R}
 | 
			
		||||
kd{x<3492:A,ppm}
 | 
			
		||||
st{s<1839:R,m>810:R,pgj}
 | 
			
		||||
ntb{m>3358:spq,m>2731:zhg,s<116:R,A}
 | 
			
		||||
lqz{a>3814:A,A}
 | 
			
		||||
fb{x>2177:tg,bjd}
 | 
			
		||||
dcg{a<3359:pgb,rch}
 | 
			
		||||
khp{a<2918:A,x>3796:R,m>378:R,A}
 | 
			
		||||
hhs{x<3165:A,R}
 | 
			
		||||
bnn{a<1158:R,x<228:A,A}
 | 
			
		||||
nx{m>469:R,x>3876:R,x<3760:A,A}
 | 
			
		||||
vl{m>1539:A,a>468:A,s>326:R,A}
 | 
			
		||||
qmv{s<3328:R,A}
 | 
			
		||||
rt{m<2818:fbx,R}
 | 
			
		||||
hcs{x<3425:zsp,mk}
 | 
			
		||||
mn{m<2363:A,R}
 | 
			
		||||
sm{m<839:A,x>2835:A,s>1035:A,A}
 | 
			
		||||
zn{x<2270:R,a>798:R,s>3678:R,A}
 | 
			
		||||
qqn{m>1794:jt,a<3748:fdm,gkv}
 | 
			
		||||
hdn{s>3198:A,s>3046:R,ngq}
 | 
			
		||||
mg{x>3205:R,s<2688:R,A}
 | 
			
		||||
sgc{x<3807:fhq,x<3919:A,bh}
 | 
			
		||||
qhl{m>2988:A,x>3259:drn,xpv}
 | 
			
		||||
zbr{x<2841:R,m>2724:R,R}
 | 
			
		||||
rjb{x>2706:R,R}
 | 
			
		||||
qp{m>1140:drg,tgn}
 | 
			
		||||
kkk{s>1408:vzj,m<1501:dnp,s<833:dmc,dcf}
 | 
			
		||||
cmr{a>3290:R,m>1084:R,m>506:R,A}
 | 
			
		||||
lbv{m<3300:R,a<923:A,s<2435:bb,qq}
 | 
			
		||||
mjb{m<3900:R,a>3686:A,R}
 | 
			
		||||
clg{s>1434:nvh,m>3229:rsh,bt}
 | 
			
		||||
hrn{a>3478:R,a>3380:R,m>1194:R,A}
 | 
			
		||||
zhd{s>1275:R,m>3076:R,m<2721:A,R}
 | 
			
		||||
hnq{x>2834:A,R}
 | 
			
		||||
tbt{x>3131:A,m<3435:R,A}
 | 
			
		||||
phc{a>3375:A,a<3306:R,A}
 | 
			
		||||
vq{x<800:R,s>2917:R,x<922:R,R}
 | 
			
		||||
kq{s<3392:sc,a>1260:hm,m>2319:fb,htk}
 | 
			
		||||
fbx{a>3317:A,m<2345:A,R}
 | 
			
		||||
cm{m<2219:R,m>2264:R,R}
 | 
			
		||||
csz{s>3528:R,A}
 | 
			
		||||
nst{x>2459:A,A}
 | 
			
		||||
lf{a<3121:R,x<2716:R,m<818:R,A}
 | 
			
		||||
xsp{x<2980:R,a>2817:A,A}
 | 
			
		||||
qm{x<2949:kr,x<3428:jjf,s<456:jtt,jqn}
 | 
			
		||||
qt{s<744:A,x<1059:R,s>816:R,A}
 | 
			
		||||
zc{x>3545:qx,a>3625:vn,A}
 | 
			
		||||
cxk{a>1449:ntt,s>1617:xbr,s>1504:R,xqf}
 | 
			
		||||
cg{x>2245:zx,x<1956:zbk,vft}
 | 
			
		||||
zkk{m<649:A,a>3680:R,R}
 | 
			
		||||
bx{a<3661:A,x<3529:A,a>3778:R,R}
 | 
			
		||||
mv{s>1300:rsc,khc}
 | 
			
		||||
qjt{x<3376:A,R}
 | 
			
		||||
mgp{x>3029:zq,A}
 | 
			
		||||
fpf{a>1769:R,x>2049:A,s<2923:A,R}
 | 
			
		||||
lhc{s>1662:A,m>1543:A,a<3599:tl,vfn}
 | 
			
		||||
mzr{a<2819:R,R}
 | 
			
		||||
psp{s<2611:A,a>3354:A,a>3056:A,A}
 | 
			
		||||
vc{m<1333:cb,mp}
 | 
			
		||||
bzc{m<1850:R,m<1953:A,R}
 | 
			
		||||
kb{m<2614:mpn,m>3380:zhp,gqd}
 | 
			
		||||
dv{a<3677:cfq,x<3383:R,s<2710:R,rq}
 | 
			
		||||
xh{s<2524:A,R}
 | 
			
		||||
vr{s>754:A,x<643:A,A}
 | 
			
		||||
sj{s<3498:R,s<3711:R,m<1518:A,R}
 | 
			
		||||
bq{a<1413:R,m>3189:A,a<1750:R,R}
 | 
			
		||||
bgn{m<197:A,m<353:gbq,xh}
 | 
			
		||||
jl{x>2858:R,m<476:R,R}
 | 
			
		||||
vbr{x<2055:R,m>2096:A,R}
 | 
			
		||||
ngq{a>3426:R,s<3009:A,a<3210:A,R}
 | 
			
		||||
krj{x>2852:pjd,gf}
 | 
			
		||||
dp{m>1430:A,A}
 | 
			
		||||
xkm{m<1913:kjv,vz}
 | 
			
		||||
vg{x>224:R,a>1513:A,m<323:A,R}
 | 
			
		||||
jmf{s<1182:A,a>3547:A,A}
 | 
			
		||||
vqr{a>3441:ljt,A}
 | 
			
		||||
ckd{m>3131:R,a<1567:R,m>2271:R,A}
 | 
			
		||||
bp{s>3270:A,s>3133:R,R}
 | 
			
		||||
pc{x>3663:A,m<491:R,A}
 | 
			
		||||
mx{m>663:bs,m<622:tjb,gkn}
 | 
			
		||||
qhh{x<1947:A,m>3589:A,R}
 | 
			
		||||
ths{a>2010:dp,R}
 | 
			
		||||
znh{m>662:A,x>2990:R,R}
 | 
			
		||||
fph{a>2941:R,s<1649:R,R}
 | 
			
		||||
nkr{x<1012:npt,m>1326:A,s>1224:R,R}
 | 
			
		||||
zbc{x>2881:R,x>2784:rcn,x>2722:xf,rjb}
 | 
			
		||||
hp{s>1600:R,s>1465:R,a>263:R,R}
 | 
			
		||||
kdf{s>420:R,m>1639:R,x>2176:A,R}
 | 
			
		||||
hkl{s<3823:bn,m>3668:sp,s>3936:A,A}
 | 
			
		||||
lp{m>3026:tbt,s>1876:R,bj}
 | 
			
		||||
zmt{a>3930:fn,a<3915:bcz,ktb}
 | 
			
		||||
jqn{a<3862:pc,m<761:R,a<3938:ldl,A}
 | 
			
		||||
hms{x>3072:A,s<1921:R,A}
 | 
			
		||||
sn{s>774:A,s>753:R,x>547:A,A}
 | 
			
		||||
kx{m>1998:tbn,A}
 | 
			
		||||
mqc{m<2308:A,m>3052:A,m>2635:R,A}
 | 
			
		||||
qdj{a>2946:zgm,a<2669:fqc,m>2271:lzv,ndr}
 | 
			
		||||
xt{a>3826:A,x<3063:A,A}
 | 
			
		||||
kvr{m>1390:R,x>3294:A,R}
 | 
			
		||||
hz{x>2278:A,x<1949:A,A}
 | 
			
		||||
fkj{x<3168:A,s<2741:R,R}
 | 
			
		||||
tn{m<3831:R,s>2560:R,A}
 | 
			
		||||
zjl{s>694:R,R}
 | 
			
		||||
ndr{a<2827:cgl,x<2240:rsz,xn}
 | 
			
		||||
btj{m<1813:qs,m<2042:jg,cm}
 | 
			
		||||
bjd{x<1891:A,s>3600:A,A}
 | 
			
		||||
gjg{m>2075:rjd,a<3588:fx,s<809:xxh,rss}
 | 
			
		||||
zch{s<3538:hl,m<2003:zlz,dz}
 | 
			
		||||
nrf{s>428:vkl,s>146:qsg,a>957:pmd,dxn}
 | 
			
		||||
vhc{s>1085:tpg,jxf}
 | 
			
		||||
lb{m<643:xlq,a>3717:svn,m>911:dsr,ds}
 | 
			
		||||
zdc{x>1803:R,A}
 | 
			
		||||
bzj{s>3689:A,m<2560:R,R}
 | 
			
		||||
flt{s>1360:A,x>2163:A,A}
 | 
			
		||||
qg{s>1039:A,A}
 | 
			
		||||
dm{m<3816:A,s<3853:R,A}
 | 
			
		||||
xmg{m>752:A,x>137:jzj,gsl}
 | 
			
		||||
bcz{a<3903:R,R}
 | 
			
		||||
lkc{a>3188:A,m<900:A,m>1018:A,R}
 | 
			
		||||
jxf{s<527:srg,A}
 | 
			
		||||
gx{m>486:dq,ntd}
 | 
			
		||||
bd{s>2400:A,x>3671:A,s>2281:R,A}
 | 
			
		||||
qc{s<2673:R,A}
 | 
			
		||||
lm{a<3182:dj,a>3635:lqz,a>3407:R,R}
 | 
			
		||||
qnm{m<247:R,a>1687:R,m>389:A,A}
 | 
			
		||||
zq{s>3263:R,s>3111:R,R}
 | 
			
		||||
mk{s>3246:A,m>2016:R,s<3088:A,R}
 | 
			
		||||
rql{a<3077:xsp,s>2761:jl,s>2722:R,A}
 | 
			
		||||
vj{s<2785:ndh,kd}
 | 
			
		||||
in{s>2178:zs,skv}
 | 
			
		||||
xrc{s>712:sn,A}
 | 
			
		||||
jp{a<2589:R,A}
 | 
			
		||||
pgj{a>3929:R,x>2479:A,A}
 | 
			
		||||
jts{x>3530:R,A}
 | 
			
		||||
gv{s>3739:A,R}
 | 
			
		||||
mnr{s>2737:R,A}
 | 
			
		||||
tgt{m>1439:R,s>292:R,A}
 | 
			
		||||
xvs{a<2848:A,A}
 | 
			
		||||
vps{a>3227:A,x<1588:R,A}
 | 
			
		||||
jzj{m<672:A,s<1122:R,R}
 | 
			
		||||
zzp{x<901:ch,R}
 | 
			
		||||
sl{s>1542:A,s>1296:R,x>1931:A,zxz}
 | 
			
		||||
rjd{a>3500:xzq,s<1086:qj,xz}
 | 
			
		||||
kgd{s>1426:A,a>3812:A,R}
 | 
			
		||||
dmc{m<2947:szv,kqx}
 | 
			
		||||
hbk{m<3419:A,R}
 | 
			
		||||
htk{a<729:R,a>1042:A,a>861:R,zn}
 | 
			
		||||
zp{s<1255:A,A}
 | 
			
		||||
qlx{m>1631:R,x>3329:R,R}
 | 
			
		||||
skv{x<1606:kkk,a<1440:ggv,a<3018:xkm,gjg}
 | 
			
		||||
zl{m>3149:A,a>3596:A,R}
 | 
			
		||||
sjc{m>2149:A,A}
 | 
			
		||||
ggv{x>2600:nh,cg}
 | 
			
		||||
pd{a<3356:pr,x<2700:xfj,a<3465:zbd,xv}
 | 
			
		||||
vhk{a<614:A,a>735:A,m>3340:A,R}
 | 
			
		||||
bz{x<2317:R,s<3304:A,A}
 | 
			
		||||
zbd{m>889:zfk,bdh}
 | 
			
		||||
vsj{a<598:zhd,R}
 | 
			
		||||
qzf{a>1455:R,x>340:A,s<1196:R,R}
 | 
			
		||||
dz{m<3157:qv,x>3473:hkl,a>877:sv,rf}
 | 
			
		||||
rtg{a>2957:R,A}
 | 
			
		||||
qk{a>3252:svq,s>3213:R,m>548:cfz,R}
 | 
			
		||||
zx{a>871:sxt,a>314:mn,a>186:zz,nq}
 | 
			
		||||
kcd{x<2880:R,s>94:R,R}
 | 
			
		||||
hqc{m<796:R,m>890:rhd,a<2192:A,xvs}
 | 
			
		||||
ffn{m>350:jp,a<2088:ttd,a>2817:R,R}
 | 
			
		||||
sz{m<1599:R,x>2121:ktx,m<3075:bbt,qhh}
 | 
			
		||||
jtt{a<3836:zqv,m<876:gg,A}
 | 
			
		||||
lmr{a<2718:A,a<3149:R,R}
 | 
			
		||||
zdv{s>3010:R,lr}
 | 
			
		||||
jcl{m<1659:A,R}
 | 
			
		||||
mdq{a<479:R,A}
 | 
			
		||||
dnp{m<537:pht,s<885:qp,x<582:bjg,kjt}
 | 
			
		||||
lxp{m>2932:A,lx}
 | 
			
		||||
kqx{s<513:hbk,a<1592:ncn,a>3119:xrc,kt}
 | 
			
		||||
cnl{x<1035:R,m<2338:A,R}
 | 
			
		||||
mp{m<2347:xpj,a>2221:vdz,bq}
 | 
			
		||||
rgx{s<2542:R,R}
 | 
			
		||||
rb{s<3903:A,A}
 | 
			
		||||
jk{m>2376:R,x>3391:R,m<1198:R,R}
 | 
			
		||||
zgm{s>3092:bzj,sz}
 | 
			
		||||
gt{a>1014:R,m<2365:ls,R}
 | 
			
		||||
jpn{s>1819:hj,a>3326:vqr,ljm}
 | 
			
		||||
nzj{s>254:R,m>2156:R,x<991:jf,qhq}
 | 
			
		||||
gh{m>856:A,nsp}
 | 
			
		||||
kpq{a<110:A,x>3312:R,x<3090:R,R}
 | 
			
		||||
hl{x<3177:pj,bp}
 | 
			
		||||
gs{a<180:R,s>3703:R,R}
 | 
			
		||||
gz{m>3188:R,R}
 | 
			
		||||
lft{s>2829:ps,gbj}
 | 
			
		||||
kzb{m>2754:A,a<2674:A,A}
 | 
			
		||||
vz{a>2453:pp,clg}
 | 
			
		||||
tqc{x<360:dk,zcq}
 | 
			
		||||
bxv{a<2317:A,m<2884:pn,fkp}
 | 
			
		||||
ztl{a<590:R,x<2295:R,x>2529:R,R}
 | 
			
		||||
vkk{a>3382:zc,x>3140:xrl,m<384:lft,rql}
 | 
			
		||||
fbv{s<3805:R,s>3881:R,a>172:R,R}
 | 
			
		||||
gbq{m>279:A,x<3717:R,x<3898:A,R}
 | 
			
		||||
svn{s<1485:R,A}
 | 
			
		||||
skb{s>589:R,s>295:R,x>2063:A,A}
 | 
			
		||||
mc{a>272:A,x>3488:gs,s>3786:A,fsf}
 | 
			
		||||
pbv{x<3811:R,a>3290:A,m<3444:R,A}
 | 
			
		||||
gkn{s<1377:A,A}
 | 
			
		||||
nth{a<1084:bd,A}
 | 
			
		||||
vsl{a<2799:A,a<2901:bgb,fph}
 | 
			
		||||
lr{x<1407:A,s>2654:R,s<2373:A,R}
 | 
			
		||||
dbq{m<1824:R,s>291:R,A}
 | 
			
		||||
hdt{s>3011:R,s>2681:A,bgg}
 | 
			
		||||
nvq{m>597:R,x>47:R,A}
 | 
			
		||||
qj{s>674:pz,s>313:srn,ntb}
 | 
			
		||||
fgp{a>3257:R,mcl}
 | 
			
		||||
pjd{s<3848:vlx,A}
 | 
			
		||||
gmf{s<1729:A,A}
 | 
			
		||||
kzp{x>1746:A,x>1670:A,m>2460:A,A}
 | 
			
		||||
tl{m<888:A,m<1289:A,R}
 | 
			
		||||
zh{m<1334:fzz,s>2674:vj,m<2347:cdt,cx}
 | 
			
		||||
ql{s<1432:A,a>258:R,A}
 | 
			
		||||
rch{s<485:R,vqq}
 | 
			
		||||
hf{a<3208:R,pf}
 | 
			
		||||
bj{x<2870:R,m<2489:A,R}
 | 
			
		||||
zhg{x>3190:A,s>144:R,m<2941:A,R}
 | 
			
		||||
rsh{x<3060:R,a<1833:pm,R}
 | 
			
		||||
ntt{a>1930:R,a<1611:A,A}
 | 
			
		||||
hd{s>1811:A,R}
 | 
			
		||||
dfd{x<2726:A,qg}
 | 
			
		||||
gqd{a>3471:qjt,qhl}
 | 
			
		||||
xrl{x>3598:khp,m>284:lbp,m<100:R,xq}
 | 
			
		||||
zxz{m<2818:A,R}
 | 
			
		||||
vfn{s>1502:R,x>955:R,s>1440:A,R}
 | 
			
		||||
dr{s<370:A,x>3070:R,R}
 | 
			
		||||
cth{a<2210:cxk,a>3174:lhc,krr}
 | 
			
		||||
xbr{m<1775:R,m>3200:A,A}
 | 
			
		||||
nn{m>718:R,x>3641:nx,A}
 | 
			
		||||
dxn{s<55:hr,x>3309:A,a<824:kcd,mqc}
 | 
			
		||||
mt{a<423:R,a>555:R,R}
 | 
			
		||||
hqk{a>2663:A,s<888:R,a<2564:R,A}
 | 
			
		||||
ns{a<2307:lrn,qdj}
 | 
			
		||||
sxb{s>318:vg,hgv}
 | 
			
		||||
ljm{s<1457:A,m>763:A,s>1648:R,A}
 | 
			
		||||
qcr{s<1460:R,m<548:hms,a>1054:A,nzq}
 | 
			
		||||
sxx{a>3455:A,R}
 | 
			
		||||
 | 
			
		||||
{x=378,m=450,a=211,s=36}
 | 
			
		||||
{x=220,m=1090,a=338,s=879}
 | 
			
		||||
{x=117,m=124,a=2136,s=128}
 | 
			
		||||
{x=1392,m=1408,a=126,s=16}
 | 
			
		||||
{x=2038,m=278,a=901,s=1801}
 | 
			
		||||
{x=323,m=1703,a=964,s=571}
 | 
			
		||||
{x=265,m=358,a=456,s=34}
 | 
			
		||||
{x=1513,m=144,a=525,s=1341}
 | 
			
		||||
{x=355,m=2036,a=814,s=1179}
 | 
			
		||||
{x=937,m=701,a=2026,s=1349}
 | 
			
		||||
{x=1292,m=766,a=2805,s=16}
 | 
			
		||||
{x=319,m=26,a=83,s=1193}
 | 
			
		||||
{x=600,m=5,a=242,s=76}
 | 
			
		||||
{x=117,m=1415,a=1636,s=1057}
 | 
			
		||||
{x=87,m=1530,a=1686,s=386}
 | 
			
		||||
{x=36,m=957,a=1712,s=300}
 | 
			
		||||
{x=2570,m=49,a=661,s=442}
 | 
			
		||||
{x=643,m=698,a=1593,s=854}
 | 
			
		||||
{x=1450,m=1410,a=289,s=1342}
 | 
			
		||||
{x=1690,m=376,a=584,s=3715}
 | 
			
		||||
{x=1942,m=570,a=1726,s=1192}
 | 
			
		||||
{x=420,m=475,a=1410,s=863}
 | 
			
		||||
{x=550,m=662,a=2140,s=105}
 | 
			
		||||
{x=241,m=2370,a=756,s=26}
 | 
			
		||||
{x=705,m=425,a=1000,s=160}
 | 
			
		||||
{x=1763,m=914,a=197,s=555}
 | 
			
		||||
{x=2267,m=323,a=70,s=147}
 | 
			
		||||
{x=497,m=392,a=1959,s=360}
 | 
			
		||||
{x=428,m=1375,a=415,s=236}
 | 
			
		||||
{x=1800,m=96,a=403,s=1227}
 | 
			
		||||
{x=216,m=381,a=1217,s=1031}
 | 
			
		||||
{x=3129,m=304,a=811,s=1753}
 | 
			
		||||
{x=555,m=59,a=3254,s=2896}
 | 
			
		||||
{x=397,m=1518,a=740,s=496}
 | 
			
		||||
{x=905,m=217,a=1234,s=2319}
 | 
			
		||||
{x=283,m=2490,a=309,s=1156}
 | 
			
		||||
{x=1777,m=624,a=96,s=2053}
 | 
			
		||||
{x=1031,m=481,a=1014,s=198}
 | 
			
		||||
{x=155,m=205,a=2460,s=832}
 | 
			
		||||
{x=123,m=25,a=3962,s=3662}
 | 
			
		||||
{x=3242,m=396,a=519,s=150}
 | 
			
		||||
{x=2632,m=1307,a=3594,s=1714}
 | 
			
		||||
{x=147,m=285,a=1020,s=40}
 | 
			
		||||
{x=1498,m=1133,a=241,s=1263}
 | 
			
		||||
{x=1977,m=323,a=1594,s=241}
 | 
			
		||||
{x=807,m=1042,a=702,s=295}
 | 
			
		||||
{x=70,m=455,a=1328,s=108}
 | 
			
		||||
{x=2392,m=27,a=158,s=44}
 | 
			
		||||
{x=528,m=671,a=2003,s=935}
 | 
			
		||||
{x=1539,m=2002,a=168,s=479}
 | 
			
		||||
{x=2121,m=195,a=901,s=1116}
 | 
			
		||||
{x=251,m=51,a=380,s=745}
 | 
			
		||||
{x=793,m=1959,a=598,s=605}
 | 
			
		||||
{x=137,m=261,a=714,s=1548}
 | 
			
		||||
{x=2783,m=486,a=2065,s=914}
 | 
			
		||||
{x=574,m=387,a=250,s=28}
 | 
			
		||||
{x=3,m=829,a=1862,s=2}
 | 
			
		||||
{x=846,m=2476,a=841,s=1810}
 | 
			
		||||
{x=1020,m=114,a=463,s=323}
 | 
			
		||||
{x=4,m=970,a=192,s=142}
 | 
			
		||||
{x=942,m=2297,a=125,s=1638}
 | 
			
		||||
{x=1664,m=2275,a=2086,s=290}
 | 
			
		||||
{x=682,m=93,a=143,s=2033}
 | 
			
		||||
{x=1613,m=356,a=463,s=632}
 | 
			
		||||
{x=633,m=268,a=150,s=798}
 | 
			
		||||
{x=1743,m=1455,a=56,s=487}
 | 
			
		||||
{x=2774,m=103,a=739,s=77}
 | 
			
		||||
{x=1760,m=2631,a=81,s=138}
 | 
			
		||||
{x=461,m=1688,a=1543,s=1712}
 | 
			
		||||
{x=1182,m=14,a=566,s=3270}
 | 
			
		||||
{x=680,m=467,a=1920,s=297}
 | 
			
		||||
{x=1281,m=2355,a=704,s=1340}
 | 
			
		||||
{x=142,m=65,a=589,s=20}
 | 
			
		||||
{x=1412,m=559,a=677,s=2106}
 | 
			
		||||
{x=905,m=2761,a=1526,s=648}
 | 
			
		||||
{x=399,m=667,a=1901,s=27}
 | 
			
		||||
{x=2241,m=3411,a=1786,s=321}
 | 
			
		||||
{x=1395,m=1278,a=508,s=1112}
 | 
			
		||||
{x=363,m=35,a=218,s=1280}
 | 
			
		||||
{x=829,m=115,a=304,s=192}
 | 
			
		||||
{x=1397,m=599,a=861,s=838}
 | 
			
		||||
{x=824,m=2140,a=88,s=1736}
 | 
			
		||||
{x=661,m=276,a=502,s=731}
 | 
			
		||||
{x=585,m=14,a=705,s=473}
 | 
			
		||||
{x=747,m=95,a=829,s=805}
 | 
			
		||||
{x=2006,m=323,a=982,s=168}
 | 
			
		||||
{x=795,m=193,a=473,s=1531}
 | 
			
		||||
{x=687,m=428,a=972,s=1154}
 | 
			
		||||
{x=254,m=426,a=281,s=552}
 | 
			
		||||
{x=171,m=369,a=382,s=1369}
 | 
			
		||||
{x=964,m=10,a=322,s=2007}
 | 
			
		||||
{x=1960,m=183,a=2153,s=1967}
 | 
			
		||||
{x=2315,m=170,a=41,s=727}
 | 
			
		||||
{x=189,m=901,a=307,s=3026}
 | 
			
		||||
{x=757,m=1235,a=1316,s=335}
 | 
			
		||||
{x=836,m=3023,a=453,s=2355}
 | 
			
		||||
{x=2187,m=2140,a=683,s=2560}
 | 
			
		||||
{x=1772,m=468,a=1812,s=1329}
 | 
			
		||||
{x=783,m=601,a=1339,s=3291}
 | 
			
		||||
{x=570,m=172,a=1794,s=120}
 | 
			
		||||
{x=1207,m=1572,a=700,s=758}
 | 
			
		||||
{x=1961,m=3652,a=702,s=153}
 | 
			
		||||
{x=1094,m=435,a=19,s=938}
 | 
			
		||||
{x=3328,m=166,a=247,s=216}
 | 
			
		||||
{x=1500,m=2012,a=1561,s=59}
 | 
			
		||||
{x=12,m=2269,a=8,s=796}
 | 
			
		||||
{x=193,m=1137,a=328,s=13}
 | 
			
		||||
{x=120,m=1179,a=59,s=1829}
 | 
			
		||||
{x=499,m=650,a=1049,s=1803}
 | 
			
		||||
{x=2761,m=1431,a=389,s=1322}
 | 
			
		||||
{x=456,m=2766,a=2165,s=348}
 | 
			
		||||
{x=2387,m=12,a=2140,s=556}
 | 
			
		||||
{x=387,m=7,a=1514,s=1137}
 | 
			
		||||
{x=1111,m=608,a=581,s=965}
 | 
			
		||||
{x=1055,m=181,a=754,s=67}
 | 
			
		||||
{x=74,m=2582,a=66,s=546}
 | 
			
		||||
{x=5,m=956,a=1013,s=657}
 | 
			
		||||
{x=262,m=189,a=2496,s=233}
 | 
			
		||||
{x=518,m=2821,a=851,s=825}
 | 
			
		||||
{x=351,m=1981,a=221,s=34}
 | 
			
		||||
{x=995,m=165,a=36,s=2286}
 | 
			
		||||
{x=1636,m=335,a=936,s=447}
 | 
			
		||||
{x=763,m=692,a=1527,s=210}
 | 
			
		||||
{x=301,m=559,a=1815,s=2640}
 | 
			
		||||
{x=959,m=2852,a=232,s=53}
 | 
			
		||||
{x=136,m=153,a=206,s=11}
 | 
			
		||||
{x=1533,m=42,a=2014,s=136}
 | 
			
		||||
{x=341,m=378,a=37,s=577}
 | 
			
		||||
{x=220,m=1451,a=185,s=421}
 | 
			
		||||
{x=1086,m=3265,a=1184,s=2960}
 | 
			
		||||
{x=143,m=2701,a=602,s=173}
 | 
			
		||||
{x=628,m=1016,a=1642,s=223}
 | 
			
		||||
{x=597,m=641,a=1331,s=651}
 | 
			
		||||
{x=809,m=1843,a=1111,s=2189}
 | 
			
		||||
{x=1385,m=1352,a=238,s=1969}
 | 
			
		||||
{x=515,m=1374,a=125,s=913}
 | 
			
		||||
{x=798,m=2743,a=1798,s=1045}
 | 
			
		||||
{x=2999,m=1787,a=1168,s=188}
 | 
			
		||||
{x=57,m=77,a=2652,s=56}
 | 
			
		||||
{x=1231,m=304,a=1288,s=523}
 | 
			
		||||
{x=1031,m=381,a=558,s=267}
 | 
			
		||||
{x=721,m=883,a=2995,s=22}
 | 
			
		||||
{x=304,m=846,a=1525,s=30}
 | 
			
		||||
{x=446,m=2969,a=412,s=674}
 | 
			
		||||
{x=187,m=418,a=1187,s=571}
 | 
			
		||||
{x=810,m=515,a=819,s=1393}
 | 
			
		||||
{x=740,m=3392,a=1128,s=1114}
 | 
			
		||||
{x=137,m=631,a=1208,s=1707}
 | 
			
		||||
{x=653,m=2468,a=952,s=811}
 | 
			
		||||
{x=33,m=70,a=518,s=464}
 | 
			
		||||
{x=3318,m=2,a=3661,s=64}
 | 
			
		||||
{x=50,m=548,a=1657,s=704}
 | 
			
		||||
{x=2272,m=2684,a=1597,s=2220}
 | 
			
		||||
{x=185,m=339,a=460,s=517}
 | 
			
		||||
{x=8,m=1651,a=1810,s=354}
 | 
			
		||||
{x=548,m=833,a=1703,s=759}
 | 
			
		||||
{x=551,m=358,a=390,s=468}
 | 
			
		||||
{x=202,m=2260,a=597,s=632}
 | 
			
		||||
{x=453,m=1811,a=754,s=2449}
 | 
			
		||||
{x=353,m=101,a=1835,s=72}
 | 
			
		||||
{x=1451,m=453,a=162,s=13}
 | 
			
		||||
{x=125,m=2120,a=627,s=981}
 | 
			
		||||
{x=5,m=283,a=1755,s=194}
 | 
			
		||||
{x=973,m=835,a=62,s=1184}
 | 
			
		||||
{x=346,m=1348,a=442,s=210}
 | 
			
		||||
{x=4,m=1242,a=136,s=196}
 | 
			
		||||
{x=2388,m=1336,a=1991,s=2873}
 | 
			
		||||
{x=561,m=2335,a=1059,s=627}
 | 
			
		||||
{x=838,m=3226,a=159,s=1053}
 | 
			
		||||
{x=2578,m=49,a=1920,s=2432}
 | 
			
		||||
{x=710,m=342,a=182,s=534}
 | 
			
		||||
{x=1997,m=1509,a=946,s=1849}
 | 
			
		||||
{x=810,m=249,a=495,s=257}
 | 
			
		||||
{x=363,m=274,a=2742,s=25}
 | 
			
		||||
{x=506,m=565,a=2584,s=731}
 | 
			
		||||
{x=508,m=2073,a=21,s=1826}
 | 
			
		||||
{x=1413,m=780,a=779,s=378}
 | 
			
		||||
{x=1097,m=47,a=98,s=402}
 | 
			
		||||
{x=536,m=2,a=2710,s=1499}
 | 
			
		||||
{x=548,m=2845,a=2095,s=555}
 | 
			
		||||
{x=2963,m=2206,a=1920,s=875}
 | 
			
		||||
{x=1783,m=367,a=1245,s=594}
 | 
			
		||||
{x=409,m=18,a=408,s=119}
 | 
			
		||||
{x=1554,m=3613,a=3002,s=87}
 | 
			
		||||
{x=232,m=197,a=63,s=1372}
 | 
			
		||||
{x=412,m=1355,a=1673,s=1667}
 | 
			
		||||
{x=261,m=142,a=123,s=1187}
 | 
			
		||||
{x=1396,m=779,a=287,s=60}
 | 
			
		||||
{x=28,m=1350,a=585,s=861}
 | 
			
		||||
{x=1123,m=329,a=1166,s=62}
 | 
			
		||||
{x=2292,m=73,a=123,s=596}
 | 
			
		||||
{x=2400,m=1430,a=390,s=1313}
 | 
			
		||||
{x=638,m=2856,a=44,s=488}
 | 
			
		||||
{x=294,m=1534,a=1075,s=1914}
 | 
			
		||||
{x=1233,m=71,a=253,s=3058}
 | 
			
		||||
{x=1536,m=805,a=158,s=738}
 | 
			
		||||
{x=2903,m=119,a=2344,s=2387}
 | 
			
		||||
{x=142,m=1768,a=940,s=881}
 | 
			
		||||
{x=301,m=2748,a=739,s=766}
 | 
			
		||||
{x=127,m=18,a=141,s=1398}
 | 
			
		||||
							
								
								
									
										177
									
								
								day19/main.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										177
									
								
								day19/main.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,177 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bufio"
 | 
			
		||||
	_ "embed"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	aoc "go.sour.is/advent-of-code"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// var log = aoc.Log
 | 
			
		||||
 | 
			
		||||
func main() { aoc.MustResult(aoc.Runner(run)) }
 | 
			
		||||
 | 
			
		||||
type result struct {
 | 
			
		||||
	valuePT1 int
 | 
			
		||||
	valuePT2 int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (r result) String() string { return fmt.Sprintf("%#v", r) }
 | 
			
		||||
 | 
			
		||||
func run(scan *bufio.Scanner) (*result, error) {
 | 
			
		||||
 | 
			
		||||
	var workflows = make(map[string][]rule)
 | 
			
		||||
	var parts []part
 | 
			
		||||
 | 
			
		||||
	for scan.Scan() {
 | 
			
		||||
		text := strings.TrimSuffix(scan.Text(), "}")
 | 
			
		||||
		if len(text) == 0 {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Is Part
 | 
			
		||||
		if text[0] == '{' {
 | 
			
		||||
			var p part
 | 
			
		||||
			for _, s := range strings.Split(text[1:], ",") {
 | 
			
		||||
				a, b, _ := strings.Cut(s, "=")
 | 
			
		||||
				i := aoc.Atoi(b)
 | 
			
		||||
				switch a {
 | 
			
		||||
				case "x":
 | 
			
		||||
					p.x = i
 | 
			
		||||
				case "m":
 | 
			
		||||
					p.m = i
 | 
			
		||||
				case "a":
 | 
			
		||||
					p.a = i
 | 
			
		||||
				case "s":
 | 
			
		||||
					p.s = i
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			parts = append(parts, p)
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		name, text, _ := strings.Cut(text, "{")
 | 
			
		||||
		var r []rule
 | 
			
		||||
		for _, s := range strings.Split(text, ",") {
 | 
			
		||||
			if a, b, ok := strings.Cut(s, "<"); ok {
 | 
			
		||||
				b, c, _ := strings.Cut(b, ":")
 | 
			
		||||
				r = append(r, rule{
 | 
			
		||||
					match: a,
 | 
			
		||||
					op:    "<",
 | 
			
		||||
					value: aoc.Atoi(b),
 | 
			
		||||
					queue: c,
 | 
			
		||||
				})
 | 
			
		||||
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
			if a, b, ok := strings.Cut(s, ">"); ok {
 | 
			
		||||
				b, c, _ := strings.Cut(b, ":")
 | 
			
		||||
				r = append(r, rule{
 | 
			
		||||
					match: a,
 | 
			
		||||
					op:    ">",
 | 
			
		||||
					value: aoc.Atoi(b),
 | 
			
		||||
					queue: c,
 | 
			
		||||
				})
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// default queue comes last
 | 
			
		||||
			r = append(r, rule{queue: s})
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
		workflows[name] = r
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var rejected []part
 | 
			
		||||
	var accepted []part
 | 
			
		||||
 | 
			
		||||
	for _, p := range parts {
 | 
			
		||||
		workflow := "in"
 | 
			
		||||
 | 
			
		||||
nextStep:
 | 
			
		||||
		for workflow != "" {
 | 
			
		||||
			for _, r := range workflows[workflow] {
 | 
			
		||||
				if !r.Match(p) {
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
				workflow = r.queue
 | 
			
		||||
 | 
			
		||||
				if workflow == "A" {
 | 
			
		||||
					accepted = append(accepted, p)
 | 
			
		||||
					workflow = ""
 | 
			
		||||
					break nextStep
 | 
			
		||||
				}
 | 
			
		||||
				if workflow == "R" {
 | 
			
		||||
					rejected = append(rejected, p)
 | 
			
		||||
					workflow = ""
 | 
			
		||||
					break nextStep
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				continue nextStep
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fmt.Println("accepted", accepted)
 | 
			
		||||
	fmt.Println("rejected", rejected)
 | 
			
		||||
 | 
			
		||||
	var result result
 | 
			
		||||
 | 
			
		||||
	for _, p := range accepted {
 | 
			
		||||
		result.valuePT1 += p.x
 | 
			
		||||
		result.valuePT1 += p.m
 | 
			
		||||
		result.valuePT1 += p.a
 | 
			
		||||
		result.valuePT1 += p.s
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &result, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type part struct {
 | 
			
		||||
	x, m, a, s int
 | 
			
		||||
}
 | 
			
		||||
func (p part) String() string {
 | 
			
		||||
	return fmt.Sprintf("{x:%v m:%v a:%v s:%v}", p.x,p.m,p.a,p.s)
 | 
			
		||||
}
 | 
			
		||||
type rule struct {
 | 
			
		||||
	match string
 | 
			
		||||
	op    string
 | 
			
		||||
	value int
 | 
			
		||||
	queue string
 | 
			
		||||
}
 | 
			
		||||
func (r rule) Match(p part) bool {
 | 
			
		||||
	var value int
 | 
			
		||||
 | 
			
		||||
	switch r.match {
 | 
			
		||||
	case "x":
 | 
			
		||||
		value = p.x
 | 
			
		||||
	case "m":
 | 
			
		||||
		value = p.m
 | 
			
		||||
	case "a":
 | 
			
		||||
		value = p.a
 | 
			
		||||
	case "s":
 | 
			
		||||
		value = p.s
 | 
			
		||||
	default:
 | 
			
		||||
		return true // default to new queue
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if r.op == ">" && value > r.value {
 | 
			
		||||
		return true
 | 
			
		||||
	} else if r.op == "<" && value < r.value {
 | 
			
		||||
		return  true		
 | 
			
		||||
	} 
 | 
			
		||||
	return  false // no match
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
func in(n string, haystack ...string) bool {
 | 
			
		||||
	for _, h := range haystack {
 | 
			
		||||
		if n == h {
 | 
			
		||||
			return true
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										41
									
								
								day19/main_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								day19/main_test.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,41 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bufio"
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	_ "embed"
 | 
			
		||||
 | 
			
		||||
	"github.com/matryer/is"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
//go:embed example.txt
 | 
			
		||||
var example []byte
 | 
			
		||||
 | 
			
		||||
//go:embed input.txt
 | 
			
		||||
var input []byte
 | 
			
		||||
 | 
			
		||||
func TestExample(t *testing.T) {
 | 
			
		||||
	is := is.New(t)
 | 
			
		||||
	scan := bufio.NewScanner(bytes.NewReader(example))
 | 
			
		||||
 | 
			
		||||
	result, err := run(scan)
 | 
			
		||||
	is.NoErr(err)
 | 
			
		||||
 | 
			
		||||
	t.Log(result)
 | 
			
		||||
	is.Equal(result.valuePT1, 19114)
 | 
			
		||||
	is.Equal(result.valuePT2, 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestSolution(t *testing.T) {
 | 
			
		||||
	is := is.New(t)
 | 
			
		||||
	scan := bufio.NewScanner(bytes.NewReader(input))
 | 
			
		||||
 | 
			
		||||
	result, err := run(scan)
 | 
			
		||||
	is.NoErr(err)
 | 
			
		||||
 | 
			
		||||
	t.Log(result)
 | 
			
		||||
	is.Equal(result.valuePT1, 377025)
 | 
			
		||||
	is.Equal(result.valuePT2, 0)
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user