From 4b3faa6e1263a5b931b8517f1d0b808e26bc04c2 Mon Sep 17 00:00:00 2001 From: Maciej Jur Date: Sat, 16 Dec 2023 12:49:02 +0100 Subject: [PATCH] haskell: 2023 15 refactor --- 2023/.inputs/15 | 1 + 2023/haskell/solutions/Day15.hs | 15 +++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 2023/.inputs/15 diff --git a/2023/.inputs/15 b/2023/.inputs/15 new file mode 100644 index 0000000..c3fc54b --- /dev/null +++ b/2023/.inputs/15 @@ -0,0 +1 @@ +zcgrr=3,tn-,pd=6,dck=3,lfkx=7,fgmt-,vldbr-,jklx=8,rd-,grzx=3,vpf-,gf=2,gslk=2,gch=6,kz=7,dd-,ftjf=2,pgv=3,clk-,frf=1,vc=3,vlq-,dqklh-,kd-,tn-,ds-,rhl-,hqh-,vfx-,xvc-,zl-,mvv=5,qfg-,mznxrq=1,xv-,gqzk-,ds=5,ht-,gkd-,nt=6,dhv=3,gkd-,gjd-,nt=4,lhfq=2,pf-,zt=6,cll-,hdpzn=7,dq=4,nszdq=9,qp-,rhl-,dpk-,nnz=3,dr=6,jm-,tnht=8,sdjp-,jj=1,fk=5,tp=4,nbs=8,gslk=4,njs-,jzv=1,vpf=8,pf-,bfhlp-,dr=5,zt-,zcf=4,lksf-,mtl=5,kg-,tg-,frs=5,fmh=5,hrxjl-,cp-,dfg-,xrx=1,fgmt-,qrms-,fqb=4,jq-,kg=1,mxr=1,vvzx-,tfjsg-,tr=3,nhtt-,dcp-,krmf-,bj=4,mvv=7,hxp-,kcpf-,ccd-,vgf-,dr-,zfn=1,pd-,hxj=4,kb-,nhtt-,qg-,sx-,qzfq-,vnmp-,bk-,bvlgl-,jlqpvc=4,vkk=7,dck=1,qs-,xr=8,ts-,lfkx=7,vnmp-,ql-,fgmt=9,thdb=9,dnm=1,nvh-,xsq-,vvzx-,vbx=3,pzvd-,gjd=4,cgq=6,zb=2,sxd-,pz=1,dqb=2,pzg=7,lf=9,ln-,crvgr=7,lqpn=9,qcpq=3,fkz=6,qvs=8,ctb-,zljxk-,kn-,jjq=6,rdx=4,szv-,nc-,dqg=7,vh-,fft=8,npr-,cq-,hz=6,kjg-,shm-,kzkrmc=5,fpn=9,rd=9,nqtm-,vf-,fm-,qfss=4,cm-,lnjqcx=7,nbs=7,bd-,flh=6,vh=3,bx-,sg-,sg=1,mvv-,pjjg=7,jlx=4,dqg-,mxtr=2,sq-,dvsf-,gxbrrb-,jlx=9,tnvq=3,vrh=7,snb=7,pn-,dks=3,dk-,mj-,xv=1,kk-,sq=1,dfg-,gp=9,lnv=4,sk=6,qtq=2,jvn-,jspd-,hccvg-,tkqp-,vh-,ndkkj=5,ctb=5,gkd-,dh=4,cll-,sjr=6,bvg=9,fbhr-,dnl=7,dl-,kkm-,pzvd-,vgp-,fcz-,gqz=6,cc=5,gqf=9,tz-,jmrzkv=6,clk-,vvc=3,mdg-,dnl-,bnz-,sksc-,gtd-,nnz=2,tvpv-,nzr=2,zl=8,bvg-,js-,xvkxd-,pf=3,gslk-,kfsm=6,znl=8,xb=3,xnhl=4,kbxs-,nf=6,lgj=2,svsm-,zbx-,mnhrg-,dgxd-,qhl=8,qfg-,xv-,gxn-,hnldhg-,bg-,qg-,vx=7,zrqs-,dhl=6,gf-,dkc-,bqddt=7,vbx-,rpn-,qmhg-,mdp-,dr=7,bvg=6,cq=5,bsn-,zl=3,fd-,csj-,nm=4,bp-,sxd-,ns-,srm-,bcg=5,gqz-,qsn-,pzvd-,zcf=4,dnvk-,dd=3,mdg-,gjjmv=7,js=7,kfsm=2,frs=2,prpm-,lfkx=9,dmbpq-,jh=7,nbs-,qfg=7,grr-,bvlgl-,mvv-,prpm-,rdx-,vgf=1,cm=2,fgtf-,nnm=1,prpm-,jm-,pz=9,gp=1,vvc=3,bdqlrp-,vbx=8,lqpn=3,lksf-,lv=1,bz-,zcgrr=6,xhhx-,tgv-,mk-,kq=1,bdqlrp-,hccvg-,gvbp-,bb=7,pf=4,pkc=6,gs-,js=4,qmhp=3,xtmxv-,fl-,fmh=3,nqj=8,jvs-,fl=2,kqm=7,xqv-,cr=8,zrqs=5,dnm=2,gsh-,sz=8,qvs-,tnht=4,dl=4,vhbv-,cml=9,nkj-,nb-,zd-,jh-,mpzzz=6,jp-,vrh-,tfg=9,tfg-,kkbf-,cjx-,ckr-,rl-,rkg=4,hccvg-,jdlf=1,hsc=4,gjd-,sx=3,fck-,tr=1,sct=6,rfs=4,zzjx=7,dkjb=7,hsc-,dxxns=2,snrg=2,qpb-,bklck=8,pvb-,bsn-,bqddt=8,zj=8,fztvsm-,rfjtx-,svsm=6,csj=3,pslt=9,nz-,fc-,znd-,vhbv-,gxkvs-,dqb=6,tn-,sdmk=4,jb=8,lts-,scn-,snb=3,nn-,dks=2,nqtm-,jgb=8,jxhfcj-,zxvt=4,kn-,mt-,jl-,mzs-,kqm-,shzj-,xg-,zb=5,rjh=2,nz=9,mvv=8,hc-,xsq=4,hkz=7,kcpf-,fqb=1,lnjqcx=6,dtk-,qlgk=2,jzr=5,fmh=7,mt=7,dmbpq-,xxr=5,lvm-,pzpjt-,bsn-,qzs-,qzvt=2,fck-,gqzk-,lts-,xtmxv=3,qlgk-,pzvd-,cczqms-,ckm=7,cr=3,nlhbd=7,qnzqgm=4,nqtm=8,vp=6,kkm=1,hbgl=1,xrx=5,bg=5,qzfq-,zzjgn-,kc-,fd-,rxg-,nnm-,sg-,tg=3,gfjb=2,kpt=5,rrgp-,jjq-,kz=3,hlbm=6,ntp-,gfjb-,cgq=2,dvsf-,vbx-,sz-,gmclv=3,jjq=9,nnm=2,kkbf=3,qp=7,bqddt=1,fl=4,ccd=7,xnhl=2,dk-,zl-,jjnbp=6,hsc-,dqb=3,jm-,zcgrr-,sksc=2,brcmt=3,qcpq-,ngm=1,bcj=9,hnldhg=7,cq-,dhv=8,kz-,vlq-,jspd=3,msz-,srctmv=2,xxv-,cq=4,fbhr=4,nkj=1,xsq=8,ct=6,rnt=9,zrqs-,gj-,sksc=8,zl=5,zlc=4,xvc=2,sdmk-,bd=9,ht=6,ts=3,szv-,vl=9,rkg-,fdn-,gkd-,hjgnq-,grs-,plv=1,kq-,mdp-,ccd-,pss-,sdjp-,krdgsx-,nl-,hz-,fft-,gk-,mtl=3,shzj=3,scf=4,pjjg=7,xhhx=6,sz=2,ts=9,mp=4,gs=5,nc-,lvbl-,grs-,nqtm-,bdqlrp=9,ds=9,jt-,bss=9,hkz-,gqzk=5,xxr-,qfss=8,jmrzkv-,rvk=6,jvs=6,gfjb-,mtl=1,mlz-,jh-,qrms-,rrgp-,nkj=9,lksf-,vgf-,gzf=9,zhd=9,vmcrl=1,bvlgl-,fk-,klfh=3,rfs=9,xf-,sksc-,qnzqgm=6,ptx=6,zxg-,gxn=7,stfdhz-,vlq-,snrg=9,pzvd=4,cd=3,hkz-,xxjmjx-,vdb=3,bct=9,nt-,lmlbp-,cjx=6,vc-,tg=9,hj=3,sdjp-,jjnbp-,dnvk=1,jp=4,znd=4,gp-,cr-,bpbrtk-,qsn=3,nkj-,fkz=2,fn=9,mjk-,mnqp-,vc-,sg-,ktxq-,zd=4,bdqlrp=1,mpzzz-,bb-,xrx=8,gx-,bpbrtk=5,xvkxd=6,pn=2,cczqms=3,pd-,dm=9,lgdk=7,nnp=9,svsm=6,thdb=9,grr=6,tn=2,nhtt=2,jt-,zx-,sk-,cgq=6,dcp=9,mj-,fdn=5,jklx-,cd-,qzvhk=3,tnvq=1,fqb=4,zqn=4,qcpq-,vlq=2,cjx-,qmhg=8,kzkrmc-,tgv=9,jhj-,xrx=3,vpf=8,dm-,cczqms=8,kp=6,rdx=5,cll-,jj-,nqtm-,fc-,gjztk=6,kp=1,nnp=2,jcrnp=2,thdb-,sk-,bj=6,sx-,bg-,tnvq=2,bx-,tp-,lhfq-,jxq=1,tpxv=8,jxhfcj=7,lvbl-,fqb=8,vmcrl-,vd=2,dfg=9,mzd-,vq=1,lvbl=3,zqh-,kcpf-,ksnbq-,hc=7,fm-,xj-,rxg=6,mtl=4,frf=3,gfjb-,gfjb-,kkbf-,ht=7,zd-,tr-,plv=9,scn-,jq=5,sh=9,jzv-,jklx-,bct=5,mgb-,fdn-,thdb=8,gjztk=9,vgp-,gszhrg=1,hgfl-,cml-,rd=3,ksld=9,mj=7,cl-,zzjx-,jcqv-,thmb-,thdb-,jpgg-,rfjtx-,pzpjt-,xrx-,lll=6,gmclv=6,snrg-,zj=8,jcqv-,shm-,krdgsx=7,vqdgf=5,dks=5,jnxs-,vvjs-,cgq=1,zz=2,fmh-,kz-,brcmt-,bz-,fr-,kpt=2,lgdk=2,dqg=4,lhfq=9,mzs-,lfkx-,ptr-,gjztk-,pvb=9,pg=5,ffpd-,pvb=4,xl=8,znl=3,dnvk-,jb=4,bg=2,xsp-,rpbqp-,ts-,svsm=5,qzfq-,sc-,hnldhg=2,xdxdl=1,hc=1,bss=5,qzfq-,tpxv-,qzvhk-,ndl-,qtq-,zrqs=2,lmlbp-,jlqpvc=5,vnmp-,mjp-,zcf=6,vfx=3,bn-,xrx=5,xckv-,xqq-,thmb-,mgb-,rhl=7,pfnm-,np=2,cp-,nvh-,srctmv-,btn-,np-,scn=2,hxj-,fck-,qlgk-,mstm=8,ktxq-,bvg-,mjk-,xtmxv=7,xtmxv=7,bzmcd-,bp=4,mdg=6,cq-,xg=8,gp-,ztjj=5,shzj-,pg=8,qzfq-,fxg-,hdpzn=6,fr=8,ndl-,mvf=9,ts=1,tg=4,gj=5,qpb=6,tm-,nhddvq=2,gf=9,dqg-,fvsc-,nz-,xvc=2,ztjj-,ptr=9,jmrzkv=1,gqz-,xf=9,vg-,fz=3,szlm=8,sq=9,sq=3,rv-,lvbl-,vvc-,jcqv-,dqg=3,xf=9,mfh-,dtk=6,bdqlrp=3,qpb=4,vlq-,xqq-,dnl=5,fmn-,kb-,dm=8,kz-,tfjsg-,jb=8,tp=4,fk-,jspd-,mncnct-,nh-,zxvt-,lv=9,bvlgl=6,vnmp-,lqpn-,cjx=5,jhj=4,rn-,bpbrtk-,scn=4,nc-,xqq=4,kpt=3,fbq-,pn-,bss-,nz=5,zzjx-,pjjg-,crvgr-,bjn-,fcz=3,brcmt-,zhd-,ts=7,zd=6,lvbl-,tkln-,ktxq=6,stfdhz-,ktxq=8,jlqpvc-,zfn=1,pgv-,qlgk=7,lv=1,zqn=3,kd=2,qvs=2,qzvt-,gjjmv=6,fl=4,brcmt=1,nr=6,grr=7,qhl-,kzkrmc-,hlbm-,mj=1,vhbv-,np=6,nhddvq-,scxt=2,nkr=3,pf=8,ns-,sq=8,qp=2,mxr=5,klfh=4,mvf=4,xhhx=1,mp=5,qd=1,mt=9,frs=8,zqn-,jb=3,bsn=3,nnz-,ntp=7,gsh=6,qlgk-,tvpv=5,gvbp-,rdx=3,fdn=3,qrms=8,fxg-,jxq=6,dr=1,pkc-,qn=6,hlbm-,njs-,nhtt-,qz-,mncnct=4,vfb=4,bss=9,kp-,scxt=9,sjr=8,gvk=8,sk=8,bj-,pss-,xj-,hz-,rv-,rpm-,cq=4,nm-,bfhlp-,mpzzz=4,bfk=1,dxxns-,nn-,dcp=8,zd=2,xt-,gsh-,xb=2,jnxs=7,hdpzn-,gjd-,bfhlp=7,xvkxd=8,nhddvq-,xckv=6,sct-,sc-,fcz-,kb-,ql-,lnjqcx-,mzs=1,qfss=9,xl-,lgdk-,rjh=1,rhl=6,pzpjt=1,grzx=7,thdb=4,hnldhg=6,jspd=6,xz=6,hp=7,zx=2,dv=7,znd=7,tvpv-,xvlx=9,nnp=3,ml=3,bfk=9,rrtj-,cczqms-,kbxs-,hlrc=6,kp=4,dlp=8,xb=2,qsn=4,rpbqp-,jxhfcj=3,bj-,jng-,lvbl-,mpzzz=2,nm=9,vvjs=2,hdpzn=7,nkj=9,kcpf=1,rnt-,gtd=6,zbx-,hsc-,xqq=9,rk-,ptx=6,zx-,pr=2,mt=8,jcrnp-,dd=4,nvh=4,gvbp-,mlz-,srm=5,fc=1,qsn-,vd-,sct=2,jl-,vgf=6,hjgnq=3,kzkrmc-,jspd=3,fr=1,mt=8,mnhrg=1,hrxjl-,pjjg-,clk-,nqj-,vl-,sfrs=9,fgmt-,srctmv-,rrtj-,xv-,dd-,dkjb=6,pslt=8,shm-,tvpv-,js-,fsh=4,tk=5,vvjs-,hrxjl=5,zxvt-,bpbrtk-,fl-,jlqpvc=9,zlc-,mhl=1,mt=1,sx-,kbxs=1,hdpzn-,sq-,ktxq-,vq-,pc-,xr-,xr=2,bjgbjl=7,klfh-,jmrzkv=8,xhhx=3,jzv=7,nh=9,xrx=2,ptr=7,qhl-,jsh=9,jvxrps=5,dnm=2,rpn=8,zfn-,nn-,snrg-,bz=1,jm=5,gjd=6,tz-,pz-,ns-,mj=2,xxjmjx-,nhddvq=1,bss-,bl-,jng=4,zqh=4,fbq=2,zqh=3,dpk-,gs=7,dqb=3,kmr-,gszhrg-,rjh-,xkx=8,pvb=8,ml-,gkk=9,pvb-,rpm-,tkln=7,xt-,bcg=4,brdn=2,pgv-,rxg-,grr-,bb=4,ztjj=1,bklck-,xr-,jlx=8,vdb-,zv=3,clsz=9,bfhlp-,nhddvq=8,thmb=1,bj=7,kg=1,hp=6,zhd=4,vx=1,dhv=5,cd-,pslt-,jlqpvc-,lts-,fvsc-,fpn-,gf=8,dhv-,nn=6,hlrc=8,hjgnq=1,kkm-,vlq=3,dm-,bfhlp=1,nqtm-,vgp=9,qrms=6,mhl-,lhfq-,xt=9,xsq-,klfh=4,bnz=7,rhl=2,vpf-,ct=8,lf-,dq-,fz=1,frs-,fk=7,hk-,xn-,kc-,sx-,xf=4,ckm-,szv-,mvf-,nqj-,mscqn-,nqtm=5,dh-,lgdk=1,ndkkj=9,bfk-,mtl-,kq-,pg=4,lvm-,zbx-,bct-,zzjgn=7,bpbrtk-,szv=9,qp=9,tnht-,ntp-,qmhg-,gvk=6,snrg-,nvh=6,dgxd=3,srctmv-,nzr-,xsq=1,fmh=1,gzf-,hnldhg-,kb-,gzf=5,ktxq=8,pd-,bklck=7,bzb=7,nlhbd-,mx-,jng-,ngm=7,qhl-,sq-,tp=3,lnjqcx-,kb-,jcqv-,frsq=1,bvlgl=8,tk-,zqn-,zlc=7,dhv-,zg=1,xtmxv=1,hxj=6,kp-,fdn-,js=5,rv-,stfdhz-,kqm-,qfg=9,zzjx=9,gp-,fmn-,tp-,kk-,mk=4,sx=5,bp=6,fbq=2,dd=7,vq-,fbbsm=5,mnqp=6,jlqpvc-,dlp-,lql=5,dv-,xr=6,mjp-,hk=9,bd-,qsn=1,dkjb-,blqt-,nb=9,jsh=3,qsn=7,jlx-,qzvhk-,vp-,nnp-,qd-,tfjsg=6,zzjgn-,sjr=5,rhl=6,jt-,cq=3,xqq=9,bd=2,lgj-,vvc-,dtk-,fd=9,gsh-,kkm=8,bpbrtk=4,svsm=5,dm=8,xtmxv=3,ptr=4,jzr=4,sct=1,gxkvs=5,zzjx=1,mxtr=3,clsz=4,jj=4,bvlgl=7,mjp=2,hnldhg=7,fmn=5,tb-,cp-,rpt=5,hp=2,brdn-,svsm-,bjn=1,rpm=4,gtd-,xxjmjx=1,krmf-,rpbqp=2,dhl-,dm=9,jvs-,cr-,mxr-,blqt-,vmcrl-,kpt=6,bqddt=1,dxfkdk=3,cczqms-,dlp=1,sct-,fck=4,dr=7,xvlx=4,hdpzn-,bqddt=9,fgmt=4,jh-,gvbp=9,tn-,fbq=7,kk=8,rrgp-,cc-,dnm=9,vzck-,qsn=6,xsp=7,fm=3,pzvd-,gvk=3,ctb-,rxg-,mvf-,ns-,ln-,rv-,pslt-,mjk-,xkx=7,sdjp=2,gslk=7,kcpf-,fpn-,hx-,xtmxv-,tk-,jgb-,cl-,qg=1,jcrnp-,ml-,bz-,qlgk-,xvkxd-,szv-,lksf=8,tm=1,rfjtx-,rpt-,mlz-,jt-,srctmv=7,gvbp=5,qzvhk-,vc=5,dkc-,dvsf-,tkqp=8,dqklh=4,snrg=8,qpb=2,hxj=1,ftqvd=1,cm=4,xxjmjx-,dq=5,xn-,kd-,gsh=1,dmbpq=6,jng=6,gtd=4,xl=6,zz=4,xr=2,pf-,mxr=8,hdpzn=7,vx=6,zcgrr=6,qp=8,bvlgl-,xxv=9,gvbp-,njs=5,lvm-,pzg=1,cp=2,bdqlrp=3,kh=4,vg-,vqdgf-,cp=9,sk=2,nt-,jvs-,ds-,pkhsl=6,vg-,kmr=5,sq=8,znl-,gqf=7,mvf-,fmh=5,gs=5,ckr=5,nszdq-,gjztk-,js-,bct-,lql=2,vg=3,qmhp=8,fl-,jzr-,jxhfcj=6,jpgg-,kpt-,zzjx-,nz-,fn-,dkjb-,tkqp=9,fvsc=2,lf=2,lv-,fmh-,nnp=6,jm=8,jt=1,vgf-,qn-,tp-,brcmt=6,kfsm-,xqq-,dvsf-,xg-,ns-,thdb-,nszdq=1,zxvt=3,rpn=7,pzpjt=9,xj-,nm=7,lnjqcx=2,jp=9,fc=6,pf-,xvc=4,cjx-,pgv=9,fqb=2,shm=2,tkqp-,qmhp-,fck=8,jspd=3,pp-,qfg-,dkc=1,nnm=3,ksnbq-,fr-,xvlx-,xnhl-,xtmxv=8,xsp-,xgf=8,ksld=3,cgq=4,sc-,lksf-,lvbl=5,thdb=8,xtmxv=6,nvh=1,kq-,tz-,rmj=2,fvsc=3,vvc-,szv-,szlm-,bn-,flh=3,nr=5,hj=1,mx=7,vqdgf-,tz=1,mzd-,qbld-,bb-,grr-,mb-,qrms=2,dnl-,hxj-,vx=3,hxj=4,djmd-,bpbrtk-,jpgg-,ftjf-,cr=9,qrms=6,bfk-,gqz=8,fcz=7,xl-,ktxq-,vvjs-,fdn=5,mxtr-,gslk=9,hrxjl=1,sdmk=1,zbx-,ksnbq=4,qnlmx-,cd=6,vmcrl-,clsz-,prpm-,sq=7,ksnbq-,fft=4,pfnm=8,nzr-,qcpq-,fll-,jlx-,qd-,bdqlrp=7,pzg=5,dfg-,dcp-,bqddt-,ndkkj=6,bvg=4,fbq=4,qhl=2,sdmk-,dgxd-,lvbl=6,jm-,mlz=5,dxfkdk-,pkhsl-,tkqp-,bklck=9,fpn-,zbqx-,hc=3,vtr=1,qd=3,thq-,mb-,nnm-,sg=8,vpf=8,jj=7,zj-,vhbv=6,grr-,ffpd-,ptx-,gjd-,tn=4,rdx-,cll=4,ql-,jng=6,njs-,hqh-,lgdk=6,sksc=1,bz=5,rr-,xvc=7,dl-,cp-,thdb=6,sksc=7,gtd-,kn-,tnvq=6,kbxs-,vnmp-,scxt-,thq-,vs-,fgtf-,mlz-,cjx-,jsh=5,lql=3,lgj-,zzjx-,plv=2,dv=1,nf=1,zcgrr-,xj-,mscqn=2,nf-,nhddvq=8,dcp=7,mstm-,ztjj=7,zg-,xtmxv=4,ptr=4,gch=6,zzjgn=9,djmd=6,fsh-,brcmt=6,ckm=8,qzs-,nhtt-,jjnbp-,jvxrps=9,kqm-,zbx-,sdjp-,rl=9,hz-,sdmk=3,fl=1,vx=1,pkhsl=5,hgfl=4,jxhfcj-,tvpv-,rnt-,gvbp-,fxg=4,qpb-,mtl=6,qfss-,mx=6,dqb-,sq=1,npr=9,dcp-,nvh-,jq-,qrms=9,hnldhg=1,mzs=7,np=3,qg-,rdx=9,btn-,qfg-,tvpv-,xvc-,nqtm=6,dpk-,dr-,vzck=5,bcj-,tfjsg=2,pzg=9,xnhl=9,jp=4,krmf=1,kb-,szv-,mk=7,rv-,jcqv=4,mjp-,hk=6,cc-,nszdq-,xrx-,bqddt=5,zcgrr=7,mhl-,nqj-,vlq=1,csj-,rd-,ksnbq=9,fz-,dfg-,nlhbd-,xg=3,fbbsm=5,bjgbjl-,dhl=8,mdp-,dh=2,vbx=2,dqb=9,zbx=5,crvgr-,pss=7,ctb=8,plv=4,qnlmx-,zcf-,ts=2,rk-,rpm-,pkc=7,rjh=1,fgtf=1,sz-,zl-,dgxd-,dpk-,rpt=8,gkk-,snb=1,jcqv=5,gksc-,nt=8,vrh-,fvsc-,bx=9,kh-,dnl=5,cczqms-,lksf=2,lts=9,hk-,gslk-,fpn=4,mzs-,mj=8,hz-,rhl=3,sct=9,jh=4,kbxs-,qsn=8,bfhlp-,pjjg=5,znd=9,qfss=5,jvxrps=5,zzjgn-,pkhsl=8,dck=3,jzr-,fbq-,qnzqgm-,vzck-,vc=6,mdp-,msz=8,qz-,zljxk=4,mncnct=4,pp-,lksf=8,jjq-,fgmt=6,jmrzkv-,fr-,nm-,jnxs-,fck=3,fnll-,nzr-,sjr=3,kkbf-,xj-,gjztk-,thmb=1,nm=7,tgv-,hqht=8,mxtr-,ptr=3,qzfq=8,pgv-,mgb-,djmd-,jspd=1,bklck-,sjr-,ctb-,qlgk-,dhl-,tkqp=9,srm-,sx=7,fck-,zcf-,srctmv=2,rdx-,krmf-,sc=6,gxkvs-,xhhx=7,jgb-,qfss=7,sh=9,fgtf-,gzf-,qn=7,nl-,jl-,vrh-,nkr=9,jmrzkv=3,hsc=3,jjnbp-,kpt-,nzr=4,brdn=6,nr=8,ftqvd=8,hbgl=4,mt-,zqh=8,pss-,bfk=5,mxr-,xvkxd-,vvc-,lgdk=7,bzmcd=4,rhl-,cp=9,gx=2,dxxns=1,tr=9,frs-,js-,ngm=1,hdpzn=3,nkj=9,hsc=8,dcp=6,zbqx-,mstm=3,mnhrg-,jvs-,xn-,vtr-,vg-,rpn=6,xr=8,rfs=2,vq=7,ms=4,xsq=6,vg-,hjgnq=7,kmr=6,plv-,xdxdl=2,pf=1,bss=3,jl=2,vpf=9,hxp-,gqf-,lql=2,dh=8,pslt-,fl=6,ht-,zl=8,dnvk-,tm-,sg-,zt-,dxfkdk=4,lnv-,znd-,znl=2,tvpv=6,dtk-,sc-,mvf-,rpm=6,nb-,jm-,sr-,qfg-,vmcrl-,vl-,dxxns-,nf-,gk-,zz=8,vfx-,hkz-,fft=5,bn-,dnl=3,vbx=4,qnlmx-,szlm-,xvc=7,zxg-,qzs=9,vs=3,kcpf=4,kn=1,bjgbjl=2,ksld=4,zcgrr-,gqf=2,zhd=4,gsh=6,kbxs-,qvfb=6,sksc=9,tfg=7,sct-,nqtm-,xnhl-,ts-,jxhfcj=2,vl=3,tm-,fbhr=4,dhv=2,qzvhk-,jpgg=5,dks-,vr-,jlx=9,xnhl-,mxtr=7,dv=7,xqq=3,mncnct=8,thdb=4,jt=6,krdgsx=2,tfg=2,ftqvd=3,gxn-,pzvd-,vx=6,hj-,fl-,dgxd=3,fvsc=9,jvn=3,jgb-,bpqmg-,kzbvkm-,xrx-,lts-,mp-,dqklh-,qfg=5,grs-,lgdk=2,zd-,qbld-,fnt-,qpb=6,ptx-,dxxns=3,qzs-,mvf=8,crvgr=2,qn=8,fl-,frsq=9,fxg=5,zxg-,mxr-,nl=5,zqh=6,jt=4,qz=3,mfh=4,hbgl=5,jcrnp=6,gf=9,fbhr=2,vvjs=3,bn-,vhbv-,qtq=6,rfjtx=9,tm=6,frs-,vrh-,lnv-,zhd=8,xrx-,jq-,zl-,jjq=4,pd=1,ql=7,krmf-,lf=7,pz-,gvk=2,plv=2,mj=2,srm-,tfjsg-,jhj-,hk-,qzfq=6,dvsf=3,njs=2,mvv=1,rkg-,fvsc=7,gfjb-,tfg-,sr=6,bsn=9,bpqmg=2,gs=2,sct-,qrms-,tnht=5,zzjgn-,xsq=6,qn-,lv-,lvm=9,gmclv-,fk=8,zzjgn=4,pgv-,ndl=3,fr-,grs=8,vgf=4,gvk=9,pzpjt-,vzck=7,ztjj-,vl-,fft-,nkr=1,hdpzn-,kz=4,xvkxd=4,qsn-,ptr=3,nszdq=1,qd-,gsh=9,vx-,fsh=9,mzs-,hnldhg-,bg=4,lql=4,sk-,hkz-,mb=9,vdb-,qpb=1,rl=8,xvc-,jzr-,vc-,fc=3,vf-,bfhlp-,fl=8,pc-,mhl-,bcj=3,kc=2,zd=1,dgxd-,vf=9,nzr=8,vr=6,jhj=5,qp=6,vh-,jxq-,nl=8,vrh-,mfh=6,zj=6,kpt-,ksnbq-,bfk=4,qpb=8,qzfq=2,sdjp=5,vl-,rl-,pd-,cq-,prpm=5,cgq-,qd-,gxkvs-,np-,pvb=8,cczqms=1,xxr=5,vx=2,xsp-,xnhl=4,bfhlp=7,pfnm=7,pkhsl-,mgb-,mscqn=2,ksnbq=2,plv=4,xvlx=9,djmd=1,cd-,lfkx=9,nkr=6,rv-,ms=8,mvf=9,mzd=4,fgtf-,dfg=6,bzb-,zcgrr=7,pvb-,kp=8,vvc-,fkz-,rr-,hp=4,szlm=3,bcg=8,zs-,bpbrtk=1,bpbrtk=3,grzx=4,bg=4,rhl=4,fbq=7,mpzzz-,tr=2,rn=1,ql=1,hbgl=1,rv-,kzkrmc-,zljxk=2,jjq=1,clk-,znl-,vfb-,jh=6,jpgg=5,rpm=3,jmrzkv=6,vvc-,jgb=3,npr=3,zv-,xg-,vkk=9,hz-,vs-,rl-,gslk-,dfg-,jcqv-,jh-,dtk-,vlq=2,fn-,gsh-,kfsm-,xvkxd-,mxr-,vlq=9,mj-,bd=8,fn=1,vg-,brdn=1,xdxdl-,bklck=3,qbld=6,bx=8,bct=2,pkhsl=3,kcpf=7,rfs=1,fmh-,prpm=5,pfnm=3,fkz=8,dnm-,btn-,gqzk=7,cq-,sct=4,znd-,hccvg=1,gx-,thdb-,vnmp=9,rk-,ct=9,ckm=5,mzs=5,mzs-,bklck=4,dv-,kmr-,qfss-,kc-,ndkkj-,jcqv-,lnjqcx-,rvk=4,dv-,nc-,jklx=3,sct=1,kg=6,hj-,tfjsg-,fqb-,qnlmx=3,bjgbjl=2,zl-,xkx-,zg=7,dkc-,rfs-,bfhlp-,znl=8,szlm-,fk=7,lf=8,tp=7,jjnbp-,qmhp=9,ndkkj-,xckv-,jng=5,xdxdl-,mdg-,bklck-,blqt-,vbx-,gqz-,pn=5,zbqx=3,bg-,dtk-,ndl=6,pp=3,qnlmx=4,tb=5,bpbrtk-,fk-,gqf=8,znd=9,jxhfcj-,tfjsg-,xgf=6,cr-,jjq-,cl=4,pkc=2,tpxv-,gvbp=9,kjg-,jvxrps-,bd=8,vf-,rjh=1,xsp=3,zl-,vldbr=6,hbgl=5,fgtf-,gxbrrb-,zrqs=5,sdmk=5,xl-,zt=5,jh-,bzmcd-,brcmt-,bj=4,dsz=5,lvm=3,mznxrq=3,hmg=1,ht=8,rrgp=8,mzd-,vhbv-,nkj=1,brdn=1,qrms=9,tgv=1,zz=8,kqm=1,xn-,znl=1,sz=3,clsz=6,mk=7,nnm-,pd-,dxfkdk-,fck=7,brcmt=6,hxj=6,sjr=9,zx-,lgdk-,xvkxd-,vkk=7,qvs-,jvn=9,rnt-,kp=7,hlrc=5,gfjb=6,zfn=7,krmf=4,jq=2,qs-,sjx=8,gkk-,cjx-,mt-,dqklh=4,vq-,hrxjl=4,zjzsm-,zd=3,jng-,ckm=1,rpn=6,jm-,znd-,jt=9,fdn=3,lvm-,frf-,frf=8,fft-,kh-,vc=3,vc-,fll=6,cp-,szlm-,hj-,mj=6,cl=4,dd=6,qfss=9,qmhg=2,zrqs-,nzr=5,mlz-,mtl=2,mzs-,snb=4,fc=1,ln-,bklck-,sjr=7,dhv=7,jm=1,fnt-,qpb-,mx-,gx=9,vvjs=3,fztvsm=9,srm-,tnvq=9,dl-,zcgrr-,hbgl=5,nhtt=1,bj=8,cl=2,fmn-,tgv-,np-,bn=7,xsq-,fn=9,lmlbp=5,fnll=4,mpzzz-,rpbqp-,mpzzz=2,pc-,dm=5,dqg=4,gqzk=9,dpk-,kd-,jspd-,xgf=5,mznxrq=7,qn-,sjr-,fdn=9,dh-,xnhl=6,cc-,gx-,bcj-,dvsf-,srctmv=5,bsn-,dkc=7,kmr-,kmr=4,grzx-,xdxdl-,ml=4,jsh-,gkd=4,qsn-,tm=4,gqz-,npr-,fbq=9,lhfq=6,dxxns-,kmr=9,mpzzz=1,dh-,jsh=6,jcrnp-,jvs-,clk-,gxbrrb-,ndl-,djmd-,gxkvs=1,clsz=5,fft-,prpm=4,bd=4,xxr-,kk-,tpxv=9,csj-,lql-,xrx=5,gqf=2,lf=3,bl-,vbx-,xv=2,jvs=6,tfjsg=1,ql=9,fmn-,ssrql=7,kzbvkm=6,lqpn=4,dfg-,vc-,vfx=9,jsh=3,mvv=4,vc=7,zbx=1,xnhl-,qvs-,nnp-,nf=1,jxhfcj=5,frf=5,frf-,xb-,sx=2,rjh-,flh-,cml-,jmrzkv-,bd-,gjd=1,vhbv-,pz-,ds=3,msz=7,bk=9,zxg-,mscqn=1,xn=6,tg-,fbhr=3,qfg=7,hkz=2,vdb=1,zzjx=2,jcrnp-,bpbrtk=3,cq=6,dhv=4,kqm-,tnht=9,hj-,tn-,vd=2,hkz=6,gxbrrb-,jjnbp-,qhl=2,hc-,rmj=1,tfjsg-,cml-,rn=1,fll=9,bpqmg-,vpf-,pp=2,dpk-,gsh=4,sjr-,zv=4,ndl=5,zcf=9,pp-,cml-,ndkkj=1,vgf-,gvk-,zqh-,shm=2,mhl=5,mscqn-,jpgg-,qd-,jb-,mscqn-,ftqvd=9,gtd=3,mfh=5,jklx=2,vqdgf-,djmd=7,xvc=5,ql=2,kd=3,gqz-,nkr-,nbs-,jmrzkv=3,jpgg-,mx=2,ftqvd-,vh-,nlhbd-,vlq=6,xxjmjx-,grs=6,prpm=6,szv-,plv-,bvlgl=5,xv=2,dnm=5,tpxv=4,zx=3,vvjs-,tn-,xrx=5,qhl-,zj-,mnhrg=7,mscqn-,zrqs-,xbxkb=8,tk=4,hp=7,vq=2,rfs=9,mvf-,jlqpvc=4,kqm-,rhl=7,kqm=3,zb=1,qpb-,bsn=4,qzvhk-,qhl-,bnz=3,hrxjl=3,nbs=4,gjjmv=3,kp-,ptr=5,lksf=1,fmn=4,qg=5,gmclv=9,kzbvkm=8,rk-,sh-,tpxv=2,mstm=9,xr=4,kmr-,mznxrq=6,sq-,dcp=3,nb-,fl-,gf=7,hxp-,flh-,xsq-,bn-,fpn=8,jvxrps=2,gf=7,zl-,szlm-,rrtj-,jh=2,kpt-,bzb=8,dkc=2,nhddvq-,znd-,prpm=7,frs=2,kmr-,bg=2,lgj=9,xz-,vgp=3,zd=4,fr-,rdx-,grzx-,gvbp-,rvk=2,ccd-,ptx=7,fd-,xj-,dks=6,sk-,vlq-,ktxq-,jcqv-,mjk-,kb-,vmcrl-,kfsm=1,tfjsg-,krdgsx=2,gfjb-,jpgg-,dhv=8,vtr=3,btn-,qzvhk=3,hmg=5,jnxs=6,jq=3,cgq=3,brdn-,pg-,pn-,nm=7,kfsm-,nm=5,zrqs=7,zv=4,zbqx-,szlm-,pp-,lv-,nbs=1,xqq=9,vvjs=7,nh=2,bb-,shzj-,mscqn=8,hqh-,tz=9,hbgl=2,dmbpq=9,qcpq-,tfjsg-,vx=9,dsz-,kq=7,gjztk-,hxp-,dqb=8,nl-,fmn=3,tpxv=5,ptx=5,rnt-,pf-,zt=3,xckv-,djmd=1,lll-,grs-,rrtj=5,hqht=2,vdb=7,xg-,zljxk=2,jlqpvc-,zcgrr-,qjvtkc=6,bct-,jhj=5,vq-,zx-,hsc-,jzv-,xqq=4,rv-,zhd=5,fm-,klfh-,szlm=3,kcpf-,vzck-,vdb=3,pvb=3,jdlf-,vf=2,mzd=4,ztjj-,jgb-,lvbl-,dvsf-,zk-,tkln=3,lqpn-,gqzk-,znd=3,jspd-,xvlx-,gsh-,rvk-,xvc=6,tg=5,sct=8,fsh-,gfjb-,hjgnq-,sz=2,vd-,gtd-,jdlf=3,qzfq-,cp=7,jvxrps=1,hjgnq-,jspd-,fcz-,nr-,bk-,zj-,scxt-,lnjqcx-,ctb=7,qz=8,cp-,fmh=7,rvk=2,xf=1,mt-,tb-,kkm-,dmbpq-,hk-,bd=8,pslt-,frsq-,ln-,cll=9,hx=2,mvv-,nb=3,lfkx-,nnp-,pr-,pzpjt-,jmrzkv-,gzf=4,xn=6,pn-,qmhg=3,sk-,xhhx=5,rpm-,hc-,sc-,nszdq=5,tpxv=5,gf=8,vpf=2,frsq=4,xt=9,tkqp=3,vnmp=9,rpm-,hgfl=7,bsn=6,ndkkj-,crvgr-,vx-,jnxs-,nn-,snb-,sct=6,mscqn=2,bnz=5,zcf-,bvlgl=9,jgb-,gsh-,tgv=2,sdmk=9,scxt=6,xl=7,xsq=5,hdpzn=7,gjjmv=1,ln-,pgv=8,frf-,prpm=7,vd-,qhl-,hqht=7,dpk=3,scf-,fft-,lmlbp=3,dqg-,fxg=3,dxxns=5,nszdq=5,kn=1,mfh=3,zjzsm-,pkhsl=4,dqklh-,zqn=3,fqb-,shm=5,fpn-,xsp-,lgj=1,pf-,lql=1,ns=8,fcz-,fl-,kqm-,dck-,zd-,csj-,sz-,dnm-,krmf-,bpbrtk-,gch-,fqb-,cll-,mfh-,mscqn-,jcrnp=9,bpqmg=9,vr-,xkx=8,sk=5,kbxs=1,sq-,nm=1,rl=7,xl=8,mjp=6,vpf-,rk-,tfjsg-,ptx=6,rdx-,ztjj-,smv=7,thmb=5,hxj-,dnl=6,rdx=2,dfg=3,sjr=1,znd=7,zk-,pz=2,vs-,xtmxv-,brdn=2,cd-,dvsf=4,nszdq-,pss-,vc=8,dcp-,scxt=4,bcj=1,vrh-,qlgk=5,kpt-,tg=6,jvs=4,bl=8,rjh=9,hkz-,qn=1,hkz-,btn-,lmlbp=9,xr=4,krmf=5,xv=4,ndkkj=2,zk=1,nzr=6,fbbsm=9,xgf-,qz-,jspd=8,zz=5,zbqx=4,kg=9,dfg=1,zjzsm-,fgmt=7,qzs-,ndkkj-,zcf-,mp=8,jl-,snb-,mgb-,mjk=7,szlm=7,lksf=8,nl=9,bfhlp-,fmn=9,rr-,zxvt=9,mxtr=7,bzb-,mk=8,dnm-,nb-,pslt=6,pd-,mfh-,scxt-,pc-,snb-,xxjmjx-,mnqp=6,mstm-,tkqp=9,nh-,pr=6,xtmxv=3,ztjj-,tgv=2,vbx-,mp=3,sk=3,ftjf-,zxvt-,zb=5,ntp-,lvbl-,vhbv=4,dh-,dcp-,jzr-,vbx-,vvjs=7,ktxq=6,sz-,hxj-,jgb=2,ptr=7,vr-,mnqp=6,xsq=4,cq=3,njs-,znd=4,hc=1,qcpq-,mx-,gxkvs=4,mp-,pp=7,jlqpvc-,brdn-,rl-,bd-,xgf-,gxkvs-,mk-,hsc-,tfjsg-,kcpf-,fbbsm-,fsh=4,lmlbp-,gf=6,zbqx=3,mk-,jjq-,clk-,dhl-,vzck=6,gjjmv-,bjn-,xxjmjx=7,ckr=6,zcgrr=7,qzs-,kkbf-,kfsm=7,fr=7,nb-,nkr-,lvm=4,xn-,zqh=8,rpt=7,gk-,vvzx-,sr-,xl=6,dd-,gslk=9,btn=3,qz-,xxv=6,nm-,mnqp-,scn=6,tr-,tkln-,ftjf=1,lf-,cm=2,lvbl-,ckm=2,kd=1,vfb=4,brdn-,dfg-,vvjs-,fsh-,zv-,bpbrtk-,rk-,mzs-,gkk-,zrqs=2,vpf-,vvc=5,ct=2,cll=5,dlp=1,mj-,ds=4,mnhrg-,bg-,qnzqgm-,xr-,sdjp=3,zlc-,zljxk-,cd-,gs-,hlbm=1,lv-,cgq-,bvlgl=1,xj-,zs=1,szv=7,vl-,ngm-,cc-,rdx-,rr=6,jxhfcj=6,ct=2,jcrnp-,vtr-,js=2,dhv-,np-,flh=1,sg=3,gslk=4,mscqn=7,xckv-,gqf=1,bjgbjl-,cp=5,dfg-,mnqp=6,vzck=1,xj=2,gp=4,qrms=5,hbgl=8,lksf=7,dcp=8,qd-,zxg-,lfkx-,bklck-,frf=3,vvjs=7,fnt-,tvpv=3,nnp-,vd-,scf-,ffpd=2,vqdgf-,sr=1,fn=3,mvv=7,fnt-,ssrql=1,gch-,qz=7,dgxd=4,pkc=2,ffpd-,tz-,qz-,pkhsl=1,gp=1,xdxdl-,dgxd=7,zrqs-,qp=7,jhj-,ct=7,zfn-,qlgk=1,lql=6,lhfq=4,mstm=9,fn-,fgmt=8,gkd-,btn=7,gzf-,bnz=4,fk-,mj-,hdpzn=3,fnt=7,sjr-,krmf-,dqklh-,kd-,jnxs=4,bz-,fcz-,vq=5,jklx-,gksc=2,hccvg-,fsh=4,vtr=4,pslt=3,mznxrq-,kn=3,vzck-,bklck=2,dcp=4,bjgbjl-,dnvk=2,bzb-,cml-,hx=3,rn=6,kbxs-,lv=8,nkr=5,jj=1,kqm=4,lfkx-,gzf-,qpb-,ckm=8,dck=7,rv-,lgdk-,gs=1,nnm-,grr=5,tkln=1,dhv=2,xqv=7,sx=9,prpm-,hqht=9,xbxkb-,pkhsl=4,prpm=7,dks=2,mgb-,vf=2,xt=5,fqb=3,rd=7,ptr-,bj=5,xkx=9,bjn-,vrh=3,nqtm=3,pss-,cjx=9,zqn-,mgb-,zs-,jgb-,pjjg=7,mvf-,fdn-,tfg-,pslt-,rnt-,kh=2,frsq=6,zlc=2,bct-,cll-,cll-,jzr=7,dhv-,kh-,rpt-,hlbm-,kbxs=3,zbqx=3,jb=4,kjg-,nszdq=5,lmlbp-,jgb=8,xf-,kpt-,jxhfcj=3,vgf-,fmn-,jvxrps=8,zg=4,hk=9,fl-,lhfq=8,xv=6,lhfq=2,kzkrmc=4,nf-,gk-,kcpf=3,xckv=6,xl=6,mjk=4,smv-,kbxs=7,pc-,zfn-,hjgnq-,xvkxd-,pkc-,msz=5,bdqlrp-,vq=3,gj=2,vkk=4,gsh=3,jnxs=8,qhl=1,vbx-,gxkvs-,mzs-,pzvd=6,vldbr-,nvh-,xg-,ndl-,mvv-,gfjb-,fmn-,zlc-,vmcrl-,rkg=7,blqt=9,ngm=6,gslk=7,mzd-,lgj=3,xj=8,mfh-,zd=4,qz=3,kzbvkm=5,znd-,dcp-,qnlmx=9,xckv-,fpn-,pf-,bj-,nkj=7,zxvt-,xt=2,ptx=7,zzjgn=3,fgmt-,vh-,hgfl=5,hdpzn=4,gmclv-,dhl=8,rn=9,lvbl=9,bn-,fr-,zcgrr=4,nb-,ftjf=8,fpn-,xg-,fnll=8,gfjb=4,csj-,pzvd=7,xn-,dh-,brcmt=1,nkr-,bvg=6,zhd=9,zv=3,fmh-,lf=6,nnz=4,jklx-,bct=7,rpm-,dgxd-,scf-,qjvtkc=4,zt-,pkhsl-,qjvtkc=2,dnl-,dkc-,mj-,zljxk=9,qs=7,hp-,fkz-,kp=6,kcpf=3,vnmp=9,jsh-,sjr=3,jlx=9,zjzsm-,mt=3,dpk=4,vkk=8,jjq-,bvlgl-,vc=1,qvfb-,jlx-,hrxjl=7,tpxv-,vs=9,qmhp-,fft=9,zfn=5,fbq-,kmr=8,flh-,fvsc-,zbqx-,dnl=9,ftjf-,ds-,vqdgf-,nb-,cll=9,tkln-,lll=3,zg-,sh=8,cd-,bz-,qzs-,npr=4,kn-,ml-,kpt-,fqb-,fztvsm-,bpbrtk=8,jng=7,mdp=1,dvsf=4,vd-,xxr-,fnt=8,fdn-,hx-,gkd=1,nr=1,ptr=7,gf=7,cczqms=1,djmd=6,nl-,bss=2,qsn-,szlm-,fn=6,bcg-,rnt-,xhhx-,fkz=8,vfx=5,tfg-,rfs=2,vfb-,fcz-,mjk=9,hlrc-,sjr=5,vf=3,dqklh=6,scf-,qd=2,ts=7,jq=5,mpzzz-,tr=2,vl-,mxr=4,mncnct=3,sh-,dqg-,jvxrps=6,ftqvd-,jng-,sz-,ngm-,jzr=8,bpqmg-,rmj=8,scf=5,gp=4,dhl=4,cr=8,fd-,vzck=5,nlhbd=4,gjjmv-,nvh-,rr-,fsh=9,xqq=5,qcpq-,vldbr-,dtk=2,dks-,nkj-,kb-,vl-,vvjs=2,ftjf-,mlz-,szlm=3,fc=7,sr=9,gjztk-,sksc=8,jmrzkv-,vvjs-,qvs-,gxbrrb-,vf-,rpm=2,vg-,ndl-,hqht-,xf=3,vp-,zx-,kk-,rkg=6,rfs=5,szv-,zz-,gvk-,cjx-,klfh=9,qd=3,lnv-,csj=2,nnm=1,shm=7,thmb-,sx-,xtmxv=8,tkln=3,krdgsx=9,zb-,dxxns-,xtmxv-,fc=4,fnt-,bg-,rvk=2,szlm=6,vgf=9,ndl-,lgdk=7,pz=2,gk=7,hxj-,pc=2,np=7,xv-,jvs-,cq-,vmcrl-,dhl-,ksnbq-,ckm=4,krdgsx-,pc=8,qn=4,vnmp=4,fz=3,jjnbp=4,mtl=2,tz-,nqj=9,rrgp-,dqb=2,xsp=6,bcg-,xg=7,vnmp-,fmn-,tpxv=3,ckr=8,gp-,tfjsg-,qfss-,kh=8,bb=9,rpm-,zzjgn-,bss=9,dkc-,lv-,kb=5,rpt-,smv=2,dsz-,jdlf-,rn=9,mzs-,msz-,zhd=3,tvpv-,ktxq-,sct=8,bpbrtk=3,fnt-,bfhlp-,sdmk=6,tfjsg=7,jdlf=5,zb=7,qs-,rvk-,kk=4,vkk-,jspd-,jvxrps=9,sdmk-,qtq=7,pfnm=1,lql-,fz-,sh=3,qcpq-,kzkrmc-,zhd=1,qzfq-,bcj=1,fft-,mb=8,xsq-,jzr=5,xqv=1,dnl-,nn-,pzg-,zg-,pzpjt=8,xj-,jcqv-,vh=4,gxkvs-,zk=4,zhd-,lfkx=1,xhhx=8,kkm=1,bz-,qzs-,lvm=5,hc-,xb=5,frsq-,fc=4,dtk=6,dfg-,zlc-,rr=5,lv=3,zhd-,fn=1,lmlbp=9,pslt-,qrms-,dck=9,vs-,ckm=4,ts-,pjjg=5,bd-,mxtr-,vldbr-,xqq=1,qnzqgm=6,ngm-,dh=4,vl=8,zg-,gvk-,qzfq-,fvsc-,lqpn=3,zcgrr=8,mb=5,xdxdl=9,fcz=2,jnxs-,zxvt-,pgv-,jklx-,tnht-,kd=3,bsn=6,gk-,dm=4,plv=9,jspd=5,thmb-,vldbr=2,jlqpvc-,rfs=9,rfs=4,ds=5,dq=3,bvg-,jxq=4,qmhg=8,ql-,fgmt=3,nn=2,fft=9,plv-,rfs=1,qzvhk-,qrms=5,flh-,pc-,vg-,xt=9,kjg=6,srm=2,mgb=7,fdn-,xsq-,xrx-,tnht-,tg-,kg-,pgv=9,gjd-,scn=3,ndkkj-,gszhrg=6,sxd-,qrms-,ffpd=6,mnqp-,dh=5,cczqms=7,kg=7,bjn-,bb=5,hk=4,zbqx=4,fz=3,vs=5,jvxrps-,mdg=9,zhd=2,zbqx-,fm=9,qd=4,bvlgl-,dxxns-,zk-,gtd-,zz=5,rxg-,dgxd-,sdmk-,nz=9,dqklh=4,fgmt-,gkk=5,fmn=6,grzx-,tg-,xt=7,jlx-,nt-,nhddvq-,pkhsl-,jxq-,mfh=8,vmcrl=6,cd-,hxj=6,dqklh-,xqq=2,jzv-,cr-,sz-,sjr=8,qzvt-,xhhx-,dnvk-,nz-,kbxs=2,dkc=6,flh=9,jsh-,vvc=1,lhfq-,vkk-,qz-,qfg=5,jl-,hc-,nh-,hxj=1,vbx-,btn=8,tz=3,ktxq-,mb=4,thmb-,blqt-,sksc=4,rkg-,rd=6,xvlx-,kmr-,ms-,jhj=6,gj=3,dh=2,xv=8,znl=2,msz-,snb=8,cjx=5,vldbr-,mvf-,fck=2,scf-,bk-,jsh=3,fcz=9,pr-,xhhx-,lgj=3,zbx-,jpgg=8,bj-,qvs-,jh=1,dv=2,szlm=2,qs-,mhl-,tnvq=7,dks=6,sxd-,grs-,xkx=3,zrqs-,gch=2,lll=7,srctmv-,jnxs-,vldbr-,xr-,tfjsg=3,tn=8,ffpd=9,rfjtx=4,gkd=4,szlm-,xxr=1,qmhg-,sq=7,dsz=9,dh=1,zqn=2,jb=1,zt=9,rjh=4,pjjg=7,cm-,dhv=5,hz=3,hbgl=9,dd-,zj=1,nh=7,sjx-,kfsm-,nb-,bj=8,jxq-,xvlx-,jvs-,bqddt=1,kzkrmc-,fvsc=2,bvlgl=1,bj=9,vgf=4,rxg-,bss=6,rdx=4,bsn=5,cml-,lnv-,pp-,qzfq-,hbgl-,zd=9,zs-,vtr=2,bqddt-,sc-,mhl=4,qn=7,bdqlrp=1,xg-,fsh=5,fnt-,nvh-,vqdgf=2,nhddvq-,scn=2,ftqvd=5,kbxs=6,xt-,ptx=2,zhd=8,kjg-,hkz-,gjjmv-,nh-,dh=3,mjp-,gszhrg-,rd-,nl-,zjzsm-,thmb=4,fsh=7,pf=9,dxfkdk=5,xqv=7,xtmxv-,pkc=8,ndl=5,zj=8,gk=5 diff --git a/2023/haskell/solutions/Day15.hs b/2023/haskell/solutions/Day15.hs index e7cfb64..20a2037 100644 --- a/2023/haskell/solutions/Day15.hs +++ b/2023/haskell/solutions/Day15.hs @@ -5,11 +5,12 @@ import Data.Void (Void) import Data.Text (Text) import qualified Data.Text as T import Data.Char (ord, isSpace) +import Data.List (findIndex) import Data.Bifunctor (bimap) import Text.Megaparsec (Parsec, errorBundlePretty, runParser, sepBy, optional, eof, many, choice) import Text.Megaparsec.Char (newline, alphaNumChar, char) import Text.Megaparsec.Char.Lexer (decimal) -import Lens.Micro (ix, (%~)) +import Lens.Micro (ix, (%~), (.~)) data Op @@ -50,12 +51,14 @@ del :: Text -> [[Entry]] -> [[Entry]] del k = ix (hash k) %~ filter ((k /=) . fst) set :: Text -> Int -> [[Entry]] -> [[Entry]] -set k v = ix (hash k) %~ update +set k v = ix (hash k) %~ upsert where - update :: [Entry] -> [Entry] - update es - | any ((k ==) . fst) es = map (\(k', v') -> if k == k' then (k, v) else (k', v')) es - | otherwise = es <> [(k, v)] + update :: Int -> [Entry] -> [Entry] + update n = ix n .~ (k, v) + insert :: [Entry] -> [Entry] + insert = (<> [(k, v)]) + upsert :: [Entry] -> [Entry] + upsert es = maybe (insert es) (`update` es) . findIndex ((k ==) . fst) $ es solveB :: [(Text, Op)] -> Int solveB = sum . zipWith row [1..] . foldl (flip run) (replicate 256 []) . map snd