aoc

My solutions for the Advent of Code
git clone https://git.tronto.net/aoc
Download | Log | Files | Refs | README

commit 3f8c80cc32bc25d5c29ebc72161d691787677ef1
parent 4d4d84bbd2fb37d6a9ecb015760dc3562c4ec00c
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date:   Mon, 23 Dec 2024 07:55:11 +0100

Day 23 2024

Diffstat:
A2024/23/Makefile | 11+++++++++++
A2024/23/day23a.cpp | 40++++++++++++++++++++++++++++++++++++++++
A2024/23/day23b.cpp | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A2024/23/input | 3380+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A2024/23/test | 32++++++++++++++++++++++++++++++++
M2024/learned.txt | 1+
6 files changed, 3530 insertions(+), 0 deletions(-)

diff --git a/2024/23/Makefile b/2024/23/Makefile @@ -0,0 +1,11 @@ +CC=g++ -std=c++20 -g -Wall + +a: + ${CC} -o a.out day23a.cpp + ./a.out + +b: + ${CC} -o b.out day23b.cpp + ./b.out + +.PHONY: a b diff --git a/2024/23/day23a.cpp b/2024/23/day23a.cpp @@ -0,0 +1,40 @@ +#include <algorithm> +#include <cstdint> +#include <iostream> +#include <map> +#include <queue> +#include <ranges> +#include <set> +#include <sstream> +#include <string> +#include <string_view> +#include <vector> +using namespace std; + +set<int> computers; +bool m[26*26][26*26]; + +int index(char a, char b) { return (int)(a-'a') + 26*(int)(b-'a'); } +bool t(int i) { return i % 26 == 't' - 'a'; } + +int main() { + string line; + while (getline(cin, line)) { + int i = index(line[0], line[1]); + int j = index(line[3], line[4]); + computers.insert(i); + computers.insert(j); + m[i][j] = m[j][i] = true; + } + + vector cv(computers.begin(), computers.end()); + int tot = 0; + for (unsigned i = 0; i < cv.size(); i++) + for (unsigned j = i+1; j < cv.size(); j++) + for (unsigned k = j+1; k < cv.size(); k++) + tot += m[cv[i]][cv[j]] && m[cv[j]][cv[k]] && m[cv[k]][cv[i]] && + (t(cv[i]) || t(cv[j]) || t(cv[k])); + + cout << tot << endl; + return 0; +} diff --git a/2024/23/day23b.cpp b/2024/23/day23b.cpp @@ -0,0 +1,66 @@ +#include <algorithm> +#include <cstdint> +#include <iostream> +#include <map> +#include <queue> +#include <ranges> +#include <set> +#include <sstream> +#include <string> +#include <string_view> +#include <vector> +using namespace std; + +set<int> computers; +bool m[26*26][26*26]; + +int index(char a, char b) { return (int)(b-'a') + 26*(int)(a-'a'); } +void printnode(int i) { cout << (char)('a'+i/26) << (char)('a'+i%26); } +bool t(int i) { return i % 26 == 't' - 'a'; } + +bool all(int i, const set<int>& v) { + for (auto j : v) + if (!m[i][j]) + return false; + return true; +} + +int main() { + string line; + while (getline(cin, line)) { + int i = index(line[0], line[1]); + int j = index(line[3], line[4]); + computers.insert(i); + computers.insert(j); + m[i][j] = m[j][i] = true; + } + + vector<set<int>> cliques[15]; + cliques[0].push_back(set<int>()); + for (int i = 1; ; i++) { + for (auto& c : cliques[i-1]) { + int mm = *max_element(c.begin(), c.end()); + for (auto j : computers) { + if (j <= mm) continue; + if (all(j, c)) { + set nw = c; + nw.insert(j); + cliques[i].push_back(nw); + } + } + } + auto n = cliques[i].size(); + cout << "Found " << n << " cliques of size " << i << endl; + if (n == 0) break; + auto cc = *cliques[i].begin(); + vector<int> cv(cc.begin(), cc.end()); + sort(cv.begin(), cv.end()); + for (auto j : cv) { + printnode(j); + cout << ","; + } + cout << endl; + } + + return 0; +} diff --git a/2024/23/input b/2024/23/input @@ -0,0 +1,3380 @@ +lc-yb +er-nh +za-br +gp-hv +pm-zp +jd-ac +yb-pv +mb-jo +hn-yj +ji-oi +if-av +ni-tc +go-ro +ik-er +ub-pz +wo-lh +tg-dt +uv-xs +yt-uw +vk-kh +mm-sy +ds-pe +bq-mp +xn-mm +ty-gm +zx-hs +ig-iq +nt-dh +oh-ba +wz-ao +af-gd +hb-xc +rr-ad +ez-el +dt-zm +bt-fr +ui-mh +rr-cr +kp-ah +mk-sl +zu-ql +qg-mw +hb-ng +am-hk +kd-go +lh-cs +qg-fi +ow-fm +bo-wh +ho-yo +yv-jp +ae-hy +ty-sv +mr-co +ss-tb +yh-xa +im-lt +kv-ln +wt-vi +ar-zv +jo-vn +ai-dg +bs-fm +fh-qx +ry-je +ca-cg +ma-ux +ar-es +pj-qk +qn-nr +lc-vz +lw-uy +fh-mq +er-pp +ht-fw +za-rn +et-kd +nc-ah +cx-zr +yw-ro +ak-wp +se-lr +ey-ig +ir-te +tm-qr +ry-ps +oz-oq +xg-mh +av-xy +et-ro +mo-yg +zf-nf +lg-ed +bt-zh +ma-xl +dt-vj +in-ze +ze-xy +mj-yf +zc-xc +lz-by +hb-fb +qb-xn +fq-cl +dz-an +dj-ik +qb-nt +ja-qv +lu-gy +qb-bk +sn-zx +zv-ij +yf-va +kf-fy +ir-pt +rm-rl +un-zs +up-jp +ew-rq +ch-fc +gn-cl +mo-yh +zf-tw +cx-ah +tp-uf +ub-qa +sn-fr +vr-to +ov-qq +nz-ha +sk-sh +cv-cp +ho-br +wg-lf +eb-wt +bv-pk +uq-my +da-hy +nb-qn +xb-vk +qi-lh +mk-gm +lz-rm +cx-at +xb-dy +dr-uz +mr-yp +jj-li +nr-ek +ks-rn +ei-yu +qq-gh +ku-gn +xg-vx +ni-jc +gf-gh +sr-ym +ya-ty +eo-cx +ps-yf +vu-lo +hf-dj +jm-pp +it-zm +za-lq +ec-im +jj-gk +tm-ms +xr-tk +bn-fz +mx-jt +gy-af +hg-jm +nk-ae +qa-jr +ky-og +ut-re +xa-mo +nb-up +sk-cg +px-hc +vx-hv +eo-tx +pt-te +ed-iv +ii-vp +et-yw +oh-do +oz-oy +nz-fp +ok-ms +wy-yw +vg-sr +tl-bd +yx-bk +qy-vq +uk-zw +og-gc +mf-wk +zt-rr +zc-nk +ra-ke +yo-rn +ob-yl +du-yc +jb-bo +zn-vb +yi-ke +sp-nm +fe-cs +pe-gc +go-td +ti-xw +oy-ks +mk-gn +qj-wn +fr-io +lg-nb +iw-rw +lh-hd +xc-fb +wg-yo +yc-sl +ro-sz +im-cp +eb-vi +bd-te +nn-xu +xt-un +lh-bx +tw-es +fi-mw +kn-xx +ux-dt +sg-pn +lw-uo +ct-yq +gu-on +su-ai +pu-il +iu-ma +qp-cp +tp-ii +bt-xw +xg-aj +kp-eg +ql-va +ca-ik +an-th +wq-fh +gg-pd +zu-bv +mp-lf +ny-zv +zl-tj +mp-ib +vw-dj +at-kp +yc-mk +di-vp +ml-ep +jr-az +cz-tp +bo-yu +nt-wm +oy-ka +ny-cc +gy-es +eo-eg +yd-ua +yu-zn +oh-kt +da-xc +lj-gr +cv-am +az-qa +hr-ch +ai-de +md-wf +kq-un +ma-tg +zm-ye +ya-xi +ub-no +jc-mf +vj-zm +lg-nd +ko-yl +pv-uk +ps-xu +tj-ov +ij-gd +uv-mg +gp-kh +xm-eq +zc-ng +dg-do +xu-od +zt-ad +od-eo +ur-oc +ym-eq +bz-rj +bx-cs +pm-pj +yv-on +un-sv +ux-it +hb-zc +mp-mw +zh-io +jc-bm +qx-uw +wi-wp +ob-te +ns-ou +ak-yh +zx-vv +uf-oc +ui-gp +by-jj +ub-tu +vj-rx +az-ub +qw-ao +du-mk +up-oc +rh-xf +fc-ns +sg-ok +mh-sc +ny-qj +hs-tz +uy-ss +dd-ew +ny-pb +tt-ix +zn-ei +bq-zq +wp-fm +pt-tl +ap-ge +gk-un +nq-fh +wp-zi +vb-rq +lx-ig +qc-im +zl-sr +ia-wp +fb-hy +be-wl +lp-tp +ym-pk +kw-gm +nq-xz +bs-uj +dc-bu +nv-cf +jv-xs +sg-vs +zs-th +cp-dn +go-km +km-mi +bg-do +bf-il +vz-wt +uo-wf +pe-dc +rr-vu +uv-kx +en-xx +or-oz +kp-eo +ii-di +es-ea +np-hb +va-rd +ad-sp +by-an +up-gi +pj-zp +yo-hh +hw-vg +jw-fc +en-qv +le-rr +ak-xj +bq-hq +md-tb +tm-ka +yj-xw +nz-pe +rn-br +fd-xz +vg-tj +wd-cw +kw-ge +xy-if +mw-lf +zh-fr +ms-vs +ix-bs +vs-gl +am-lh +wh-wr +uo-ky +gc-nz +or-il +jv-rw +dq-wn +wi-io +sz-et +lx-vl +ly-ug +ea-gy +vn-cl +bu-gc +ux-vj +yl-tl +sd-ox +pb-dr +xj-to +da-hb +il-ol +vj-it +zr-nc +dy-hv +ui-hv +qa-tu +bj-yv +am-bx +vl-ga +ow-wi +rz-iu +mf-cf +gf-pk +du-ty +hl-wn +yj-fr +ok-tm +lr-eu +ej-ro +ps-mj +mk-ge +il-mc +cx-lb +ur-rz +wd-az +lp-lj +lx-js +lw-ky +bh-no +ns-qr +sk-hg +sg-qr +mr-gk +nv-yh +yb-wt +cf-bm +dn-yi +xu-yn +wp-vr +ja-eh +bf-ol +eh-ve +oi-ct +an-zs +oq-ww +bz-ii +po-qj +ko-ir +fy-qp +qx-nq +xr-rw +sy-rh +nv-tc +gn-ql +yf-od +my-yn +ob-bd +hk-hx +gc-dc +wc-oj +cf-yg +rc-yb +tx-ah +pt-bd +hz-ck +it-xl +jf-rd +cv-lh +tb-uy +kn-bj +nl-cx +xg-hv +ip-ae +xl-iu +pj-pq +oq-bi +cm-iq +sg-ou +dh-bk +hk-cs +te-lk +tw-wv +tt-eb +jp-nd +al-uv +bh-mx +qk-wl +vx-ci +wd-mn +ur-cz +ku-ac +on-vv +wl-pq +ja-vq +vu-le +kn-ja +wm-cy +km-td +ye-bk +kh-sc +lx-ga +wv-nf +hz-qc +rl-qt +fp-av +xj-ga +qi-jx +il-pw +el-aq +oc-gb +vg-xm +qv-kn +ou-fc +xt-gk +in-by +fc-qr +gi-jp +lz-qt +do-su +xs-fw +sk-pp +ht-xs +yg-ex +zq-mw +ua-px +cv-cs +lq-ka +zs-li +pm-lj +qc-ey +dd-yu +dl-sq +bg-kt +ao-ai +fy-mg +lu-ea +ua-rl +uk-tf +fi-ib +cw-no +ym-hw +ha-ds +fr-lq +rh-dh +xz-my +co-dc +ky-pf +cf-jc +bi-mc +vp-bz +tp-vp +bh-cw +mi-ro +gc-ha +zc-ef +ok-ch +cq-uy +hg-er +rq-yu +nk-sg +qx-yt +bn-xn +zl-ov +fq-mb +ni-ex +ij-gy +cs-qo +gh-zl +pj-wl +yj-vv +xb-ui +vl-qc +ba-de +al-xr +yv-nb +lh-jx +kp-lb +ml-xw +bj-xx +cd-pw +so-wh +bn-jq +km-ro +de-pn +ha-bu +sc-vx +ca-hg +my-ly +xw-ep +uh-bd +fm-be +hr-ua +ov-sr +lw-sr +oy-yo +ct-qk +rr-sp +ex-mf +qt-dw +ec-ra +xt-ze +sv-ap +nc-at +ka-yo +yc-ge +un-an +ac-cl +ku-jd +qo-ev +ae-da +nm-cr +nq-ox +cs-ev +ae-zc +sn-vv +rx-it +kf-dn +qn-iv +hb-ip +qk-ji +lp-rj +lf-cu +yq-dd +zq-mp +ro-fx +io-sn +ue-fx +zy-ai +vq-ve +az-mn +mk-ty +dq-hl +kf-ra +ip-zc +wm-lq +ms-jw +on-jp +gy-nf +fy-im +be-gr +ez-uw +fi-hq +oi-lj +fx-km +qe-yn +vf-oq +fw-kx +al-tk +sp-le +yi-wt +po-pb +ac-mb +dn-qp +wt-uk +jm-er +jv-kx +yx-bn +qb-sy +qg-ib +lk-wj +qw-ba +ht-tk +ur-pu +jc-tc +pm-wl +sp-eu +bs-wp +la-ga +ow-ia +nr-eb +tx-cx +ig-cm +gf-vg +xi-jt +sd-yt +bf-ww +xi-ap +ck-ga +if-ps +fy-dn +cs-am +xi-du +yc-sv +en-ve +ur-lp +ld-px +jt-wd +sq-lr +pm-ji +ap-du +do-qw +up-ed +ut-vj +at-kc +sg-ms +ht-al +xy-mj +wt-ek +ee-zq +kp-tx +rh-qb +ou-ii +qj-hl +mf-bm +od-av +mm-ep +mn-mx +sw-ly +ma-ut +rq-yq +az-bh +vf-ww +dz-xt +bu-tn +wu-am +lb-at +sr-pk +sd-ea +ed-yv +ea-af +ux-ye +ma-rx +hq-mp +nm-lr +cv-ev +tb-ri +ac-gn +jm-qn +tc-wk +wa-yn +pt-uh +pz-fy +ww-il +tt-vi +cm-ck +kk-rw +ik-sk +eo-jz +bg-qw +ni-mo +ge-sl +sn-yj +so-wr +ca-hd +es-lu +xj-wp +yx-dh +ku-ds +da-ng +bm-yh +dc-pd +qx-oo +gd-zv +pv-zw +wu-qk +aj-ci +eh-kv +dt-re +zl-ym +ut-ye +le-lr +jb-ew +ey-hz +qi-cs +za-ks +dh-qb +qk-pq +xl-ye +hz-cm +mw-wg +yn-op +ns-to +fc-sg +kt-de +ew-yq +yf-jf +uo-tb +cx-jz +pz-yi +sk-ca +vl-iq +yv-up +gh-ov +re-ux +dg-oh +ci-kh +hr-rl +ej-kd +ky-hi +rd-ps +at-ah +qt-ua +wz-oh +ae-hb +if-ry +yp-my +pu-or +fr-ep +pz-qp +xp-fh +ii-uf +jx-hk +oq-ol +uh-nn +zs-by +jt-bh +oh-ao +cv-qo +nq-wq +in-an +vm-ip +tz-fz +pk-vg +yj-ep +wc-hr +wa-xz +pp-mf +sv-sl +td-sz +ss-md +rq-so +mq-ss +lu-gf +al-rw +vn-bv +dw-hc +bv-fq +li-in +wg-cu +hl-dy +pp-vw +dq-qj +xz-qe +uv-fw +fi-cu +dj-sk +fp-gc +ka-cy +wh-zn +hg-sh +xk-sv +lg-up +ea-wv +wt-pv +ub-cw +yg-nv +jc-wk +jx-ev +mg-cp +wa-op +jm-sk +bz-wh +sq-ge +bq-um +ii-lp +uq-sw +mh-xb +bd-wj +ed-gu +sp-zt +pe-gg +lc-tt +mg-pz +il-cd +co-tn +hw-gh +tx-jz +bo-zn +xw-zh +fe-hd +kq-an +yc-ij +su-dg +js-la +aq-dr +tx-kc +ah-eg +hx-ig +or-oq +ko-bd +at-eg +ct-pj +sn-hs +gg-dc +lg-yv +qe-fd +sv-ya +hh-rn +tu-no +hv-vk +th-kq +so-ti +mx-wo +kk-xs +ec-yw +cl-po +ym-tj +es-gd +qn-lg +wq-cb +nb-nd +kt-zi +wh-vb +vw-ca +aq-qj +jw-ch +pn-ch +kh-xb +qw-zy +ry-av +sq-se +ia-uj +xk-du +xi-xk +ub-jt +ql-tl +uz-pf +eb-ek +pb-cc +zm-ux +an-ss +uy-uo +oi-wl +wo-ub +ge-sv +lg-jp +kf-lt +eu-dl +zy-pm +sq-ad +qp-pp +pb-ot +cu-fo +wv-gy +mf-yh +gk-zv +zw-qi +pm-be +op-qe +kv-ja +yv-gu +mj-if +ln-qv +dr-wn +ef-np +wf-cq +li-un +fo-ib +te-tl +hh-wm +ks-hh +fm-vr +ky-md +qi-cv +co-nz +ez-ox +xy-rd +tm-ou +qc-ig +bo-so +yt-xp +fz-rh +fw-rw +by-gk +wo-cw +on-ed +kx-xs +nr-zw +vb-bo +rl-ld +wf-mq +re-ye +tb-hi +pb-aq +tl-nn +ld-yd +sd-nq +di-uf +sk-vw +rd-if +jo-fq +am-qo +ln-qy +hy-hb +mc-pw +ar-ea +er-nc +bz-gb +qy-ik +xj-wi +av-xu +cg-jm +lz-hr +ze-zs +qc-ga +nd-iv +dd-vb +qb-mn +es-zf +mp-wg +xs-al +ea-zf +rd-xu +ew-zn +ux-ut +ed-nd +mg-yi +zl-vg +bk-mm +dj-nh +pn-ns +rm-ld +hi-uo +la-ig +yu-yq +bf-mc +nm-rr +wa-yp +bj-qv +dw-ld +kd-td +cw-nd +uq-qe +kv-wh +kn-kv +ve-qy +dq-po +fd-ly +bn-sy +kk-ht +hd-ev +aq-hl +ow-wp +ze-un +wr-zn +sn-xw +cf-tc +xs-rw +ck-lx +sy-nt +zn-rq +wh-jb +hb-ef +xp-cb +wu-hd +vg-ot +jx-ld +qv-dc +sc-xg +ej-sz +kx-iw +zy-dg +am-jx +ui-xg +wi-fm +ib-mw +eo-at +hq-ke +vj-tb +nr-vz +cy-br +ko-wj +nf-ea +ba-ao +ot-dr +bt-io +dl-ad +xi-yc +zv-af +wz-zy +jd-mb +kk-tk +yh-tc +wu-ev +lr-sp +ar-gd +uz-dq +wc-at +wz-kt +dq-ny +dl-sp +iu-vj +mq-tb +fw-al +cc-ot +cm-nh +uw-ox +wo-no +vn-jd +lx-ey +xf-vw +xw-fr +ya-hi +ry-mj +xx-ja +no-az +iu-dt +ao-do +zv-es +bo-ew +ee-bq +gy-tw +mi-et +eg-cx +fb-nk +zp-ji +eb-tf +lz-rl +bv-mb +ux-rx +rz-gb +uy-xz +se-nm +kw-ya +vi-zw +jq-nt +ow-ix +eh-dn +cg-dj +bh-jr +hr-px +md-hi +nr-yb +wl-lj +xn-dh +br-rm +vx-sk +vw-jm +za-ka +ww-et +el-pb +re-zm +nf-af +gh-pk +tb-wf +wi-bs +qc-hx +eg-kc +bd-dk +ml-vs +xa-wk +by-li +jz-at +lo-my +od-jf +jb-rq +kt-dg +re-ma +nt-gl +kd-ro +dt-rx +hc-wy +ry-jf +ml-fr +ev-qi +dn-im +xp-ez +ko-dk +ez-sd +vv-ti +vl-hx +ai-qw +gm-du +ga-ey +jz-kc +wt-nr +ee-ib +wo-jt +cy-ba +xj-fm +fq-ac +am-nc +fo-lf +iq-js +rz-ii +bs-vr +vz-uk +ec-mg +dg-bg +ev-hk +sy-yx +gy-ar +kv-vq +wc-vq +gl-pj +hb-vm +ee-hq +ue-wy +md-cq +ig-vl +hd-qo +ja-qy +qa-wd +ef-vm +hc-qt +pz-dn +tc-vi +ma-zm +xr-kk +xf-sy +mh-vx +jw-ok +zx-tg +be-pj +ok-vs +ai-oh +ez-oo +wa-mr +fg-wm +uk-lc +ir-dk +lf-qg +rj-oc +bi-ol +dk-tl +ln-ve +gf-eq +du-ya +dz-kq +yw-go +dr-qj +jd-jo +xm-pk +ew-so +bv-cl +nd-up +fh-ox +nd-gi +az-wo +lp-rz +hz-hx +mj-va +ob-wj +px-dw +kw-yc +it-iu +lc-eb +ji-hn +jo-lg +vf-cd +dl-le +ol-cd +fo-wg +nn-pt +zi-vr +kx-rw +br-oy +qk-be +wh-yq +xj-ia +ig-js +at-zr +ti-zx +tl-ir +ok-kp +dl-lr +fx-ej +cp-fy +lc-nr +rq-lx +le-cr +jf-if +ar-wv +oq-bf +sz-fx +mn-ub +hn-pq +ea-ij +iw-xr +zp-qk +ek-da +vr-ak +hk-bx +ux-tg +gg-fp +qy-qv +td-ej +rx-xl +yi-im +wr-rq +pe-co +zf-wv +xk-yc +gm-ya +co-pd +qj-cc +li-dz +wz-zh +ix-xj +eh-qv +rc-ve +cm-vl +jj-dz +ev-bx +wi-ix +mq-ky +nh-vw +qi-am +rh-jq +gp-dy +bj-qy +ec-qp +kt-ao +ik-vw +qc-cm +nk-xc +wo-mn +wv-af +tn-fp +eq-zl +el-wn +nb-gu +dd-ei +et-go +cp-yi +bo-dd +ct-be +od-va +ou-vs +aj-dy +rj-uf +ye-dt +fc-gl +tt-zw +bn-nt +yd-mw +mo-cf +se-cr +go-ej +ez-fh +jp-um +kc-eo +wa-fd +wk-bm +be-oi +vr-xj +lz-yd +ix-ia +ln-en +bt-ml +uo-mq +tm-sg +ut-it +xf-dh +td-ro +fg-no +ig-ga +ji-pq +pf-md +fi-fo +sw-yp +hy-vm +yb-tt +zi-ia +jr-no +dz-gk +wz-su +rw-ht +oy-wm +jm-ca +zy-oh +cy-yo +fd-my +or-ol +yu-wh +wv-gd +nl-qw +hq-xn +qx-yy +ur-rj +up-um +pt-ob +hy-xc +ey-la +cq-ss +cq-uo +pn-ms +ni-nv +uv-tk +hi-pf +ut-bg +mi-ue +zh-ti +eg-lb +bj-en +qj-bx +cw-jt +wt-tf +gl-ms +ri-uy +jv-xr +mm-xf +uh-dk +tu-az +zu-gn +tn-pe +oz-pu +ks-yo +sh-hf +le-eu +hl-pb +ck-qc +oz-pw +ch-tm +zv-ea +gn-jd +vg-ym +ec-cp +xj-uj +kc-cx +qx-jd +br-wm +dk-pt +mm-nt +vp-uf +np-ng +fy-lt +yh-wk +cd-bf +kd-fx +ei-ew +ld-lz +vx-xb +lt-pz +jw-ou +ak-zi +hl-ny +jw-sg +pt-wj +gp-ci +fi-lf +nh-ca +kw-sl +fw-ms +ln-ja +hz-ig +ky-cq +xj-bs +ue-ej +gy-rd +or-pw +bs-zi +sl-ya +xa-ni +ac-bv +ri-ci +ve-cu +wu-lh +td-fx +xz-op +re-xl +ca-sh +ap-sl +pp-sh +ek-lc +se-uh +xy-je +rx-ut +tt-ek +jb-so +wk-cf +yt-cb +za-yo +dq-yp +zu-mb +vk-ci +iw-fw +vf-ol +fm-ak +wy-et +nt-yx +xr-tu +zp-gr +cr-sp +ly-yp +bm-yg +kw-mk +bn-qb +xb-aj +cp-kf +dy-kh +um-iv +um-qn +hv-ci +kq-zs +zl-xm +rc-qy +jv-iw +cy-fg +xp-wq +uy-wf +ga-iq +nz-pd +zq-hq +yp-lo +io-yj +xj-ow +tt-hg +fg-lq +bm-tc +zw-yb +ky-tb +ad-se +li-ze +ee-cu +kx-tk +if-je +dq-aq +nh-ik +fb-ip +bm-ex +gn-ug +ec-kf +ga-hz +ny-el +fe-hk +jr-wo +nd-qn +kc-fo +xi-gm +rh-mm +af-lu +um-ed +ti-io +ya-mk +hq-mw +jx-hd +xp-ao +mn-tu +ky-uy +yd-px +ur-bz +ji-ct +mi-wy +xf-xn +jv-vr +gm-sl +ek-uk +ei-ev +gr-hn +hk-cv +lo-op +cb-li +rr-ym +aj-vx +uv-jv +dh-kf +bf-bi +kd-wy +jd-ql +mg-ke +xw-zx +bv-ug +zs-gk +di-rz +ok-fc +lj-zp +tm-ns +qc-iq +vk-zu +sh-vw +cl-zu +pm-qk +oc-cz +nb-gi +qp-ke +nl-kp +od-if +ik-hg +kn-qy +qq-xm +lb-jz +de-zy +co-ds +nk-hb +xp-yy +nk-da +xf-bn +jb-ei +yx-fz +do-ba +oo-wq +de-bg +gd-ea +br-ka +xt-th +jw-qr +kp-jz +my-sw +aq-jf +br-lq +eb-mx +cm-ga +ly-op +kv-rc +nc-jz +en-kv +ak-ia +or-bi +mc-ww +ve-xx +lr-fc +tk-fw +ci-ui +yt-nq +vx-vk +al-tz +tz-kx +sv-mk +oy-ho +yh-ni +cg-sh +dq-cc +qc-js +eu-cr +ik-cg +ry-rd +yq-jb +zw-eb +wh-dd +pb-qj +fz-jq +wa-my +vr-ow +qk-lj +sc-aj +mr-op +hc-oj +sw-xz +ko-tl +re-tg +op-tj +go-wy +wd-qc +wy-sz +tu-wd +wj-te +mx-no +zx-ep +ti-ml +ij-af +lk-ob +ld-wc +wq-yy +ov-ym +bf-vf +zl-hw +ld-oj +ti-fr +mi-td +gb-uf +gi-iv +im-ke +wk-ex +qg-fo +aj-mh +xt-li +rc-ln +pk-ov +tf-pv +my-op +uh-ko +ks-fg +cm-la +yb-ek +lu-nf +kk-kx +mo-zn +il-yx +dq-pb +cq-hi +mf-tc +nk-ef +hw-dz +qq-eq +ww-oz +vk-ui +oi-qk +zt-lr +bu-mp +wu-cv +in-jj +dl-se +se-vu +lq-cy +rl-oj +pf-ri +qv-xx +pd-fp +fg-ho +oz-vf +ip-da +oo-cb +in-xt +mw-ee +iw-rj +kt-zy +oz-cd +gr-oi +pv-lc +lq-ks +xm-gf +jo-ug +ja-bj +qb-jq +yw-km +zr-kp +hv-xb +vw-er +zc-da +eb-pv +jq-xn +sd-xp +nn-dk +vv-ep +uz-aq +ob-gg +tu-jr +mc-cd +mg-im +uq-ly +wd-no +xu-je +ux-xl +hc-lz +dy-ui +rz-cz +kv-ve +mx-cw +xa-ex +qn-ed +lf-zq +yh-yg +yv-vb +kk-fw +gb-di +oz-bi +ut-tg +tf-yb +du-sv +ai-do +lu-ar +fm-uj +oi-pm +nm-sq +kf-pz +cq-tb +zp-be +ty-yl +bz-tp +ln-xx +je-mj +uz-ny +gg-tn +zq-ib +ze-th +oq-pu +bu-pe +cq-vn +ss-ky +xn-yx +ir-yl +zr-jz +tz-xs +da-ef +np-nk +ej-ib +nv-mo +ak-to +sr-qq +bs-to +at-nl +rz-rj +og-nz +ox-yt +tc-ex +ca-hf +oj-dw +cg-hg +nl-lb +xp-qx +ba-bg +gl-qr +rr-sq +iq-hx +ya-ge +wt-zw +yg-jc +cu-zq +pz-im +to-zi +lt-yi +ge-xk +wm-yo +qr-ok +mp-fi +ol-oz +cz-uf +uz-pb +it-pw +en-eh +ml-zx +jq-uo +qk-gr +oc-tp +cz-di +bd-lk +jf-va +kh-mh +ix-to +hk-wu +zc-hy +gr-ji +ij-es +hw-gf +ld-ua +qb-yx +yl-nn +rq-ei +fq-zu +jo-gn +jc-yh +yl-pt +yi-fy +ib-bq +ue-kn +px-rl +nh-jm +nc-eg +jw-vs +pz-ke +aj-gp +xk-mk +uz-po +cr-sq +hs-io +uk-tt +yy-oo +zr-ah +ii-cz +rj-vp +lo-uq +qp-lt +se-eu +zt-se +ri-ss +lq-hh +dw-yd +mk-ap +ek-pv +qo-hk +ig-vz +hh-zs +lp-oc +gr-wl +el-dq +hy-ng +um-yv +km-kt +hq-qg +vx-dy +fx-yw +vv-xw +mi-ej +bi-il +wa-cd +kw-du +tw-nm +vm-ng +ue-km +bu-pd +ga-hx +bt-ti +bd-ir +yu-jb +ub-mx +xl-tg +kq-in +ba-ai +tp-dg +el-uz +pu-cd +ss-lw +qg-wg +ej-km +ty-xi +uh-ob +ub-bh +ck-hx +ni-cf +ze-gk +no-mn +ed-jp +kx-kd +rn-lq +oi-hn +su-de +mg-ra +oo-uw +uw-eq +xa-tc +qp-kf +tf-ek +vi-uk +fw-tz +fp-bu +rn-cy +yf-av +fh-yt +xc-ip +je-ps +lt-cp +co-gg +ii-oc +wl-ji +vz-zw +tj-sr +bt-zx +vg-eq +ha-tn +tu-mx +zr-td +ka-ho +mp-qg +wh-ew +pt-ov +pj-ji +ue-td +cs-hd +er-ca +ah-lb +ps-va +cc-hl +pf-mq +gp-gh +hy-ef +tz-xr +ei-wr +en-kn +ej-wy +vb-yu +sl-kh +fy-ec +hn-pj +um-gu +ku-sq +eq-gh +dh-sy +pz-cp +az-jt +it-dt +qr-ol +gp-xg +ms-fc +kw-xk +ri-cq +hv-sc +gl-jw +lw-wf +ka-wm +ds-tn +dh-fz +oy-hh +ef-xc +or-ww +sr-gf +vk-dy +yn-mr +ec-pz +ss-hi +gi-ed +uj-to +je-av +wo-tu +cc-wn +vp-bt +ee-dj +da-np +bz-rz +ty-ge +yg-ni +vp-ur +hz-iq +nn-bd +sp-vu +ir-ob +hh-ho +km-hf +px-rm +wr-dd +ly-yn +bq-lf +gl-pn +ry-yf +wc-ua +lj-pq +wd-bh +du-ge +ar-tw +hf-cg +sz-km +zc-vm +og-pd +bk-xn +ha-pd +af-uq +ib-wg +fg-oy +lp-cz +ja-rc +cm-lx +ox-cb +de-dg +sy-jq +bk-xf +dn-ra +mo-jc +mm-fz +wn-yu +vs-fc +di-ur +zc-np +gm-ry +lk-dk +jv-tz +my-xb +gc-gg +zf-af +lp-vp +hh-cy +cb-fh +wy-ro +ua-hc +ik-sh +ly-mr +oh-uv +ri-mq +ec-qt +kc-kp +mb-ql +nl-jz +to-ia +ma-vj +vf-pw +ns-ch +uw-if +wu-bx +ho-ht +vl-ck +zy-do +tp-di +hr-rm +js-cm +qp-ra +gi-nv +lg-um +vk-aj +tc-yg +jt-mn +pm-ct +qq-pk +be-pq +jo-ku +vi-nr +nv-wk +rx-iu +co-xm +qc-lx +gb-ii +xx-eh +yd-oj +pn-vs +bf-or +bi-vf +qg-cu +pu-ww +la-lx +ir-es +tm-pn +tz-rw +xf-qb +er-dj +xt-zs +xc-fe +lc-di +lh-ev +ku-mb +jm-ik +mj-eu +hw-ov +wp-ix +np-pq +ka-hh +wr-vz +vw-hg +xg-kh +bq-fi +bn-mm +mm-jq +tt-nr +ra-lt +hr-ld +ku-zu +tf-lc +jm-sh +xc-ng +gl-ns +yx-jq +bg-su +uf-ow +ck-js +av-ps +fz-qt +ar-af +ga-js +fg-yo +to-ow +hv-ko +al-ww +yj-ti +ez-cb +tp-rz +kp-nc +uh-lk +tm-vs +ol-pu +cr-md +kn-ve +il-oq +kq-fq +po-hl +ah-nl +vn-mb +xp-nq +za-hh +bg-zy +nq-oo +or-cd +fq-ug +qq-zl +ja-en +la-iq +rl-tk +lk-tl +kf-im +eg-jz +jq-xf +lk-nn +gb-cz +mc-rq +ar-nf +oq-ip +lg-iv +sw-yn +lr-vu +jt-jr +zc-fb +dr-ha +qv-ve +rc-vq +an-jj +lf-jr +vg-qq +ek-vz +sc-xb +zu-vn +jx-cs +nn-ir +vm-np +ns-ok +bs-ow +ro-ue +sc-dy +gc-ar +fz-sy +zs-jj +oq-pw +jp-gu +tu-cw +gl-ch +mx-wd +ug-ac +sp-se +yn-fd +qo-bx +ko-nn +ks-cx +ad-pd +nb-la +gu-iv +nm-zt +il-oz +yj-bt +vr-uj +pw-bi +ux-ji +pm-gr +ug-jd +dq-dr +ky-wf +tm-gl +pf-lw +if-xu +vg-gh +lk-yl +jf-mj +go-fx +ar-zf +mf-mo +in-th +cc-aq +uj-ix +zl-gf +so-zn +co-fp +yh-cf +mq-hi +cy-ho +oo-yt +pf-ss +za-fg +vs-ch +ak-ew +oo-pe +lp-di +gi-yv +vp-gb +ch-ou +um-nb +rw-yf +ev-fe +er-sk +ky-ri +ae-xx +xi-mk +mn-qa +rr-lr +ua-rm +oi-zp +fo-hq +go-sz +xx-rc +ox-xp +wi-ia +bv-jo +sg-gl +at-tx +kd-ue +dz-th +iq-ck +bf-pw +cb-sd +js-vl +vw-cg +xm-tj +ho-za +zy-ba +cd-ww +no-jt +or-vf +vu-sq +ct-zp +zn-dd +tg-vj +eq-tj +pm-pq +nr-tf +uv-kk +hn-be +wg-bq +bh-tu +mb-gn +mf-xa +pb-ya +ps-od +ue-sz +sg-ns +yd-wc +fd-yp +op-uq +vu-ad +hg-nh +mn-bh +in-zs +fo-zq +nv-ex +tj-hw +og-pe +xa-bm +ha-gg +qy-en +yn-yp +ia-bs +be-lj +xs-eg +ov-eq +cz-bz +je-yf +pe-fp +wv-ij +go-yy +zw-lc +xc-ae +ux-iu +wj-tl +xy-od +kq-bu +yi-wv +jt-qa +cm-hx +ii-ur +kw-xi +ha-fp +kd-mi +pp-cg +le-gb +nq-yy +ty-kw +rr-se +so-ei +mg-dn +nc-lb +by-dz +dr-cc +rc-eh +ac-vn +ee-fi +bk-bn +rj-cz +vi-pv +kv-qy +ml-zh +oh-qw +vq-en +tf-tt +cq-pf +pk-eq +eb-vz +ui-kh +wa-qe +wy-km +bi-ww +lt-dn +zv-nf +qy-eh +jo-cl +zi-uj +zf-zv +di-oc +zc-wk +mo-bm +qe-sw +po-aq +dl-vu +ef-ip +wm-za +km-et +yd-hr +tw-ea +fb-gu +sn-du +fg-rn +ke-lt +jx-qg +gg-og +nl-eo +md-ri +ty-ap +bt-sn +cr-zt +uv-rw +dr-hl +td-yw +ot-ny +xy-jf +yv-iv +ya-xk +hn-lj +hc-rm +ln-bj +by-un +ds-dc +am-ev +fp-dc +bx-qi +ds-nz +uq-xz +rh-xn +co-og +ke-ec +vb-so +ng-bo +lz-dw +um-on +sw-wa +ey-cm +iq-ja +de-oh +an-gk +gk-in +xy-yf +wv-zv +re-kk +ka-fg +kh-vx +it-re +vr-ix +zh-sn +pn-ok +ti-ep +hh-br +ip-hy +wq-uw +ox-qx +vn-ug +yx-xf +uo-ri +uj-wi +fd-op +wi-zi +cq-lw +ek-zw +va-ry +vm-fb +kv-qv +ym-xm +dy-ci +vz-pv +ty-xk +co-ha +wg-ee +qw-wz +ku-ug +ri-hi +bq-qg +mq-md +fm-to +cv-fe +bt-hs +io-vv +vn-fq +zf-gd +wa-lo +ms-ch +mq-lw +ua-lz +jb-wr +jc-ex +nb-jp +wc-px +gd-gy +nf-ij +pw-ww +ng-ae +cl-ql +pf-uo +pd-tn +ds-bu +ae-fb +cf-or +re-iu +lu-gd +ap-xk +pn-ou +vr-ia +zn-yq +ly-lo +cp-ke +ci-xg +sd-fh +nb-on +lc-wt +oh-bg +ik-pp +dy-mh +uq-yp +hc-wc +xn-fz +cr-lr +so-yu +rj-ii +ix-ak +yf-rd +wr-yu +ob-nn +bf-oz +ug-ql +ox-xg +oz-mc +la-ck +gi-um +ez-yt +vv-fr +rd-mj +gp-vk +do-kt +xg-nz +yc-ty +sy-bk +lc-vi +kq-jj +vx-ui +li-an +gm-sv +dd-nh +vi-yb +ir-uh +zm-sz +tz-ht +wj-ir +mc-oq +ui-aj +lt-ec +qq-gf +ya-ap +zr-tx +jz-rh +jf-av +yq-bo +yi-ra +bs-ak +su-ba +za-cy +zm-iu +ke-dn +pt-ko +wl-bi +iu-ut +pb-wn +fi-wg +ym-gf +tg-it +jv-al +dw-wc +fq-ku +tx-nl +nb-ed +kf-yi +xr-uv +zx-io +zt-dl +za-oy +en-rc +oo-xp +ro-rn +qt-px +oy-rn +tm-fc +xb-gp +hf-nh +xw-hs +ny-aq +br-fg +ub-jr +zn-jb +eo-vl +mb-cl +oy-vp +gm-ap +wj-yl +sl-ty +if-yf +xl-vj +di-rj +ol-mc +zm-xl +el-qj +pu-bi +lh-fe +tw-zv +dl-nm +hk-lh +uh-wj +hb-ma +tx-eg +kc-nl +ug-cl +un-jj +up-gu +qq-ym +vl-la +wj-nn +xa-nv +ij-lu +ac-jo +gy-zv +nz-bu +bq-cu +tx-en +nt-bk +og-tn +sc-ci +kk-al +ni-hz +wi-vr +pp-hf +ci-mh +uj-iv +nr-pv +ry-xy +er-cg +qq-hw +am-fe +lo-mr +ak-ow +ze-an +ou-ms +cc-uz +wm-ks +xm-sr +ch-qr +nf-es +ks-ka +lo-sw +xz-yn +ej-yw +yt-yy +xr-xs +oy-cy +zy-su +im-qp +aq-ot +se-le +zx-fr +xt-by +hy-np +eu-sq +an-xt +lb-kc +be-ji +zq-wg +vv-ml +jw-tm +by-th +pt-lk +ou-qr +qa-lb +fq-jd +td-wy +fy-ai +ua-dw +mf-yg +rx-tg +rn-ho +wd-vq +wj-wf +fh-uw +pd-pe +jj-xt +bm-ni +iu-tg +xl-dt +ip-np +mf-nv +gh-tj +tw-lu +ry-od +lg-on +gc-tn +pu-vf +zp-hn +vx-gp +ql-ac +tw-gd +xx-kv +su-ol +bx-fe +xi-ge +nm-vu +yw-sz +zi-ix +cl-jd +yq-so +ds-gc +gh-sr +kq-li +te-nn +pd-ds +wr-ew +fd-sw +nc-tx +sd-yy +zh-ep +eq-hw +pj-gr +go-ue +fc-pn +lo-fd +ua-az +qo-xa +nr-uk +wz-do +mw-fo +hn-ct +oi-pj +iv-jp +dr-po +va-if +sn-ep +ug-mb +up-iv +uy-mq +og-ds +rq-dd +uo-ss +yu-ew +ml-hs +jw-mi +ly-wa +iw-ht +wv-lu +in-bd +zm-rx +eh-kn +ex-mo +bg-ai +zx-yj +fo-ee +xa-ln +kq-by +do-oj +ib-lf +sz-mi +bf-pu +vl-hz +bv-jd +js-ac +op-sw +rr-dl +sd-uw +ba-dg +qn-gu +cu-mw +pp-dj +tf-vz +sw-mr +yp-xz +wl-zp +wn-aq +yl-dk +hf-hg +rz-oc +it-ye +ja-ve +tw-ij +lk-cc +ai-kt +jm-dj +nl-eg +ho-wm +et-td +ns-ms +ee-lf +lw-ri +nm-eu +ad-le +uq-fd +fx-wy +cz-ex +gn-fq +kk-tz +ma-ye +sp-th +hy-nk +za-ye +fh-yy +so-dd +pn-jw +nt-xn +lt-mg +it-ma +et-ej +bo-rq +lr-ad +ei-yq +lp-gb +po-wn +re-vj +ho-ks +uv-ht +yl-bd +wu-qi +og-bu +su-qw +kd-bn +dk-ob +pf-tb +qr-vs +ij-ar +gc-co +qi-hd +cp-ra +tb-lw +dr-el +gd-nf +ey-js +el-cc +la-hz +ha-og +cs-jp +uf-rz +gy-zf +kx-ht +ym-gh +fm-ia +ml-yj +hw-pk +jc-xw +cv-hd +dz-un +xm-gh +hc-rl +vq-kn +th-li +gn-bv +ur-gb +gn-vn +hq-ib +cr-ad +su-ao +qn-on +ps-jf +ct-pq +xz-ly +sn-ml +ra-ah +fq-ql +wc-rm +iw-tz +oo-sd +ze-by +zu-ac +er-hf +wq-yt +dc-ha +jx-wu +mj-xu +br-yo +wg-la +qj-uz +sn-ti +xu-jf +yp-qe +mm-dh +ez-qx +bx-hd +lx-hx +cw-qa +rd-od +jx-bx +fr-hs +jx-fe +ny-po +nz-gg +ex-cf +vz-yb +mr-my +bj-kv +ra-pz +do-de +zm-tg +cz-ae +jb-dd +bj-ve +jf-je +zx-zh +xr-ht +ez-wq +ct-gr +eu-rr +iq-lx +hi-wf +rm-oj +zh-yj +lw-hi +nm-ad +in-dz +ql-jo +ns-vs +gk-th +rm-qt +bh-qa +dg-qw +ob-tl +mi-yw +ha-pe +lz-px +sv-xi +gg-bu +gr-pq +rc-qv +mn-cw +dc-tn +cl-ku +vm-nk +gb-tp +io-xw +ef-ey +gi-gu +ok-gl +vk-mh +ue-et +jr-cw +kw-sv +wc-rl +lo-qe +yy-uw +mh-gp +bn-rh +nh-cg +qq-ia +ck-ey +eu-zt +hr-oj +rd-je +js-hx +fm-ix +mi-fx +uw-nq +ds-fp +ao-bg +ir-lk +hn-qk +cx-kp +hf-sk +wu-fe +ca-pp +io-ml +xr-kx +wf-ri +mq-cq +wz-ba +sw-pv +jv-ht +pq-bm +ed-zp +ss-wf +ao-de +vi-ek +mx-az +bj-vq +np-ti +fx-wo +ib-cu +kf-mg +wc-lz +wq-sd +te-dk +xt-po +md-je +tk-rw +rj-gb +ap-yc +ur-uf +qi-hk +up-qn +yd-rl +bh-wo +ui-sc +lj-pj +vq-ln +ka-rn +pw-ol +cv-bx +qb-mm +zu-jo +ho-lq +hs-yj +uh-yl +fz-xf +wm-rn +qw-de +le-nm +no-qa +rh-yx +dw-rm +kn-rc +uk-zq +ov-xm +hq-lf +iq-ey +dw-hr +eo-ah +jr-wd +jx-qo +nv-jc +cd-oq +cr-dl +bq-fo +ei-vb +jt-tu +jm-hf +wp-vm +ao-dg +ei-wh +wk-mo +np-xc +sz-kd +qo-wu +yh-ex +eb-yb +tj-gf +fd-mr +fx-et +zi-xj +vj-ye +ng-ip +oc-bz +gp-sc +te-yl +ni-mf +xt-kq +iw-tk +wn-ot +mi-go +te-qe +cu-hq +bm-nv +jw-ns +sg-ch +ez-nq +jj-ze +mg-qp +np-fb +ef-ae +yo-lq +nz-tn +ue-yw +io-ep +tk-jv +tk-tz +qt-ld +xy-va +nl-zr +dk-wj +fe-qi +un-th +dw-rl +fw-xr +uw-xp +yy-cb +ow-zi +iv-nb +tt-pv +ot-hl +hv-mh +md-uo +dz-ze +zf-mb +qt-hr +uq-yn +xl-uj +ut-dt +xs-iw +lk-ko +hc-hr +hd-am +rx-re +iw-uv +kc-ah +tj-pk +lb-zr +bk-jq +hx-la +fb-ng +im-ra +lz-oj +sh-px +vp-rz +ig-ck +wq-qx +tk-xs +kc-zr +nl-nc +yp-op +yy-ez +hc-ld +wl-ct +sl-du +rh-nt +lb-tx +yc-cb +ub-wd +kk-jv +ln-eh +yg-wk +vg-ov +fd-ap +wa-uq +av-mj +uj-wp +md-uy +ei-bo +xx-vq +te-ko +yt-dl +ku-bv +on-up +fe-qo +vz-vi +kf-ke +xu-va +af-tw +cf-xa +rj-tp +gg-ds +gm-xk +ob-ko +qa-mx +bt-ep +xg-xb +fm-zi +ut-xl +cg-bh +zt-le +aj-hv +de-wz +ku-vn +tc-mo +zt-sc +jv-fw +to-wp +bz-uf +mc-vf +oc-vp +eh-vq +ny-wn +fp-og +wo-qa +xm-hw +ql-bv +zw-tf +eq-jc +pn-qr +lx-hz +gm-ge +tl-uh +qe-ly +hi-uy +hn-pm +iv-on +ng-ef +xc-vm +xz-lo +hl-el +qy-xx +lu-zf +mc-or +ee-qg +hd-hk +ak-wi +pd-gc +sq-le +fz-qb +hg-dj +tj-qq +nd-um +lo-yn +vm-ae +on-gi +fo-mp +el-po +bz-lp +ot-el +wk-ni +ye-tg +vw-hf +zh-hs +un-in +zt-sq +zq-fi +ox-yy +my-qe +sh-er +az-cw +qt-oj +rh-bk +nz-dc +gu-nd +sh-dj +bs-bf +xi-sl +ov-gf +aj-kh +kw-tn +kk-iw +qv-cv +yd-hc +vb-jb +og-dc +jj-th +kq-ze +il-vf +av-va +br-ks +mx-jr +wf-pf +wz-dg +sk-nh +vk-sc +kx-al +gd-lw +bj-rc +jp-qn +qn-gi +kn-ln +mc-pu +qi-qo +hf-ik +dt-ou +ps-xy +oo-fh +eb-uk +wu-cs +cd-bi +oo-ox +kw-ap +ep-hs +zf-ij +mn-jr +vu-eu +kh-hv +lt-lq +sr-hw +iw-al +ot-dq +ms-qr +pk-zl +wv-es +qo-lh +ot-qj +ut-zm +nd-on +wz-bg +kc-nc +ai-wz +xk-sl +vv-bt +va-je +cx-nc +oj-ua +qx-sd +dz-zs +jz-ah +wl-hn +nq-cb +oi-pq +da-vm +uk-yb +uq-mr +yq-wr +mj-od +po-ot +ng-nk +yw-kd +wq-dk +bq-mw +yq-vb +sy-su +xa-yg +hl-uz +ip-nk +nf-tw +qe-mr +ot-uz +ox-wq +rd-av +fb-da +uy-pf +ba-kt +xu-yf +hz-js +dw-rx +bk-fz +od-je +gr-nf +gm-yc +te-uh +ur-tp +dr-ny +eg-zr +mh-hy +yi-qp +aj-jj +ui-lu +rm-yd +ec-dn +yx-mm +zq-qg +vk-ry +ey-hx +ok-ou +zy-ao +vn-ql +xg-dy +eo-zr +ey-vl +tf-vi +sp-cc +ck-oi +hg-pp +bn-dh +sr-xk +uf-lp +wi-to +xn-sy +xb-ci +qx-cb +ra-fy +tf-zp +mp-cu +vb-ew +xy-xu +ad-eu +fy-ke +vb-wr +oh-su +dj-ca +dh-jq +zl-ps +vv-zh +oj-px +eo-lb +mp-ee +fb-ef +lj-ji +bo-wr +di-bz +fi-jb +zu-ug +vf-hs +iu-yg +gu-lg +eh-bj +nd-yv +dt-ma +hs-vv +fg-hh +ye-rx +wt-tt +yd-qt +zt-vu +lj-ct +ow-uj +af-es +cy-ks +lg-gi +sh-nh +zu-jd +vu-cr +nt-xf +pu-pw +wn-uz +gk-li +kt-qw diff --git a/2024/23/test b/2024/23/test @@ -0,0 +1,32 @@ +kh-tc +qp-kh +de-cg +ka-co +yn-aq +qp-ub +cg-tb +vc-aq +tb-ka +wh-tc +yn-cg +kh-ub +ta-co +de-co +tc-td +tb-wq +wh-td +ta-ka +td-qp +aq-cg +wq-ub +ub-vc +de-ta +wq-aq +wq-vc +wh-yn +ka-de +kh-ta +co-tc +wh-qp +tb-vc +td-yn diff --git a/2024/learned.txt b/2024/learned.txt @@ -10,3 +10,4 @@ List of things I learned (or refreshed) with this year's AoC. * Day 9: std::views * Day 11: if(init; cond) * Day 19: more practice with std::string_view for constant string +* Day 22: std::views::values for map (and keys)