diff --git a/2022.csproj b/2022.csproj
index 2c5eb2b..9c5e18c 100644
--- a/2022.csproj
+++ b/2022.csproj
@@ -21,6 +21,9 @@
Always
+
+ Always
+
diff --git a/Day 02/Day02.cs b/Day 02/Day02.cs
index fcff41e..59ecffd 100644
--- a/Day 02/Day02.cs
+++ b/Day 02/Day02.cs
@@ -16,22 +16,23 @@
{
if (PossibleScores == null)
{
- PossibleScores = new Dictionary();
+ PossibleScores = new Dictionary
+ {
+ // Rock combos
+ { OpponentRock + " " + PlayPaper, Paper + Win }, // win
+ { OpponentRock + " " + PlayRock, Rock + Draw }, // draw
+ { OpponentRock + " " + PlayScissors, Scissors + Lost }, // lose
- // Rock combos
- PossibleScores.Add(OpponentRock + " " + PlayPaper, Paper + Win); // win
- PossibleScores.Add(OpponentRock + " " + PlayRock, Rock + Draw); // draw
- PossibleScores.Add(OpponentRock + " " + PlayScissors, Scissors + Lost); // lose
+ // Paper
+ { OpponentPaper + " " + PlayScissors, Scissors + Win }, // win
+ { OpponentPaper + " " + PlayPaper, Paper + Draw }, // draw
+ { OpponentPaper + " " + PlayRock, Rock + Lost }, // lose
- // Paper
- PossibleScores.Add(OpponentPaper + " " + PlayScissors, Scissors + Win); // win
- PossibleScores.Add(OpponentPaper + " " + PlayPaper, Paper + Draw); // draw
- PossibleScores.Add(OpponentPaper + " " + PlayRock, Rock + Lost); // lose
-
- // Scissors
- PossibleScores.Add(OpponentScissors + " " + PlayRock, Rock + Win); // win
- PossibleScores.Add(OpponentScissors + " " + PlayScissors, Scissors + Draw); // draw
- PossibleScores.Add(OpponentScissors + " " + PlayPaper, Paper + Lost); // lose
+ // Scissors
+ { OpponentScissors + " " + PlayRock, Rock + Win }, // win
+ { OpponentScissors + " " + PlayScissors, Scissors + Draw }, // draw
+ { OpponentScissors + " " + PlayPaper, Paper + Lost } // lose
+ };
}
}
@@ -39,22 +40,23 @@
{
if (PossibleScores == null)
{
- PossibleScores = new Dictionary();
+ PossibleScores = new Dictionary
+ {
+ // Rock combos
+ { OpponentRock + " " + PlayWin, Paper + Win }, // win
+ { OpponentRock + " " + PlayDraw, Rock + Draw }, // draw
+ { OpponentRock + " " + PlayLose, Scissors + Lost }, // lose
- // Rock combos
- PossibleScores.Add(OpponentRock + " " + PlayWin, Paper + Win); // win
- PossibleScores.Add(OpponentRock + " " + PlayDraw, Rock + Draw); // draw
- PossibleScores.Add(OpponentRock + " " + PlayLose, Scissors + Lost); // lose
+ // Paper
+ { OpponentPaper + " " + PlayWin, Scissors + Win }, // win
+ { OpponentPaper + " " + PlayDraw, Paper + Draw }, // draw
+ { OpponentPaper + " " + PlayLose, Rock + Lost }, // lose
- // Paper
- PossibleScores.Add(OpponentPaper + " " + PlayWin, Scissors + Win); // win
- PossibleScores.Add(OpponentPaper + " " + PlayDraw, Paper + Draw); // draw
- PossibleScores.Add(OpponentPaper + " " + PlayLose, Rock + Lost); // lose
-
- // Scissors
- PossibleScores.Add(OpponentScissors + " " + PlayWin, Rock + Win); // win
- PossibleScores.Add(OpponentScissors + " " + PlayDraw, Scissors + Draw); // draw
- PossibleScores.Add(OpponentScissors + " " + PlayLose, Paper + Lost); // lose
+ // Scissors
+ { OpponentScissors + " " + PlayWin, Rock + Win }, // win
+ { OpponentScissors + " " + PlayDraw, Scissors + Draw }, // draw
+ { OpponentScissors + " " + PlayLose, Paper + Lost } // lose
+ };
}
}
diff --git a/Day 03/Day03.cs b/Day 03/Day03.cs
new file mode 100644
index 0000000..1916ae0
--- /dev/null
+++ b/Day 03/Day03.cs
@@ -0,0 +1,43 @@
+using System.Text;
+
+namespace Day_03.Day_03
+{
+ internal class Day03
+ {
+ public static string InputPath = "Day 03/day-03-input.txt";
+
+ internal static string GetPart1(byte[] data)
+ {
+ string[] rucksackData = Encoding.UTF8.GetString(data).Split(Environment.NewLine);
+ int priorityCount = 0;
+
+ // go throu each ruchsack
+ foreach (string rucksack in rucksackData.Where(x => !string.IsNullOrWhiteSpace(x)))
+ {
+ // split the data line down the middel
+ string rucksackOne = rucksack.Substring(0, rucksack.Length / 2);
+ string rucksackTwo = rucksack.Substring(rucksack.Length / 2, rucksack.Length / 2);
+ char prioChar = rucksackOne.Where(x => rucksackTwo.Contains(x)).First();
+ priorityCount += prioChar > 'Z' ? (prioChar - 'a' + 1) : (prioChar - 'A' + 27);
+ }
+
+ return priorityCount.ToString();
+ }
+
+ internal static string GetPart2(byte[] data)
+ {
+ string[] rucksackData = Encoding.UTF8.GetString(data).Split(Environment.NewLine);
+ int priorityCount = 0;
+
+ for (int index = 0; index < rucksackData.Length; index += 3)
+ {
+ // get the 3 ruchsacks
+ string[] ruchsacks = rucksackData.Skip(index).Take(3).ToArray();
+ char prioChar = ruchsacks[0].Where(x => ruchsacks[1].Contains(x) && ruchsacks[2].Contains(x)).First();
+ priorityCount += prioChar > 'Z' ? (prioChar - 'a' + 1) : (prioChar - 'A' + 27);
+ }
+
+ return priorityCount.ToString();
+ }
+ }
+}
diff --git a/Day 03/day-03-input.txt b/Day 03/day-03-input.txt
new file mode 100644
index 0000000..28b7adb
--- /dev/null
+++ b/Day 03/day-03-input.txt
@@ -0,0 +1,300 @@
+GbccTtTSGGbgrcWBGGrdgTnVQnCmNpCJlNnNPVfClcnN
+vMzvZhzhwDLVmQnClwwNQp
+FRsZFzjQFsqRzRRjDZbdtTgdHBBWGrdBdHHs
+HCLTmbCLgzNBNPSSlT
+JJGMWRJMrrdwWWGjGWMLRGLjBzNQsBzPPfflzDPBsBffDrQz
+pwJdLMjdMddWjLtwZWMMwGtHhnvnCnhvqVFFZnvbgbqVCZ
+tvMCDCSVVvDDBQFRbqWMMsWgFWgc
+BLLPTpBmfLPrHLLfLsbhRqbzRRcRHgqssR
+dfdNLmPTdNZmZdZPfpmTJLPPSvQjtSGVwQSDJSjSwDQBVCGw
+wZWTWNFqzwZbWNpSgGMVMtTHsgGs
+nlnPnPvLQjzdtsjBHBMMGSHg
+LdnrrLnhRdLLmLDRPvmdQnJDJWNqcCqZJZqfFqfcfzcq
+vPTbfWggzvGVqjsVqV
+dDcJHZcZHmMFQQMshsjcRqVChjNtqh
+dDHJDmFnrJmQFnBdMdQHJdZZlWTTPPjTLWbTzLWlTTfwjzBT
+VfmDHDfZzfLcZLLLHBFQtRJTcdjgdTgFjjtR
+WRPhMlGSshPRGgvFMtddTjjCQt
+SPhWPsbNWShsWllswGpzLmzfZwmZfqLVRrDBZB
+MtZgRgJJbbGjgDDgbjRjRbGcNdWwncBFdLBBMhFBQwnWnw
+vlpsNVsCzzfHpvTpzlSSSvppcQdfnwnWhndWndwfQLhnhcFQ
+pCsCCTHVvSzvPvHvzpPVTVHHRJJDgJZjJjqNmjZmDtJRZPNR
+GTGTbhhPjJJjBhhZsGzmfHSNsmHHgSdL
+FcFpMDFDRFfsRHSjmLjR
+CpFjqcCjwjnpwhTPTWBQZZTb
+zdzzwDlnTDQQQQnqQqqsFqnrSBSprbpjNJJBJPPdpJfbZb
+hgMcRVGMtHgRcNSPrpfgfjJpBp
+CLRHVHhtvtvGPWFFDqPDLnqP
+jssjjjHCSGCMNJTWWCJT
+DvcvBtVrrDSNWcMfLRfM
+ppDZSpBhBvBmvDHnFsHHPnGPGbQp
+VVVLsLWnjVVBGgScjtBjjLLgmJdPmJmfmhmGmmmNmJGhPNJP
+QbqlZqQTZvMHmshvFhPfffFp
+CsTRrQrwbCbrZqQTQlRjtDBSBtwBjgVWLBtgBt
+FLsSFRTPscHZmGRGGc
+npNNptgttCNpgLbnQMgnQnMNqVhGqZrmrmmqrmcrqmCVZwqH
+WMWbtpjLgnLNvSfPPzjvjPdv
+FcFFhZlhlMrHlSFSrHZMJZSVmmLmVLLCsBtLBCzCBVDRcV
+PMGPbndvGfGstLzDCmLB
+NwjPqdvPpvgddqgwHrZhJlTlThpWJMZp
+SdjStScTWTwwvwwfjRhQPQQQDlLBGpLrPrLrLc
+gCqJbNsVsNMgzMJnnqzNlCLGGlZZPrLLlLLtpPDl
+JsFJFMmbJqqnJbhSHdjWwjtmHWvS
+zBFDGGbNzDWRbDccsWslHlWWsJcS
+zMVqTwzPfVfVMwmlcZTZZlSmTlmc
+MrMvMCnrMVMCPrPnDFFGgQdFgRdzznbd
+rJtJnrnSShJgcCsjjNNMSSDzRmzm
+HWDWPBPDBfFVBffqplvlmNlQllvzQNQqlN
+FVGHHFVbwBpBPwFFGfBpHVDgrcJCbZcLdCgtcCcJLJrd
+MGHGGFFqbFTGmFwLmQsQflFN
+WcvBdpjhdZdNwdZwLZ
+vWtgVcpvjthtNcjntDhhpSJMSqHzqTzqCVHTSqHPGT
+cVHZfjfZMcrSDQMJRCBCQw
+PtGddtslsWQDBdwCDDdw
+WsvTFnshPTGhGhhlPNGTCnsjgFVfmgfHZfVHgcHZVVFmFV
+JFFqfJBgrHBffVHlsBFqfWNgjTtztNnttWWvWNwzwt
+hGZbcBcZZSQmZLQRTbvNttTzjtTvbpzv
+cmmhRchPZhZSSmdmGPDDdJdBVMffHlqlslfF
+qWwTNwNHMHNNMRqMdRMQQMHLmmvzrTmrzPvzJvZvZlvzjZ
+FphBpnBhVBSFvLljzZPpmrPL
+nGsBbssbcbdlwggdNl
+RLSRTLSFFFLPSWpzzTJdzsQpbd
+DvqqcwVMDDcfrrnwDcwnvCdpQQphJhJjhdhpzsJhMQ
+fGcvDZffcGGZDHGrGrtJRPlPmJSlPLRgNBHg
+QlFFmGQFDQrrWlRlWGrnQVCLNvvPwLCwBvCcCcJCLCCm
+tHtfsjSMCNPwzvCf
+MjqStqMHsMSgjShjTttgphsTlrbDWGDrGlRTlNDbQrQRWRbD
+QbChcCJCbHQCjbGCjQfsdsrtTqrfTLrcFftd
+DwRzVzzZnzZRwvgRhRWtqsLLWtRdqLLdqd
+NMwMzBVVPPSGQhBl
+ttTPHWdrJjCdjnFMtLLtLNvQltLh
+pSDBwZRBBsgfDGGsGpBVMFPQQlFMFQQFQfNvLNfF
+PsppZzBVzwgDwBwwgpSSBssWjqrdCnjjHdmCTHznWCJJWn
+WcdHdPcdZrLPDPBQDg
+pMjMMqfmJlqNflMlFNRfLBwnLzTTTDJJwDTTGTLJ
+hlhbqpbNNbVVdbZtSB
+RDBWGRDnzBWBJDNBttSLlclldtQQcTTLFF
+rTPVjZZsCZrVhdFMcgLgwFSgQh
+PsjHVffbsTCHrCvTPfDJGJHNzzNJWnnnmzDB
+LQdFgTLdQjVsQFTRBjMZrmBjWGMGSW
+flvJJlJpbNnppCpMGGfBBZSZRfFmGr
+NNbNDNlbDpHlbDDplvzvnCbzqsQPFQsTTccsqdQqLgdHLwQw
+DnGDNDTFdFwDzCZZRmhThCRRRv
+SgrPLrrLsBPbHBCmtVZVCdCcctHH
+rSbgBrsqgsPppMBqfpPsLpPGlNGGDwNFNJWDldlllDwJMG
+PWbvNWvpvJPnWDGqDjDczj
+QwfFFVVQSMlDlQfFZhsHrBrhHHTcjnczqjzqrG
+mwMSgfmDmSSFgfFNbmLpbRbJbvbRpC
+lsggLLLDGldGTGBBhNTCwRwVnJnNCCnbRV
+QQpWrpHtrHrpNRRJNtfbJCVR
+PvQQFPzccvBglclNscls
+NsszMMNGWLcWBhMF
+gTtwvbqfnDTdpvqDftpnnntDZvLFQFBLmRWFRhJZJhLLBRQB
+DwrpDbngprPWGllSNrSS
+nCqdLPZPMMZLNvtGhRmGhGPmtW
+TSrVZVSZVwFTgSVtrtchvWRRrtWtcr
+gjbjBjgTjfgfVfHHppBLMnqLMDnqClsZJLLD
+hrqShCPCpHHBVBGWQFVQGFGnzQDf
+tgvZsbwsbcMbRsgccjDGFvGFfWJLLzFFQJ
+TTZmMcgmbmWZMctbbtsHrrqqSHHrCrPBBSCPrT
+HHHNZLGLpBpRSvWlGlqhPghqDGnnFr
+QCNCMTJdjMjdjsQTbdQmmCQDngFqnggPFcPcnPFcDqcbDn
+MNJfzNsfJdJjdzwMNjjTJttSHVStRtZVwHvWRWtZHt
+DSbvDdDbbwHgCSgZPwpbPgmTTJhsTTChqTJssQssFmJJ
+zzjMNNGMMRcNNhvnvFqmtJJv
+WWffvlVrcGzGlcjLvfrVRLHgHgpDPSbPpwwHbWbBbPPH
+FCCjjFlFtCjzlpTHtJsQTTcpTT
+DWLhWSgDWWdSWLwmmpHHQTHcBTBvvwHvHl
+mgGRhrLLgWqnjrfCNlzP
+cLsslBlsqNNTHlTVNbLZZLRCQbZZdQdpbP
+JGfJhhwfwBBSJPRdZddpZRQbfR
+hWmWGgDhJrFhBcWsssWHvHll
+lmmvlJFtMHFtQzVSRbPGzLJRgG
+BcTcrNBrrwwqDBqNqwcrhLpLPVzRhPRPPPgSGVPLbS
+TrDqcnsTcsmnvHtdGtMW
+CcnDQpSDcnFcPBrmbPQGBsGB
+gCtCfRZTBWbjPRbr
+qgvHqgJhMfZTtvHgfTghJgMJDpdppFSLLCcSDvLLcdDwvLcw
+ffFgGRMWSTGcnDgllDDpDp
+dvSdHBrVSLNVLjdlsllcsDqpsZ
+SHHHNrLJLvtNQJVvmMfGRGGRCJWJRwzWMh
+JNpNDfDBDHVzwHHzpzBWVBPsvsFNCbmbqsFFNsjCmvsmNC
+rnnrtLhnrrQZMvtFbWmqtllcFb
+GQRdGQLLhMSQhZLZdgdwwHzPDzSVWzVDwJDVpz
+LdcGjgdcrMDSFGVfnnGG
+HNsCCQFCPvFFBJnnSBJVfDVJwf
+HHFRqHPpNppmQPcpLjzrdgtbgztT
+GlZZbclGZsDvlGhsShRnCnMQtjtQjnCQsQRM
+PggFVcdFNFNNVVFLPdPdrwpWBMMnqMpnttJMnjMnQqtqQtqq
+FdgcdcLwfTmSGTmhlbzG
+RGvhGrLhhRhlpChZrGSprBdPPHJJSBgSSHqBWBBffH
+mQmjmwtTMTVLzHnTPWffPHHJBf
+jMmmwMcVcFLFrlRshZbCrF
+SnNgNgBlNZSZdZtMrlnSnnQtjpwFwpvFJwFqpwSbqjjqGRpv
+CLCcWHLhLTzsDPcCWMLGpFJbGFwsbvGwJwjpRv
+zMCTPhmHWzfhQQmndNllNrQg
+dbdBdZrQsrdrGslrrSpLvwHmlTmmwScTHv
+FgnJqLDLWqNnNpppmpCSSmCJTw
+NNhhnRNfzMhgnMDFfGdGLbBVVdQRtPVZGt
+BBQJNTTzTcfRhtjhffqDDWCC
+vZnsLsVLSvPwPFFnwPlSPgZWqGjChgWCCWWCMCgGMh
+srLLnLmlPwrrPwmwwvlRqzQRJBmppQTTQpTdBN
+PLDpZGpWbNGWLDfQmsQDwwsmhm
+vTzMMbgCfgHQsmQt
+VMlRznlzVnTcFzbMcrpJcNrJdjdpZrLdcZ
+SftvFcDSvDHsFtctMSvbdjbpqpRRpRTJrMdrrb
+QzQZWZnQgQZwBBwsJdqPjdjrnTpJjs
+NGmwmgszhZwwGGgZGmggWLVSVHlNVVtDcDltFVVVlVHt
+WCfFBfBHHjHHjgHBjJFVcVRwQMbVrRhrJbRRJM
+sZMsDqzZPRrRrVswdc
+vvTzDzpDTvpDvZPvSnNZZlSHMCHjjFtWmlttlCjmCF
+hJZwhrvhBJRrPQPwRRZLllgLqfcqpTggpcTWMTff
+HHDzMztbVgTzNpgf
+nGbmtjDMFjDjCHbbbHHHdBQQPBrZvJQRwvwRPZQJGs
+NNSrMSHRqWpWNNrNMvLffTBBDmsvcmcJLM
+lwPPhcddcGPlBDTDlmDvJJsv
+bZhzCdPGGFzVVPwVwbNtcqHrpnpZptSZqRrt
+GvvSWhmhWBNcBDNc
+FzlRRTljjRTjRRmZfbflRTlFFrrMrcBcDVqBVsNDDJsMFr
+bttRfzfRHzjlmlnCbTtzbRShgwHGGvppLdpvwLLGLLhd
+MHGMWdBFFNsFFHpWSFddMmqVmVBggmlVfbVffjgZml
+hcJsTTscvsLDzDJmqVgfqbqnbmfJbJ
+PvRTzsPwLcwCprSdwdNW
+qfJnJdLpJzrcqCrCzcGfpRSSVBPRSjSSllTNRBdTRS
+DbsbtggsbbsghhgvnWWSlVjPSjmmPBtjPNlTmS
+vHHHHDHvZHQvWbWsZDgWhDwWzpfGfzfcpFJzczwFJrfffnGC
+sQvsRQsFZvfpGhjhQqjpZvjGJHgngPBNHnCBJBCmSBmBNG
+HTHwbtdTDDnCTPTT
+zwMlVdzbzLzMWvQZRQZfZZlHsR
+QhzWwRBPHgFrWWrH
+SDgJCCDCsVpMMqTtFpfpqG
+gJNCCddSZNSlljQzPPNBzR
+dLzVVjfLGCCdRPrdmBtwWttr
+NnbNsbTHJnbHbSHlNQsNtwrJRwBMMBhrPJWZRRtM
+QSslpFvpSSsQPFCDqqgzcjCj
+fcpGshsfNcNZsmRjNqCtnFgbCgHrrggmrn
+QvzBlBBQBdJTBzBwVVMgbrwwLFtLtgLFHCHrbF
+dlQQMBSSTPZfPcfssZNC
+gNGVMzVpVVTdPDWdRdNT
+BfjbnCBjBzffHrbrzBDddQWTZZQTTJTQTHHS
+zrFncfBjcjnrrlCLwFgpmvFmwGmVLh
+MbngccTfWgbWcTTzZghmLshhLRttpthRDLtf
+CdFdJHCJjBvBSCNCNJBjjdjpsPDwDtwvptRPmLmzRwhhLR
+qJSCCBFHQBFFldrVZZbggnGTzcZQ
+lPrpppllcwwpHprppNdfLbQJnWdLJnncdN
+tSjjjSSDGgghRbbSTfTbTFTLQn
+jCBgDMbBMGghZzCZmmlrrpwp
+FhCDFvvPwCjcLhDjhnvjnsdfZTlflQlflLsppdQfld
+zPNSmmHrSSHWBNSMMVGzfGfZTZQZzdpdRGZR
+WSNVVMMVtHSVbMNWBHqmwcvhcgwgvwtPvgtPDjtw
+jSSSjzZMmgSzzwmZBtHcHmtNdncHtnpNcn
+VsLsRsJJsTfRVfLRLJlfLlWqNbDcddncvpvbdvcnpqdpdtHq
+GQQTsJGGJLlRGJFWffWLhgZwrZBZFZrhtBjrjjZw
+ZfzJPvPnLvRJRfZLDfjfrBcqrgsgDBrcrGgslsms
+SNhpqSNhpVTNQSMNgWmrlccVGBBmwrBw
+QHHFhhNdTNHHfZPFqtqPRtjq
+PMZSPSZZGMspsLhLRqRVzfGjvF
+tcwwgcgbcbCrtbbtmQQcCqRffFLhRgqjFjRfhFqhqz
+CLQtcbcmwmbdrbBrlrCwQTsTPsPsZNBPNWJpZWpTss
+lMTrcHrhChWnRzJrznnr
+DDJbPwjLJpfBQjPVBpbsGVGVWnZnsqnZsnzsqZ
+wJQLbpPJDLfgPbDNCHNlghNCMhcNcl
+tlVZhlVWtnBltVtssZBBbPbcpdPwbPWfvcbLvbbb
+NwCTFNFDNdSNPpLpfN
+CGwRjwDjzFFGRGjjFRjlBtZqMzVVtVqhMZMBZn
+HhFdMFHhgrdjcZtZjr
+zvvQQvzwzDMjZTjtcrTDtt
+BwMwSvQSVlzQlMQzwzNgGHPGGHFCCCgGhsHLCS
+zMVtBhhVhhDhtzBtMTTfDrPbmRRmPbQmrQbNQGRQtR
+vLlJHgnLpDvHHvHvmPbSQbQRGmJmPRrb
+pspwHClCwqplsHqDsMMTFWsWfjzszf
+CmmjLwWSWGCHCjwSmStJBgQcccBhwgQtgthQ
+WZVFTpqWsMsZpFddzszbVzJQBnRtrQthchdBgtgRtdrc
+bbsMTWsMVsZqNZMpqWDqbMsCjvlCfjGCPlLLPLCmSCfCLN
+VzsjjVGhpjJrJHCppprt
+WtMnqtWdSQDtMRSnLNHHwHwQvrJrJCPN
+tTtWSScTddBqdRMmlsbFBfhVBhfjjF
+gLMWzdTgLFQHdlMgMRwcwhqqvPcPhVFRDF
+tBnGrSCZNZCrtGBsSNGtBPhcgfchqqDPwVPRvNRqwN
+CmrgstjZngtBzbjJlQWWHjjM
+qttwGWHtVPzJJPqbmb
+NrRvfTTghNrpLrrpLTrNrRrhvJmzmzlbbVVbdbdZlDdvzMPb
+rfcprNcfgpLrVNnnCcnnscstFGCF
+ZZhTfggZsbshGrfshMrNMCSRMMWqCqMNRq
+TVTJPDTFccqMCcJw
+BBLBmLTLDHFvsQpfgnZhbQvG
+ffSrFvVVmVCQSfVDFzDvDDmmnGWCRqGRWNNqlttnRsNtGnWW
+PgZQgPJJpTpTHRGtNRGWqZMWWR
+wdTdwgbPJTJgTgLSFBbrQvSrFrVS
+ppssshsscCVCHhVWVpznnQRBnZnBbzczFPRS
+dqqfJGWttfWGlwwPSbFbZnRFPFtFZS
+wGwdGdddLfGgMTJfwLMlJMpTCChjHhjTHpjjhmsDHmHW
+PZQBhRPQBQrWHFHqHFHCqh
+STQSvvvppzSVHJJFWjHC
+TTgTvbsbszcNnnvbncvRGPBRtRgQrDPLfftPPR
+dMltttpQhmQVZdmhsdrvNCHvlWbHWvHCWrlr
+PzzLTGpGPDzFBzqFGFqFvHWHvRJbbrbWvCvjJCLv
+BpqTBzpzfGGTTPZtSddtQmVffSst
+bwHbRZldhQQfDWWGDjBf
+CzvgpsNMsvCvFvpszpnMsFgBTDBDWPnPVJJZZDJnfjDTff
+CpcLsFrMZbhRcdmt
+HgjpWlhzpWjhWTQPFdPBRQzTMQ
+JsfwrqLttwJVLGhRQGGPBd
+CttfrqDmDDtCsbZCHjhZHSHNlgcW
+QSdCWlCRhWRdlrlZrDssZsGDbv
+pjPrpjqFNrZNGnBbsNDG
+wjjVHjfLQRCgdLrC
+PjMpRdBdjMSGsjpdprqtwCrNGrrNlthhrG
+WQzDzLZDgzZcqlqqrtJclJnh
+zbWHQHDfDWZHfLZHfffWVZpRSPpdVvBSPMqVMPjdvspS
+TMBJLTJlFHBjFFtMGngpvvpgvQmtNSNngv
+bVhsZswRCbbVZWVfVZwVSpmSQPPvNHwPHmgmSSNN
+dCCVZZcbWVVcCbbfsLrdjFMJdDDHBTMrjr
+vNWcTWnCqNCPPjhhHsQrfgszrTJRQsfRQD
+wLdwMBLFBBQJpszJBqzB
+lLwVmMSmttVMlSNqcbcbSbNcvHbh
+PVfJfDWrPVPPLcPPFWcjPrqlqqQsljRpplqBQpRvSQvs
+NdggMTCChMgdChNmdtTbtmsQSRhQslhlpFRpFwllwQvw
+CdnGzbGbgMGMdTCZZDDJcZFDDnWrPH
+fsshhnfLZSvcVbdcZVJj
+RCCSmDFFpRqHQDgWvbGjgjDdbG
+pFmFtCSBCSMBBLwrPsBPNlNB
+fWWcwbbwbWfGCPgPfvbwgvgcQQqQLsGLJQTZHHrZRsrLqlJs
+VnszmsDBpMFpzNFlrlRLRRHZqRHr
+VpdzDMNzNDjpsdzdnzDcPCwtWCjhbthvfgtgwP
+SPQtSWDLLltQQctHLSBSWHlWgFwhMRsgwggrFJPgdgwwGJhJ
+nCqmfVqfVjTznCMhsGRRRgGFMffw
+mCnNTVzVvjmqNtlDtbttDlBM
+LjctjtppFWmgthgs
+nBrNvzTqlDJlbbZgvmhMZVZb
+JJrnTrrgGDqDPwwSPHPpfjRdPc
+sTQmCmmVqmJHSTjGdMMfMNNvNHvc
+rFbzlLLWWPzwlWrlbwzrWbRvdfFjdjpvjfFNNMccphCvhN
+rrWzrwzPBBBCZTJgZg
+gffvjftWddzZtbvdNvgZLwBBMJLSWMDMDDBRWRmS
+PqPqpqcCnCpVqlClTQQmPMDwPRJJBLLLhS
+VCGqlHmmHsjtHNsZ
+mmMlVllWmhmmBzzLGMWlBmpstptPRRZpPMFJSpRsFRFs
+DgjnndQcNTCCCDNcdSRSdtZPfwfwJSJJ
+gQjCQqQjHNnjDCgHNcZGZLhHzrLVLGzlrGmb
+JfwfJpBgJSMphZqtqDDG
+QcQrssrGCcMCVcMc
+RnljPRnPjWbGRbjnjbvmSzwHfHgwfJHzdLFSwBFW
+sBjbHCBCnjvsJCHBsbvwwJGfRNFFFfFGTcrVFffNHRTP
+zDqdpqMgMtgzthgDtQmzGPTVSTVrVGTFSVFFqNRF
+zDLdphmmLhMhDhQdlzgLLbjCnWswWWlrZJBswCJJZl
+FMNrQFgrVwmrpJMwMTMPflbsHPTtlSbftSjCbC
+zGnGnhnGzDqRLnZLHNHbbbHDlltNSjCl
+nzddcRzzBnRRvRRhvnQFpmpgggJVcVmMQmgN
+CCpMlhwwpJpdBlsdcjvtZDFrtmRqmDrsmv
+gzVPbjSPfSPTTTPnWVSbbvDQZZDZrFWDvFDvmvQQmZ
+LTbLTPgnTzLVPNNGnNTgVNPlGdHHCphMwHMwjMphlpjccl
+rMMrqcrmJqJqmCsTPWWGGPzPlPPrGL
+fnwqwwZwRnVlWWnzWBWlDP
+jvVHvqfpJmhtHJtH
+NLMVQjRNTJCTJtZTJc
+DlGlGHvFHGDgcFCtfhCJFtZc
+DBHGGGSDvGDPHWBGdBbSvgWDNVMjLLRnmNmjPLNPNcRQVnjj
+tsGdTJdJtNllzjGRzm
+HZvvDLLWqbBBMRMRNjVhHRmn
+vZDCvqqgBDZZjbZDrWqBvpdpFpcdpCJcPTSJJtptpP
\ No newline at end of file
diff --git a/Program.cs b/Program.cs
index fa7c977..f848d0f 100644
--- a/Program.cs
+++ b/Program.cs
@@ -1,4 +1,14 @@
-using Day_02.Day_02;
+using Day_03.Day_03;
+using System.Text;
-Console.WriteLine($"Max value: {Day02.GetPart2()}");
-Console.ReadKey(true);
\ No newline at end of file
+byte[] data = Encoding.UTF8.GetBytes(@"vJrwpWtwJgWrhcsFMMfFFhFp
+jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
+PmmdzqPrVvPwwTWBwg
+wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
+ttgJtRGJQctTZtZT
+CrZsJsPPZsGzwwsLwLmpwMDw");
+
+byte[] dataArray = File.ReadAllBytes(Day03.InputPath);
+
+Console.WriteLine($"Max value: {Day03.GetPart2(dataArray)}");
+Console.ReadKey(true);
\ No newline at end of file