diff --git a/LevelInputProvider.Tests/LevelInputProviderTest.cs b/LevelInputProvider.Tests/LevelInputProviderTest.cs
new file mode 100644
index 0000000..2628322
--- /dev/null
+++ b/LevelInputProvider.Tests/LevelInputProviderTest.cs
@@ -0,0 +1,16 @@
+namespace AoCLevelInputProvider.Tests;
+
+using AoCLevelInputProvider;
+
+public class LevelInputProviderTest
+{
+ [Fact]
+ public void Test1()
+ {
+ var lip = new LevelInputProvider();
+ string text = lip.WithYear(2024).WithLevel(1).Provide();
+ var lines = text.Split("\n");
+ Assert.Equal("39472 15292", lines[0]);
+ Assert.Equal("18560 15292", lines[999]);
+ }
+}
diff --git a/LevelInputProvider.Tests/UnitTest1.cs b/LevelInputProvider.Tests/UnitTest1.cs
deleted file mode 100644
index 9577bbd..0000000
--- a/LevelInputProvider.Tests/UnitTest1.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace LevelInputProvider.Tests;
-
-using LevelInputProvider;
-
-public class UnitTest1
-{
- [Fact]
- public void Test1()
- {
- var hwp = new HelloWorldProvider();
- Assert.Equal("Hello, Simon!", hwp.GetHelloWorld("Simon"));
- Assert.Equal("Hello world!", hwp.GetHelloWorld());
- }
-}
diff --git a/LevelInputProvider/HelloWorldProvider.cs b/LevelInputProvider/HelloWorldProvider.cs
deleted file mode 100644
index 974fb18..0000000
--- a/LevelInputProvider/HelloWorldProvider.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-namespace LevelInputProvider;
-
-public class HelloWorldProvider
-{
- public string GetHelloWorld(string? name = null)
- {
- if (string.IsNullOrEmpty(name))
- {
- return "Hello world!";
- }
- else
- {
- return $"Hello, {name}!";
- }
- }
-}
diff --git a/LevelInputProvider/LevelInputProvider.cs b/LevelInputProvider/LevelInputProvider.cs
new file mode 100644
index 0000000..c79a490
--- /dev/null
+++ b/LevelInputProvider/LevelInputProvider.cs
@@ -0,0 +1,35 @@
+namespace AoCLevelInputProvider;
+
+using System.Reflection;
+
+public class LevelInputProvider
+{
+ private const string levelFilePathTemplate = "inputs/{0}/{1}/input.txt";
+ private int year;
+ private int level;
+
+ public LevelInputProvider()
+ {
+ this.year = 2024;
+ this.level = 1;
+ }
+
+ public LevelInputProvider WithYear(int year)
+ {
+ this.year = year;
+ return this;
+ }
+
+ public LevelInputProvider WithLevel(int level)
+ {
+ this.level = level;
+ return this;
+ }
+
+ public string Provide()
+ {
+ var basePath = Path.GetDirectoryName(Assembly.GetAssembly(typeof(LevelInputProvider)).Location);
+ var textPath = Path.Combine(basePath, string.Format(levelFilePathTemplate, this.year, this.level));
+ return File.ReadAllText(textPath);
+ }
+}
diff --git a/LevelInputProvider/LevelInputProvider.csproj b/LevelInputProvider/LevelInputProvider.csproj
index 125f4c9..8cd1fb5 100644
--- a/LevelInputProvider/LevelInputProvider.csproj
+++ b/LevelInputProvider/LevelInputProvider.csproj
@@ -6,4 +6,15 @@
enable
+
+
+ true
+ true
+ true
+ true
+ Always
+ Always
+
+
+
diff --git a/LevelInputProvider/inputs/2024/1/input.txt b/LevelInputProvider/inputs/2024/1/input.txt
new file mode 100644
index 0000000..33a078b
--- /dev/null
+++ b/LevelInputProvider/inputs/2024/1/input.txt
@@ -0,0 +1,1000 @@
+39472 15292
+41795 28867
+66901 41393
+49097 61173
+56143 52888
+95316 12022
+12479 41393
+44746 54563
+75154 45829
+11303 70489
+34369 42303
+19787 10318
+57355 54563
+17649 78041
+78041 90912
+42025 70838
+83962 27416
+58852 60140
+10900 78041
+81682 86361
+73646 59340
+69559 52888
+11792 37020
+16986 60140
+64640 99547
+72905 79616
+49132 68436
+60004 25440
+83058 36384
+56218 51713
+42752 85502
+53210 25564
+97525 46775
+85200 81707
+93134 17917
+92436 29703
+43282 26102
+56561 17917
+38517 60140
+21394 11537
+22870 56891
+91081 75176
+58106 60279
+31335 96310
+32992 60140
+38454 54563
+33694 74901
+18307 90620
+34138 37678
+30210 35783
+25191 15227
+47869 11537
+51431 99893
+59221 57034
+67820 46594
+25286 65918
+49630 64107
+49512 23996
+75253 19155
+91755 44731
+84331 14322
+10777 45829
+44531 31325
+44387 44368
+22092 78828
+62647 74552
+73962 61652
+70872 38663
+41669 17917
+36394 39664
+86666 32126
+94564 71364
+86975 65813
+80625 26674
+60822 44368
+70000 88293
+22902 68436
+14424 12070
+49549 76372
+98327 15292
+16200 41393
+75176 59283
+87545 56534
+52574 42041
+89909 82203
+59362 25776
+31396 65918
+23097 67302
+16639 73771
+88531 61423
+96093 57034
+66284 27416
+66985 80547
+49619 82916
+15828 96310
+64988 54786
+21667 65918
+74847 53532
+80596 74328
+63472 77634
+38623 37355
+38050 77634
+57186 77092
+32231 96310
+53056 85502
+99616 27723
+44092 39113
+28177 73886
+43152 71052
+63504 85873
+82199 13631
+16827 95980
+12662 94593
+15202 19317
+11297 44368
+75181 23789
+82671 11537
+27416 28613
+32617 17917
+32093 56597
+43092 81496
+98048 38603
+33815 94399
+49197 75323
+72360 38805
+12218 57034
+79339 25820
+55769 11065
+24748 33341
+73771 85800
+33005 51346
+53234 37678
+35799 99893
+67715 72495
+39385 60140
+80517 67721
+23083 27416
+35643 34652
+20015 85084
+54047 68436
+90892 27416
+83304 45829
+52334 42025
+22737 48971
+44841 85502
+54440 88682
+59337 44466
+86226 44368
+79865 23789
+92432 25313
+16492 46594
+77422 38673
+93057 23789
+27428 87965
+91111 85502
+16734 96310
+92704 91204
+71080 32126
+79064 38805
+21521 98343
+14447 42025
+88341 78869
+13881 64574
+98689 57609
+96688 20324
+83204 66011
+30155 78041
+79383 57771
+66777 42501
+79365 29078
+38302 85502
+59476 41393
+12235 97187
+79638 13709
+12734 77092
+26482 96310
+53709 38414
+78983 68436
+56875 32126
+34652 79445
+47807 44368
+20838 37678
+77644 42695
+91040 34471
+19857 38805
+37257 19299
+84323 45829
+45765 27807
+80010 17917
+50993 17917
+87739 17917
+21074 83774
+21486 65838
+85062 65414
+64425 60832
+46875 72398
+77011 94090
+16732 14509
+63302 48158
+96936 81496
+54563 77092
+32946 37678
+57558 40189
+77371 20945
+70922 27416
+34893 44368
+20064 61173
+42298 26409
+50286 87965
+37070 28219
+25648 15174
+72425 49204
+70118 23789
+43832 54563
+40026 23789
+20922 60128
+85906 96310
+62704 75007
+14096 81496
+27162 56750
+93880 67721
+61173 16445
+73917 75176
+95980 77092
+89429 38668
+95730 32268
+99893 54563
+87309 76137
+74425 11641
+96310 90444
+76188 96310
+50165 37678
+80206 36550
+64022 73771
+65510 95980
+71848 87965
+79418 95980
+52569 85502
+89371 99893
+68344 73771
+19148 81496
+83338 34652
+15292 64493
+50026 85502
+46923 42025
+65318 36031
+84727 65918
+12709 19317
+49025 13484
+45423 65918
+71561 56750
+70652 95980
+49677 67721
+87744 15824
+68616 77092
+56750 98610
+27368 15292
+96635 72495
+82682 86884
+49305 22888
+57058 76493
+71872 15292
+37337 99893
+49141 27416
+58652 59221
+68121 59924
+15655 27416
+62826 52888
+21376 13478
+90582 73415
+15256 83645
+75807 77837
+25162 67721
+20898 69247
+92171 40775
+32584 57034
+68026 65918
+89047 81496
+77634 16657
+76187 67862
+34375 68115
+17970 36680
+73342 11537
+88262 68436
+85191 41393
+13235 74763
+84522 26546
+24204 83774
+50892 44388
+73708 45829
+20453 35352
+17601 54563
+72728 31817
+53568 77092
+51327 87796
+32562 45829
+57528 73771
+65476 62414
+87452 38805
+27996 67569
+20039 42216
+46643 62818
+52888 37678
+78679 89549
+40854 47456
+83512 83774
+40653 19984
+15653 87965
+24606 28934
+31608 43847
+15608 87965
+44105 78041
+51928 21069
+33215 11537
+13283 56032
+99082 34188
+52093 96310
+61555 22523
+42163 59313
+70384 21347
+68901 14849
+45947 68914
+43211 17917
+49277 42695
+34180 83406
+92846 50278
+79167 38805
+20193 77092
+20458 44368
+32126 81496
+66236 83382
+12738 28293
+44729 99893
+69671 86850
+83285 58736
+56016 96747
+99469 68436
+93215 19776
+25585 44206
+53706 83774
+87427 59088
+46185 56750
+36420 42025
+75640 12667
+62041 58764
+29681 37678
+52824 41716
+89079 32126
+99760 84744
+96415 38301
+63171 23789
+29436 16140
+83447 73771
+75739 11537
+82453 65918
+84569 65918
+21534 77172
+12101 74770
+77859 42695
+52861 85502
+35871 21725
+42076 39498
+27769 65918
+42055 60140
+15647 46042
+71930 43847
+64803 48360
+57132 72709
+86112 88764
+32257 35904
+65077 15267
+26467 43122
+16903 22211
+90305 42025
+40337 91440
+88470 45958
+25305 98303
+96579 89051
+79525 73920
+41786 95980
+67337 20284
+18437 60448
+24149 18786
+90518 60165
+61117 68317
+47404 89642
+70455 43847
+42695 30003
+32127 63953
+71650 35205
+25690 60128
+99806 68436
+46357 39579
+74131 46594
+47895 47800
+26468 43847
+41393 15292
+70792 96310
+64983 72495
+14730 75176
+67663 97315
+79374 31240
+69026 83411
+22680 23789
+71431 27416
+77808 21074
+22211 70174
+98616 17996
+92938 38805
+89127 85502
+51477 87965
+90677 99208
+59730 77092
+98858 84528
+30238 83774
+75429 87965
+27930 37678
+14348 52888
+16626 68436
+71073 65918
+41699 44368
+97130 26865
+17234 64748
+19638 73771
+32507 38805
+70053 43714
+74550 11537
+32214 89987
+58219 74181
+94952 15292
+33006 61173
+47639 45559
+40240 72346
+25466 73771
+91357 54563
+34918 44368
+36904 57034
+82039 60128
+83050 27542
+33904 36886
+49071 77634
+29378 68436
+31555 17917
+10652 44368
+38017 98107
+61056 61173
+14038 22737
+23926 14836
+87700 17917
+27680 67320
+17606 20744
+71665 38805
+73591 90610
+75931 23789
+45829 13721
+11852 62648
+82002 43847
+18278 11819
+76392 78041
+12128 92298
+39019 24002
+29212 78830
+70049 96310
+97782 75559
+93518 42025
+24972 68164
+79331 82197
+53946 63209
+29692 36006
+90018 47044
+80392 94377
+36656 49166
+71114 96458
+58048 34652
+41279 38805
+52537 41393
+33546 39103
+70780 60140
+36455 62146
+87797 11284
+21614 83774
+87965 65918
+84530 87965
+31327 60140
+18367 73575
+64436 15292
+20247 99322
+33510 34652
+38591 60472
+26569 34652
+95619 32751
+75902 15292
+13377 27416
+67381 85502
+33665 27308
+49639 27416
+41023 11537
+25245 21668
+88275 89008
+86587 90992
+77709 68436
+49679 89471
+84751 42695
+89970 60140
+35926 60128
+29813 42025
+37865 72495
+16156 60194
+27868 76472
+77973 75176
+22695 79830
+58595 56952
+95239 96639
+71032 95980
+91716 75176
+78993 43847
+99915 98469
+97751 11537
+85502 60039
+50198 68602
+63219 28654
+65281 95499
+59926 63079
+90344 17917
+84508 68436
+11497 53277
+23204 60128
+23323 44368
+59901 82429
+40780 54563
+86228 77092
+15570 92416
+30888 63270
+13324 60221
+69364 15292
+95308 87722
+60190 92919
+99873 76986
+14117 75176
+93167 42025
+31214 26740
+63953 75176
+16764 87965
+53411 18481
+23762 20430
+62056 95980
+72495 72495
+77818 55142
+87870 41393
+38763 72435
+95817 27379
+73572 71492
+86836 15292
+67571 55135
+84424 68436
+38842 33961
+25252 99893
+52969 60128
+75457 98187
+15405 56750
+85810 34652
+52562 40472
+26458 87835
+57049 12947
+92406 43679
+71405 15292
+13004 24537
+26183 19467
+57431 44368
+49655 87965
+61580 52775
+50127 68060
+22900 37678
+82172 73771
+64722 44368
+20817 27416
+29505 94508
+83118 42025
+11609 73771
+91300 50758
+12871 69985
+76642 85502
+59612 45829
+22493 21789
+97865 28573
+38509 42695
+62726 22786
+97473 60140
+11612 72495
+22478 94640
+78811 58753
+57737 91274
+96232 94576
+97572 81557
+82900 32111
+19759 70364
+72856 63532
+96772 39170
+23639 34568
+51369 85502
+57419 77634
+26364 26509
+75781 74064
+18008 75570
+90125 23030
+28428 38805
+33799 68436
+81411 99893
+32078 27808
+79975 83566
+52755 69516
+57264 49914
+64517 17917
+73224 32126
+35194 46594
+56603 22108
+19967 84231
+77598 41393
+48288 85502
+59468 85296
+47471 60128
+92962 87965
+33647 54992
+40482 83774
+54705 45831
+68436 40140
+83774 16001
+50181 56750
+46534 37678
+73109 83774
+14691 72139
+45203 18499
+93717 41393
+90942 61173
+93639 96310
+43230 81496
+35162 81496
+99850 74025
+86446 27902
+83395 77092
+34567 42695
+38120 75176
+43847 15292
+18314 93498
+35219 43847
+57034 68631
+65653 31365
+63354 20793
+57162 43136
+82266 44368
+12486 98890
+95955 63953
+84375 34652
+86891 38805
+30860 34652
+39153 72495
+60323 23789
+54199 15292
+56072 56750
+93245 57078
+76450 43847
+59767 54737
+68416 85814
+37507 52294
+95599 37678
+26535 82789
+24134 75314
+44403 73771
+98864 37678
+65407 46261
+79131 19317
+13530 17917
+65218 14610
+25382 22670
+92220 75176
+85985 59377
+70302 24147
+64121 64263
+67721 96310
+23443 43847
+84136 34307
+63440 59221
+53644 63953
+55702 45127
+38805 68295
+85325 50302
+23500 28669
+69804 52427
+84397 22809
+27004 85502
+37093 29693
+96090 45829
+94277 65918
+75959 20621
+14695 69851
+21277 99893
+25052 65918
+62281 23789
+28206 11537
+61780 38805
+43950 43399
+77501 40253
+73366 47747
+24723 53159
+18309 29185
+88351 87965
+32451 87965
+27961 82138
+15868 23052
+83064 81496
+68951 11537
+97293 50439
+56831 57301
+80363 47574
+33684 60128
+10701 20752
+42064 36397
+69486 96133
+47015 99893
+29202 42695
+82115 23789
+95165 52036
+57418 47142
+67506 38805
+58868 87965
+74165 44368
+30214 83774
+83623 17917
+17331 68436
+30459 14907
+67434 65918
+40727 90836
+61581 93472
+33819 63953
+49763 86280
+97486 67721
+26812 33295
+12336 43847
+18378 73771
+84937 99191
+35224 65918
+49694 27416
+49529 78672
+18201 35773
+74497 46594
+68037 34652
+36953 68436
+85485 92527
+88430 99893
+71498 83659
+60128 23848
+96672 27416
+64061 79790
+59825 54563
+74366 68436
+41534 11537
+87667 21591
+10150 75176
+44315 45829
+14678 42695
+72111 96310
+58956 23680
+69294 42025
+20619 57034
+37843 27416
+29529 27615
+19702 83774
+32072 14710
+50568 11537
+51287 85502
+94333 32126
+18585 34938
+23789 61804
+46594 77092
+79106 26759
+41356 96103
+10594 81496
+11595 59026
+98318 49115
+13672 15783
+13257 42025
+72928 26741
+93735 52496
+53663 34203
+58872 52888
+65915 99893
+75718 58779
+38451 39438
+35425 27416
+12378 93586
+91509 97927
+56599 27778
+44971 57034
+21719 65918
+20336 93128
+18110 46594
+99088 60128
+85957 97300
+32492 42695
+43009 96238
+70212 31422
+34312 11537
+61916 42723
+51817 11537
+72892 90401
+32753 99893
+54502 62779
+39127 48368
+13434 51199
+44413 20326
+32900 68436
+65505 83774
+83501 87965
+50906 36556
+61014 44368
+95454 75176
+77008 41393
+58087 75176
+69905 93067
+37788 59221
+31700 42326
+78758 15292
+60428 95980
+82953 34652
+57964 63113
+11094 96310
+64195 19317
+52961 80659
+36007 54563
+75733 54563
+25387 76167
+11537 65918
+60140 17917
+45111 15292
+99999 67189
+63747 11537
+20625 43214
+92339 10979
+24864 38805
+26017 79424
+57414 95980
+63707 17917
+88020 54563
+37973 29335
+30076 87838
+52584 65918
+49038 25377
+61582 83162
+21115 86682
+67207 68436
+74877 15341
+44094 99893
+41244 26837
+84493 97732
+61793 97981
+28185 67721
+18529 23789
+53238 80962
+56830 34020
+42491 37938
+44708 77092
+54024 23873
+81496 20953
+23812 37678
+86480 44368
+68399 47559
+35185 75176
+37233 33363
+75966 83774
+54671 15292
+39056 21920
+55159 60140
+70822 21845
+43695 56792
+46035 37430
+44197 81496
+72777 99476
+36610 97933
+69757 15287
+87912 83774
+34679 83581
+34931 15292
+93254 71634
+64175 45693
+87296 75176
+94232 17596
+93856 68436
+44368 15292
+93430 11537
+51742 31698
+37653 85502
+83663 94306
+28522 93651
+94057 22959
+64826 94855
+42079 99893
+79925 26385
+74592 25770
+20675 72495
+65728 50739
+92462 59954
+23381 77025
+44104 65121
+48953 81496
+37678 46594
+63422 89239
+49735 35632
+85048 71538
+19402 81496
+86874 45829
+73564 45829
+74511 64584
+17917 29104
+53604 13639
+13699 12819
+42901 71544
+64254 65918
+42770 45829
+96114 44368
+93782 56750
+57646 90086
+46334 49872
+63175 54563
+98847 47091
+15551 22124
+91269 83774
+42322 96310
+99400 32126
+29079 65918
+51358 42025
+57109 22211
+75643 19675
+50779 42100
+68902 61940
+91483 15861
+72751 95639
+22226 75719
+30515 37678
+44941 94189
+60907 78041
+96158 41829
+58058 99893
+20085 37678
+78405 88266
+47918 87965
+76270 42402
+60874 87102
+74798 23789
+89867 43847
+21013 95168
+50155 73771
+96922 60329
+73275 54563
+85392 98615
+69178 91775
+26665 49635
+41944 41525
+48235 82994
+74950 61557
+60869 73771
+19317 15074
+28433 68991
+27814 90764
+62468 41393
+71778 92876
+19383 57314
+74225 72460
+45257 55015
+37807 73771
+66601 11537
+32475 68436
+65861 35241
+65154 35982
+32341 11537
+43126 99893
+81648 91534
+93016 63953
+37226 43847
+24429 17917
+35226 99893
+95560 75176
+77626 32126
+16841 37678
+94072 18811
+49716 15715
+69498 94453
+77092 88716
+51658 41708
+99436 76299
+56787 27416
+53173 83774
+42871 37678
+39206 43847
+52384 37678
+19944 42936
+74914 19845
+65918 67721
+38226 56750
+86853 74909
+18560 15292
\ No newline at end of file
diff --git a/LevelInputProvider/inputs/2024/2/input.txt b/LevelInputProvider/inputs/2024/2/input.txt
new file mode 100644
index 0000000..7b87bb6
--- /dev/null
+++ b/LevelInputProvider/inputs/2024/2/input.txt
@@ -0,0 +1,1000 @@
+55 56 59 62 61
+68 70 71 74 75 76 78 78
+52 55 56 58 62
+73 76 79 82 84 85 87 94
+1 4 5 6 3 4
+77 80 78 80 83 81
+69 72 73 71 71
+14 15 17 18 17 21
+39 42 43 45 47 46 53
+72 73 73 74 75
+48 49 51 51 53 54 51
+39 40 41 41 43 43
+14 16 19 20 23 23 25 29
+69 70 70 73 80
+79 80 81 84 88 89 92 93
+7 10 13 17 18 16
+67 70 73 75 79 81 84 84
+81 82 84 88 89 93
+76 79 81 83 84 88 94
+71 72 73 80 82 83
+24 26 29 36 33
+69 70 72 73 76 81 81
+6 9 12 17 21
+45 46 52 55 58 59 66
+24 23 24 25 26 29 32
+45 43 45 48 49 51 50
+3 2 5 6 7 9 11 11
+27 25 26 29 31 32 33 37
+17 15 18 19 22 24 30
+69 68 71 70 72
+38 36 38 41 44 41 38
+16 14 12 15 15
+37 34 36 33 36 39 40 44
+80 77 78 81 79 86
+57 55 57 57 60
+31 29 30 30 28
+77 76 79 79 79
+75 73 74 76 76 80
+14 11 11 12 15 22
+72 69 72 74 78 80 81
+80 77 79 83 85 87 86
+32 29 33 36 37 39 41 41
+7 5 9 10 14
+18 17 20 23 24 26 30 35
+86 84 87 89 94 95 98
+32 29 30 37 39 38
+27 26 28 30 31 38 41 41
+20 18 25 27 31
+84 81 83 88 89 94
+21 21 24 27 28 31 32
+15 15 18 21 24 22
+42 42 43 46 47 47
+35 35 38 39 43
+61 61 63 65 67 74
+23 23 21 24 27 29
+8 8 6 9 10 9
+84 84 83 86 86
+67 67 69 71 73 70 74
+85 85 84 87 93
+9 9 11 14 17 17 20
+33 33 34 34 31
+65 65 68 68 71 71
+60 60 62 62 63 67
+11 11 14 14 20
+18 18 21 24 26 28 32 34
+43 43 44 47 51 52 55 52
+58 58 61 65 67 68 68
+55 55 57 61 63 67
+72 72 76 78 79 80 85
+1 1 2 9 12 13
+80 80 83 89 90 93 92
+24 24 26 33 36 38 38
+17 17 18 19 26 30
+21 21 23 26 33 34 37 44
+30 34 37 39 41 44
+24 28 30 31 32 35 38 36
+84 88 90 91 92 95 95
+60 64 67 70 73 76 79 83
+9 13 15 16 19 21 22 27
+46 50 51 52 49 50 51 53
+68 72 71 73 74 72
+14 18 16 19 21 23 24 24
+50 54 55 58 55 58 62
+76 80 82 81 82 85 88 93
+66 70 73 73 76 78 81 83
+37 41 42 42 43 45 43
+7 11 14 14 14
+5 9 11 11 12 16
+10 14 17 17 18 21 22 28
+32 36 38 42 43
+51 55 59 62 63 64 65 63
+14 18 19 20 24 27 29 29
+33 37 38 39 41 45 46 50
+74 78 82 85 88 89 96
+56 60 65 67 69
+30 34 36 38 43 42
+74 78 79 80 85 85
+75 79 86 87 89 91 93 97
+78 82 84 90 92 93 99
+65 72 75 77 80 82
+82 89 91 93 94 95 93
+49 56 59 62 62
+18 25 27 28 30 34
+46 52 54 56 57 62
+13 19 21 22 23 21 23
+26 32 29 31 32 31
+91 96 98 95 95
+47 52 54 51 53 55 58 62
+79 84 81 82 83 90
+75 82 82 83 86
+76 83 83 84 86 84
+9 14 17 17 17
+26 32 35 37 39 39 40 44
+40 45 45 46 53
+58 65 69 71 72 74
+34 40 44 46 48 45
+46 53 55 56 60 63 63
+18 25 29 30 34
+4 9 10 11 15 22
+51 56 61 63 64 67 70
+13 18 23 25 28 31 32 29
+16 21 27 28 28
+25 32 34 41 43 47
+29 34 37 44 47 50 55
+36 34 33 31 28 25 22 23
+27 25 22 21 21
+15 12 9 7 6 5 1
+47 46 45 44 37
+80 78 79 77 74 73 70
+16 13 11 8 5 2 4 6
+51 50 48 49 47 46 43 43
+21 18 19 17 15 13 9
+41 40 38 40 39 33
+9 8 6 6 5
+44 41 41 40 38 41
+99 96 93 93 93
+40 38 36 36 33 30 27 23
+27 25 24 24 22 17
+93 92 88 86 85 83 81
+49 46 45 41 38 41
+71 69 65 63 61 59 58 58
+51 50 48 44 41 40 38 34
+44 41 37 34 32 31 30 25
+14 13 8 5 4 2
+32 31 28 21 20 19 16 18
+39 36 35 32 27 26 26
+49 48 46 39 35
+56 54 53 47 40
+54 55 54 52 49 48 47
+78 79 78 75 74 73 76
+95 96 94 91 89 86 85 85
+73 74 72 70 69 65
+91 93 92 90 88 83
+81 84 83 86 84 83
+48 50 49 47 49 48 45 46
+88 90 88 87 89 87 87
+47 49 48 46 43 46 42
+47 48 47 46 48 42
+23 24 21 18 18 17
+66 67 67 65 68
+50 53 52 51 51 48 48
+89 92 92 90 89 85
+92 93 91 88 87 85 85 80
+88 91 88 86 82 80
+74 77 73 72 73
+30 32 29 26 24 20 19 19
+88 89 88 84 80
+42 44 40 38 35 34 27
+94 95 94 88 86
+18 19 17 14 7 4 5
+70 72 69 63 62 62
+28 30 28 27 26 19 17 13
+57 60 58 56 55 50 44
+68 68 66 63 61
+45 45 42 41 42
+76 76 74 71 68 68
+81 81 79 78 77 73
+98 98 96 95 92 87
+58 58 57 60 57 54 53
+92 92 89 87 89 87 86 89
+83 83 80 79 82 80 80
+52 52 50 47 45 46 43 39
+41 41 43 40 38 33
+57 57 56 53 52 52 50 49
+88 88 85 84 83 83 84
+72 72 70 67 65 65 65
+61 61 61 60 56
+61 61 58 57 55 53 53 48
+59 59 58 54 53 52 51 50
+45 45 44 43 41 37 39
+78 78 76 74 73 69 69
+86 86 82 81 79 76 73 69
+36 36 32 30 23
+24 24 23 22 21 18 11 8
+15 15 13 6 4 5
+41 41 38 33 32 32
+13 13 7 5 1
+74 74 71 68 65 60 54
+88 84 82 79 78 75 72 70
+91 87 84 81 80 79 82
+74 70 68 67 67
+58 54 53 52 48
+95 91 89 86 79
+51 47 50 49 48 45 44
+36 32 31 29 31 29 26 29
+86 82 80 81 80 77 77
+43 39 36 39 36 32
+77 73 76 74 71 68 66 60
+95 91 91 88 85
+12 8 8 6 5 7
+53 49 48 48 47 46 46
+30 26 26 25 21
+68 64 62 60 58 58 57 51
+45 41 40 36 35 34
+23 19 15 12 15
+38 34 30 27 27
+54 50 46 45 43 40 36
+37 33 29 27 24 19
+56 52 51 49 43 42
+66 62 56 55 52 49 51
+65 61 58 56 54 51 44 44
+70 66 65 62 59 56 50 46
+98 94 92 85 83 82 81 75
+52 45 43 41 39
+43 38 37 34 37
+57 51 50 49 48 47 44 44
+38 31 29 27 26 23 19
+23 16 14 12 7
+36 30 31 29 28
+12 6 8 5 8
+20 13 12 11 12 9 9
+93 86 84 83 84 82 80 76
+55 48 49 47 42
+17 11 9 6 6 3
+32 26 26 23 20 23
+89 84 83 83 83
+79 72 70 70 66
+56 49 48 48 45 40
+61 54 50 48 45 44
+24 18 16 12 11 9 10
+69 62 61 57 57
+34 28 27 23 20 19 15
+85 78 74 72 70 69 66 61
+59 53 52 51 46 44 43 42
+65 58 51 48 49
+98 91 86 83 83
+48 42 41 35 33 29
+47 41 40 37 31 28 21
+52 53 56 59 60 58
+62 63 65 66 67 67
+62 65 66 68 71 75
+42 44 46 47 48 51 53 59
+89 91 94 93 96 99
+29 32 34 35 36 34 31
+28 29 26 28 31 31
+74 75 73 75 77 79 81 85
+46 47 44 47 48 54
+4 6 8 8 11 12 15 18
+80 81 81 82 79
+51 52 54 56 56 59 59
+49 51 51 53 56 60
+47 50 53 55 55 62
+6 8 12 15 17 19 21
+86 89 90 92 96 98 99 96
+77 78 80 83 87 87
+55 58 60 63 66 70 71 75
+55 57 61 64 69
+83 84 85 92 93 95
+77 78 83 84 83
+26 29 34 37 37
+20 21 23 26 27 33 35 39
+28 29 30 35 36 37 39 45
+62 61 64 67 68 70
+20 18 21 23 26 28 31 29
+72 70 73 76 79 80 80
+48 46 49 52 53 55 56 60
+9 6 7 8 9 10 13 19
+69 68 65 66 69 72 75
+40 38 39 40 39 40 38
+50 48 49 48 48
+81 79 80 79 83
+15 14 13 16 18 23
+10 9 12 14 14 16 18 20
+96 95 98 98 99 96
+79 77 79 79 79
+61 59 61 62 63 63 66 70
+17 16 17 18 19 19 21 28
+22 21 25 27 28
+35 33 34 38 41 39
+62 61 64 65 69 69
+46 44 47 51 53 55 59
+46 44 46 49 50 51 55 62
+41 39 46 48 50
+39 38 45 46 45
+78 75 82 85 85
+22 21 23 26 28 34 38
+6 5 12 13 15 18 24
+58 58 59 62 65
+21 21 23 24 26 29 32 31
+96 96 98 99 99
+84 84 85 87 91
+68 68 71 74 81
+6 6 7 10 11 10 11 14
+31 31 33 36 38 36 34
+54 54 55 57 59 61 60 60
+31 31 33 35 34 37 41
+25 25 27 24 25 30
+82 82 85 85 86 88 90
+39 39 41 43 43 46 45
+39 39 42 43 46 46 46
+88 88 91 91 95
+81 81 83 85 85 86 87 93
+36 36 40 41 43 44 46
+2 2 5 9 8
+8 8 11 12 16 18 18
+79 79 81 85 89
+47 47 50 54 61
+77 77 79 81 88 89
+60 60 63 66 68 74 75 74
+76 76 83 85 87 87
+34 34 41 43 47
+65 65 68 71 76 81
+3 7 8 11 12 14 17
+53 57 59 60 61 60
+28 32 33 34 36 37 37
+45 49 51 53 54 57 61
+55 59 61 63 68
+43 47 50 51 50 53 55 57
+1 5 7 10 13 12 11
+43 47 48 51 48 51 51
+80 84 82 83 85 89
+38 42 44 45 46 44 49
+41 45 47 48 50 53 53 56
+2 6 6 8 11 12 14 12
+10 14 17 20 20 21 24 24
+12 16 18 21 23 23 26 30
+30 34 37 39 42 44 44 49
+53 57 59 62 64 68 70
+68 72 76 77 75
+9 13 16 20 22 22
+78 82 83 87 89 91 92 96
+12 16 17 19 23 25 28 35
+76 80 86 89 90 93
+86 90 91 92 98 99 98
+61 65 68 71 76 76
+24 28 30 36 40
+31 35 37 40 41 46 49 56
+43 50 51 52 55 58 60
+43 48 51 54 56 59 58
+55 62 65 68 70 71 74 74
+10 16 19 20 21 23 25 29
+80 87 89 92 97
+91 96 94 97 99
+82 87 88 85 87 86
+16 23 20 21 24 24
+20 25 22 25 28 32
+27 34 37 36 37 38 45
+80 85 88 91 93 96 96 99
+47 52 54 54 57 60 58
+62 68 70 71 73 73 73
+21 28 29 29 31 34 35 39
+40 45 46 46 47 52
+61 68 70 74 77 79 80 81
+76 81 84 85 87 88 92 91
+79 85 86 90 90
+57 62 65 69 73
+11 18 21 25 28 29 31 37
+74 79 86 87 89 90 91 93
+5 12 14 19 21 23 24 22
+36 43 45 47 48 53 53
+27 34 39 40 44
+64 69 75 78 81 82 88
+55 54 52 51 52
+73 70 68 67 67
+83 82 81 80 79 76 73 69
+24 23 22 19 18 16 14 8
+99 97 95 96 95 92
+23 20 21 20 19 17 14 15
+25 23 24 23 21 18 18
+53 51 49 47 48 46 42
+87 84 82 85 80
+95 93 91 88 88 86 83
+90 87 85 84 83 83 85
+69 66 63 63 61 60 60
+13 11 11 10 6
+59 57 57 56 51
+43 40 37 35 33 29 26 25
+14 13 9 8 6 5 8
+77 74 72 70 66 64 64
+46 44 41 37 33
+59 58 54 51 46
+55 52 45 43 42 41 40
+39 36 35 34 33 28 29
+47 45 40 39 39
+47 45 43 37 35 33 32 28
+96 94 92 87 84 81 79 72
+43 46 45 44 42 40 37
+79 82 80 77 74 73 71 74
+42 44 43 41 40 37 37
+57 58 57 56 53 52 48
+78 79 78 75 74 71 66
+31 32 31 34 31
+25 28 27 29 30
+37 38 37 35 36 34 34
+68 71 70 73 71 67
+20 22 25 22 21 14
+98 99 98 95 95 94
+84 86 83 82 82 80 77 80
+57 59 57 57 56 55 55
+24 27 25 25 22 19 16 12
+53 54 51 48 48 45 38
+28 29 27 26 22 19
+42 44 43 39 36 38
+88 91 90 89 86 82 82
+91 94 92 88 86 82
+27 29 27 23 20 18 11
+16 17 16 10 9
+69 70 67 60 58 57 56 58
+28 31 30 27 26 19 18 18
+58 61 58 57 50 47 43
+69 72 71 66 64 63 61 55
+49 49 47 45 43
+38 38 35 32 29 32
+62 62 59 58 57 56 53 53
+79 79 78 77 73
+28 28 27 25 24 22 16
+49 49 51 50 47 46
+37 37 36 34 31 33 36
+36 36 37 35 35
+50 50 47 45 46 43 42 38
+39 39 38 36 39 34
+28 28 28 27 24 22 21 19
+21 21 19 17 15 15 13 14
+30 30 30 28 25 23 20 20
+79 79 79 78 75 73 70 66
+47 47 47 46 40
+72 72 70 66 64 62
+49 49 45 44 45
+82 82 80 76 74 72 72
+26 26 22 20 16
+71 71 67 64 63 60 54
+95 95 93 87 86
+15 15 14 13 12 6 8
+69 69 66 64 58 58
+36 36 34 33 26 23 22 18
+22 22 17 15 10
+33 29 27 26 25 22
+25 21 18 15 14 17
+71 67 64 61 61
+71 67 65 62 59 58 54
+89 85 82 79 77 74 72 67
+52 48 47 50 47 46 44 42
+55 51 49 46 49 46 48
+8 4 2 5 5
+86 82 84 83 79
+38 34 32 31 28 29 24
+49 45 42 40 40 38 35 32
+24 20 17 15 15 12 15
+72 68 65 65 65
+67 63 61 58 56 53 53 49
+45 41 40 38 36 36 29
+44 40 37 33 30 28
+24 20 17 13 11 8 10
+60 56 54 50 49 48 48
+30 26 25 21 17
+26 22 20 17 13 12 5
+32 28 26 20 17
+43 39 38 33 30 28 26 29
+94 90 85 82 82
+81 77 71 68 66 62
+99 95 94 89 88 81
+21 16 15 14 13 12
+83 76 75 74 73 70 69 71
+73 68 66 65 63 62 59 59
+44 37 35 32 28
+91 86 83 82 81 79 78 72
+96 90 92 89 86
+33 27 25 28 25 23 24
+32 27 24 22 20 23 20 20
+64 57 60 57 53
+43 36 33 30 28 31 26
+10 5 5 3 2
+65 60 58 58 55 58
+69 63 63 61 61
+70 65 62 61 61 57
+56 51 50 48 45 45 42 36
+75 70 66 65 62
+17 11 7 5 6
+36 29 25 22 20 19 18 18
+26 20 18 14 13 9
+43 38 35 34 32 30 26 19
+66 60 54 52 49
+54 47 41 38 37 35 36
+40 33 26 25 25
+31 26 24 22 19 13 12 8
+80 73 71 68 62 57
+11 8 9 16 17 19 22 22
+25 25 27 26 25 24 22 20
+71 75 78 82 85 88 91
+24 26 29 33 34 37 40 42
+39 45 45 46 47 49 51
+42 42 44 45 48 52
+92 95 92 92 92
+53 56 55 53 53 50 46
+79 75 72 71 70 67 67
+26 26 23 19 18 14
+86 85 88 91 92 95 96 98
+35 35 38 37 38
+12 12 13 11 6
+27 23 26 24 23 23
+35 39 42 43 46 49 52 54
+30 24 24 21 18 15 14 14
+61 55 52 50 48 46 43 46
+9 7 9 10 8
+67 68 66 59 55
+52 56 59 60 63 64 68 65
+11 14 16 19 22 29 30 35
+52 58 59 65 66
+40 45 48 53 55 59
+47 47 50 52 56 58 62
+37 41 41 44 47 50
+22 19 16 15 18
+21 21 23 27 30
+68 72 73 74 76 77 80 84
+61 66 67 71 72 75 73
+60 63 62 55 54
+46 50 53 55 55 59
+60 58 59 58 55 51
+72 68 61 58 56 55 58
+25 24 27 28 30 34 38
+14 17 18 20 22 25 23 23
+47 40 37 35 34
+57 58 59 65 67 66
+74 69 62 61 60 57 58
+4 10 14 16 17 20
+13 18 19 20 19 22 29
+54 54 51 50 45
+72 69 71 73 70 74
+84 79 77 80 79 74
+25 25 25 24 22
+86 86 85 85 82 80 77 79
+68 65 67 72 73 74
+29 29 27 27 24 21 21
+59 61 63 62 65 69
+45 42 41 38 36 32 31
+45 38 39 37 33
+79 76 76 73 72
+31 32 31 27 21
+9 9 8 9 10 12 14 17
+47 51 54 57 57
+26 25 26 29 30 37
+91 90 88 85 81 78 74
+53 56 52 50 50
+51 47 46 43 42 39 33
+84 77 76 72 69 63
+41 40 39 41 39 38 37 37
+74 78 76 79 79
+64 64 59 57 56 56
+69 72 69 70 72 75 82
+27 32 35 36 34
+31 26 25 21 20 19 15
+67 67 70 76 79 84
+33 35 36 37 39 41 42 39
+35 32 32 29 29
+57 54 52 49 47 46 46 47
+1 5 8 10 12 13 10 13
+37 38 42 45 46 49 55
+86 91 92 94 94 92
+88 86 83 80 78 77 73
+3 5 6 10 10
+24 24 27 30 30 34
+17 15 13 16 18 15
+57 54 52 52 51 50 46
+46 43 45 46 49 51 51 52
+70 68 65 63 58
+49 55 59 60 60
+53 46 45 45 42 41 40 35
+47 51 52 58 65
+27 29 26 23 25
+23 19 16 10 8 5 1
+98 91 91 89 92
+59 59 58 55 54 53 51
+56 63 60 62 64 67 69
+3 9 9 11 14 14
+86 83 84 82 80 74
+74 77 80 80 83 85 88 88
+24 20 20 17 10
+56 62 64 65 66 69 73
+1 5 7 9 15 12
+60 63 67 70 69
+63 66 69 70 76 79 82
+38 38 36 34 32 30 31
+44 47 46 45 44 44 41 40
+66 66 67 64 71
+1 7 8 9 11 14
+13 16 15 14 12 11 11
+75 72 66 65 64 64
+56 59 56 59 57 56 52
+27 20 17 16 10 6
+19 23 27 30 30
+95 98 97 93 90
+33 37 37 40 42 40
+36 42 44 42 43 46 50
+94 88 82 79 78 71
+17 13 11 9 5 4 4
+88 88 89 91 92 95 95 92
+97 93 90 88 85 88 86 83
+15 12 12 14 17 24
+7 10 9 8 11 8 2
+59 55 54 51 47
+60 57 59 57 58
+74 79 82 85 89 94
+24 19 15 12 10 7
+12 7 5 2 2
+38 36 33 34 37 38 38
+36 32 32 31 27
+15 20 21 28 31 37
+79 79 80 82 80
+95 91 90 89 86 83 80 81
+89 86 86 87 89 93
+3 6 4 6 3 4
+65 61 59 56 55 53 52 51
+27 26 28 31 38 39 45
+81 84 87 91 95
+71 71 68 66 65 62 59 59
+28 28 27 25 25 19
+90 94 96 97 94
+63 63 67 68 69 66
+68 68 66 65 60 59 58 51
+92 92 86 85 82 80 76
+26 27 24 25 26 25
+73 78 84 86 88 91 91
+42 44 43 40 42 40 40
+73 80 82 85 85
+44 44 46 53 56
+29 25 22 20 16 15 18
+33 30 35 38 39 42 44 48
+87 87 85 80 79 78
+37 44 45 43 42
+87 87 89 91 95 97 97
+82 82 83 83 84 86 88 88
+90 90 88 90 92 95 97 97
+82 85 88 87 84 83 82 81
+70 70 73 75 77 83
+57 55 54 56 57 59
+26 19 16 11 9
+64 65 63 61 57 54 57
+81 85 86 87 92 93 95
+10 14 18 21 22 25 32
+70 66 63 61 58 52 49 46
+35 30 27 25 22 25 23
+71 77 77 79 81 82 83 90
+17 16 17 18 17 19 21 28
+31 30 23 21 24
+47 47 50 51 54 56 59 59
+74 74 71 73 70 67 64 60
+6 11 15 17 18 22
+59 55 55 53 51 51
+51 45 42 39 42 41 41
+22 29 32 30 32 32
+58 56 57 61 62 63 66 68
+16 16 12 9 7 6 8
+61 57 53 52 50 44
+60 58 55 58 55
+45 45 50 52 54 57 60 64
+31 28 29 31 35 37 40 40
+86 86 89 91 94
+32 25 23 16 13 13
+83 82 81 78 75 72 69 69
+52 56 59 61 62 63 61 66
+56 50 49 46 40
+15 18 18 17 20
+18 15 11 8 6 8
+72 72 71 67 62
+85 87 85 79 81
+36 39 37 35 33 31 31 24
+41 40 37 33 30 29 22
+63 67 67 69 71 72 79
+41 39 41 45 44
+20 23 25 26 28 29 32 36
+45 49 52 49 51 52 54 58
+48 46 40 37 30
+52 54 54 57 63
+8 11 14 17 19 18 19
+99 99 92 90 93
+14 12 13 14 20 21 24 22
+56 60 61 62 63 65 70
+38 34 36 33 31 30 28 24
+35 33 32 30 28 26 19 15
+66 68 65 62 55 48
+15 9 11 10 7 5 7
+82 82 85 92 95 97 97
+80 80 81 80 82 83 84 88
+40 36 38 35 33 28
+97 95 92 90 87 85 84
+76 77 80 83 84 87 88 90
+81 80 78 77 75 74
+94 93 91 89 88 86
+85 82 79 76 74 73 72 71
+73 71 69 66 64 63
+17 18 21 24 26 29 30
+72 73 76 79 82 84
+16 14 11 10 9 8 6
+25 27 30 33 35
+30 31 34 37 39
+82 84 87 90 93 95
+21 19 16 14 13 11 9
+43 46 49 50 52 55 57
+70 69 67 66 65 63 61 60
+29 26 23 22 20 17 14
+74 73 71 68 66 65 64
+85 83 80 79 77 76 73 71
+10 11 14 16 17 18 20
+47 44 42 39 38 35 32 30
+67 68 70 71 74 76 77 79
+35 37 40 43 45 46 48 51
+66 64 61 58 55 53 52 49
+76 79 80 81 82 83 86
+56 54 51 49 47
+67 64 63 60 58 57 54 52
+10 12 14 16 18 21 24
+79 82 83 84 86 87 89 90
+79 76 75 74 73 70 67
+48 51 52 53 54 57
+42 41 38 35 34 32 29 28
+2 5 6 8 10 11 14 15
+77 75 73 72 69 67
+81 84 87 90 92 93 94
+29 32 35 36 39 42 43 44
+25 24 23 20 19 17 16
+64 67 69 70 73 74
+17 19 20 21 22 24 25
+42 43 44 45 48 50 52 54
+45 42 41 38 37
+80 78 75 72 69 66 63 62
+8 9 11 14 15 18 20 22
+52 51 50 47 44
+23 20 19 18 16 15 14
+18 21 24 25 26
+86 88 89 91 93 94 95 97
+5 6 9 11 14 17 18
+74 73 72 71 70 68
+70 73 75 77 80
+56 59 60 61 62 64 67
+21 24 26 29 32 34 35 37
+31 34 36 37 38
+18 15 13 10 8 7 4
+36 39 42 44 45 47
+71 74 76 77 78 79 82
+31 34 36 38 39 42
+20 22 23 24 26 28 29
+72 71 70 67 64 62 61 58
+71 74 75 76 77 78 80 82
+49 50 53 56 57 58 61
+15 14 13 10 7 6 3
+28 26 24 21 19 16 14
+50 47 46 45 43
+37 36 35 32 30
+71 69 66 63 62 61 60
+62 64 66 68 69 72 74 76
+40 41 42 45 48 50
+20 17 16 15 12 11 10
+9 10 13 15 17 20 23 24
+38 39 42 43 44 45
+18 19 20 23 24 27 28 29
+5 8 9 12 14 16 17
+58 55 54 53 51 49
+15 18 21 23 25
+20 19 18 16 15 13
+69 67 66 63 60 58 57
+64 61 60 57 54 52 50 49
+20 22 25 26 27 28
+42 45 48 50 52 55 57
+18 17 15 13 12 10
+22 19 16 15 14 11 9
+67 64 61 58 55 53 51
+50 52 53 56 59 62 65 68
+52 55 57 58 60 62
+40 38 37 35 32 31 30
+69 68 66 65 63 61 58
+49 48 45 42 40 37 34
+37 36 34 31 28
+52 53 56 59 60
+39 41 42 43 45 48 51 52
+15 16 19 22 23
+84 86 89 91 92 95 97 99
+83 86 88 90 92 95
+63 64 67 68 71
+90 87 85 83 82 79
+56 58 60 62 63 64 66 69
+14 12 10 9 6
+43 42 41 40 37
+18 16 15 14 11
+57 58 59 61 64 66
+60 59 56 55 52 49 48
+19 21 22 23 26 29
+49 47 46 43 40
+84 85 87 89 91 94 96
+61 60 58 56 53 50 47 44
+66 67 70 73 75 78 80 81
+27 25 22 19 18 15 13 10
+44 47 48 49 52 53 54 56
+17 14 11 9 6 4
+94 91 88 86 85
+58 57 55 52 51
+90 89 87 85 84 81 80 78
+35 37 38 41 44 45
+38 39 40 41 43
+89 90 92 93 94 97 98
+62 59 58 55 54 52 51 49
+9 12 14 16 17 19 22 24
+94 92 89 86 85 84 81 78
+28 30 31 34 35 36 38 41
+59 61 64 65 66 69 70 72
+77 76 75 72 71 70 68 65
+55 54 52 49 48 47 44
+96 94 93 92 89
+40 41 42 45 46 48 50 53
+52 53 54 56 58 60 62
+98 97 94 92 89 88 87 86
+68 69 72 75 77 80
+49 48 47 44 41 39 36
+57 56 53 51 50 48 47
+11 14 15 17 20 23 26 28
+21 19 18 16 14
+49 51 54 57 60 63 66 69
+50 47 46 44 42 41 39
+45 42 41 39 36 33 32 30
+47 48 49 52 53 55 56
+79 80 82 83 85 86 87 90
+31 28 27 26 23
+3 6 7 10 13
+84 85 88 91 94 95 96
+59 57 55 52 50 49
+55 52 49 48 45 44
+13 14 16 18 19 20
+70 71 74 77 78 80 83
+36 38 39 42 45 46 49 50
+95 93 90 87 86 85 83
+14 17 20 22 25
+20 18 16 15 14 13 12 9
+32 34 35 36 39 40 41
+31 34 36 37 39 40 43
+73 72 70 67 64
+47 48 50 53 54
+91 88 85 84 83 81 79 77
+49 46 44 41 39 37 36
+20 19 18 17 16 15 12
+86 88 89 92 93 96
+78 80 81 84 87 88 90 91
+22 20 19 18 16 13
+2 3 6 7 10 11
+41 38 37 34 33 30 28
+28 27 24 23 21 20 17 14
+74 77 80 81 82 84
+69 67 65 64 63 62
+81 79 78 76 73 72
+54 53 52 50 47
+17 16 15 13 11
+57 59 60 62 64
+23 25 27 30 32 34
+29 26 25 24 23
+30 28 26 25 22 19 18
+70 67 64 61 58 57
+62 64 65 68 71
+83 86 89 92 93 94 96 99
+47 45 44 43 40 37 35 34
+47 48 49 52 55 57 59 60
+3 4 7 10 13 15 18
+64 66 68 69 70 73
+18 21 24 25 27 29
+73 70 68 65 62 59 58 56
+68 65 62 60 59 57 54 52
+11 8 6 3 2
+28 29 31 32 34 35 36
+37 38 41 44 46 48 49
+60 61 64 67 70 73 75 76
+22 23 25 28 29
+84 87 90 92 95 96 99
+31 33 34 35 37 40 41 42
+70 68 67 65 63
+82 84 87 88 90 92 94 95
+86 88 89 92 94
+72 69 68 67 65 64 63
+79 82 85 86 87 90
+29 30 32 33 36 37 39
+36 38 39 42 43 45 47 50
+70 67 66 63 62 60 58 55
+25 26 27 28 31 34
+82 80 77 75 74 73 72 70
+3 6 8 11 12 15
+29 30 33 35 38 41 42 43
+44 45 48 49 52 55 57
+47 49 51 53 56 58
+60 59 57 55 52
+22 25 28 29 31 33
+22 21 19 16 14 13
+19 21 24 26 29 32 34 37
+49 46 43 42 40 37 34
+40 37 35 33 31 29 27 25
+84 82 80 77 74 71 70
+75 73 70 67 64 61 59
+55 52 51 49 48
+71 74 76 77 79 81
+57 59 61 63 64 67 70
+55 54 53 52 50 49 46 45
+44 47 49 51 52 53 55 57
+84 87 88 91 94
+79 77 76 73 70 67 65 64
+48 47 44 42 39 38 36 35
+38 36 35 34 32 29 27 26
+58 61 64 67 70
+83 85 87 89 90 91 93
+70 69 68 66 64 62 60 58
+25 22 20 17 16
+59 62 64 67 70 73 74
+56 55 54 51 50
+36 37 38 41 43 44 47
+48 46 45 42 41 40 37
+41 40 39 37 35 33 31 29
+52 49 46 44 43 42
+72 73 75 76 78 79 81 84
+75 77 80 81 84 87 88 90
+28 29 31 32 34 37
+20 22 24 27 28 31 33 34
+39 37 34 31 29 26 23 20
+15 16 18 19 21 24
+36 38 40 41 44 47 48 49
+10 12 14 17 18 19 22
+27 24 23 22 19
+90 87 86 85 82 79 76
+34 35 36 37 40 42 45
+66 64 62 59 56 55 54
+60 62 64 65 66 67 70
+37 38 40 41 42 43
+79 78 77 74 73 70 68 65
+22 21 19 18 15
+95 94 93 92 89 88
+75 72 69 66 65
+25 22 19 16 14 13 12 9
+30 31 32 33 35
+5 6 7 9 10 13 14 17
+82 83 85 87 89 92 93 94
+54 52 51 48 46 45
+35 32 29 28 27 25 23 20
+51 49 46 43 42 40
+39 38 35 32 30 27
+48 45 42 40 38 37 35
+59 58 56 53 51 48 45
+76 75 73 70 68 66 63
+68 71 74 77 80 81 82
+28 29 31 34 35
+88 90 91 92 94 95 98 99
+69 68 65 64 62
+88 86 83 81 80
+85 88 89 92 93 94 96
+38 36 34 33 30 27 26 25
+69 70 71 73 74 77
+22 24 27 29 32 33 35
+80 81 83 85 87 89 91 92
+47 49 51 53 54 56 58
+45 44 41 38 36 33 30
+16 18 19 21 24 25 26 29
+69 70 73 76 77 80 82
+86 85 83 82 80 77
+7 8 10 11 12 13
+68 65 62 60 57
+20 17 16 14 13 12
+90 87 86 85 83 82 80 79
+20 18 16 14 13 10
+36 38 41 44 47 48
+64 66 69 70 72
+94 91 88 85 83 80
+25 26 29 32 33 36
+26 24 21 18 17
+63 60 59 56 54
+40 39 38 35 32 30
+60 63 65 67 69 71 72
+16 15 12 10 9
+49 51 54 57 58 59 62
+48 49 52 54 55 58 61
+36 35 32 31 29
+73 70 69 66 63 61 59
+16 18 19 22 25
+32 30 28 26 25 22 20
+39 42 45 48 51 54
+70 72 73 74 76 79 80 81
+37 34 31 30 29
+15 16 17 19 21 24
+31 30 28 25 23 20 18 17
+81 82 83 86 89 91 92 94
+78 76 74 72 71
+24 25 28 30 31 32
+80 79 76 75 73 72 71
+71 72 74 76 78 81 84 86
+8 11 14 15 18
+46 43 42 41 38 35 34
+20 18 17 15 14
+84 82 80 79 77 76
+43 44 47 48 50
\ No newline at end of file
diff --git a/Makefile b/Makefile
index cc18a79..dca61d0 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
.PHONY: issetup
issetup:
- @[ -f .git/hooks/commit-msg ] || [ -v SKIP_MAKE_SETUP_CHECK ] || (echo "You must run 'make setup' first to initialize the repo!" && exit 1)
+ @[ -f .git/hooks/commit-msg ] || [ -n SKIP_MAKE_SETUP_CHECK ] || (echo "You must run 'make setup' first to initialize the repo!" && exit 1)
.PHONY: setup
setup: