From adc3a9d803652fd42d783f15959e0ebbb021c346 Mon Sep 17 00:00:00 2001 From: Aryan Date: Mon, 10 Oct 2022 20:14:42 +0530 Subject: [PATCH] heap problem added --- Cpp/heapproblem.cpp | 87 ++++++++++++++++++++++++++++++++++++++++++++ Cpp/heapproblem.exe | Bin 0 -> 48058 bytes 2 files changed, 87 insertions(+) create mode 100644 Cpp/heapproblem.cpp create mode 100644 Cpp/heapproblem.exe diff --git a/Cpp/heapproblem.cpp b/Cpp/heapproblem.cpp new file mode 100644 index 0000000..a9ea0c7 --- /dev/null +++ b/Cpp/heapproblem.cpp @@ -0,0 +1,87 @@ +// { Driver Code Starts +// C++ program for implementation of Heap Sort +#include +using namespace std; + + + // } Driver Code Ends +// The functions should be written in a way that array become sorted +// in increasing order when heapSort() is called. + +class Solution +{ + public: + //Heapify function to maintain heap property. + void heapify(int arr[], int n, int i) + { + int largest = i; + +int left =( 2 * i) +1; + +int right =( 2 * i) +2; + +if( left < n && arr [largest] < arr [ left ] ) + +largest = left ; +if( right < n && arr[ largest] < arr[ right ]) + + largest= right; + +if( largest != i) +{ +swap (arr[i] , arr[largest]); +heapify (arr , n , largest); +} + } + public: + //Function to build a Heap from array. + void buildHeap(int arr[], int n) + { + + int pos = (n-1) / 2 ; +for(int i = pos ; i>= 0 ; i-- ){ +heapify( arr , n , i ) ; + } + } + public: + //Function to sort an array using Heap Sort. + void heapSort(int arr[], int n) + { + buildHeap(arr,n); +for (int i = n - 1; i > 0; i--) { +swap(arr[0], arr[i]); +heapify(arr, i, 0); +} + } +}; + + + + + +// { Driver Code Starts. + +/* Function to print an array */ +void printArray(int arr[], int size) +{ + int i; + for (i=0; i < size; i++) + printf("%d ", arr[i]); + printf("\n"); +} + +// Driver program to test above functions +int main() +{ + int arr[1000000],n,T,i; + scanf("%d",&T); + while(T--){ + scanf("%d",&n); + for(i=0;iUxj%kpcS9BuvWWymMO|!AKnMgw3<`BO$>v4!W;WqP!67djh~~{?mKO^W z+{7|n(@T5x*4t}up;&A0^|rM2hqPL6AeexqZJ<=CSc{6fF|?(M7{I#!?{m(~&Q3N# z@BQ4*|Nidpc3?6y-}5}rdCqg5^PHENohi9%JF_yzY}mtL#`fY!n~VRw^q&qSCtdfm zB=+q1UryUA75{Qt<=TdJXKP!_nzrgDXKi(JbBp4v@j2W4&CZ5qXI`1t+0;_!OP@G# zLYgMJ+{0M0G?DF`n^(&=Ft*gf*hv;IB}kU3Y#xY8u@iO~j>*_v*y#_Q11G&D>~!Q? zGOlp(#5W~gF265zs)GP6wVQJag+>q&1Dgqx@`%dwNJtSBO!g3dKp z<1I`8uo`ZA6z|)80-H>Bw5?Pwdt~`8J4rxeYr&W5=FvrsewOR#XzoZM7XI zR1T`!sEyMpjXYl`;XAMs9hE0)Bf7a6q9ECX@5WAa6?9>2F6PRaJAWYu!eqc6?AK!F zn&7ByE|#1#H#37@&6RLCiJj!NVUOB4-GT)iIY@M8uoE3O5{LO8PM38HKj-?9hZ5a7 zgNDvfjvO=c|Nm9s^weNpnls3PZ1LA%q4lMUyK!h=y*LgBN7rGf)Ss8eJ+t4IMqU%z zaT8;KVad^1h;ns-=slp_&)z`VXY>RPOxfn? zvIDmZxtNx5cpz{(kE-EK@&FQT! zwkwecV9a1{GSOWPW=ldK7+8a6o3F_3eP&G&+^%Xe1s5>uhHm@s?qe#Ss%h^mMhXQ)~Kbh0R(`^sASob>J{^99o zA!U1HLwzhog(Q=$%OSpzGCpl17y1!|YA{N7vq;$0D%7`40yULZ;C8i-ia1jPujRz{ zT?|F*I;W&inw=PJX?s_@SooElQz)fJxfO^TOrf(gw0wVtT$wVNILb&G>^s2I?CSom zqsn+N5O4S>PUfY8^D4M-w{Q6Fdsg+LnEi2-=i}2{?8WW)GqiPRVx+8eg7OAVPua;8 z>*3P4LIXRgTu>;1GTb7RIn=As&*=A@CAET{v$uH?H{Xb3cWReF?9u@D3mf#Y!>L2} zqMZgjXQiPdKqi1FR1ReOq2BJ|G#mUWeE%m<;?BKk;}^5g@6mnDJP=xk9=yBj^tt_E zaxCyAk|aC$f*kEG537$+GV0~Ao=#NGBM{u(b!G&|D~Msbt~_y}=j`UR?yj?-3s#-o z_m)K(h|b|D&MzlARDpmij%sZE!hiU@x~u z$tQ=pt3T=GMz;Ud36qA(kZ?#KQv#dqlK;A`n-giI=D%DJWPt!Berz&`OaF=xrBjm& z5FrxD|3efFsY}m9d^kLPB|p}0H~t~(W#rJs=i;bcSsb13TfqBW6jb#cfXZrL zX!~^7E{~<`3)%Law1rk6Ud=qv?>U7`V7+5>KtoLK_YBafx?lAi=8beZ%Y(TNCaa!< z89iG65a^Q}FP4V84ynIT+B+`Z?&$1>vW~xd7MvXyZ*+9-#%0IFS&mLWKe^t~H6ADG zz9Z)yoxg)>(viS^sV^tIa^cJVj{=*If#nbgo|YV4`*4JO_2q#7*!7f4Mh|oX$S6Di z*C?z~L;Xh*Ga&jGUD$sAM+-fN9S^+-@?h0K*HK5;Pw3S1`YsAULC?uu6vu+T1Kqx} zci$tU@$mkstm$-g{g86+>E00jDe0li@7{E)qz)MICD0@F zxlov4|3{sN{3+e#(zYoXJ%hi6pKK?6)&1Q$QlDkZ&^sbO$XbL-qTvWn*Y&^P|0w7= z*45)*u=6kiRv;VQ^-IW+oWg~pnwX}R^n^TVq>iKOc|gIEp1}F>j!sgsdzrNDI^??w z`Eqp~ou$0^#{%cKI3C@{+tK)agNxx)!st}{P=4?xaEQ_-J38+{vZ$&>;FgZmZ`bt` zm36(N^KtM|Wo;*Z|FIj@mm{?__y@Ri_nlIobiIN70@%)B6e-Bg*$Q14gdmTFn-917 zgPsADw^_Zwi6M>+{xgXCP#Vv1l-o`a^%6nPL2AT7&tYnU_f7#}nr`1v@H~Y>tx75H z8;!inNStLQ$}pHms!_M>Io=mfRyCxrI;gIM^v#FWMQNc#NLP=m7qrF@I4E)NAGCp= zR}kWnFzNVx>cF5KdZ@1sy6JFaa1Mw7w$tIr;9=77i6@q;`!NJ{vhr^|vHV*Z1K+1} zN9Q2Q=FRAFe1{zR1TOZ%;LP!zjGl9Sl43=^=U#FuaT7a$p6lx%#PaceG%ZG_HacaJ z(iAvoM+De0wT>Uy(t=N<9Yo^RXZhico=ME{12~UBiQvonX=2*V;`Gqgi$v$Y zmW#De4$1t~MyJkm`?yA~T{F;v_Cj`t<2#G#ux>hOjjN2FuA>{{_R_eS^SPiosWd*0 zSnmFiqL|orCcDTL(DPh}5l{X0@Bl};%WXlIO`S}saEigefy57cslE`}rUb8X-Hs-4 zF|17MI-w+nQ@_Qpha~@5#LAwl5J=;O;nxSI+})dTV#uQQcIQgL)GngxI_f_&bjWD0 zJ7+^7bA#$QW0yzeTEy`syg1tR(Ae9Ta`yS-;V(NAm+xjQ^ z8~D`v;M*A|f&sdKIu?u*duVnG4 z^@9})pIaE1y>#3;ue%(bbRY2kt3-S(~% z{@?0SBtZ-f@4lyZsW;;sjeqkX6nx1*)ic2L`39+tF+rr$E5458tG$Yw3ZaQqt++^2 zb8Vr&B6+8#pvpDXNpkI>ZAc_7&xovFM4$-|eO2qYwE7@_;>rY9ra7UI174HSbGM<7 zW{O84D>zv<#Zl#opk-mNf5K2{(7y0@%1m{CFvkw|zvzWd6nSgX41Wt2+SNO_m)wh) ztWNy~&Y|hh0Ho}qOw@s)6QV!h^E>#Tq!hGW0XOuI*KOz1eXLhUYWN9g{iig^{c&Vy z+Cr~sc^uNHl~j>PP7;ws^CMpMl^XSl(EEs9XbYOzLMQ0*8{{f{4P9eq@XbQG+>C!4h$o{1cq(?>(xyVtfbj!VE#V10tbpk-yRwNgMMCj zBRmOWT_m{_(cCO|PL5bJKAA2`>Vahl{sbc2PWneh|!IOMc z=L`%dIKCP}LT~}4be(f_{T*Fh(?M4!99>)KYGNm@p5I2$AxGznfSxDnV6Gj$;pobR z0xGdg3VzAf{bO3w2!4hBI`(+&-Cw4&zy%Bh9s^C_g45A?nxEJmoj<_| z4U|!sM^PA*jf%!XL+}rtn-Jfg9$aDzP73tetzRQ)-B8fQerglkQ@hEq)M*OpwxfXq zPSjX$Wd0}=pMD=f^wC7t`_}=01sSleZ4id0;%7Lr0#lerV=C0Lxb( z4AUrH^f%<5i5(O|hX1N$1cpCRZbh^&3=D^rIf3C%m8{=69nZO@LW9I}yh}}1;v7Gy zOiSd;H@*FFsV+=r_fM`4)3Jop&yaHWYLFEEVQ}b>>G;9I28C$ z3cM{v?C*Fn8MDrrohQ)3E^JX;7$SBZ@?RUcFiXh`T)17i9UK?#1{Dn|kNRI#2N28y z=cNZhzDk)ExG>G}*nY>JqtcO~XQ_Yf*dVd)R*Q1EdS+-3>f>i*bk3AJUlA^!AJOk3o5aSFA1IEFKDah3XeM`txPn~QTCoy&0& zgm_&Q9A_nU)rM1%XxVLx`D5G3p?$X7)MuAf@Y^ z|8a^!fs@Xm%gDZgeyQ`QqZ6Y_NV}rr!YW7S7m-EBg)RP5sOv5o$2;~clR!808{Qt4 zNt}vWI5b8t--@z1yVqN`zDY_f{Jo>w0VagiG&Q9DYA6Ny&FEeP1_WTukmdd;EXGLJzuJ znuFDEzinmORHe-EqD&eN{sX-B=X0Q$`tjhqILG({LI(HaRO^r6bBT^U`4U78?M8WM zK1vz*zYVF~`4SgPxkDT>-|pBGkKEId`(!c|av$7`h7s|1A+Lbj=M9nvJN<%06$nwJ z)h=Z3`08T(c)QJJ&wqWV`y=MqSVfi{Qzr%;=r#LH2bmvjSt zIvECfsq2sa-;6YnqjM1$p=OdW())w2@bX8O_Z?B*p+6fl)R)MAXLsD14&P06 z>_M!)1@(t4Q@bCK_J!gCXK1Z$isQv2-Rr~M9<&cfX9M}jdCcDb2xE7gzgxujj`OpW zd(MGYQpTh8J37iBP3Q)ci#qJS&{UkEY*T0U zp|9!;5Y52MKbUj0Bl9>P)zCb<5PF46JgvM?3sB9&vaG)-9zZ%z$OM|@UcXh&y15*&L< zsA31t!=xQs!pzahm49jI-RNub7=%kL?@#4NfD4iD~g;L?2 zLkZghy>Lopx?_(O_~nbX`2U0&AMeiGqBY0XZR?_$FC4;#v8ReA{LM)S zQ9a5H)Ngwe)m(e`MoBs%T~NP-(fzi5+jfv+V3o|9Y%flD_@hpn+)y98rSdslT!!0AS{YM|p?n_6km~n|T03$3(cIou=|ss@FkA$4AEF=sBkL(VBu- z@(MkUB?HVcuw2yjM+@9_^MHCry%2g6f~b3Z75xdQ)e9ZJ>VSw~$pQ6DsE*Y491fNo z#t^G(57?-V7R^c!e?g+q8{f^GPuu0JKBqb`mXka0V1u4Ye z6ZBxEj#dV+q-0S&&lvHM)>H}|TudJXb1}$685elap6q|K`<}#L$p9_zycWvf&B^~u z$8$@^1wGHGzTMq<7Kc{LPoAS%=K0W4Bg1Ti<^)}vxWs2sWM1>+0dGrZNVV56fhO zlp3-_qpltd!I#(`ydJ}tH1!wMWWvyv+NJ-E&<#8zPO;?;^$12_uLr^Gc^2bOnk|PW zauJTsDU?msvudlo--T>2*PuUG^>BRkIJKEv+u%p2W7ITaH{BKq`kux*n!aFGzg_k9 zkg=LjMTU`X`G}0IzQG$+KNi3!JZ({CEc%jiduI>U8oNuSZSjuI7m($mFF87&#gRH? z^;Pv(2w}(Ryf1zW*6q8VLAD6JFy+uo6faaPvwa+_I?R_-9eWBS$h`psi#99c7tQv& zFqHJ)78t}BDge%H79v6ALh5TcwO}Q+`z}jo&$b-NpV^mV(MvX%gz}Mms5l$>KIS>* z*t6km>7~4N*x!sIJ&L_(6Pb7{Fe=OA&JYQ@vicKy3es^g{9kV z0iANXO(flKejhJDRaH6i@m(_E7Nx`_Kz)%L)6>1U(d#gZ=@89cmUI z1b!uj-n)R+tzk*^4S{qItJZ$`^D>bu}W1nsJ0h@zX&D$WmGVYFXp2K}I%JFFyARN3M`?bwq;;LzLD zxC2SNO`LUfeghMw?yBP<72y?%4GutS_2A&A(BYhCAlcFN8tkR6I@ssgwX)yyBrL`T z+tKDpiXZnRf>nDl^+*U-*@K?Fp2Z};G4q#<*gSa22c)L{|3eutLC1!8drA<$*R(i&y7k8mpn z8GlBY)LIV3NY4wDx{FeMPY>?F2!q-a(5h#HRXvc2=1cJhO*piQs7iX!G#z{L5)%-p zZ$LkBy?PJ<1_x}AJDij;s zPG+@=*wQtHD%P`iFqyNSgqnkubh`OKR~YRRrVm|Ds)!EX|3Yva$`F2)j7Y-<#KC)P z7;6vFIr@i^U4u`;?s}B@9%_Y1e@w|ELd?)MI1^PRx|6|YsIsaCFeZB9FOj~LoR0>D z?}i+ZV|d%|&hQSK0`SWS!0>(=1Ht>r!4PN2!Nl}o1mm7Ruryu4NR z&@~?e^6+x6r0hHg2j7Ol9DAnVbla+3gTKX9$L3?q(RmamT{K($z|nOaRW~>re-JF} z)J%3liduD8{qg%M zgdYS;lGO{aMmhvzl~>)TT!E0Q9^`}I{(O`O3$y#F{RiGlR!*rXf$tQJZr;Ig#jw;5 z|BTX=oaF7&rd}9w@cS_lb6ssVSCl3F@2Djwsa?G@fs7aQoq`xg=LYhY57d%Vp?47B zgC(a1>w%cc%a@&!gG!oHD_asqe0;F?>V&v<9b;FxUW??nm=1#1jHwhp&+>Lsq1sntPQA)XL^SZ?%^e(2l{P zI?W$2bPf9LeC^p|@5pBU`$0nESz3>>y&_2IGSmsQyH&!3&9<|#6_o;^yMgWE7g&$f z87N^H5@`6K=d+%!Q5(N$>}Uauw=IG&4FH=n9kJ#VeMu0Ak~vENkK1ZP+$xQw4| zvD}IQBTgO9dETn0Hu)y9MGfL^?XQNeHR5%B;KEAvpmLexxpGT)p#|$?N*1uW{&yYE zrKkt_X(9$`j^~o;Tscb&%AbfXiFhzj=3M@l7y3^*9_mIeJWH`Z z2KR$C=zD$eDzs~(eBJqt4zROSo0e?wy+S= zRDM-%BWpQ2zl1Ap^UnKmrk)wR7YAB*)Hhmp+xZD=YuJ%Vb-cstLw2z`d+KN-wROHNxJ7*1Z7+MjF3 z-CMTx0Ey>!nJ~W1wMSitCX-2eLl5GBdn>9{$p~3+zBM}mEXoz3k1&!AWLuQyLqj<0 zXIQ;qLq7<;!7ozjVrS?Gzd&20TZW^TCyV5t#w-}ck^ghWSwGpVy5_&JWeoj@bRND; zIU2epqFGd#HO9z#(Ngc$)3Z_9U}u^O2Z|*D91%@%{~sp^RQxG5YBUtBs2h0&JG%2 z+zy19FaC5TtcHjej~X4CNB!St2>UnCM}+-s7F}JeS5xEZ4uh@xA+E#GX#>-_3h#fP zH1Lnx7fKHFqSIyj0w=69FLno}l1hj;ucFeZP8^+`kktM36yWGhc@xI{8d|S=5+vv% zLm@936ZzxA^nkL`zLyUD52xZUZ4{xXB>A?j2gsOOL$2Sx@BL(IJ@k+RACGI-G{EB5 zp}$848Rz;L_n-ZtP8|FBL%l=)C$wHm<6id^#t|9kLN@~&`etN&i={q$aAjID)@^UX zZDC}M#SoO~@9Ffxlwg4L#ALb->SLO1QL*-Bzq>a?9ZEk#AB!hGhfW*u6!NA(o)hxY zG-ep;VNm1#Bm_7pfY5zpT1v( zs1~5{TNrwg!FdUkxBGeF$jY2dUthzmKx*;OY(lVu${aY5*c+lH?`WmokJyXfuf%XB zjTiFVhB7M8GANEg#4Um6$y#Cm)kCv&`4Izt0pmmDGD#R2{<^SF1WI_Nn=&o#~-`CMZ%61o$+7&dh0(!n5GxPLR&qRwzhr^n(sJsQtx z&V%PCla(dreD*_=Xb$QDDLTc$7t#6RxkVZT1*>R1(?*j(EVAzl(bLRu{_Th8Nfhll zO;Jv8m`PVde+m_X0gCOqT$ zEb_OH$e-u3f8YDpNdrfQRSyhJ_M%KT;K|Xk%Hxfa`Wqn?bq9@BiH9d=Xv)2Za%1{R zRhh_RI9;Qn>}qni=PV&FX-J})jAtof8{_H7dYW&n8jL>{8H9i~{M*TRlK*xWN=^5V z>5xOYxQmf*c(om`=D=QdWixBJ>fS;@y}LrmgB6&sG2 zwbFA8%!%EFy#u?6V8rF9^q1hVB8~FF;F;0*3iCsrCyiRL9>B1Q#79cx@6+p?YNYq0!&wyLAF{I+r%IDgNrlJN>@4jXc3u=d5pObAr2O zqvC6KRx8fxy1F)Bd%JUbE5w7Rs`w6!QLwJnX# zb-uQC0;boclU|qNscBH0?F|q3blP;brm>|4H8*cg6RCake9D!k(To-3=HBX@QBYbn z)0vfibNakXV<>gOvhWOD>46F+ZL&*O zC)#Y=&`4?GOAln7{9!o!U23$sNlr_}ge2RN1fG@+NcmAX{2q?Xon-H_>?VE|0Jd?3+elj{@5UjL(U1PIOOW?~KC6(t8Hz zNbj|veG|usZk~s&0h?w2gkE=_`y~`IFM-n)f@Jnj!eQQG^m5!w1dNT92g#@X)QNET z9ULQhSpL8nKZ`H*_u;VD#8>jU_*T9i4sSN`t^ZtnWZxwwz5>oiwpxV!dq{tu((@7} zR*)QL@v~fq)xT++U@P2!Hp*PeMR9v<1H5buTN3}%*omLcBQ{$u z_&>{LnJBwGnlJD3@!7z)IGS(crTNGnq~9=X@@?usbf3uovh`tGAkI2R;x5$Bov0we zdMNtZoiJ88(loiQJ>hUXwWn1{_JGAwm>8GXWwnqnyG8CzvW>-0IO&!ATsS-%M^>7Y zyb|roiPKE%Gl1vgNcsjWXsq{6NV2;j(4D~B&vGPHf`;23=VRqV>9iMuHWx=~_f=^2 zg$b*X8)MY&7h&Ik^Z<^O-@_JnQewag%DM?jiTSz@H#aE}rR5pZuZ$R#_ZWB|GV^+poW;;8S0gP- zXiu72h!S!c9;E0(U^ZUP9pImem5G1SQqT z{IJcPlp2UDNLsx-sWLZdb;E?DRFp6o^^@rChq+#&fL@nWjx?0b6d;Jj0@{kV1^9XqUo_LBPzGo?#pjD|mp}SDOOMIRPAN;{mXwmonRre#==4`s<&+~hQn8l zouA9HW0ZP9c1uQq$#!q-E!JA{qsUPx7iehR@tH&6u&mLWeb8Ap!UYQx)|-8DEPtdnM835fvd>a*(skE$ z`SFC_+&;Gm`|bp5xy7v8SaMyO+~vOvhw&6*wEYT`PFl*7jw4u~v{<5}Qf@*~RE%;b z6oYLw_EV7Y9UP<-aQHdcUzC;mINGunGxC#q zEY_0Iog6Gq>}Rp}{My{_B;RlJJLEgG7<(EtIXI_$c>G+-L*AVRCB|S#&I4`oKsZdX zdju^;o?36_6DJfu6wtdse*uRPW z8SJ#ZfMcI_eiX;Iuz!Hv(g}aUem(Zt*t4+bU@yhK6nhQ!M(pdbKZN}&*dN9I&)A>B zz8m|`u=imf!2TNcQ`rB6{Ty}+>_w})mt%KgpM^aOJ8gM5uGY>s;P|L^{=c={zh-&9 zMxWx#ZEH{(YO5Q)zFJxXVW*j=87oaAVRnV&+0dYrx3$z_ErrdN@*A4#avNLPeQX{- z&u?gJSMnPgeQq>Gj+EksIs#ZN<+u5K#SJxW)omMDr&Qoma$B03s+;SI8=ArJDIvwx z?TV+Zt)-2z6br6PTI&3bzCsWQnS@dHZn2!h*c+CjX6Rnsh}D;o>ZV(Zebwt?V3uJm zZmCADToY)j*t|Zas(CHXrOvaV*4Ii_fZDJDd(2kZ*p6(MRyX>6?B_OZwFz1%uoh$g zt|NT?3GI!^?MhpnzZEaOp|b|8B{gE?E6ZzqN>g=1b9LLAcD5eZO*L|@zfEqc-hh>S zT(`=yuX$ZV8!CWxiR*fLGZSO~h^uy=B3HMz%F4!8ASaky>qA{Ic8w(a+S;01C{oMy ztytyq0lf$3{>H}EYGp0kDaj2jHE2CJw$}>&A6ev3)yqxkgd`J1*ol0hs{P`9K|phX`?Nh z-tUm_D)lPa4K3|*O?A63lbkCz!?OG{`r}*aieAN~rQz4V~ zruKEUZHho=;QGINkJe`q^r3x}HEUK5oOYzOD|NLu-GmiPTFn02_SqJoHSg8f|F-?_ zw1Bk3#in9kga;FC+yCYV|C_vk<}?;wU>pCtW15T2iZVbdPyZhNiu9hQvA)n#cO=cJ`8|yS>0B@4S;HTwUu z`OZ1|UeC3`z0x_NFwQyk%`J1xM1vP2s{uWRwwV2Epx#_@r$m7Z&Z z_z0bihU@-%=9G@UfuuOORcT|=F*?UZEi#mTOKRBS_#l-@uTYXbPOfjPUc;nUDJ>CK zn1|sviFB0=HjKGRsPsDmQo-u4$1Q6ny++ql;$)?%wZ0h-7BJ}qiJQvC*}jNle11`} zhe@w5qbyG0&qeIx*#thNkp6rIR~Ad0C_XQwEuI&|WQqwgCOx&xQcHR9i*?LWmkSpk zXQRv}m?lG(uL`pEjqNi0r;S-&CcsXV8^J@lQyP*Q@k9i(yxk0Rg51)MTlUOyVVGwE z_ve=vBbQCp_rixPpBO+xGXZ}kAVC&$EsIB@%q+Hex}nb}OA}f!A8f8;)LP zz@t3CYr%GplnXe)5V2W^FeE(4B_!w!TR21f+UoYT>#7@Ng~iRHg2k^@s%vCIS=`(` z5IN5F0{%{X6n}n!J&FDRJc5Hm5c}?DaanKTdYtV&{GCWeyNDA`D(ELfq{^)=sCO7X z?)mS6MkM&|H{chK0=7u@h(~a*Po}AH^O}}cxw>%;vyrCuYeMMGQkq-%w3*Uyg*Hv| zP9~+a`C4U6Z|fU2$Qd#{*ugB(Sf;?N(O9;?Y$=T`$VlUg<5z54iodxHQ*&RPOsOnB zWgQPP;>wcY;fw}9G^1JZVu8Q-&)WcbCSEi(Bpi{DQISe&@%KS*rMPI=KOcRDMx65nMAv$U+! z(k9oov@7jcB#uA)U976c;n^7$|4X4%qpzC9|BB9SX!H&Bio6bU`S@QGV%HG#Lui%p z1B4~UHTfGAJgkHzg!m&rgScdY;E@>?{~IDni>qr`*MMb?_+yklBd)1sT|3P13Kew` zT|Iy+9@SiNjc8u<>{B~zah$mGh`=Yqjtwm={&xfwa-Nz-)MPa@KS5YAMQ;sw{nyB* zoC8=cXhX(-AY^4+eXC5uSp1vBvX-ueh_@)ck*+m{Qv_^?Yiin{alA_$og5G>@0|k0 zHV$Y!gM@64!_!w9&k*rE&H=%5nxsC#0gdNRggi}Bh)roh$>A?(Z1HD^`PsO}47s+t zcCAmV?GFgu8`n7Bgnmfq3vtwVd{}&uYp}?2AB#Ura1UIAs;Iiz*Wz#I4UA~;gjoDX zlzt!%%Vf=9BBx;S9}{*kuAckEFkKvus|P=eKTj6}arLN77Jq>*j)4qoG4U7a;&@zr z?OI%XLKm;c)wkb|)us5q($&dH+B#7@lLk@VQ*=$MSlV@H64r-M@i2aqqUj+?#Ccjz zA^T}5R-ST3PvM5tl59Nb>?AbwXjyR_9_BDitYs$3Yv*a7q-r3NiCLtL=V?qzC5X3A z?k-yD1fFUWseUYFq5VduC-8K;NRQSsktZZdsc1)avQmAYuUR(L!9-4wtP$XC?xPVo zI1!$mxBe21+fLS^*2P=AjamN%=Nu#lkQ?(AsdJN~|Y+E2Cp>rMWB63m9Bpk30sI#Z2WbFD|MiNnU0(Qgq(@Vs`=0 z##`wwE@n1^qNHr;auyeL?I|g%SRt1bc}v`txrMS|7-taVS3#%Tl5*KynkVN}xJyBV zNB`n4O_7z!?3bqSmXVTPHhu(|ySOSUD>lJMuJE|M-m+Y|sI*e9EF(LiY@TA45KEF@ zZlXvuDBQWZRV7u$?n;kbR#jP0R#aLbyDOl_M1!WhqO7>Apvogxc_|qt^ROf%*;8H= zlk6~($zH`CH+Yf_u)NA!D3@?svlIg+`NgPmq_WElIIpZKM~5dFuuff8&Qc9jCk8s% zK+D~EvbV6TqEgPUD$T7dDl27|n^P-1l~om`UUr26=a*Gg$ahqsvWtsKiYnO@BMH@2 zxy)SwT`N5K9(W2_CdX6i$uG)|T(On){xE`Br zq!qv;&@6dilD$+KG?rpE$Dkmvs#Ld1aT(kK)mc;mA4(sK%8UHaUNy40X0md3?h@En ztA(OcZ)t>bo|&?8MY*Tg`2Xi(MZwa-?F00LTdNyb|cAMyv)7AE9axrLKo)-0i2q-41%gs zg!*D?mc^b@<~9<%g+=+587#*@?($HhU0#V^TNZhh=CNEO9c{X#4EE3(Aq5+jXC&vl zy_K4+n8$#l!lJyaqNvit@{L3uGD zh`ziiDpAw%P96=|9kD5eMPf{`#7NQ#MCN0~1}t2)xJ>IHy{yDYBj;S6TUe08O3ffj zG>?@T7?neK97QfxZlnko)4UPg10~-%GCAK}jGQo(;(K-@C z?Kff8dM`$ad=$D&8)EXYWWBFi!7o2Bm1yVVNHNT$^~Djx%nMQyo@wWz-4z&#QD~37xM+mf9Fw42!v9hR!w% zDV0D2>Bw{pQ#%$v$wEcGT&`=uJk?K=J=|lL*W%YbvLJ7&_chmoFvIdCNEm0Uz~9NZ zi7nUCFM710^=)yh@OH+O(lX(iECs_5Dq$WSEGfBku%_hD!It7JqGMc29zTvtLH7c{ zi}7l1aam4|2i_n6d&-^SWIQC7%G$+*lp>7Emy48ylwwbT8=-?sNKA?D+%R6`gUoVD z#OM$gUU(^j16?~(^3j`Uhto8D&RPjm?Da@ocE7h^ktlapH52gEJgmr!LL(O za)eATMt2zR8Y!2jl$2U z;`T0)xtg5mS^@C$>$r~m)R}@oB#D)C;Y?oi5Yw1-D=L^z(b`a@+^5Q!wFc)2bu}A| z#}}Hav36B!Cn8G7${dkYCz9INwPnh&j6R;qv-zE#O#-tXB5CBL5ZBaBtF7x~Jjv5m z4R33ysexD4MY2IlTw^EZ$;Jv2UpM88dhs9I@4pHzi9nHy@dO5i+%<}FO;{1`S-?#V zqM}RymM8#Iz{;Yk5_qpcRP0`YX+miweAxgsLI7~>7&sH_eg;@t1~+uW;SDGk!=3q< zkQqp+r_f!DLGbt}%!?V`ikym~yaErVT?TET+q=wzL0m!pn3GUQ$|&_F;(gE?Gfkl-*00FUXjWreY+~K&u$jCIcz(P~cCALY8DIPW+mE#>#;G}$!fr2cHzbXph!L^Otl;1;=Yg+uxb@bp_ z{Iv0Wxu5ejG}pG!4Y3%a>p78~g6SD}uipAj;yeK{mxo+DxP_KCeLNB1UXFG@h%au( zSKV2}o4|NKMRn_ySA)bZZj8j<9kJMK^;p2djSRaL`m{FsHaK;_rr#_|jwI>Gln7$F ztCVb$aU%%gFa~56r&X5q1!0-lXF!pC*m;4%%=#moC*aAmmeyJrh!&D+*!UrdNC4M1 zJ|K|4a3sFo-(1UYMopL%2E{mA9Bu$!VgEDEQ*cK2Wn`M~U`mYmEwc%8#{mYI7Y)uM za0)RbB#n==()Syt+(1_jT$SVMZ=00DlECk3vm-COE+FASd-#-_Kq7MA=$=tD4L{ekun1! zr-I=!u3emtPtvr5WYR7*>Jo*W93>`>)Vur&h#`%xn9Od(VM-<|pgiI%hynlaZA~bW zg%#niBwb9Jh`$oVqaXKfF0B?)M-b9;2cOLZqUfg@F3o^P zG?luBmh`n`C!FHWp*Y8Lx42;|>%{IHNnF2zR)^jaRy%G>6}}s%}==f#H@VJx75v z#BVyA0}+&fOZ_ne+)!m~O-!KNH|255=|?`$-eBfnd0*#E3@L9@Tal zi1v{8ya=Ly;g%TDOqf;5LR$2*WsK=xnI#(XVyi?y8#8a|{OJ<$;nq*_Zk06>q78)y zJU*n<;9V2V>9ul8&Ar4$+*}S95#)a<+;G+LcL#O~;|B5rT)A|eNzGBV1Hk5?HHxz9 z&r1UPh)pkhL}zLA4(4_6?Zr+KtWq8Rl0;+Ezx+!G3Idv1 zBQfgiU7XW1G=c^%gdVY_-&>2{LPXm~xBN>$h2_`!@VkJv7CckblwRA4hbH*;7yKo? zxMYq@L_R(f@&zDxC_joO1BerdQD1H#$AFxQaM61kV)aSI4SzvH zT(T@Hwe|A6$57LxkD&i5XufAc=z)XZMi4!Qi&7vL>1#08Wl=h!Z_>WJj$(0ZSq+0m z==2!w1OnlZ6HBDW=Q>K~H2;df<}IC%>+p!tT)hS<*H~Ha0=2<>Le3Y=LbR(lQBrzA zB}uSK+4yV7(Jdc`Cn_pGgJu?J9{CI!YJUeJGzV}+Rxod+kh2XLUrL{^fTrgXGJvtVURUUe~fZMZ~UWT}amlqN$gZ%w4eh)plMprJaY_mbfI3L~~FAZIt~{L<@E%( zz!0_RZ7>-aX)5$F8%fuBHqtMpa|PKak~?MM!<8#>q&}-T4dwMVXb}9OHa)L-z(ii8 znR!dkt*A^}o<|QJaqiJ#nJwp%^=A{2>~*o68xC zhVp15`$Vik$ab>NMBP4w{0PX&2%^_uIp?C>Z$u@Tqmphh7r2GRoH&c!`XIRnPHpy$ zjwC`zasqsQnu$%9yc+0O^{&TWJe;P*%zrV-pbNbe+c6~Oc|~H&?wIyo8PncZg2faQ zvQ|SGfs7qn9*@cEnV7uFWAa)alULrQ^3vu_ucC}%^j?n#{9=mF-h}08qn2ltzK6fD zZT^oM4IQi!d3Nk}QKNw~faZSuC2Ja+Zs#3(*`--VqIRaYcgjJu_ZX7MoUsu}qTXX^ z2#F^}upuNuA1D5jMDupJMgx}y4fT~~8hr-Th@uD^8mlh4B)wdRBjwUljN^Z0xv0LV zmPCCmN7Em@zQ~56zOFV`gr*kR$BA=cpD8$tC8Ii}nj|w>CHi4T?Dj4o8(Js+g9b(z zW%~jI3~>86M;*cHHWV}@rx8-9c8x98hOy-)>N&`(bsCihd2#mJfULe=NA$d0817Ml ztkM>Q;Y?1c|Iy<{4+uoLurfT#RszXAx?~bIV$<^yG?W*;TLw2VqBcE_=_MYuFK82k z(PI&PD8j^U_dp*PI&Y)wEkJ0|#XvfMl$(&R1KD9hzDry;MRV-|GB1Ke%5{To!#7bG zxH}cKX(O}+^fhbJHZo?*qPN+bkOg@$G_zu8Tro7x7@9>fG?&NFWXI4X#?WNO(9m1` z%{tGEp*aT|m}zFm(EKTeW=0InsTi8H7#f;aoAYwU&fFG*e<|eilQM z8bh-?h9)_N=BXH(#2A`?j-j!~&^$VlCW}@gOyycYP2YrMJrqOp30jkxX5C1dti~9m zW+bwJR@KaMmX4&!DjkU|2*q&a#L%3Kp_v^+^Lh-;^)WOQH_RGZVrT|pXg)x!GIPB( z5?OFChKqiKW#Y;lKqozwh*27vGasoi_6iUh&7o)-@;3F| zd}Yar5eR29{n2}KV;$0z%rErOS48q?a%%8&AhuTQ=q^Xii_&S;D5A5p2v=rdF?S-y zScMpll#BABajaPm05%Ro`@+w$s zlbi*gW3D&9JcjFYtUhI~9;wfQ@iNuNxb@0gGUbunB65iTgk@RSAX(70$- zR=hH5_3Y>|gbwM7C7v%!c`$~Z{6B3a_G#x-biR4bm zb|AD7hv51)kmDw<9{?%Wd;>a*S52`QCYqmvM(=looL7LHHRbgVkhLbRzW~vrvEYiw zO2*?Rnj3)Vy`G?145SjLWO;$y1w@au0=XXuZM2dj5LzSAdp&_X24sg;I|BJWkS8KK z1}9~YkBOU6)KSz9{=GRt)>d(T0$_# zGLTz1jWY_l69~mHgN8mKOPe8iOAPY07-T1qo~V+Nh7a)ht0Ct{pgA0&p*&s!a?oUr z-vSvh(F_6^HX*}6I!s*SQOaz{qv$8fem#)WCa!cKVr|)}(G&pbG0C|bh**yTjfAI= zMu}`~prJKk!&|liX*K2k7!cYFtM&oWqm9t;9UywYBajb)oH6Na)qA1KD8W+6?4O1i>%j z`D*}sA{vV5R}Cq;j|rrX$7Unid2CgepRX(r@lAo`kv$m>;2vZ2p=KxhPFNd6FrK9&$%mr-S56I|3%=q-~|Oua)I zXv#q&>Xg?Gy}S^cA^A4Y7-h$s0vhSHj`JdA$MeJdC6I~WqMSwUcWAjAEoBuDeeFWf z+y~@jL=NS;iMWtxaQz*S9ftpCFM&K0sX^lUH_)Vl%ka$Sf#@SNk=Jj5>;*0LPXZYP zV(zUz1v0}VXCi)7(HhB}^12#GvdMV=)=`u|t2F$1E@&Q&$idqe_{%Df zM@oVFYTT+*Ox7p@moc`X+?N5-N3fz4Yk<&ZSnQjGm^Az`$uUX(Ip<1_;(7&$Ir@b- zO?3SE2nda@jl8Uv!_Fp)r2wJLpm71wEg^JXLP&&57OxIv*(MEFXmS{HqW7fLR+w+Z z)(o115vx*S0EiPuJwNooK=iq%$o;!O=7GlW@Sg+OZOZ*MATvxf?*q|Sx`do_K%O?` zel;Gn7I%e6XIe>()j1P1gc|lK211*G(C-Lb5&KYDBM{wlMegf~#-#IBAo_S-&^!*r zX_E645dGebp!o?9+Kjey5QsUdzXs%WQ%OS_m!Y!_lgdpdnk#6UiOryy3nVY14@D$; zJ?p_pDGLd4`R}+x!rm}AWVs5AZ1mtNG%};VnYZ-GW%B^LU82*hlk$r#)XLp{TWHvvh8WNIyfD-Q_Opy8QiK*X~U@D`+? zza=gljX1vn$X=6u9s;67bSADH#03E&_aERY-M3bJ^$X9x_-g!X(CJn;ufcC1wM+gj zFg>ZJrp>obPie%vmGyJ}-7w4owWql8bIAsU-~Z=tB<5%6;=D>VKBv{n4v!b97U--c;gYv@S!=yLIUDQOQp@Bjqfh<@Hotn7@FYp>Wd4ccJ=^69sXG)D5 zoAHCK>c+9HRr1EuTXo5&AwaVNJ{W&zH6DQiKadS*n|bdyeWv z8JU8J)N95ozb}z(mY_s)!u#y}c-_-y)8cn@>*VTn_}bnjXfyG(J&67sHlL?awqMGR zGIV)(6I^Xe>!r$mizct0UObP7-5W1Od@~kU_}k4stHESwg!B`>OB8#)AoF2TeMvek z-x|Ej5^vzTgg`A{yzHs=5)COsBWta0^EH1yX_qQRrYJ>Cbsgn&Z?E)sn~olk)eqgRo===bn`#0LJ$PzCR% zLPXh#m z=AAE#j_*Il5|vf^`s&uA1`je?=xeUVj}YXB`l99SZC)h{(@#vDitg|#^D`RS`CIRd zzPtgXqzDwu))Vm}1DZ%tiuY#OrK)r5V*=E(_;v^>C-Np6n6LPalt_AALmPk1 zYy@a&#pteq7hXuf!c3hBz?&b?ZJSB(l3g>A;%jU)(X{(~_h~?Wg}cNf(@TM<1@l>h zb^*&rf7+P8>zRj`bTl+R8xhaqr)Mo#aPtB%H#Fg6DfIOj(Vf|-OVKWAPTQ!o*Wsn;GDg3(5ySI0a??m<)DPH@2BxnmajTEv z7gV_|jdfJ5M)j`6qOdHUv}Nh*ebx7+!&64IT=FY|J%zGp?Kz%;qEc>H%@Ieg0hnA- zThi7op?|GNmhlWjwEf3!(t32!KZIns0S&C8+(Q&Zd}1AMh9>Vaxv_RPRy0igvrL*| zFlD*%5h`jju?V^+awK|Vuofspl}A2Nq{-4hheRTxzlTLlUUQPz8s(oIf@)e8Ws0>!aw{+vtXO@tjMGj4hnKYJ7L6%+*uDgKvP8Tn& zxhtRtp3GG&oN}};s~M)%ZhjaJMQeiXa^3p*qN$N)ql5?%mq+th{ZnDGOdb;{c2vwI z>%ruDiAIffqx8&?FQ!Ez+Nc3)^q4l$;|QtdlFWaZ@h60?yYyx|aODC0-s!qeCu7yWxisSd0Xn#Qd>3)Rtym zBa)A3Ql`GC-QS{jO_v-En1}Fs-r7KwtNK}k9?a`U>46|gxKaZd)D-{dMd4W8r7vZO z;RDY`|C$`y3tFo-c1D}#w?Qc&MmH;SKcU@YfQf3?-q)_&hu5Vcd%Zc{=WA>BHR3J0 z)c~VgUzDqAPi5%=+o<@MxE=Z2B6l*F9PvH2h`dCRui`}_qd7#G>WgMW+EAi$#4wKw z8*|il=_oK}k2bQG(A+yJnvWg!^$s4DVi-44C8miTzq75)zQ}*^Rz->ru~F63onn!f T-|v-2nsCh4&TXVUC-VORA&Zak literal 0 HcmV?d00001