From cfeab937223a3af9d856e8eb68476d4dd26e0c79 Mon Sep 17 00:00:00 2001
From: Jona Krampe <98342891+Zormm@users.noreply.github.com>
Date: Tue, 20 Dec 2022 07:35:29 +0000
Subject: [PATCH] Added the Entrys for the Days 1 - 7
---
Advent of Code 2022 Day 1/.classpath | 10 +
Advent of Code 2022 Day 1/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 14 +
Advent of Code 2022 Day 1/input.txt | 2244 +++++++++++++++
Advent of Code 2022 Day 1/src/main.java | 47 +
Advent of Code 2022 Day 2/.classpath | 10 +
Advent of Code 2022 Day 2/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 14 +
Advent of Code 2022 Day 2/input.txt | 2500 +++++++++++++++++
Advent of Code 2022 Day 2/src/main.java | 93 +
Advent of Code 2022 Day 3/.classpath | 10 +
Advent of Code 2022 Day 3/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 14 +
Advent of Code 2022 Day 3/input.txt | 300 ++
Advent of Code 2022 Day 3/src/main.java | 92 +
Advent of Code 2022 Day 4/.classpath | 10 +
Advent of Code 2022 Day 4/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 14 +
Advent of Code 2022 Day 4/input.txt | 1000 +++++++
Advent of Code 2022 Day 4/src/main.java | 51 +
Advent of Code 2022 Day 5/.classpath | 10 +
Advent of Code 2022 Day 5/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 14 +
Advent of Code 2022 Day 5/input.txt | 14 +
Advent of Code 2022 Day 5/src/main.java | 182 ++
Advent of Code 2022 Day 6/.classpath | 10 +
Advent of Code 2022 Day 6/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 14 +
Advent of Code 2022 Day 6/input.txt | 1 +
Advent of Code 2022 Day 6/src/main.java | 58 +
Advent of Code 2022 Day 7/.classpath | 10 +
Advent of Code 2022 Day 7/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 14 +
Advent of Code 2022 Day 7/bin/input.txt | 1013 +++++++
Advent of Code 2022 Day 7/src/Directory.java | 88 +
Advent of Code 2022 Day 7/src/File.java | 19 +
Advent of Code 2022 Day 7/src/input.txt | 1013 +++++++
Advent of Code 2022 Day 7/src/main.java | 70 +
Advent of Code Template/.classpath | 10 +
Advent of Code Template/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 14 +
Advent of Code Template/input.txt | 0
Advent of Code Template/src/main.java | 28 +
43 files changed, 9229 insertions(+)
create mode 100644 Advent of Code 2022 Day 1/.classpath
create mode 100644 Advent of Code 2022 Day 1/.project
create mode 100644 Advent of Code 2022 Day 1/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Advent of Code 2022 Day 1/input.txt
create mode 100644 Advent of Code 2022 Day 1/src/main.java
create mode 100644 Advent of Code 2022 Day 2/.classpath
create mode 100644 Advent of Code 2022 Day 2/.project
create mode 100644 Advent of Code 2022 Day 2/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Advent of Code 2022 Day 2/input.txt
create mode 100644 Advent of Code 2022 Day 2/src/main.java
create mode 100644 Advent of Code 2022 Day 3/.classpath
create mode 100644 Advent of Code 2022 Day 3/.project
create mode 100644 Advent of Code 2022 Day 3/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Advent of Code 2022 Day 3/input.txt
create mode 100644 Advent of Code 2022 Day 3/src/main.java
create mode 100644 Advent of Code 2022 Day 4/.classpath
create mode 100644 Advent of Code 2022 Day 4/.project
create mode 100644 Advent of Code 2022 Day 4/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Advent of Code 2022 Day 4/input.txt
create mode 100644 Advent of Code 2022 Day 4/src/main.java
create mode 100644 Advent of Code 2022 Day 5/.classpath
create mode 100644 Advent of Code 2022 Day 5/.project
create mode 100644 Advent of Code 2022 Day 5/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Advent of Code 2022 Day 5/input.txt
create mode 100644 Advent of Code 2022 Day 5/src/main.java
create mode 100644 Advent of Code 2022 Day 6/.classpath
create mode 100644 Advent of Code 2022 Day 6/.project
create mode 100644 Advent of Code 2022 Day 6/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Advent of Code 2022 Day 6/input.txt
create mode 100644 Advent of Code 2022 Day 6/src/main.java
create mode 100644 Advent of Code 2022 Day 7/.classpath
create mode 100644 Advent of Code 2022 Day 7/.project
create mode 100644 Advent of Code 2022 Day 7/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Advent of Code 2022 Day 7/bin/input.txt
create mode 100644 Advent of Code 2022 Day 7/src/Directory.java
create mode 100644 Advent of Code 2022 Day 7/src/File.java
create mode 100644 Advent of Code 2022 Day 7/src/input.txt
create mode 100644 Advent of Code 2022 Day 7/src/main.java
create mode 100644 Advent of Code Template/.classpath
create mode 100644 Advent of Code Template/.project
create mode 100644 Advent of Code Template/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Advent of Code Template/input.txt
create mode 100644 Advent of Code Template/src/main.java
diff --git a/Advent of Code 2022 Day 1/.classpath b/Advent of Code 2022 Day 1/.classpath
new file mode 100644
index 0000000..60b915a
--- /dev/null
+++ b/Advent of Code 2022 Day 1/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Advent of Code 2022 Day 1/.project b/Advent of Code 2022 Day 1/.project
new file mode 100644
index 0000000..837089c
--- /dev/null
+++ b/Advent of Code 2022 Day 1/.project
@@ -0,0 +1,28 @@
+
+
+ Advent of Code 2022 Day 1
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ 1671521328686
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/Advent of Code 2022 Day 1/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 1/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e2e9c66
--- /dev/null
+++ b/Advent of Code 2022 Day 1/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/Advent of Code 2022 Day 1/input.txt b/Advent of Code 2022 Day 1/input.txt
new file mode 100644
index 0000000..ff54adb
--- /dev/null
+++ b/Advent of Code 2022 Day 1/input.txt
@@ -0,0 +1,2244 @@
+10062
+15651
+1271
+14355
+7220
+
+4878
+1754
+8466
+4741
+2582
+3003
+5327
+3172
+1327
+6310
+
+22413
+4145
+22294
+
+23108
+30453
+
+2084
+3496
+4800
+1388
+8728
+6380
+6397
+2558
+2120
+6159
+
+25265
+20200
+2083
+
+7424
+5830
+2575
+2825
+2234
+6106
+5505
+2847
+2059
+7145
+7223
+
+58621
+
+2926
+9188
+7432
+1639
+7420
+1161
+5517
+2703
+5446
+
+2457
+5814
+1294
+3280
+8531
+8214
+4736
+1964
+1155
+2380
+
+2812
+1827
+5533
+1756
+1491
+4127
+6452
+5935
+1415
+6221
+3489
+2681
+4849
+5250
+
+2922
+10365
+5819
+10227
+2962
+2702
+
+2982
+9254
+14137
+5026
+9374
+
+5933
+2888
+2250
+4514
+1825
+5616
+3497
+2988
+1181
+3836
+1032
+5847
+5383
+
+5044
+5922
+3155
+1610
+5510
+5016
+6666
+7024
+4649
+2764
+6444
+
+12932
+
+4764
+4285
+1278
+5020
+5917
+1888
+4757
+6323
+5067
+1314
+1530
+5748
+5573
+5848
+
+6078
+6687
+5510
+7642
+6719
+4376
+7733
+1356
+4064
+4159
+
+7426
+1147
+4176
+2797
+9484
+7907
+10806
+
+24981
+21675
+9324
+
+5537
+5730
+1280
+2090
+2963
+5992
+6043
+5141
+3039
+2120
+3664
+3816
+3859
+5406
+
+1315
+8662
+2280
+11800
+10201
+3886
+
+3048
+4147
+3299
+3912
+1571
+4582
+1621
+2201
+4543
+5377
+3016
+5297
+5213
+1338
+3929
+
+5456
+4051
+1621
+5228
+2672
+3277
+4006
+4954
+1487
+5361
+3298
+4335
+3015
+1139
+
+2875
+6387
+2926
+5439
+3494
+5287
+3793
+3714
+4944
+1094
+6728
+3302
+6345
+
+9641
+5967
+10265
+1129
+3759
+5632
+4913
+6151
+
+5890
+4285
+3601
+3344
+7294
+6321
+2730
+6352
+2350
+7214
+4034
+1032
+
+4266
+2086
+12754
+8475
+5044
+9616
+
+27815
+19415
+
+7914
+11106
+6938
+10695
+6902
+2983
+3710
+
+7659
+3565
+1310
+11842
+
+8750
+17624
+9697
+16020
+
+4606
+6296
+2321
+1272
+3504
+7121
+2313
+8016
+7910
+4786
+
+11012
+12831
+3980
+12204
+
+7996
+7933
+1500
+1810
+4030
+8645
+1710
+7506
+8096
+8661
+
+5694
+4145
+3095
+3963
+2396
+5197
+6086
+6793
+5924
+5043
+1241
+5011
+
+2410
+7373
+6724
+2641
+1827
+8344
+6833
+8336
+6517
+1376
+
+6084
+9909
+1760
+10864
+4904
+6734
+9492
+
+8002
+4098
+
+17545
+1504
+17040
+14118
+
+1103
+5378
+6135
+6207
+3143
+5550
+5723
+5494
+2841
+1461
+2413
+2252
+1904
+3474
+
+1788
+5889
+7810
+8520
+5415
+4633
+1422
+9526
+6762
+
+1187
+2137
+6551
+8399
+1510
+7099
+3465
+5179
+
+7056
+3142
+3237
+4910
+6656
+3680
+2619
+5549
+5737
+4493
+5359
+1336
+
+4690
+6692
+4638
+5490
+6449
+1518
+5872
+7935
+7742
+1895
+4528
+
+4929
+5947
+5044
+1627
+5037
+6646
+5949
+2142
+2362
+3050
+6390
+5467
+5496
+
+11896
+13381
+1055
+3993
+4275
+12480
+
+1903
+1527
+3280
+3748
+3315
+1058
+2541
+4245
+4386
+4792
+4937
+2345
+2551
+1901
+
+2674
+9184
+3423
+1954
+2788
+5954
+7827
+4466
+4901
+
+4653
+12104
+14737
+8740
+4164
+
+5317
+5734
+4580
+3244
+5509
+4009
+2576
+4137
+1282
+5506
+3530
+3057
+5408
+5952
+1849
+
+9691
+16403
+16828
+
+3653
+6762
+2042
+4618
+4212
+6293
+4782
+2071
+6303
+1662
+6814
+
+3720
+6801
+2350
+4456
+4623
+3242
+2471
+4104
+4096
+3641
+4022
+3702
+3169
+
+7146
+5318
+1820
+3845
+4955
+4134
+8848
+6614
+5497
+
+11545
+4050
+20095
+
+8230
+11577
+6426
+4671
+11838
+
+1726
+7355
+8115
+2780
+
+1795
+4697
+10410
+8064
+2370
+9497
+1221
+
+2909
+6719
+2733
+4335
+1327
+1672
+1297
+6705
+5209
+6690
+5855
+5432
+3804
+
+7874
+7949
+6658
+1621
+8850
+3235
+9142
+2856
+
+6968
+7042
+
+7463
+8035
+4908
+5032
+4791
+2030
+1768
+8611
+2114
+8748
+
+11054
+16021
+9826
+11604
+4819
+
+11214
+4850
+11665
+1891
+1347
+4053
+4570
+
+66862
+
+1597
+6127
+6229
+11518
+9308
+9661
+11410
+
+13224
+1160
+1978
+13018
+14604
+
+2773
+3885
+2383
+2850
+1758
+5724
+4418
+4637
+1510
+3870
+3793
+4116
+6281
+2026
+
+3714
+2840
+2116
+3505
+3941
+6676
+5696
+3216
+6406
+4660
+4974
+2005
+5293
+
+2580
+1645
+5677
+5376
+6527
+4410
+6837
+3069
+2399
+3727
+5658
+4817
+5911
+
+2126
+2851
+2766
+8660
+8181
+3449
+2765
+1299
+
+18470
+9129
+17956
+14494
+
+1033
+4468
+5938
+2874
+2406
+1175
+5997
+
+1256
+7932
+1544
+2772
+5709
+1348
+2919
+
+4399
+1449
+8295
+7470
+2088
+1958
+2857
+1722
+5204
+
+8161
+6865
+6428
+4807
+2173
+8614
+5109
+1769
+2125
+
+1112
+7417
+1328
+6385
+4670
+2840
+3293
+6438
+6639
+6129
+4144
+
+5554
+15529
+1499
+
+9459
+3175
+7412
+10610
+10283
+6807
+10056
+8657
+
+5195
+1397
+5365
+3713
+4376
+4034
+2480
+2665
+2566
+4664
+5262
+5913
+2455
+6048
+4488
+
+10875
+
+5322
+8688
+2636
+14243
+
+11403
+7465
+10079
+2270
+15254
+
+11758
+7630
+5137
+6345
+7119
+10008
+6125
+
+5184
+
+4306
+1159
+6483
+5131
+5009
+4585
+2996
+3514
+4009
+4788
+6841
+2189
+3030
+
+3132
+6730
+5733
+2747
+6464
+5221
+4567
+3528
+4264
+6006
+3295
+
+4829
+23038
+16150
+
+1519
+10692
+11102
+6321
+2948
+11851
+6301
+
+5787
+2664
+6046
+4527
+1955
+5270
+1557
+4567
+5631
+2150
+4612
+3044
+2568
+3589
+5334
+
+2303
+10849
+3983
+10010
+4854
+2111
+
+4576
+1236
+3111
+4898
+5930
+5241
+2783
+5451
+6549
+5623
+7257
+2589
+
+6031
+4307
+6669
+7866
+4333
+2069
+2778
+5463
+7149
+3091
+1001
+
+8737
+1843
+4676
+4381
+6164
+2616
+2453
+1739
+4845
+2909
+
+1396
+2963
+10672
+11217
+9975
+6511
+8694
+
+5262
+3743
+1895
+3811
+6089
+4659
+4195
+4633
+1928
+3865
+2166
+4947
+5040
+4052
+5291
+
+16754
+8916
+17259
+17813
+
+9683
+13286
+13577
+9343
+1792
+3335
+
+25505
+12891
+20104
+
+8618
+6560
+4584
+1118
+3931
+1229
+6759
+8275
+
+18418
+14090
+3552
+3156
+
+4681
+2564
+4557
+4838
+2048
+3097
+4513
+5181
+3803
+1857
+3836
+3089
+4322
+4049
+
+3768
+12991
+1680
+2378
+
+2609
+5115
+2179
+6126
+1423
+1300
+6113
+3720
+1279
+4681
+1147
+1728
+2087
+4708
+
+11919
+12306
+11697
+9806
+11749
+3995
+
+5298
+1877
+2065
+10499
+3493
+2892
+
+4172
+2913
+2288
+7358
+1065
+3030
+5316
+5023
+1876
+2610
+5309
+5175
+
+6904
+9471
+1232
+1741
+2239
+8554
+6327
+6507
+7603
+
+23962
+3536
+
+3214
+1102
+3823
+1876
+3929
+4890
+5526
+3009
+2619
+1565
+3364
+1392
+2407
+3129
+3586
+
+8438
+2649
+4887
+4306
+1675
+2870
+2014
+1160
+6542
+8475
+
+10172
+1686
+5999
+9145
+10361
+7814
+
+3049
+5192
+2091
+4788
+3460
+2701
+2441
+2485
+2440
+2256
+5054
+4631
+5652
+3636
+3827
+
+5944
+7870
+2055
+9296
+7574
+8691
+8852
+
+2178
+1658
+6451
+6725
+1093
+6265
+7412
+5641
+2348
+5377
+2680
+
+6607
+13797
+10728
+6412
+
+10824
+25891
+24424
+
+2278
+3407
+1688
+6069
+2324
+1868
+6037
+2496
+3324
+5346
+4118
+3881
+5260
+2094
+2334
+
+3330
+2884
+6186
+5513
+3483
+6790
+4571
+4173
+4569
+1909
+5574
+
+2073
+2159
+1468
+6189
+2770
+5299
+2039
+4247
+6289
+5453
+3797
+1432
+5501
+2600
+
+7484
+8409
+8216
+1966
+2720
+5125
+5532
+10092
+
+3704
+4032
+13787
+14642
+6007
+
+2893
+3724
+6947
+5569
+6284
+5015
+6589
+4359
+3846
+5402
+5771
+2995
+
+3027
+2193
+4194
+6211
+4912
+4523
+3402
+4199
+4777
+5955
+3217
+6162
+1556
+5269
+
+6162
+7433
+2853
+4649
+4505
+7220
+5276
+1873
+6655
+5549
+2992
+
+3304
+3655
+2028
+4079
+5182
+6830
+3885
+2274
+2769
+2514
+2146
+
+2616
+5717
+1758
+2847
+4579
+1853
+1556
+2043
+1293
+1566
+2327
+6678
+5738
+
+17934
+19341
+
+6652
+3289
+6927
+2152
+2094
+2458
+5635
+6927
+4626
+6846
+5324
+6085
+2571
+
+4344
+6656
+3831
+4768
+12536
+13166
+
+2696
+5427
+9429
+1393
+5758
+9578
+4958
+
+6889
+3107
+1112
+3035
+4159
+3697
+4832
+2604
+6318
+2804
+4325
+5497
+4214
+
+3588
+5313
+1330
+8568
+9017
+1794
+9578
+8426
+4836
+
+31988
+
+5561
+3355
+5593
+3448
+2235
+3836
+2375
+2690
+1704
+3729
+2626
+6329
+3297
+5067
+
+4244
+1729
+1598
+1025
+5921
+3214
+2230
+4120
+1274
+1136
+5798
+4259
+2821
+1968
+
+5291
+7790
+8452
+1235
+10438
+2069
+1365
+9288
+
+5533
+4261
+6170
+1884
+5315
+2901
+3588
+2903
+2441
+2264
+3162
+4188
+3993
+1592
+
+15202
+9385
+17135
+10731
+
+4591
+2068
+1136
+4292
+4351
+2100
+6075
+4463
+5887
+4507
+1273
+3815
+3595
+4846
+
+8033
+7540
+9200
+10554
+2572
+2148
+7195
+9335
+
+6923
+4006
+5057
+1209
+5025
+4788
+2977
+3924
+1149
+5407
+3240
+4363
+2870
+
+18428
+1484
+6717
+
+21437
+10877
+
+13896
+13142
+14976
+4279
+7760
+
+3736
+3606
+6255
+1070
+4078
+1204
+4140
+5864
+5772
+3706
+4794
+1810
+3891
+
+7568
+9015
+8576
+9630
+4006
+8770
+7403
+7606
+8039
+
+3523
+5469
+4603
+7988
+6196
+6253
+7393
+7866
+1976
+8036
+1708
+
+23475
+
+58206
+
+8598
+4206
+7981
+1145
+8057
+3214
+2519
+4155
+6886
+7736
+
+10064
+5532
+4310
+
+5605
+6163
+3079
+5633
+7550
+1557
+3957
+3829
+8064
+5976
+
+14566
+2324
+11737
+8884
+
+5741
+9973
+5120
+8385
+6468
+6446
+
+12939
+7370
+11204
+3902
+
+6531
+6059
+3199
+4544
+2988
+6196
+5805
+2947
+6562
+6497
+5311
+1092
+3929
+
+2969
+5314
+5341
+7533
+1601
+9340
+1458
+4516
+1911
+
+18278
+17057
+19676
+13319
+
+1740
+1218
+7693
+7610
+1179
+2611
+2494
+1995
+2606
+3634
+4818
+
+51246
+
+7826
+5544
+5835
+5983
+5180
+7833
+8681
+7170
+1166
+7254
+
+2013
+4870
+1732
+5678
+5275
+4257
+3686
+6372
+6335
+2539
+1566
+3028
+1304
+3809
+
+4410
+6375
+5386
+7307
+2385
+6675
+1443
+5057
+4051
+5263
+4460
+
+3437
+4993
+6230
+2211
+6522
+4888
+5539
+4875
+4449
+3257
+1333
+3603
+
+1433
+4953
+4098
+10882
+8320
+11840
+10795
+
+6925
+7292
+9340
+2198
+1406
+2490
+5490
+6380
+6512
+
+4332
+2273
+3506
+6399
+3161
+2458
+4217
+2567
+4582
+2109
+4513
+5392
+
+2597
+7554
+9150
+5701
+8972
+7443
+6788
+3224
+
+6098
+7293
+6994
+8305
+7896
+2339
+3312
+7702
+3616
+
+55975
+
+2514
+10887
+
+7264
+10835
+21533
+
+6666
+1428
+6668
+7673
+2755
+3344
+5937
+6942
+7279
+7284
+3344
+
+4809
+
+4748
+7859
+5322
+3460
+3728
+2462
+7973
+1576
+
+1207
+1949
+2608
+1448
+2317
+3410
+7804
+2404
+9159
+
+38251
+
+10983
+5513
+9496
+7341
+11958
+7265
+
+10483
+7081
+5477
+12178
+
+8421
+13928
+7231
+10781
+11620
+
+7219
+2204
+5179
+5011
+4139
+2160
+6130
+1902
+5293
+8458
+
+13895
+10711
+10857
+14214
+
+9062
+4001
+8483
+4260
+9408
+
+8856
+2473
+4738
+9554
+1238
+6186
+1747
+6853
+8308
+
+6468
+5359
+8925
+7929
+9055
+6194
+4431
+4177
+
+1452
+2594
+5079
+6108
+7286
+6997
+1052
+4952
+2458
+5843
+3390
+
+59084
+
+4350
+2892
+6057
+6449
+3274
+4882
+2824
+2625
+2761
+6381
+1803
+2641
+6303
+3518
+
+4595
+15941
+14489
+12371
+13428
+
+6748
+3113
+13130
+13855
+10202
+
+4461
+4550
+3781
+5173
+2232
+3067
+3125
+3914
+5166
+4059
+1403
+1913
+2538
+5819
+
+5492
+2956
+6397
+5485
+3908
+1764
+2853
+2690
+2751
+6816
+6510
+5134
+2251
+
+1912
+11885
+9792
+9026
+
+15319
+21333
+4765
+
+1510
+1760
+1193
+5378
+5539
+1362
+3155
+6051
+3748
+5010
+4280
+1834
+5830
+1273
+2963
+
+2625
+5173
+2499
+5779
+3165
+2148
+2098
+4888
+2787
+5898
+3977
+2740
+2160
+1791
+2522
+
+20725
+
+15813
+26702
+
+1464
+3116
+7046
+5531
+13731
+
+4178
+4204
+3722
+2109
+1772
+3920
+2560
+4029
+5846
+4360
+4538
+4889
+2312
+1086
+1093
+
+1020
+3213
+1017
+3650
+4290
+2888
+4208
+2723
+4149
+2381
+3332
+1308
+2755
+4357
+
+3010
+5317
+1507
+5472
+2171
+6005
+4331
+5355
+3211
+3797
+3963
+3738
+1899
+3390
+1455
+
+2098
+6531
+3206
+4272
+7461
+5093
+5370
+5502
+1543
+4543
+5069
+3491
+
+3195
+3617
+1509
+2926
+1668
+5901
+5893
+3950
+2428
+2572
+2390
+4899
+2234
+3937
+3111
+
+6510
+1964
+6255
+1875
+5118
+3782
+3884
+5480
+2808
+4666
+2827
+3088
+3182
+3470
+
+7230
+5126
+5584
+4880
+7753
+6132
+4098
+2893
+3148
+4209
+3646
+
+2971
+2439
+2362
+6416
+5306
+2714
+4752
+6354
+4807
+3723
+4143
+6503
+
+8492
+19004
+6323
+
+5999
+7828
+7411
+4296
+8321
+5238
+5709
+5631
+6110
+1128
+
+6126
+7809
+1458
+15754
+3603
+
+8908
+8693
+8558
+3270
+5458
+12906
+
+2463
+7423
+6250
+2029
+15528
+
+5146
+6644
+1905
+6828
+2572
+4226
+6264
+4324
+3369
+5999
+5373
+5591
+6634
+
+2053
+7877
+2218
+2415
+2090
+6433
+8607
+3502
+8313
+2841
+
+5471
+5190
+4424
+5184
+3040
+5373
+4799
+8122
+1038
+
+4988
+2833
+4461
+2976
+1168
+5195
+1043
+2270
+7339
+7435
+7226
+5779
+
+11587
+6728
+6765
+11498
+4711
+3547
+
+2878
+8426
+11717
+8591
+5481
+10803
+11181
+
+4915
+2093
+6057
+6957
+13009
+12971
+
+17979
+3250
+19984
+
+5650
+5756
+3307
+10549
+6717
+9579
+2849
+6885
+
+2609
+2347
+4692
+5000
+5068
+5148
+4337
+4316
+2654
+2221
+1822
+
+13157
+
+10140
+5075
+10446
+2946
+5902
+5856
+8096
+8762
+
+16951
+9118
+17962
+
+7524
+4389
+3716
+3580
+5930
+1197
+3233
+6070
+4612
+2477
+6792
+
+6403
+11307
+10753
+9665
+4919
+6485
+3189
+
+8790
+10424
+8816
+3840
+6236
+5529
+8946
+3864
+
+1370
+4810
+3752
+1664
+1247
+3227
+4605
+4906
+5436
+4534
+4722
+4104
+5629
+4962
+3203
+
+2120
+4830
+2859
+2828
+3020
+5260
+5795
+3286
+5247
+6126
+4156
+3624
+2730
+
+58973
+
+18871
+8511
+
+13088
+1608
+12123
+5162
+9357
+2409
+
+3194
+2605
+8440
+9642
+9067
+5709
+4431
+5553
+
+10532
+36332
+
+7227
+10011
+7519
+4030
+7444
+2693
+3845
+
+10004
+5735
+9671
+3576
+7111
+1292
+10428
+2800
+
+4229
+6072
+3748
+1466
+2305
+2664
+2612
+5054
+2625
+2778
+2712
+2788
+5133
+
+10716
+11271
+11169
+9815
+1641
+1025
+
+3016
+3916
+6618
+4213
+6968
+3525
+1944
+6525
+1920
+8741
+
+19472
+
+15684
+10706
+14780
+15411
+9358
+
+5290
+8167
+5269
+7051
+2848
+3948
+5987
+4844
+7749
+5696
+
+9032
+12663
+11173
+14750
+
+1121
+2123
+6582
+5753
+6358
+2524
+6486
+2259
+2197
+1883
+3005
+2406
+5967
\ No newline at end of file
diff --git a/Advent of Code 2022 Day 1/src/main.java b/Advent of Code 2022 Day 1/src/main.java
new file mode 100644
index 0000000..76a02c9
--- /dev/null
+++ b/Advent of Code 2022 Day 1/src/main.java
@@ -0,0 +1,47 @@
+import java.io.IOException;
+import java.io.RandomAccessFile;
+
+import java.util.ArrayList;
+
+public class main {
+
+ public static void main(String[] args) {
+ // TODO Auto-generated method stub
+ ArrayList caloriesByElf = new ArrayList();
+ int calories = 0;
+
+ try {
+ //Part 1
+ System.out.print("Part 1: ");
+ RandomAccessFile file = new RandomAccessFile("input.txt", "r");
+ String str;
+
+ while ((str = file.readLine()) != null) {
+ if (str.equals("")) {
+ caloriesByElf.add(calories);
+ calories = 0;
+ }
+ else
+ calories += Integer.valueOf(str);
+ }
+ caloriesByElf.add(calories);
+ file.close();
+
+ caloriesByElf.sort(null);
+
+ System.out.println(caloriesByElf.get(caloriesByElf.size()-1));
+ //Part 2
+ System.out.print("Part 2: ");
+ int top3CalorieCountsCombined = 0;
+
+ for (int i = caloriesByElf.size()-1; i > caloriesByElf.size()-4;i--) {
+ top3CalorieCountsCombined += caloriesByElf.get(i);
+ }
+
+ System.out.println(top3CalorieCountsCombined);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/Advent of Code 2022 Day 2/.classpath b/Advent of Code 2022 Day 2/.classpath
new file mode 100644
index 0000000..60b915a
--- /dev/null
+++ b/Advent of Code 2022 Day 2/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Advent of Code 2022 Day 2/.project b/Advent of Code 2022 Day 2/.project
new file mode 100644
index 0000000..c1ba3af
--- /dev/null
+++ b/Advent of Code 2022 Day 2/.project
@@ -0,0 +1,28 @@
+
+
+ Advent of Code 2022 Day 2
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ 1671521328691
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/Advent of Code 2022 Day 2/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 2/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e2e9c66
--- /dev/null
+++ b/Advent of Code 2022 Day 2/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/Advent of Code 2022 Day 2/input.txt b/Advent of Code 2022 Day 2/input.txt
new file mode 100644
index 0000000..b0c356b
--- /dev/null
+++ b/Advent of Code 2022 Day 2/input.txt
@@ -0,0 +1,2500 @@
+B X
+C Y
+A X
+B X
+B Y
+B X
+A Z
+A Z
+A X
+C X
+C X
+B X
+B X
+C X
+C Y
+A Z
+B Y
+C Y
+C X
+B X
+B X
+C Y
+A Z
+A Z
+C X
+A Z
+A Z
+B X
+A X
+C Y
+B Y
+C X
+B Y
+B X
+B X
+A X
+B Y
+A Z
+A Z
+A Z
+A Z
+C X
+B X
+B Z
+B X
+C Y
+B X
+A Z
+B X
+A Z
+A Z
+A Z
+C Y
+C Y
+C Y
+A X
+B X
+B X
+B Y
+A Z
+B Y
+B X
+B Y
+A Z
+C X
+B X
+A Z
+B X
+A Z
+C Y
+B X
+C Y
+A Z
+C X
+C Y
+C X
+C Y
+C X
+A X
+A X
+B Y
+A X
+A Y
+A X
+C Y
+C Y
+A Z
+B Y
+A Z
+C Y
+A Z
+B X
+A X
+B X
+C Y
+A Y
+B X
+B X
+C Y
+A X
+A X
+C Y
+B Y
+A Z
+A X
+C Y
+C X
+A Z
+B Y
+B X
+B Z
+C X
+B Y
+C X
+B Z
+C X
+A Z
+C X
+C Y
+C Y
+B Y
+B Y
+C Y
+A X
+B Y
+A Z
+B X
+C X
+C Y
+B X
+A X
+C Z
+A Z
+B Y
+A X
+B X
+A X
+B X
+B Y
+B X
+B Y
+B Y
+C Y
+B X
+B Y
+B X
+B X
+A Z
+C Y
+B Y
+A Z
+C X
+B X
+B X
+B Y
+B X
+C Y
+A Z
+A Z
+C Y
+C Y
+A X
+A Z
+A Z
+C X
+A Z
+B Y
+A Z
+A Y
+B X
+A Z
+C Y
+C Y
+B X
+A Z
+B X
+A X
+A X
+B Z
+C Y
+C Y
+C Y
+C X
+C Y
+B X
+B X
+B Y
+A X
+B X
+B X
+C X
+A X
+C Y
+B X
+A Z
+B Y
+A Z
+B Y
+B X
+A Y
+C Y
+C X
+B Z
+C Y
+B Y
+B Y
+B X
+C Y
+B X
+C Y
+A Z
+A X
+B X
+A Z
+C Y
+C X
+C Y
+B Y
+B Y
+A Z
+C Y
+B X
+B X
+B X
+A Z
+C X
+A Z
+B X
+A Z
+B X
+B X
+B X
+B Y
+C X
+A Z
+B X
+B X
+C Y
+A X
+B Y
+B X
+A Z
+A Z
+B X
+C Y
+A Z
+A Z
+B X
+B Y
+B Y
+B X
+A Z
+C X
+A Z
+A X
+C Y
+B Z
+A Z
+A Z
+A Z
+A X
+C Y
+B X
+C Y
+A Z
+A Z
+C Y
+B X
+A Z
+A X
+A Y
+A Z
+B Y
+C Y
+B Y
+A Z
+A Z
+C Y
+C Y
+A Z
+A Z
+C X
+A Z
+A Z
+C X
+C Y
+B X
+B Y
+B Y
+B X
+C Y
+A X
+C X
+A X
+B X
+C Y
+C Y
+C X
+B Z
+A X
+A Z
+C Y
+C Y
+C Y
+B X
+B Y
+A Z
+A Z
+C X
+B X
+A Z
+C Y
+B Z
+B X
+A X
+A Z
+A X
+B X
+B X
+A Z
+A Z
+B Y
+B Y
+B Y
+B X
+A Z
+B X
+C X
+B Y
+B Z
+A Z
+C X
+C Y
+B Y
+A X
+C X
+A Z
+B X
+A X
+A Z
+B X
+C X
+B X
+A Z
+B Y
+B Z
+A X
+C Y
+A Z
+B Y
+B Z
+C X
+B X
+C Y
+C Y
+B X
+A X
+B X
+B Y
+A Z
+C Y
+A Z
+C Y
+A Z
+A X
+B Z
+C X
+C Y
+B X
+C X
+B Z
+B X
+C Y
+A Z
+A Z
+C Y
+B X
+A Z
+C Y
+A X
+B Y
+A Z
+B X
+A Z
+A Z
+C Y
+B X
+A Z
+A Z
+C Y
+B Y
+B Y
+C X
+C Y
+B Y
+C X
+B Y
+A Z
+C Y
+B Y
+A Z
+B X
+B X
+A Y
+B X
+B X
+B Y
+B Y
+C X
+C Y
+A Z
+C X
+A Z
+A Z
+A Y
+A Z
+B Z
+C Y
+C Y
+C Y
+C X
+C Y
+C Y
+B X
+C Y
+C X
+B X
+C Y
+C X
+C Y
+A Z
+C Y
+B Z
+C X
+A Z
+C Y
+C X
+B X
+B Z
+C Y
+C Y
+B X
+B Y
+A X
+B Y
+A Z
+C Y
+C X
+C X
+A X
+B Y
+A Z
+B Y
+C Y
+B Y
+B Y
+A X
+C X
+A Z
+C X
+A Z
+B X
+A X
+A Z
+B X
+A X
+B X
+C Y
+B Y
+B X
+C X
+C Z
+A Z
+B Y
+B X
+A X
+B Y
+C Y
+C Y
+A X
+C X
+B Z
+A Z
+A Z
+B X
+A Z
+C X
+B Z
+B Z
+C Y
+C Y
+B Y
+C Y
+A Z
+C Y
+B X
+B X
+B X
+A Y
+A Z
+A Z
+A Z
+C Y
+B Y
+B Y
+C Y
+A Z
+A Z
+A Y
+C Y
+C Y
+A Z
+C X
+B X
+A Z
+C Y
+C Y
+A X
+A Z
+C X
+A X
+B Z
+B X
+B X
+A Z
+C Y
+B Y
+A Z
+A Z
+C Y
+A Z
+A X
+C X
+A Z
+B X
+C X
+C Y
+B Z
+C Z
+A Z
+A X
+C X
+B Y
+C Y
+A X
+B Y
+A Z
+B X
+B Y
+A X
+C X
+A Z
+A Z
+B X
+A X
+A X
+C Y
+B Y
+A Z
+C X
+A Z
+B Y
+A Y
+C Y
+B X
+C X
+B X
+B X
+A Z
+B X
+C X
+C Y
+A Z
+C Y
+A Z
+B Z
+B Z
+A Z
+A Z
+A Z
+A Z
+C Y
+C Y
+A Z
+A Z
+B Y
+A Z
+A Z
+A X
+C Y
+C Z
+A X
+C X
+B X
+B X
+A Z
+C Y
+A Z
+A Z
+B X
+A Z
+C Y
+B Z
+A Z
+A Z
+A Y
+C X
+A Z
+B Y
+B Y
+C X
+B X
+C X
+A X
+C Y
+A X
+C X
+A Z
+B X
+B X
+A Z
+B X
+A Z
+A X
+B X
+A Z
+B X
+C Z
+B X
+C Z
+A Z
+B X
+C Y
+A Z
+B X
+B X
+B Y
+C Y
+A Z
+A Z
+C X
+C Y
+A Z
+C Y
+A Y
+C Y
+B Y
+B Y
+B X
+C X
+A Z
+C Y
+A Z
+C Y
+C X
+A Y
+C Y
+C X
+A Z
+C Y
+B X
+A Z
+A Z
+B Y
+C X
+A Z
+A Z
+B Y
+C Z
+A Z
+B X
+B X
+B Y
+A Y
+A X
+A Z
+B Y
+C X
+C X
+B Z
+B Y
+A Z
+B Z
+C Y
+B X
+A X
+C X
+A Z
+A Z
+B Y
+B Y
+B X
+C Y
+A X
+C X
+C Z
+C X
+B Y
+B Y
+A Z
+B X
+A Z
+A Z
+C Y
+C Y
+A X
+C X
+C Y
+C X
+A Z
+B Z
+B Y
+C X
+A Z
+B X
+B X
+A X
+A Z
+B Z
+B X
+A Z
+A Z
+A Z
+B X
+C Y
+B X
+A X
+A X
+C Y
+A Z
+C Y
+B X
+A Z
+B X
+B Y
+B Y
+A Z
+B X
+B Y
+C Y
+B X
+B Y
+B Y
+B Y
+A Z
+C Y
+B X
+B Y
+C Y
+C X
+B X
+C X
+A Z
+C Y
+A Z
+A Z
+C Y
+B Y
+A Z
+B Y
+B Y
+B Z
+B X
+B X
+B X
+A X
+C Y
+B X
+B X
+B X
+B X
+B X
+A Z
+A Z
+A Z
+A Z
+A Z
+C Y
+B Y
+C X
+A Z
+C Y
+B X
+C Y
+C X
+A Z
+A Z
+B X
+C Y
+C Y
+A Z
+B X
+A Z
+B Y
+B Y
+C Y
+C Z
+C Y
+B Y
+B X
+C X
+C Y
+B X
+B X
+A X
+C Y
+A Z
+B Y
+A X
+C Y
+A Z
+A Z
+A X
+A Z
+A X
+B Y
+C Y
+B X
+C Y
+A X
+C X
+C X
+B Y
+A Z
+C Y
+C Z
+C Y
+C Y
+C X
+C Y
+A Z
+A Z
+B X
+C X
+A Y
+B X
+C X
+C X
+B Y
+A Y
+A Z
+C X
+C X
+C Z
+B X
+A X
+C Y
+A Z
+B X
+A Z
+B X
+B X
+C X
+B X
+B X
+A X
+B X
+B X
+C Y
+B Y
+A Y
+B X
+B Z
+C X
+A Z
+C Y
+A X
+C Y
+C Y
+B X
+B X
+C Y
+C Y
+C Y
+A Z
+A Z
+C X
+C X
+B X
+C Y
+C Y
+B X
+C Y
+A Z
+A Z
+C Y
+C X
+A Z
+A Z
+B X
+B Y
+C X
+B X
+B Z
+A Z
+B X
+B X
+B X
+C Y
+A Y
+A Z
+B Z
+B X
+B X
+B Y
+A Z
+B Y
+B X
+A X
+A Z
+C Y
+B X
+C Y
+C Y
+A Z
+A Z
+B Z
+A Z
+B X
+C Y
+B Y
+B Z
+B Y
+A Z
+C Y
+C Y
+B Y
+C X
+C Y
+A Z
+C X
+A Z
+B X
+B Y
+A Z
+B Z
+C X
+C Y
+B Y
+C Y
+B Y
+A Z
+C X
+B X
+A Z
+B X
+B X
+B X
+A X
+C X
+B Y
+C X
+A Z
+C Y
+B X
+A Z
+A Z
+A X
+B Y
+A Z
+A Z
+C X
+A Z
+B Y
+A X
+B X
+B Y
+A Z
+B Z
+B X
+A Z
+C Y
+A X
+A Z
+C Y
+C X
+C Y
+C X
+A Z
+A Z
+A Z
+C Z
+C X
+C Y
+A Z
+C Y
+C Y
+C Z
+C Y
+C Y
+A X
+A X
+A Z
+B X
+B Z
+A Z
+B X
+A Z
+A Z
+C X
+A Z
+B Y
+A Z
+B Z
+A Z
+C X
+A Z
+B Z
+A X
+C Y
+B Y
+C Y
+C X
+C Y
+C X
+A Z
+C Y
+C Y
+C Y
+C Y
+A Z
+B Z
+B Y
+B X
+B X
+C Y
+A Z
+A Z
+A X
+C X
+A Z
+B X
+A Z
+B X
+C Y
+C X
+A Z
+B X
+C Y
+A X
+B Y
+C Y
+C X
+A X
+C Y
+A Z
+B X
+C X
+A X
+B Y
+B Z
+A Z
+A Z
+A X
+A Z
+C X
+A Z
+B X
+B X
+C Y
+B X
+B X
+A Z
+B X
+A Z
+B X
+B Z
+A Y
+A X
+A Z
+C X
+A Z
+A Z
+B X
+B X
+B Y
+B Y
+A X
+C X
+A Z
+C X
+A Y
+A Z
+C X
+B Y
+A Z
+C Y
+A Z
+A Z
+C Y
+A Z
+A Z
+A Z
+A Z
+B X
+C Y
+B Y
+A X
+B X
+A Z
+B Y
+B X
+B Y
+B Y
+C Y
+C X
+C X
+B Y
+C Y
+A Z
+B X
+C X
+B Z
+A Z
+C X
+B X
+C Y
+C X
+A Z
+C X
+C Y
+B X
+C X
+C Y
+B Y
+A X
+A Z
+C X
+C X
+B X
+B X
+B X
+C Y
+B X
+B X
+B Y
+B Y
+B X
+C X
+C Y
+B X
+B X
+B X
+A Y
+B Z
+C X
+C Y
+C Y
+B X
+B X
+A Z
+A X
+C Y
+B X
+C X
+B X
+B Y
+A X
+C Z
+C Y
+A Z
+B Y
+B Y
+A Z
+C X
+C X
+A Z
+B Y
+A Z
+B X
+A Z
+C Y
+C Y
+B Y
+A Z
+A Z
+A Z
+C Y
+C Y
+A X
+C X
+B Y
+C Y
+C Y
+C X
+A Z
+A Z
+C X
+C Y
+A X
+B X
+A X
+B Y
+A X
+A Z
+A Z
+C Y
+A Z
+B X
+C X
+A Z
+A Z
+A Z
+C Y
+C X
+A Z
+C Y
+C Y
+B X
+B X
+C X
+B X
+C X
+A Z
+B X
+B Z
+B X
+B X
+C Y
+A X
+A Z
+B X
+A Z
+C Y
+A Z
+C Z
+A Z
+C Z
+C X
+A Z
+B Z
+A Z
+C Y
+B X
+C Y
+A Y
+C Y
+C X
+B X
+B Y
+C X
+A Z
+B Z
+A Z
+B Y
+B X
+A X
+B X
+B Z
+C Y
+B Y
+C Y
+C X
+B X
+C Y
+C Y
+A Y
+C Y
+B X
+B X
+A Z
+B X
+B Z
+C X
+A Z
+C Z
+C Y
+A Z
+A Z
+B Z
+C X
+A Z
+C Y
+A Z
+A Z
+B X
+B Y
+B Z
+C X
+C Y
+B X
+A Z
+B X
+A Z
+B X
+A Z
+B X
+A X
+C Y
+B Y
+C Y
+B X
+A Z
+B X
+C Y
+B Y
+B Y
+B X
+A Z
+B X
+C Y
+A X
+A Y
+B X
+A Z
+A Z
+B Y
+A Z
+A Z
+C Y
+B Y
+A Z
+C Y
+C Y
+C Y
+B Y
+A Z
+B X
+A Z
+C Z
+A Z
+A Y
+B Z
+C Y
+A Z
+C Y
+C X
+B Y
+A Z
+A Z
+B X
+A X
+A Z
+B X
+A Z
+C Y
+C X
+A Z
+A Z
+C X
+A X
+A Z
+C Y
+A Z
+A Z
+C X
+C Y
+B X
+B Y
+B Y
+C Y
+C Z
+B Z
+C X
+C Y
+A X
+A Z
+B X
+B Y
+B Y
+C X
+B Z
+B Y
+B X
+B Y
+C X
+C Y
+B X
+B Y
+B X
+C X
+C Y
+C X
+A Z
+B Z
+B Z
+C X
+C X
+B X
+C X
+B X
+C Y
+C Y
+C Y
+B X
+C Y
+C X
+A X
+A Z
+A X
+A Z
+B X
+B X
+A Z
+A X
+B Y
+A Z
+B X
+A Y
+B X
+C Y
+A Y
+A Y
+B X
+B Y
+C Z
+C Y
+B Y
+B Y
+B X
+A Z
+A Z
+B X
+A X
+B X
+B Y
+B X
+B X
+A Z
+C X
+A Z
+A X
+A Z
+B Z
+B X
+A Z
+C X
+A X
+B Y
+C X
+B X
+C X
+A Y
+A Z
+B Y
+C Y
+A Z
+A Z
+A Z
+A Z
+A X
+A Z
+B X
+A Z
+C X
+A Z
+B Y
+C Y
+A Z
+B X
+A Z
+C Y
+B X
+C Z
+B Y
+C X
+A Z
+A X
+C Y
+B Y
+B X
+C Y
+C X
+A Z
+B X
+C Y
+A Z
+A Y
+C Y
+B X
+C X
+B Y
+A X
+C Y
+B X
+C Y
+A Z
+A Z
+A Z
+C Y
+B Z
+B X
+A Z
+A X
+B X
+C X
+B X
+A Z
+B X
+B X
+B Y
+B X
+A Z
+C X
+B X
+A Z
+A Z
+C X
+A X
+A X
+B X
+B Y
+A Z
+C Y
+C Y
+B X
+B X
+A X
+A Z
+A Z
+A X
+B X
+A Z
+B Y
+C X
+B X
+B X
+C Y
+A Z
+B X
+A X
+C Y
+C Y
+C Y
+A Z
+B Y
+C Y
+C Y
+C X
+A Z
+B Y
+B X
+B Y
+B X
+C Y
+C Y
+A X
+B X
+B X
+C Z
+C Y
+B Z
+A Z
+B X
+B X
+B Y
+C Y
+C Y
+A Z
+C X
+B X
+B X
+A Z
+B Y
+B Z
+B X
+A Z
+A Z
+A Z
+C X
+C Y
+C X
+C X
+A X
+C X
+C Y
+A X
+B X
+A Z
+A X
+B Y
+B X
+A Z
+A Z
+C Y
+B Y
+A Z
+B X
+C X
+A Z
+A Z
+C X
+B X
+C Y
+B X
+B X
+C Y
+A Z
+A Z
+A Z
+A X
+A X
+B X
+A Z
+B X
+A X
+C Y
+C X
+C X
+A X
+A Z
+C Y
+B X
+A Z
+A Z
+A X
+A Z
+B Y
+C X
+B X
+C X
+C X
+C X
+A X
+C Y
+A Z
+C Y
+B X
+B X
+B X
+C Y
+C Y
+A Z
+A Z
+C Y
+A Z
+B Y
+B X
+A Z
+B Y
+C Y
+A Z
+C X
+B X
+C Y
+C Y
+C X
+C X
+A Z
+B X
+A Z
+B X
+C X
+B X
+C Y
+C Z
+C X
+C Y
+A Z
+A Z
+A Z
+B Z
+B X
+A Z
+A Z
+B X
+A X
+B Y
+B X
+C Y
+C Y
+A Z
+B X
+C Y
+A X
+A Z
+B Z
+A Z
+C X
+B Y
+B Y
+A Z
+A Z
+C Y
+B X
+C Z
+C X
+A Z
+A Z
+B X
+B X
+A X
+B Y
+C X
+A Z
+C Y
+A X
+B X
+A Z
+B Y
+B X
+B Y
+A Z
+B Y
+C X
+A Z
+B X
+A Z
+C Z
+A Z
+A X
+B X
+C Y
+A Z
+A Z
+A Z
+C X
+B X
+A Z
+A Z
+B X
+A Z
+A Z
+B Z
+A Z
+C Y
+B X
+C Y
+C Y
+C X
+B X
+A Z
+B Y
+A Z
+C X
+B X
+C Y
+A Z
+B X
+B Y
+C X
+C Y
+A X
+C Y
+B Z
+C X
+B X
+C X
+B X
+A Z
+B X
+A Z
+B Y
+B X
+A Z
+B Z
+A X
+B Y
+B X
+C X
+C X
+B X
+B Y
+C Y
+B X
+C X
+C X
+C Y
+A Z
+C X
+A Z
+C Z
+C X
+B X
+B X
+A Z
+A X
+A Z
+C X
+A Z
+B X
+A Z
+B Y
+A Z
+A Z
+A Z
+B Y
+A Z
+A X
+A Z
+C Y
+A Z
+C Y
+A Z
+A Z
+C Y
+A Z
+A Z
+C Y
+B Y
+A Z
+A Z
+A X
+C X
+B X
+A Y
+B Y
+A Z
+C Y
+C Y
+A Y
+C Y
+B Y
+B X
+A Z
+B Y
+C X
+A Z
+A Z
+A Z
+B Z
+A Z
+C Y
+B X
+B X
+C Y
+A Z
+C Y
+A Z
+A X
+A Z
+B Z
+C Y
+B X
+C Y
+A Z
+C Y
+B X
+C Y
+B Z
+B X
+A Z
+C Y
+A Z
+C Z
+A Z
+C X
+B X
+A X
+A X
+B Y
+A X
+B Z
+B X
+A Z
+B Y
+B X
+A Z
+A Z
+A Z
+C X
+A Z
+B Y
+C Y
+A Z
+C X
+A Y
+A Z
+B Z
+B Z
+C Y
+A X
+B X
+B Y
+C Y
+C Y
+A X
+A Z
+C X
+C Y
+C Y
+B Y
+B X
+A Z
+B X
+A Z
+A Z
+B X
+B Y
+B X
+A X
+C Y
+B X
+B Z
+A Z
+A X
+C X
+B Y
+C Z
+B X
+A X
+B Y
+A Z
+C Y
+C Y
+A X
+C Y
+B X
+A Z
+A Z
+A Z
+A Y
+B X
+B X
+A Z
+C X
+A Z
+C Z
+B Z
+A Z
+B X
+A Z
+C Y
+B Y
+B X
+A Z
+C Z
+B Y
+A Y
+B X
+B Y
+A Z
+C Y
+B X
+A Z
+B X
+C Y
+A X
+C X
+A Z
+A X
+A X
+A X
+C Y
+C X
+A Z
+A Z
+C Y
+B X
+B Y
+B X
+B Y
+A Z
+C Y
+B Y
+B X
+A Y
+B Y
+A Z
+B X
+B X
+A Z
+C X
+B Y
+A Z
+A X
+C X
+C X
+A Z
+C Y
+B Y
+A Z
+A Z
+C Y
+C X
+A Z
+C X
+B X
+C Y
+C X
+C Y
+B X
+B Y
+C X
+A Z
+A Z
+C Z
+A Z
+A Z
+C X
+C X
+B X
+B X
+C X
+B Y
+A Z
+C Y
+C X
+B Z
+B X
+B X
+C X
+B X
+A Z
+C Y
+A X
+B Y
+B X
+C X
+B X
+C Y
+B X
+B Y
+A Z
+C Z
+C X
+B Y
+A Z
+B Z
+C Y
+B Y
+A Z
+A Z
+B X
+B X
+B Y
+A Z
+B X
+B Z
+A Z
+C Y
+C Y
+A Z
+B Z
+C Y
+C Y
+C X
+B X
+B X
+C Y
+B X
+C X
+C X
+A X
+C Y
+B Y
+A Z
+C Y
+A X
+A Z
+A Z
+C Y
+C Y
+B Y
+B Y
+A X
+A Z
+B X
+A X
+A X
+B Y
+B Y
+B X
+C X
+A Z
+A Z
+B Y
+C Y
+C X
+B Y
+B Y
+A X
+B X
+C Y
+B X
+A Z
+A Z
+C Z
+A Z
+B Z
+B Z
+B X
+A X
+C Y
+B X
+B X
+C X
+A Z
+B X
+C X
+C Y
+C Y
+A Z
+A Y
+C Y
+C Y
+B X
+A Y
+B Z
+A Z
+A Z
+C X
+C Y
+A Z
+A Z
+B X
+B Y
+A Z
+A Y
+B X
+C Y
+A Z
+B Y
+B X
+B X
+B X
+A Z
+A Z
+A X
+B Z
+B Z
+A X
+C Y
+C Y
+B X
+A Z
+A X
+A Z
+C X
+A Z
+C Y
+A Z
+A Z
+B X
+A Z
+C X
+C Y
+C X
+B Y
+C Y
+B X
+A Z
+B Y
+A Z
+A Z
+A Z
+C X
+C X
+B Z
+B Z
+B X
+B Y
+A Z
+C X
+C Y
+A X
+C Z
+A Z
+B X
+C X
+B X
+A Z
+B X
+A Z
+C X
+A X
+B X
+B X
+A Z
+B X
+B X
+C Z
+B Z
+B X
+A Y
+C X
+B X
+B Y
+B Z
+C Y
+B X
+C X
+C Y
+A X
+B X
+C X
+C X
+B X
+A Z
+C Y
+B X
+A X
+A Z
+B X
+B X
+C X
+A X
+A X
+A X
+C Y
+A Z
+C X
+A Z
+C X
+C X
+A Z
+C Y
+A Z
+B Y
+A Z
+B X
+C X
+A Z
+C X
+B Z
+B X
+A X
+C X
+C X
+C Y
+C Y
+B X
+B Y
+B X
+C Y
+C X
+C Y
+B Y
+A Z
+B Z
+C Y
+C Y
+A Z
+B X
+C Y
+A Z
+A Z
+A X
+B X
+A Z
+B X
+A X
+C X
+B Y
+B X
+A Z
+C X
+C X
+B X
+C Y
+C Y
+C Y
+A Z
+B X
+A Z
+B Y
+A X
+B X
+A Z
+B Y
+B Y
+B X
+C X
+A X
+B Y
+A Z
+B X
+C X
+B X
+A Z
+C Y
+A Z
+A Z
+B X
+B X
+A X
+A X
+C Z
+C X
+B Z
+C Y
+A Z
+C Y
+C Y
+A Z
+B X
+C Z
+C X
+B X
+C X
+A Z
+C Y
+C Y
+B X
+A Z
+C X
+B X
+B X
+A X
+C Y
+B X
+A Z
+A Z
+B X
+B X
+B Y
+A Z
+A Z
+B Y
+B X
+C X
+B X
+A X
+A Z
+A X
+B X
+B X
+C Y
+A Z
+A X
+C Y
+B X
+C X
+C X
+C X
+C X
+B Z
+B Y
+C X
+A X
+C Y
+C Y
+C X
+B X
+B Y
+B X
+B X
+B X
+C X
+B X
+B X
+C Y
+C Z
+B X
+C Z
+A Z
+A Z
+C Y
+B Z
+B Y
+A Z
+A Y
+C Y
+B X
+C Y
+A Z
+B Y
+C Y
+C Y
+A Z
+A Z
+C Z
+A X
+A Y
+B Y
+A Z
+A Z
+A X
+C Y
+B Y
+A Z
+A Z
+B Y
+C Y
+C Y
+A Z
+A Z
+B Y
+A Z
+B X
+A X
+A Z
+B Y
+C Y
+C X
+A X
+C X
+C Y
+B X
+B X
+A Z
+C Y
+B X
+B Y
+C Y
+A X
+B Z
+B Y
+C Y
+C Y
+A Z
+A Z
+A X
+C Y
+A Z
+B X
+A Z
+C X
+C X
+C Y
+C X
+B X
+C X
+A Z
+B X
+B X
+B Y
+B X
+C Y
+A Z
+B Y
+B X
+C X
+C Y
+C Y
+A Z
+A Z
+B Z
+B X
+A Z
+C Y
+A Z
+B X
+A Z
+A Z
+B X
+B Y
+A Z
+B Z
+C Y
+A X
+C Y
+C Y
+B Y
+B Y
+B X
+C X
+A Z
+B Z
+A X
+C Y
+B X
+A Z
+A Z
+C Y
+B X
+C X
+B X
+A Z
+C Y
+A Z
+B Z
+A Z
+A Z
+A Z
+B X
+C Y
+C Y
+C Y
+A Y
+C X
+C Y
+B Y
+A Z
+C Y
+A X
+A X
+C Y
+A X
+B Y
+C X
+C Y
+A Z
+C Y
+A X
+B Y
+C Y
+B Y
+B X
+B X
+C Y
+A Z
+C X
+A Z
+C Y
+A Z
+C Z
+A Z
+C Y
+A Z
+C X
+A X
+C Y
+B Y
+C Y
+C X
+A Y
+A Z
+C Z
+A Z
\ No newline at end of file
diff --git a/Advent of Code 2022 Day 2/src/main.java b/Advent of Code 2022 Day 2/src/main.java
new file mode 100644
index 0000000..3d091f5
--- /dev/null
+++ b/Advent of Code 2022 Day 2/src/main.java
@@ -0,0 +1,93 @@
+import java.io.IOException;
+import java.io.RandomAccessFile;
+
+import java.util.ArrayList;
+
+public class main {
+
+ public static void main(String[] args) {
+ // TODO Auto-generated method stub
+ int calories = 0;
+
+ try {
+ RandomAccessFile file = new RandomAccessFile("input.txt", "r");
+ String str;
+ char moveOfOpponent = 0;
+ char moveOfYourself = 0;
+ char indicatedEnding = 0;
+ int scorePart1 = 0;
+ int scorePart2 = 0;
+
+ while ((str = file.readLine()) != null) {
+ //Part 1
+ moveOfOpponent = str.charAt(0);
+ indicatedEnding = moveOfYourself = str.charAt(2);
+
+ switch (moveOfYourself) {
+ case 'X': //Rock
+ scorePart1 += 1;
+ switch (moveOfOpponent) {
+ case 'A': scorePart1 += 3; break; //Rock
+ case 'B': scorePart1 += 0; break; //Paper
+ case 'C': scorePart1 += 6; break; //Scissor
+ }
+ break;
+ case 'Y': //Paper
+ scorePart1 += 2;
+ switch (moveOfOpponent) {
+ case 'A': scorePart1 += 6; break; //Rock
+ case 'B': scorePart1 += 3; break; //Paper
+ case 'C': scorePart1 += 0; break; //Scissor
+ }
+ break;
+ case 'Z': //Scissor
+ scorePart1 += 3;
+ switch (moveOfOpponent) {
+ case 'A': scorePart1 += 0; break; //Rock
+ case 'B': scorePart1 += 6; break; //Paper
+ case 'C': scorePart1 += 3; break; //Scissor
+ }
+ break;
+ }
+
+ //Part 2
+ switch (indicatedEnding) {
+ case 'X':
+ scorePart2 += 0;
+ switch (moveOfOpponent) {
+ case 'A': scorePart2 += 3; break;
+ case 'B': scorePart2 += 1; break;
+ case 'C': scorePart2 += 2; break;
+ }
+ break;
+ case 'Y':
+ scorePart2 += 3;
+ switch (moveOfOpponent) {
+ case 'A': scorePart2 += 1; break;
+ case 'B': scorePart2 += 2; break;
+ case 'C': scorePart2 += 3; break;
+ }
+ break;
+ case 'Z':
+ scorePart2 += 6;
+ switch (moveOfOpponent) {
+ case 'A': scorePart2 += 2; break;
+ case 'B': scorePart2 += 3; break;
+ case 'C': scorePart2 += 1; break;
+ }
+ break;
+
+ }
+ }
+
+ System.out.println("Part 1: " + scorePart1);
+
+ System.out.print("Part 2: " + scorePart2);
+
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/Advent of Code 2022 Day 3/.classpath b/Advent of Code 2022 Day 3/.classpath
new file mode 100644
index 0000000..60b915a
--- /dev/null
+++ b/Advent of Code 2022 Day 3/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Advent of Code 2022 Day 3/.project b/Advent of Code 2022 Day 3/.project
new file mode 100644
index 0000000..5b4d6ed
--- /dev/null
+++ b/Advent of Code 2022 Day 3/.project
@@ -0,0 +1,28 @@
+
+
+ Advent of Code 2022 Day 3
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ 1671521328694
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/Advent of Code 2022 Day 3/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 3/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e2e9c66
--- /dev/null
+++ b/Advent of Code 2022 Day 3/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/Advent of Code 2022 Day 3/input.txt b/Advent of Code 2022 Day 3/input.txt
new file mode 100644
index 0000000..2b4c17e
--- /dev/null
+++ b/Advent of Code 2022 Day 3/input.txt
@@ -0,0 +1,300 @@
+PPZTzDhJPLqPhqDTqrwQZZWbmCBMJMcsNmCBFWmMcsNb
+vplSlfdfGvfRRGsgNcMglsFWMWMC
+jtjvFHdjjwqrwqwL
+NSffhsNSjfLjfstsjtjNNjjqMqnpggHngqgHGHCgClGbCzCC
+dDPZZDZFdwFWwFZFWZRTFDwGzCMlgnpgCpnzglClHMbg
+DTPFZQRcdTVNhbjVbcLc
+JZLDcSZSpHHrrLrJcpzBRrhlzgRTmTmvBRmm
+qQsQMCbMQWqCVVvmTRhTTRhCRhTg
+svbGWPqGPNLJSpZnZpnN
+wLtPGCLwfWLflCPtPfLLTSbHMbSgMdtvDHghhHvdgZ
+nNsFznJcJqzFFszFqrNnRzdbZDDbRMbMdRHbMdgHvZSd
+VczNnjsrFrjcNprqVwTPfjGllWPQBBWlgB
+nnGtjFFjFTTTGtBGmWBTWffLcMJMQlzjQPCPcChCQDJzDJJd
+SSggbHVbZRgZsHZRHdVhzCcJhzhMzJhQPQ
+rHsNSsSZqqrNgpLLWmCfFGqGCBWm
+ZnCtCCVZmVBCQBWQnWQNCQMcLrMMgMLqLSwMSSDwjcBD
+hTbGJGfTbrSfScmjwj
+bbGGlTdlJTdGlFpdFvJdsbmdZWPWtnVCHQvtVHzvtHWtCtVN
+pNpCNFMNFhhwDgRVdSVqwgrdmJ
+nvHbPZtTHWbntTmdTRrqVRrdmz
+vHWPBWvntbWnHLHZLqWtBCjjhBNhCjGjjNjDNChlFC
+CnFbFzpzJbsCRpbRpbnPCnJLTtwQtjdtcttHHHDtDPjQwTHB
+qGrflmrNgvvmGqcdwrtWQHwTBHQWtj
+mVMvSclGqvNVMMNVsZsnJJRJsbzpSJpJ
+cJTcRllRldjZlFcbcFJrrvqCCVTNNVWSPpQNmpQqCPVC
+wGLBfLzgBfzHGGGnLDGDGgwHqqHmVSWqpQpCpQRWVWVNpS
+DRshRBLMhZlFZMJvlJ
+SdGbmRGddMcfbWWSptssDHssGDNsjCCC
+glPLTzczrCpNNsHTst
+gqcZJPrBlhJgPndMVJbWMVfnWV
+qNbmLmndBQqjsCPLZsLPZz
+pwfhfCvJvvTMGzSjzPSPjcZp
+VvvJVMCrvTRwgvwWvqNmqblNHtBWqQWlql
+WNJmddmpFmMMrnlFddlWTHCHBRcnCBTRzTDRTwTz
+qffLvLLvbqhqPbjbqRGPSqVtPDTTwTwTDzCBCccQczssCwcc
+tfhGLhqthZVhbfpFRJMMMrJrZpmZ
+VVgSmdqFpMddqSfpfVVWQvzTPvTWPrpsQPQQJv
+ZCnRCDwRWCPrTrsW
+HwRNLLsnHRNjtRSqNqMmfqVVMbqg
+slqwzGvWqMsvbmTzTCBhhBhgcgjbCPCchc
+tJVJSZStQdMQSdntJHjFNFPCNpjFCPcFFdhB
+QDrRVZSnrQDVVRRtRHHWGmzTDDqMqMfzwswWsl
+rFBrJFcrWHzCLFHqSg
+PdVjfjlGPRzRGtGLRC
+TQPMpMVPDDPfPTMMPpTWWrhbcbTcWbzzcsmTmb
+ZDQDZDJNqqNbwQPgtlGntHlVGlPPrf
+vhmChcgvMCdvzCvvHfdntBHGBldrHBVG
+cCpTCLvmjhpjzSTTLSpwbDqjJQFZgNDwJssFDw
+LfMFLwMwdrFmWBJD
+tVlHqqVTHRtmQggrjQqDJg
+VDntHnDGRntHPbLPPLLZhcsLPLww
+FBLddLctDQcbCLltbdCRdLQVNVDjnPHVnsjnPqVSHNNVTP
+vGmwrZZWJpfWfmvZgZJjSTPqsTrVPTrHTssNPP
+wNZJffhNWmhvMhgwMZpvNJtbQRtQQLdFhbQFClLBCBlc
+npvSWJBCDDBBDSvCZSpJdsTZsRhTdgMgPdhqHHqR
+bjtwqLrtmfmtLVjVLQHHHdgwTTHMssMTGHhH
+VtmVVNtqlllpJvnnnS
+nCqrnLSSGnpjBjBGbcbPbB
+vfdVdtdgMMrFgHfHPcBcPBjwQDjFbwDB
+zgHWMmgHmWfWvVvRRzLCSCJsZNpJZSsrnssW
+bBjWlfrrnClSssMMFmVVhMjgMpLM
+dRDqDdzQrDdhqMMPtVLgFL
+THDRwHDNDdQdcDvTcZbBGBGrZZnZcrlb
+jgSVPVsVmshhsCQm
+vmFtcDBfDFLrvTFZvLFvWzWhHwCWHnwHnCQCcwnq
+FmDpFBmZZFrDbDfDtmLNgMPNGdPjRdPlPPpMVN
+VVJGdSHZnnHdgFntcschhccvvPvtstPq
+mLNjNQFBpPlPvNqs
+LMTMMRDwwMMSGZzRnnGbzF
+JFFfVrvVmHfGmHFvmrSQBQlSJLlShLlgBqwJ
+DMCdpCbtgbcCCNpbCCPgRqdldBRQRBRwLsBSLhQs
+cgbcPbpcWDWjNCZDWWZttDDGrHzznHzjGzmHnVjVvvVnrz
+rtGTmSTGNtvvgfNGSbfwWWvJqwcDwwJPWcwWqD
+lZhdHzFhLZhdBcWsWsWmwPcFqW
+BhhjLzhZCCdhgCTtCSMmMrbt
+FrzSRNrWNFdNhcRDDdrFWCVVZZZmjJbJSPlllgllVbgT
+nQGGHqvHMVVpMLGffqtwLMtwlmPbTbjZPJmllLJBmZmZlZbP
+VMvvpvQttHqnsvhhzhdrcdWNchsW
+BzRTBbWVQNdngtDFVprDFrpF
+vhfhSJvbhwSpDDFZHfMpHp
+JhmvJsLLJLJqmsJLbsGGjvNRzzBcTBNlRNmnRTQdzzzn
+vpCLrTcpRmncrncLcnccvLLNWVsRbhbtsQbJbVQWtWlWbW
+PfFfdjdSjPffMFsQbNhlFssFNQ
+zBDsjgfZHczLHTHC
+BnvpJnVgPWJzczpnvnWVWRGTrRTGmmBhRmBmThrmrf
+dNlwjLNLlbLSjLQVdLdjjSTRHmRmTTNmmRRtfTTfhThs
+FSSSqbVDQZzzPPPFZc
+fTTrrBqwfDTWfTDrRNrnRjgPSpJPnnmp
+PvHPbsvZlMtbbvbCLLMHtHZZjtgJRjSnJSpSpjRgRjggSRmn
+VLHbCbVPLZvlvMhHCHlPHbLCqQQfdQTBddTWhDTBchQzQwBW
+ZBHHfHWLfLqjfLjHZBSDwHDWhvpFCQqNpvVNVNQCFPJvPQCF
+zMrtclbdvFPSpdFp
+rGMMnnGgsbzblRnlSrzSgRRDwLWjLjTTDBZmfLwZmDBf
+rfJVfnztTfZFMfZq
+cRGcdddPRbHvHCRHRmShqFrPSTmTPjSjZT
+NvRHGGdNLrNJsDtL
+dgggppRqnlnjbbjRwzmtHb
+ZTPhrVvMZhrVQPZNCMZQjjbFtjmswwFtzVmLGbmL
+rZhPCPPcNPNTMfvZPCvhMPSBpgSqSqfpDgJJggdwWJgg
+TsgFbTQSZZsSJFThhggQFshpMSzRRRDPwwzPwDftRDrczLww
+GCmnjCNjmlVdHNfdGNjMwPrrLwLcMcrcRHzMHM
+nmmBnmlWlVWvjnNlpfFQbZsFpQhgJFpB
+jfpdTTqqJpDfQrscgsDh
+mNFmHHtVsVQrsllG
+CmFtZPHNzzpBspzpLBqw
+RsgJsjsZbTjmZZMMJPtCSPPDhCSrDhrjhC
+lBwzHLQddZlLQnChGdtDhrnqhq
+fLHpNQQpwvHllQVQHNNfHpzZMFWbccmTcbJMcFsWTRVbsTWF
+DhHFMRDDmLmshTmSCpSWZVNHtCCNnW
+fJJPBvlvlBflQQfQtNWtQzpSWZNtCZpN
+vPJbdvBfqhqhShTFMs
+lttWShphLtWWGppCQLlwZTHZHmfjjvwvHFmw
+MFNssMMDVzrrnTmvJTHwJmZmZr
+MsBznNznRgzzncFBLQQGGBBtdhdGpWPp
+JFmvMWBmBlbBCZrZrH
+DjRRjgffgjqwsDqrcHNNbCZbCbbN
+sSffwRVjjDVzfjSjswDSQLdPrvGvFMmMJMMJmnWzGL
+RbvwgbTVgzGTrhvWDmNDGJfCDffMmNBD
+PjSlqldccqFLSqQLCpJfpWDCcCJZBpMD
+jlHdPlqqSnjHggWgwrhzRz
+WsJnWnmCJpTnLWmJLCSDVVmhNjRbrDRgrgZRhrjrhhgdZN
+QlFfQBqlBwBqBffMFPsbgdgwsrZjrPNrNs
+MvvvlHBcfBtvffGBcMqqqLpmLsJtpSLSCWCVCnnTzJ
+QSRRwSWPhWhwwHbtsNGZNRNZTgRcmc
+nfvDCrnnDvJJDDVMLNgtsZmZsVtZGgqmGp
+nCngDlFfvvJLnCJJLMFMClHBBzQzwzbhlQHHPllbBhdb
+qNFzGFFFnGGDJnzSdFdzjdvmCvzPzzRmgCmMmtgvcmtV
+sQlhpLpWQQZpQZpQrBlLsLLCRggtMgVbbtggBmVVmbmBVm
+ppQHRflRSGTdHSGN
+BgTnWbbwPgPWgPGfGlWfdFFFlsSF
+QvDNDZRMjCNZcHZZDQFShGFpBhdRsGpLsFRd
+rrqvNcHjBcJgrTzbPVVz
+pCjdsSdCljdBlpJpdmjHFHmDfTDTwgfgcw
+WQrWnGzhNZzWfcnHfBwnvwHc
+RLGNGQhWZhMrZNtBpsLPsVJbPLVb
+TRDDSzNhHNHfSppCCMZsMMssdgZvfZ
+GbGlctGqrBqVtrtLGtmqTtssPdMZcCZMnMvCZgdddgsP
+BQqbVVVqLtBqWbTlmLBhQjFhJDRpHhzpJSJDNF
+FTHTnPSmFqSPCTVDhZRCZDhjDRsV
+blbLcBgMgMlrcLMbzrlBLZjRVsZZfNVfVfJsbNqDDh
+tLtLQgzWMzSnHmPSWdqW
+DnwmFcpmpGqFwCwmfCDMZsNVVMdlVrsNsczrrl
+ghtBPJbHtWPbJPdBSPMzsrTTzZMTTMSNzrVZ
+bPdjjhtPPJjjBQJJdbhRgJhLCnfLGGmLnGLpLfDRGGfpqG
+HzzZZjCLjjZCmVQppssbGpmcTGgp
+nMnJPqJlMPqBJllSJvlMSDGGBcgBcsfBhTpsFhgTTfFQ
+drSRqnSqJDcSJrMJnRvCHtWZtjZZrHtVjrwZLj
+mDJjmQggstPvDWJgQWJgPPmNFFLZpphZNlNpZLhSLvLZNf
+rzzfTczCzCdBwddcCCHFpHFMNHZSHMFrHNFp
+bcfzdGnCtVsVtsWn
+CMfCfGfwbMMLdTMH
+lqzDgLWqQWhQNWnlQqHTFFFFchbddTRbSddd
+WnzDNZmPZmgglNCrvjrtrLffrJZJ
+BllCMzjjlBHCCllHvljCMhbrQbTVTrvprTqrFWFFvF
+ZNwfNLRnfwtRtNwqThVFpwWVJrbh
+LnRnpNRSLcpZZNtmZmjgGgGMPBHCmMzsmsHM
+MRMPpwWTLMMMMLLRMPbvfQZCnqQnqvWZWGqGDQ
+gJslgmlmSZqssGGbnV
+mJFSmmjcdmgJhdgrdjcdjwbRwpMwpHBRHrztwtRMRL
+CccctqnQVvQcrsFwznmnrBrs
+LLPThTSjPdJjLTtMBrsDmbbsBwbswGMF
+jLSLWPLlTlgSlgSghdvtQZvqvWRcCpHVCqWp
+DmggMZCDbdNrttnbPn
+cclqSqGjSBwLqswNrFNzffFfNPsCsd
+jGpLBcwlQBSpLjSQLvjRTZHTCRRDggRTHhmvmV
+LWzrnwZFnzQlWQZndWFNvHBNDVBBNjplNjjVvV
+RCSmPSCgsgTmCRqnsTCHvjJJpvBBSVSMpVjVMJ
+sfgsRGnRTghQWWbLwfhF
+JnJlTnDnwtWHMdJt
+phNPDPVvPcPPvMRqVZRWMqRRWM
+fGGScQDfssQzLbgT
+rLVVdSSvVzQSRnzSRRnBQMJqDTjMsMsMqqPPhP
+wmbWWFGVlGfptbhshsTmhqDPJJMm
+CbWtWlCNpglgbtCWtFHdvNHVZnZZVnNVHHcc
+qtRszqSZVnTCVwwLJpcgppLHqp
+MPvBGNnDWMGMPDvGBPvMBFvpppjHwHpJJJJJFjjwLcjLJg
+hBfPNvGvhDnvMPdslCZCtVsRRCSZff
+HgvgvLNDcCcNBPDDvNNBzLNBnnhQqwRnRLQhWRhhWssqsnZZ
+FlfprJzttrrTlGpbJVQhRwwbnbsRWVnZss
+FGmdJrFdJddmjFfTttpfftlDvHSDgCDHgvSgHPcBzMHSzj
+dgHhCJbBbwgNcVzlvzvzQVzH
+RZPjRRRDPnjrjSnfFrDsnvzWVlzLfGzvBVWccclcGl
+nDDZPjjRnZmFstnZBrsZgtCgbtMdqbJdNqMdgdwg
+LvdrGnDBGBGrvrGLJtdrmmcfClqllsqlmjsLmcQC
+VpbwbwTSVVwpzZMRSVmsjDqCclclNZCjNjQq
+PpzWwRMwTwFpwtJBHnhtdnDvvP
+GCJSClmwzmSgrpPpSpgcrS
+bjLpsspHMHvBTsDLjTDtbTBFRFrQQQPcgQgcFcFPcFcnPs
+pBTBvqBHbDjHfJqlGlzWJGllWC
+GgbGNjQGzzQvFcFfRFmFJbff
+pHDSLLCqpqppPZVSCSDdncRFwfmZcRWRJfncmRJn
+LDTTLSSDSMQgvNTmzz
+bLjgLVlJnjSJjgLgLjqqMcMfddftcCCnCccfQfsC
+FRRmphNRmmdwPHpBPswDftDzMCfMcfWMMC
+FrvdvrPPFHhNRPvFRmFZVbggqbGjJglJbjjTrVjJ
+cSpdczpfRQQGNGGqvGHv
+wPwFPhCFWbbmChwWmhFPsWrsDVwqVqZqvVVVvzGHDZqHqtZz
+gbPznCbPmmWrWbWhJRpLnLRnTcScRSSLBd
+pfwbrjTbDczbzbPcwTQbvWdWWTdddSldVHWSgHgn
+mQmFQRFssJJJJthtJmBJmCHMdlWdnlltnHSVlSlgtnvM
+BJBhRhRqRLRJNhJhBDwjzPPPcNQZrZrzDr
+HTHwQJzwLZNcTwJtFRFHDtFvRFRFdr
+jlMnMlbqqpMBvsWBVGRRGdSVgrDthFDddh
+qvMjjMMpbPWqmMjnlpplpnWscNwLCQPzQLfzTzcZJfLQLPJz
+gCTHTVdPdPvFfdCCSScZSZncMMCGGM
+LNqLlssmWlLqzBRzWBwWBRRZdmJZcSSQDncnJtQcGDDDMd
+jszNLwNWRRrzNbhbvHpdTjdvfH
+NgDWhQmhfFlWFWlzDfhpBwfPBBdwwBJRBPqJJB
+HHMCcHtGcMMbSGjScMGLSsRnqdJJlqqpCPJBRpBRdp
+trMtLVtjjVtjttGctrLLTlZmgFzZTZzZNQmzZDNFhgFD
+MBMtFzBnzSJJttSZBNNZfTsPqTqqqNZNPc
+LlQDQLVCwCDbfRCmRGVjCwLLcqslNcNPgqgTPTsqNNsvqHqs
+RfffRmdjnnzpndtr
+nzpnDRDVwRRjVTSlTtlSSCQLDC
+vgZHFBbbfCbvFbrFSSTqqcGtGTtBGQqS
+HggMfPfbFZbPvNvgZZdHsnJjCzphzVwJjsmpmjMw
+FgvgrgDpRDGTTWVDVd
+zmbnNhHHQHshhhcbnHnnbBTMBMLLWLLGMqWLfzLLTV
+mnnQHjcHHJmnNcHnnhmvZpRrCVZVZFrRJZVPFr
+ZhpVhCSHbsCPbnmF
+GBWGGrftTJlrfttQqsVPbPnGjDszFVncsG
+qfMlQJWBrNWQfftqrQqBhRvdVVSNVSpZdvSZwZRS
+mfzRQqMrtCwLMMZM
+sbVbWgFdJCldtNRPNZ
+FpggcgsjJccJVJJJcbbWWGrHnfmBnrHzfnfzvqrQmpfR
+rWvbrfLnHHnzlFrFWWzJfRQQTwbwRQmQQCgQTwQBwg
+MPsqcZpZdpjGMptpqCSsSwRNjQTBhgwhmgwgmmwgBm
+SZqqqCDGMtpMFFDvFHfJlvDJ
+RZnrZLZbLjRZwdlrnbLClCHMNCTlMMWBPPTHlT
+SDgDzQDcfzJBNPssWCwSMN
+fpQJwmmQmjhjGRbr
+jQzqvLzvMTTQMMSS
+VJlSrnBRZbbJbVnWWBlVWRCSNTMppMBMmmNPHMcNBmTMGmHp
+CtDZJllRClbFzLtszhqFqS
+VwcwzBdmMzJSdMBzzGndGSmlbqbgZgfblTJrTbrqZbTlTb
+tRDvCvCRDCDWtPjCHjvDWTgZLfNqclZTTrNfZtLbLc
+DDvPhhRRvjFjHPRjvVdMwhnpwBSGcwSGcc
+LRtLJSNLdNLjNLRRNdRzVmVrggWmmmpVmpVvBBWFvm
+wqfZnsMnhCnlfGPCCqwphJpWrFHBWHrvTrTHTH
+ZsbGsflwGtjJbzLLjt
+MjdFCjzsQFJQjzbmWHHLPPTfvsLfPZ
+cNgpBgplzVvPTvmLPTVm
+qNlqpcNtBzjQQCQqJjwJ
+cczNGcgNhztlGPCCLDpBSpfVDpCJpSpBWs
+nFqnwrRQrHnFHTMnZqQwMnmFsVsfbSSSJBSsfVVDfWVBWbVm
+RRFZFMHjrQMjrHZqRjLdchdGtGjzDLgtzN
+tzFmNfFNmFclrffhNtNlDWRSdFWnJCnRvRjvJvjD
+LMgZgpZLMpPPPVPMMPbjbndWJSnWbWHWSCRbJD
+BLwMpgMPgwQpTgTTpMVZMTftcGhhhtrhhcGGzQhsllCN
+DWtHFWDHtwsWFHWDWwQblVgnllRBnjvBlVjRVbll
+TzChCMGfNhZSLhLhzRRVvvjmczRgvRmv
+pZSGpNJhCNGLSNLfMGJfJJQFrDDQDqHHgHpsWPFDttQW
+qqccVQZWBVfjzzPVDMJtDtNccCgmtCCm
+lvBRHBRGRDDCRmnmbD
+SLFpGTSsTSsLFsHGvLvdGvdVwZBzZqqzjdQdZjVfrqwW
+dLLwHLTWwjMLRZHCHZglDvjgvvNNDssSsmmN
+nPfJPFbnhMJQfnpJGQJfQBBVssglsmsVVmBDsSqDgvNlgv
+FbMrPPhrtGbJpnhJpJFFbbpJcwtdZzHZZwHCZdwctzTLcHTw
+hCfzfLVbShRwRlBjdzmz
+JZhrMMhZgvHFHJnHGgWdpmpnmlpRwBndRBwcBj
+rMHFhgHZqtGvrWsbPfPNSbstTffN
+dSwQQdSlHtlVQtqqrMZbFBRnBfZRMbDwMw
+GTpcgLcvWvGvJzGpZGJpWpfmMWPBmDPRFPMFMmBfbFFW
+hpcGhTCsGspLchGGzcpvZNStQHSSlNjjtlttlQsq
+nJlhHlLlJGlRnMSsMLsnsSMwFHgwrTBFFwjBjppgpqfwqf
+QmzzmbzNcZQQzDVZDcZQNDtzRqRBFTqTjjwpjBBNRrpBwfww
+mvQPbQtttVVDzvzmRWCWLhSSslvWLGlW
+nSpdSDPpRdrNBhMBMSJJ
+bzCTcwzbczCZswMssczmCCgcqBmrQrrmBmqJBVBVNtrVttrq
+cvzscgZzwTCsWsZvwTfzljDHnflMGMMndHFDdRPp
+sDDnzLVnsMtjnDgfSSbfBjggbqBC
+rlrlcppWcGdPrZNccJrSBSmCHqbSqCbSCgCHPq
+NWcZgpFFgFpDFnDvtMDFzz
+ZpczTjpZcnncHFDn
+hSqqJWWWRRhlnFDVSFnQCB
+qhNMWfqfMhJJRLRvppDzNZTpPTvwwD
+rbSDCwPWwPVcSHcwHspNpNsddszmwGtswN
+vBBfgQvBMvMvjLLlllqtBTNNTPPzTztTsRNPTt
+vvQnjlMjjjqJqQLSrcDcPWbcHbDrDn
+BphwqbwNsjsNsBdDjjhGpsGWzMMTWRTCflfDWSSzfzSlWf
+cFnrrHrnZVZQQvFFVvZhRzTCWlSRMSWhZMWt
+HvJVvggHvVrmQLqmNqLBbhsssw
+NcBqSjGGBjNbZcHwhRVHPwPwPlZR
+TvdtdtvFgHwWgdhn
+tMJFTvtvFtrLJMHBqNNBzjrQcjqNmB
+RrQfLfQvMFdQvLLQVfFcnbSbnwVSnbDslsbSDzDD
+PHLjmHqqZCjPglsbwJbqnDbbJl
+LNHLhjBHHGRfphphrtfh
+FcdMchqcgdchqcfcNWWghNrRrVRjGHFjDJmGFDrRVGJD
+zQtvBvtbQzpSzBptzbBznnwZJRDRVmVnGRGrDrHjZGrr
+HLspTpQLBqWqLqcNgM
+rnqbSSQhsshFqQQnsPSnhbnrzHzzHLNvLHCLFCvVJTlNLJTz
+fcffljGBwgmwwftzNdCCdvLvtHNLTH
+BjWgMGjjWZMwjjgwgMWpwPlnnqSnqQhnrbPMRDsqQs
+hRJhFdNJcrbqbbMF
+qZlTTgTvlHnqvllPssQrgQcQwscrQMsf
+CClpSnTllZnZCDLHnlNzGSRmRthVmmzqJzhd
+DLzSMtDLtzmmlDlMlMDbcrcTDqFvVvVqqTbD
+dnZshHpZRChgnszRwRZCpTqqTcwVqFcrVqcBVPqVTr
+snRRRdJsZgphCWlWtmJSjWWzjt
\ No newline at end of file
diff --git a/Advent of Code 2022 Day 3/src/main.java b/Advent of Code 2022 Day 3/src/main.java
new file mode 100644
index 0000000..d2aec83
--- /dev/null
+++ b/Advent of Code 2022 Day 3/src/main.java
@@ -0,0 +1,92 @@
+import java.io.IOException;
+import java.io.RandomAccessFile;
+
+import java.util.ArrayList;
+
+public class main {
+
+ public static void main(String[] args) {
+
+ try {
+ RandomAccessFile file = new RandomAccessFile("input.txt", "r");
+ String str;
+
+ //Part 1
+ System.out.print("Part 1: ");
+
+ String firstCompartment, secondCompartment;
+ int sumOfPriorityPart1 = 0, sumOfPriorityPart2 = 0;
+ char sharedCharPart1 = 0, sharedCharPart2 = 0;
+ int indexOfCharInCompartmentOne, indexOfCharInCompartmentTwo;
+ String searchedChar;
+ int stringCount = 0;
+ String firstGroupMember = null,secondGroupMember = null,thirdGroupMember;
+ int indexOffFirstGroupMember, indexOffSecondGroupMember, indexOffThirdGroupMember;
+
+ while ((str = file.readLine()) != null) {
+ stringCount++;
+ firstCompartment = str.substring(0, str.length()/2);
+ secondCompartment = str.substring(str.length()/2);
+
+ for (int i = 65; i <= 122; i++) {
+ if ((int) 'Z' < i && i < (int)'a')
+ continue;
+ searchedChar = String.valueOf((char) i);
+ indexOfCharInCompartmentOne = firstCompartment.indexOf(searchedChar);
+ indexOfCharInCompartmentTwo = secondCompartment.indexOf(searchedChar);
+ if (indexOfCharInCompartmentOne != -1 && indexOfCharInCompartmentTwo != -1) {
+ sharedCharPart1 = (char) i;
+ sumOfPriorityPart1 += priority(sharedCharPart1);
+ break;
+ }
+ }
+
+
+ //Part 2
+ if (stringCount % 3 == 0) {
+ thirdGroupMember = str;
+
+ for (int i = 65; i <= 122; i++) {
+ if ((int) 'Z' < i && i < (int)'a')
+ continue;
+ searchedChar = String.valueOf((char) i);
+ indexOffFirstGroupMember = firstGroupMember.indexOf(searchedChar);
+ indexOffSecondGroupMember = secondGroupMember.indexOf(searchedChar);
+ indexOffThirdGroupMember = thirdGroupMember.indexOf(searchedChar);
+ if (indexOffFirstGroupMember != -1 && indexOffSecondGroupMember != -1 && indexOffThirdGroupMember != -1) {
+ sharedCharPart2 = (char) i;
+ sumOfPriorityPart2 += priority(sharedCharPart2);
+ break;
+ }
+ }
+ }
+ else if (stringCount % 2 == 0) {
+ secondGroupMember = str;
+ }
+ else {
+ firstGroupMember = str;
+ }
+ }
+
+ System.out.println(sumOfPriorityPart1);
+
+
+ System.out.print("Part 2: ");
+
+ System.out.println(sumOfPriorityPart2);
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static int priority(char letter) {
+ if (letter <= 90) {
+ return letter-38;
+ }
+ else {
+ return letter-96;
+ }
+ }
+
+}
diff --git a/Advent of Code 2022 Day 4/.classpath b/Advent of Code 2022 Day 4/.classpath
new file mode 100644
index 0000000..60b915a
--- /dev/null
+++ b/Advent of Code 2022 Day 4/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Advent of Code 2022 Day 4/.project b/Advent of Code 2022 Day 4/.project
new file mode 100644
index 0000000..a939f2c
--- /dev/null
+++ b/Advent of Code 2022 Day 4/.project
@@ -0,0 +1,28 @@
+
+
+ Advent of Code 2022 Day 4
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ 1671521328698
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/Advent of Code 2022 Day 4/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 4/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e2e9c66
--- /dev/null
+++ b/Advent of Code 2022 Day 4/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/Advent of Code 2022 Day 4/input.txt b/Advent of Code 2022 Day 4/input.txt
new file mode 100644
index 0000000..6443357
--- /dev/null
+++ b/Advent of Code 2022 Day 4/input.txt
@@ -0,0 +1,1000 @@
+75-76,18-75
+2-54,1-50
+82-83,78-82
+13-37,37-75
+79-80,2-80
+29-90,30-89
+13-16,12-15
+20-93,20-94
+90-95,33-90
+16-77,76-92
+42-52,15-52
+6-34,9-89
+13-77,12-76
+18-81,17-81
+2-34,2-33
+17-92,20-93
+24-89,7-11
+6-49,27-49
+17-69,16-69
+34-57,35-58
+71-76,73-87
+69-72,70-72
+30-70,29-69
+48-85,52-84
+14-69,13-15
+2-61,3-70
+17-86,17-85
+7-98,8-98
+8-93,12-94
+16-35,35-49
+13-59,13-79
+5-95,4-95
+2-40,2-39
+16-44,22-60
+8-26,9-27
+48-89,88-91
+19-97,18-20
+10-81,9-9
+3-40,58-73
+2-93,92-92
+77-83,73-84
+7-84,6-6
+35-45,38-59
+28-79,57-74
+52-82,55-83
+60-60,9-60
+63-86,40-64
+44-80,13-26
+17-67,19-75
+33-69,5-68
+5-31,4-54
+81-82,64-81
+55-92,55-95
+28-29,29-82
+34-93,33-33
+88-95,62-88
+64-81,65-81
+81-82,64-81
+28-94,28-94
+9-76,6-75
+34-36,35-58
+86-89,12-89
+29-31,30-31
+46-78,83-87
+11-77,1-11
+27-34,37-68
+3-4,4-93
+7-89,89-90
+18-94,14-16
+28-89,10-88
+89-91,33-89
+17-53,17-52
+70-87,70-86
+1-33,1-86
+67-68,33-67
+13-75,14-27
+26-73,26-72
+28-57,17-19
+65-65,3-65
+5-92,28-29
+2-19,19-81
+29-42,29-37
+16-70,47-87
+5-77,1-2
+28-40,28-41
+98-98,10-98
+11-21,3-74
+4-32,5-31
+5-98,4-4
+23-99,22-97
+77-99,82-94
+8-91,9-91
+1-60,59-93
+9-11,10-37
+88-88,11-89
+71-89,48-70
+6-77,6-76
+82-91,84-90
+7-97,47-96
+54-64,54-67
+7-34,16-35
+5-97,4-97
+1-1,3-18
+42-51,42-45
+69-70,69-80
+16-86,16-88
+58-59,58-58
+56-86,57-57
+11-35,10-35
+15-20,37-98
+4-97,96-98
+32-34,32-34
+53-66,12-33
+65-65,3-66
+82-83,9-82
+5-59,2-5
+74-90,43-91
+34-86,35-87
+65-91,5-92
+7-86,8-87
+46-48,47-56
+87-92,8-83
+21-21,22-54
+50-97,50-93
+8-74,8-96
+45-46,46-57
+82-98,34-79
+29-62,29-55
+15-68,16-69
+26-88,37-88
+45-78,46-46
+60-65,60-61
+3-36,36-37
+55-84,56-91
+7-99,7-97
+2-98,1-99
+51-89,63-90
+4-99,3-99
+6-50,6-51
+37-98,62-98
+38-86,38-39
+1-96,1-95
+88-90,78-84
+44-61,4-45
+6-89,89-90
+7-93,19-93
+56-94,93-97
+5-25,13-28
+28-35,29-63
+62-70,63-76
+20-20,21-48
+13-48,45-72
+13-50,50-89
+25-79,25-78
+44-74,33-73
+87-87,62-87
+30-57,54-56
+30-64,20-65
+4-95,5-96
+22-54,13-88
+11-11,8-9
+66-84,67-83
+6-95,7-74
+36-84,23-36
+18-35,18-35
+96-97,42-96
+10-11,11-91
+9-96,95-98
+8-68,8-8
+15-18,13-20
+37-50,8-98
+9-10,10-98
+12-93,13-13
+6-79,7-79
+18-59,18-41
+25-52,41-53
+6-82,6-80
+74-74,6-74
+1-98,1-99
+51-94,93-98
+84-98,5-85
+26-35,23-35
+45-89,34-88
+36-78,37-37
+2-11,17-59
+20-96,20-97
+30-46,13-47
+15-86,15-88
+30-60,12-29
+82-97,12-82
+2-2,3-87
+60-89,59-87
+5-85,6-86
+16-84,15-16
+10-29,18-73
+64-93,65-99
+37-60,37-67
+2-98,1-96
+7-14,8-14
+29-64,29-29
+34-58,33-58
+1-97,2-97
+13-20,23-59
+64-64,65-76
+16-48,6-47
+81-90,81-89
+76-91,23-40
+22-46,21-46
+13-74,74-74
+34-35,18-34
+38-90,37-37
+34-61,36-61
+41-52,42-42
+3-12,3-87
+96-97,43-96
+97-98,4-96
+24-67,40-68
+13-31,4-23
+27-57,26-26
+3-84,84-85
+16-94,93-99
+16-16,17-74
+34-60,2-34
+17-98,17-30
+45-61,34-40
+12-17,11-14
+95-95,3-94
+48-69,11-68
+8-51,50-99
+44-80,44-76
+4-4,5-94
+31-47,30-55
+27-35,36-36
+3-57,3-98
+2-90,3-90
+22-79,22-80
+28-46,27-46
+1-1,3-30
+36-81,36-50
+19-40,19-41
+22-93,11-22
+32-58,31-58
+35-44,24-43
+1-8,1-80
+7-27,9-19
+78-90,14-78
+1-37,36-51
+32-36,30-37
+43-45,30-44
+65-80,66-79
+96-97,43-96
+62-94,61-92
+4-96,96-97
+15-75,14-76
+39-82,38-82
+3-95,3-57
+22-98,32-96
+2-93,3-93
+25-62,62-63
+6-58,57-87
+3-25,2-80
+50-54,51-52
+2-91,1-86
+97-98,38-97
+54-74,3-96
+6-31,31-87
+37-39,38-97
+8-55,8-42
+6-33,7-33
+18-96,81-97
+9-95,94-99
+6-13,5-46
+14-73,34-73
+7-94,7-89
+56-86,57-86
+12-53,11-53
+25-60,24-59
+39-75,28-28
+52-53,52-54
+6-35,12-34
+57-88,38-58
+57-58,7-58
+45-64,4-63
+26-84,3-80
+15-84,15-85
+16-89,17-89
+34-91,33-90
+24-67,94-95
+43-45,44-73
+29-65,66-74
+23-83,22-84
+2-99,1-99
+24-52,25-52
+4-6,5-87
+5-96,1-5
+5-18,24-31
+49-93,55-94
+11-94,43-95
+18-41,17-40
+86-88,85-87
+12-56,16-57
+45-71,45-54
+65-73,62-73
+93-93,61-92
+33-94,34-93
+7-62,14-62
+4-99,1-2
+6-69,1-1
+5-84,83-87
+6-82,93-99
+81-81,1-81
+2-81,1-74
+23-93,22-93
+9-11,3-3
+13-40,12-40
+10-87,9-94
+53-63,54-54
+25-72,45-71
+1-2,5-98
+63-67,23-64
+98-98,63-97
+63-87,50-58
+9-80,10-75
+1-1,3-40
+11-75,76-99
+32-98,33-97
+44-44,34-43
+49-52,33-51
+1-97,2-97
+82-82,82-82
+84-97,4-96
+1-95,13-96
+31-87,4-30
+15-40,5-7
+87-91,40-79
+6-99,5-99
+6-67,55-84
+56-94,83-99
+5-48,49-49
+14-25,24-35
+21-66,22-66
+93-96,94-95
+64-65,18-64
+69-96,68-84
+3-98,2-99
+3-95,2-95
+35-98,94-98
+19-28,29-88
+48-94,49-94
+29-47,29-35
+3-50,1-3
+1-4,1-61
+20-63,19-89
+11-96,11-50
+2-2,5-94
+76-97,76-95
+14-33,47-75
+88-91,12-87
+12-64,12-89
+4-84,3-84
+13-98,6-13
+65-75,64-75
+30-30,19-30
+99-99,39-99
+18-70,18-44
+1-31,1-42
+49-84,83-90
+94-95,54-94
+9-94,95-95
+69-69,68-94
+10-82,10-81
+98-99,63-93
+82-82,75-81
+59-66,25-64
+28-88,88-88
+50-81,81-98
+80-80,27-81
+11-95,10-72
+23-96,22-95
+15-73,14-73
+13-13,3-13
+29-77,29-71
+52-89,78-96
+6-52,25-53
+16-87,15-87
+37-85,63-86
+2-26,11-27
+27-48,28-28
+17-29,9-17
+21-70,21-76
+85-99,85-86
+47-77,48-77
+4-35,36-36
+92-96,58-92
+48-80,47-79
+4-29,82-90
+26-88,27-89
+37-92,36-38
+10-93,11-94
+72-72,17-73
+58-66,60-67
+19-46,19-19
+39-78,30-39
+61-99,39-60
+8-92,8-91
+7-83,5-7
+3-80,1-1
+90-99,5-91
+5-92,92-93
+6-88,6-89
+57-95,19-94
+30-76,31-31
+12-94,93-93
+35-49,36-49
+15-67,16-66
+88-91,63-89
+56-79,55-55
+1-5,4-12
+31-87,30-88
+72-79,73-80
+69-81,70-91
+20-42,43-43
+3-65,15-66
+46-46,45-72
+16-21,15-22
+98-99,34-97
+10-28,48-80
+1-97,3-98
+14-99,15-99
+25-25,25-75
+12-91,12-92
+94-98,11-79
+9-90,9-92
+50-54,49-51
+64-82,64-83
+8-10,9-59
+9-96,96-96
+1-17,23-86
+66-91,66-98
+3-93,2-82
+7-8,8-83
+24-28,25-28
+94-95,7-94
+38-86,38-93
+4-50,32-49
+7-61,61-88
+86-86,9-85
+10-94,7-10
+96-96,10-96
+13-67,40-68
+21-53,22-53
+12-38,13-39
+4-7,21-63
+26-90,91-96
+56-99,56-98
+19-20,18-19
+86-90,7-85
+18-59,18-32
+73-75,69-75
+24-77,25-77
+28-94,25-26
+17-79,79-80
+55-57,54-80
+8-22,8-22
+96-96,7-96
+51-63,53-63
+14-99,15-99
+20-98,20-97
+93-95,9-66
+79-93,78-79
+20-48,20-53
+43-81,44-82
+28-93,29-94
+1-28,28-29
+81-86,56-86
+30-86,89-89
+79-79,78-90
+87-93,27-62
+37-87,37-87
+95-96,4-95
+40-72,38-41
+67-80,48-79
+63-63,19-63
+3-98,16-99
+64-93,37-43
+8-85,16-83
+66-69,50-68
+11-87,12-86
+77-92,5-92
+99-99,96-98
+3-94,2-4
+29-97,28-96
+57-76,65-76
+58-75,58-63
+67-88,66-88
+77-88,57-86
+5-84,84-97
+10-71,8-70
+7-17,3-18
+42-89,43-89
+30-31,3-30
+42-87,41-43
+68-93,67-94
+3-85,3-86
+26-81,27-27
+82-99,74-83
+50-88,51-89
+7-9,11-81
+17-53,25-53
+5-95,5-99
+34-73,74-90
+34-40,35-40
+10-68,46-69
+28-96,95-98
+58-59,5-58
+1-99,2-99
+4-98,5-87
+3-96,2-98
+84-88,83-85
+11-96,10-97
+19-88,2-87
+19-72,23-51
+6-96,2-96
+18-64,14-16
+96-99,3-97
+75-91,13-75
+18-57,32-58
+17-33,17-37
+43-64,63-63
+97-97,14-84
+89-99,9-89
+63-85,64-85
+77-78,47-77
+20-21,1-16
+23-33,23-28
+58-90,59-67
+39-80,20-40
+15-46,3-15
+13-82,81-89
+1-4,9-92
+15-45,3-15
+18-78,12-12
+3-3,2-61
+1-9,1-3
+7-7,6-99
+5-35,4-34
+5-74,6-74
+18-55,17-55
+92-94,11-68
+27-97,27-83
+14-57,57-58
+25-69,26-36
+72-94,72-95
+4-80,4-94
+7-77,7-99
+42-91,42-92
+38-67,22-37
+40-93,40-87
+31-65,5-64
+34-96,96-97
+1-28,27-27
+12-63,13-13
+97-99,71-91
+17-69,16-68
+56-67,56-65
+5-68,6-68
+17-93,23-99
+8-14,7-14
+18-89,18-18
+3-38,39-62
+4-4,5-39
+27-85,84-84
+32-95,96-99
+7-68,17-67
+20-69,19-70
+92-92,32-91
+3-18,4-46
+13-94,13-94
+52-80,52-81
+29-87,3-86
+79-80,35-79
+23-67,47-68
+22-96,24-95
+7-68,4-4
+5-98,3-5
+84-89,84-99
+18-21,1-15
+41-85,40-85
+38-63,60-60
+43-89,43-43
+11-83,10-84
+43-61,11-43
+25-91,26-26
+23-23,22-95
+2-2,1-92
+79-94,9-79
+6-96,34-96
+58-75,57-67
+11-14,14-15
+20-93,19-21
+7-85,7-85
+19-56,20-55
+87-89,6-87
+90-90,2-91
+23-50,22-49
+78-92,22-77
+75-77,74-76
+81-90,81-94
+26-81,81-81
+12-58,41-90
+14-84,13-84
+38-89,39-90
+66-73,65-73
+8-75,8-63
+6-67,3-4
+2-69,3-68
+15-61,15-69
+57-75,57-76
+9-98,98-99
+6-6,20-67
+47-91,46-90
+26-96,26-97
+25-56,24-56
+28-53,27-53
+26-55,25-55
+25-68,26-68
+6-11,11-37
+24-27,25-25
+44-56,8-57
+29-30,29-98
+28-33,27-67
+7-17,7-11
+4-5,25-77
+33-35,34-75
+1-72,73-73
+10-92,92-93
+2-22,83-94
+4-97,96-99
+38-50,18-51
+39-42,41-41
+55-57,55-58
+19-89,36-88
+47-67,48-68
+83-90,83-85
+3-80,46-81
+22-92,48-61
+19-93,33-94
+2-3,1-72
+98-99,30-97
+35-54,54-54
+4-97,5-98
+7-90,8-91
+31-61,4-29
+14-18,15-25
+26-27,26-63
+26-26,9-26
+25-60,60-60
+66-97,63-96
+70-91,6-71
+21-88,22-22
+18-92,14-18
+11-87,4-7
+57-88,58-88
+37-81,3-44
+67-89,55-98
+25-91,24-90
+68-82,67-67
+70-72,43-71
+4-74,74-75
+18-83,9-19
+16-80,81-81
+3-75,2-74
+3-71,11-72
+38-55,7-38
+19-65,20-49
+17-98,16-18
+45-95,24-94
+11-16,15-89
+28-68,29-43
+26-26,25-48
+4-98,3-30
+9-95,95-96
+31-54,31-58
+31-43,30-30
+8-10,10-89
+2-15,1-90
+26-76,46-77
+63-91,62-91
+4-62,19-63
+36-88,36-87
+19-98,19-97
+2-98,98-98
+11-84,11-85
+26-29,6-28
+22-61,26-72
+38-56,38-57
+9-73,1-72
+24-73,23-73
+80-80,9-79
+31-33,32-96
+3-94,4-93
+26-26,25-83
+1-99,1-97
+7-94,7-99
+10-52,3-51
+39-47,42-47
+44-96,43-44
+3-94,2-94
+30-44,29-43
+60-99,60-92
+18-69,69-69
+20-32,1-20
+2-81,13-82
+16-75,9-16
+69-79,80-91
+12-90,12-15
+55-67,56-93
+17-45,3-17
+3-3,2-78
+12-27,28-28
+42-90,59-90
+30-96,31-98
+47-68,63-64
+1-97,2-97
+28-81,22-81
+10-88,1-88
+15-84,15-81
+67-72,68-68
+1-72,1-72
+90-91,86-90
+89-94,79-93
+92-98,15-92
+2-99,1-99
+1-99,99-99
+16-99,17-99
+11-17,17-95
+38-87,39-87
+24-47,28-46
+38-94,38-99
+58-85,59-67
+20-22,21-21
+82-88,59-87
+90-99,89-98
+12-21,20-91
+64-99,61-64
+6-43,5-44
+23-23,24-76
+4-95,3-3
+23-71,24-71
+39-47,38-38
+73-91,92-92
+23-93,87-96
+46-76,27-77
+78-79,65-78
+27-46,26-46
+77-82,83-85
+2-54,54-55
+1-3,6-99
+42-42,22-43
+7-96,8-96
+28-33,28-87
+1-31,1-85
+2-93,3-94
+4-96,2-96
+30-30,29-99
+30-39,30-30
+4-18,34-88
+68-69,68-87
+30-95,30-76
+10-63,10-99
+2-98,98-98
+12-37,11-11
+9-80,9-81
+37-37,38-83
+95-99,7-95
+3-26,60-98
+3-99,4-28
+5-95,6-95
+41-86,42-85
+72-95,39-94
+1-51,1-62
+3-95,95-96
+73-83,74-79
+93-97,93-96
+33-93,32-93
+22-40,21-39
+11-14,18-79
+96-97,58-95
+16-40,40-89
+1-88,2-88
+5-51,5-29
+20-48,31-49
+3-95,95-96
+23-89,23-90
+55-80,56-79
+43-43,42-59
+55-84,54-83
+13-76,76-77
+22-94,9-35
+23-96,68-91
+1-85,60-84
+27-27,11-27
+33-35,33-64
+9-77,10-10
+69-81,90-91
+16-95,16-96
+21-94,21-22
+7-95,3-94
+47-79,1-57
+5-39,5-39
+12-82,13-82
+70-70,63-70
+64-64,26-63
+2-4,4-94
+80-80,79-97
+38-75,37-38
+54-91,92-92
+63-83,63-65
+8-56,8-55
+98-98,27-97
+26-91,28-92
+24-85,20-72
+13-18,30-84
+29-67,29-68
+87-95,8-87
+13-26,11-41
+16-99,17-99
+16-98,17-98
+18-54,18-83
+63-80,64-87
+63-63,58-63
+37-91,37-85
+6-12,4-7
+6-58,30-59
+18-52,53-96
+17-61,17-75
+49-72,71-97
+11-69,11-36
+22-84,22-83
+1-64,1-65
+27-39,38-38
+48-49,49-88
+1-1,3-74
+55-92,55-98
+51-51,8-52
+2-26,1-26
+23-64,64-64
+57-82,57-81
+91-91,26-91
+6-97,41-98
+1-94,1-95
+56-83,16-99
+8-8,10-88
+38-43,6-42
+22-84,2-89
+14-76,72-88
+31-93,30-93
+72-92,73-92
+57-58,21-57
+4-94,6-94
+11-85,86-86
+9-61,8-61
+69-91,69-69
+27-77,77-78
+10-52,10-51
+9-9,8-49
+66-67,65-78
+2-90,2-98
+42-42,41-79
+3-86,3-42
+15-93,25-73
+26-94,27-95
+16-99,15-99
+1-1,3-65
+97-98,4-96
+25-87,26-97
+3-20,20-96
+32-81,32-80
+22-85,22-95
+4-96,97-98
+97-99,62-75
+87-99,46-87
+98-99,44-76
+26-93,26-33
+56-87,34-63
+1-91,95-98
+12-97,11-80
+19-36,19-91
+19-25,25-98
+99-99,7-92
+37-46,38-43
+73-75,73-78
+18-97,97-97
+4-98,4-94
+88-88,25-88
+95-95,4-95
+3-70,9-71
+20-54,19-21
+34-40,24-39
+3-3,2-95
+5-37,4-37
+5-81,5-80
+2-95,9-95
+12-87,13-13
+2-3,2-96
+19-63,19-94
+64-84,35-35
+8-96,5-95
+37-69,38-52
+91-98,12-92
+66-87,66-83
+36-58,20-57
+8-82,82-83
+11-71,13-70
+40-43,39-43
+1-73,1-1
+12-91,12-92
+73-97,41-57
+6-83,7-7
+20-36,19-41
+15-91,14-90
+18-51,13-50
+12-97,97-97
+1-89,89-89
+13-34,12-34
+46-52,46-79
+34-36,34-35
+22-76,76-76
+3-93,4-76
+34-35,22-34
+7-20,20-20
+16-47,2-27
+59-60,2-59
+96-99,37-94
+4-92,4-94
+12-30,8-29
+22-32,22-22
+1-99,2-98
+61-70,53-70
+45-96,46-96
+84-99,2-85
+1-2,1-99
+19-99,20-94
+77-86,86-88
+25-83,3-82
+6-70,5-70
+38-85,85-86
+55-83,55-84
+87-98,86-97
+29-31,29-74
+5-42,5-41
+21-99,21-77
+47-71,46-51
+33-51,50-50
+52-60,5-40
+28-94,29-29
+6-23,11-14
+31-33,32-48
+74-75,44-74
+84-96,84-96
+38-38,37-45
+53-90,92-94
+12-32,2-8
+39-70,38-70
+93-96,17-93
+43-60,33-37
+4-22,3-95
+1-89,2-90
+27-76,26-77
+34-71,57-71
+49-62,20-62
+48-97,2-95
+11-72,2-5
+72-72,72-92
+22-65,64-78
+24-96,24-25
+38-93,32-94
+70-71,59-70
+38-76,38-76
+31-50,30-50
+22-97,21-69
+22-79,24-80
+69-88,88-88
+47-48,46-87
+27-29,28-42
+24-24,25-71
+11-94,20-95
+1-10,29-85
+32-52,32-86
+15-72,73-93
+15-28,15-47
+14-64,15-64
+88-88,25-89
+80-80,15-80
+3-58,58-59
+19-96,95-99
+39-74,40-87
+64-71,71-72
+49-80,36-80
+61-79,49-78
\ No newline at end of file
diff --git a/Advent of Code 2022 Day 4/src/main.java b/Advent of Code 2022 Day 4/src/main.java
new file mode 100644
index 0000000..615cb0d
--- /dev/null
+++ b/Advent of Code 2022 Day 4/src/main.java
@@ -0,0 +1,51 @@
+ import java.io.IOException;
+import java.io.RandomAccessFile;
+
+public class main {
+
+ public static void main(String[] args) {
+
+ try {
+ RandomAccessFile file = new RandomAccessFile("Input.txt", "r");
+ String str;
+
+ int indexOfSeperator = 0, indexOfFirstDash = 0, indexOfSecondDash = 0;
+ int sectionBeginningElf1, sectionEndingElf1, sectionBeginningElf2, sectionEndingElf2;
+ int countPart1 = 0, countPart2 = 0;
+
+ while ((str = file.readLine()) != null) {
+ indexOfSeperator = str.indexOf(",");
+ indexOfFirstDash = str.indexOf("-");
+ indexOfSecondDash = str.indexOf("-", indexOfFirstDash+1);
+
+ sectionBeginningElf1 = Integer.valueOf(str.substring(0, indexOfFirstDash));
+ sectionEndingElf1 = Integer.valueOf(str.substring(indexOfFirstDash+1,indexOfSeperator));
+ sectionBeginningElf2 = Integer.valueOf(str.substring(indexOfSeperator+1, indexOfSecondDash));
+ sectionEndingElf2 = Integer.valueOf(str.substring(indexOfSecondDash+1));
+
+ // Part 1
+ if ((sectionBeginningElf1 <= sectionBeginningElf2 && sectionEndingElf1 >= sectionEndingElf2)
+ || (sectionBeginningElf2 <= sectionBeginningElf1 && sectionEndingElf2 >= sectionEndingElf1)) {
+ countPart1++;
+ }
+
+ // Part 2
+ if (between(sectionBeginningElf1, sectionBeginningElf2, sectionEndingElf2) || between(sectionEndingElf1, sectionBeginningElf2, sectionEndingElf2) || between(sectionBeginningElf2, sectionBeginningElf1, sectionEndingElf1) || between(sectionEndingElf2, sectionBeginningElf1, sectionEndingElf1)) {
+ countPart2++;
+ }
+
+ //System.out.println(sectionBeginningElf1 + " " + sectionEndingElf1 + " - " + sectionBeginningElf2 + " " + sectionEndingElf2);
+ }
+ System.out.println("Part 1: " + countPart1);
+ System.out.println("Part 2: " + countPart2);
+ file.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static boolean between(int variable, int minValueInclusive, int maxValueInclusive) {
+ return variable >= minValueInclusive && variable <= maxValueInclusive;
+ }
+
+}
\ No newline at end of file
diff --git a/Advent of Code 2022 Day 5/.classpath b/Advent of Code 2022 Day 5/.classpath
new file mode 100644
index 0000000..60b915a
--- /dev/null
+++ b/Advent of Code 2022 Day 5/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Advent of Code 2022 Day 5/.project b/Advent of Code 2022 Day 5/.project
new file mode 100644
index 0000000..13736da
--- /dev/null
+++ b/Advent of Code 2022 Day 5/.project
@@ -0,0 +1,28 @@
+
+
+ Advent of Code 2022 Day 5
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ 1671521328704
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/Advent of Code 2022 Day 5/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 5/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e2e9c66
--- /dev/null
+++ b/Advent of Code 2022 Day 5/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/Advent of Code 2022 Day 5/input.txt b/Advent of Code 2022 Day 5/input.txt
new file mode 100644
index 0000000..c7ae764
--- /dev/null
+++ b/Advent of Code 2022 Day 5/input.txt
@@ -0,0 +1,14 @@
+ [V] [C] [M]
+[V] [J] [N] [H] [V]
+[R] [F] [N] [W] [Z] [N]
+[H] [R] [D] [Q] [M] [L] [B]
+[B] [C] [H] [V] [R] [C] [G] [R]
+[G] [G] [F] [S] [D] [H] [B] [R] [S]
+[D] [N] [S] [D] [H] [G] [J] [J] [G]
+[W] [J] [L] [J] [S] [P] [F] [S] [L]
+ 1 2 3 4 5 6 7 8 9
+
+move 1 from 2 to 1
+move 3 from 1 to 3
+move 2 from 2 to 1
+move 1 from 1 to 2
\ No newline at end of file
diff --git a/Advent of Code 2022 Day 5/src/main.java b/Advent of Code 2022 Day 5/src/main.java
new file mode 100644
index 0000000..b7436f7
--- /dev/null
+++ b/Advent of Code 2022 Day 5/src/main.java
@@ -0,0 +1,182 @@
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.Queue;
+import java.util.Stack;
+
+public class main {
+ static ArrayList> supplyStacksPart1;
+ static ArrayList> supplyStacksPart2;
+
+
+ public static void main(String[] args) {
+ supplyStacksPart1 = new ArrayList>(9);
+ supplyStacksPart2 = new ArrayList>(9);
+ for (int i = 0; i < 9; i++) {
+ supplyStacksPart1.add(new Stack());
+ supplyStacksPart2.add(new Stack());
+ }
+ populateArrayListOfStacks(supplyStacksPart1);
+ populateArrayListOfStacks(supplyStacksPart2);
+
+ int numberOfCratesToMove = 0,stackToBeMovedFrom = 0, stackToMoveTo = 0;
+ int line = 0;
+ int offset = 0;
+
+ Stack temporalHoldingOfCrates = new Stack();
+
+ try {
+ RandomAccessFile file = new RandomAccessFile("input.txt", "r");
+ String str;
+
+ while ((str = file.readLine()) != null) {
+ line++;
+
+ if (line >= 11) {
+ if (str.charAt(7) != ' ') {
+ numberOfCratesToMove = Integer.valueOf(str.substring(5,6));
+ offset = 0;
+ }
+ else {
+ numberOfCratesToMove = Integer.valueOf(str.substring(5,7));
+ offset = 1;
+ }
+
+ stackToBeMovedFrom = Integer.valueOf(str.substring(12+offset,13+offset));
+ stackToMoveTo = Integer.valueOf(str.substring(17+offset));
+ for (int i = 0; i < numberOfCratesToMove; i++) {
+ //Part 1
+ if (!supplyStacksPart1.get(stackToBeMovedFrom-1).empty()) {
+ supplyStacksPart1.get(stackToMoveTo-1).push(supplyStacksPart1.get(stackToBeMovedFrom-1).pop());
+ }
+
+ //Part 2
+ if (!supplyStacksPart2.get(stackToBeMovedFrom-1).empty()) {
+ temporalHoldingOfCrates.push(supplyStacksPart2.get(stackToBeMovedFrom-1).pop());
+ }
+ }
+ for (int i = 0; i < temporalHoldingOfCrates.size(); i++) {
+ supplyStacksPart2.get(stackToMoveTo-1).push(temporalHoldingOfCrates.pop());
+ }
+
+ for (int i = 0; i < 9; i++) {
+ if (!supplyStacksPart2.get(i).empty())
+ System.out.print(supplyStacksPart2.get(i).peek());
+ else
+ System.out.print(" ");
+ }
+ System.out.println();
+ }
+ }
+
+
+
+ System.out.print("Part 1: ");
+ for (int i = 0; i < 9; i++) {
+ if (!supplyStacksPart1.get(i).empty())
+ System.out.print(supplyStacksPart1.get(i).peek());
+ }
+
+ System.out.println("");
+
+
+ System.out.print("Part 2: ");
+ for (int i = 0; i < 9; i++) {
+ if (!supplyStacksPart2.get(i).empty())
+ System.out.print(supplyStacksPart2.get(i).peek());
+ }
+
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void populateArrayListOfStacks(ArrayList> arrayListOfStack) {
+ arrayListOfStack.get(0).push('Z');
+ arrayListOfStack.get(0).push('N');
+
+ arrayListOfStack.get(1).push('M');
+ arrayListOfStack.get(1).push('C');
+ arrayListOfStack.get(1).push('D');
+
+ arrayListOfStack.get(2).push('P');
+ /*
+ // Stack 1
+ arrayListOfStack.get(0).push('W');
+ arrayListOfStack.get(0).push('D');
+ arrayListOfStack.get(0).push('G');
+ arrayListOfStack.get(0).push('B');
+ arrayListOfStack.get(0).push('H');
+ arrayListOfStack.get(0).push('R');
+ arrayListOfStack.get(0).push('V');
+
+ // Stack 2
+ arrayListOfStack.get(1).push('J');
+ arrayListOfStack.get(1).push('N');
+ arrayListOfStack.get(1).push('G');
+ arrayListOfStack.get(1).push('C');
+ arrayListOfStack.get(1).push('R');
+ arrayListOfStack.get(1).push('F');
+
+ // Stack 3
+ arrayListOfStack.get(2).push('L');
+ arrayListOfStack.get(2).push('S');
+ arrayListOfStack.get(2).push('F');
+ arrayListOfStack.get(2).push('H');
+ arrayListOfStack.get(2).push('D');
+ arrayListOfStack.get(2).push('N');
+ arrayListOfStack.get(2).push('J');
+
+ // Stack 4
+ arrayListOfStack.get(3).push('J');
+ arrayListOfStack.get(3).push('D');
+ arrayListOfStack.get(3).push('S');
+ arrayListOfStack.get(3).push('V');
+
+ // Stack 5
+ arrayListOfStack.get(4).push('S');
+ arrayListOfStack.get(4).push('H');
+ arrayListOfStack.get(4).push('D');
+ arrayListOfStack.get(4).push('R');
+ arrayListOfStack.get(4).push('Q');
+ arrayListOfStack.get(4).push('W');
+ arrayListOfStack.get(4).push('N');
+ arrayListOfStack.get(4).push('V');
+
+ // Stack 6
+ arrayListOfStack.get(5).push('P');
+ arrayListOfStack.get(5).push('G');
+ arrayListOfStack.get(5).push('H');
+ arrayListOfStack.get(5).push('C');
+ arrayListOfStack.get(5).push('M');
+
+ // Stack 7
+ arrayListOfStack.get(6).push('F');
+ arrayListOfStack.get(6).push('J');
+ arrayListOfStack.get(6).push('B');
+ arrayListOfStack.get(6).push('G');
+ arrayListOfStack.get(6).push('L');
+ arrayListOfStack.get(6).push('Z');
+ arrayListOfStack.get(6).push('H');
+ arrayListOfStack.get(6).push('C');
+
+ // Stack 8
+ arrayListOfStack.get(7).push('S');
+ arrayListOfStack.get(7).push('J');
+ arrayListOfStack.get(7).push('R');
+
+ // Stack 9
+ arrayListOfStack.get(8).push('L');
+ arrayListOfStack.get(8).push('G');
+ arrayListOfStack.get(8).push('S');
+ arrayListOfStack.get(8).push('R');
+ arrayListOfStack.get(8).push('B');
+ arrayListOfStack.get(8).push('N');
+ arrayListOfStack.get(8).push('V');
+ arrayListOfStack.get(8).push('M');
+ */
+ }
+
+}
diff --git a/Advent of Code 2022 Day 6/.classpath b/Advent of Code 2022 Day 6/.classpath
new file mode 100644
index 0000000..60b915a
--- /dev/null
+++ b/Advent of Code 2022 Day 6/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Advent of Code 2022 Day 6/.project b/Advent of Code 2022 Day 6/.project
new file mode 100644
index 0000000..40481a1
--- /dev/null
+++ b/Advent of Code 2022 Day 6/.project
@@ -0,0 +1,28 @@
+
+
+ Advent of Code 2022 Day 6
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ 1671521328710
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/Advent of Code 2022 Day 6/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 6/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e2e9c66
--- /dev/null
+++ b/Advent of Code 2022 Day 6/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/Advent of Code 2022 Day 6/input.txt b/Advent of Code 2022 Day 6/input.txt
new file mode 100644
index 0000000..b143fae
--- /dev/null
+++ b/Advent of Code 2022 Day 6/input.txt
@@ -0,0 +1 @@
+cdhccdbdggfjjgssjzjzggjnjpnpbbzbnzzflfjfnfrrpvrvbrvvrvggvlvnnbrnrcncsnndbndbnndbdndfdrdvrvvndvvbggnrrnbrnntffgttwzwnnmvmcvvhsstzzlnlwlttbzzpnpmnnjvjnntmnmfftwwrfwrwswmmfrrfrrgbrbffwvvshvhrhmhththbbmqbmqqlslhssrmmqdmmjtmtmjtmjtttnwnvwvqwqjjnbbbdbqbnbpnbnllglcglcgcdczdznnqhhfthtmtlldqlqrrmddrldlzdllvddjcddqfqbqsbqqnllwppqpqzzrbbdppzsppjdpdqpdqdfqfrrwbwrwwqcqcsqsvvpbvbbztzptzzpccdtdhdffvqvcvzzmwzwddjfdffplplqlvlmmmvggpmpvpddpbptplpvlplvpvvnrvnnbqqqjhhwfhwfhwhqhmmpphqpqvppfzpzjzddgzzwffjmjggwhwwnnmlmpmmhcmcpcrcddvzvpzzwnznfznffgdgvddvtvgvsvdsdbbjnjtntbnttgbbbvgvgrgrzrvzrzddlsddcndcnnfqnnmpmlppdlplzplzpzgzmzmddlvlnnbttbwwhbhdhfdfssjppmcpplpdddnpdnnljlwjljsjnjhnhvhvqqsffrbbdttjdjndjdwwsfspffnhfhhlvhvmmqjmmwzwszwwvdvpdvdbdtdsdtsshvvmtvmtmctclchccrllznzfffpjjvhhdmhhvphpghgsgmmhlhnlnmnlnslnlgngznnsqnqddllpwllmzmjmttptfpplglqlgglgqqptqqmvmtmjmddcchbblltslsvsmvmgghmmccnzcztczzmnmttrdrvvcvzvvzllbhllnldndbbqffbbgtgddbtdbbzttdptpccjnjppbllbzlblrlcllhrrhqhgqqbcqcvcdvvnnzfzvzttrptrrwmrmlrlddvttdbtdbdcdvccwlcwwhphmppwfppclpcllgqgnghhvfflfggrzrcchfhhrdhrdhdnhnmmhjjwqjjpmmwvmmdnmnzzqmqwwmtthtdhtthnnqhqdhqqndqqwffsbspbptpmmndnllsmmdhmhfhnhjhghshlslppbgpgngddlsljsjmmzqzhhswhssfzssfqqcmqcmqcmmqggjcjvvgssrccwddmpmwwdfdpdbdpdwdvvqfvfrvvvsbvbhvvmqqcjqqvzqzppncnhhqnnpgplpqqpjpbblpbbbshsthhvfhfmmqzmmznnvrvqrrwdrdlrlwlttzqttjvttqltqqnfqqqwjqwwqttfstftjffsqqnhhnsnqqhggbsgghfgglslmssqlqhlhthqhccdsspsnssshbbnmngnnhllwclcffqllsrszrssnqsqvqjvjcvcttqgqbqmmfqfsqfsqswwvcvffndnfdfvfcvvggsmsfmfwfpfwwzhznntgtlglmmlfmllwrlrwwhcchqchhznzjjcdjdbjjhcjcscwwlnnsgngqqtgqgngnwgnnhqnnhchmchhtchcnclcmccgffbmmzvvrnngwwvddzccnjntjtwjwwztwtmtddjddpsptpbpbvvbwwnlnmndmnmdnnclnnbsbddpfdfvvjtjqqtqqqzjzlzqllzzwwlppvfffpcffffprrncnnzsnznhhwvvqhqphpjjgqqvnnmdmqqglqlblgglrlsspscsjjpvpbpjjwccslsppdjpdjjwvjjmhjhtjjwqqbqjqzjqzqpqbbswwlssqzssbjjpjqjbbjcjpjspjssjjzhhhnjhnhbnhhwzhzwlcshqlqpzgggzmcwntcwmfgtrwwjdpnbdqqcgnzgbdrzdmpwgvtvqffqbpvjpjrcfswffllnvnwvhclpjcwqwgnwqwvwsfgflrgzzsswffwjdjgvdvlgmczcbthwbvhggwzwlzfmhvwvjpbpnhcczbgfhhgghsmjwnvnsvnvmqwstrgnncwbqgbqpgdngllcqnzgwswpgtwzgqzggnzsdgltrlqfctqfvlzdswccfpdtjbfnrbqsmpjclnplbmqbmvwbzzdflwbqrljvzjpcrmnqsmrpqlmfsgcmthqpwgwzvmrjnhqczljcpnzjbwzrhjrzmcqpmlbzhgmqrlzsjbjsvcmcngptzlrthwsrjrlmsrgjlzrvpzwmprwnpgvjtspsppfvwfwcvbnqcwwmzlbqthqmbnbmnsnzgsbbnqtrvhlzjhphclpjzrdblszrnftqgwwrhpznhjhgrncvsvrmtmmgssvzddjfrnrzhbrqrfffjvzrqdnrdbvjwgrvlcpbncfgczlwdggsjmwzhndcdbggjvwfljctjnsjwczwfdrfttbhnlswfdbpcnwpspdhnzwqbgdswwpccbpfpgmfmvvwpzbzqsbbjbfnhjpszcbnrdplmwtdjtpcsztdjcmczltnstzwlcdbtdhsdgsgtlvdfqggfmmrppjfrmtfwhpbjsppszjbhmthndqmvbmqcbtqsltwrcvlvblwspbgspjftwllzcmnsrvjpnstzrfmcflnhppsdfggwbzvnvlnjqlfvrlplnzvfrwvgcgqvnpfgtgchctvhcplclzmfpwgnfhqjgglfmsgpflqcpqmbbhwnvvdllcnhblpnndbdtmgvfbvvvlvzlrpfqmnvzbfrssjtlgcjtpfznshvdjrjnfshfcgvwcdbqlfsbhnzwmsgwhpbzttgfjsqgwvdmbdwjljhsndrbbzfrsqjhcbldzqpmtnfvnmzltjcrvrltwshnhqlnclmcnfpbzstsczlqmfmdftzfbcwqnhqppzfbzpbfjhmmtvtbmblmtshsbtjlvsqvmbmgstbbdmhprqmtpfdqqntmnlbmpsmwfgrvstjcllhwpcddnljdjvdrbwqmgrjnldpgnrhgqpzqrvwzsngrgnbpjnsffzjsbdptwnnfcqlscfhvggpfstsnqzcjbqqhgdpqsrlprcppgqmddpqpbnvgwtdqsbbgtvsqfrtqfsbdzhsztfmvwrrsjcbtcjgzrnhnpgldtwbwgmwbgmjjzsbbzlhgmlczrhjwtzrgwscmjvlstprldhglvftqzbtrmcwzgtjppbnjcdvjvcwvdbngnbrmjvvtnwdqfclbpgzcfnnnlnngtgmhsqsdmbjctjzjpbrwrhscqshmmwbtfnzjgsrjlnqqdsvdrjdzsdprphnfmwwcztqfcrjvnfhlvnqwbrfmcvhrbtgvcrqjjfcnzwmlfzzdcbbzvphhmsdltwjfdcgthpvszqzjdbfwrpvhbjqdhrscnvjhjvvcldnhgjclmzpbrrwnscgpcqrpdgsnjnwhctcdqgwqbrcszfzpmtdrhlftvwffdjrtznqrppqbdbwvzmtlpvsqqpcngjgfdrpngnspdwhhvlhqrtsphgqrlldggtrvqsprbfdmrpgcmqphdvjfmhlznpgtqlvtnllcdhzhhtjjlfvdlwhcrfmjmdjtmbllvsfgvmfqtqlmrlrjmqptszvjdpzhphppljnpjdjpwlrclssgdnstchhwhpflmlrtdqvqbbljrmnflrltzpqmgqfrczvfzrpfsrwsgpljvjfjdjdvjchcdmmtjgghqspwzdtwqgtvmnrrbfbgnhcrvnzznrdlqmgmdwmpwzlqdjtvpszwnjtjtmjqvfwvftlhgpvgzswpbvbllfcwpjnsmbhzrdpdzjsrpnhphdcqjmzvvhrjcwhgwjwcshqwzpbpmfnjjvqcjrqmvsrdrtdvfhwhrbpvrqrsfzflslqtdrtcsggtzmpvbszdgttlvpwwltvpcwqmnwqtpcfzgsvsmncvpqqdrljfwtncplmjlpfcnqmcctwzhrbmrfwvsrjsbnhjrjmrnbmmnnhsvlltwzzhsgwppnlmljgpcsmpchdjdzpgvrtwsfzffhnlbfmrldzbshvpqhnfzpwnvczgfvhbntcpztwqlfgtsmdhvcrgjhvqrhbpvbpzcpbgzrcfjztbnfjptbzfpztwprwf
\ No newline at end of file
diff --git a/Advent of Code 2022 Day 6/src/main.java b/Advent of Code 2022 Day 6/src/main.java
new file mode 100644
index 0000000..e921ec9
--- /dev/null
+++ b/Advent of Code 2022 Day 6/src/main.java
@@ -0,0 +1,58 @@
+import java.io.IOException;
+import java.io.RandomAccessFile;
+
+import java.util.ArrayList;
+
+public class main {
+
+ public static void main(String[] args) {
+
+ try {
+ RandomAccessFile file = new RandomAccessFile("input.txt", "r");
+ String str;
+
+ while ((str = file.readLine()) != null) {
+ //Part 1
+ System.out.print("Part 1: ");
+ System.out.println(findStartOfSequence(str,4));
+
+ //Part 2
+ System.out.print("Part 2: ");
+ System.out.println(findStartOfSequence(str,14));
+ }
+
+
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static int findStartOfSequence(String input, int lengthOfSequence) {
+ char[] sequence = new char[lengthOfSequence];
+ boolean matchFound = false;
+
+ for (int i = lengthOfSequence; i <= input.length(); i++) {
+ matchFound = false;
+ for (int j = 0; j < lengthOfSequence; j++) {
+ sequence[j] = input.charAt(i-lengthOfSequence+j);
+ }
+
+ for (int j = 0; j < lengthOfSequence; j++) {
+ for (int k = 0; k < lengthOfSequence; k++) {
+ if (j == k) {
+ continue;
+ }
+ if (sequence[j] == sequence[k]) {
+ matchFound = true;
+ break;
+ }
+ }
+ }
+ if (!matchFound) {
+ return i;
+ }
+ }
+ return -1;
+ }
+}
diff --git a/Advent of Code 2022 Day 7/.classpath b/Advent of Code 2022 Day 7/.classpath
new file mode 100644
index 0000000..60b915a
--- /dev/null
+++ b/Advent of Code 2022 Day 7/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Advent of Code 2022 Day 7/.project b/Advent of Code 2022 Day 7/.project
new file mode 100644
index 0000000..e7123dd
--- /dev/null
+++ b/Advent of Code 2022 Day 7/.project
@@ -0,0 +1,28 @@
+
+
+ Advent of Code 2022 Day 7
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ 1671521328714
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/Advent of Code 2022 Day 7/.settings/org.eclipse.jdt.core.prefs b/Advent of Code 2022 Day 7/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e2e9c66
--- /dev/null
+++ b/Advent of Code 2022 Day 7/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/Advent of Code 2022 Day 7/bin/input.txt b/Advent of Code 2022 Day 7/bin/input.txt
new file mode 100644
index 0000000..97279b9
--- /dev/null
+++ b/Advent of Code 2022 Day 7/bin/input.txt
@@ -0,0 +1,1013 @@
+$ cd /
+$ ls
+dir jmtrrrp
+dir jssnn
+dir lbrmb
+11968 pcccp
+$ cd jmtrrrp
+$ ls
+77968 chq.jvb
+dir fmgsql
+$ cd fmgsql
+$ ls
+dir dbnsfp
+dir vvp
+$ cd dbnsfp
+$ ls
+51021 crlq.lrj
+186829 dhcrzvbr.wmn
+16232 fvhn.fqm
+54150 qpbqqj.rpg
+$ cd ..
+$ cd vvp
+$ ls
+179105 rrcsndz.tzp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd jssnn
+$ ls
+dir bphfqs
+dir dbnsfp
+dir pcccp
+dir snr
+dir zjbvwsnv
+$ cd bphfqs
+$ ls
+110077 dhcrzvbr.wmn
+$ cd ..
+$ cd dbnsfp
+$ ls
+dir hgvh
+dir jtqdcmsz
+154197 rrcsndz.tzp
+$ cd hgvh
+$ ls
+dir qjnbg
+$ cd qjnbg
+$ ls
+dir bqzfpr
+$ cd bqzfpr
+$ ls
+124394 wjsbsp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd jtqdcmsz
+$ ls
+275597 dbnsfp.fpg
+$ cd ..
+$ cd ..
+$ cd pcccp
+$ ls
+dir cnbd
+85621 cqzvwl
+dir dbnsfp
+114355 hbhp.cfv
+dir mcgq
+dir pcccp
+dir qpbqqj
+224038 rrcsndz.tzp
+dir zcsm
+27570 zjbvwsnv.fjt
+$ cd cnbd
+$ ls
+dir jrbz
+dir pphv
+$ cd jrbz
+$ ls
+dir dwvlwfq
+$ cd dwvlwfq
+$ ls
+32237 fwclr.rnb
+$ cd ..
+$ cd ..
+$ cd pphv
+$ ls
+180370 dhcrzvbr.wmn
+50154 dzvwdwl.gbt
+123965 mlsv.hlw
+163116 wnhtwr.mwl
+$ cd ..
+$ cd ..
+$ cd dbnsfp
+$ ls
+252181 btv.mpv
+dir hwncj
+dir pcccp
+$ cd hwncj
+$ ls
+51410 jbd.fcm
+$ cd ..
+$ cd pcccp
+$ ls
+258123 chq.jvb
+$ cd ..
+$ cd ..
+$ cd mcgq
+$ ls
+206506 qpbqqj.bbb
+$ cd ..
+$ cd pcccp
+$ ls
+193219 ddhtnql.hmb
+134114 hjbpzqzb.rwn
+108927 lznndn.nqd
+73241 ncdrv
+$ cd ..
+$ cd qpbqqj
+$ ls
+dir crdt
+dir tgchdnc
+$ cd crdt
+$ ls
+205710 chq.jvb
+$ cd ..
+$ cd tgchdnc
+$ ls
+dir bdw
+dir dpl
+dir jssnn
+dir pcccp
+dir plpzbm
+$ cd bdw
+$ ls
+211300 dbnsfp.tjm
+$ cd ..
+$ cd dpl
+$ ls
+287744 rsbjqwm
+$ cd ..
+$ cd jssnn
+$ ls
+dir jssnn
+$ cd jssnn
+$ ls
+9644 hmjhshg.vbv
+$ cd ..
+$ cd ..
+$ cd pcccp
+$ ls
+dir jssnn
+85888 pcccp.hdj
+dir qpbqqj
+dir rmscmwtv
+$ cd jssnn
+$ ls
+129698 crlq.lrj
+7499 dhcrzvbr.wmn
+283607 qpbqqj.djr
+234874 wqnrhll
+$ cd ..
+$ cd qpbqqj
+$ ls
+184229 qqpb.ftd
+$ cd ..
+$ cd rmscmwtv
+$ ls
+188048 dhcrzvbr.wmn
+dir jwtpgbnt
+$ cd jwtpgbnt
+$ ls
+209946 hgg
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd plpzbm
+$ ls
+32627 tlb.qmc
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd zcsm
+$ ls
+dir lczflft
+dir zjbvwsnv
+dir zmh
+$ cd lczflft
+$ ls
+40043 dzgnvlw.scr
+dir lrnb
+$ cd lrnb
+$ ls
+109881 bjpbs
+dir jssnn
+46901 npmw
+$ cd jssnn
+$ ls
+9216 sgrp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+214676 jssnn.hgn
+$ cd ..
+$ cd zmh
+$ ls
+dir jdt
+dir rggpltr
+$ cd jdt
+$ ls
+147387 jhhsv
+90052 jssnn.wns
+53105 qpbqqj.dzq
+$ cd ..
+$ cd rggpltr
+$ ls
+121454 dbnsfp.dzt
+dir gcc
+$ cd gcc
+$ ls
+dir zbqwl
+dir zjbvwsnv
+$ cd zbqwl
+$ ls
+260297 pcccp.jrw
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+248709 pcccp.tph
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd snr
+$ ls
+152569 chq.jvb
+1437 crlq.lrj
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+dir cqhb
+53235 ghhtl.bhv
+199640 npcfdw
+136346 qpbqqj.lmv
+dir zjbvwsnv
+$ cd cqhb
+$ ls
+24712 sqqf
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+dir gzqg
+dir hfbfvn
+dir srsphr
+dir vgvdcvc
+$ cd gzqg
+$ ls
+dir jjw
+$ cd jjw
+$ ls
+240052 zdcjjz.pmg
+$ cd ..
+$ cd ..
+$ cd hfbfvn
+$ ls
+278190 bfgndw.pvf
+$ cd ..
+$ cd srsphr
+$ ls
+42591 zjbvwsnv.hgh
+$ cd ..
+$ cd vgvdcvc
+$ ls
+120322 rrcsndz.tzp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd lbrmb
+$ ls
+dir bjhpdj
+42241 crlq.lrj
+dir dbnsfp
+244610 dhcrzvbr.wmn
+dir hppb
+dir mcnzs
+dir npntsr
+13625 tpjpcsgp.dlz
+219424 vvpbt.zvf
+dir zjbvwsnv
+191467 zjbvwsnv.htn
+$ cd bjhpdj
+$ ls
+dir bqjvst
+204722 dbnsfp
+dir dhltrqqq
+226082 dmdqcjp
+dir fcqwgzp
+dir jssnn
+6453 jssnn.ndh
+23799 jssnn.zqn
+dir nwglfhpl
+dir pcccp
+dir pdnj
+269246 shzqns.nws
+dir sjstqlcb
+dir zssln
+$ cd bqjvst
+$ ls
+202793 dbnsfp.pjj
+259783 jssnn
+dir rbvbhnvs
+30683 rvddnjmb.tlz
+dir tzhslnv
+$ cd rbvbhnvs
+$ ls
+86934 vrtrf.htt
+$ cd ..
+$ cd tzhslnv
+$ ls
+76278 mghcwdlr.tsc
+$ cd ..
+$ cd ..
+$ cd dhltrqqq
+$ ls
+dir mfd
+dir pcccp
+dir smmb
+251164 wsdnsgtt.lhr
+191876 zvr.bbz
+$ cd mfd
+$ ls
+51017 crlq.lrj
+99213 rjtbnnnq.hgd
+$ cd ..
+$ cd pcccp
+$ ls
+160487 dhcrzvbr.wmn
+dir nhdrnthj
+dir qpbqqj
+$ cd nhdrnthj
+$ ls
+181291 bbn.wtm
+186551 fnw.tnn
+23622 rrcsndz.tzp
+dir zjbvwsnv
+$ cd zjbvwsnv
+$ ls
+227547 dhcrzvbr.wmn
+$ cd ..
+$ cd ..
+$ cd qpbqqj
+$ ls
+212353 crlq.lrj
+170195 dhcrzvbr.wmn
+dir ttvp
+$ cd ttvp
+$ ls
+185994 tgjcfgjv
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd smmb
+$ ls
+dir dbnsfp
+85354 dbnsfp.zpn
+80665 dfmmjbm.rnr
+135989 dhcrzvbr.wmn
+93718 lrbzr.nfs
+dir mjpfnfns
+dir nsdpfnhb
+dir pmnssvd
+32270 qpbqqj.vtd
+$ cd dbnsfp
+$ ls
+31796 gzs.rgv
+64506 vbjncw.bpz
+181659 vjlfrdp.tqh
+$ cd ..
+$ cd mjpfnfns
+$ ls
+231611 chq.jvb
+17518 cmnlrzq.hvh
+144795 dbnsfp
+162194 jssnn.wjz
+29305 vdqnlw.fzf
+$ cd ..
+$ cd nsdpfnhb
+$ ls
+281844 chq.jvb
+$ cd ..
+$ cd pmnssvd
+$ ls
+165816 dfvl.czb
+144561 gbn
+150785 lnzdwrmb
+111214 rrcsndz.tzp
+164156 tzgdb.hht
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd fcqwgzp
+$ ls
+199161 dhcrzvbr.wmn
+34251 rrcsndz.tzp
+198345 vjlfrdp.tqh
+167001 zjbvwsnv.bsd
+$ cd ..
+$ cd jssnn
+$ ls
+dir ccblfvl
+103180 dhcrzvbr.wmn
+dir prw
+dir tzqfn
+dir zjbvwsnv
+166467 zjbvwsnv.tdt
+$ cd ccblfvl
+$ ls
+159752 crlq.lrj
+20805 jssnn.dvb
+243040 lct.zll
+27492 qbh
+27174 vjlfrdp.tqh
+dir zvfwq
+$ cd zvfwq
+$ ls
+135126 chq.jvb
+41664 gphw.vzd
+dir hmrdghbr
+dir jssnn
+dir qzzb
+dir tmdlcv
+$ cd hmrdghbr
+$ ls
+dir jvgpwrbs
+$ cd jvgpwrbs
+$ ls
+dir wzdv
+$ cd wzdv
+$ ls
+26834 qpbqqj.njf
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd jssnn
+$ ls
+90199 jqqmqddf.qnz
+$ cd ..
+$ cd qzzb
+$ ls
+dir mgpql
+dir src
+dir zvdgc
+$ cd mgpql
+$ ls
+141852 qpbqqj
+$ cd ..
+$ cd src
+$ ls
+204425 lqmcbndm.jrj
+75571 qsbrsv.jcm
+$ cd ..
+$ cd zvdgc
+$ ls
+268742 ffjmrmmz.lhg
+18385 rvmp.hjv
+$ cd ..
+$ cd ..
+$ cd tmdlcv
+$ ls
+182587 sfwvjrj.mzl
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd prw
+$ ls
+207429 dbnsfp.rqf
+dir ptgn
+dir pzgpqp
+252902 rbt
+169694 trg.rsh
+$ cd ptgn
+$ ls
+dir jssnn
+dir qpbqqj
+dir rpd
+$ cd jssnn
+$ ls
+189316 dbnsfp.bqc
+$ cd ..
+$ cd qpbqqj
+$ ls
+167937 zjbvwsnv.bhz
+$ cd ..
+$ cd rpd
+$ ls
+8775 crlq.lrj
+$ cd ..
+$ cd ..
+$ cd pzgpqp
+$ ls
+dir pcccp
+$ cd pcccp
+$ ls
+51496 pcccp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd tzqfn
+$ ls
+dir cbpfvdp
+285700 crlq.lrj
+7426 dbnsfp.fsd
+dir gdl
+141367 jssnn.hmw
+184482 sczphnp.vnc
+126288 vjlfrdp.tqh
+dir wndpdj
+$ cd cbpfvdp
+$ ls
+dir cvfr
+dir qpbqqj
+$ cd cvfr
+$ ls
+dir jfrnvts
+dir qpbqqj
+$ cd jfrnvts
+$ ls
+dir vwdn
+$ cd vwdn
+$ ls
+236936 vjlfrdp.tqh
+$ cd ..
+$ cd ..
+$ cd qpbqqj
+$ ls
+254275 bqd
+$ cd ..
+$ cd ..
+$ cd qpbqqj
+$ ls
+dir jssnn
+201960 qpbqqj
+$ cd jssnn
+$ ls
+131127 jssnn
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd gdl
+$ ls
+225146 hsgzmtp.wcs
+204436 jssnn.lhh
+64007 mjzjgfg.jsb
+$ cd ..
+$ cd wndpdj
+$ ls
+245412 bvcq
+211386 dbnsfp.tqd
+186962 fql.mww
+dir hlmhtfz
+117446 smvjvcn.lcp
+$ cd hlmhtfz
+$ ls
+150152 lrdhbq.rvm
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+179703 fvmbz
+87552 qtz.ccw
+129764 rrcsndz.tzp
+$ cd ..
+$ cd ..
+$ cd nwglfhpl
+$ ls
+66039 crlq.lrj
+dir cwq
+dir dlgrsw
+267814 frhlttn.nmd
+dir hmprt
+dir qpbqqj
+dir wnfzznfh
+$ cd cwq
+$ ls
+77655 cpjnwzh
+dir pcccp
+dir zjbvwsnv
+dir zzhjfmnr
+$ cd pcccp
+$ ls
+dir pcccp
+$ cd pcccp
+$ ls
+245309 bggzbrg.flf
+$ cd ..
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+196915 gnmfb.dzq
+dir ngqbdqp
+$ cd ngqbdqp
+$ ls
+355 rrcsndz.tzp
+$ cd ..
+$ cd ..
+$ cd zzhjfmnr
+$ ls
+dir dbnsfp
+$ cd dbnsfp
+$ ls
+223184 chq.jvb
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd dlgrsw
+$ ls
+181906 chq.jvb
+5636 dbnsfp
+219889 jbr.slc
+dir zrntbl
+$ cd zrntbl
+$ ls
+61864 brnpgpwt
+138980 qpbqqj
+$ cd ..
+$ cd ..
+$ cd hmprt
+$ ls
+90249 dbnsfp.mbd
+$ cd ..
+$ cd qpbqqj
+$ ls
+290377 crlq.lrj
+$ cd ..
+$ cd wnfzznfh
+$ ls
+83022 hclmps
+64095 zhm
+$ cd ..
+$ cd ..
+$ cd pcccp
+$ ls
+dir rdzntr
+dir rvccq
+$ cd rdzntr
+$ ls
+239028 rrcsndz.tzp
+$ cd ..
+$ cd rvccq
+$ ls
+22746 chq.jvb
+288752 jjvppq.swt
+dir msgwsnjq
+dir pggz
+228469 vjlfrdp.tqh
+$ cd msgwsnjq
+$ ls
+102522 lwgqc.mhv
+25239 ndm.llf
+$ cd ..
+$ cd pggz
+$ ls
+dir cnjqsqj
+$ cd cnjqsqj
+$ ls
+229407 shpnq
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd pdnj
+$ ls
+193069 rwnhgttz.pvp
+$ cd ..
+$ cd sjstqlcb
+$ ls
+263295 chq.jvb
+224091 jss.wtr
+$ cd ..
+$ cd zssln
+$ ls
+5859 ncdlcr.dll
+$ cd ..
+$ cd ..
+$ cd dbnsfp
+$ ls
+271252 dhcrzvbr.wmn
+$ cd ..
+$ cd hppb
+$ ls
+259968 jssnn
+81292 qpqqb.clj
+$ cd ..
+$ cd mcnzs
+$ ls
+170903 crlq.lrj
+59482 dhcrzvbr.wmn
+dir dqzwzbgm
+dir gnrztn
+286736 jssnn.jcm
+32791 phqsgl
+dir pzjnrwt
+197323 vjlfrdp.tqh
+dir wvnwbpct
+$ cd dqzwzbgm
+$ ls
+78575 qpbqqj
+251546 qpbqqj.slb
+$ cd ..
+$ cd gnrztn
+$ ls
+158603 hdnwmd.rhj
+dir nbfdtwzr
+178239 ptnchzpg
+40517 rrcsndz.tzp
+dir smvb
+198007 vjlfrdp.tqh
+$ cd nbfdtwzr
+$ ls
+200354 crlq.lrj
+$ cd ..
+$ cd smvb
+$ ls
+163921 zjbvwsnv.brz
+$ cd ..
+$ cd ..
+$ cd pzjnrwt
+$ ls
+33891 lwrll
+259646 pcccp.sfn
+106835 pqfzthjq
+189673 rrcsndz.tzp
+$ cd ..
+$ cd wvnwbpct
+$ ls
+234188 dhcrzvbr.wmn
+dir gmtpsgv
+86379 jssnn
+146663 sfpmdbbd.jvt
+25795 vjlfrdp.tqh
+$ cd gmtpsgv
+$ ls
+18642 chq.jvb
+3046 cznlwtw
+26335 ddgpngrc
+116455 vnnls.hsg
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd npntsr
+$ ls
+dir cccjdcvb
+206657 chq.jvb
+280518 crlq.lrj
+dir dbnsfp
+dir jphnn
+dir jssnn
+dir mpl
+195193 rrcsndz.tzp
+dir rztc
+dir znwp
+$ cd cccjdcvb
+$ ls
+192965 mcr.sfq
+$ cd ..
+$ cd dbnsfp
+$ ls
+dir gfns
+173317 jssnn.tjq
+dir mgr
+68817 mvwcwfcr.zmz
+dir pqfht
+108571 swfl.dtj
+10398 tvvvv
+dir vzg
+174361 zjbvwsnv
+$ cd gfns
+$ ls
+203999 zjbvwsnv.hfg
+$ cd ..
+$ cd mgr
+$ ls
+dir zjbvwsnv
+$ cd zjbvwsnv
+$ ls
+26871 tqlgcf.jrn
+$ cd ..
+$ cd ..
+$ cd pqfht
+$ ls
+199590 clpvscl.rlm
+dir dwlhv
+dir vhzfzhrb
+$ cd dwlhv
+$ ls
+130761 qpbqqj
+242752 rrcsndz.tzp
+$ cd ..
+$ cd vhzfzhrb
+$ ls
+dir njdgcbvm
+$ cd njdgcbvm
+$ ls
+dir snjfqg
+$ cd snjfqg
+$ ls
+dir qpwh
+$ cd qpwh
+$ ls
+153353 qsjpj
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd vzg
+$ ls
+dir pcccp
+$ cd pcccp
+$ ls
+dir jfbtl
+$ cd jfbtl
+$ ls
+209199 dbnsfp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd jphnn
+$ ls
+52305 crlq.lrj
+193480 gmms.whz
+59354 nmq.dww
+64638 qpbqqj
+47072 rrcsndz.tzp
+$ cd ..
+$ cd jssnn
+$ ls
+69168 crlq.lrj
+1549 dhcrzvbr.wmn
+219596 hdmczg.lmm
+108063 jssnn
+24327 vjlfrdp.tqh
+dir zjbvwsnv
+$ cd zjbvwsnv
+$ ls
+189952 chq.jvb
+$ cd ..
+$ cd ..
+$ cd mpl
+$ ls
+144856 bqrrzm
+249487 crlq.lrj
+dir ffqgpgfg
+93632 flqwtn.nsz
+dir mwpcqr
+195910 pdqwn.lcg
+$ cd ffqgpgfg
+$ ls
+66459 dbnsfp
+200500 lcmt.zmz
+207093 qpbqqj
+77042 vjlfrdp.tqh
+57109 wwzv.hbn
+$ cd ..
+$ cd mwpcqr
+$ ls
+dir zjbvwsnv
+$ cd zjbvwsnv
+$ ls
+166393 vjlfrdp.tqh
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd rztc
+$ ls
+57788 chq.jvb
+$ cd ..
+$ cd znwp
+$ ls
+164627 chq.jvb
+$ cd ..
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+dir dgrrl
+71529 jssnn
+198617 pcccp.qqh
+dir phggn
+56842 zjbvwsnv.vqd
+$ cd dgrrl
+$ ls
+dir czm
+dir fhhlbdlz
+dir gstjw
+dir qpbqqj
+dir stgb
+$ cd czm
+$ ls
+dir jssnn
+$ cd jssnn
+$ ls
+162335 chq.jvb
+30099 mfdgdw
+96389 pcdsd.wmw
+251423 tmz.lcb
+205979 vpltdt.gtv
+$ cd ..
+$ cd ..
+$ cd fhhlbdlz
+$ ls
+dir qpbqqj
+dir vdjs
+dir zgz
+$ cd qpbqqj
+$ ls
+285561 chq.jvb
+263924 lbqcfdrs
+138854 pcccp.dtn
+$ cd ..
+$ cd vdjs
+$ ls
+32688 chq.jvb
+223233 tbn.blt
+$ cd ..
+$ cd zgz
+$ ls
+92804 bqltmv.wzb
+$ cd ..
+$ cd ..
+$ cd gstjw
+$ ls
+151784 fvfszzzn.cbh
+$ cd ..
+$ cd qpbqqj
+$ ls
+dir blztqf
+dir plgnh
+$ cd blztqf
+$ ls
+195097 wlvmtz
+$ cd ..
+$ cd plgnh
+$ ls
+dir dbnsfp
+246221 dhcrzvbr.wmn
+271121 jhwmmzls.mhw
+170162 pcccp.dpp
+37872 qpbqqj
+$ cd dbnsfp
+$ ls
+dir dhpnr
+$ cd dhpnr
+$ ls
+152837 pcccp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd stgb
+$ ls
+248436 vjlfrdp.tqh
+$ cd ..
+$ cd ..
+$ cd phggn
+$ ls
+284602 dhcrzvbr.wmn
+dir lctr
+dir rjmc
+66651 rrcsndz.tzp
+117525 vth.fgw
+156877 wcqnjzbq.dgf
+7803 zpsrzclh.bzw
+$ cd lctr
+$ ls
+212339 jssnn.whp
+dir jzhcqb
+99974 pcccp.zhs
+111354 pmc
+104899 vjlfrdp.tqh
+93496 zhwmbw
+$ cd jzhcqb
+$ ls
+dir zjbvwsnv
+$ cd zjbvwsnv
+$ ls
+146807 rbrg
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd rjmc
+$ ls
+dir fvbmsc
+139747 glwmr.lrg
+dir gvnnz
+102023 tbj.qmz
+dir vsztsjfh
+$ cd fvbmsc
+$ ls
+136838 vpvbz.qtw
+$ cd ..
+$ cd gvnnz
+$ ls
+95498 zjbvwsnv
+$ cd ..
+$ cd vsztsjfh
+$ ls
+215479 ffwlcrwb
\ No newline at end of file
diff --git a/Advent of Code 2022 Day 7/src/Directory.java b/Advent of Code 2022 Day 7/src/Directory.java
new file mode 100644
index 0000000..584dfbc
--- /dev/null
+++ b/Advent of Code 2022 Day 7/src/Directory.java
@@ -0,0 +1,88 @@
+import java.util.ArrayList;
+
+public class Directory {
+
+ private ArrayList files;
+ private ArrayList directories;
+ private Directory outerDirectory;
+ private String name;
+
+ public Directory(String name, Directory outerDirectory) {
+ files = new ArrayList();
+ directories = new ArrayList();
+ this.outerDirectory = outerDirectory;
+ this.name = name;
+ }
+
+ public Directory outerDirectory() {
+ return outerDirectory;
+ }
+
+ public void addElement(Object element) {
+ if (element instanceof File) {
+ files.add((File) element);
+ }
+ else if (element instanceof Directory) {
+ directories.add((Directory) element);
+ }
+ }
+
+ public int size() {
+ int sum = 0;
+
+ for (File file : files) {
+ sum += file.size();
+ }
+
+ for (Directory directive : directories) {
+ sum += directive.size();
+ }
+
+ return sum;
+ }
+
+ public String name() {
+ return name;
+ }
+
+ public Directory getInnerDirectory(String name) {
+ for (Directory directory : directories) {
+ if (directory.name().equals(name))
+ return directory;
+ }
+ return null;
+ }
+
+ public ArrayList getAllInnerDirectories() {
+ return directories;
+ }
+
+ public ArrayList getAllFolders() {
+ ArrayList folderList = new ArrayList();
+
+ folderList.addAll(directories);
+
+ for (Directory e : directories)
+ folderList.addAll(e.getAllFolders());
+
+ return folderList;
+ }
+
+ public int countSum(int maximum) {
+ int sum = 0;
+
+ for (Directory directive : this.getAllFolders()) {
+ if (directive.size() <= maximum)
+ sum += directive.countSum(maximum);
+ }
+
+ return sum;
+ }
+
+ public void print() {
+ for (Directory directive : directories) {
+ System.out.println(directive.size());
+ }
+ }
+
+}
diff --git a/Advent of Code 2022 Day 7/src/File.java b/Advent of Code 2022 Day 7/src/File.java
new file mode 100644
index 0000000..d95fbce
--- /dev/null
+++ b/Advent of Code 2022 Day 7/src/File.java
@@ -0,0 +1,19 @@
+
+public class File {
+
+ private int size;
+ private String name;
+
+ public File(int size, String name) {
+ this.size = size;
+ this.name = name;
+ }
+
+ public String name() {
+ return name;
+ }
+
+ public int size() {
+ return size;
+ }
+}
diff --git a/Advent of Code 2022 Day 7/src/input.txt b/Advent of Code 2022 Day 7/src/input.txt
new file mode 100644
index 0000000..97279b9
--- /dev/null
+++ b/Advent of Code 2022 Day 7/src/input.txt
@@ -0,0 +1,1013 @@
+$ cd /
+$ ls
+dir jmtrrrp
+dir jssnn
+dir lbrmb
+11968 pcccp
+$ cd jmtrrrp
+$ ls
+77968 chq.jvb
+dir fmgsql
+$ cd fmgsql
+$ ls
+dir dbnsfp
+dir vvp
+$ cd dbnsfp
+$ ls
+51021 crlq.lrj
+186829 dhcrzvbr.wmn
+16232 fvhn.fqm
+54150 qpbqqj.rpg
+$ cd ..
+$ cd vvp
+$ ls
+179105 rrcsndz.tzp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd jssnn
+$ ls
+dir bphfqs
+dir dbnsfp
+dir pcccp
+dir snr
+dir zjbvwsnv
+$ cd bphfqs
+$ ls
+110077 dhcrzvbr.wmn
+$ cd ..
+$ cd dbnsfp
+$ ls
+dir hgvh
+dir jtqdcmsz
+154197 rrcsndz.tzp
+$ cd hgvh
+$ ls
+dir qjnbg
+$ cd qjnbg
+$ ls
+dir bqzfpr
+$ cd bqzfpr
+$ ls
+124394 wjsbsp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd jtqdcmsz
+$ ls
+275597 dbnsfp.fpg
+$ cd ..
+$ cd ..
+$ cd pcccp
+$ ls
+dir cnbd
+85621 cqzvwl
+dir dbnsfp
+114355 hbhp.cfv
+dir mcgq
+dir pcccp
+dir qpbqqj
+224038 rrcsndz.tzp
+dir zcsm
+27570 zjbvwsnv.fjt
+$ cd cnbd
+$ ls
+dir jrbz
+dir pphv
+$ cd jrbz
+$ ls
+dir dwvlwfq
+$ cd dwvlwfq
+$ ls
+32237 fwclr.rnb
+$ cd ..
+$ cd ..
+$ cd pphv
+$ ls
+180370 dhcrzvbr.wmn
+50154 dzvwdwl.gbt
+123965 mlsv.hlw
+163116 wnhtwr.mwl
+$ cd ..
+$ cd ..
+$ cd dbnsfp
+$ ls
+252181 btv.mpv
+dir hwncj
+dir pcccp
+$ cd hwncj
+$ ls
+51410 jbd.fcm
+$ cd ..
+$ cd pcccp
+$ ls
+258123 chq.jvb
+$ cd ..
+$ cd ..
+$ cd mcgq
+$ ls
+206506 qpbqqj.bbb
+$ cd ..
+$ cd pcccp
+$ ls
+193219 ddhtnql.hmb
+134114 hjbpzqzb.rwn
+108927 lznndn.nqd
+73241 ncdrv
+$ cd ..
+$ cd qpbqqj
+$ ls
+dir crdt
+dir tgchdnc
+$ cd crdt
+$ ls
+205710 chq.jvb
+$ cd ..
+$ cd tgchdnc
+$ ls
+dir bdw
+dir dpl
+dir jssnn
+dir pcccp
+dir plpzbm
+$ cd bdw
+$ ls
+211300 dbnsfp.tjm
+$ cd ..
+$ cd dpl
+$ ls
+287744 rsbjqwm
+$ cd ..
+$ cd jssnn
+$ ls
+dir jssnn
+$ cd jssnn
+$ ls
+9644 hmjhshg.vbv
+$ cd ..
+$ cd ..
+$ cd pcccp
+$ ls
+dir jssnn
+85888 pcccp.hdj
+dir qpbqqj
+dir rmscmwtv
+$ cd jssnn
+$ ls
+129698 crlq.lrj
+7499 dhcrzvbr.wmn
+283607 qpbqqj.djr
+234874 wqnrhll
+$ cd ..
+$ cd qpbqqj
+$ ls
+184229 qqpb.ftd
+$ cd ..
+$ cd rmscmwtv
+$ ls
+188048 dhcrzvbr.wmn
+dir jwtpgbnt
+$ cd jwtpgbnt
+$ ls
+209946 hgg
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd plpzbm
+$ ls
+32627 tlb.qmc
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd zcsm
+$ ls
+dir lczflft
+dir zjbvwsnv
+dir zmh
+$ cd lczflft
+$ ls
+40043 dzgnvlw.scr
+dir lrnb
+$ cd lrnb
+$ ls
+109881 bjpbs
+dir jssnn
+46901 npmw
+$ cd jssnn
+$ ls
+9216 sgrp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+214676 jssnn.hgn
+$ cd ..
+$ cd zmh
+$ ls
+dir jdt
+dir rggpltr
+$ cd jdt
+$ ls
+147387 jhhsv
+90052 jssnn.wns
+53105 qpbqqj.dzq
+$ cd ..
+$ cd rggpltr
+$ ls
+121454 dbnsfp.dzt
+dir gcc
+$ cd gcc
+$ ls
+dir zbqwl
+dir zjbvwsnv
+$ cd zbqwl
+$ ls
+260297 pcccp.jrw
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+248709 pcccp.tph
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd snr
+$ ls
+152569 chq.jvb
+1437 crlq.lrj
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+dir cqhb
+53235 ghhtl.bhv
+199640 npcfdw
+136346 qpbqqj.lmv
+dir zjbvwsnv
+$ cd cqhb
+$ ls
+24712 sqqf
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+dir gzqg
+dir hfbfvn
+dir srsphr
+dir vgvdcvc
+$ cd gzqg
+$ ls
+dir jjw
+$ cd jjw
+$ ls
+240052 zdcjjz.pmg
+$ cd ..
+$ cd ..
+$ cd hfbfvn
+$ ls
+278190 bfgndw.pvf
+$ cd ..
+$ cd srsphr
+$ ls
+42591 zjbvwsnv.hgh
+$ cd ..
+$ cd vgvdcvc
+$ ls
+120322 rrcsndz.tzp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd lbrmb
+$ ls
+dir bjhpdj
+42241 crlq.lrj
+dir dbnsfp
+244610 dhcrzvbr.wmn
+dir hppb
+dir mcnzs
+dir npntsr
+13625 tpjpcsgp.dlz
+219424 vvpbt.zvf
+dir zjbvwsnv
+191467 zjbvwsnv.htn
+$ cd bjhpdj
+$ ls
+dir bqjvst
+204722 dbnsfp
+dir dhltrqqq
+226082 dmdqcjp
+dir fcqwgzp
+dir jssnn
+6453 jssnn.ndh
+23799 jssnn.zqn
+dir nwglfhpl
+dir pcccp
+dir pdnj
+269246 shzqns.nws
+dir sjstqlcb
+dir zssln
+$ cd bqjvst
+$ ls
+202793 dbnsfp.pjj
+259783 jssnn
+dir rbvbhnvs
+30683 rvddnjmb.tlz
+dir tzhslnv
+$ cd rbvbhnvs
+$ ls
+86934 vrtrf.htt
+$ cd ..
+$ cd tzhslnv
+$ ls
+76278 mghcwdlr.tsc
+$ cd ..
+$ cd ..
+$ cd dhltrqqq
+$ ls
+dir mfd
+dir pcccp
+dir smmb
+251164 wsdnsgtt.lhr
+191876 zvr.bbz
+$ cd mfd
+$ ls
+51017 crlq.lrj
+99213 rjtbnnnq.hgd
+$ cd ..
+$ cd pcccp
+$ ls
+160487 dhcrzvbr.wmn
+dir nhdrnthj
+dir qpbqqj
+$ cd nhdrnthj
+$ ls
+181291 bbn.wtm
+186551 fnw.tnn
+23622 rrcsndz.tzp
+dir zjbvwsnv
+$ cd zjbvwsnv
+$ ls
+227547 dhcrzvbr.wmn
+$ cd ..
+$ cd ..
+$ cd qpbqqj
+$ ls
+212353 crlq.lrj
+170195 dhcrzvbr.wmn
+dir ttvp
+$ cd ttvp
+$ ls
+185994 tgjcfgjv
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd smmb
+$ ls
+dir dbnsfp
+85354 dbnsfp.zpn
+80665 dfmmjbm.rnr
+135989 dhcrzvbr.wmn
+93718 lrbzr.nfs
+dir mjpfnfns
+dir nsdpfnhb
+dir pmnssvd
+32270 qpbqqj.vtd
+$ cd dbnsfp
+$ ls
+31796 gzs.rgv
+64506 vbjncw.bpz
+181659 vjlfrdp.tqh
+$ cd ..
+$ cd mjpfnfns
+$ ls
+231611 chq.jvb
+17518 cmnlrzq.hvh
+144795 dbnsfp
+162194 jssnn.wjz
+29305 vdqnlw.fzf
+$ cd ..
+$ cd nsdpfnhb
+$ ls
+281844 chq.jvb
+$ cd ..
+$ cd pmnssvd
+$ ls
+165816 dfvl.czb
+144561 gbn
+150785 lnzdwrmb
+111214 rrcsndz.tzp
+164156 tzgdb.hht
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd fcqwgzp
+$ ls
+199161 dhcrzvbr.wmn
+34251 rrcsndz.tzp
+198345 vjlfrdp.tqh
+167001 zjbvwsnv.bsd
+$ cd ..
+$ cd jssnn
+$ ls
+dir ccblfvl
+103180 dhcrzvbr.wmn
+dir prw
+dir tzqfn
+dir zjbvwsnv
+166467 zjbvwsnv.tdt
+$ cd ccblfvl
+$ ls
+159752 crlq.lrj
+20805 jssnn.dvb
+243040 lct.zll
+27492 qbh
+27174 vjlfrdp.tqh
+dir zvfwq
+$ cd zvfwq
+$ ls
+135126 chq.jvb
+41664 gphw.vzd
+dir hmrdghbr
+dir jssnn
+dir qzzb
+dir tmdlcv
+$ cd hmrdghbr
+$ ls
+dir jvgpwrbs
+$ cd jvgpwrbs
+$ ls
+dir wzdv
+$ cd wzdv
+$ ls
+26834 qpbqqj.njf
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd jssnn
+$ ls
+90199 jqqmqddf.qnz
+$ cd ..
+$ cd qzzb
+$ ls
+dir mgpql
+dir src
+dir zvdgc
+$ cd mgpql
+$ ls
+141852 qpbqqj
+$ cd ..
+$ cd src
+$ ls
+204425 lqmcbndm.jrj
+75571 qsbrsv.jcm
+$ cd ..
+$ cd zvdgc
+$ ls
+268742 ffjmrmmz.lhg
+18385 rvmp.hjv
+$ cd ..
+$ cd ..
+$ cd tmdlcv
+$ ls
+182587 sfwvjrj.mzl
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd prw
+$ ls
+207429 dbnsfp.rqf
+dir ptgn
+dir pzgpqp
+252902 rbt
+169694 trg.rsh
+$ cd ptgn
+$ ls
+dir jssnn
+dir qpbqqj
+dir rpd
+$ cd jssnn
+$ ls
+189316 dbnsfp.bqc
+$ cd ..
+$ cd qpbqqj
+$ ls
+167937 zjbvwsnv.bhz
+$ cd ..
+$ cd rpd
+$ ls
+8775 crlq.lrj
+$ cd ..
+$ cd ..
+$ cd pzgpqp
+$ ls
+dir pcccp
+$ cd pcccp
+$ ls
+51496 pcccp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd tzqfn
+$ ls
+dir cbpfvdp
+285700 crlq.lrj
+7426 dbnsfp.fsd
+dir gdl
+141367 jssnn.hmw
+184482 sczphnp.vnc
+126288 vjlfrdp.tqh
+dir wndpdj
+$ cd cbpfvdp
+$ ls
+dir cvfr
+dir qpbqqj
+$ cd cvfr
+$ ls
+dir jfrnvts
+dir qpbqqj
+$ cd jfrnvts
+$ ls
+dir vwdn
+$ cd vwdn
+$ ls
+236936 vjlfrdp.tqh
+$ cd ..
+$ cd ..
+$ cd qpbqqj
+$ ls
+254275 bqd
+$ cd ..
+$ cd ..
+$ cd qpbqqj
+$ ls
+dir jssnn
+201960 qpbqqj
+$ cd jssnn
+$ ls
+131127 jssnn
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd gdl
+$ ls
+225146 hsgzmtp.wcs
+204436 jssnn.lhh
+64007 mjzjgfg.jsb
+$ cd ..
+$ cd wndpdj
+$ ls
+245412 bvcq
+211386 dbnsfp.tqd
+186962 fql.mww
+dir hlmhtfz
+117446 smvjvcn.lcp
+$ cd hlmhtfz
+$ ls
+150152 lrdhbq.rvm
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+179703 fvmbz
+87552 qtz.ccw
+129764 rrcsndz.tzp
+$ cd ..
+$ cd ..
+$ cd nwglfhpl
+$ ls
+66039 crlq.lrj
+dir cwq
+dir dlgrsw
+267814 frhlttn.nmd
+dir hmprt
+dir qpbqqj
+dir wnfzznfh
+$ cd cwq
+$ ls
+77655 cpjnwzh
+dir pcccp
+dir zjbvwsnv
+dir zzhjfmnr
+$ cd pcccp
+$ ls
+dir pcccp
+$ cd pcccp
+$ ls
+245309 bggzbrg.flf
+$ cd ..
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+196915 gnmfb.dzq
+dir ngqbdqp
+$ cd ngqbdqp
+$ ls
+355 rrcsndz.tzp
+$ cd ..
+$ cd ..
+$ cd zzhjfmnr
+$ ls
+dir dbnsfp
+$ cd dbnsfp
+$ ls
+223184 chq.jvb
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd dlgrsw
+$ ls
+181906 chq.jvb
+5636 dbnsfp
+219889 jbr.slc
+dir zrntbl
+$ cd zrntbl
+$ ls
+61864 brnpgpwt
+138980 qpbqqj
+$ cd ..
+$ cd ..
+$ cd hmprt
+$ ls
+90249 dbnsfp.mbd
+$ cd ..
+$ cd qpbqqj
+$ ls
+290377 crlq.lrj
+$ cd ..
+$ cd wnfzznfh
+$ ls
+83022 hclmps
+64095 zhm
+$ cd ..
+$ cd ..
+$ cd pcccp
+$ ls
+dir rdzntr
+dir rvccq
+$ cd rdzntr
+$ ls
+239028 rrcsndz.tzp
+$ cd ..
+$ cd rvccq
+$ ls
+22746 chq.jvb
+288752 jjvppq.swt
+dir msgwsnjq
+dir pggz
+228469 vjlfrdp.tqh
+$ cd msgwsnjq
+$ ls
+102522 lwgqc.mhv
+25239 ndm.llf
+$ cd ..
+$ cd pggz
+$ ls
+dir cnjqsqj
+$ cd cnjqsqj
+$ ls
+229407 shpnq
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd pdnj
+$ ls
+193069 rwnhgttz.pvp
+$ cd ..
+$ cd sjstqlcb
+$ ls
+263295 chq.jvb
+224091 jss.wtr
+$ cd ..
+$ cd zssln
+$ ls
+5859 ncdlcr.dll
+$ cd ..
+$ cd ..
+$ cd dbnsfp
+$ ls
+271252 dhcrzvbr.wmn
+$ cd ..
+$ cd hppb
+$ ls
+259968 jssnn
+81292 qpqqb.clj
+$ cd ..
+$ cd mcnzs
+$ ls
+170903 crlq.lrj
+59482 dhcrzvbr.wmn
+dir dqzwzbgm
+dir gnrztn
+286736 jssnn.jcm
+32791 phqsgl
+dir pzjnrwt
+197323 vjlfrdp.tqh
+dir wvnwbpct
+$ cd dqzwzbgm
+$ ls
+78575 qpbqqj
+251546 qpbqqj.slb
+$ cd ..
+$ cd gnrztn
+$ ls
+158603 hdnwmd.rhj
+dir nbfdtwzr
+178239 ptnchzpg
+40517 rrcsndz.tzp
+dir smvb
+198007 vjlfrdp.tqh
+$ cd nbfdtwzr
+$ ls
+200354 crlq.lrj
+$ cd ..
+$ cd smvb
+$ ls
+163921 zjbvwsnv.brz
+$ cd ..
+$ cd ..
+$ cd pzjnrwt
+$ ls
+33891 lwrll
+259646 pcccp.sfn
+106835 pqfzthjq
+189673 rrcsndz.tzp
+$ cd ..
+$ cd wvnwbpct
+$ ls
+234188 dhcrzvbr.wmn
+dir gmtpsgv
+86379 jssnn
+146663 sfpmdbbd.jvt
+25795 vjlfrdp.tqh
+$ cd gmtpsgv
+$ ls
+18642 chq.jvb
+3046 cznlwtw
+26335 ddgpngrc
+116455 vnnls.hsg
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd npntsr
+$ ls
+dir cccjdcvb
+206657 chq.jvb
+280518 crlq.lrj
+dir dbnsfp
+dir jphnn
+dir jssnn
+dir mpl
+195193 rrcsndz.tzp
+dir rztc
+dir znwp
+$ cd cccjdcvb
+$ ls
+192965 mcr.sfq
+$ cd ..
+$ cd dbnsfp
+$ ls
+dir gfns
+173317 jssnn.tjq
+dir mgr
+68817 mvwcwfcr.zmz
+dir pqfht
+108571 swfl.dtj
+10398 tvvvv
+dir vzg
+174361 zjbvwsnv
+$ cd gfns
+$ ls
+203999 zjbvwsnv.hfg
+$ cd ..
+$ cd mgr
+$ ls
+dir zjbvwsnv
+$ cd zjbvwsnv
+$ ls
+26871 tqlgcf.jrn
+$ cd ..
+$ cd ..
+$ cd pqfht
+$ ls
+199590 clpvscl.rlm
+dir dwlhv
+dir vhzfzhrb
+$ cd dwlhv
+$ ls
+130761 qpbqqj
+242752 rrcsndz.tzp
+$ cd ..
+$ cd vhzfzhrb
+$ ls
+dir njdgcbvm
+$ cd njdgcbvm
+$ ls
+dir snjfqg
+$ cd snjfqg
+$ ls
+dir qpwh
+$ cd qpwh
+$ ls
+153353 qsjpj
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd vzg
+$ ls
+dir pcccp
+$ cd pcccp
+$ ls
+dir jfbtl
+$ cd jfbtl
+$ ls
+209199 dbnsfp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd jphnn
+$ ls
+52305 crlq.lrj
+193480 gmms.whz
+59354 nmq.dww
+64638 qpbqqj
+47072 rrcsndz.tzp
+$ cd ..
+$ cd jssnn
+$ ls
+69168 crlq.lrj
+1549 dhcrzvbr.wmn
+219596 hdmczg.lmm
+108063 jssnn
+24327 vjlfrdp.tqh
+dir zjbvwsnv
+$ cd zjbvwsnv
+$ ls
+189952 chq.jvb
+$ cd ..
+$ cd ..
+$ cd mpl
+$ ls
+144856 bqrrzm
+249487 crlq.lrj
+dir ffqgpgfg
+93632 flqwtn.nsz
+dir mwpcqr
+195910 pdqwn.lcg
+$ cd ffqgpgfg
+$ ls
+66459 dbnsfp
+200500 lcmt.zmz
+207093 qpbqqj
+77042 vjlfrdp.tqh
+57109 wwzv.hbn
+$ cd ..
+$ cd mwpcqr
+$ ls
+dir zjbvwsnv
+$ cd zjbvwsnv
+$ ls
+166393 vjlfrdp.tqh
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd rztc
+$ ls
+57788 chq.jvb
+$ cd ..
+$ cd znwp
+$ ls
+164627 chq.jvb
+$ cd ..
+$ cd ..
+$ cd zjbvwsnv
+$ ls
+dir dgrrl
+71529 jssnn
+198617 pcccp.qqh
+dir phggn
+56842 zjbvwsnv.vqd
+$ cd dgrrl
+$ ls
+dir czm
+dir fhhlbdlz
+dir gstjw
+dir qpbqqj
+dir stgb
+$ cd czm
+$ ls
+dir jssnn
+$ cd jssnn
+$ ls
+162335 chq.jvb
+30099 mfdgdw
+96389 pcdsd.wmw
+251423 tmz.lcb
+205979 vpltdt.gtv
+$ cd ..
+$ cd ..
+$ cd fhhlbdlz
+$ ls
+dir qpbqqj
+dir vdjs
+dir zgz
+$ cd qpbqqj
+$ ls
+285561 chq.jvb
+263924 lbqcfdrs
+138854 pcccp.dtn
+$ cd ..
+$ cd vdjs
+$ ls
+32688 chq.jvb
+223233 tbn.blt
+$ cd ..
+$ cd zgz
+$ ls
+92804 bqltmv.wzb
+$ cd ..
+$ cd ..
+$ cd gstjw
+$ ls
+151784 fvfszzzn.cbh
+$ cd ..
+$ cd qpbqqj
+$ ls
+dir blztqf
+dir plgnh
+$ cd blztqf
+$ ls
+195097 wlvmtz
+$ cd ..
+$ cd plgnh
+$ ls
+dir dbnsfp
+246221 dhcrzvbr.wmn
+271121 jhwmmzls.mhw
+170162 pcccp.dpp
+37872 qpbqqj
+$ cd dbnsfp
+$ ls
+dir dhpnr
+$ cd dhpnr
+$ ls
+152837 pcccp
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd stgb
+$ ls
+248436 vjlfrdp.tqh
+$ cd ..
+$ cd ..
+$ cd phggn
+$ ls
+284602 dhcrzvbr.wmn
+dir lctr
+dir rjmc
+66651 rrcsndz.tzp
+117525 vth.fgw
+156877 wcqnjzbq.dgf
+7803 zpsrzclh.bzw
+$ cd lctr
+$ ls
+212339 jssnn.whp
+dir jzhcqb
+99974 pcccp.zhs
+111354 pmc
+104899 vjlfrdp.tqh
+93496 zhwmbw
+$ cd jzhcqb
+$ ls
+dir zjbvwsnv
+$ cd zjbvwsnv
+$ ls
+146807 rbrg
+$ cd ..
+$ cd ..
+$ cd ..
+$ cd rjmc
+$ ls
+dir fvbmsc
+139747 glwmr.lrg
+dir gvnnz
+102023 tbj.qmz
+dir vsztsjfh
+$ cd fvbmsc
+$ ls
+136838 vpvbz.qtw
+$ cd ..
+$ cd gvnnz
+$ ls
+95498 zjbvwsnv
+$ cd ..
+$ cd vsztsjfh
+$ ls
+215479 ffwlcrwb
\ No newline at end of file
diff --git a/Advent of Code 2022 Day 7/src/main.java b/Advent of Code 2022 Day 7/src/main.java
new file mode 100644
index 0000000..9c1d99e
--- /dev/null
+++ b/Advent of Code 2022 Day 7/src/main.java
@@ -0,0 +1,70 @@
+import java.io.IOException;
+import java.io.RandomAccessFile;
+
+public class main {
+
+ static Directory root;
+ static Directory currentDirectory;
+
+ public static void main(String[] args) {
+
+ root = new Directory("/", null);
+ currentDirectory = root;
+
+ try {
+ RandomAccessFile file = new RandomAccessFile("input.txt", "r");
+ String str;
+
+ //Part 1
+ System.out.print("Part 1: ");
+ while ((str = file.readLine()) != null) {
+ if (str.charAt(0) == '$') {
+ command(str.substring(2));
+ }
+ else {
+ if (str.substring(0,3).equals("dir")) {
+ currentDirectory.addElement(new Directory(str.substring(4),currentDirectory));
+ }
+ else {
+ int size = Integer.valueOf(str.substring(0,str.indexOf(" ")));
+ String name = str.substring(str.indexOf(" ")+1);
+ currentDirectory.addElement(new File(size, name));
+ }
+ }
+ }
+ file.close();
+
+ System.out.println(root.countSum(100000));
+ //root.print();
+ //Part 2
+ System.out.print("Part 2: ");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void command(String command) {
+ String handler = command.substring(0,2);
+ if(handler.equals("ls"))
+ return;
+
+ String content = command.substring(3);
+
+ switch (handler) {
+ case "cd": cd(content); break;
+ case "ls": ls(content); break;
+ }
+ }
+
+ private static void cd(String content) {
+ switch (content) {
+ case "..": currentDirectory = currentDirectory.outerDirectory(); break;
+ case "/": currentDirectory = root; break;
+ default: currentDirectory = currentDirectory.getInnerDirectory(content);
+ }
+ }
+
+ private static void ls(String content) {
+ }
+
+}
diff --git a/Advent of Code Template/.classpath b/Advent of Code Template/.classpath
new file mode 100644
index 0000000..60b915a
--- /dev/null
+++ b/Advent of Code Template/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Advent of Code Template/.project b/Advent of Code Template/.project
new file mode 100644
index 0000000..734f90b
--- /dev/null
+++ b/Advent of Code Template/.project
@@ -0,0 +1,28 @@
+
+
+ Advent of Code Template
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ 1671521328717
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/Advent of Code Template/.settings/org.eclipse.jdt.core.prefs b/Advent of Code Template/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e2e9c66
--- /dev/null
+++ b/Advent of Code Template/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/Advent of Code Template/input.txt b/Advent of Code Template/input.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Advent of Code Template/src/main.java b/Advent of Code Template/src/main.java
new file mode 100644
index 0000000..e6607dd
--- /dev/null
+++ b/Advent of Code Template/src/main.java
@@ -0,0 +1,28 @@
+import java.io.IOException;
+import java.io.RandomAccessFile;
+
+import java.util.ArrayList;
+
+public class main {
+
+ public static void main(String[] args) {
+
+ try {
+ RandomAccessFile file = new RandomAccessFile("input.txt", "r");
+ String str;
+
+ //Part 1
+ System.out.print("Part 1: ");
+
+ while ((str = file.readLine()) != null) {
+ System.out.println(str);
+ }
+ //Part 2
+ System.out.print("Part 2: ");
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+}