From 48d8b8fcfd9dd2828f71e0f377e6fd27579b0c8f Mon Sep 17 00:00:00 2001 From: JamesFlare Date: Wed, 26 Mar 2025 12:59:54 -0400 Subject: [PATCH] add solution for lab07 --- .vscode/launch.json | 14 +++++++++++ labs/maps/checkpoint1.cpp | 43 ++++++++++++++++++++++++++++++++++ labs/maps/checkpoint2 | Bin 0 -> 111824 bytes labs/maps/checkpoint2.cpp | 48 ++++++++++++++++++++++++++++++++++++++ labs/maps/input.txt | 1 + labs/maps/phonebook2 | Bin 0 -> 194368 bytes labs/maps/phonebook2.cpp | 42 +++++++++++++++++++++++++++++++++ 7 files changed, 148 insertions(+) create mode 100644 labs/maps/checkpoint1.cpp create mode 100755 labs/maps/checkpoint2 create mode 100644 labs/maps/checkpoint2.cpp create mode 100644 labs/maps/input.txt create mode 100755 labs/maps/phonebook2 create mode 100644 labs/maps/phonebook2.cpp diff --git a/.vscode/launch.json b/.vscode/launch.json index e0a4ead..71daa57 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -104,6 +104,20 @@ "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "preLaunchTask": "C/C++: g++ build active file" + }, + { + "name": "lab07", + "type": "cppdbg", + "request": "launch", + "program": "${fileDirname}/${fileBasenameNoExtension}", + "args": [ + "input.txt" + ], + "cwd": "${fileDirname}", + "environment": [], + "MIMode": "gdb", + "miDebuggerPath": "/usr/bin/gdb", + "preLaunchTask": "C/C++: g++ build single active file" } ] } diff --git a/labs/maps/checkpoint1.cpp b/labs/maps/checkpoint1.cpp new file mode 100644 index 0000000..80762f6 --- /dev/null +++ b/labs/maps/checkpoint1.cpp @@ -0,0 +1,43 @@ +#include +#include +#include +using namespace std; + +int main(int argc, char* argv[]) { + if (argc != 2) { + cerr << "Usage: " << argv[0] << " inputfile" << endl; + return 1; + } + + ifstream fin(argv[1]); + if (!fin) { + cerr << "Error opening file " << argv[1] << endl; + return 1; + } + + // Use operator[] to count frequency of each integer. + map counts; + int number; + while (fin >> number) { + counts[number] = counts[number] + 1; + } + + // Find the maximum frequency. + int maxCount = 0; + for (map::iterator it = counts.begin(); it != counts.end(); ++it) { + if (it->second > maxCount) { + maxCount = it->second; + } + } + + // Print all numbers with frequency equal to maxCount. + cout << "Modes: "; + for (map::iterator it = counts.begin(); it != counts.end(); ++it) { + if (it->second == maxCount) { + cout << it->first << " "; + } + } + cout << endl; + + return 0; +} diff --git a/labs/maps/checkpoint2 b/labs/maps/checkpoint2 new file mode 100755 index 0000000000000000000000000000000000000000..86be206548ec679ae5f4f571ea18d28fe9cb2b99 GIT binary patch literal 111824 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

