From 06e6461ecb0ffd6202d3ed149d03c6b3a7ace8cd Mon Sep 17 00:00:00 2001 From: Ben Date: Tue, 4 Dec 2018 18:28:41 +0000 Subject: [PATCH] AoC day 4 --- .../4thDay/challenge1/.vscode/settings.json | 37 + AdventOfCode2018/4thDay/challenge1/a.out | Bin 0 -> 83984 bytes .../4thDay/challenge1/challenge.txt | 49 + AdventOfCode2018/4thDay/challenge1/index.js | 71 ++ AdventOfCode2018/4thDay/challenge1/input.txt | 1000 +++++++++++++++++ AdventOfCode2018/4thDay/challenge1/main.cpp | 180 +++ .../4thDay/challenge2/challenge.txt | 7 + AdventOfCode2018/4thDay/challenge2/index.js | 68 ++ AdventOfCode2018/4thDay/challenge2/input.txt | 1000 +++++++++++++++++ 9 files changed, 2412 insertions(+) create mode 100644 AdventOfCode2018/4thDay/challenge1/.vscode/settings.json create mode 100755 AdventOfCode2018/4thDay/challenge1/a.out create mode 100755 AdventOfCode2018/4thDay/challenge1/challenge.txt create mode 100644 AdventOfCode2018/4thDay/challenge1/index.js create mode 100755 AdventOfCode2018/4thDay/challenge1/input.txt create mode 100644 AdventOfCode2018/4thDay/challenge1/main.cpp create mode 100644 AdventOfCode2018/4thDay/challenge2/challenge.txt create mode 100644 AdventOfCode2018/4thDay/challenge2/index.js create mode 100755 AdventOfCode2018/4thDay/challenge2/input.txt diff --git a/AdventOfCode2018/4thDay/challenge1/.vscode/settings.json b/AdventOfCode2018/4thDay/challenge1/.vscode/settings.json new file mode 100644 index 0000000..28679f5 --- /dev/null +++ b/AdventOfCode2018/4thDay/challenge1/.vscode/settings.json @@ -0,0 +1,37 @@ +{ + "files.associations": { + "cctype": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "cstddef": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "array": "cpp", + "*.tcc": "cpp", + "cstdint": "cpp", + "deque": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "fstream": "cpp", + "initializer_list": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "limits": "cpp", + "new": "cpp", + "optional": "cpp", + "ostream": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "type_traits": "cpp", + "tuple": "cpp", + "typeinfo": "cpp", + "utility": "cpp" + } +} \ No newline at end of file diff --git a/AdventOfCode2018/4thDay/challenge1/a.out b/AdventOfCode2018/4thDay/challenge1/a.out new file mode 100755 index 0000000000000000000000000000000000000000..67c3fac801bff3ef477bbb939776641a788b5787 GIT binary patch literal 83984 zcmeFa4}4X{@i%<(2aHM~T2xfjE24sbXc7VhMGcUPHxM8uL8+pbkX%SK|4eQWt$$FY zC5G74ilr4>>SHanwxvof`k+QclB%_-kG0XFqE&k%R8wpHp{3^i&g|?td(J&4pqA(J zzVCyd6&{X)@KJ?@4ZNdfqD>&}RrqztqJ+GC1dEt~pxtOJ)u6GgYk(~Sck?vU~ z(q52WmWlit(zwy*YcbmA-XD`c}c=p8HaZUB(a=72bpUPf1XC4)2 z`w~`6A1*ke-_-Y)y&sV9=Y~gKfSr<;nOc#PQx)4{}T_@ukYY_2;+dV&cy%S zu@`C|-ZB19N39()op64i2Z0n5bdd*xu^)a6jM5MPGYId8-yMMePC&c=321kD0H0w2 z_~rn71r+Be=lB5p4`D!l<)07G!^Z*gFAm^yPe8k&fb!b|_&*#_{yzcu#{=3WYxL`H zc|d>vR{)#rwGd`1gVL8<$tWf0PfO6VTt2t)s2=;*Up2nSVk*M_9*O`A;cCCgkQ1{8dxD zvf|7$$wy7JqR}O_^>xvvczI(y8nvQ@WwWD|vBubv>ZW+Cv26DAn)&Oq@y7D%I1u4*32@^Vl{ZyaM8UB!R$g0J7A?z)hD#?#OG?M1 z#Y^Wbj;Fge%f7NwM3QKdNr4yoM+0k%VdY3B-SS%XwQT1y&8lYv%q7AXeruw?_n(Fwq(WO}|ztQc=SVd#3HdYr8&<4s^))b@LkheU#2!mS} zttgLIR57ERtY|b|)mVQ`v?f-!BwnS)Ko3C8KF77*JFcbiyl81GzPP%krVvA{v{2pH z6fUU|5z1?7>LCDzds#)SAzocyCxjRVS4%c$R-lS~6sU%5Qbm1jLwRG&wx4ValIq-| z^2#W;OT&-RbDIU!Px!LJBx7V98OpA%+o!UFZ6i={G0VDZYDE)`F&10i|?4nrh68l2}u7ZOj6(Li=u-&X`8as?j&4x@vL~*Tt;bSZ!_nQgRXz@#C_r3yTV;O^@b`%NaMpnm&L2)M~Z52dj5PA$sL!IZN6gpNJadr z|4&E!nksMU*u&7X{x40+sS<-wlAf?6A%>+gSj?E4szuK!`0pn`>-Dnuv}+IN(h|%Q zeXBulKCT)&fI-$_Ha!g`RDI(2e|~ipN~c>#gHAlJ-t#>~7-`nY@*W?12ev4wR+iM) z`yjn<$vTC&SXR5Ns~Ue~mcp;~;QM589wY0mF0bFao>cXyIg01?r`y1r>wb@cKUo(B z+-cxXHSh@of0}{sGw`Py_&o-GjDgP*`AL^28h9OFK&jRl242S(gr~iT{*35QPlo^y zFZ~I1s3*c>KH~t;D^{)%UWjOzhdB*8~C9H zewBeAX5iZmJlVPatnE-w)UP8n5^#NodLjH*)g%AAp+mh8p7x~rv#~=x5&kHR1l-)A zUI>4*dgOmQI@Al{k5P~OZ&!zUA-s-J3Dey{|0+Ens~-8^o(}aw<&RU3{O`^V^+NdL z)g%9#=uj_&*SQ(O^mWj`ivJ1fk^kM(pfTLY05yE7uKgI@cQWkptY z#8dmbBP+ILJZ%^1pYRq){inW-e}|ovk0*MsB6{!6etb@SmEKe6y_?@(q<2a=^mg$3 zv-D1>hTe_*zLnl7#n8K+-yfrQN-gxZ^ZP^eKA7H@^ZNtzPTR!Z27bSn-YJF9yO7_1 zK<|_~=q={=JLsKK2EF1<<>b-!G+i+WPl)^Lq)sQ;Mm#gWqS;JEZ`6H}d;5dZ(>_?|Obe zhu&$+-`mdbIrL6j{odvLeg?hM7QeTF-$&6qZS8v(^80c0PFwokVtzl8-f1h}o6qlu z(K~J7d$agGmELLV-W%fgPk)Ga+Oqd%^81JMej>eF{Qe%jpG5C{|DpcBMeiYc-^uT{ z++$gb+wsny?7tVb{PBuN%Uh8ZZ}%0K6}1g|tO%yn_LWiw=apk5`;S_TIv))?semZw z{Td7-ZG#>lFnLe>D465Jr2 zNXqueA3uu^2ZN)8K}P@1#oUgrzx=$fqyJX(*XBi5oVR@)9wRO9#D_#$&pQtM5@(}_ zi7NcFeNZ;arChG-Y1sP>5a*%J)Ur~{o%~444Vxn^%^M?a;qFLFXJQI;7HON;9cc{% z|1zNtWfaJ56V{LtfSL~by0s%d0i`x}Qum;Md4DkKyaUxnTDB5BvZ5m+(y~3$^5?`b zV0V3kn`)adS9tvoY!|%H1>!{$ao2n)k|RZ4auuPuxog6cWWtGi_EI}fL$o1W_Kn0< zglQeL>28vAD+t$ppPt@GyhtLsd)EJNDtq~6-T9lCThFdD3R|{Om2cy{sO7J_FhFQR zDd;j)hP2R599L}1zijG)%bzBlLZKljGy#R~L{s1$#xpDNB^C>>tyW}3VgvzJPa=}S zdLIp5w{{G>^$n%VKBMX@Bqenv48VH)7Rx}|-6@#gB$cT!$~Ys?CgrH+ijGXFeN9sB zQ(d)3NV&O5<^JR1ht9Kn>qs%wL~DL#WW}CinrU!%MmqC3qeor)oz@pbxM2_UMIG*I zwN~s&iBDg#CpBKWvZJ{YxIGxb3uY>-%d#6o>3nTe$C0RQ6Glm)!%=A0`BL+EL4N!x zkYfe;RYATz+6DJ&IS=9MA z5|0Twi_isd+zS0wTX?7igU^b(f{<+!z9$^#njD|QnxLvynH)c~8+wY-$_gBHQ2)Vl zhOpfGi6P`No8?g^%OBY+>s&0gd2A+Z+k}5bRKI^_vOLvhxmD2I?;@M!@h+Cyl46SG zeZul$uB*DTqC=a}E6R)#m}4U@Q!{MpJn~yN?_NdIq~&q)beI>vrP-K(B$3YWW>Dab zX8#rwkS2Ef6H~ZsXQH19NZ~)zbL&d3-xBV^fOip(+aPwNW#uwrE2y6;6s_HnwlxZ< z0%~G!1|9CJJkloE&O|B(J<<~H01Nz2k3H%UHaj`o(=H0gr9Bv0U0{4X=t! z-a70@RA!W?%mOY$@~(os-GIv>On1tzb~JWBM7enzbq=0%>g8&rX_WI2X0<&2JkOlp zbP#A=$$%VMYX(%b5tIKhutF;@5Ze=oSKG=bY01KCh(@AqWrw`}oI2RHhAII|;gNLc zV>XR8uGY4Oi?{uT>1`|9*%fvshA3W|^_$FVA0nT54EfAc;4>Ez z65eqPMlZ3eMBXs%ShQVJfk?EhEMgJYC?I{{WvZ50KgHGBibq7+xEgz_KO`>3GTaUn zcL6;bio(6qiB)H~N13AV3a^PL&bw5gUN6roR+(^sGT1@%1kaQmC34kndhL2OxBtj0kBa~$3w>w+j5Z2K$oNmngvBCIlb>r9-A>A{n<%|>0xDCLRT zCPb!_2G1LDCsv|={*ze1#fo>cBEx{MG7Ky$xh_qj5m z<~tLCeOO_4s&Q06l~LpP3(#qi!LnTnvT;6A8i*D(sGM!Yj|G@6v? z*fx*2yWLiDj841j`lx5TB3wk`-@J{SysYjBwlZ68*xS;)XT=SBQ<`&bz5(tWo1L-H zOC{;$2}m7jJL+q=Eewra1XQGT&_BKn0CoHWtlL%C_5@XX5`tKX`=DKk&W%XZjcJ!x zG|%BE!av#7;E7m6L<_9jImjnAgzwC!g$EMMQ|~RsnZ`3hd@d8BGSUG0)*9Y>x$rSs zqc&bg4#952L%VGN+VkjOP`&$AJ=vSsoulSPljwjHy?UZ?>2#(;kuDorLz!fy5kC@V z0KPK$HldWKRo(;4>tnU4DZTvt{{EF6!|v=*C0q8a3hy2E2r1C7LnTcFd_ z;%5oT+tPWor=Vd{z0k8wwxPt}EoPv`O7)1auL7%WtQ13wF=&R}knK>f@v1;88fcw~ z5xz7t(t?q0nGgI-==0JL-bdg)g!imSYY8l|82?A`98L^-q&Sb*tSZiH*EVE(8_Y%) z-*7z8c4t0KQ|cBy>-{x7hcv!3e~f+vI!ixq&(9;jJEnLHIYHHVlNu*U3Ym=3q1JHXZRBv6wY}zPrX6$Oh z>fP7ujhdyJIX?lfT_^D1tClcO_z=7&Tc&-4Q(}EZ9asuL9`5-b}eFqtcP~Z8NzIKbA@5SrIF#ak+59+ z6)CP)E}fntgKfk7a!UTnE=f+u*C#x{MPS3qC)~}i`}7H9*AOR@fOm##pFqt;ApT~| zCXDSo{BI{8r%^L%hYoUQ;z5coS||kP?QNIzbSjG7+R>b&YIY_{sal)b)W6A9phg%@ zTljTx22=uj;6pZ3l(1_M$3l3&ob!RQKP%zJDf6~d+G%FK^SXda2^(L3NO;OZH-_?CIQ;rYhyS=g282;pQQwlIF-Kv?t@%0_Vs_ zT*RIuyo;m${1?_uQx8zWTC}8esFy>Gm1#8+xF{ESB@JP#vQIJFYA|rcG57H>vuXX7 zG;G8%7$tk9FrPg#-SV;H=YpkDu4x==$|X_EE74kBL|CFzJrbEMw@TmvMUT~yg0>GN ziP-;eh;;?Gsa*LK@HYG|jrkrZun*G?6GfF7!y2Jv$R4svvYS>a(U~YDPTB;EGxVB3 zJW$xSTn|@Qa61Vs%z8TZ;6MVRWSSZ`xbCA3ia|OPFY>y}b3^%Fp2%BFY_QbMTt%mG zh&4_rKyf2Iz;&q;40Uwz%3tZ|B7VqY%9B0@t?@iT6hk$KJ(8aX@(jg=)VK$k&I~cb zXJ}wq!GZj*1%IV$ii`AIH|@}THZ231IOl&{b9ZKcz| zZ~plM>Vxe$Y)&~Nm$7xyvOpb!5EaVUIG(?G_eM4=mAh{F4W}4d)~K9<0&U2BRqH*h59T=yAoiVmp*cUc6L_0J3%_mhyoXX@Dy)(dS#Rd?)7mCuFAZ z$lhZT%PQ!31N6KeU0w@4x1+)a1d6{o+p?Y@=Sl33=jvp zehu$PCh{p4Sh5c8SGBuTZOkc!?pEjypgT~D6xmLVJ-|6o>I>xQOx(?{op|kvJhhV@ z9aU({O$7>)Bb@w{%JtB8tTUVtPY+6G;>X+s9g{iG%Dmh{*{7yCnTOs~zQ}+>;O0>?y|0S7`Ght3oeVUG9 zy2#I+B2a}Af|^1=jG8;mey7m1f{4YLy(?sNPS`=FaznyuJ_R(FmUL+zhkudHj#AY- z6D#crK$=IhEbRXfRtdY4=Y~Qb1_2Y#P&=^F|1gB?orzJeQPbP1^nL*b6@oz#NBmD` zHMH1p>z7HOqkWoL(!KA?PAZwn-iy2+AH;ShHbTt(@g=&R;hEWo=8v)CA;nw!U-W4^ zB1Y}KVC${3`$RYMw8p4U9IE*EN!JQCTWJ%S53)*9EG0qUW9(;6l-O&DYc+6j8f&&q z27=W|0c9h21$$KCycO99$(U(yrf~tT8NGpJt+=7jiXWr+kWJg2{3o^^j%#;UYN4c~ zl;#H5WIk|qPQmj3+r`$FTKm~hH=!(I!}(AS zQ1BWgR12vT6Ov0XMyS68b=Tum?yer#jjS$uc-O*dxkw!=0iMc7c807AYBxI zg&qhMOL7HSqv3i-BpEdVkbPO?f2cELCp>=Kn=@2Hwr)o71g4-#I&%Tr9yw$vpffR; zy*!pz9Uc8qw%=@{?uf%JqIz>;6>j5lau%%UKT-^)auacq$%tM8>)gb$btb;UknhMq*Qss_&>1Tbkj@wk@koP;%93G3=qa^FN z3@6?+aJQ*}W3f>@eJ>9jk81pUsFx0om3r53nYK1QN^Vm}_iDwaQ(TD8IqO#5!u7sJ zN@-ie3T$grK+@biFh5rV)4!2Ay^t#>t3y#v!oM%a?vyQMfNrrw?9 z8k-E?u^CA`u%d}A$ImfF!eag~v+!D_gxPB&ygTJijN+QuthUZu)w_!osRYD*2WkrX zoV=UNfvtVJ&SslN^n08E!_;fgrZ%>l)!b1-a2A^8)U2({*$8>V>m^KBuTq=qA;E@S zH7LXFwzVl>M_T9c0O7TDUe~U$ul3&nPP@*qgW5JMy?Wfp$8diaD>mI=(}NQQav{!% zLWo_t`0Zs>vPG_J^6Xj;jE)e3eBX*2x~=Bv@K@{tb7_Zzy9M!Vq@=MaQk$XWh-j1} z>>&N#1U(nwva)jJH{p2P>o``0KVXh+kqn%j;u(&%wYdXz|ItljgU0B#P+M_|Y8a7Lnx$fj}qVY)G@_l5Nz$_iAF>GJhhwxgICuZYWYC(e} z8|f}i>j)G@tJqiZtLg{#GJDcxsZNeQI3mOCbBb3Hb*T91HnMAVx}kRicItsfi$oa1 zrmM5ZYOJ{JYp5H}NjH5<0V07rrU0oJ(FoS8*AsCf82RGh*z_AHsUt15E7@bm$?i~T z;Q%EAW6z6JCAV%k{OU|pf+qWzfm<%*f^Hsc>8?<2woATDdp`J%!q-sP9t8}hWH$11j)ZPK4|6rMFQNVc_v4IT5YG=# zYDHg)t!-6K#^J7Bb~|Q%iYPb@^Nm?)nz>KFrs%2BgJ$$@LEWdo1Y%7*PZUy2Yd#%$ zW$`l|dC}8OnpW$$F1ZSxbg#WdUI_~+z3OjcgN3(+G>%lpLj#> z6z9gj)2DqPH=fI@1v|S*#3*oviw4uVJPF&!Id}H{e@L9{5h6*ed9WeOS|i$~6^C|T zyuNgkUdC|>hTEHu4kbwd^TrDZs6#%~vTu(2e2N%U7xA&cqx$={zr9cQy3pFL`=D%!fZIh&AA%cKEJINiY!L;#ls<1m2GS|`W5|o? zb28AVKYKk$8^u@AcL7m*BUo?Vb%UzYnRtPtE|wdObtYEv4wdF5IAq>0QW>8_Q$yv3hTla4Vbt0%^_z3X` zwk2nBJ8X=&r%(J*C&yifsA?esbWWPng^3oFi;+})yr1>2o)f2I-Xu}%6Q{!{glo+LPin45GJuaN!T7`pG;|1^cnup&qh>cT!kp$9 zoT4Mn9p0pCN~H~4iS$g$0Dq1&*AtfYWSlr*WAxM~>5<2bO9FpHJzeKPtT<8!TFI2h zM1+qQNOwLO(Wgr|i&{+{8@>3>Q((hqQD+4zQdi@NmVzERhf+Onpn41ShlT}$aDTc9 ztNH^|n61&DV5Lc9ZKWDdC#o2tH=T(#dQ^u}#uP(Wno*m^8`g6sjEeTHXv=eL0&`%+ z4STFOUE4#Q&P0KhiK_AqX=sDx%2RRyO$stjguI?c`SN6EHp_JtKIC3mlAPIjMrmmQ z7Gh6Cqmg8fOMv7$c=l zC$XJI@<}-7k%~MEIMEMx8%rL$5#^-d^c(<|s>#Lj-o@jU5cH1I~LGg~3 zXB?F1@8jzh$e#2K`yO)Z@j;1IPmm1ox9lN06M0YCUmhTSYBh&DrKE?>LP3TsUOOeN z5wKXvVlAHjgZB?CaR(B4DW%$DZqjtt}hJC0D6EpmSd(m+_ai9&X1lN=h{6k`u-M!>Ik0i;y`-!%=od}4Zq}^8H1$>Dk(uzfD zRtEVey20LB3O_Y#1g0LnkHC8f?_=-|HATjdExPVH z$j^0eVJ(0S?wh)+9?P$AEbjc=)fC;sle_bCyXjEFm7m)z7$-k>KQJ7n4X`~`KI-1T zP#e&IN+f)jU(Nhni`UN?=XBPs~OlwR+{z~|Y-Sfd_Gc0Z+EN%nN64%4cuEi+fxib;P9YQ>>r{{8dZlUCSw?v@V zzKVo%TP>~YYpKL+E`2#Tz5Zl~CdA{|XTwVuwY*={^0&lh>}+=(TiEgp==A<;P>Wg; zRPzRi1x3#{zR0XK=ZHD^jGfb7H!OsJO9%CkTaUiAa9(Z2auK*Xg%E{;x zP@ReU@NU?}xA>KF2Y1t>lq#lYx{0%EBYK`tDTQ+%B~7sxK}*d2Pe{fj#?t^`@xO{8 zx6)3JDw*TNzq$t}Nq^lQpLR1k(M(PObG3!GN;H>rG(cA+Xq|_xWJXrh?nxmTGj_d2 zXz!`Jc)v5agSd_cXlRqDetWj0P{cDfY|qIH`-?d6ad}~q(%hNRA1i^BpKoXOmcv!% zK~mOMdU?K%2B=%!?~nbAh*FSFAN3+dJoT8!7pP!VAsCe!3B6dg&C8Tf>+hc0VCttI z*H&>a>Npu+8FL!lfxZ>ywh%kMBBLMS$fw-wOK8BhXgMc3eLI;X*1R+J>ZYsnAl`_|~)58!AFZe$at2GC1< z6&&u5;JWwv`&F6+lajc~cbm3?E~e%kH`o_`m4fTjlE0H)e?_l+(hSF;f7CsI=j}>!9!XVT#HDyc5FS%9w2#DmJZgUmTjkj{dY{n8C2-&a2%Ed^y)?>pKQBSElv{Q%#d5f^-e%pB>C5# zNQZ9!izdE{LiPzPzWT{^?SqkKygHd@dV}QZOFw!y;S!julYNlkpfErBUc(NwW-ahq`!j?Zzy|}RDW1KCt{AVhDaqQHMb1Z9Kr0wj@fTcxa>1U-f z5?}o_*go~2wD|Gae;IZX#^lqYmX8ZsKA74+d`D!((bB&g_^3W7splkPh>l@EGCpsH{X^8)3jQsH-{PNoIY3I`4oI4F3d)2RS z!hq)u7{ZN!n*rwo-t!RfI9~b(EM_C%$yi;w0iOo!11$Y*fB$eC>Yay>jBaveKiS{^ z(m2by4)7zuZv%FL&yN8UfExibQ14~HF@Q&Oz+?bV1k4AYa{w0tUJOY0Q5pf)1GWKn z0R9SaC*bb@@u%agKLdsU-vP`AJOl}+g@C65ZUCGM*adh6U;^+uzzkfyx(jd&poQcR z-PCSwcW z1AsdKw*&44d<$^oF#IjRXZrgK0Cxb=FCPv^oUjTo3vdJAm4MF!wgc`4d=zj9ZU=u1 zcoyK%IFcv=90OPbIIaupB;fmin*cKq@4o~%3h*Pq0>I(;1;qxyTtGUND+AmF7zca} z@J_(va0Isr@EpLG0E+-W0$dC@{7B2{0-OT)65s;Boq*Q^?gd;2cqzU)vkh-(2z}Xg0(JwA1ndJ`3po6E=o#M#$O9bl zI{XRX4#4XHKL%U}IR6dIYrvCtLTG(i7r;V5`UTGG09OIt2DkxmBVZTc>wpQs!GA^l6D?~r z;26M(fDyoMz#71R0j>s2e;axOECB2Vybkaqz}0}mPr|%=2mJ=T7;rvd1K={i8v)k> zZUEd2*bUeNc<;ODcgV7y1sn~y1F!(_FeJ4r0cQZ-3b+MZs11NG0CoW$*$cS=&j-vn z8FB!Q0lX710(d`Q6<`HDQJKz|=p8!Sxp98D{{1k8% zV8$-g2h0KN0-Oq%0IUJbI0gP5a17uUzzE>;fK`BffU5xWccVVw9KbHXRe%Y=58sEq zjkc`H58$5w8v)Az*8;`?w*%e@_-DXPfGK_OPk^<6djP)$IO0^u510q|D&Ty;J%Gyq zkNgMp4j2O547doe2k?5pJ%GOe9B~@t2FwF|18_dzksqQyU>V?Az}0}80rvpz0DKC0 z2kUf{`v~I(7zQi={61h6U<3&2n6(G>0rLTO0Nx5n zfBa}IU3SOOMs(r3F9Nc@qoj}!F~aA0p|ji z0WJrO1KtgIC*a7>U~hn907rZc_6oQVkUm&m_>*#7iIuV}Gv)Xphh(&;9Fj?RxFT!* zhW>tZ)&BUGhb^E4mEZFdj72IQhGxzfI%4Lq!>`F$Ze4KPxo3j`2We@^!H=QMW=>lelvCYR|e09KzJqk_4xnSpd*xU=rbMqI-u8sj;Y|#7drGU zK;IAgxh8$7L*D`XQ=ktq=@&Y5LZ@6;T*R6>p%}0r*)uT89*mFw?WRupkImS^zV;yWPt6Y$~*~y zMt?hc1IiUpxtoo0H#xFqq+>lsnJkpC`+Jo`r*otp(6dc?jYE%s-V6E^lMXo=QG|3= z1^Qsj#gIwA%&EUh=m_hb_KO_)2GI9_e^C7{p`T*bze3fgItkGKjrzqVo%A%rX=4b+ zdkkcpV3uicc$@|L`JgX0=~EqDQ$Oi6csa_%%rY_ZDqqnt73d(l=6%1i<;d(3IT@Jh0d91PzCx}U5e z&DY{(8_UNj$}*8+O$J z`c}|GCf%^BokI7sE3R`0_8+J}2tLu4kL=>#jxI-|%w4}ltYNmnYe4EIDn+`Yn{qju zgMC^R=w}T;Uj_PUpksDAau_~y1L$Kw=e1kwd9kCXF3@v9$9BP~Ki{DzKqvWv#({nh zArJJRaTo*oRM3OQAp-gppoh%%jd7scnnd>-2h!gv(2GI$TNB9cH$wiIpfAF6dJlT3 zbwFcf^s^g$ZbiAnO*xD?-UoWa0QAg55x0QuXY(XS9_r5r{R)y}p+}A~$7U9y-0dhg zo5~d!j4|;Rqg>6yCG-fL9mFT$Bo4|3=bH%Y$-h7pAgMB-0-7`fy9I zzaIgG>>Yrf2m0X0{bOk2KOgjT(Ea*M^ktx@f)3!wXvFwyLFhyKL3Xzp^tV8tZq~oi z(RmN(BwwLPPc3lz4|*2pUw6@!11I@LAZWi5biY`T=y{;u1bR?BJRkIS(EaR&`wu$Z zRtu7EE$AHq?UT)PK>n9OUybMVbCH}i#yRyCM-Mx}=bR^k<)A;_oez4D{|JG8Cg?%q zKtH2;!T|Jzpl5(M$)=|{eYg*0N>B#w*x?a&=-WV_0y7ehep0R3Iie_+zd2HKrA=#Q>1cqTah2!UP> zx}OfH4LbKL2K@p&r$2`YrspQwX+|?trUqqdP-Y^P`MFW%YDbP$Xy-KL% z3p~s=Qdc`X=#20!l*#p!(SDB34nGDx$R3B_Y_Jb>zd1$vJ`42MK@YOmBG40{pKi9l zNXbWI97p@a|3y5f{}fJH>uT2RX>IAN2dx;Kx|K@v{0FbQaIPF=8=FD@A?SYkqWV3c z(>b-DFC_XNsXqnJwj9?eSwle4`RHS)ztoc#NUL%3taNrdq$^m41)zV1v+$t((eIeD9kqE`F z1U+azOaXm9=t1*g0qBbckneiXF9JPCKkGnW0D6%Aw}2i6J;=s)fL=2|`+N7neK_L(}1Ckg3y3h3>i2kB=4=r@8s*{m{S46Iy&XA? z{B#8L<3aZu%Mhy2U*bF!^cu6iikmnaN_|+3GPNiJQJpr7bCCx@UjllNzMlvEV$g&9 z&2G@I13hRx9ReYi4bc8spf?WCei7&kL7!&Ie}nR=)V~`1bISnySA%{%=t1-SLD1Vk z51Q}KOZ}kvvK#c9P(R0%uhx-o2sW#CfF30OS)gwMJ~b^8yo)k^u^;iE6zM0Rmw9;@@!MXM8H>A0L33gx z3?&P6Tm^CL@lr=$Q}#h$AoQT|xE}Oe@b}XBgGf4SF8vt{BkBMfHJR1iGJ} zBL0~n=p6K*H8~6P%RmpBqs5@tfbKU(L9&*i{RN_B`pZrEQ@_C-Ao(JoFGT&IF{lE4Ub}z3H-!4DK)(_6 zqfGwAN z{*^=XrVh=TI&{pmp`mF*N1*()p&1r--PT9o69S(U;v*lt9ewuPU#D7sNg4FxRO_RZ z5qRF7Itab)PszMs(1tXtC2i2wH0$v+cyQpxOa`rC?E8mVpQMhu<#6lf!7Ebm7bqV+ zWYD(`x8Ba^Ou74T>z%_@{UK)pP8(EcU7_Bo{^6@q27Nol`e}-TBJ_~c@qW&rsn*2` zpD}UJc~*(L42j%-_X#P(zYctL!Cz8RK290*?-Z+r#Fb9<-+gMzac5nMzc7$`L1$V@ zZz`PqhiT#8rd!XXJEe%vQ7J=C89zUzX3*8vO%4U3kT{?pn{q^J%Ah+^Qht##=%Ey= zg9KKMa2sRLMt{l$e@;tzBNdLSH9g#&ZoTeqL-9JadC>J%J5^`-k4+hN=AfpO+fxR8 zH^us~!e=sKy=U{nyVbTrZ-1U?@KNdJx=GoB# zPZKy%ppp(}icje$1uvXF{hZL4g4m+!^14voxSVlWXHOoh9^3_e-qJ8TH>4&L(yUbe zE{~Uz25W!Yw|u&#=a*S0%^GCSD>r_yJ^$SJLo98lZhVHN?c0q%)Y9|DjX%uN^UICL zYz~*_Kzkt4VQ_uUv%S-w$}U1w={Sszj>Gj@7MLD$w57*S@6yse)!|8kjGA` zRGM|XmG6t!Ufbc7g2#00AN>wSJ<)oR3jHtl=%3st;Wv8lCkx)Yj!gnS1@aVc#RESp zID?;)^;Qc!@z?94Ds5RbOey%5t5^SPf%lXD$6P+sN|$k`e$rSuYF>;8%VocO==K zOK?z-Y9-IR%b9<&y)9-w!;|dx8o_(@d>ivgw!`(nk3xUfEm4BY@@j1n{15n`8o#X~ z{TiIA%HO~Vd3si#Lcu>cQN8QwXE9DutVQodC1&t9ew5=L0x5d1B36#i@}|1ZIREb`12{K*IasNHeG zU&z)p!7t?lTij=o@;3_pdC}V`g1=kvhb>fy(*!>lffn=k$T>~$Z(XGdYB_%>_;+g* zUibG|;Q3CS@YUeh!HR#g=zoe3t`__lKG?w-j^Nh`-aC$O0Pn}2;zN>uZJ}bI?T3CP zpYX#MDZH4A^`_u=h~8q-?y(3&sr;f#6hgPPLhv2ZU(68x{95p%=c)I*1V86c#izYO zA$}+L8wJ1cT!qkl?iGBO*zIH~Pk#xFnerN^8ZEf56HZ}P|8om z!a)3w6uoJg?*m>xOHl^&M_Z}ksQgf?WwgTccj)n$2RxOJ&sBK6@A!`3 zz4E^%`1A#;yq+&#K|{pncHtvt#NSUL{H4{Zyq4!@QvQ*M!WSuE9fgTcVEAOe9xtd!KuRMJUBq=*KNXBmv06B2qTVy+u_d-r2JjN{|v$ZZ^3U8KHm`h zQWyjAzfcg1=&+dIwwn{8R9j_!*cbe@5aCJ4i{NX~0vv-ubv* z@NbXT3qH`Sv2y- zz(D0!$-F}`{)`iRmDueV!C%36c`?9sQhsZ`LTdl~UBP?TqfLTeTB^!x{+|hcmB+5K zagUnh+z*DB zmPR%Sevyo?w%a!Z?~PB6#l)w6Jt`CNUg2{F@YJtSqJKSJ`GWWQhf4(iK)GU|=kNEJ zzc4kxRw*A6|1WB_M#1o?-7%9?VT~^k{5K~nJgW2OcEN8EIknAq>hi*0%k$NdivQ6v zzMB6zf2Os9&RH9JRm77W{dase)S1 zrGn3nx$$j+ACa%{x?e8|{xQ*y_VaXiQtL$3Q2*uvPx8=jRnq5a1uXi#F2bKTULmFk zek=k8!hbYFA+(%R1z(r1@Veb^3%*0vBQ59ef%lW=n2_TC&^d|^UilNn1GT$W^q|+% zPQh2nygOADw{{7BW3@u)c8@q&@#(2jcs=hX3VyTL?KI(22mHwx_pGNBB17=EN%;@O zAL{--B=`?RZ^cr62nvw=-neuU@P2xTOZoS+6a$zse;yNjW4U_AF!3i93i0FfZP@pb zsmXbXQ&67d@vdJ*g7?PZ%LM;7i6641UHY9e;&Y1N=L`N7!M{IGA@n>=8?DNJDvA*` zS?37;fl5_g<7))}nT-2-;Xf1uP3>-%iPa(a*@7=yq!18;KP`gy#&2&4K5L>XS0Lq6 zVc5ifPN70*`#(+aZl1R<|@SR z1Yaij*F-;J?$(b4|ETCQU&L<@o(Di-6QyS7pQU~mi4aS>qWtO{vL;les-P@*4I?KKa}y(ey>vSslp%AnLn!p@7)(aDERr(Q7l9J`LpIP_B>SZP18wEC*O{ILca^NX`_U4zWrTk;_6d$OUKi>x4&rWto`Mpt9PTSR7 zEF3I9<{y1@yT1^8rRYb;18)mHbh#=|-}$4@EcBoFycbsQG7YR71n-@v&kFt$(X*C0 ze6HfNHDB@3>);iFUnTO$vTfZf`1*ya{22;ZgJF0ik2fzdUht=io<~XfrGo#P;D-r* zt>8bEan$4WhTy}pKk&0GFL@ZP-2i-KQ<{?X@n1vu^`{&g~5 zLbgU>!V*41?C=CBzZiI}Tg`&tkEQ%C#s6!&eMj)^9)EZO`tQf59rz<4oj#w+Oi``; z6nK)SC||v6J%1qh4dQ=9-Bu3DQTYeNZ|L=+S@4-2|Fc@~ky6EfoC4N%!9OQ{OxyY2 z1fPGgDv0opKgF1b+^&q{G{N5pykCFMLjP!8n;;W{ep8e_ox;cKKU2Vv_+e^T&g%6J_o_(td{6LvCxs~`jn#=_yJ=VIVV{wv_u>7(s`k>H=6 zq43&%?h*X!n3wd?dV5ds3q^h{=U3sUh`;wd=v={j^EMX=etezczgz+9LEyIGjee00BlF8CM3{(m6l-x2(2;#W@- zd@9yg;_p2d8wR|e{>MuBo&}15ZkN_+;u8`1PZj<*F`uEV;aV-*{#Q}Et>N+0lKSKjq;uau{+j?hQ<@jNU{)b2>}&%+hj z`jOzh`S~8fd*hrLGZmj|v_l`wzXN#vtSIW=cclEoCF*^g5J${Xe0Jn0gs9b;Ciw3! zRCt+A*53plsZ#he6tIpfQhe@*ebEQgkUtUN$v!*8ZZ8-7d@1iehg!zvrH}!BulYkC z^wIV(WVUMeKKLQ}T$HNdGQoF=oO*rymEgT`(V=q`AMboWUht=jVzh2g5xn=j=03sC z!8$`9?Kl1=c(1*kJXf`wCF3$yRkOY>_;W5%h%tiSD0pu?{3pRb;+fa8iv8_jA@F2} z-gxPbfbzeT@>^m`5K*^vnd-ny83I0DakFtf? z5zrUOf1M|;ru_!ty?LSQ1n)ghzhCg){r)z=A1&iJRNDOv_#@2@$#Wk3AhkP0*FZF z|Djs(hnwZkT;TosyI9J5*RPue?~S*ACHP~nRD6#U{%-~F&z`U3^yU*T75qAk8-2vA zt=9yPg7YN?F9{on}Ka>6r zk@6jaAL3cxKLY+_%enVBLdqYrP_;W#;*Appe}&**$NZoV|LzvxpBJj~k4uO2ydGVy z@TcXY5I%Z6S_ZrxYeiB2-XrC`>$_Fa7;lOT4TnV)0nzxJl#lCi@qPF0QVtj+QqzmR}o< z)x{gHwH7y)*T$li&9$}HqKff`KYvyocNMKIudW+c(a>N;FD;E1WlwIXj#b32scwoz zE9&c-;*HG}aYf3DMyu%AhX}By}Hg#H2 z7+lf)?3`#69mKFKDsPGv7T17WnoYDhvnEHQOX`}V70Z@oPeQ5s##)RMl_d=n7SAe; z=QfmAHx|~^giGTS)gPWKEX|3QmearCaJVuSUdpYEUlNNK7S(2lQFQJcv^qZCj4_VJ zYGSn*zQXxsQLs?l%Ce$m*{GcxzqTP3o?DvB!VphXiMT+M6A%z+dBw$6z4!jpa*X;ab)(b*Z*~Y0S{7(VEuZ9A;CHqvSJ2Wqe)iny77) zXliZ1u8V(eoZh^8-4eH)FgCfd87ivpp)u0<$YT)D96X7?Yy;?_06T(YjHWg?nyP~Qb zE~T-&I^I-R5rztKNCo4S1t)ROZK}Rb86`ju>WS3ZJSxHGPCd`p5pb_7M4x| zW@$<3#^0yKy<$P#>x-u5Y{se_s?`n83cYaOT`!J%r$#r zV~p*fF}4^hFUE)6q4KHBAUn^;rhLrD7@9D7RAoYN0~55qKkxJ;b3(^$Tlp_~C-@!w z+0*JJRq@*True@6rP(#dhaV8Rav@hu{WY}A);D9Np~>Q1%-}r(=1_@Vk)6rmHf!#8 zMOCcgs%TBDE?iqYtHM3Wvi+8d12_;`oz67(O5mdazp0mFyV(htzW6v^HV+8pC1aK4 z@p5HV*|{>;7RzMwnV1|AxMr2qb+1~oAnBFL=}K*NVX^4n2`REU?4eL193Ie9WlyNA zUM!O`$}tYstI1LEUrsB@3bUgva$`JrMrpqY%`kAsa!j|X+#xTPrSaI+E=No*H`yOh zpf-tSK1f)X7FXBQL=oU3aICEf8(uvd!Emgud=Y}Y>cxfgn;KCbsOqL@Qw0``#zKnm zAT$0Ta&rtZCjtwl3@lA>F=$%iz60VXCSp3;0Uvr9;Dmi_M>+LLv_~m#j3ErFa2b+z z&$;A$3rnh1w43aV(P16m=8!g3@UM(Yj1kL&#JYCKt;ch~cozXsfEyvkU)o}f@XFwo z!39^9A5ut7S(2j!!z+82Oc^yC}<#VC8c@M!kKs`Cj}wkTI(uf%d`OV zn;JNf3YSJujNX_tw9RFswZ<+{8EUwotfB^N3{pi+Wqff%l$>x3GN7g>9EBhrQ}}|z zM^m^Vu1AkTxn%dqf}2~pq*YUhw2L!BLnFK@!G<+Bq=F`mkZL@s0)OZ|sv_{k2!dnF zDq;nXH>)-icxmVCt-PJIEtXoRjU7r-;S}5)a{;7O!wFww{&Mb@DxHmEa8lnR_1-dv_Lj1-4EA1P-D)Sv?itF!Y8Q!>SE`f%O|!YxMT;=m$cufv|HYkEwbeH)MJW_W>~ae#4PTow`^O4{nWrdVS< zT2);ar-aPa&9P`heG?YB9A_)X!HePVv8mIJLH8seIwR*lJ-d)f!hC6FU6cIS3Ru3VMl$*Ec>(r;fCos?L`_`vuUj#647Q$v8Gvy>QIOq>}6C= zRV}^9mn?}_sa4Ipq^V)Emz)1$qRKpO@E>Zk#Q56s25MZFG*m*Jr8wO&BGvsu>=AQ; z4^Q9~PMH;{E!lAo;Oi@6Qqc%%zEGmUZ8HI(6ucjnD)_tur+3)Bq#S||Frt-B_0cMv z+11dg9)*5xQ*%#AJDQuQav>@c!qGG$>5^Gk5y8b3ZVLm%+2rPOkRP|BZdW;Dn7O1n z)Sxl+JGW3=%>)@Gym1VXE&B=ArrB>4MJ~t8jGUG+fMi8qG&xZhqth8qAk8VQZfpvd z)cjwHc(ZBaAuBj-Jc5!WrQvA6T1Lj;%mWJ5pb6V88ne?l0o{*ti-IKk(7Q2e5KVlU z*`KEu8lK0-zSfX@pdBP!i{3%fO!&NcGMXH&@m2XTLydkXI_7HQuhxbJ<(Hh{NY0if z<=17bT*|`Le25m5JRuCAGFE|07j&h8j;b1Pnq}v1=b)3EKhVisY&ynA=LVfN zy5+#y4%Z;w(l|-1u0y(jZVAw|wAW&1>*umBrQ$C$W6Ti43G4U&x&cLKNNP)JO6}3; z!a`u|8a&uaKl-pSc_GpR0~6C0B+^4uI2fkwtI9={bEK^gEf5^hJ`IQc<7xSU&QLzr zRX%4Q6-XGc;7c47*5PtTR+vv9lky=b>0Up5#0D=UV{2;au@RTM5lPkD*5XqmSdrkh zKSP=149rw?9#YY8#sOJ4Po`=HGN_2Xu>4}`J6UVPnHdX*4p(zxP-J;U4B4QHs|uaO zx1H7+sDqAM@OZEs?ZLkAnoYSLXwYZsxgDB&fb_aJl_CoKds1n&VY@Gc^1OgLXe5q7l5==_L~*7w@fYL>eg3M z!Wjp0q7@axQ7DKB&%0{O`VtkD8tX8fX__K9L7*AUeEx&YsnJpna4-P20sR;EQO3Mx zH-y9!XHH zotGX+x5vT06^$ittbW8u zc~B=)7OkvqYM@mA=Nm6&1DrC0!7VPY!ASyL+@Ss=BsdU$%@|U&;4EpJ>vCIPaGL7? z`P@9{l#f#e&UX6y7Sow|7sedyyzNYWP}E=^WPBOlu2%?W#`tbU2bw~%3$3gvc5iaY zE)2GwQy<0A@W;G+Lls{iGQd>Qn_wrZbQ^}5`3n|@Z_LVCsn$5x2HAbhKsKm`!!Mx~ zaespAq_7C9Bi(<@PQDydI?Y)qNG%6qf*CTq0|&{#8w&e^7ZhCgOG@K4P2_Yu*OkrN zq4oO08rCUXdGX6d8$$Wz@8BuyZGdAG*x}Lckdnl5{grQ4)m>BTvva09U9|P5WtA`N zV~*ld16@%k3?(z@Kx(dTiSw6oUBG+Q!;B~CWJ7H=%|yQhX$Q!Mx^rK!Blm%5;mqo= z3fAlm7MZf^m^&$drItKf%XD5BaMKDc|yW^BOy_)t6 zY0`oCJ|cXxJ=cZ1Y~#Wmr7ZV9ePOOPFpSR?6q2jN7d-4Q;OJmZ0?z7X>gzI4GvY6| znk7@fW0Gx$lX5RroyAZXIbK~VP1^SUx6;NsnsAKHJwn(V`YL7rw+Q?2{lz{=l*YnkF^N6Q;T2oqAPTr8!r0aL^!As2u*)NzuF^*Zx#o1mL+iXwY6NZ6j1W2a z_#-K-H#Rnu>f}VzJ`GFFd^w7cFN1P^Z z$W8=dBu+3}pget=hX`oE1d`#GRT@EmZAwKO{$YxW)#XYzCJQ{P|K(pNrbSi@(+Udb z8{RaLEpwfK+lH1?F%y7r^ zoz#iQn~zWawk~VHyijlGS06n)dqG}@^}fq`G zvvUDpp!+MvHy{Se$<^3K60Bh8zzJ`I7sRAPWF1{;l?`-+WNt7qsj_kVS7+G+qFd+6 zT$H{9Nk2eAzxTk2X&sj7mW|wl`_cym68a8m1;qx{TKV=`%xC+Yuk-!s1|6Va8RGCx zo%58~UlN9E_4}5ykE>SRkM>ipfLksOfhyD0wwj!z(@?c1lrJU94_eTP5Z%S&yLK=; zR*^B-e!icyGVl*vxNpS`pl>6eZ#3#zlXU_{vMY91Rdl3JI^Y$Yn;m>jgEqei5hmhd zaAkdMw7jAMSCH&G=ya_&j9)TQw?VY}==22l*K+yS05~R*E4fO&q#hW&I~z#3jO1*f zlMIB>(CDkW_C)98X~(MM<3rEJ7~ebg++a7|+$^#10TSdcw}x@@##rKWvUBMBCAdIU zU5Wcsa41edYgo42KRIy2Mw=X5iNg1M`O>Xz8IB8AZGXO`5yj!9_#K@CbwXe!w1VfX zjFnP&bP?vA>47m_j2~3-TME575O%+EVa|+AJ+9)5E=C@|4>s;#-fQ~$TXfFWTBm;Z zD_iNd7D`P?zFXXGx z15ZWM^e{xeQR{wMK=S_Fywo=7i(P7ypSH0tfY4ImE2PX0BQ&MlyIele?pAy_C%*Lg zzjJ0!so!W#^`eSsMN>1M<%`PQhU;AjaNOn-T$qt>y_~lhi9RP&fFL;Ria*e(;iH{> zH+JU(_-O$l%<>-3Aw%N)j0SyGM*rAQ zu%Fvcb4!YT?L>eb%?JkPkHxZ>?>iNeeE`4RP6v|v**mYZHomX*IoB>++2XYeVH+Y( z_mPI41NP5qU^|59pRP3FdmH&SAKnVV=h-kvM_nEm*MF!yF&-8I#4 zVkNPr=2~)!)2HKi_4sQ(UwT=fZ56D~Hz%(TVZYQ@()6S=Jb{0RVg{;oFM;e6mgoLT zg)vdw)6&kkIKd42u(>9<1U*9cVF-ERwP&w~RJ z2hjxp`d&U~{ReD*px7~6{kQ@ylIhDwc3jDKtLMkWsOhi*? zi+}i~M6MM@UagS1a^47LA|8;VVA-?x_0*y)Yhr{s(?`z<37q{m6J|?NQvS^0Y|he4gEn zmaSeq^Mod3oNRM+8 zJESk;Y>Mj|weKo#UkeF7OZDbk+~2J}P>FvWD7t>{3E3I_Q%{t=WVPV8Qhm~kFbCY+ z;Ge1v`l$r{D_QtafLZqG=$F|&WP5&MQePN$=dCHgOCE(Uk@zB0vBouBTN^K51Q>5r zuu4DSH?m@l4c552`gm*{epKyj`f(xkhQBE=Zc%e}P376u|4(OU?;1rEMezrIZ3sfN z(V&4rLdwBL*dmCCe?ZD~vg`&|i0-m3LaZz-Vq+C>8et)g7LwSd5mQ*iGF?Cf3qeak zuyj3l?m6T0q6j{iIq&Ot?|pA(NS0;i_EKrBe&=34mA#F-u;)4+`N(~|$H3Ad)YI6w ziLuezddC3PhU?>0+ULboqFUY>pn@M4;#~jFUycU#8-mNVJ~Kn~doZFFtarQofj+)1 zwGVZ*F;5!dHdHq|<{c*MNIQ3Kcfk+F<`_NpBH|KX1EmtLce1w@BV5z=H|un>z%?O{w*ugBA<-<@zA#PAUXeuymT?lkNgdcf1geV^4~hI>$Fdn zB3)2j6uhr`q1%YVOX4spWW#JDz-$~8#2+AbcF%Szj&?x5&7#hxX*+- z((~L;8di$>oX)v4XI_q`{TQ{JFA5)OR0|_97jz5loWFL-CrA}9 zu_k`?KMVW{dFdhY=;cNJ)whjG?thVav!pYcNR8`%LB3h$kQ1p-|G~csd__*W90G{` z-vs_>!yQW7OTP!8eN*qdz|T#5L|WPAWF`84k1@Mtd7Gup*FJgkrEA=8`ImmiG`nTR zSL7@5n&;Mj-M{Mph5-vv{Dl03yq**BF&=~UY}%YX@_UM(7go=Q{K`%RCij0}7X;;C z$F=R!oW)CL0Ox$#=hR)-!UnSwDv|J&a$nKf;moy^86{qHj2n&rE?f 0); + this.fellAsleepAt = null; + } + + sleep (fellAsleepAt) { + this.fellAsleepAt = fellAsleepAt; + } + + awake (awokeAt) { + for (let i = this.fellAsleepAt; i < awokeAt; i++) { + this.minutesAsleep[i] += 1; + } + } + + get totalSleepMinutes () { + return this.minutesAsleep.reduce((a, b) => a + b, 0); + } + + get sleepiestMinute () { + return this.minutesAsleep + .map((value, index) => ({ index, value })) + .sort((a, b) => b.value - a.value)[0].index; + } +} + +const sleep = (input) => { + const guards = {}; + const schedule = input + .split('\n') + .map((x) => x.trim()) + .sort() + .map((x) => { + const parts = x.match(/\[(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})\] (.*)/); + + return { + minute: +parts[5], + message: parts[6], + }; + }); + + let currentGuard = null; + + for (let i = 0; i < schedule.length; i++) { + const { message, minute } = schedule[i]; + + if (/Guard/.test(message)) { + const parts = message.match(/Guard #(\d+) begins shift/); + const guardId = +parts[1]; + const guard = guards[guardId] ? guards[guardId] : new Guard(guardId); + + currentGuard = guards[guardId] = guard; + } else if (message === 'falls asleep') { + currentGuard.sleep(minute); + } else if (message === 'wakes up') { + currentGuard.awake(minute); + } + } + const sleepiestGuard = Object + .keys(guards) + .map((guardId) => guards[guardId]) + .sort((a, b) => b.totalSleepMinutes - a.totalSleepMinutes)[0]; + + return sleepiestGuard.id * sleepiestGuard.sleepiestMinute; +} + +const fs = require('fs'); +console.log(sleep(fs.readFileSync("input.txt").toString())); + diff --git a/AdventOfCode2018/4thDay/challenge1/input.txt b/AdventOfCode2018/4thDay/challenge1/input.txt new file mode 100755 index 0000000..6a4973b --- /dev/null +++ b/AdventOfCode2018/4thDay/challenge1/input.txt @@ -0,0 +1,1000 @@ +[1518-09-24 00:59] wakes up +[1518-05-22 00:47] wakes up +[1518-05-08 00:02] Guard #2719 begins shift +[1518-11-12 00:00] Guard #3011 begins shift +[1518-04-12 00:57] wakes up +[1518-05-21 00:32] wakes up +[1518-11-12 00:30] falls asleep +[1518-08-23 00:39] wakes up +[1518-10-18 00:48] wakes up +[1518-09-16 00:28] falls asleep +[1518-04-07 00:54] falls asleep +[1518-10-26 00:38] wakes up +[1518-03-18 00:12] falls asleep +[1518-05-23 00:01] Guard #2027 begins shift +[1518-05-31 00:09] falls asleep +[1518-05-19 00:09] falls asleep +[1518-05-28 00:02] Guard #2719 begins shift +[1518-09-24 00:04] falls asleep +[1518-03-31 00:42] falls asleep +[1518-09-04 00:52] wakes up +[1518-08-27 23:48] Guard #1657 begins shift +[1518-08-18 00:22] falls asleep +[1518-07-28 00:45] wakes up +[1518-11-15 00:31] falls asleep +[1518-09-20 00:46] wakes up +[1518-07-11 00:54] falls asleep +[1518-09-19 00:00] Guard #2027 begins shift +[1518-06-01 00:58] wakes up +[1518-06-03 00:56] wakes up +[1518-05-18 00:52] falls asleep +[1518-10-25 00:05] falls asleep +[1518-04-15 00:33] wakes up +[1518-08-11 23:59] Guard #3023 begins shift +[1518-08-06 00:18] falls asleep +[1518-08-23 00:34] falls asleep +[1518-08-05 00:22] wakes up +[1518-04-22 23:58] Guard #1657 begins shift +[1518-06-30 00:54] wakes up +[1518-11-21 00:14] wakes up +[1518-06-18 23:54] Guard #3361 begins shift +[1518-10-27 00:51] wakes up +[1518-10-01 00:26] falls asleep +[1518-06-30 00:38] wakes up +[1518-05-05 00:33] wakes up +[1518-03-12 00:24] wakes up +[1518-07-26 00:33] wakes up +[1518-03-22 00:16] wakes up +[1518-04-21 00:58] wakes up +[1518-08-08 23:58] Guard #563 begins shift +[1518-05-23 00:25] wakes up +[1518-08-25 00:44] wakes up +[1518-04-29 00:57] wakes up +[1518-09-23 23:53] Guard #2027 begins shift +[1518-03-31 00:00] Guard #743 begins shift +[1518-04-05 00:02] Guard #3011 begins shift +[1518-10-16 00:00] Guard #659 begins shift +[1518-06-24 00:58] wakes up +[1518-05-06 23:59] Guard #2719 begins shift +[1518-03-21 00:55] falls asleep +[1518-08-21 00:29] falls asleep +[1518-07-19 00:14] falls asleep +[1518-09-03 00:01] falls asleep +[1518-10-25 00:54] wakes up +[1518-10-21 23:47] Guard #743 begins shift +[1518-05-21 00:26] falls asleep +[1518-05-11 00:47] wakes up +[1518-05-06 00:23] falls asleep +[1518-11-18 00:47] wakes up +[1518-08-04 00:04] falls asleep +[1518-06-19 00:05] wakes up +[1518-11-05 23:57] Guard #3119 begins shift +[1518-11-11 00:00] Guard #743 begins shift +[1518-09-23 00:56] wakes up +[1518-09-19 00:40] wakes up +[1518-06-16 00:00] Guard #3089 begins shift +[1518-09-15 00:43] wakes up +[1518-03-30 00:54] wakes up +[1518-06-20 00:01] falls asleep +[1518-09-18 00:00] Guard #3119 begins shift +[1518-06-15 00:25] falls asleep +[1518-08-14 00:47] falls asleep +[1518-06-29 00:48] falls asleep +[1518-08-28 00:08] wakes up +[1518-03-17 23:57] Guard #3089 begins shift +[1518-06-06 23:50] Guard #1657 begins shift +[1518-08-13 00:01] Guard #2927 begins shift +[1518-06-09 00:00] Guard #563 begins shift +[1518-08-16 00:49] wakes up +[1518-06-19 00:04] falls asleep +[1518-07-10 00:39] falls asleep +[1518-07-22 23:58] Guard #3023 begins shift +[1518-06-16 23:53] Guard #149 begins shift +[1518-05-25 23:50] Guard #1013 begins shift +[1518-05-12 00:01] Guard #3089 begins shift +[1518-08-01 00:46] wakes up +[1518-06-28 00:46] wakes up +[1518-10-08 00:34] wakes up +[1518-09-16 00:42] wakes up +[1518-09-22 00:04] Guard #1013 begins shift +[1518-09-07 00:45] falls asleep +[1518-05-12 00:49] falls asleep +[1518-09-14 00:29] falls asleep +[1518-03-29 23:54] Guard #3023 begins shift +[1518-05-06 00:03] Guard #3361 begins shift +[1518-09-03 00:30] falls asleep +[1518-07-13 00:51] wakes up +[1518-09-15 00:09] falls asleep +[1518-04-28 00:06] falls asleep +[1518-08-14 00:39] wakes up +[1518-11-04 00:08] falls asleep +[1518-08-19 00:24] wakes up +[1518-11-05 00:57] wakes up +[1518-08-23 00:02] Guard #2719 begins shift +[1518-06-08 00:53] falls asleep +[1518-05-08 00:30] falls asleep +[1518-04-06 00:49] wakes up +[1518-09-15 00:04] Guard #2719 begins shift +[1518-11-08 00:52] wakes up +[1518-05-03 23:57] Guard #2719 begins shift +[1518-08-29 00:26] wakes up +[1518-09-24 00:16] wakes up +[1518-07-21 00:53] wakes up +[1518-10-06 00:52] falls asleep +[1518-07-30 00:31] falls asleep +[1518-07-12 00:50] wakes up +[1518-08-11 00:54] wakes up +[1518-03-22 00:00] Guard #2027 begins shift +[1518-08-22 00:04] falls asleep +[1518-10-08 00:00] Guard #1657 begins shift +[1518-11-06 00:48] falls asleep +[1518-05-31 00:46] wakes up +[1518-10-28 00:40] wakes up +[1518-07-08 00:22] wakes up +[1518-06-05 23:57] Guard #1993 begins shift +[1518-05-03 00:46] wakes up +[1518-07-25 23:56] Guard #149 begins shift +[1518-07-22 00:56] wakes up +[1518-11-06 00:41] wakes up +[1518-06-07 00:50] wakes up +[1518-04-28 00:02] Guard #149 begins shift +[1518-09-27 00:08] falls asleep +[1518-10-05 00:17] falls asleep +[1518-09-23 00:01] Guard #881 begins shift +[1518-05-24 00:59] wakes up +[1518-05-30 00:01] Guard #743 begins shift +[1518-06-18 00:28] wakes up +[1518-06-11 00:08] falls asleep +[1518-08-30 00:25] falls asleep +[1518-04-29 00:08] falls asleep +[1518-05-01 00:50] wakes up +[1518-03-12 00:20] falls asleep +[1518-08-02 00:41] wakes up +[1518-10-14 00:58] wakes up +[1518-10-16 23:53] Guard #2843 begins shift +[1518-11-06 00:58] wakes up +[1518-04-19 00:03] Guard #2719 begins shift +[1518-07-23 23:59] Guard #3083 begins shift +[1518-04-21 00:41] falls asleep +[1518-11-18 00:54] falls asleep +[1518-04-03 00:45] falls asleep +[1518-05-03 00:58] wakes up +[1518-06-27 00:20] wakes up +[1518-08-26 00:17] falls asleep +[1518-05-04 00:44] falls asleep +[1518-05-03 00:16] wakes up +[1518-04-03 00:04] Guard #2843 begins shift +[1518-09-04 00:03] Guard #3023 begins shift +[1518-03-11 00:00] Guard #1163 begins shift +[1518-05-03 00:57] falls asleep +[1518-06-16 00:51] wakes up +[1518-05-04 00:41] wakes up +[1518-09-25 00:00] Guard #1163 begins shift +[1518-04-02 00:56] wakes up +[1518-07-12 00:39] falls asleep +[1518-06-26 00:52] falls asleep +[1518-03-15 00:00] Guard #563 begins shift +[1518-06-07 00:22] falls asleep +[1518-04-19 00:31] falls asleep +[1518-05-11 00:04] Guard #2927 begins shift +[1518-04-03 00:35] wakes up +[1518-09-30 00:01] Guard #1993 begins shift +[1518-11-14 23:57] Guard #2017 begins shift +[1518-05-16 00:41] falls asleep +[1518-09-23 00:51] wakes up +[1518-08-27 00:35] falls asleep +[1518-04-29 00:22] falls asleep +[1518-03-30 00:27] wakes up +[1518-09-07 00:13] wakes up +[1518-11-17 00:00] Guard #1993 begins shift +[1518-11-20 23:46] Guard #3361 begins shift +[1518-03-22 00:25] falls asleep +[1518-05-01 00:38] wakes up +[1518-11-02 23:56] Guard #659 begins shift +[1518-09-22 00:39] falls asleep +[1518-08-13 23:47] Guard #2027 begins shift +[1518-09-30 00:11] wakes up +[1518-06-11 23:58] Guard #2857 begins shift +[1518-08-21 00:53] wakes up +[1518-06-23 00:00] falls asleep +[1518-10-22 00:03] falls asleep +[1518-11-20 00:55] wakes up +[1518-05-17 23:57] Guard #3119 begins shift +[1518-06-14 23:57] Guard #1163 begins shift +[1518-08-19 00:00] Guard #2843 begins shift +[1518-07-11 00:08] falls asleep +[1518-10-01 00:03] Guard #2857 begins shift +[1518-10-23 00:34] wakes up +[1518-04-18 00:13] falls asleep +[1518-05-06 00:39] wakes up +[1518-08-30 00:00] Guard #2843 begins shift +[1518-03-30 00:46] falls asleep +[1518-09-18 00:25] wakes up +[1518-08-09 23:56] Guard #3119 begins shift +[1518-09-15 23:57] Guard #3023 begins shift +[1518-04-19 00:50] wakes up +[1518-08-03 00:22] wakes up +[1518-03-21 00:56] wakes up +[1518-03-24 23:57] Guard #3011 begins shift +[1518-03-22 00:45] wakes up +[1518-04-24 00:58] wakes up +[1518-08-27 00:45] wakes up +[1518-06-22 00:23] falls asleep +[1518-09-16 23:58] Guard #659 begins shift +[1518-03-30 00:01] falls asleep +[1518-04-04 00:46] falls asleep +[1518-10-06 00:54] wakes up +[1518-09-18 00:09] falls asleep +[1518-05-22 00:55] falls asleep +[1518-11-11 00:53] falls asleep +[1518-06-20 00:38] wakes up +[1518-06-14 00:58] wakes up +[1518-08-16 00:04] Guard #149 begins shift +[1518-04-04 00:57] wakes up +[1518-07-26 00:59] wakes up +[1518-09-29 00:03] Guard #563 begins shift +[1518-09-10 00:21] falls asleep +[1518-09-02 23:47] Guard #1993 begins shift +[1518-10-08 00:52] wakes up +[1518-10-18 00:45] falls asleep +[1518-04-22 00:33] wakes up +[1518-08-26 00:47] wakes up +[1518-11-02 00:04] Guard #2857 begins shift +[1518-03-25 00:44] falls asleep +[1518-07-17 00:07] falls asleep +[1518-04-05 00:26] falls asleep +[1518-08-11 00:43] falls asleep +[1518-06-13 23:59] Guard #3023 begins shift +[1518-06-29 00:00] Guard #2017 begins shift +[1518-11-20 00:36] wakes up +[1518-07-13 23:56] Guard #2857 begins shift +[1518-09-07 23:52] Guard #149 begins shift +[1518-04-24 23:58] Guard #3011 begins shift +[1518-03-19 00:47] falls asleep +[1518-07-04 23:56] Guard #653 begins shift +[1518-06-21 00:30] falls asleep +[1518-03-13 00:15] wakes up +[1518-03-13 00:23] falls asleep +[1518-08-10 00:21] falls asleep +[1518-10-01 23:47] Guard #1657 begins shift +[1518-03-26 00:03] Guard #1163 begins shift +[1518-08-18 00:53] falls asleep +[1518-05-02 00:12] falls asleep +[1518-05-26 00:42] falls asleep +[1518-10-31 00:21] wakes up +[1518-05-14 23:59] Guard #1013 begins shift +[1518-05-25 00:48] wakes up +[1518-08-25 00:52] falls asleep +[1518-06-17 00:05] falls asleep +[1518-06-16 00:14] falls asleep +[1518-04-16 00:51] wakes up +[1518-05-18 23:56] Guard #2017 begins shift +[1518-06-22 00:45] wakes up +[1518-05-30 00:59] wakes up +[1518-07-17 00:14] falls asleep +[1518-10-19 00:20] falls asleep +[1518-05-12 23:52] Guard #3361 begins shift +[1518-09-26 00:27] falls asleep +[1518-09-05 00:00] Guard #3023 begins shift +[1518-11-22 23:58] Guard #2719 begins shift +[1518-09-12 00:00] falls asleep +[1518-08-06 00:34] wakes up +[1518-06-20 00:43] falls asleep +[1518-06-08 00:59] wakes up +[1518-08-28 00:03] falls asleep +[1518-09-02 00:08] falls asleep +[1518-08-29 00:56] wakes up +[1518-07-01 00:56] wakes up +[1518-04-13 00:00] Guard #2719 begins shift +[1518-05-29 00:55] wakes up +[1518-04-14 00:54] falls asleep +[1518-04-20 00:26] falls asleep +[1518-06-20 00:50] wakes up +[1518-09-01 00:52] falls asleep +[1518-11-10 00:21] falls asleep +[1518-06-18 00:26] falls asleep +[1518-07-23 00:26] falls asleep +[1518-08-18 00:41] wakes up +[1518-07-29 00:20] wakes up +[1518-03-21 00:31] wakes up +[1518-04-14 00:55] wakes up +[1518-08-01 00:35] falls asleep +[1518-08-13 00:07] falls asleep +[1518-06-04 00:03] falls asleep +[1518-06-01 00:00] Guard #2857 begins shift +[1518-07-20 00:18] falls asleep +[1518-05-09 00:02] Guard #3011 begins shift +[1518-10-27 00:37] falls asleep +[1518-07-30 23:59] Guard #2719 begins shift +[1518-05-13 00:00] falls asleep +[1518-03-24 00:29] wakes up +[1518-10-25 00:49] falls asleep +[1518-03-31 00:36] wakes up +[1518-11-17 00:08] falls asleep +[1518-05-26 00:01] falls asleep +[1518-07-21 23:57] Guard #149 begins shift +[1518-06-18 00:36] falls asleep +[1518-07-09 00:34] falls asleep +[1518-06-03 00:43] falls asleep +[1518-04-15 00:38] falls asleep +[1518-06-24 23:56] Guard #2719 begins shift +[1518-07-25 00:29] falls asleep +[1518-03-21 00:05] falls asleep +[1518-10-20 00:04] Guard #1163 begins shift +[1518-04-27 00:51] wakes up +[1518-07-07 00:02] Guard #2843 begins shift +[1518-07-18 00:58] wakes up +[1518-04-11 00:04] Guard #2719 begins shift +[1518-08-17 00:57] wakes up +[1518-11-11 00:57] wakes up +[1518-06-18 00:48] wakes up +[1518-11-11 00:42] wakes up +[1518-06-21 00:55] falls asleep +[1518-10-12 00:54] wakes up +[1518-08-15 00:47] wakes up +[1518-06-24 00:57] falls asleep +[1518-10-14 00:16] falls asleep +[1518-03-28 00:30] wakes up +[1518-05-26 00:47] wakes up +[1518-06-02 00:04] Guard #743 begins shift +[1518-04-12 00:01] Guard #2927 begins shift +[1518-07-18 00:00] Guard #3083 begins shift +[1518-08-11 00:31] wakes up +[1518-06-27 00:33] falls asleep +[1518-08-10 00:51] wakes up +[1518-04-27 00:26] falls asleep +[1518-07-01 00:37] wakes up +[1518-07-01 00:00] Guard #2017 begins shift +[1518-10-26 00:58] wakes up +[1518-11-17 00:53] wakes up +[1518-06-23 23:56] Guard #3089 begins shift +[1518-07-27 00:38] wakes up +[1518-11-17 00:39] wakes up +[1518-04-14 00:29] wakes up +[1518-05-26 00:53] wakes up +[1518-07-27 00:02] Guard #2857 begins shift +[1518-08-07 00:06] falls asleep +[1518-08-23 00:57] wakes up +[1518-07-22 00:30] falls asleep +[1518-08-01 00:04] Guard #653 begins shift +[1518-04-08 00:33] wakes up +[1518-08-17 00:00] Guard #3023 begins shift +[1518-03-13 00:09] falls asleep +[1518-04-24 00:29] falls asleep +[1518-05-28 00:07] falls asleep +[1518-08-08 00:08] falls asleep +[1518-07-10 00:56] wakes up +[1518-03-12 23:56] Guard #881 begins shift +[1518-03-11 00:09] falls asleep +[1518-09-08 00:04] falls asleep +[1518-08-01 23:59] Guard #3119 begins shift +[1518-06-19 00:08] falls asleep +[1518-05-04 00:51] wakes up +[1518-10-13 00:35] wakes up +[1518-06-11 00:00] Guard #2027 begins shift +[1518-05-01 00:47] falls asleep +[1518-08-15 00:29] falls asleep +[1518-06-28 00:14] falls asleep +[1518-09-26 23:58] Guard #1163 begins shift +[1518-10-10 00:54] wakes up +[1518-08-25 00:53] wakes up +[1518-07-31 00:37] wakes up +[1518-09-18 00:48] falls asleep +[1518-07-09 00:47] wakes up +[1518-11-17 00:23] falls asleep +[1518-08-26 00:03] Guard #2719 begins shift +[1518-06-17 00:40] wakes up +[1518-06-08 00:29] wakes up +[1518-03-24 00:03] Guard #1657 begins shift +[1518-09-26 00:52] wakes up +[1518-08-14 23:59] Guard #2843 begins shift +[1518-08-06 00:01] Guard #149 begins shift +[1518-11-23 00:22] falls asleep +[1518-10-19 00:45] wakes up +[1518-09-27 00:49] wakes up +[1518-06-26 00:20] falls asleep +[1518-09-07 00:57] wakes up +[1518-11-14 00:04] Guard #743 begins shift +[1518-03-16 00:12] wakes up +[1518-09-18 00:54] wakes up +[1518-10-29 23:58] Guard #3119 begins shift +[1518-04-13 23:49] Guard #1013 begins shift +[1518-09-19 00:47] falls asleep +[1518-11-07 23:58] Guard #3119 begins shift +[1518-06-21 00:00] Guard #881 begins shift +[1518-09-01 00:53] wakes up +[1518-03-20 23:50] Guard #881 begins shift +[1518-09-10 00:55] wakes up +[1518-07-29 00:34] falls asleep +[1518-09-05 00:18] falls asleep +[1518-07-03 00:58] wakes up +[1518-04-28 00:52] wakes up +[1518-08-08 00:33] wakes up +[1518-04-22 00:00] falls asleep +[1518-03-19 00:15] wakes up +[1518-08-14 00:52] wakes up +[1518-07-11 00:56] wakes up +[1518-07-14 23:56] Guard #2017 begins shift +[1518-08-04 23:57] Guard #2027 begins shift +[1518-07-03 00:55] falls asleep +[1518-10-30 00:24] falls asleep +[1518-11-07 00:09] falls asleep +[1518-05-12 00:22] falls asleep +[1518-08-17 23:59] Guard #743 begins shift +[1518-08-23 00:50] falls asleep +[1518-10-29 00:04] Guard #1163 begins shift +[1518-07-04 00:54] wakes up +[1518-03-16 00:59] wakes up +[1518-08-25 00:14] falls asleep +[1518-10-30 23:52] Guard #2843 begins shift +[1518-05-17 00:54] wakes up +[1518-06-04 00:38] wakes up +[1518-05-16 00:46] wakes up +[1518-09-08 00:43] wakes up +[1518-09-01 00:21] falls asleep +[1518-06-17 23:59] Guard #1013 begins shift +[1518-09-27 23:59] Guard #3119 begins shift +[1518-05-17 00:03] Guard #1657 begins shift +[1518-04-21 23:46] Guard #2843 begins shift +[1518-09-11 00:35] falls asleep +[1518-10-01 00:31] wakes up +[1518-08-12 00:39] wakes up +[1518-10-04 00:01] Guard #1013 begins shift +[1518-08-02 23:50] Guard #1657 begins shift +[1518-05-04 00:36] falls asleep +[1518-06-05 00:39] falls asleep +[1518-07-04 00:36] wakes up +[1518-05-19 00:53] falls asleep +[1518-10-07 00:59] wakes up +[1518-06-30 00:49] falls asleep +[1518-06-17 00:18] wakes up +[1518-06-25 00:39] wakes up +[1518-09-28 00:31] falls asleep +[1518-08-24 00:24] wakes up +[1518-08-10 00:08] falls asleep +[1518-04-06 00:02] Guard #1163 begins shift +[1518-04-11 00:38] wakes up +[1518-07-02 00:52] wakes up +[1518-07-07 00:57] wakes up +[1518-04-30 00:15] falls asleep +[1518-04-17 00:48] wakes up +[1518-03-16 00:25] falls asleep +[1518-10-06 00:40] wakes up +[1518-10-13 00:00] falls asleep +[1518-05-30 23:56] Guard #2857 begins shift +[1518-06-06 00:54] wakes up +[1518-04-15 00:57] wakes up +[1518-06-21 00:57] wakes up +[1518-10-24 23:51] Guard #149 begins shift +[1518-03-26 00:44] wakes up +[1518-08-31 00:52] wakes up +[1518-03-28 00:51] falls asleep +[1518-10-25 23:47] Guard #3023 begins shift +[1518-07-14 00:52] wakes up +[1518-05-09 00:19] falls asleep +[1518-10-06 00:18] falls asleep +[1518-08-10 00:18] wakes up +[1518-05-19 00:28] wakes up +[1518-08-04 00:36] wakes up +[1518-06-13 00:49] falls asleep +[1518-04-16 00:09] falls asleep +[1518-05-20 00:38] wakes up +[1518-04-24 00:01] Guard #2719 begins shift +[1518-05-10 00:58] wakes up +[1518-11-23 00:41] wakes up +[1518-04-17 00:21] falls asleep +[1518-11-21 00:00] falls asleep +[1518-08-29 00:15] falls asleep +[1518-08-19 23:57] Guard #2843 begins shift +[1518-11-01 00:59] wakes up +[1518-05-03 00:00] Guard #2857 begins shift +[1518-10-02 00:32] wakes up +[1518-08-07 23:57] Guard #3089 begins shift +[1518-10-29 00:51] falls asleep +[1518-03-17 00:08] falls asleep +[1518-03-19 00:32] falls asleep +[1518-07-30 00:41] wakes up +[1518-07-14 00:11] falls asleep +[1518-07-16 00:04] Guard #2927 begins shift +[1518-03-14 00:30] falls asleep +[1518-10-05 00:46] wakes up +[1518-08-06 23:57] Guard #1993 begins shift +[1518-04-23 00:44] falls asleep +[1518-10-18 00:26] wakes up +[1518-04-15 00:52] wakes up +[1518-04-01 00:03] Guard #2719 begins shift +[1518-11-05 00:00] Guard #149 begins shift +[1518-05-07 00:17] falls asleep +[1518-10-10 00:00] Guard #3361 begins shift +[1518-07-28 00:00] Guard #743 begins shift +[1518-03-31 00:34] falls asleep +[1518-05-05 00:11] falls asleep +[1518-07-29 00:16] falls asleep +[1518-08-21 23:50] Guard #2927 begins shift +[1518-03-22 00:49] falls asleep +[1518-06-07 23:56] Guard #1163 begins shift +[1518-10-15 00:00] Guard #2027 begins shift +[1518-08-24 00:34] falls asleep +[1518-07-28 00:41] falls asleep +[1518-11-13 00:49] wakes up +[1518-07-02 00:32] falls asleep +[1518-09-21 00:17] falls asleep +[1518-09-02 00:00] Guard #3011 begins shift +[1518-04-15 00:02] falls asleep +[1518-09-26 00:00] Guard #1657 begins shift +[1518-05-03 00:12] falls asleep +[1518-09-09 00:44] wakes up +[1518-04-04 00:36] wakes up +[1518-05-23 23:59] Guard #3083 begins shift +[1518-04-07 00:58] wakes up +[1518-05-18 00:53] wakes up +[1518-05-15 00:56] wakes up +[1518-08-17 00:25] falls asleep +[1518-05-13 00:39] wakes up +[1518-06-24 00:18] falls asleep +[1518-04-07 00:50] wakes up +[1518-05-17 00:32] wakes up +[1518-06-19 00:32] wakes up +[1518-07-09 00:01] Guard #2719 begins shift +[1518-03-13 00:53] wakes up +[1518-06-02 00:44] wakes up +[1518-10-31 00:01] falls asleep +[1518-10-05 00:00] Guard #1013 begins shift +[1518-06-25 00:36] falls asleep +[1518-05-08 00:37] wakes up +[1518-07-02 00:49] falls asleep +[1518-05-12 00:55] wakes up +[1518-05-21 00:00] Guard #3023 begins shift +[1518-07-04 00:51] falls asleep +[1518-08-25 00:02] Guard #3011 begins shift +[1518-10-29 00:52] wakes up +[1518-04-03 00:50] wakes up +[1518-04-16 00:43] falls asleep +[1518-11-06 00:28] falls asleep +[1518-04-10 00:05] falls asleep +[1518-06-19 00:15] wakes up +[1518-04-14 00:06] wakes up +[1518-06-27 00:34] wakes up +[1518-05-27 00:52] wakes up +[1518-10-05 00:59] wakes up +[1518-09-19 00:58] wakes up +[1518-05-31 00:11] wakes up +[1518-09-14 00:59] wakes up +[1518-10-28 00:35] falls asleep +[1518-08-11 00:04] Guard #1163 begins shift +[1518-08-29 00:04] Guard #881 begins shift +[1518-09-25 00:22] falls asleep +[1518-06-30 00:04] Guard #1657 begins shift +[1518-05-04 00:56] wakes up +[1518-11-07 00:13] wakes up +[1518-06-30 00:19] falls asleep +[1518-08-22 00:09] wakes up +[1518-08-18 00:55] wakes up +[1518-05-28 00:46] wakes up +[1518-09-04 00:10] falls asleep +[1518-08-30 00:43] wakes up +[1518-03-11 00:32] wakes up +[1518-04-27 00:00] Guard #743 begins shift +[1518-10-20 00:26] wakes up +[1518-05-20 00:00] Guard #743 begins shift +[1518-04-03 23:59] Guard #3011 begins shift +[1518-07-29 00:59] wakes up +[1518-07-17 00:10] wakes up +[1518-04-07 00:04] Guard #2843 begins shift +[1518-07-15 00:52] wakes up +[1518-11-22 00:19] falls asleep +[1518-04-23 00:48] wakes up +[1518-07-19 00:52] wakes up +[1518-04-07 23:57] Guard #1163 begins shift +[1518-07-08 00:01] Guard #1993 begins shift +[1518-07-23 00:46] wakes up +[1518-07-21 00:01] Guard #3119 begins shift +[1518-03-16 00:03] Guard #3083 begins shift +[1518-03-28 00:56] wakes up +[1518-09-30 00:09] falls asleep +[1518-09-07 00:02] Guard #2017 begins shift +[1518-07-10 00:01] Guard #1993 begins shift +[1518-10-15 00:53] wakes up +[1518-10-08 00:18] falls asleep +[1518-06-26 00:54] wakes up +[1518-03-12 00:36] falls asleep +[1518-03-16 00:06] falls asleep +[1518-08-06 00:47] wakes up +[1518-10-22 00:29] wakes up +[1518-09-02 00:58] wakes up +[1518-07-18 00:12] falls asleep +[1518-09-19 23:58] Guard #1013 begins shift +[1518-08-31 00:10] falls asleep +[1518-03-24 00:18] falls asleep +[1518-04-18 00:30] wakes up +[1518-11-09 00:30] falls asleep +[1518-05-21 00:38] falls asleep +[1518-10-29 00:23] wakes up +[1518-10-23 00:00] Guard #2027 begins shift +[1518-10-09 00:09] falls asleep +[1518-09-11 00:53] falls asleep +[1518-07-04 00:32] falls asleep +[1518-07-31 00:32] falls asleep +[1518-09-01 00:58] wakes up +[1518-07-24 00:50] wakes up +[1518-07-26 00:49] falls asleep +[1518-11-18 00:15] falls asleep +[1518-04-13 00:31] falls asleep +[1518-09-03 00:22] wakes up +[1518-08-30 23:58] Guard #3361 begins shift +[1518-04-30 00:52] wakes up +[1518-06-15 00:56] falls asleep +[1518-07-02 00:56] falls asleep +[1518-04-19 23:56] Guard #1657 begins shift +[1518-10-09 00:03] Guard #1657 begins shift +[1518-10-07 00:02] Guard #1163 begins shift +[1518-05-24 00:29] falls asleep +[1518-05-23 00:06] falls asleep +[1518-07-10 23:58] Guard #1993 begins shift +[1518-07-03 00:00] Guard #743 begins shift +[1518-06-14 00:54] falls asleep +[1518-09-19 00:39] falls asleep +[1518-07-19 00:01] Guard #2017 begins shift +[1518-11-11 00:18] falls asleep +[1518-04-17 00:02] Guard #1013 begins shift +[1518-05-02 00:56] wakes up +[1518-08-29 00:55] falls asleep +[1518-11-17 00:11] wakes up +[1518-04-02 00:28] falls asleep +[1518-04-28 23:57] Guard #3083 begins shift +[1518-07-28 00:28] wakes up +[1518-09-22 00:47] wakes up +[1518-03-20 00:00] Guard #1657 begins shift +[1518-07-20 00:25] wakes up +[1518-09-06 00:52] wakes up +[1518-10-18 00:38] wakes up +[1518-07-24 00:25] falls asleep +[1518-11-07 00:02] Guard #149 begins shift +[1518-08-15 00:52] falls asleep +[1518-10-20 00:12] falls asleep +[1518-04-09 00:56] wakes up +[1518-09-26 00:18] wakes up +[1518-09-06 00:02] falls asleep +[1518-03-14 00:03] Guard #149 begins shift +[1518-06-06 00:38] falls asleep +[1518-11-13 00:44] falls asleep +[1518-10-23 23:57] Guard #1153 begins shift +[1518-10-28 00:50] falls asleep +[1518-05-14 00:57] wakes up +[1518-09-13 00:36] falls asleep +[1518-09-25 00:42] wakes up +[1518-11-22 00:51] wakes up +[1518-05-09 00:35] wakes up +[1518-10-31 23:59] Guard #2927 begins shift +[1518-11-14 00:26] wakes up +[1518-07-27 00:33] falls asleep +[1518-11-02 00:55] wakes up +[1518-04-08 23:58] Guard #3119 begins shift +[1518-11-16 00:08] falls asleep +[1518-09-30 00:37] falls asleep +[1518-04-10 00:59] wakes up +[1518-10-15 00:10] falls asleep +[1518-08-02 00:58] wakes up +[1518-07-05 00:59] wakes up +[1518-05-05 00:45] falls asleep +[1518-04-06 00:10] falls asleep +[1518-10-18 00:11] falls asleep +[1518-07-12 00:00] Guard #149 begins shift +[1518-06-24 00:40] wakes up +[1518-09-05 00:28] wakes up +[1518-03-18 00:38] wakes up +[1518-10-18 00:36] falls asleep +[1518-11-16 00:19] wakes up +[1518-08-05 00:06] falls asleep +[1518-04-26 00:00] Guard #3083 begins shift +[1518-03-22 00:52] wakes up +[1518-10-21 00:23] falls asleep +[1518-04-02 00:47] falls asleep +[1518-04-20 00:41] wakes up +[1518-11-19 23:57] Guard #1013 begins shift +[1518-09-26 00:58] wakes up +[1518-06-26 00:00] Guard #2927 begins shift +[1518-09-01 00:01] Guard #1657 begins shift +[1518-10-22 00:44] wakes up +[1518-11-20 00:50] falls asleep +[1518-10-25 00:41] wakes up +[1518-11-02 00:12] falls asleep +[1518-06-22 00:28] wakes up +[1518-11-04 00:39] wakes up +[1518-05-27 00:04] Guard #653 begins shift +[1518-07-24 00:46] falls asleep +[1518-11-14 00:08] falls asleep +[1518-03-19 00:40] wakes up +[1518-09-03 00:50] wakes up +[1518-07-16 00:59] wakes up +[1518-11-12 00:45] wakes up +[1518-10-11 00:17] falls asleep +[1518-10-30 00:40] wakes up +[1518-08-03 00:00] falls asleep +[1518-03-18 00:46] wakes up +[1518-08-06 00:44] falls asleep +[1518-10-11 00:50] wakes up +[1518-05-21 00:57] wakes up +[1518-09-01 00:43] wakes up +[1518-09-11 00:00] Guard #3011 begins shift +[1518-09-13 00:55] wakes up +[1518-10-27 00:04] Guard #149 begins shift +[1518-05-02 00:03] Guard #149 begins shift +[1518-09-14 00:00] Guard #3119 begins shift +[1518-07-08 00:14] falls asleep +[1518-06-02 00:28] falls asleep +[1518-03-19 00:57] wakes up +[1518-08-13 00:22] wakes up +[1518-05-01 00:04] Guard #653 begins shift +[1518-06-19 00:23] falls asleep +[1518-11-18 00:02] Guard #3011 begins shift +[1518-11-13 00:17] falls asleep +[1518-07-22 00:50] falls asleep +[1518-04-15 00:55] falls asleep +[1518-07-02 00:58] wakes up +[1518-03-28 00:28] falls asleep +[1518-07-01 00:50] falls asleep +[1518-05-31 00:35] falls asleep +[1518-05-13 00:27] wakes up +[1518-10-17 00:05] falls asleep +[1518-06-15 00:57] wakes up +[1518-11-10 00:45] wakes up +[1518-04-04 00:18] falls asleep +[1518-09-20 23:57] Guard #743 begins shift +[1518-10-29 00:11] falls asleep +[1518-05-01 00:25] falls asleep +[1518-11-22 00:40] wakes up +[1518-11-13 00:02] falls asleep +[1518-09-11 00:50] wakes up +[1518-09-12 23:56] Guard #653 begins shift +[1518-07-11 00:38] wakes up +[1518-03-22 23:59] Guard #659 begins shift +[1518-04-09 00:18] falls asleep +[1518-08-23 23:53] Guard #2927 begins shift +[1518-07-02 00:04] Guard #1993 begins shift +[1518-08-21 00:00] Guard #1993 begins shift +[1518-10-05 00:53] falls asleep +[1518-03-22 00:14] falls asleep +[1518-09-06 00:15] wakes up +[1518-09-24 00:57] falls asleep +[1518-08-14 00:03] falls asleep +[1518-05-25 00:41] falls asleep +[1518-04-23 00:28] wakes up +[1518-04-12 00:45] wakes up +[1518-05-10 00:14] falls asleep +[1518-03-26 23:54] Guard #3023 begins shift +[1518-05-11 00:54] wakes up +[1518-11-05 00:29] falls asleep +[1518-10-03 00:34] wakes up +[1518-04-09 23:50] Guard #653 begins shift +[1518-04-28 00:22] wakes up +[1518-07-07 00:08] falls asleep +[1518-03-28 00:01] Guard #2927 begins shift +[1518-07-05 23:58] Guard #1153 begins shift +[1518-11-23 00:37] falls asleep +[1518-09-05 00:59] wakes up +[1518-04-10 00:56] falls asleep +[1518-11-18 00:44] falls asleep +[1518-10-08 00:39] falls asleep +[1518-09-10 00:02] Guard #2017 begins shift +[1518-03-19 00:02] falls asleep +[1518-04-01 00:07] falls asleep +[1518-10-05 23:57] Guard #3023 begins shift +[1518-11-01 00:46] falls asleep +[1518-07-03 00:34] falls asleep +[1518-10-23 00:18] falls asleep +[1518-07-07 00:46] wakes up +[1518-07-26 00:07] falls asleep +[1518-08-27 00:04] Guard #3011 begins shift +[1518-04-08 00:17] falls asleep +[1518-05-22 00:56] wakes up +[1518-10-22 00:36] falls asleep +[1518-04-14 00:02] falls asleep +[1518-07-25 00:37] wakes up +[1518-08-03 23:50] Guard #2843 begins shift +[1518-03-31 00:56] wakes up +[1518-07-04 00:00] Guard #3023 begins shift +[1518-11-16 00:00] Guard #2027 begins shift +[1518-03-27 00:01] falls asleep +[1518-09-01 00:57] falls asleep +[1518-11-22 00:49] falls asleep +[1518-07-05 00:38] falls asleep +[1518-05-27 00:29] falls asleep +[1518-08-12 00:32] falls asleep +[1518-05-22 00:34] falls asleep +[1518-05-11 00:21] falls asleep +[1518-06-19 23:52] Guard #2927 begins shift +[1518-04-23 00:26] falls asleep +[1518-03-11 23:56] Guard #1993 begins shift +[1518-08-16 00:14] falls asleep +[1518-10-30 00:56] wakes up +[1518-03-18 00:43] falls asleep +[1518-11-03 23:58] Guard #881 begins shift +[1518-03-14 00:39] wakes up +[1518-09-12 00:57] wakes up +[1518-11-17 00:47] falls asleep +[1518-04-16 00:38] wakes up +[1518-09-23 00:54] falls asleep +[1518-08-20 00:39] wakes up +[1518-06-08 00:25] falls asleep +[1518-03-20 00:10] falls asleep +[1518-07-01 00:21] falls asleep +[1518-03-24 00:44] wakes up +[1518-07-17 00:59] wakes up +[1518-06-23 00:38] wakes up +[1518-04-02 00:02] Guard #2857 begins shift +[1518-07-15 00:51] falls asleep +[1518-09-11 23:52] Guard #1163 begins shift +[1518-04-26 00:40] falls asleep +[1518-03-29 00:20] falls asleep +[1518-07-30 00:00] Guard #3361 begins shift +[1518-06-05 00:49] wakes up +[1518-10-26 00:00] falls asleep +[1518-07-03 00:51] wakes up +[1518-10-12 00:46] falls asleep +[1518-10-21 00:57] wakes up +[1518-07-25 00:02] falls asleep +[1518-04-15 23:56] Guard #3119 begins shift +[1518-10-17 00:19] wakes up +[1518-06-05 00:45] falls asleep +[1518-07-28 00:17] falls asleep +[1518-06-22 00:43] falls asleep +[1518-07-25 00:24] wakes up +[1518-09-20 00:40] falls asleep +[1518-07-17 00:00] Guard #743 begins shift +[1518-03-16 23:59] Guard #2017 begins shift +[1518-09-05 00:36] falls asleep +[1518-08-11 00:14] falls asleep +[1518-04-12 00:48] falls asleep +[1518-05-20 00:23] falls asleep +[1518-04-11 00:33] falls asleep +[1518-09-08 23:58] Guard #1163 begins shift +[1518-09-09 00:09] falls asleep +[1518-04-02 00:40] wakes up +[1518-06-11 00:54] wakes up +[1518-09-05 23:50] Guard #2017 begins shift +[1518-11-22 00:04] falls asleep +[1518-04-29 00:19] wakes up +[1518-05-19 00:57] wakes up +[1518-05-26 00:34] wakes up +[1518-05-17 00:10] falls asleep +[1518-04-01 00:54] wakes up +[1518-04-18 00:00] Guard #3083 begins shift +[1518-04-25 00:59] wakes up +[1518-06-22 00:02] Guard #2027 begins shift +[1518-08-20 00:34] falls asleep +[1518-05-25 00:00] Guard #3023 begins shift +[1518-07-20 00:03] Guard #3011 begins shift +[1518-03-27 00:59] wakes up +[1518-06-05 00:42] wakes up +[1518-08-19 00:19] falls asleep +[1518-11-23 00:32] wakes up +[1518-04-12 00:26] falls asleep +[1518-10-10 00:39] falls asleep +[1518-11-15 00:51] wakes up +[1518-09-27 00:38] wakes up +[1518-10-12 23:53] Guard #653 begins shift +[1518-05-03 00:25] falls asleep +[1518-10-09 00:49] wakes up +[1518-11-08 00:30] falls asleep +[1518-05-26 00:50] falls asleep +[1518-11-13 00:41] wakes up +[1518-09-30 00:41] wakes up +[1518-04-14 00:22] falls asleep +[1518-05-04 00:54] falls asleep +[1518-05-05 00:03] Guard #2027 begins shift +[1518-04-05 00:44] wakes up +[1518-07-24 00:42] wakes up +[1518-06-07 00:08] wakes up +[1518-10-02 00:00] falls asleep +[1518-06-12 00:16] falls asleep +[1518-04-10 00:34] wakes up +[1518-07-13 00:02] Guard #2719 begins shift +[1518-04-21 00:03] Guard #881 begins shift +[1518-10-11 00:04] Guard #2927 begins shift +[1518-06-02 23:56] Guard #3011 begins shift +[1518-03-12 00:38] wakes up +[1518-06-26 23:48] Guard #3023 begins shift +[1518-05-16 00:07] falls asleep +[1518-04-28 00:48] falls asleep +[1518-05-22 00:02] Guard #881 begins shift +[1518-03-18 23:48] Guard #3089 begins shift +[1518-08-08 00:57] wakes up +[1518-09-21 00:21] wakes up +[1518-04-29 23:58] Guard #2843 begins shift +[1518-03-17 00:52] wakes up +[1518-06-10 00:00] Guard #563 begins shift +[1518-09-28 00:57] wakes up +[1518-05-16 00:22] wakes up +[1518-04-03 00:13] falls asleep +[1518-10-04 00:44] wakes up +[1518-06-27 00:01] falls asleep +[1518-06-26 00:49] wakes up +[1518-05-29 00:28] falls asleep +[1518-06-29 00:56] wakes up +[1518-11-20 00:21] falls asleep +[1518-10-03 00:07] falls asleep +[1518-05-16 00:00] Guard #1993 begins shift +[1518-09-06 00:34] falls asleep +[1518-05-17 00:38] falls asleep +[1518-07-28 23:56] Guard #2857 begins shift +[1518-06-13 00:54] wakes up +[1518-06-01 00:30] falls asleep +[1518-11-09 00:57] wakes up +[1518-11-22 00:06] wakes up +[1518-10-04 00:09] falls asleep +[1518-10-19 00:00] Guard #3023 begins shift +[1518-11-09 23:58] Guard #881 begins shift +[1518-10-28 00:02] Guard #2719 begins shift +[1518-04-13 00:45] wakes up +[1518-05-15 00:35] falls asleep +[1518-10-12 00:00] Guard #3119 begins shift +[1518-04-07 00:46] falls asleep +[1518-03-29 00:03] Guard #2027 begins shift +[1518-03-24 00:43] falls asleep +[1518-04-26 00:49] wakes up +[1518-09-26 00:15] falls asleep +[1518-08-24 00:40] wakes up +[1518-04-14 23:54] Guard #2857 begins shift +[1518-03-20 00:32] wakes up +[1518-10-13 00:50] falls asleep +[1518-11-12 23:48] Guard #3119 begins shift +[1518-07-07 00:56] falls asleep +[1518-10-21 00:03] Guard #3023 begins shift +[1518-08-15 00:53] wakes up +[1518-05-07 00:55] wakes up +[1518-08-08 00:53] falls asleep +[1518-08-02 00:49] falls asleep +[1518-11-18 00:56] wakes up +[1518-10-30 00:50] falls asleep +[1518-11-18 00:41] wakes up +[1518-05-30 00:16] falls asleep +[1518-06-28 00:00] Guard #3011 begins shift +[1518-09-23 00:17] falls asleep +[1518-10-26 00:54] falls asleep +[1518-10-08 00:31] falls asleep +[1518-06-04 23:59] Guard #149 begins shift +[1518-09-07 00:08] falls asleep +[1518-06-03 23:52] Guard #1993 begins shift +[1518-07-21 00:14] falls asleep +[1518-06-13 00:00] Guard #2927 begins shift +[1518-07-24 23:48] Guard #149 begins shift +[1518-10-08 00:25] wakes up +[1518-10-03 00:03] Guard #743 begins shift +[1518-05-09 23:57] Guard #2027 begins shift +[1518-06-21 00:49] wakes up +[1518-07-13 00:34] falls asleep +[1518-03-26 00:13] falls asleep +[1518-05-12 00:28] wakes up +[1518-09-27 00:42] falls asleep +[1518-05-29 00:04] Guard #2719 begins shift +[1518-05-13 23:56] Guard #3011 begins shift +[1518-10-28 00:56] wakes up +[1518-07-02 00:37] wakes up +[1518-06-17 00:32] falls asleep +[1518-05-13 00:36] falls asleep +[1518-04-25 00:46] falls asleep +[1518-06-07 00:01] falls asleep +[1518-10-13 00:59] wakes up +[1518-11-09 00:02] Guard #3011 begins shift +[1518-09-26 00:57] falls asleep +[1518-09-11 00:54] wakes up +[1518-05-14 00:29] falls asleep +[1518-08-02 00:29] falls asleep +[1518-08-24 00:00] falls asleep +[1518-11-13 00:13] wakes up +[1518-05-05 00:56] wakes up +[1518-06-22 23:54] Guard #2843 begins shift +[1518-08-07 00:48] wakes up +[1518-11-19 00:00] Guard #659 begins shift +[1518-07-22 00:34] wakes up +[1518-03-29 00:54] wakes up +[1518-10-07 00:30] falls asleep +[1518-11-21 23:51] Guard #1013 begins shift +[1518-10-18 00:03] Guard #2027 begins shift +[1518-03-25 00:56] wakes up +[1518-07-16 00:38] falls asleep +[1518-06-12 00:59] wakes up +[1518-10-14 00:00] Guard #2027 begins shift +[1518-05-11 00:52] falls asleep +[1518-06-15 00:49] wakes up \ No newline at end of file diff --git a/AdventOfCode2018/4thDay/challenge1/main.cpp b/AdventOfCode2018/4thDay/challenge1/main.cpp new file mode 100644 index 0000000..08e37b4 --- /dev/null +++ b/AdventOfCode2018/4thDay/challenge1/main.cpp @@ -0,0 +1,180 @@ +#include +#include +#include +#include +#include +#include +#include + +enum class State {begin, sleep, awaken}; +struct Action +{ + State state; + int64_t guard_id; +}; + +struct Event +{ + int64_t month, day, hour, minute; + Action action; +}; + + +std::istream &operator>>(std::istream &is, Action &action) +{ + std::string element; + is >> element; + if(element=="Guard") + { + action.state=State::begin; + char c; + is >> c >> action.guard_id; + } + else if(element=="falls") + { + action.state=State::sleep; + } + else if(element=="wakes") + { + action.state=State::awaken; + } + else + { + throw std::runtime_error("Invalid input"); + } + std::getline(is,element); + return is; +} + +std::istream &operator>>(std::istream &is, Event &event) +{ + char c; + int64_t year; + is >> c; + if(is.good()) + { + is >> year >> c >> event.month >> c >> event.day + >> event.hour >> c >> event.minute >> c + >> event.action; + + if(event.hour==23) + { + event.minute=0; + } + } + return is; +} + + + +std::ostream &operator<<(std::ostream &os, const Action &action) +{ + switch(action.state) + { + case State::begin: + os << "Guard #" << action.guard_id << " begins shift"; + break; + case State::sleep: + os << "falls asleep"; + break; + case State::awaken: + os << "wakes up"; + break; + default: + os << "What?"; + break; + } + return os; +} + +std::ostream &operator<<(std::ostream &os, const Event &event) +{ + os << "[1518-" + << std::setw(2) << std::setfill('0') << event.month << "-" + << std::setw(2) << std::setfill('0') << event.day << " " + << std::setw(2) << std::setfill('0') << event.hour << ":" + << std::setw(2) << std::setfill('0') << event.minute << "] " + << event.action; + return os; +} + +std::pair max_incident(const std::vector> &incidents) +{ + std::vector sleep_incidents(60,0); + for(auto ×: incidents) + { + for(size_t time=times.first; time events(std::istream_iterator(infile), {}); + + std::map>> guards; + + int64_t guard_id; + int64_t start(-1); + for(auto &event: events) + { + switch(event.action.state) + { + case State::begin: + guard_id=event.action.guard_id; + break; + case State::sleep: + start=event.minute; + break; + case State::awaken: + guards[guard_id].emplace_back(start,event.minute); + break; + } + } + + int64_t max_time_guard, max_time(0); + for(auto &guard: guards) + { + int64_t total_time(0); + for(auto &time: guard.second) + { + total_time+=time.second-time.first; + } + if(total_time>max_time) + { + max_time_guard=guard.first; + max_time=total_time; + } + } + + auto [max_incidents,max_minute]=max_incident(guards[max_time_guard]); + std::cout << "Part 1: " << (max_minute*max_time_guard) << "\n"; + + std::vector num_incidents(guards.size()); + int64_t max_guard_incidents(0), max_guard_minute(0), max_guard_id(-1); + for(auto &guard: guards) + { + auto [incidents,minute]=max_incident(guard.second); + if(incidents>max_guard_incidents) + { + max_guard_incidents=incidents; + max_guard_minute=minute; + max_guard_id=guard.first; + } + } + std::cout << "Part 2: " << (max_guard_id * max_guard_minute) << "\n"; +} \ No newline at end of file diff --git a/AdventOfCode2018/4thDay/challenge2/challenge.txt b/AdventOfCode2018/4thDay/challenge2/challenge.txt new file mode 100644 index 0000000..4f67796 --- /dev/null +++ b/AdventOfCode2018/4thDay/challenge2/challenge.txt @@ -0,0 +1,7 @@ +--- Part Two --- +Strategy 2: Of all guards, which guard is most frequently asleep on the same minute? + +In the example above, Guard #99 spent minute 45 asleep more than any other guard or minute - three times in total. (In all other cases, any guard spent any minute asleep at most twice.) + +What is the ID of the guard you chose multiplied by the minute you chose? (In the above example, the answer would be 99 * 45 = 4455.) + diff --git a/AdventOfCode2018/4thDay/challenge2/index.js b/AdventOfCode2018/4thDay/challenge2/index.js new file mode 100644 index 0000000..3909930 --- /dev/null +++ b/AdventOfCode2018/4thDay/challenge2/index.js @@ -0,0 +1,68 @@ +class Guard { + constructor (id) { + this.id = id; + this.minutesAsleep = Array.from({ length: 60 }).map(() => 0); + this.fellAsleepAt = null; + } + + sleep (fellAsleepAt) { + this.fellAsleepAt = fellAsleepAt; + } + + awake (awokeAt) { + for (let i = this.fellAsleepAt; i < awokeAt; i++) { + this.minutesAsleep[i] += 1; + } + } + + get sleepiestMinute () { + return this.minutesAsleep + .map((value, index) => ({ index, value })) + .sort((a, b) => b.value - a.value)[0].index; + } + } + +const sleep = (input) => { + const guards = {}; + const schedule = input + .split('\n') + .map((x) => x.trim()) + .sort() + .map((x) => { + const parts = x.match(/\[(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})\] (.*)/); + + return { + minute: +parts[5], + message: parts[6], + }; + }); + + let currentGuard = null; + + for (let i = 0; i < schedule.length; i++) { + const { message, minute } = schedule[i]; + + if (/Guard/.test(message)) { + const parts = message.match(/Guard #(\d+) begins shift/); + const guardId = +parts[1]; + const guard = guards[guardId] ? guards[guardId] : new Guard(guardId); + + currentGuard = guards[guardId] = guard; + } else if (message === 'falls asleep') { + currentGuard.sleep(minute); + } else if (message === 'wakes up') { + currentGuard.awake(minute); + } + } + + const sleepiestGuard = Object + .keys(guards) + .map((guardId) => guards[guardId]) + .sort((a, b) => b.minutesAsleep[b.sleepiestMinute] - + a.minutesAsleep[a.sleepiestMinute])[0]; + + return sleepiestGuard.id * sleepiestGuard.sleepiestMinute; +}; + +const fs = require('fs'); +console.log(sleep(fs.readFileSync("input.txt").toString())); diff --git a/AdventOfCode2018/4thDay/challenge2/input.txt b/AdventOfCode2018/4thDay/challenge2/input.txt new file mode 100755 index 0000000..6a4973b --- /dev/null +++ b/AdventOfCode2018/4thDay/challenge2/input.txt @@ -0,0 +1,1000 @@ +[1518-09-24 00:59] wakes up +[1518-05-22 00:47] wakes up +[1518-05-08 00:02] Guard #2719 begins shift +[1518-11-12 00:00] Guard #3011 begins shift +[1518-04-12 00:57] wakes up +[1518-05-21 00:32] wakes up +[1518-11-12 00:30] falls asleep +[1518-08-23 00:39] wakes up +[1518-10-18 00:48] wakes up +[1518-09-16 00:28] falls asleep +[1518-04-07 00:54] falls asleep +[1518-10-26 00:38] wakes up +[1518-03-18 00:12] falls asleep +[1518-05-23 00:01] Guard #2027 begins shift +[1518-05-31 00:09] falls asleep +[1518-05-19 00:09] falls asleep +[1518-05-28 00:02] Guard #2719 begins shift +[1518-09-24 00:04] falls asleep +[1518-03-31 00:42] falls asleep +[1518-09-04 00:52] wakes up +[1518-08-27 23:48] Guard #1657 begins shift +[1518-08-18 00:22] falls asleep +[1518-07-28 00:45] wakes up +[1518-11-15 00:31] falls asleep +[1518-09-20 00:46] wakes up +[1518-07-11 00:54] falls asleep +[1518-09-19 00:00] Guard #2027 begins shift +[1518-06-01 00:58] wakes up +[1518-06-03 00:56] wakes up +[1518-05-18 00:52] falls asleep +[1518-10-25 00:05] falls asleep +[1518-04-15 00:33] wakes up +[1518-08-11 23:59] Guard #3023 begins shift +[1518-08-06 00:18] falls asleep +[1518-08-23 00:34] falls asleep +[1518-08-05 00:22] wakes up +[1518-04-22 23:58] Guard #1657 begins shift +[1518-06-30 00:54] wakes up +[1518-11-21 00:14] wakes up +[1518-06-18 23:54] Guard #3361 begins shift +[1518-10-27 00:51] wakes up +[1518-10-01 00:26] falls asleep +[1518-06-30 00:38] wakes up +[1518-05-05 00:33] wakes up +[1518-03-12 00:24] wakes up +[1518-07-26 00:33] wakes up +[1518-03-22 00:16] wakes up +[1518-04-21 00:58] wakes up +[1518-08-08 23:58] Guard #563 begins shift +[1518-05-23 00:25] wakes up +[1518-08-25 00:44] wakes up +[1518-04-29 00:57] wakes up +[1518-09-23 23:53] Guard #2027 begins shift +[1518-03-31 00:00] Guard #743 begins shift +[1518-04-05 00:02] Guard #3011 begins shift +[1518-10-16 00:00] Guard #659 begins shift +[1518-06-24 00:58] wakes up +[1518-05-06 23:59] Guard #2719 begins shift +[1518-03-21 00:55] falls asleep +[1518-08-21 00:29] falls asleep +[1518-07-19 00:14] falls asleep +[1518-09-03 00:01] falls asleep +[1518-10-25 00:54] wakes up +[1518-10-21 23:47] Guard #743 begins shift +[1518-05-21 00:26] falls asleep +[1518-05-11 00:47] wakes up +[1518-05-06 00:23] falls asleep +[1518-11-18 00:47] wakes up +[1518-08-04 00:04] falls asleep +[1518-06-19 00:05] wakes up +[1518-11-05 23:57] Guard #3119 begins shift +[1518-11-11 00:00] Guard #743 begins shift +[1518-09-23 00:56] wakes up +[1518-09-19 00:40] wakes up +[1518-06-16 00:00] Guard #3089 begins shift +[1518-09-15 00:43] wakes up +[1518-03-30 00:54] wakes up +[1518-06-20 00:01] falls asleep +[1518-09-18 00:00] Guard #3119 begins shift +[1518-06-15 00:25] falls asleep +[1518-08-14 00:47] falls asleep +[1518-06-29 00:48] falls asleep +[1518-08-28 00:08] wakes up +[1518-03-17 23:57] Guard #3089 begins shift +[1518-06-06 23:50] Guard #1657 begins shift +[1518-08-13 00:01] Guard #2927 begins shift +[1518-06-09 00:00] Guard #563 begins shift +[1518-08-16 00:49] wakes up +[1518-06-19 00:04] falls asleep +[1518-07-10 00:39] falls asleep +[1518-07-22 23:58] Guard #3023 begins shift +[1518-06-16 23:53] Guard #149 begins shift +[1518-05-25 23:50] Guard #1013 begins shift +[1518-05-12 00:01] Guard #3089 begins shift +[1518-08-01 00:46] wakes up +[1518-06-28 00:46] wakes up +[1518-10-08 00:34] wakes up +[1518-09-16 00:42] wakes up +[1518-09-22 00:04] Guard #1013 begins shift +[1518-09-07 00:45] falls asleep +[1518-05-12 00:49] falls asleep +[1518-09-14 00:29] falls asleep +[1518-03-29 23:54] Guard #3023 begins shift +[1518-05-06 00:03] Guard #3361 begins shift +[1518-09-03 00:30] falls asleep +[1518-07-13 00:51] wakes up +[1518-09-15 00:09] falls asleep +[1518-04-28 00:06] falls asleep +[1518-08-14 00:39] wakes up +[1518-11-04 00:08] falls asleep +[1518-08-19 00:24] wakes up +[1518-11-05 00:57] wakes up +[1518-08-23 00:02] Guard #2719 begins shift +[1518-06-08 00:53] falls asleep +[1518-05-08 00:30] falls asleep +[1518-04-06 00:49] wakes up +[1518-09-15 00:04] Guard #2719 begins shift +[1518-11-08 00:52] wakes up +[1518-05-03 23:57] Guard #2719 begins shift +[1518-08-29 00:26] wakes up +[1518-09-24 00:16] wakes up +[1518-07-21 00:53] wakes up +[1518-10-06 00:52] falls asleep +[1518-07-30 00:31] falls asleep +[1518-07-12 00:50] wakes up +[1518-08-11 00:54] wakes up +[1518-03-22 00:00] Guard #2027 begins shift +[1518-08-22 00:04] falls asleep +[1518-10-08 00:00] Guard #1657 begins shift +[1518-11-06 00:48] falls asleep +[1518-05-31 00:46] wakes up +[1518-10-28 00:40] wakes up +[1518-07-08 00:22] wakes up +[1518-06-05 23:57] Guard #1993 begins shift +[1518-05-03 00:46] wakes up +[1518-07-25 23:56] Guard #149 begins shift +[1518-07-22 00:56] wakes up +[1518-11-06 00:41] wakes up +[1518-06-07 00:50] wakes up +[1518-04-28 00:02] Guard #149 begins shift +[1518-09-27 00:08] falls asleep +[1518-10-05 00:17] falls asleep +[1518-09-23 00:01] Guard #881 begins shift +[1518-05-24 00:59] wakes up +[1518-05-30 00:01] Guard #743 begins shift +[1518-06-18 00:28] wakes up +[1518-06-11 00:08] falls asleep +[1518-08-30 00:25] falls asleep +[1518-04-29 00:08] falls asleep +[1518-05-01 00:50] wakes up +[1518-03-12 00:20] falls asleep +[1518-08-02 00:41] wakes up +[1518-10-14 00:58] wakes up +[1518-10-16 23:53] Guard #2843 begins shift +[1518-11-06 00:58] wakes up +[1518-04-19 00:03] Guard #2719 begins shift +[1518-07-23 23:59] Guard #3083 begins shift +[1518-04-21 00:41] falls asleep +[1518-11-18 00:54] falls asleep +[1518-04-03 00:45] falls asleep +[1518-05-03 00:58] wakes up +[1518-06-27 00:20] wakes up +[1518-08-26 00:17] falls asleep +[1518-05-04 00:44] falls asleep +[1518-05-03 00:16] wakes up +[1518-04-03 00:04] Guard #2843 begins shift +[1518-09-04 00:03] Guard #3023 begins shift +[1518-03-11 00:00] Guard #1163 begins shift +[1518-05-03 00:57] falls asleep +[1518-06-16 00:51] wakes up +[1518-05-04 00:41] wakes up +[1518-09-25 00:00] Guard #1163 begins shift +[1518-04-02 00:56] wakes up +[1518-07-12 00:39] falls asleep +[1518-06-26 00:52] falls asleep +[1518-03-15 00:00] Guard #563 begins shift +[1518-06-07 00:22] falls asleep +[1518-04-19 00:31] falls asleep +[1518-05-11 00:04] Guard #2927 begins shift +[1518-04-03 00:35] wakes up +[1518-09-30 00:01] Guard #1993 begins shift +[1518-11-14 23:57] Guard #2017 begins shift +[1518-05-16 00:41] falls asleep +[1518-09-23 00:51] wakes up +[1518-08-27 00:35] falls asleep +[1518-04-29 00:22] falls asleep +[1518-03-30 00:27] wakes up +[1518-09-07 00:13] wakes up +[1518-11-17 00:00] Guard #1993 begins shift +[1518-11-20 23:46] Guard #3361 begins shift +[1518-03-22 00:25] falls asleep +[1518-05-01 00:38] wakes up +[1518-11-02 23:56] Guard #659 begins shift +[1518-09-22 00:39] falls asleep +[1518-08-13 23:47] Guard #2027 begins shift +[1518-09-30 00:11] wakes up +[1518-06-11 23:58] Guard #2857 begins shift +[1518-08-21 00:53] wakes up +[1518-06-23 00:00] falls asleep +[1518-10-22 00:03] falls asleep +[1518-11-20 00:55] wakes up +[1518-05-17 23:57] Guard #3119 begins shift +[1518-06-14 23:57] Guard #1163 begins shift +[1518-08-19 00:00] Guard #2843 begins shift +[1518-07-11 00:08] falls asleep +[1518-10-01 00:03] Guard #2857 begins shift +[1518-10-23 00:34] wakes up +[1518-04-18 00:13] falls asleep +[1518-05-06 00:39] wakes up +[1518-08-30 00:00] Guard #2843 begins shift +[1518-03-30 00:46] falls asleep +[1518-09-18 00:25] wakes up +[1518-08-09 23:56] Guard #3119 begins shift +[1518-09-15 23:57] Guard #3023 begins shift +[1518-04-19 00:50] wakes up +[1518-08-03 00:22] wakes up +[1518-03-21 00:56] wakes up +[1518-03-24 23:57] Guard #3011 begins shift +[1518-03-22 00:45] wakes up +[1518-04-24 00:58] wakes up +[1518-08-27 00:45] wakes up +[1518-06-22 00:23] falls asleep +[1518-09-16 23:58] Guard #659 begins shift +[1518-03-30 00:01] falls asleep +[1518-04-04 00:46] falls asleep +[1518-10-06 00:54] wakes up +[1518-09-18 00:09] falls asleep +[1518-05-22 00:55] falls asleep +[1518-11-11 00:53] falls asleep +[1518-06-20 00:38] wakes up +[1518-06-14 00:58] wakes up +[1518-08-16 00:04] Guard #149 begins shift +[1518-04-04 00:57] wakes up +[1518-07-26 00:59] wakes up +[1518-09-29 00:03] Guard #563 begins shift +[1518-09-10 00:21] falls asleep +[1518-09-02 23:47] Guard #1993 begins shift +[1518-10-08 00:52] wakes up +[1518-10-18 00:45] falls asleep +[1518-04-22 00:33] wakes up +[1518-08-26 00:47] wakes up +[1518-11-02 00:04] Guard #2857 begins shift +[1518-03-25 00:44] falls asleep +[1518-07-17 00:07] falls asleep +[1518-04-05 00:26] falls asleep +[1518-08-11 00:43] falls asleep +[1518-06-13 23:59] Guard #3023 begins shift +[1518-06-29 00:00] Guard #2017 begins shift +[1518-11-20 00:36] wakes up +[1518-07-13 23:56] Guard #2857 begins shift +[1518-09-07 23:52] Guard #149 begins shift +[1518-04-24 23:58] Guard #3011 begins shift +[1518-03-19 00:47] falls asleep +[1518-07-04 23:56] Guard #653 begins shift +[1518-06-21 00:30] falls asleep +[1518-03-13 00:15] wakes up +[1518-03-13 00:23] falls asleep +[1518-08-10 00:21] falls asleep +[1518-10-01 23:47] Guard #1657 begins shift +[1518-03-26 00:03] Guard #1163 begins shift +[1518-08-18 00:53] falls asleep +[1518-05-02 00:12] falls asleep +[1518-05-26 00:42] falls asleep +[1518-10-31 00:21] wakes up +[1518-05-14 23:59] Guard #1013 begins shift +[1518-05-25 00:48] wakes up +[1518-08-25 00:52] falls asleep +[1518-06-17 00:05] falls asleep +[1518-06-16 00:14] falls asleep +[1518-04-16 00:51] wakes up +[1518-05-18 23:56] Guard #2017 begins shift +[1518-06-22 00:45] wakes up +[1518-05-30 00:59] wakes up +[1518-07-17 00:14] falls asleep +[1518-10-19 00:20] falls asleep +[1518-05-12 23:52] Guard #3361 begins shift +[1518-09-26 00:27] falls asleep +[1518-09-05 00:00] Guard #3023 begins shift +[1518-11-22 23:58] Guard #2719 begins shift +[1518-09-12 00:00] falls asleep +[1518-08-06 00:34] wakes up +[1518-06-20 00:43] falls asleep +[1518-06-08 00:59] wakes up +[1518-08-28 00:03] falls asleep +[1518-09-02 00:08] falls asleep +[1518-08-29 00:56] wakes up +[1518-07-01 00:56] wakes up +[1518-04-13 00:00] Guard #2719 begins shift +[1518-05-29 00:55] wakes up +[1518-04-14 00:54] falls asleep +[1518-04-20 00:26] falls asleep +[1518-06-20 00:50] wakes up +[1518-09-01 00:52] falls asleep +[1518-11-10 00:21] falls asleep +[1518-06-18 00:26] falls asleep +[1518-07-23 00:26] falls asleep +[1518-08-18 00:41] wakes up +[1518-07-29 00:20] wakes up +[1518-03-21 00:31] wakes up +[1518-04-14 00:55] wakes up +[1518-08-01 00:35] falls asleep +[1518-08-13 00:07] falls asleep +[1518-06-04 00:03] falls asleep +[1518-06-01 00:00] Guard #2857 begins shift +[1518-07-20 00:18] falls asleep +[1518-05-09 00:02] Guard #3011 begins shift +[1518-10-27 00:37] falls asleep +[1518-07-30 23:59] Guard #2719 begins shift +[1518-05-13 00:00] falls asleep +[1518-03-24 00:29] wakes up +[1518-10-25 00:49] falls asleep +[1518-03-31 00:36] wakes up +[1518-11-17 00:08] falls asleep +[1518-05-26 00:01] falls asleep +[1518-07-21 23:57] Guard #149 begins shift +[1518-06-18 00:36] falls asleep +[1518-07-09 00:34] falls asleep +[1518-06-03 00:43] falls asleep +[1518-04-15 00:38] falls asleep +[1518-06-24 23:56] Guard #2719 begins shift +[1518-07-25 00:29] falls asleep +[1518-03-21 00:05] falls asleep +[1518-10-20 00:04] Guard #1163 begins shift +[1518-04-27 00:51] wakes up +[1518-07-07 00:02] Guard #2843 begins shift +[1518-07-18 00:58] wakes up +[1518-04-11 00:04] Guard #2719 begins shift +[1518-08-17 00:57] wakes up +[1518-11-11 00:57] wakes up +[1518-06-18 00:48] wakes up +[1518-11-11 00:42] wakes up +[1518-06-21 00:55] falls asleep +[1518-10-12 00:54] wakes up +[1518-08-15 00:47] wakes up +[1518-06-24 00:57] falls asleep +[1518-10-14 00:16] falls asleep +[1518-03-28 00:30] wakes up +[1518-05-26 00:47] wakes up +[1518-06-02 00:04] Guard #743 begins shift +[1518-04-12 00:01] Guard #2927 begins shift +[1518-07-18 00:00] Guard #3083 begins shift +[1518-08-11 00:31] wakes up +[1518-06-27 00:33] falls asleep +[1518-08-10 00:51] wakes up +[1518-04-27 00:26] falls asleep +[1518-07-01 00:37] wakes up +[1518-07-01 00:00] Guard #2017 begins shift +[1518-10-26 00:58] wakes up +[1518-11-17 00:53] wakes up +[1518-06-23 23:56] Guard #3089 begins shift +[1518-07-27 00:38] wakes up +[1518-11-17 00:39] wakes up +[1518-04-14 00:29] wakes up +[1518-05-26 00:53] wakes up +[1518-07-27 00:02] Guard #2857 begins shift +[1518-08-07 00:06] falls asleep +[1518-08-23 00:57] wakes up +[1518-07-22 00:30] falls asleep +[1518-08-01 00:04] Guard #653 begins shift +[1518-04-08 00:33] wakes up +[1518-08-17 00:00] Guard #3023 begins shift +[1518-03-13 00:09] falls asleep +[1518-04-24 00:29] falls asleep +[1518-05-28 00:07] falls asleep +[1518-08-08 00:08] falls asleep +[1518-07-10 00:56] wakes up +[1518-03-12 23:56] Guard #881 begins shift +[1518-03-11 00:09] falls asleep +[1518-09-08 00:04] falls asleep +[1518-08-01 23:59] Guard #3119 begins shift +[1518-06-19 00:08] falls asleep +[1518-05-04 00:51] wakes up +[1518-10-13 00:35] wakes up +[1518-06-11 00:00] Guard #2027 begins shift +[1518-05-01 00:47] falls asleep +[1518-08-15 00:29] falls asleep +[1518-06-28 00:14] falls asleep +[1518-09-26 23:58] Guard #1163 begins shift +[1518-10-10 00:54] wakes up +[1518-08-25 00:53] wakes up +[1518-07-31 00:37] wakes up +[1518-09-18 00:48] falls asleep +[1518-07-09 00:47] wakes up +[1518-11-17 00:23] falls asleep +[1518-08-26 00:03] Guard #2719 begins shift +[1518-06-17 00:40] wakes up +[1518-06-08 00:29] wakes up +[1518-03-24 00:03] Guard #1657 begins shift +[1518-09-26 00:52] wakes up +[1518-08-14 23:59] Guard #2843 begins shift +[1518-08-06 00:01] Guard #149 begins shift +[1518-11-23 00:22] falls asleep +[1518-10-19 00:45] wakes up +[1518-09-27 00:49] wakes up +[1518-06-26 00:20] falls asleep +[1518-09-07 00:57] wakes up +[1518-11-14 00:04] Guard #743 begins shift +[1518-03-16 00:12] wakes up +[1518-09-18 00:54] wakes up +[1518-10-29 23:58] Guard #3119 begins shift +[1518-04-13 23:49] Guard #1013 begins shift +[1518-09-19 00:47] falls asleep +[1518-11-07 23:58] Guard #3119 begins shift +[1518-06-21 00:00] Guard #881 begins shift +[1518-09-01 00:53] wakes up +[1518-03-20 23:50] Guard #881 begins shift +[1518-09-10 00:55] wakes up +[1518-07-29 00:34] falls asleep +[1518-09-05 00:18] falls asleep +[1518-07-03 00:58] wakes up +[1518-04-28 00:52] wakes up +[1518-08-08 00:33] wakes up +[1518-04-22 00:00] falls asleep +[1518-03-19 00:15] wakes up +[1518-08-14 00:52] wakes up +[1518-07-11 00:56] wakes up +[1518-07-14 23:56] Guard #2017 begins shift +[1518-08-04 23:57] Guard #2027 begins shift +[1518-07-03 00:55] falls asleep +[1518-10-30 00:24] falls asleep +[1518-11-07 00:09] falls asleep +[1518-05-12 00:22] falls asleep +[1518-08-17 23:59] Guard #743 begins shift +[1518-08-23 00:50] falls asleep +[1518-10-29 00:04] Guard #1163 begins shift +[1518-07-04 00:54] wakes up +[1518-03-16 00:59] wakes up +[1518-08-25 00:14] falls asleep +[1518-10-30 23:52] Guard #2843 begins shift +[1518-05-17 00:54] wakes up +[1518-06-04 00:38] wakes up +[1518-05-16 00:46] wakes up +[1518-09-08 00:43] wakes up +[1518-09-01 00:21] falls asleep +[1518-06-17 23:59] Guard #1013 begins shift +[1518-09-27 23:59] Guard #3119 begins shift +[1518-05-17 00:03] Guard #1657 begins shift +[1518-04-21 23:46] Guard #2843 begins shift +[1518-09-11 00:35] falls asleep +[1518-10-01 00:31] wakes up +[1518-08-12 00:39] wakes up +[1518-10-04 00:01] Guard #1013 begins shift +[1518-08-02 23:50] Guard #1657 begins shift +[1518-05-04 00:36] falls asleep +[1518-06-05 00:39] falls asleep +[1518-07-04 00:36] wakes up +[1518-05-19 00:53] falls asleep +[1518-10-07 00:59] wakes up +[1518-06-30 00:49] falls asleep +[1518-06-17 00:18] wakes up +[1518-06-25 00:39] wakes up +[1518-09-28 00:31] falls asleep +[1518-08-24 00:24] wakes up +[1518-08-10 00:08] falls asleep +[1518-04-06 00:02] Guard #1163 begins shift +[1518-04-11 00:38] wakes up +[1518-07-02 00:52] wakes up +[1518-07-07 00:57] wakes up +[1518-04-30 00:15] falls asleep +[1518-04-17 00:48] wakes up +[1518-03-16 00:25] falls asleep +[1518-10-06 00:40] wakes up +[1518-10-13 00:00] falls asleep +[1518-05-30 23:56] Guard #2857 begins shift +[1518-06-06 00:54] wakes up +[1518-04-15 00:57] wakes up +[1518-06-21 00:57] wakes up +[1518-10-24 23:51] Guard #149 begins shift +[1518-03-26 00:44] wakes up +[1518-08-31 00:52] wakes up +[1518-03-28 00:51] falls asleep +[1518-10-25 23:47] Guard #3023 begins shift +[1518-07-14 00:52] wakes up +[1518-05-09 00:19] falls asleep +[1518-10-06 00:18] falls asleep +[1518-08-10 00:18] wakes up +[1518-05-19 00:28] wakes up +[1518-08-04 00:36] wakes up +[1518-06-13 00:49] falls asleep +[1518-04-16 00:09] falls asleep +[1518-05-20 00:38] wakes up +[1518-04-24 00:01] Guard #2719 begins shift +[1518-05-10 00:58] wakes up +[1518-11-23 00:41] wakes up +[1518-04-17 00:21] falls asleep +[1518-11-21 00:00] falls asleep +[1518-08-29 00:15] falls asleep +[1518-08-19 23:57] Guard #2843 begins shift +[1518-11-01 00:59] wakes up +[1518-05-03 00:00] Guard #2857 begins shift +[1518-10-02 00:32] wakes up +[1518-08-07 23:57] Guard #3089 begins shift +[1518-10-29 00:51] falls asleep +[1518-03-17 00:08] falls asleep +[1518-03-19 00:32] falls asleep +[1518-07-30 00:41] wakes up +[1518-07-14 00:11] falls asleep +[1518-07-16 00:04] Guard #2927 begins shift +[1518-03-14 00:30] falls asleep +[1518-10-05 00:46] wakes up +[1518-08-06 23:57] Guard #1993 begins shift +[1518-04-23 00:44] falls asleep +[1518-10-18 00:26] wakes up +[1518-04-15 00:52] wakes up +[1518-04-01 00:03] Guard #2719 begins shift +[1518-11-05 00:00] Guard #149 begins shift +[1518-05-07 00:17] falls asleep +[1518-10-10 00:00] Guard #3361 begins shift +[1518-07-28 00:00] Guard #743 begins shift +[1518-03-31 00:34] falls asleep +[1518-05-05 00:11] falls asleep +[1518-07-29 00:16] falls asleep +[1518-08-21 23:50] Guard #2927 begins shift +[1518-03-22 00:49] falls asleep +[1518-06-07 23:56] Guard #1163 begins shift +[1518-10-15 00:00] Guard #2027 begins shift +[1518-08-24 00:34] falls asleep +[1518-07-28 00:41] falls asleep +[1518-11-13 00:49] wakes up +[1518-07-02 00:32] falls asleep +[1518-09-21 00:17] falls asleep +[1518-09-02 00:00] Guard #3011 begins shift +[1518-04-15 00:02] falls asleep +[1518-09-26 00:00] Guard #1657 begins shift +[1518-05-03 00:12] falls asleep +[1518-09-09 00:44] wakes up +[1518-04-04 00:36] wakes up +[1518-05-23 23:59] Guard #3083 begins shift +[1518-04-07 00:58] wakes up +[1518-05-18 00:53] wakes up +[1518-05-15 00:56] wakes up +[1518-08-17 00:25] falls asleep +[1518-05-13 00:39] wakes up +[1518-06-24 00:18] falls asleep +[1518-04-07 00:50] wakes up +[1518-05-17 00:32] wakes up +[1518-06-19 00:32] wakes up +[1518-07-09 00:01] Guard #2719 begins shift +[1518-03-13 00:53] wakes up +[1518-06-02 00:44] wakes up +[1518-10-31 00:01] falls asleep +[1518-10-05 00:00] Guard #1013 begins shift +[1518-06-25 00:36] falls asleep +[1518-05-08 00:37] wakes up +[1518-07-02 00:49] falls asleep +[1518-05-12 00:55] wakes up +[1518-05-21 00:00] Guard #3023 begins shift +[1518-07-04 00:51] falls asleep +[1518-08-25 00:02] Guard #3011 begins shift +[1518-10-29 00:52] wakes up +[1518-04-03 00:50] wakes up +[1518-04-16 00:43] falls asleep +[1518-11-06 00:28] falls asleep +[1518-04-10 00:05] falls asleep +[1518-06-19 00:15] wakes up +[1518-04-14 00:06] wakes up +[1518-06-27 00:34] wakes up +[1518-05-27 00:52] wakes up +[1518-10-05 00:59] wakes up +[1518-09-19 00:58] wakes up +[1518-05-31 00:11] wakes up +[1518-09-14 00:59] wakes up +[1518-10-28 00:35] falls asleep +[1518-08-11 00:04] Guard #1163 begins shift +[1518-08-29 00:04] Guard #881 begins shift +[1518-09-25 00:22] falls asleep +[1518-06-30 00:04] Guard #1657 begins shift +[1518-05-04 00:56] wakes up +[1518-11-07 00:13] wakes up +[1518-06-30 00:19] falls asleep +[1518-08-22 00:09] wakes up +[1518-08-18 00:55] wakes up +[1518-05-28 00:46] wakes up +[1518-09-04 00:10] falls asleep +[1518-08-30 00:43] wakes up +[1518-03-11 00:32] wakes up +[1518-04-27 00:00] Guard #743 begins shift +[1518-10-20 00:26] wakes up +[1518-05-20 00:00] Guard #743 begins shift +[1518-04-03 23:59] Guard #3011 begins shift +[1518-07-29 00:59] wakes up +[1518-07-17 00:10] wakes up +[1518-04-07 00:04] Guard #2843 begins shift +[1518-07-15 00:52] wakes up +[1518-11-22 00:19] falls asleep +[1518-04-23 00:48] wakes up +[1518-07-19 00:52] wakes up +[1518-04-07 23:57] Guard #1163 begins shift +[1518-07-08 00:01] Guard #1993 begins shift +[1518-07-23 00:46] wakes up +[1518-07-21 00:01] Guard #3119 begins shift +[1518-03-16 00:03] Guard #3083 begins shift +[1518-03-28 00:56] wakes up +[1518-09-30 00:09] falls asleep +[1518-09-07 00:02] Guard #2017 begins shift +[1518-07-10 00:01] Guard #1993 begins shift +[1518-10-15 00:53] wakes up +[1518-10-08 00:18] falls asleep +[1518-06-26 00:54] wakes up +[1518-03-12 00:36] falls asleep +[1518-03-16 00:06] falls asleep +[1518-08-06 00:47] wakes up +[1518-10-22 00:29] wakes up +[1518-09-02 00:58] wakes up +[1518-07-18 00:12] falls asleep +[1518-09-19 23:58] Guard #1013 begins shift +[1518-08-31 00:10] falls asleep +[1518-03-24 00:18] falls asleep +[1518-04-18 00:30] wakes up +[1518-11-09 00:30] falls asleep +[1518-05-21 00:38] falls asleep +[1518-10-29 00:23] wakes up +[1518-10-23 00:00] Guard #2027 begins shift +[1518-10-09 00:09] falls asleep +[1518-09-11 00:53] falls asleep +[1518-07-04 00:32] falls asleep +[1518-07-31 00:32] falls asleep +[1518-09-01 00:58] wakes up +[1518-07-24 00:50] wakes up +[1518-07-26 00:49] falls asleep +[1518-11-18 00:15] falls asleep +[1518-04-13 00:31] falls asleep +[1518-09-03 00:22] wakes up +[1518-08-30 23:58] Guard #3361 begins shift +[1518-04-30 00:52] wakes up +[1518-06-15 00:56] falls asleep +[1518-07-02 00:56] falls asleep +[1518-04-19 23:56] Guard #1657 begins shift +[1518-10-09 00:03] Guard #1657 begins shift +[1518-10-07 00:02] Guard #1163 begins shift +[1518-05-24 00:29] falls asleep +[1518-05-23 00:06] falls asleep +[1518-07-10 23:58] Guard #1993 begins shift +[1518-07-03 00:00] Guard #743 begins shift +[1518-06-14 00:54] falls asleep +[1518-09-19 00:39] falls asleep +[1518-07-19 00:01] Guard #2017 begins shift +[1518-11-11 00:18] falls asleep +[1518-04-17 00:02] Guard #1013 begins shift +[1518-05-02 00:56] wakes up +[1518-08-29 00:55] falls asleep +[1518-11-17 00:11] wakes up +[1518-04-02 00:28] falls asleep +[1518-04-28 23:57] Guard #3083 begins shift +[1518-07-28 00:28] wakes up +[1518-09-22 00:47] wakes up +[1518-03-20 00:00] Guard #1657 begins shift +[1518-07-20 00:25] wakes up +[1518-09-06 00:52] wakes up +[1518-10-18 00:38] wakes up +[1518-07-24 00:25] falls asleep +[1518-11-07 00:02] Guard #149 begins shift +[1518-08-15 00:52] falls asleep +[1518-10-20 00:12] falls asleep +[1518-04-09 00:56] wakes up +[1518-09-26 00:18] wakes up +[1518-09-06 00:02] falls asleep +[1518-03-14 00:03] Guard #149 begins shift +[1518-06-06 00:38] falls asleep +[1518-11-13 00:44] falls asleep +[1518-10-23 23:57] Guard #1153 begins shift +[1518-10-28 00:50] falls asleep +[1518-05-14 00:57] wakes up +[1518-09-13 00:36] falls asleep +[1518-09-25 00:42] wakes up +[1518-11-22 00:51] wakes up +[1518-05-09 00:35] wakes up +[1518-10-31 23:59] Guard #2927 begins shift +[1518-11-14 00:26] wakes up +[1518-07-27 00:33] falls asleep +[1518-11-02 00:55] wakes up +[1518-04-08 23:58] Guard #3119 begins shift +[1518-11-16 00:08] falls asleep +[1518-09-30 00:37] falls asleep +[1518-04-10 00:59] wakes up +[1518-10-15 00:10] falls asleep +[1518-08-02 00:58] wakes up +[1518-07-05 00:59] wakes up +[1518-05-05 00:45] falls asleep +[1518-04-06 00:10] falls asleep +[1518-10-18 00:11] falls asleep +[1518-07-12 00:00] Guard #149 begins shift +[1518-06-24 00:40] wakes up +[1518-09-05 00:28] wakes up +[1518-03-18 00:38] wakes up +[1518-10-18 00:36] falls asleep +[1518-11-16 00:19] wakes up +[1518-08-05 00:06] falls asleep +[1518-04-26 00:00] Guard #3083 begins shift +[1518-03-22 00:52] wakes up +[1518-10-21 00:23] falls asleep +[1518-04-02 00:47] falls asleep +[1518-04-20 00:41] wakes up +[1518-11-19 23:57] Guard #1013 begins shift +[1518-09-26 00:58] wakes up +[1518-06-26 00:00] Guard #2927 begins shift +[1518-09-01 00:01] Guard #1657 begins shift +[1518-10-22 00:44] wakes up +[1518-11-20 00:50] falls asleep +[1518-10-25 00:41] wakes up +[1518-11-02 00:12] falls asleep +[1518-06-22 00:28] wakes up +[1518-11-04 00:39] wakes up +[1518-05-27 00:04] Guard #653 begins shift +[1518-07-24 00:46] falls asleep +[1518-11-14 00:08] falls asleep +[1518-03-19 00:40] wakes up +[1518-09-03 00:50] wakes up +[1518-07-16 00:59] wakes up +[1518-11-12 00:45] wakes up +[1518-10-11 00:17] falls asleep +[1518-10-30 00:40] wakes up +[1518-08-03 00:00] falls asleep +[1518-03-18 00:46] wakes up +[1518-08-06 00:44] falls asleep +[1518-10-11 00:50] wakes up +[1518-05-21 00:57] wakes up +[1518-09-01 00:43] wakes up +[1518-09-11 00:00] Guard #3011 begins shift +[1518-09-13 00:55] wakes up +[1518-10-27 00:04] Guard #149 begins shift +[1518-05-02 00:03] Guard #149 begins shift +[1518-09-14 00:00] Guard #3119 begins shift +[1518-07-08 00:14] falls asleep +[1518-06-02 00:28] falls asleep +[1518-03-19 00:57] wakes up +[1518-08-13 00:22] wakes up +[1518-05-01 00:04] Guard #653 begins shift +[1518-06-19 00:23] falls asleep +[1518-11-18 00:02] Guard #3011 begins shift +[1518-11-13 00:17] falls asleep +[1518-07-22 00:50] falls asleep +[1518-04-15 00:55] falls asleep +[1518-07-02 00:58] wakes up +[1518-03-28 00:28] falls asleep +[1518-07-01 00:50] falls asleep +[1518-05-31 00:35] falls asleep +[1518-05-13 00:27] wakes up +[1518-10-17 00:05] falls asleep +[1518-06-15 00:57] wakes up +[1518-11-10 00:45] wakes up +[1518-04-04 00:18] falls asleep +[1518-09-20 23:57] Guard #743 begins shift +[1518-10-29 00:11] falls asleep +[1518-05-01 00:25] falls asleep +[1518-11-22 00:40] wakes up +[1518-11-13 00:02] falls asleep +[1518-09-11 00:50] wakes up +[1518-09-12 23:56] Guard #653 begins shift +[1518-07-11 00:38] wakes up +[1518-03-22 23:59] Guard #659 begins shift +[1518-04-09 00:18] falls asleep +[1518-08-23 23:53] Guard #2927 begins shift +[1518-07-02 00:04] Guard #1993 begins shift +[1518-08-21 00:00] Guard #1993 begins shift +[1518-10-05 00:53] falls asleep +[1518-03-22 00:14] falls asleep +[1518-09-06 00:15] wakes up +[1518-09-24 00:57] falls asleep +[1518-08-14 00:03] falls asleep +[1518-05-25 00:41] falls asleep +[1518-04-23 00:28] wakes up +[1518-04-12 00:45] wakes up +[1518-05-10 00:14] falls asleep +[1518-03-26 23:54] Guard #3023 begins shift +[1518-05-11 00:54] wakes up +[1518-11-05 00:29] falls asleep +[1518-10-03 00:34] wakes up +[1518-04-09 23:50] Guard #653 begins shift +[1518-04-28 00:22] wakes up +[1518-07-07 00:08] falls asleep +[1518-03-28 00:01] Guard #2927 begins shift +[1518-07-05 23:58] Guard #1153 begins shift +[1518-11-23 00:37] falls asleep +[1518-09-05 00:59] wakes up +[1518-04-10 00:56] falls asleep +[1518-11-18 00:44] falls asleep +[1518-10-08 00:39] falls asleep +[1518-09-10 00:02] Guard #2017 begins shift +[1518-03-19 00:02] falls asleep +[1518-04-01 00:07] falls asleep +[1518-10-05 23:57] Guard #3023 begins shift +[1518-11-01 00:46] falls asleep +[1518-07-03 00:34] falls asleep +[1518-10-23 00:18] falls asleep +[1518-07-07 00:46] wakes up +[1518-07-26 00:07] falls asleep +[1518-08-27 00:04] Guard #3011 begins shift +[1518-04-08 00:17] falls asleep +[1518-05-22 00:56] wakes up +[1518-10-22 00:36] falls asleep +[1518-04-14 00:02] falls asleep +[1518-07-25 00:37] wakes up +[1518-08-03 23:50] Guard #2843 begins shift +[1518-03-31 00:56] wakes up +[1518-07-04 00:00] Guard #3023 begins shift +[1518-11-16 00:00] Guard #2027 begins shift +[1518-03-27 00:01] falls asleep +[1518-09-01 00:57] falls asleep +[1518-11-22 00:49] falls asleep +[1518-07-05 00:38] falls asleep +[1518-05-27 00:29] falls asleep +[1518-08-12 00:32] falls asleep +[1518-05-22 00:34] falls asleep +[1518-05-11 00:21] falls asleep +[1518-06-19 23:52] Guard #2927 begins shift +[1518-04-23 00:26] falls asleep +[1518-03-11 23:56] Guard #1993 begins shift +[1518-08-16 00:14] falls asleep +[1518-10-30 00:56] wakes up +[1518-03-18 00:43] falls asleep +[1518-11-03 23:58] Guard #881 begins shift +[1518-03-14 00:39] wakes up +[1518-09-12 00:57] wakes up +[1518-11-17 00:47] falls asleep +[1518-04-16 00:38] wakes up +[1518-09-23 00:54] falls asleep +[1518-08-20 00:39] wakes up +[1518-06-08 00:25] falls asleep +[1518-03-20 00:10] falls asleep +[1518-07-01 00:21] falls asleep +[1518-03-24 00:44] wakes up +[1518-07-17 00:59] wakes up +[1518-06-23 00:38] wakes up +[1518-04-02 00:02] Guard #2857 begins shift +[1518-07-15 00:51] falls asleep +[1518-09-11 23:52] Guard #1163 begins shift +[1518-04-26 00:40] falls asleep +[1518-03-29 00:20] falls asleep +[1518-07-30 00:00] Guard #3361 begins shift +[1518-06-05 00:49] wakes up +[1518-10-26 00:00] falls asleep +[1518-07-03 00:51] wakes up +[1518-10-12 00:46] falls asleep +[1518-10-21 00:57] wakes up +[1518-07-25 00:02] falls asleep +[1518-04-15 23:56] Guard #3119 begins shift +[1518-10-17 00:19] wakes up +[1518-06-05 00:45] falls asleep +[1518-07-28 00:17] falls asleep +[1518-06-22 00:43] falls asleep +[1518-07-25 00:24] wakes up +[1518-09-20 00:40] falls asleep +[1518-07-17 00:00] Guard #743 begins shift +[1518-03-16 23:59] Guard #2017 begins shift +[1518-09-05 00:36] falls asleep +[1518-08-11 00:14] falls asleep +[1518-04-12 00:48] falls asleep +[1518-05-20 00:23] falls asleep +[1518-04-11 00:33] falls asleep +[1518-09-08 23:58] Guard #1163 begins shift +[1518-09-09 00:09] falls asleep +[1518-04-02 00:40] wakes up +[1518-06-11 00:54] wakes up +[1518-09-05 23:50] Guard #2017 begins shift +[1518-11-22 00:04] falls asleep +[1518-04-29 00:19] wakes up +[1518-05-19 00:57] wakes up +[1518-05-26 00:34] wakes up +[1518-05-17 00:10] falls asleep +[1518-04-01 00:54] wakes up +[1518-04-18 00:00] Guard #3083 begins shift +[1518-04-25 00:59] wakes up +[1518-06-22 00:02] Guard #2027 begins shift +[1518-08-20 00:34] falls asleep +[1518-05-25 00:00] Guard #3023 begins shift +[1518-07-20 00:03] Guard #3011 begins shift +[1518-03-27 00:59] wakes up +[1518-06-05 00:42] wakes up +[1518-08-19 00:19] falls asleep +[1518-11-23 00:32] wakes up +[1518-04-12 00:26] falls asleep +[1518-10-10 00:39] falls asleep +[1518-11-15 00:51] wakes up +[1518-09-27 00:38] wakes up +[1518-10-12 23:53] Guard #653 begins shift +[1518-05-03 00:25] falls asleep +[1518-10-09 00:49] wakes up +[1518-11-08 00:30] falls asleep +[1518-05-26 00:50] falls asleep +[1518-11-13 00:41] wakes up +[1518-09-30 00:41] wakes up +[1518-04-14 00:22] falls asleep +[1518-05-04 00:54] falls asleep +[1518-05-05 00:03] Guard #2027 begins shift +[1518-04-05 00:44] wakes up +[1518-07-24 00:42] wakes up +[1518-06-07 00:08] wakes up +[1518-10-02 00:00] falls asleep +[1518-06-12 00:16] falls asleep +[1518-04-10 00:34] wakes up +[1518-07-13 00:02] Guard #2719 begins shift +[1518-04-21 00:03] Guard #881 begins shift +[1518-10-11 00:04] Guard #2927 begins shift +[1518-06-02 23:56] Guard #3011 begins shift +[1518-03-12 00:38] wakes up +[1518-06-26 23:48] Guard #3023 begins shift +[1518-05-16 00:07] falls asleep +[1518-04-28 00:48] falls asleep +[1518-05-22 00:02] Guard #881 begins shift +[1518-03-18 23:48] Guard #3089 begins shift +[1518-08-08 00:57] wakes up +[1518-09-21 00:21] wakes up +[1518-04-29 23:58] Guard #2843 begins shift +[1518-03-17 00:52] wakes up +[1518-06-10 00:00] Guard #563 begins shift +[1518-09-28 00:57] wakes up +[1518-05-16 00:22] wakes up +[1518-04-03 00:13] falls asleep +[1518-10-04 00:44] wakes up +[1518-06-27 00:01] falls asleep +[1518-06-26 00:49] wakes up +[1518-05-29 00:28] falls asleep +[1518-06-29 00:56] wakes up +[1518-11-20 00:21] falls asleep +[1518-10-03 00:07] falls asleep +[1518-05-16 00:00] Guard #1993 begins shift +[1518-09-06 00:34] falls asleep +[1518-05-17 00:38] falls asleep +[1518-07-28 23:56] Guard #2857 begins shift +[1518-06-13 00:54] wakes up +[1518-06-01 00:30] falls asleep +[1518-11-09 00:57] wakes up +[1518-11-22 00:06] wakes up +[1518-10-04 00:09] falls asleep +[1518-10-19 00:00] Guard #3023 begins shift +[1518-11-09 23:58] Guard #881 begins shift +[1518-10-28 00:02] Guard #2719 begins shift +[1518-04-13 00:45] wakes up +[1518-05-15 00:35] falls asleep +[1518-10-12 00:00] Guard #3119 begins shift +[1518-04-07 00:46] falls asleep +[1518-03-29 00:03] Guard #2027 begins shift +[1518-03-24 00:43] falls asleep +[1518-04-26 00:49] wakes up +[1518-09-26 00:15] falls asleep +[1518-08-24 00:40] wakes up +[1518-04-14 23:54] Guard #2857 begins shift +[1518-03-20 00:32] wakes up +[1518-10-13 00:50] falls asleep +[1518-11-12 23:48] Guard #3119 begins shift +[1518-07-07 00:56] falls asleep +[1518-10-21 00:03] Guard #3023 begins shift +[1518-08-15 00:53] wakes up +[1518-05-07 00:55] wakes up +[1518-08-08 00:53] falls asleep +[1518-08-02 00:49] falls asleep +[1518-11-18 00:56] wakes up +[1518-10-30 00:50] falls asleep +[1518-11-18 00:41] wakes up +[1518-05-30 00:16] falls asleep +[1518-06-28 00:00] Guard #3011 begins shift +[1518-09-23 00:17] falls asleep +[1518-10-26 00:54] falls asleep +[1518-10-08 00:31] falls asleep +[1518-06-04 23:59] Guard #149 begins shift +[1518-09-07 00:08] falls asleep +[1518-06-03 23:52] Guard #1993 begins shift +[1518-07-21 00:14] falls asleep +[1518-06-13 00:00] Guard #2927 begins shift +[1518-07-24 23:48] Guard #149 begins shift +[1518-10-08 00:25] wakes up +[1518-10-03 00:03] Guard #743 begins shift +[1518-05-09 23:57] Guard #2027 begins shift +[1518-06-21 00:49] wakes up +[1518-07-13 00:34] falls asleep +[1518-03-26 00:13] falls asleep +[1518-05-12 00:28] wakes up +[1518-09-27 00:42] falls asleep +[1518-05-29 00:04] Guard #2719 begins shift +[1518-05-13 23:56] Guard #3011 begins shift +[1518-10-28 00:56] wakes up +[1518-07-02 00:37] wakes up +[1518-06-17 00:32] falls asleep +[1518-05-13 00:36] falls asleep +[1518-04-25 00:46] falls asleep +[1518-06-07 00:01] falls asleep +[1518-10-13 00:59] wakes up +[1518-11-09 00:02] Guard #3011 begins shift +[1518-09-26 00:57] falls asleep +[1518-09-11 00:54] wakes up +[1518-05-14 00:29] falls asleep +[1518-08-02 00:29] falls asleep +[1518-08-24 00:00] falls asleep +[1518-11-13 00:13] wakes up +[1518-05-05 00:56] wakes up +[1518-06-22 23:54] Guard #2843 begins shift +[1518-08-07 00:48] wakes up +[1518-11-19 00:00] Guard #659 begins shift +[1518-07-22 00:34] wakes up +[1518-03-29 00:54] wakes up +[1518-10-07 00:30] falls asleep +[1518-11-21 23:51] Guard #1013 begins shift +[1518-10-18 00:03] Guard #2027 begins shift +[1518-03-25 00:56] wakes up +[1518-07-16 00:38] falls asleep +[1518-06-12 00:59] wakes up +[1518-10-14 00:00] Guard #2027 begins shift +[1518-05-11 00:52] falls asleep +[1518-06-15 00:49] wakes up \ No newline at end of file