aoc

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

commit 7f7981bfbafbea34fdd3d46791dc43cfb6ba73c4
parent d3cff0510e46c60b6d93e0852729ffd359b39e3d
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date:   Sun, 22 Dec 2024 08:54:33 +0100

Day 22 2024, but it's slow

Diffstat:
A2024/22/Makefile | 11+++++++++++
A2024/22/day22a.cpp | 32++++++++++++++++++++++++++++++++
A2024/22/day22b.cpp | 84+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A2024/22/input | 2462+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A2024/22/test | 4++++
5 files changed, 2593 insertions(+), 0 deletions(-)

diff --git a/2024/22/Makefile b/2024/22/Makefile @@ -0,0 +1,11 @@ +CC=g++ -std=c++20 -g -Wall + +a: + ${CC} -o a.out day22a.cpp + ./a.out + +b: + ${CC} -o b.out day22b.cpp + ./b.out + +.PHONY: a b diff --git a/2024/22/day22a.cpp b/2024/22/day22a.cpp @@ -0,0 +1,32 @@ +#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; + +int64_t next(int64_t n) { + constexpr int64_t M = 16777216; + n = ((n*64) ^ n) % M; + n = ((n/32) ^ n) % M; + n = ((n*2048) ^ n) % M; + return n; +} + +int main() { + int64_t s; + int64_t tot = 0; + while (cin >> s) { + for (int i = 0; i < 2000; i++) + s = next(s); + tot += s; + } + cout << tot << endl; + return 0; +} diff --git a/2024/22/day22b.cpp b/2024/22/day22b.cpp @@ -0,0 +1,84 @@ +#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; + +class Seq { +public: + int64_t k; + + Seq() : k{0} {} + + Seq(int kk) : k{kk} {} + + Seq(int64_t a, int64_t b, int64_t c, int64_t d) + : k{(a+9)+19*((b+9)+19*((c+9)+19*(d+9)))} {} + + Seq(const vector<pair<int, int>>& v, int i) + : Seq(v[i-3].second, v[i-2].second, v[i-1].second, v[i].second) {} + + int64_t operator[](int64_t i) const { + int64_t d; + for (d = k; i > 0; i--) + d /= 19; + return (d % 19) - 9; + } + + bool step() { + return (++k) < 19*19*19*19; + } +}; + +int64_t next(int64_t n) { + constexpr int64_t M = 16777216; + n = ((n*64) ^ n) % M; + n = ((n/32) ^ n) % M; + n = ((n*2048) ^ n) % M; + return n; +} + +int main() { + int64_t s; + vector<vector<pair<int, int>>> spc; + vector<map<int64_t, int64_t>> tt; + set<int64_t> seqs; + + for (int i = 0; cin >> s; i++) { + spc.push_back(vector<pair<int, int>>()); + tt.push_back(map<int64_t, int64_t>()); + + for (int j = 0; j < 2000; j++) { + int64_t t = next(s); + spc[i].push_back({t%10, t%10 - s%10}); + s = t; + if (j >= 3) { + auto k = Seq(spc[i], j).k; + seqs.insert(k); + if (tt[i].count(k) == 0) + tt[i][k] = spc[i][j].first; + } + } + } + + Seq seq; + int64_t best = 0; + for (auto k : seqs) { + Seq seq(k); + int64_t tot = 0; + for (unsigned i = 0; i < spc.size(); i++) + tot += tt[i][seq.k]; + best = max(best, tot); + }; + + cout << best << endl; + + return 0; +} diff --git a/2024/22/input b/2024/22/input @@ -0,0 +1,2462 @@ +9934779 +2152381 +503629 +16463157 +6604765 +10656550 +14732578 +1521218 +16374827 +10971068 +482403 +5712888 +2066009 +3554443 +12260252 +15389653 +15247095 +8662566 +9761795 +306878 +1733065 +6289511 +7527385 +12802412 +5712214 +1008199 +6571712 +1150493 +6399094 +16132129 +1385556 +1158173 +16065247 +13185959 +10781917 +9511646 +7591752 +3451813 +9242364 +6788303 +12055918 +10107205 +979884 +11530140 +14020629 +2080524 +8588050 +5794072 +2576002 +7518216 +13279182 +11171757 +3766541 +14300642 +11070388 +3670046 +9234733 +3980154 +4778724 +15625744 +14227994 +4479392 +10198377 +15791857 +11383603 +7269652 +8627865 +11955391 +3402887 +3289748 +2746454 +7581049 +11720565 +1095717 +13054616 +7184924 +15511765 +11746265 +13658208 +195201 +6346567 +13736363 +8373839 +2772950 +15633943 +13003922 +2895870 +2251492 +2356169 +11107610 +1880849 +4428810 +16388524 +5773838 +14525926 +4806003 +7319513 +7256174 +14220936 +13812460 +10659259 +14516238 +12419428 +11334296 +600779 +1809280 +10369274 +9082054 +9348164 +8893887 +12321928 +15498305 +3373942 +12949507 +16311891 +13408663 +16026670 +11108278 +5422830 +3686442 +9702061 +12503323 +13841527 +8372518 +15379742 +3065979 +2047835 +13878277 +6894548 +922352 +4263132 +4281282 +10739333 +12817123 +9774576 +10666128 +1517974 +3159095 +7459549 +1078678 +886193 +15004380 +12190750 +3493419 +9847918 +3077389 +12866510 +8993728 +3755589 +2818783 +615215 +11006706 +1996806 +15015972 +8032571 +16218131 +15697910 +15918496 +14493072 +5355503 +7189542 +533650 +12132715 +6860213 +5118950 +4173131 +148117 +8589410 +11562286 +7282768 +2155906 +13901441 +12811122 +4487890 +1021959 +9057216 +6844376 +5416119 +4835418 +5213788 +1624541 +10047895 +15480861 +168031 +14842688 +3852279 +6167672 +11482974 +13160879 +13301007 +12203575 +3093103 +16442344 +15861747 +16384816 +15955739 +3151381 +10792848 +16416765 +352312 +5421499 +6235239 +8063578 +16579266 +1146938 +16194283 +3525685 +12403262 +1151686 +9988044 +15589807 +12098941 +13551582 +5827856 +9442303 +12333890 +5387175 +15325153 +15117366 +1886657 +6145550 +1074268 +8742576 +8735170 +10868330 +15562822 +8783298 +9763830 +548958 +8992953 +1979418 +3461612 +13682643 +9382675 +2316292 +11076130 +13740666 +10874958 +12870756 +13026469 +13335245 +13290722 +4623909 +9093641 +9845616 +10231762 +4702273 +15519141 +4524290 +12774180 +10328426 +6466667 +3769220 +9402439 +1132481 +14034996 +5988174 +1762623 +494804 +14455235 +6827776 +10456375 +7479654 +11042715 +1444885 +11299419 +13326664 +5524041 +283068 +15595557 +4966098 +14095821 +1363233 +6952774 +12412712 +8884360 +15546077 +911202 +1834936 +10008662 +6984236 +6781281 +13463022 +8686414 +6045578 +5062639 +3675986 +1016101 +1093795 +6417661 +8060335 +11587909 +13515525 +12206991 +10454043 +10028585 +5012674 +8367896 +7287315 +7548423 +14619131 +14099913 +10548480 +15495270 +11101107 +8850405 +6224315 +1908204 +10518120 +12788722 +5202644 +3012727 +7141814 +11851016 +6242433 +381803 +14276856 +3313142 +10575914 +4881438 +4929280 +1129464 +10821292 +13346386 +11322402 +6731530 +15428976 +5916118 +2315614 +5820010 +14545525 +12716705 +2010371 +7601907 +3707499 +7189775 +12675146 +11838523 +1178863 +6265438 +15841582 +2428426 +16706018 +10697478 +5759101 +14340034 +5095105 +8346398 +13420644 +4782002 +12199851 +14947797 +1094563 +11719404 +4646069 +14300570 +14659727 +10633308 +9989336 +12474562 +8116295 +6896926 +4790169 +13079325 +11979214 +4636129 +14678345 +4531804 +13643169 +8234816 +15431268 +14959118 +8601594 +1438264 +6190409 +12682857 +12631625 +9897181 +5301542 +12001387 +1339008 +15391319 +6728077 +4912957 +11310219 +13087428 +10464957 +11114620 +1952487 +3617878 +1541947 +14729086 +2821719 +9096477 +2112196 +833934 +12751324 +14875017 +9133379 +662243 +7849601 +15149135 +969920 +15246327 +6326826 +1258167 +16647105 +500222 +3522665 +2214327 +2712833 +10165573 +6668403 +7824933 +15507867 +901779 +15174294 +12185225 +12644158 +15298249 +13114879 +2533514 +9927729 +13419413 +2851960 +15831255 +15461969 +8728159 +14757008 +5297086 +8387638 +10790216 +1333986 +9104406 +8046637 +5193397 +13121670 +10456864 +13024914 +11809698 +6170189 +4703276 +1489014 +12202467 +3756597 +15970193 +10560369 +12506727 +1072536 +11150155 +1983410 +738965 +13004487 +12451328 +7559490 +9441307 +14550857 +5235886 +9226410 +12416416 +12130448 +10136930 +9395432 +275019 +7092993 +11318148 +8945880 +15758153 +2276893 +9875986 +15651794 +8885057 +7412774 +3483393 +16180342 +11805956 +15974125 +4441715 +12255282 +1607337 +6749822 +8738318 +15137299 +10738178 +11916325 +12923356 +15162142 +3178550 +13130930 +14261862 +5479752 +2724436 +221980 +3432591 +12491723 +4463824 +372861 +15690925 +5323623 +13553127 +10266400 +13698272 +10559132 +9196639 +6034302 +6526033 +9889983 +1686077 +16215885 +4248370 +15907401 +13814711 +8050532 +15087541 +12321878 +16720652 +1993934 +4387850 +11869405 +402348 +4914053 +13460107 +9954222 +3098551 +10861931 +8585412 +15386036 +15808495 +9276791 +870847 +11285371 +8889542 +884159 +11716924 +11246927 +10323367 +3250644 +4171254 +9887191 +4185671 +15777258 +6896112 +5310245 +14772068 +13719989 +4902642 +1137124 +3032405 +865060 +6521837 +922933 +16415086 +14729497 +13574113 +3099746 +7270546 +7237643 +3809553 +15024280 +12799741 +16087468 +1424873 +3757094 +11209958 +7228679 +882917 +13874637 +501364 +5745979 +15801337 +9486597 +9627980 +358814 +8111029 +11591411 +5603340 +8374854 +493613 +15320859 +3165680 +11071251 +217867 +6250941 +3530789 +6792419 +12759247 +4555756 +11922559 +12921911 +14655552 +8995403 +5872540 +10550670 +13393992 +14933612 +6694113 +10535354 +14576465 +4016047 +13193821 +16289526 +14594299 +14085714 +13825836 +4507103 +9751963 +9312858 +9679256 +1657710 +10005362 +6695620 +12503341 +3491307 +4615604 +8249381 +9845948 +13724183 +9151181 +2958292 +2859836 +637752 +2423558 +4805943 +8729026 +3689316 +8893651 +8912319 +16299442 +13625646 +8110425 +6655113 +959175 +3609616 +5018786 +6637695 +13260242 +16537886 +4881915 +7708217 +5608589 +8791338 +12269662 +8200597 +2305642 +16312383 +14526902 +10196338 +11654895 +15945537 +3875787 +9097622 +2891249 +15174589 +6235181 +12053277 +9986503 +10471011 +1497926 +281206 +9513350 +1019430 +8296166 +4638241 +3032679 +9663484 +11701255 +7343879 +16189819 +5249313 +4259738 +12457312 +14531356 +4148018 +13248521 +10362792 +9970133 +11656637 +6331137 +10576699 +10447829 +12565473 +2823586 +7703463 +6633090 +6102332 +14410429 +9174479 +3412084 +9652175 +4269074 +6830671 +15063174 +10433459 +2718364 +244399 +15683287 +3118382 +4634653 +2843159 +11429632 +10163554 +12698321 +16136272 +468006 +5972247 +15930613 +8976379 +14257219 +14216972 +4017752 +6163172 +3307114 +9104391 +8865661 +15934572 +10312917 +11159879 +6272557 +9616872 +1836296 +5644814 +5278532 +11173605 +4107171 +7712268 +9841545 +11796243 +6468637 +3397561 +2097700 +2913419 +2999338 +3989350 +13550782 +9020146 +8201295 +949344 +11880695 +15913449 +3311860 +7548328 +13945339 +884445 +1486370 +13605361 +12834121 +7203641 +11727395 +16149231 +6242445 +2707344 +9776461 +975311 +2234738 +6181427 +3675487 +6314344 +5348555 +13635353 +14126648 +876012 +10038796 +16608234 +2440691 +1720607 +2940011 +1914968 +14337287 +16573607 +2765090 +8096936 +10758498 +12491199 +3101781 +12157401 +5618539 +16164259 +8236314 +8291143 +5323328 +15688732 +8730286 +10589490 +13031325 +4181278 +4663980 +16036105 +15884448 +6876897 +12664642 +10892204 +9503916 +14471914 +6001387 +6090340 +3773661 +8540482 +15470080 +2757750 +15899029 +16716210 +10237881 +6066373 +11669262 +6481420 +12419238 +16421903 +12460610 +10140297 +4733597 +11856057 +14017257 +164075 +15193685 +3213369 +10216177 +14884992 +11967327 +1344397 +939380 +14874443 +16421178 +7681820 +8582161 +11972427 +9206113 +9592522 +15998774 +14607785 +16573418 +5245918 +15206950 +11577232 +15926293 +7475100 +3005258 +8346033 +13959598 +8662642 +11559611 +13431563 +15415427 +12297104 +16261394 +10369286 +8577635 +12623822 +11330795 +11012630 +8969034 +6206389 +15479780 +11525135 +6812692 +10217296 +13126041 +1047475 +12066825 +9029262 +11653479 +11756458 +2739718 +14465405 +9245911 +7483574 +6299794 +241883 +10515717 +3985432 +3031645 +1133551 +13455243 +14907954 +9545706 +6826155 +9724974 +1822470 +6628609 +5424531 +11683300 +13066931 +3925605 +6238658 +15205563 +2790922 +13354999 +6579722 +3675297 +16290162 +14509537 +16674235 +16145473 +7138932 +1672916 +1317464 +8488128 +4609564 +14222975 +13741559 +13771931 +4249288 +640123 +2900137 +1219226 +4139837 +5565902 +3369156 +3514237 +9817547 +2652108 +4479068 +16077561 +730358 +795598 +15197888 +12599381 +4979306 +3198328 +14698269 +9850428 +10606878 +2955962 +6365431 +13263174 +8844143 +13991580 +10467142 +10264323 +1004885 +15699972 +16604079 +14058907 +10283338 +7882070 +5168950 +13408135 +9514814 +13047407 +10325351 +13838681 +7627737 +1790467 +2079984 +5064212 +6398575 +13970101 +9082107 +15453031 +8562053 +1887562 +7109807 +16602813 +8849200 +15463842 +13837686 +8109306 +8459411 +4672668 +13982892 +1590742 +11252911 +6410259 +2367873 +3755669 +11193083 +3844205 +14019544 +537661 +3250364 +15023809 +16507892 +4862078 +15506611 +11328689 +5831876 +1393656 +11105970 +617799 +8955524 +4213202 +11764666 +12092900 +3805551 +14362948 +15980191 +1716559 +14998272 +6088487 +2191558 +2500152 +1728569 +16421262 +8205644 +16666707 +4972330 +11988714 +5701360 +11970591 +5692858 +12724086 +14548294 +15672281 +2881176 +16107356 +2717753 +9997530 +9171634 +11948113 +735351 +1952157 +14543269 +6408041 +15726665 +4972340 +8564948 +1656140 +4374908 +2215564 +6622182 +16148787 +8931896 +16210974 +554150 +5955503 +12518210 +6534407 +2474017 +1835668 +6184398 +10177617 +12512816 +11031887 +9768214 +11851861 +11064134 +2000222 +7069700 +4473764 +11371964 +3291067 +7727286 +2359461 +13319008 +10139325 +6201907 +9135173 +13499738 +15093300 +5224336 +5799078 +14805760 +3369572 +10357440 +8707451 +13962091 +13064178 +5383091 +15648516 +294165 +10263536 +16763303 +9316129 +14841324 +9988557 +14035113 +13344714 +10584251 +7781946 +14187198 +14939274 +12120516 +2387923 +13443010 +14095120 +6823918 +7947758 +13352723 +5898992 +13546684 +11952334 +12735220 +9840599 +6209450 +15618607 +4498999 +4243742 +7095425 +9955159 +5710057 +10085265 +2689892 +6448016 +10420183 +8673164 +13604929 +10266991 +16512094 +3600434 +6005105 +7622455 +4349316 +14668161 +5643846 +14544189 +2488422 +13009980 +12601654 +12913010 +8268795 +5378435 +5939761 +13180647 +9079474 +8465842 +10043327 +9863301 +14637777 +3986606 +11955227 +6664493 +3798133 +578142 +13941407 +9473539 +13338845 +3297822 +8731737 +12842935 +584207 +15767892 +9389218 +12518017 +8756029 +15072549 +15991579 +16576438 +10860800 +16614177 +133963 +5373155 +10749008 +12098162 +16277159 +15757527 +1893213 +341903 +9672597 +2366491 +11915136 +1257932 +11601507 +5895712 +9514827 +7602536 +10993659 +7645089 +5162555 +1535899 +8344692 +6427572 +7399600 +16060980 +2942272 +6850670 +438777 +4899563 +15342382 +246812 +9779869 +13171007 +2146025 +1694155 +515750 +4976127 +9690880 +15662347 +16063918 +7715574 +11673593 +1767101 +9670729 +4905285 +11168053 +12284228 +6905818 +14821098 +12398554 +4011609 +9707086 +11157936 +10449703 +3082900 +8045031 +2288763 +16684787 +4916942 +10999372 +1594692 +16639291 +7699580 +16387607 +16482182 +10097137 +3720304 +6399901 +6584808 +11718735 +16602513 +14836515 +15147023 +1032749 +16353172 +4909220 +12538942 +4383708 +4533026 +6665771 +2443590 +2188602 +13316476 +1590829 +2403737 +15380112 +13819945 +8832430 +9596391 +13197587 +2702902 +15408297 +6754769 +15954572 +761373 +6840111 +4995397 +11748835 +3690145 +15604409 +321299 +14402064 +16178084 +8253591 +2723335 +7211487 +10681201 +8264664 +8543068 +10384591 +11911873 +5039613 +2239730 +16635707 +2051975 +3320197 +6081742 +10736026 +5795194 +15158248 +15093684 +3917735 +16336203 +9339071 +7162762 +9307057 +5227916 +6329767 +3249429 +12672091 +3002493 +11000132 +3439930 +8855146 +11098426 +7683805 +15490436 +6415659 +2972449 +4324181 +11830262 +6032746 +3812537 +7292640 +16066662 +2710678 +12986866 +14938226 +5477301 +3726133 +15889742 +12073987 +16032777 +5800540 +15784464 +4377303 +13081323 +9024322 +5783723 +14791780 +14349252 +16724367 +3217223 +11607846 +4639892 +2814053 +13127821 +1223010 +11088140 +1315476 +11978673 +449297 +15201082 +11756461 +190517 +7549523 +5987842 +5889307 +16398076 +959326 +13254213 +9358225 +12840629 +3183248 +6873445 +13132169 +11815216 +16012075 +8959011 +1388183 +16031413 +9664133 +11547973 +7111880 +10906157 +8066498 +7576967 +14841898 +852393 +8229573 +9941871 +3554558 +11455675 +5956579 +7739231 +6312437 +11708936 +16555995 +14244867 +13136171 +12360051 +9497820 +8749755 +2801503 +15631768 +16311521 +13374474 +9462050 +4909898 +2794311 +7979835 +3701890 +15677013 +731776 +13904790 +2944734 +14738707 +1164497 +5514830 +3575102 +15345142 +4917106 +7011387 +10601902 +444600 +16565218 +5334734 +11715771 +1015220 +12517159 +5251686 +8711990 +9553542 +15759748 +10324541 +10705159 +10375493 +1041061 +8926568 +11332026 +4208704 +14677347 +2379334 +12702224 +12886440 +12208959 +4649904 +16500407 +9709922 +1941824 +11962026 +6672060 +8544710 +12312127 +2988576 +1915973 +14576454 +12434621 +14427470 +7091791 +6642807 +6443043 +3903196 +1435447 +5439884 +14251471 +8105871 +227303 +6930677 +9295234 +4434314 +2310013 +8286336 +9540030 +957835 +2454852 +7090256 +382779 +210035 +2749377 +10249427 +1686028 +5802377 +15049110 +1993698 +5330699 +13452128 +12682425 +3492212 +11407387 +3878706 +12695700 +5061208 +13924636 +5844654 +15076397 +9416146 +1812978 +15139768 +6897041 +10534496 +1449651 +3793541 +15343404 +6020175 +12061179 +12298674 +13348303 +10375037 +14771610 +11879313 +9219694 +10595898 +3375898 +15641783 +6880458 +14936850 +866134 +14363704 +10464084 +15501331 +2673139 +9816705 +2854073 +1935667 +8248023 +947887 +265115 +751207 +9614268 +12228785 +10248449 +16647749 +2077349 +16394716 +5540123 +5873946 +7361150 +15306736 +7586767 +2615289 +11860295 +8335481 +1846959 +637013 +6372889 +2125446 +16516003 +3148205 +287967 +15336275 +15886001 +15309820 +2222315 +15564327 +5720316 +11350466 +12985005 +1794344 +9163522 +12733417 +9330288 +11178512 +14995424 +4044532 +14389903 +1806327 +4438568 +2043069 +10533318 +8621104 +15535245 +11776563 +12227090 +3847492 +7686261 +12245652 +2621786 +12640636 +13594102 +16564002 +11075133 +2659372 +9586612 +8986721 +5366963 +14479134 +15305821 +14549679 +9460396 +2257342 +8667997 +1783885 +1448100 +11729847 +13147579 +1053918 +1328147 +4653445 +14766780 +2307793 +4111818 +14055750 +15271221 +11436110 +10124235 +14159267 +194083 +4681702 +9329835 +820734 +179800 +1429382 +6091137 +10096514 +16619402 +1753879 +11113057 +14336923 +7094371 +6395289 +341933 +7675751 +6312605 +9242801 +11044890 +10315386 +1851714 +230688 +8210134 +5276396 +3582918 +9394167 +1490773 +9099027 +3111827 +10059307 +10050396 +4895688 +1495319 +13536136 +13278263 +1665534 +1328737 +4358432 +11931853 +9501120 +10412960 +13321950 +10184395 +8227895 +15624401 +4696612 +4629874 +11773004 +14457637 +8244515 +16006042 +2378450 +15343488 +12762637 +2459677 +10523064 +2120116 +14104359 +11572068 +13194935 +13747409 +7432053 +15530471 +7275345 +10450970 +5571534 +1550689 +4755108 +7338210 +4261875 +1746162 +12435307 +10827686 +9280439 +11605737 +3519266 +16023910 +14087942 +9015493 +11875261 +10901831 +9973359 +15760086 +3223940 +12870942 +4599227 +4707434 +10136578 +4382068 +8539384 +12841596 +3206327 +15073843 +9679790 +11718114 +9945659 +14541796 +13751023 +3770780 +16618494 +9177638 +13018957 +359945 +8253323 +1770886 +6556965 +16291370 +684359 +682391 +2715919 +454542 +4167194 +4118207 +4823532 +15807550 +12493390 +13774230 +5609107 +3557145 +6815198 +5735276 +11091183 +11781645 +15952177 +2323406 +11319354 +16728627 +1478595 +10660245 +11455955 +4356940 +4303527 +2252330 +3770704 +10519060 +13311004 +9616223 +11699839 +12546771 +13551997 +9690700 +16582714 +5048053 +600767 +11682863 +13124421 +2951391 +13818005 +5306488 +582099 +11909112 +11744456 +6713461 +11650248 +10834890 +13342209 +186699 +2605163 +10271561 +5388638 +9841455 +307421 +16101536 +11455350 +16762076 +8080511 +1620376 +6578293 +1181576 +16706875 +1806428 +6130097 +6848923 +7068340 +8384380 +9195504 +10158235 +4062280 +2782783 +1326606 +14380191 +9906215 +6825703 +13924623 +7003357 +11813319 +10766087 +1170161 +14540958 +10492814 +14244413 +16119195 +964120 +3637945 +7121004 +5780779 +16516180 +7423820 +2546230 +9670071 +9095809 +10785084 +12992459 +4018707 +9072775 +12508652 +15357720 +2699460 +14569190 +7398065 +11345467 +8039277 +1993072 +2027561 +10954097 +14847296 +14581084 +1952766 +5806098 +10381281 +8692422 +15081718 +687594 +10781972 +14913422 +7228710 +5776651 +15544345 +7450900 +10191264 +7294796 +3341624 +10139387 +16364312 +13940238 +5874242 +11429559 +3014044 +8094033 +456979 +12810572 +10150902 +9055454 +11300623 +4810263 +12231414 +7552620 +3675028 +11737622 +16639901 +13193618 +15721720 +12332674 +16198151 +1638924 +11680091 +14544683 +5450690 +9027890 +14096338 +14603329 +6251629 +1360012 +5048558 +14327755 +7872619 +11198556 +2878583 +15757366 +12759255 +10061148 +5468002 +13001440 +12785425 +15260739 +6560168 +16195265 +9975476 +13720464 +14416220 +2839443 +10406973 +12268514 +16492750 +5316887 +8749638 +13057112 +8184289 +1632090 +11317464 +2171604 +10201812 +2449373 +7151410 +661148 +16263646 +6845418 +4580893 +13604493 +14659250 +4729134 +2098453 +14993977 +4715725 +12355336 +3533905 +8656490 +8130794 +14520280 +5836578 +3877143 +7080042 +2332090 +11616811 +1193582 +4748438 +740613 +8342880 +767902 +12623592 +16202713 +5480492 +15059963 +2924597 +13267211 +13812623 +11468208 +14335109 +845936 +12916917 +1125236 +168421 +2853795 +7151421 +5357771 +7793395 +12412663 +8991519 +4863260 +1894457 +13909824 +6886433 +8091478 +13934208 +4602068 +13440437 +13166348 +12367436 +2715330 +2319163 +16755933 +8821354 +3286577 +15597507 +6719907 +9143117 +15818816 +3282635 +2876968 +13855557 +9687185 +9679516 +7166787 +1412897 +16337712 +2568883 +2087927 +15630310 +5727530 +12907986 +16506817 +8093518 +12571541 +11927107 +10721885 +9865917 +10604670 +9773175 +567131 +12275936 +13627260 +991740 +1325671 +1353481 +4851763 +1474228 +2850967 +5559654 +5349257 +9443683 +16679720 +6110929 +13509527 +7768177 +6395870 +12327617 +9944772 +1830500 +4114113 +10870801 +8916709 +1190770 +3999550 +12838637 +13498720 +4970835 +7260045 +14553347 +3057839 +1304742 +11520031 +15067749 +15971792 +14300696 +11884792 +7390455 +2755700 +3748337 +11786317 +9925988 +13657793 +6374550 +6801207 +1332378 +11710688 +12997458 +15905596 +13915545 +12408921 +3891152 +9099366 +11521578 +578479 +8273807 +8454097 +9702278 +9344605 +5225701 +11301179 +1971051 +11694251 +13358681 +1344152 +3129399 +3671177 +12146784 +4427477 +16092389 +3650761 +15116052 +10224579 +10177907 +4271567 +2194927 +15883996 +15612729 +3178969 +13488421 +1894340 +869404 +9153208 +10898456 +7194232 +13082904 +5450443 +6713345 +8960238 +9905643 +6376110 +15448801 +3317829 +8413611 +10556423 +655066 +3002344 +10223918 +4613979 +9896456 +8347876 +7110894 +7952070 +15224107 +7055448 +16139954 +10613985 +2146516 +14854455 +10810589 +2484730 +9960169 +16334500 +7998349 +13499695 +8781578 +6067449 +10594278 +206520 +14549180 +11932441 +12775926 +12599325 +10159116 +12667829 +14560901 +5226910 +13534705 +15670884 +5287365 +2862492 +4396729 +3768780 +3228549 +4359731 +11088771 +10494637 +9077472 +9460393 +15695376 +13053600 +12165046 +476355 +12013825 +5985329 +11613483 +8416589 +2265132 +12305532 +9040806 +15431339 +12600732 +14635970 +11381557 +15026003 +5325465 +8236630 +9415474 +2039954 +1414445 +2614519 +4914759 +1897221 +1868953 +9092879 +15643739 +14904719 +8134262 +6728058 +13818889 +4096155 +16101725 +14456127 +12436575 +10772919 +8732028 +1210947 +13825883 +171683 +12754374 +10796602 +13797223 +9295371 +12943916 +1029924 +8376217 +4342554 +1452719 +5544535 +11389133 +766790 +10873137 +6689916 +6704893 +4175467 +12835416 +4238375 +6746964 +15733897 +3404342 +8326770 +2140719 +9223458 +10595574 +11408301 +3820112 +10722903 +5147750 +10434703 +1803474 +9107579 +14122485 +359987 +9432602 +3992044 +3907446 +11542559 +436259 +5366163 +8143101 +15780576 +4923329 +2451546 +4322564 +8939290 +1479255 +15203965 +5755711 +14158753 +11880809 +8295547 +9270168 +14294295 +1953527 +12524518 +13081373 +7561612 +12784195 +1551905 +16382481 +11414277 +6709704 +5861781 +14476718 +10713929 +1783423 +10521742 +12957645 +12117521 +6199176 +5088119 +8640317 +11547572 +720180 +7428519 +6724438 +4689310 +6113564 +13864061 +10803510 +11400762 +12253085 +16202473 +16080608 +6592414 +4458327 +4434943 +10925481 +11740708 +12990116 +12914825 +11130721 +14368296 +4308764 +1108452 +9242065 +9227611 +15095060 +16484054 +12810395 +3653816 +12857064 +3027278 +5848774 +872138 +11507315 +11843900 +6061524 +5847773 +8781968 +13835518 +15891670 +12238842 +16772068 +16095736 +1954959 +8114628 +10519360 +1219637 +734101 +11068674 +7598589 +10237175 +12567578 +5523825 +15129477 +14160460 +13639217 +5411168 +2616318 +11909070 +12016171 +13947402 +16189554 +9109168 +8335639 +1402856 +1598047 +11005016 +15393388 +11013384 +1398439 +8042144 +12837743 +8493905 +11557904 +10585842 +14687279 +10676653 +8176459 +3089727 +1567878 +14903439 +6302559 +12799169 +15433515 +12453796 +13003452 +11985496 +16418466 +11897736 +11892982 +11512345 +5418359 +13749778 +12544019 +14039935 +14577250 +6350402 +1677527 +1234025 +5189279 +1660174 +7701549 +4196044 +2239260 +9697840 +1853116 +1902265 +1162524 +14393027 +6143077 +12206583 +3977820 +11446959 +5286097 +14732074 +10603770 +16543025 +16515755 +10066941 +12987908 +3409744 +13822263 +15112057 +9207793 +14958796 +1024545 +7082784 +3772951 +431124 +14276646 +5195268 +13891786 +6011893 +15428848 +9948273 +15320261 +4173100 +4839994 +7743562 +8514898 +3655308 +15090040 +2373023 +13000893 +11811677 +11724734 +234331 +8942510 +3890316 +5475986 +10509649 +9736016 +15201702 +3052388 +14408260 +5789010 +9695745 +4212745 +16267709 +8134003 +844863 +1241195 +12496357 +12234612 +5883448 +4011506 +9261243 +11256886 +13811857 +1687935 +11128116 +16275002 +1204106 +1684253 +15196181 +10330784 +6759750 +4627289 +11392095 +6180224 +13154445 +3655741 +2113609 +7871650 +6441216 +11835261 +4508898 +6535014 +8283938 +15866616 +12896122 +8632331 +15087075 +11457806 +10347497 +12375703 +11089186 +9527695 +4910549 +7874080 +1185670 +6969101 +2383895 +7090036 +8864277 +6812994 +8183830 +10448344 +10899558 +6803729 +10588964 +13660415 +5559496 +3192613 +14092405 +8396871 +12881785 +12362947 +8525644 +7707604 +1344294 +443529 +4940218 +12101204 +7149054 +7713824 +12725257 +14015216 +10110505 +2191789 +2270117 +4590639 +3523875 +14073312 +5077280 +1355684 +9727801 +3517147 +12419956 +2634914 +2908835 +9943803 +11919984 +13463399 +14828524 +5322151 +15359675 +13243337 +14535407 +15541672 +7039616 +14327791 +4146278 +2708851 +11383376 +1734198 +13598469 +275408 +13133144 +12221256 +5099595 +856039 +9288321 +5566222 +2499472 +8052826 +10973316 +14144317 +6815122 +2340745 +8881495 +3591474 +3153514 +10821690 +7194848 +12691681 +2753567 +2653222 diff --git a/2024/22/test b/2024/22/test @@ -0,0 +1,4 @@ +1 +2 +3 +2024