aCU)-WEf ziy1N8tU7seZ_F|S;_e7y!|D`-F$~$)f(dNFsFXS-j^l`N0g=>m5-#GJ%fjO&F7pIZ zPy#ofnGd)$w$CD*eh26@7dD#T*aApd>>$j#y%0OVLt0M3beTFmt|&&&VrK%GO4L6V zX{1PkbFG!gw_1eg<({I3=3CFq2ecW{+gwP6!m10cu2^WQdw}is@aIr2$8?pIgI1{i z32eWI$5TI(K1*F|E$NB@5)tZK;M_Z+3oL19ne|q;IgU&+EN9`;GGZs?*u}7Osnv8M zY~%qeaB*F8DYs(fl6tvy1cS4h0Ibx-6_YhaO~pzq_4m-b>iC5FAdbM0bVjUtu?s|tgHtdv(+`S~M(lG)q)Ahi`43d) z5RS4jZvZ@de7s?#b&X4VVi6?MC#l$1P)&WBp$(?bP}VmkSgeGAbY;>#aWi6LI{=%k zT5u^4LvTv@xyEcY5Hlq^Vn2#gQj1TSS7ppo4;O22a$T^|*9ovyrK}=!Mz-?R#QRcN zZe5u3M&&&qRIRK%ZP8N@bDb+>G>Sh5(3Q%%b-H0t<4G4%6x2Cr={ksD*rBW;>z zZxPzVeg{LZuW3*FThQ3;8x5mLnrb>?IL5U^RC3C=5J&E2f5lDNxiO8gIA5biqGpxd zGv1nm#$xwsczP4Og5w;s6Wyml$%KW*_epT0;mcfY=S(DBV^0^l!G1w#wf%+AOKo)~ z@y&JN74=EPfjW6@Zl-3e| zETur`&nedkJ)SaA=r1Wth5njyKWVdRHdpe#X4CC4lS#|%Swd&p=Lwx^FtZwZ9TN&$coB`DqVbM-p49ER86v)t(WF-EduFm;jo0Q#!=BGXo%fiEGu)T~)#7%Rc9!)1Pe zTp1<*0~*iW6P)^Ub&q7UJjMh*D~Q zT@fQ@G9p^FZw0w0RmKTq6$cn+jkSM;v@dI%&DW&9tnvDBAZv;pH`5v88zgfK^A=D>-)kCSdIFxgdp@41D*_Lp&{fb@%Mf`X zF0(-yI9dB7ww;NE;IJ;VC-N=lS$7~RuL=@(Ao2lEzBi)6<6Yiml^E}Xi0a!6b(Dzd zCXw@Nt6^Ov?dujG{Ge5thniz*-@(rBw3SS5J!ZdC*|JVxb=Z1y3udSEA6+o#?ZS=5 zOD{$8{V&Fi+y-@5XE|nsXDX0R#g_P6IPfn1sN!n99ug z!lb5Njp52%7`SgO4itpwJGc}BhP8yoX1BQ##8}cmhZNOP zkSDEwu@Y!~Afb0V6OGqnUYk94E}I<`gsU z2^b)ikgURGZbMRrMji_6MxWY<*ehK`-6HUJ1(19yFcm}E9e^J2;5!I!R9u{zuLkn+ zaT2GCVck360%X6z}?I6ZPXRR(k?^{13b2_2quzTgSCi2R|y#6sk9|%C@N(~ zFm?kJbkDgb*yJBH+w6AKL_&i%W8XxLcA;N=fjbdw@SaUeM&LiWVBQxd*!j)AV0x>> z;3fDO9&EkI3_J%pCB`(~M1l?P1uyg#&SqI zGFz4PYfCMY1H6wX^94diI+wl;{;n*(^DajCY!9bZtliEBK1emn9D~P2VAYhTcP5p( zi7})`<7T9_h5dZ=ZjTmbnr5U7pNg%6Q%$jB)%4U@v+&ts2(%Y$ER@ zu>{tt6$rnZ!~&$h2S+qmtYR0Si3L&MB({In0#WfR1G+@#a!?eP(hLG!_5aj}p%b$g z6rj+73+zYfwl-K;sFWMpz+E*~D$1tDA^I#_rXQs+G<1`79Y#-8iRklONQH=xW-AQb z*68Oo7={tC6>v>mk!p3r1jyWLJ;!C-y)LLbsu9xx5ow_+K=$=2mTS1!<4DZDO~tW# z8vQc|4A$6x+h`d7gzRx#DhWxcSjZZ&9Wj2}H>x<=i6IzUeLi9yR5E^P^?xfX7AtM4 z_lHtgU6D0nmt(T9?@@8)M0Agrncz3ddT}v+LgYzPSEtzML-@>YWm@;QfGPworcf%q z(dgrI0d+O47su+1-r_;AGco}^t%59}k$nl8AuC~e6I8;+(O}$4_!UbowI4zs;xfn6 ztXm1`s7>`9qJMWGbq;a261o)|#&kraz-S9xqOC7>N^}=P&Mp9}4 z5|bkvdx-= z>}^5p^)8|=AlzCMZ?x{fY17S(%zPcw`PU{xM|9r5YJA29uK$jC-OS9Jrb~f?d#9MKIF|*8c z_6HS1z@NDWQ62DZ9#bzP)JEJc3#()!aq~fy%~o&v2Q0-s$Fx$GI6}K1`52`o16h4A zvYFjYYs50pHxU1C7gMxpWbNt!V2){RgbU2?5cPYMz%le{bBSqf#RIb0ID>051ZZ7b zxJ+fE8JSO;&FLd}LsqHxtJAnFG5uGdWajgx6~MsuG_!mr)Tg>8j8?J?eL%J6I@FPV z$+Ws+K`TP*A-Rdt;xGU3!3e%;S_3;d*8U3YZqJ&=-!QF=Qb+$eU@wRDyJB5rzGGU; zF=9(@J_mLvtS|Wcrgi!dM?cUMBP%W^{q-#Bho*IPw&U*8fOQDtlh6^(PfV)-PLnz- z1U8bmR7a~UR^CIZJqIPzFVbJ2s?T+V7DMv9u(f?0@cx6!ZH$4OnYJr z;W#^0j<4IRs7U2sJP6#2!NAuu9KC6fTy!eE?^-~zi?3S=hCkKhvo+w-LxBN(wfMDA zxz|&p6QwS6cWm+-W+$_KC@^q@mfj1=ck4>C3XLW!nMm(Y;93-ixj2IB7f(>jT#^f! z3w_qZmacftz0GlHcf4{A?4<9V0RC(%a9S2-0AK?=T-(?^6ZkwUaQAqf&LrUT>&WQr zvzZu8MEU|Na2$&PdU69KuctHz0BOF`BJ~X0+zp(CO%WKI)rVfhh*~6Q0aF z;cPtSv)(@s8gBvotd4*-k}gGh%4fYb#V~$`Ks+0V4Dz%hbESG654?t!eBNh$f(a!I3}fWWg9V!JW?XCp`Er#@?558Y7Ihrm7~E(5d1 zzw}vGU}9m@P`?B7W`vlD)$Cb;OVv+mIJ}A zzPvYO6nFwpD&}`SYb3f2h16`^Dk-g}h=G*u=F8h3mj20S1vY3QbqyqID6PxYuNuK$ zd{&a*v9=4?W1cm?;3s?*$3`Zi-ofny;#&U~OthxYZ#7({*RtwIV842JD?aa-&CGQ9 zg2Vp_CUMj9Tkj%o6jH76q{+92jx|2Ln6}@FM@tcW2(S?zp2gPz<{>L^3vgA6__@TS znXzV#^l2l(?+gW|UWAvWz&3d}{p#RPgaYxHb+!ZBSqE1lkTUxL)z zbtDZf^pM}0ioV6sPkjS{IH$} zo)Gh-GnTc0rTffp-7pDJC6Fk0r3^nGaLxUp01uZCE31KB;^KO^(?Xwz0$N zxQ{}tO-E?^VDR6D0`J2|QVB0YfSb@Fh5j)U{11NX0Zf#V+}9BJnL<(y{zqFtDG9OP*!mO#iL`{HB0q!7H)Z*sg_3V8KyyWdz=X+o{{w-Ub%nGg5xTfR;FCmroezOcb%n%ItCcfgsi!aQOP1V!ZZf!= z1J+bDTZ*d(aeKnkJAgJ}w7P)fNe^G#VNn^z+Ik{j{e6Q|TVFu@+qx?Lv&KN^jeyk_ zQ-(AS8v|PgE?s`e;^`j1JkjRMa|~xfmQ3vZ{*kIu41d7HyFbFD6FjB%S!Vn9bxBg8RZD zehfUFho%&NEwaF=DgGvmOMKunVro8* z%nl`xo=zxHS#Kd+gV;Mcsc-vD4zA=2MON;;%^oXV7G2y?{bI1ljj- z9iVm|?aC`L)2|xyrAiZiOK7IyTVxFHlxcuW#o}^gd3J>vQf;_0jbVI~$0i^qQ(1AS zvjMQz6OsL>Aeq*1Yh_vJU6h}QtIUP<*E>x%FwKt2`X|~3O{@UE#+5NN+)Y_EfNA1d zT(`NfHgQG<>vV`p)UJ?cWLvfFh#nwsVf3pXX1W`WsWOJF--KHt8f~{XR^T=stDbH> zQ8(F7Vnj&I{>DBZV^Ej8KB)BKg)?w0RpQ|0cm;j$>Iqrt@KXp-5-QU}g#F4o;x~+gK-J5Td)`p59bbmbFor7MNovYF* z89ZYbGtgCaA(znPyP@EED{C*N+V5chEX0=3qU1c>WzK{RR#bcJ zLWIQeL=3sl0e#z(kbH=Z!Vi5YUT4*+2bu`*?_C+)dS`OcJwTJt1aBzwYu)Ru;d;rSsJ?2&|-#k4-U= zkHWs&I&&J5MY<2$lCsa#BI;Ji-Q^lI68X68`)fDOPg-`qvU*?~qlkJ9x3?)Pc4f)# zTdF#&(Wd?b{5{0y)c!}xdTvA$i(`k-uT22(^`0@X_Db+{fJnFI@4N>sMVva%J8L`4_%-|Qh~PeB*d;rv@}Nz zz)%T|-arc}!D@9<<}%E;BaW*xS?2g=o7Sv3T29RcxReT#RaTuNw9vHpbrg-MEx29p z3F-21J?Oh9j*CBk@>+!PqV~{WEvKG>@GG7|Qx-)Ft-$M8c!|ACeF1?VJt1i|5t6NZ z)@l@6RzC@7l^M8nCR@;4BDeASDmrk~jv=P)xA$4CFdvK7P{fY$w6dv{B{}Wyv({iL zRy07E=WCJS5gv{$21?FU3+YD zBo9F9P#sDAz~_s@!^})aD1ffQEttB{Ou-TAh^JgI(lpycAkPz$n$gJ>_^mI|rzB%% zK%m4Ek|Ib&%WUkM=C^JIsJIz*jVHxX(~!qT-+aHd5i0?84Zs>#z(^bo5BcUa<+@Vd zf%umCEo+e$QBOne1Vat>;%c14%~+^rTR@#rydj>U+{}U4EA1rZEth5+%e(Oy5_2>-S+! za!VnwmO|lPE6<@mU%*<7HL*DEdI;PeWr>fNz9s?d>I)r9dm!*~lqC`B5U>Vc>{$97 z0!N}O@e$Kk6tM1_>pX|XV5UmO6`3ayDi2uev8I&g&@K?@O`!-EOdJGDIX*KElkF7< ztEmu}jVu1uDcBu?^^P_v&l}!C$ot+f&wXUb3qLZf!5o==ZxUK%n=bYmRHDp~ZF;01 z$1EG@gz30V??yKv2}6e4HhHOhbrX0g1fWmSZUDjNcbQ=NCti=Z&k^whF7t8@RSYT0 z=()5_PqCUJ@`Dmr!D%W5NjAkL3PvX12(=kzH9r^YE-L2%>O=S{_Vi4?c55@zT7fx6 zY>x*t*@I{Bty-Hi_G9cNdMNY$k!xrP?7ooisbe_S_T}Nr+^cfA`W}N^+bO0M!m32w1*_^++&;u*{=66* zr%m-cLdF*L17%Z8YbBhjet<|rn1~WnAEC*pgB!?n$D!%&t6CCk z7=ytNr?nw$4eq|GbI@3(B6hZm=ryOiuPPml`vO20yRaHgZFgVQ`6$w8MBD`UZ*@h) zb$VM0_EoWrMhyLt_Bk@HQtl7Neh5zQ^m!ndD!-gayJxn89goDuG0E(_&AMDyqo=y% z%4VAY-vXC8HL_f1t-&;a*a8=+TdwPx;V}?Ui3_V~k>xtJ&@g5pVj18I>xxLZSR82* zx?Id{TBA|SJNAolDDieM&7;|7+|hoQ9BVZ^|xcQB>HQO97*2PJbU>?kqj z?O=Kh%`p{ND-V~U%j+-)(M;ArtuOFlp3I%F7~a9O1#1?{lmegY$Lg8&ge1?r7c& zY(3kCg4uZH^Q7fjTvGJ54LySajWJJ9=th>^+cuPh?#;Zs=RtiQM60k*DD!QsLmQ!# zaG>7cE-$!D#ON1Xx@>$sq~E4(RjbROnPi&(SQeob7DLxrjc0*ic7dINWUo+#>}1*Z z$8GG3y&USk=HxyMHD`48gXWXz_;LcNRpBykWv-hKA@Y#9cs1UDA(lT>6hwEatHfaT zF1!Xbj5~on=;G>5s>@iB{r9Ba7)tIz#LIx+sVkz>e#D&A4gY8W&<`Gb4yxE_&IjP^ zC(TEi;Ry(tZj4JZpdOI?@tch7m(0wS7&`%V^I#@twB#GN?6=}4pcLFRH4^X`SHx&} za|@vF#`VO~kWHil$N~=?cnqG)KG3EZ85-EA6ycBC$jcCUPmx_1mj#bzX08EHWZiiQ z`~y{W4{i_A#^0H~{G=#*^yL})IqW3>`#dm{k7?P(>6sXyIeDmqfWGnIl#X$L$0uI6 z7}os#(1LN9+$C$IbRaa*Dw&6v=7?_ZLb_VC>J;nCfxrg<8{y*WDeB9wsj_ESm!E+( zIwH*Jz$@#@Xd5f6^Ef5119qi{hu=M=@Hm(33$16)f)KYDJ?IJ1uF+hfT-n>Kp%XFx z1A4=QB_GYXJvjSTs~qkB3qXfm*tlA~jiqq*j%=o7m;v$sXSst=7vVi*5$~rsHdwi+ zZ2JuRdmAIlZG+%Y&NM}+C2ywTo-?Ca)f!;!*2QiGWN{y2yA6#wo}~VW(X8Fo))LI3 z6M&tMOTEl;SiNAn-R6d0gNaX8c=HT#!%`O^w!hsQa%tR4Dx2;38crvO&Gyb<=WIW- zQZT%=yWXbZwAJgWa7{3lizuz|mtYdt53=rLz{s9)CWJ7dUp62-@wHunZU8!vFXi01yWa1m3L&%#;ZXA>i!f8Y262HtJdp!iY(vq`r@Cv{6R!b~^ zN)2NgV&~&Br-4zjM^|qyyvA=mhgp&`8-Q>1WMn_FJUr+(+DtvI#%%)6f%BSxvp`%Z zD@7wscAv52UwJ|(x%Yy6T&V#|uj7e8+|zKNYY9T!$R#D8M4{B{;U4pQ->bv$ZVE^{ zh$;q*KF2WJnb#`ce3bnRM$7O*Oa#;p(eH&WVjlOc%hdW6p8l-KtFVKl3;O0PE|z=p zompxwRwThu0sB(4AEe8TAY+nl~eL6&e-t z`qu?`mVpR=?(el2)ep)>ssU>dF;O%wO%}K!?67L7h}@kcBJ+_6wnsiUiWOPU+((hv zUtuNXhM@fc%F}4f>Bv=qvK}>cuAYQKM6UY2ya`Qjurn!iSn?&rS?rG>_Bk%|i$yS* zxqm6%X0Np3kfJ!{cR+q3 z!qd&b{z5Ihh{APboZvD&0PkyxxR zmikSJ$xR#jh{_kE19m*!6agN5AbL(Vf5!~nah%2`dl)VB#BW8h@aeeKj5R=Mou?#d zWi4ROWkC+=Z1Ly>oujdz!s{Ks(b4ww&S1K$hNDpYJ(Q7WHFAoq5#(78_8n^>)lN(C zum$asC{cSUYNq39N=jlPtavkm-D%CHhH z?mPabv2qtP?EDdko~r%CLmsqsG3+?&NDva+%-AnM=`0=rp{v4i*0n7m(AXy}g6Bdg zwiu@le`7V2YxAEIlO{t&Mb-$G;@0SfG)V0=W3K{b5JTGH;xoG#L)cnm^RPPM&8 zcQd!Inz6Syxt&Z&NiUqJ%~#YN=WA0uNkI!ph8j&g7ud^Y>?ly?<(j&d&bm5y zc8ZdlG+SNm{K0R+BN$9NmPto=mqJo!%z=@xA9G>HIa1X;{UV$>BjK(VfYu4b12H0@ zR1D7@&lH0^BO}tF(GSpL(hhlSMue6fgMq5!c%NVuo|;#?ig7rJqzJ`SRrB#pk|j*w zp>B8v3CT$&MxY_OS*I9b{DJc^eRQ&g2?qQzU}A-d4J^q36DLeU;LLeo;)Q7(cm#uI zCw<;cYG4V<*eOAfrhx~~1d}LCR-pH4FpXpRQ{lFO1~!=FhHTb3MocC0nb5lv3iFYa zB^x=GavBNOL9k=FIA$ngJx?nZ(?~cw8~A+j=}cEkyGY}U*o~)%{)SWN+t0ANCh7X# zK>?|635g$drL$@iu3$&lBN=?9PEv-w9WLm&LNy$KEY*4#Lq?D}wjZFtY8B5#4i7ES zSrmbU&SwF8U$V$^Od^UXxcwA$?@@{L9Ivph9t@iX0|A(|pNAJaKA=y?;3ni~xr94< zL*Qa5z!h~95?|T>q%T_NVTvcFNKZHH`IyN%`gHV5o?Yp0TJO3g5U`Y#fG4X<2qS zi0Q9mtQO#rD<=u;!(h=dK@0FK7A+vXPFpx}2?QqVF3m$)q-+@K&r3o4)n@EMPaNAq zLy&!v@<)IwhK$5%@sKG<=i^1<^JqiX0C}sgbxWx15!`8D$AZ8=2X@58>ozbx8@dfF7QUgFO2#5E3zyl0u3*S(UTh80X90ZxB2Rk?VuM;< z13TvuZBYFSu^&^ArSKZq)t74cXCNm$G=*Zvv zo`kVGahW+pnhVm;DngkaL+oA`QO}{Kjh0Q$g<^qqyAR(EgZ~Kd=dOr@4zcE~f;lwU z-+=g#w%MDeTk@?~Op$fl>ALS{0BJ!~64vPH)>Qb9-$M2RGQiV~=%D-=r(xgT2lcyF zHO89L-~g?Me7%Bb&x!p}mBL|FhE~oCikP>8fRG4hXkx%JT!QyRaU~Y1fzwhM4n_gjIG_JI)t&0%ul!0;>)|cxL?%rr5Cx@9cTaGmZO@LSF{ou6we z5xzDITY>)Zq`&F1wwnb^p!qWF21#KX)rnPGBCU!-w5wrZh#k z*)@nS?cOcO1C9cpuEjeuePE^$__{3^ePCuV&~Gl7{&K2iLSSYgm?6TX2A1JLs(Ya@ zS%HseV5l%{17Fd=Fkx~6y=b6FnEU|JH@XiOrXVmGqht3G!eF1oMld6TeB3M!*kn!@ zW=x=(%xGc829BX8cP|!ZT);r_yN?xSeBkBQV8#nGA;6!!c0XH~iGiO-f|(-BnSu4R zRwB%#!1uIPCd^rZU#EhZF3jY>URo;`=Ip?kv^GzeDS;noZN4y5jf4>9;O;Bp`4sgn z94X_5e*HA3&Dnrfru>HJAWxGDS{Mej#>EW89+h`9^;U z`wi<5MDhj%LXav*$Q$CD(;43ac`AkRY&=?JsDy)tH5Vdz!vcM^%4nZ|sa|91RL)4^ zSg2KsB@C4SMDoT27CqI(6^2+Xk+2!=gA}BU@z9b zcQa!9`r>PlAkV!DXG@m(`gRMmQzOglyeYnTdYNZq>6#Hg+n=N1<*hZP)_7i)PSk#X zEuzoyHKdoHU^HDUH^Uw?57;gG?H!NQ5*10%u)k$Z-J@Si@R%+AWZ}IOGwjM15csR} z>TlA?0{N42ATZR&Gr1HC7hRki)PLyLrDhzD>(Z0c*cT@w>UsT~n*Rcs7ZgwLQXJNe z1b(@mw^ZD{iLsI&hKwLvYeFvZ`^CjP<1377^9jYMy}XCz{7Ihu6^+~ZOMy4hh2nO9 z5islv@ZKcve(emN5vE@-$OMcPF(%!9vmtPo*5i{?_>GfczsDMw=4-|WBR)+W_Uh^orJgV1^fbePr=8tFm5Dl zq3PAKz<8xD)a*wzpoAVV3Ev|=&~m0>^oW&XdyPN`EKYjFHRS2V=v^P9W%P*mQT;}> z2bG-EA--E}7hoaOSFjLLaz-+b@0Bx>sfBR2U_XR9F*GF(p`HkdAWumX!6d`t0<-7% zM$AJDpy zqN91#nqyT>6J3Lv>Um5@H^3k$(TX7>$c);XsaLG~ zAJ1#kO+bbV$+Eqz1q4hLPp*gp(s+3@>}(8jJ#RJTwGIz=i|#PmLLW+nv;`jh7PjDI z@(nDcdcLSL$ur?}CZ)&gL83uN2>hl6c($w-V8{qgWhpLP4uMxq=|Q!wfMIWB;Y_W^ zL*;aOV_#x=K^>hxbRn45KAtfr88Z^*VyNl4O&rV<=bTt<6e%7|r}N5gj{OzLYtPg5Fu}v>!k8WskzG7>_JnVHJ|+%NXt)I7 zf6C~{)9j>n47;s`*cx4c4;US;uON>mi(zDl2hfGcT3^C&ezsnN%-M|fd`@~0Gi>l; zEQ}KViU)-Jo1|bo{7t`OKLP_r!ukxz_LSG}JP%GozY26Qq3(^y@Q66aNq5lJ^@-Hx z@Ahe0m17|n zk`NEe%HVJGgS^G?^r{d;6@Gu>XK-AQ?+ikGV-u7;%zPFLk`0j!^7N+=Z$Z8o2tCT1 zgpM<0r2yc2h8RBeh4@$=`hPc5a z$RlQAc!o@nhpfc#0GJTtLZ9N6!MNa01bD(qh)1$ykj>ziNFm;W{83EIT|`sJ@)Vbt z-DG)2K550?92Di?K zZf1x((?e}?5#sjmAipe);SaxpFSbL7zb^~%CtE>o!wYeHV2Gg%K3!#qi@7r`#Qk+4 z3BBD50KZ`m@)pA_Xd#AVZI!`>8{~G-Aa}loxSc7~AGaVkXk_pfl90HQJCB0gppn5_ zNN(JE5#*1GGI$HgjlZo5^7mdL{+uevG(zhb;!cAQcR++B#GR)Z+#V6+Ehe!P07HYg z(9Z!U!@Fe!`IsBSh#;TdV|pW$LC0k9i`CF&Y=dkeA-3cY&*%zXUjVsjklU_4yFfpl z598^N_pZV=NJMYN)p%VhURtm>4Vwe#qclAKBYH<2D8w!@J8K*|)5Q(0pN{?ifb}@b z*KtPbzffsvRr=J1I+ZU73v#o%Isl8xgs*N@ITJMApv+M>g6xqoJiwvw5Qxpj8( zl|oC6dGay@nT^44bBSXGLxp3d31Z_|1p`V&&q(4cqS1)$@5qkyWS1kh?i(V?={H1T zqa}P`Zk^PI#jv&~a?~-m7T>O{?U~(KBy(#K{5Km3`~`}yqV4drKoivG%ZQCIG#iF0 z@oqL<-j;1G?antiuz!cTQ+?{gh<<*PUZ`9=Ve_TeS5V&Nm~^TLCVz5G_L02JHj-|D zYzmsta!0nmm;6A)MkSAOT-1cE+T2=-+*EC9EdfTBOIP!Qj<#Y2A>%X zj>@M6GzBB{CKb8Ggg@@(C#=|NhNC#HG^|K#RP4n~mC^s_1f>(5$UT)45u@8d!;+FR zZoX{FeWS1eej)imPKoE+h8gQLhDn$_6Olsne^ya7Pr;tH^qR^FTdL%#c3rp;6xCt$ zx)1^WlA52cnxMwx%3a-WRLig~a`BDo!u@a1g>BgSM)lXWCKUdL#XS>RS?E`P0iE>xobwT!CaUL2{+d!1$&>faD`!aY6F|CdJ9a9560CI?ox zGHF37^WFj|a;Hygr|99zJmM;HSaua@jf%PRq1bRHwx&3GDW1zZB35!Yt5jrB(&a|z z8h>+sK|)t2@j$wfkUE^Lm0EhblU&^qPRUyEFw9ECUV#hF(}!Nl826GMkgNgp4>e*`L@ zx^v8yP6>?`{N2gNkP1{d)yH-()yJMA)t6E#HHIdK>KmdNG&xk?a4^PcOe9!_uXtf1 z`afK$nsKKzoXj*?eP0PJP5wzJs&5U3??upw{@+N0un_|!H}kWRLysYm4dkqwFOU|Fy`V*bzIUs zI1->kFUOCORI59Pj-b}htI#4K)BYrzBN3ZS6RiJ`&{88e0Sk^fWE^>vRz9lcFNl>q z%!e+&0{9wum3;G()!`Da3`j&)C^xUIYN*Vds;i>ky|>S za1@*|53RsI&sFH7np0aRejayv=4u|jkB6GIf~4u_Kc>@#{xrmTtpW=-o%npq8D9#( z!`6JOvu*^^pwVh7twt<~)OzlDXnbp7=P**?Cp_a^R@XXaCmXW&AU68nftEY4gbSkFIQ;@n(rTDwZ1U-(a3j%1=uyvvmn=Um8mUZyD|VsEX)+ z^QUS?d$LKsbXT^;)p%e&8wlQ*>!!uUurY$dpP^PZf=2%bK~=LAvB}h8a!Jpk_3Q)_ z>tqk3uzXa_Q3Y!}9~T`^xf# z54i3sgt=lNLwEOwBDWA$%U`wY|s-`hw#jUw+%i_^!-4Gl7&m~n&fh+4wxJD9Bxhg?y^gpIlHJc-4 zoxvV`Y`w}R*uJX)RReGw{Vr`9f+3J>Uc~wi@YPBR=vSmqaxh2_B)Uq*4@>E@2-Kw~{ zs#R63#U={Kgw+t6Ojr`f5W<8Bn7|MYnaB(oGLr-{z{#1D5KiVKLm06J62~TlIUz9L zzuf!odtICQDSf1R@7;Iz`|tmM?|bVOtUprYA2-GNo4nsOutK|{Pb2k3P$T+-Fv5RO zkdSJ(LURLBh(wt4v~zm7Xv4?7UfK!xA!PqN{<8#1Aj~2RApwv038XNOA`ymOTM3kR z0p3il^&LZO1FrFpwgM!ojVfMAZDMv-evGfDR$k^S2+Q}u1b3iJ{By9WXZItO2Xhzt zKr?&$`+<$)I{J|FTtq$rynQjwv(Mo?bY{tKAZPruw5ex5V%o7YP5b!2fYc4z78X=z znu7eD2^RK>ef}FL;GZ;?F4`inkg`4edGz+*aFea+#Qr@VyxyM!)qMq$ZZXM(;32@@ zOxf>+d~+Drzg;U0@0AM}&L~n>QgMdXUXYqoc&OpOg;u97$~}$VzZ=)jYF!&`UGGQg zN-EBEt;PH2@$hN<=enL|$fr!dx)1yh*GpQ(-L{IaBXuQ}qADJyeGvbMhyREFTm_G~ zi}oLMku9b2N!%UE)bSQ0T8ry?{6FGVXh-!Sy59mtydPKkB*~E@N4y1>fT&&f;^{F; zqGQifbmKkzPP}*x?yC6DZ7s@SBXjD*;8UAQH{C^frZ-?MehqiCcT${r6Vbo)?YyC4 zns!_K3FR}JD9-#Ci@knV20+RIcsVAy8u9SxUP%hpinmbyod#ifsjET%MPe0*RH?5MF z&uE^vYo4A>HqXf~YMxJN9;)Nk@V(bdXC3_k3Vsp)d3Fgm9KfP+E=ijSq(=KQ<8FG4nY7KP*A1BcNESqI4qjr@>GroGhf-bXo!E^S!m-+etO+Oq7* zS0O3odm{keG+hQU&PL4v<~QF+No_rRh(Ysb4&c;#Q` z@eAY}>86j*&)*QC>~`&Zv`Cot|Yi4 zK)lUeZ%E_ROx3m($o0O!NI?cK<<2Z%FB7(}4BLxA)Kqz!RH0;r}}DYFPWk=NVh zbfxz?>G1AwbOMWz_WhUq1qZ0aR+KoH*0~tA&C6;4_gs*; zpI>7{8R`L6i{A^l95UcSEj~a&!glycTj7?e{UA0B)P6=(rZ>-Ap~yafHD1GY!WXzCWQW!Q@p|VH8bZ zVs^-gsg0A1QZzCMIs%0>FOSG9I3s)IHm1G=t&i^JDOyFCa2?bo(??G530N#Bym~hv zM#w!?`x-9E)E_nj)A@B4r3AKqb{-1dvuIK8ype7$+uKEje~z&QJSQ*>Zq$Ohx;?!f zp(Fs#&#*Q`yw37yHZl~^L%1hpy;*Ouzl00n&6^nN{TomDo${iStX|#{6 zRNN`iqK;VJBgAFuEudJ!96Ybg4+8NtCzU?$P&WuPq*^LVNoNF2Hlgc43P{2NGW4pp zJazMu?nRl6>o-2UdUL2k@F& z3jjb{0y{WhmZ+d%XmCl`IZ*=35QkHUY&xS$xN^S`ePIL*&$}3X!E;W%_(h&m?Uo^7 zuTOSMU?2c;0^q zOX-qZ;`6Jfdw4+{hr0J}8d{fI;d@d_qtIPy;Js3zE~2bFrN1wAHyWm>VzLMPdTJ$p zpAGY(G%W|^{Ee_nNVO34Tq=|nJ%maP0?mk>e}LDS$P~>iA}LaW&hqp@`=sRHx3qQ= zS*5)XAxj3!Vx&uWosh>(p|4IB$r#7aS-u+s8FIB`RC~F z7xA<3opkpe{G|Pqw;+9qL`3{$em9l!7rx{#J)Fk5=BasUZ2Mi1HhN;_dAwcs1ApoJ zegB1YCd}|hrudhTVf|-b@Yf#pH$3UDJM6D~(#g62br}^m^DBPprSwv%Ba0VCo6fvH zYhK{sNW9n&T;RU_msIq{n0fKBw0SYl--Ht10T9yP>aNSa{|*1PXZ+pi`&anOx_bRJ zzv-`i-e1u5jPG|H_O~7JcX&8JJ-tKTc7M?Kzv=hC%D=wr8_51BGG6jG9Pw|s;@`Z- zU%JO%bHyKcwZHy3e_huVzq{)fsPO!B-wJ=h{LI2j{&q|ZN-f>$FTdii+2b#G+Fy6X zUvg;!>LAU)%Y%%CyXgTAEvn_luaUpB}><23$& z%rkhq;Ir~7%TsT>4VkaPT(ZrUA{_jLn)Wk)y(HylyY~5uxA_~ozThu=+3)Jw>aX|( z-+v-KFGMHfWy$;!f7v(u{;mms@Njxnn8kRdGT*^~dtdf% zen}>a&JG(j#w;3$5{6kdmcrZ}rn%!~Tjl`t$KJ z{SK_e_Vl7~sK&3E`MS==E)=|5XG7N5xJWZ!#(1~dH73X~j@Zn*0GB&n@OLS6%W#ZK zH}f{U9elyx8F_0Q#hD+>18R2N!@bXTZFM2fIG!_q1DF_j!9Ng_i`Uii>1rSDnNCZMYYf4@QzBIyX z6AF;|H4JPO@LEB20k5J7ILN#+gW@16t1kQNA9d-131P@QjRqFH?5}xV2ECBWo1lrz zpJKj2HTo@Pk7?Dv5+H$LevPv6|_uOm2_@NdT@{T06p7m%S9_xsD<4QScwzv8sN_$7ZHrs=vP zn5_wa{s;Wt&-hyapofv+vcCWv1IbI?57P7%pa^Pva{d(;%1l5^<_F-R{^rbzE5u{6 z-!Mo=>t*6|GVcTMqZ{A$hiV{1jLzvv?p8XzWd+qf|1f?tb${{vSNf~(^KW_s;Afkk zz2q->!7S(X1mZ$uO$bqh$UetJ_Bj{WOte$xJDAxuUB~=ButWgP$J5ymUrabv=J$|k z7Z!KZ6@R#EkGp;*IxBN;%I|x@@3)c(VT=j&%6uH<_rC1ka@ilYJcHKPM44s2gbZC> z9|TM4_J_JY@Aq8x)0u@|@#ke8pYXeXiHYdEr-0pq=>_3nO}JZw!77jmZkkBE%tvSQ zg!%pobi@SvWj==-z2Hp?FZ;JW=kL7Y&e``!rNCe2`%y|Mm|&tBGrtP<3Pf5Tp_Dhl z4aH>}(oqwF*_cwAXwJ+BF-xmn@HcABi1z{K>%J1=jy!=2k` z;DY`p>NxX1iQK;I4=Va+d1xlCIrASe;mdy@jS8JM!PA*1@v1v>U02=Drf*s;9hWR7 z7CZAlkY(V%`q>YRx}Sd9pZ^dMq7AR|Z_6xv)ZYUpo9#6v z3204RdglG8w-0jO!Ylr~!^l_{+>w!)NcYTtNBzVPbkPJ&O*DPxCBRz`CVl;3f8Hg( z_emnwxVcj#qEe+i*~34@a@`AF{m^KAJ3fUnQY?L73;;bg`ifPEK3Euf)iswy;>-YP$jn9XuW@1Fj^=T^7Z~& zePnbX7>>4qgyH_d;K5*Kdb&^z#ws)A@!{hrw%t@1lq=%}E=kF@9Zn9$(5Dll{eg6% zf2S=}tfRm6N;Nu)1A|<5gG#*Mc)iNC(7BGP_+Xs9BD9Bf)rgK&F-_EQSH+}A4=JTaOt~z{{>OV4Cx1FEEOz$#XvbA;6d=&@3 zqdt5s#1>3JpU@o_*#saPXe9j%uOnEZO%r5?p@CI)Q*M!;}xl$H%K zF~J1jv|6YIV>1(yr~NDp70b0kl_3~-f=&Zzb{ERIF^sl2G4g1wiare$YZ!VN@Gz6F z7x8KYP;&Sr#<=5bt~65^2K*CrH3HMYV0dhJc(8t9x`4s&=g#jAg30nskUxLEe+U~8 zO2D?lcraC%LdPSMJG>JZlp7x>D7i>qHKN=yv_=?1I2lY~cBf{hhL0Z^)tO2HS%V5B zJmrZhLg2zU$c({{{{H;wTot4xSFG1Y^20mJm3mO9OkgdGAt)NS2CD6;)yMC;i^$j> zkhgnq{<7dr|9}gkG3058^bDLsn9k_}!9Ne}+5-B{Do7)dRn(4U&IQ1?FzD$z%1D3PL$(t3(fUA0av6w&kcI*{M|TAX zdK04hnxFLmK*dTeKuURv5PvFn-UAGVeM>~AKmc^UJ0+(B3d8;VM3jr*B$(D_xaLyx zF{Q^K7w7V|{PYDH28ctU?#+}Z3-vtakx@3NpRQKUq26&JQU)LzA+y_n84HM3`^D(* zFICQ2KFG`#GYtro)l7m|L?ZH)=?g>zv6hJuRftILydfeDc{9Km@Ce`_cnm;X|A+5^E9 zfoiEx_Hdp_1=3ixFafq!&MOJDe3}F(#)sQCgBTtFIXwwx9!!nrY=g{p9a=LIr!B*~ zG>eFUQ^$`m{1YeM5d?+v`2utB0HmjXd*pElodg~kgibVh1B9E!$love8Aw73 z*%9hYiiM$$$>dt__6LLUYGsW*+o}oP_fnw#Q`eFCEH0R0Zxn@ z3(ggRZ{xXo&YJ*$p3BRnHk)TE8&AY4MXIHBW;qd`8X^)RLT@X`8yF!O>*!cNWZ7dU z126?6aan;GGav%>hxk9(mVNz%QF|j@7_HPH2g`A9lFqnXf4wkzEhoIszHCC%vKwG3+ zi70R=BNnHoOC#tfgOGsAP;jidnwPxsAy7#O`o#QZYv>Txtw^B~1?yadw4{MY073we z0dCHq2XGOH4WW+MD=mDI86Maz{1S2#DV)J+Kxr^jE}oew1Xxs8Q#s@e^ zP+O*^d9`Y=g;VoX3-y_5IVKTxGNFcRIObB)f;G7jTI(yTqQx2|fNG5nJ)sdS$u!M2 z(>LM6%%5#baYH?si@f^jqDmvO*n~|X&RE;M5^A#1jKJ{#R-@voQ0tS^EbdY_+Q?@4 zvty8p8qF@z{Lc84(eOa1#pVCZcteQ&PqRyi1eLOP zW(E{32+rkCk4b%TQ|=&}qmJi~AIU>v4r=vWo%DBO`@mDB9KfLf)k00`c;2RUB~egk zF=3E-GK}!vKj@ zB=N8mVkHY2*k~|T%He{+~w+%rq$|5PTIlJGJ(=WDK|+Z9=u~0&h87{XGBi}a=*ZNF^-@+FXS<0NdW%<$TYGQ;joHtUW7 zEoP=!sG`X*MplyP44*e9)Fgx&<{ffC&Q=#2^4NhUJeDa9RO;Z&Ofml$95mQ^e=*|m zk})LdDO=qc0m<0i+C&7ooh)#*dT_Q<9EX4ihFGY2MC-{qN!SdqJfOBZ%m5f7B@!S+ zwHq<+K`$kFvmDe4SQ6M2rgM4bEetVK`7A3Hx&SCR>#2!J#@`;griWSDL%m7nioCB? zsQ82zOmriWGSLybHl1sr{1HVd6(%sfAjrZ>Mgd^sIsr|{N^4pfC6*^ZERRD4m=Xup z6nm>NVeO@?A6ezv<_0}L88CJr`($JIHfw=JYw z!wR80oXaCFa*CDzgm@AM0^zf$bdDnUc5)*jqOlT)6PMyq7^>P&JwyYZdJzd`CM+pP z#vdAv&=Jxa`Z1gp5hrdFA#P_V#IYvI+A3*lu+zx6ldv{m0cHd>9HE#^p2j5A#Wnhd z99q?fxkCUsD+CBSTz5uK$f*=>lX#45)+U~;aV)4XA%=ufcLLlceG{|`3kj-)Alclw z=ja@SBuF$$N<)J=$ryM6k8_nKYN#X*Xv|xgL+f~)jVPuI%HdcLV@SmHT1dq_(pCTV^=!5Olx=k2F0p(b{SWu^67i%uiIP#>uojo^Q1@E5l;DlhM%EnuT-WQ1a zOrfT7)yE)b=ShfxK%rtc18`@3GxVH#HwwjbrkqznzFI)gS`FdPYOeRr)G9b8ZI^aIOQ4I64Yk8-{|%z`#R|okz>^8Z0yz>O`rM z6H8rZEOk)hj!A27Ej!A*v3p7uM;ERGzHNXt)JIDi4N%mmE-PH| ziZESj(HnXv&*GE~AmCObGlNjoS>7@=y%+)YM1DdrxL=D>JsL%gQuNdYj_ z4f7FJG6tHRn9RUFM^Th^;E=t{L;wrS9%(gn2hN>w3VtLLcE~hn6*X2$VR9^JluJ|> zw%WcSjjaJsqI4tPTuYV-L~M+p2lITcdLftqJtIGpgKpwWhe^Ifh;XYqns1}I?+CQ| zw?T`5LyZED1j0rU$T56EokocqJrNEq9cm~ax$JbD<5J1_r#n+x8C8hHo+kf9M|y}% zcMH>=RFp^@bO43@fEAby$vP<3qzFe#(vAaH5j8ec%c6dXCY~CK>NTO_P*0K&1HuyC zhyWn6YZt|i29_ej2wcQ*u)HIZLED2sD>Q}}ZanJ<+F>oqry(5{s%{@C`eX)r6bLaS zYq~OZgbhQt26h(b5N;Q2KGvRl5^_c6faJI%ryL6tBpqSfjQH(jOW(L$CgcJ$JURa) z!cF{r%+g}Mv7H)kNQMZB(WhJ?EftCm`7>gSm7$u6YJi~bN;~l!O=1to)X5PKcAO?8 z&jE$2G>YxEFvz>wFgDo;H+=T^$>89$L}WyF0>s$WtOmnbiP{s7!*{{9#PbtXIAJ*I zQz%LQ+^m)E<^}fau*9R{v({{h2hTpM_32jFUtVVG7O<4XoeyOBrH;Kt&rTwM5C9*}OES5AXW=|Tmh$!1ZU(Z=sb18G$r%A9%F(U?RcW?0f$i#W4bc`k-jxI4)?tI4 zNJQ9$8jCw%*$7k0Rz$$L>@f&}`$vurV`Yf%k}n>FCGO1SfPPj=gi^5t(wVqz!tL4x zV}-_~WD+PaP-t?0(VC$oh43K*KeVJs=asErlb85uT<>DBWQm z8p%PBN5+OpL1py~ux-Kv21npqG8RK9Th-hocpRb--E&rClu_GHlZG5EpIW4ta?wDN zLpm982|JsqN*uQddVi6IgytOKxP#8N5}$Wi-|^X+@jE4^&;S}61{nrGHXB?crAZyY z2`QDFiQ$?>U6?xCq+x}n@SG9SD_vQGB^o*|E6B~97mQUf8dQ6wiQsJ1f(u5li`Wts z=nvwBbM-BFkIa^DCZOYzY<`lBQ*C;F^%(mMlE;cP%SIbU9gA!SX#m5DQE*%aaX9KV;C!t+w z_AYQ(Mo7Xjwv9I8r*Wl`^X&k$$)m+GT&(2vmziuYAenGBND%Ggomh4~^w7gS2ky9| ze`imBf8Su=ww^6h^_g;E?_>csgkm0#IRMe#^Sg$&3=Q^dne5pDEnsh+OKgGt_CgsT zRw*OGYs*ZTe5hM^GeWIr3r+z+yzUkRi`St~RH`V5jHp0gMr8a!-Mg#`7u-tWm5MORbWS@3073fki=5}kPVY{GfKeZ^h0*53ln-$d_!CV7H{{q{?qmBU70?Eaa-v4~ z+%6$YHdP*NTkRD$qq@b>cc28L3ftLb7Tbd;Lmg2GSOYLRI$liP=xFa<;aH#K8DVIYF+2ZaIkq_Mv(qq{ybBqtUgN2eq zRVnhr5a?Us#caTM$-x1gfTI6s9v#9vtDBC=UL+?2FibG5Xx&N=?{uk*QVLSqSm%<8 znprKKo(^Ayi4tqZ|r3}LIin&;M`7}Rs z5LaWyL#=e`><>4Q5Ium#%sc?=YYj4uS>&Aet+!*Ti6)2kcDu1(jU+AzlT8@5n0VP+ z#C~W!oNsyt$NE^aOp^W$$#H%lz2zAMuUEZ`mP!)wwVog2^f9n`#~p;pyuV7(AaZI2 zprDZ|4ONsz47GV_AZSfvf^368`noy%RQ z1!^o!YL|!ymbN}eMP{NsLkWWwW$UzB@0`;YV%*MHA6k(}bD#tGHk~Y6qVS($ZJbX) zO&TfMV(*{IZ4TuWp@3Jq4NM@X@Ey%;_<{%*v$hI_RCdc2hzq2az*=X7)g&0T!yK1u zP-Tm5atMbdatiGhgJ>=%MgiHNAz^2)b;2Tr%=%(yfprxs1`IFez~m%7Jt+6wb(a{#MW-WpmtYp7n|I{Lj7SIAi(9N<|ICF( zBkNoujC*oAFG-5QaU3Kn)H(@LGX0v{i9ZC3f{?ZYp~@ePAsJO0WP82>8r4$p?Npiz zLpOOxFfBTwKx+cxWd=h{@&T(qS91 z#G%P7Wi^WAhzgtSkqB@i7E~tm=2&rjyqE;zwpOCDY%w0K7tTP_YcE^bK!^5I%A|&; zKb#hZMbak;M;SZG#Um;!v)72M*Mbs-mB%&bAwy*I(4UF9vDm4zVZnGV+6Wyj5ZT(| z*rHFg+-nZwn4Etu;FzcvtP{cC#wVO(#cX9EW=bnE>rK`)Jb!4Q(fLC$S3xU@4r{4L zxns`)JFHsgwgH%QkXI`R4MVjeXXt8} z2!iM6{4{G`HcUb0f)$C@vW!wH;;y{6p`X4k;&2w)>W>vLCq7v8p94k1;T0{SSK7ux z@mdwmu()Nc=^!^lR?j!Spbl*2kyE%4$f~DsC&ZElL2VM36I8@7XqTy_(9y<%X}8L7 z7@)*ix2A!hJ(W^z`1t)NMk}LqUQEQ2<4xpC6?2|YdyI^0{|)UU*tcy?5tos-J%<#Z zLE!zMt!$>PCnk(dmgQ^^Xy&=IW%ZqQLXQ~D6S|emwm6nXup0sDFz@NU82e<45XMC2 zAb2FApMl|xE3Vzq4Fofc#5J{UZp=>jNM<@n$!Jg-?m|b)VP zDL43sa57XMh}ZHr=$tq*U_#632egns*nZ&2AR$E+2+6R417>%;nU;IVWbNq9MzV!? z+$vTJeynSyK!*Wm&A=Srf~uO&za?6PaF!z*F9E%bvS`0O@w1;CVI3zL;U~(KL4&CB zWpyulEgKdIw`j}_e9o?ZVb97jhv}XTPq#+th=qn!JVVp)&JiO7MbS35nPeK>J=Jb} zSkwJD+GhK?jeRr_184*IbP$(p{lp3~529UJF}ck9(q8Dn5Stag zYl(n;89@>Z1kQ_{fM5WSAAV-lZsh=!&q4%O>0o4`PtYah#gR{?*g-i$%FdD=&BIMK zREAw@H%%uQ)GpNO1x!>pN?@+5np%^Fus198w!_PoAu@ON(20@i!)<29KAxY-TVGgj z^7(Td9jy8C$aJi>o!gVQ!!Uzr5?-06yBCaD0AYy<$J}g3VGJ2g(j7jls?9YR1KE^0 z5{1H@+uFm(@H$a1(6P3<{n$=uYbPcjAQbUoQV5PXFG+Tk-~o_h3-5E0y^WKdjj>Q* zlT^l*!{|}2&gXpE&Qzn_Sgp@{O-whyR*prFa*Ikb;C1ceibCEb3<1)Q6J0C^5?PaC zvKiKhW9Cs&mtZH+0CB%_CuK}1Y7)3$LkUbg@~IYzux>B_BAV9C4+*LKSh;ep96(ll zh~CKgv7H^MF?YI5qh;aDJ@&%c_z<1*u*>n84c{ms?||8hm5!|VEG%?nOtQPIgJ8T? z(Mb{#*TF_5djjXRwPPCKmmQjVvzEAG_m6q#W(;rpap z6f8xbc*NbTqXg?-YjY5g8%2b#b{aT2d1k_4W4W~dk}@?n3ldvP4ljT2DhlqGt`a(bLz zv7hOY<|M>L2GCc}<10Qo7>sJ-+&J`?8m}R8vo%o+pm>T)Ql6o4kR!sr@H9%dQO43u z-0Q&WQ@F>j7(HE%zVFE|X#|+bdO3U|Z*};HbQzyyzyNWB4-lZkL0t<~a20#j7M@u9 zNblLL1`i5_Q*>oK&-c1K`pbT&o3Gyc7Gy82k=s?-_v+nk*+0^|d$Z}a@^)i(lfBz- z@5b!iCB3^l`&pazw|ciXyJ4Nwa$EL(y}Kbhu6LWWZ_~Tp?DKkeF#Dq34P`g4m$Elx z59-~W*=fDon0;FBmS#U-?>?b-Kc8K1#$uXii5@3MCv zvUi`>yRW3Pi#M9WuhqMy*~j#5RrU?`?!9`qH~STv_C0%-?vYwPlgfTpZ#QSJ=-mz3 zbg#U=C40Nx-H?62-c9J;(d;Mn?%7QCp&O;hX!e78_uW+XshcG6Q1&nMZhv;w&60Lk z_PE}y$d2jV9ocv4-A7W{U7IE21KHQ>-JRLz^=@DGdwRDiyW|$hw<>#+-mSbt;v2_?<(1Q zZj)M$WZ$NDE3(h(-9dTP@Hd6jdEP($H2!h{5>j~c6tIZ?didA#2#*@&zX9oKZ<)7E z5lypmIZ8hjOW&^fKM+eFL3+wt?@f&y-fHjLujNPk^E%v7{a=gK^A^s( z%KK_8|A&#@sQFGt%AIpR_eIL>r)&DxpZzTiG|6$6XUhaMEHcimW$C}jhXIhVyaWwxA zHQjPoO@DlG9k&P`tW^Cw^EYUv*xan7V=0BzBmN#qq+cn+FK$`v! znjUZWmx1pDKTN2RceCbSyQFb{eirG}pE#brpy^gj(RyBLQqR1ljq6|AB>mwg=~bjt zf2=g7?S4wrt(>CiS2W$qoSME2Q$Y1tiA2+1tLawq(e(Ffx|J|B{TrHYG(J6?`Fs))UK78HOE_!zT8{y?K>q2%aratr};M-twQr( z(R3?wYWiKTkox2JJE7@T_SF1;py^iD)bx443+iXOM-o1x>2F0k@!vRqe7EMe@~-Cp zCsR+aB;2Cu3szA*>%H?TUum+p1nJbSm0I=1Ax$5P%|i|8jpq3&&2M!&t>?o?r*`A; z^Lv`#%Hf)S^=j#l)z&oqeoePZgr;9adZYe)Q1e?^UGu-F=~fHX^dD)uRaZ1UfP6{w zV|6J_{|M3>wfo1KKMv2|YLY*T`K9`;La6oc(e$`{_zRjIUzgv}^f=x4hNj2q)hz(2 zM*ZK5bn1`Q@3cSfM|zLmyO$RQix0;>ipFnz}dH9s(kIQ3=pqlq+S@*II>C}I#ee26&ll)I=eycZX z{wtaumn)V+uqS$TDkm8Yy}B9c)UMS;wVpGY9+!LHt?Ab6p!xqy)6;+#`r9ZM?^fJU z{qgiSA-&POd87DLa(^Fr=5u333S97zP^-hv*O!NJ4X#{R!{8}I01}L8II;>k$1A~P zsevPOPFc3&;DmHO_&Ph{{FyhpV{@`0!A@dI6twg+VwNpP8CM+&MV} z%@bU8MZ^L*S>r}t@*W)B1)rYzO6wqu=5%0aG0%nBzlkSoo20$AeDDQqjP$&%h!2=F z`d~qD|B3q^91eybI!K|80S<@_h9A(x2M(U_f`hMm=)MO>4%pJi?!SL@7&}$(+kbSJ zLQk&#ke0R~t#q;h{E*h25V}Ul+m*m7&z}x7o~RF(20>pYgO_L7i);<(et~D z*oDfUCc~EvhIgE$XoO)Z-6Uoid;Q0T)p>PnbU#NeC0I(19W9K*n<69Z=*SETWQ3O&n6_AV;HXb(`!5q z@Jf!*5flvu`Ud)TTmx95)t=+7V+0+wInbVtDvOhpWM~HV82@;zyHUE$R}zwPCvF|_ z<<1v^-PW(>yB{Xrcn)MxzXA(NGpF-2W-mwwaVJ7rocN4RKXW&0>q8Qh56`#7O3HVP zBcnO^%DyW6%Q)Wb{P_TT!fO@6nfis`EF@4`{I=2+?=2*bVQGUQ=%DAVsDQiOJwlJ# zeFG;l0P181CxY^7knjwl6fWL8$+^`!e`QOm19{lqv2+88l7mzdVkS`%-R?m?@n%wL ziw|kCYzGluzA-eG8&`p!0upej$7KCImX2$(h3^y=DP;qHT=MJV%8e1!6~Hy^3(J z^0}#4H~Hv0M_}k9Sc@RG{qA5BULUJ4dVW~^rPJ-JjHZ&0Nbvq6XKrSPjmBY+cCfVD zJ~=H%jS}H(68GA&$>B&SEPv~mU|-O+$*i%2)Zg%f7F0F~_i#_8U~bSpfYQjSL}2re zVROf0!34f{EUO11+cAxGH-3>R1BCnJg9nUdA?e7l6R6W~&m}PtL{4rvj&o)I9S$ns zg%JoL4GNH8RVdfSfDxPML9U_&XSaYT-5jfvN;tJU1enIntp^t?TSu5tkzFWR$BJ#pLN=~p>z(KDk+K9AD?cTKKR zV3-}A4(W$Zq)g0(=*$_jBd4XnnTU;3m_8I=4uj91&(Xbn31=4Iglwe2hte7;iP0Kd zYH~Gag}0@qfZrz4k1RraxkTmhj)W~tC0AP$f< zJ}Y*@(2#n^v%A2ObF>gr zBF2W0{3Zbg2M(jPD_#NAW}P$=Sp=`Ic3}$N7{wK5nez3txx=oILUr2f!@l}LA9g79 z;p3yQh~n!wVG?c38Q)SI*Ce<`@Ws+ekF%e~7fHRo@e5@%Ay@3utdVM%!VTwMK)yKPnkTX}FM8twV7RwVAbDtX< z!#+s!gsoj@NeW?3%`GK^9@ytlRShQxBO`>Z>~3)jC$3uVVgP zfBMsk8UH7=eRDPaNBA}W#rscTH3+%23RnLf9mxA2Z&RqKXctLkDlqjX~$eI;{8vY^1Em-_%ql4#!s?F)D_cz zP4?b_8=6y7-;cDsxgJ-5G3}f3X8iBb@}{2;ApV#B%ypSoOyw!WC|>?Ikw#6J`Vn#@ ze|jbOcK_n*|14g*<$JW8xlU{UO&zi7y${FAKaDt6`ZHIPUsA&`S(E+=yl~t9fR;Dc zQ*GM+gIIYJA8oE*L%gK>XWBJse~25meG`9fuDTp1JFm5Uz|9|Pd9(gz--WsEa5LjR zKL1~el{fol%=KAYu~ZZ<|G#79zd9iK%=KBt2T2X#$2@-{R=&Ph-k9qtlTokn_WuRx z2pwk}rYvUP(pQhtQ@Gyp6t-{RID^SYsJAU|_DOwP%bR@7$}dHEf_+0K%>JSmP5U~3 zM1Sbd)Mwz}qe!FmH|6ad_B%z&pVG|7sFf986pmY3A<_kgzlwb+82awg~9P0HW+ zu;h5hIg?Ya@$!e7l>fvRCI9t{TbF;hN%=2*Rmxq6A#l9?oR*Kz-~Hc|@;`b<`Cpi{3DR1&qt{8~$s}~=a^4})p#NW;Mj}UhY s{{}9x&B($YZtdS!-zw!lVgg$AjilOah^=j0{?hMA&ZlApVvpYc2bo9?qW}N^ literal 0 HcmV?d00001 diff --git a/labs/maps/checkpoint2.cpp b/labs/maps/checkpoint2.cpp new file mode 100644 index 0000000..30c7f6b --- /dev/null +++ b/labs/maps/checkpoint2.cpp @@ -0,0 +1,48 @@ +#include +#include +#include +using namespace std; + +int main(int argc, char* argv[]) { + if (argc != 2) { + cerr << "Usage: " << argv[0] << " inputfile" << endl; + return 1; + } + + ifstream fin(argv[1]); + if (!fin) { + cerr << "Error opening file " << argv[1] << endl; + return 1; + } + + // Map to count frequencies; using find/insert instead of operator[]. + map counts; + int number; + while (fin >> number) { + map::iterator it = counts.find(number); + if (it != counts.end()) { + it->second = it->second + 1; + } else { + counts.insert(pair(number, 1)); + } + } + + // Find the maximum frequency. + int maxCount = 0; + for (map::iterator it = counts.begin(); it != counts.end(); ++it) { + if (it->second > maxCount) { + maxCount = it->second; + } + } + + // Print all numbers with frequency equal to maxCount. + cout << "Modes: "; + for (map::iterator it = counts.begin(); it != counts.end(); ++it) { + if (it->second == maxCount) { + cout << it->first << " "; + } + } + cout << endl; + + return 0; +} diff --git a/labs/maps/input.txt b/labs/maps/input.txt new file mode 100644 index 0000000..4affa6e --- /dev/null +++ b/labs/maps/input.txt @@ -0,0 +1 @@ +19 83 -12 83 65 19 45 -12 45 19 45 \ No newline at end of file diff --git a/labs/maps/phonebook2 b/labs/maps/phonebook2 new file mode 100755 index 0000000000000000000000000000000000000000..d251bf17c5d19d4ef82b6f51c9357dcd49725c54 GIT binary patch literal 194368 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 m_mI@z{71R`yWxk){n>U~7 +#include +#include +using namespace std; + +// Add a number, name pair to the phonebook using a map. +void add(map& phonebook, int number, const string &name) { + map::iterator it = phonebook.find(number); + if (it != phonebook.end()) { + it->second = name; + } else { + phonebook.insert(pair(number, name)); + } +} + +// Given a phone number, determine who is calling. +void identify(const map& phonebook, int number) { + map::const_iterator it = phonebook.find(number); + if (it == phonebook.end()) + cout << "unknown caller!" << endl; + else + cout << it->second << " is calling!" << endl; +} + +int main() { + // Init + map phonebook; + + // Add + add(phonebook, 1111, "fred"); + add(phonebook, 2222, "sally"); + add(phonebook, 3333, "george"); + add(phonebook, 1234567, "alice"); + add(phonebook, 7654321, "bob"); + + // Test + identify(phonebook, 2222); + identify(phonebook, 4444); + identify(phonebook, 1234567); + + return 0; +}