From 967990e35cf11f65c260ed8c926af3a9eb954491 Mon Sep 17 00:00:00 2001 From: NasreenParween Date: Mon, 4 Jul 2022 20:03:18 +0530 Subject: [PATCH] quick sort --- DAA_QUICK_SORT/DAA_QUICK_SORT.cbp | 40 +++++++ DAA_QUICK_SORT/DAA_QUICK_SORT.depend | 7 ++ DAA_QUICK_SORT/DAA_QUICK_SORT.layout | 10 ++ DAA_QUICK_SORT/QuickSort.csv | 20 ++++ DAA_QUICK_SORT/bin/Debug/DAA_QUICK_SORT.exe | Bin 0 -> 87620 bytes DAA_QUICK_SORT/main.cpp | 110 ++++++++++++++++++++ DAA_QUICK_SORT/obj/Debug/main.o | Bin 0 -> 34566 bytes 7 files changed, 187 insertions(+) create mode 100644 DAA_QUICK_SORT/DAA_QUICK_SORT.cbp create mode 100644 DAA_QUICK_SORT/DAA_QUICK_SORT.depend create mode 100644 DAA_QUICK_SORT/DAA_QUICK_SORT.layout create mode 100644 DAA_QUICK_SORT/QuickSort.csv create mode 100644 DAA_QUICK_SORT/bin/Debug/DAA_QUICK_SORT.exe create mode 100644 DAA_QUICK_SORT/main.cpp create mode 100644 DAA_QUICK_SORT/obj/Debug/main.o diff --git a/DAA_QUICK_SORT/DAA_QUICK_SORT.cbp b/DAA_QUICK_SORT/DAA_QUICK_SORT.cbp new file mode 100644 index 0000000..1d75a95 --- /dev/null +++ b/DAA_QUICK_SORT/DAA_QUICK_SORT.cbp @@ -0,0 +1,40 @@ + + + + + + diff --git a/DAA_QUICK_SORT/DAA_QUICK_SORT.depend b/DAA_QUICK_SORT/DAA_QUICK_SORT.depend new file mode 100644 index 0000000..adaa9d7 --- /dev/null +++ b/DAA_QUICK_SORT/DAA_QUICK_SORT.depend @@ -0,0 +1,7 @@ +# depslib dependency file v1.0 +1643806793 source:c:\users\nasreen parween\desktop\new folder\daa_quick_sort\main.cpp + + + + + diff --git a/DAA_QUICK_SORT/DAA_QUICK_SORT.layout b/DAA_QUICK_SORT/DAA_QUICK_SORT.layout new file mode 100644 index 0000000..4a23a8d --- /dev/null +++ b/DAA_QUICK_SORT/DAA_QUICK_SORT.layout @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/DAA_QUICK_SORT/QuickSort.csv b/DAA_QUICK_SORT/QuickSort.csv new file mode 100644 index 0000000..d29add9 --- /dev/null +++ b/DAA_QUICK_SORT/QuickSort.csv @@ -0,0 +1,20 @@ +No. of Elements (n),No. of Comparisions(count),n*n,n*log(n) +50,243,2500,282.1928095 +100,628,10000,664.385619 +150,1187,22500,1084.322804 +200,1506,40000,1528.771238 +250,2011,62500,1991.446071 +300,2598,90000,2468.645607 +350,3149,122500,2957.923889 +400,3908,160000,3457.542476 +450,4203,202500,3966.201536 +500,4947,250000,4482.892142 +550,5294,302500,5006.808295 +600,5581,360000,5537.291214 +650,6695,422500,6073.79234 +700,7174,490000,6615.847778 +750,7307,562500,7163.060089 +800,8371,640000,7715.084952 +850,8529,722500,8271.621176 +900,8941,810000,8832.403072 +950,9686,902500,9397.194518 diff --git a/DAA_QUICK_SORT/bin/Debug/DAA_QUICK_SORT.exe b/DAA_QUICK_SORT/bin/Debug/DAA_QUICK_SORT.exe new file mode 100644 index 0000000000000000000000000000000000000000..710131eb2dd7c1efe0da6b1707b932eee8c61a59 GIT binary patch literal 87620 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 +#include +#include +#include +using namespace std; +template +class QuickSort +{ + t A[1000]; +public: + t count ,n; + int input(); + void Randomized_quick(t A[],int p, int r); + int Randomized_partition(t A[], int p,int r, int n); + int partition(t A[], int p, int r); + void display(); +}; +template +int QuickSort::input() +{ + count=0; + cout<<"ENTER THE NUMBER OF ELEMENTS IN AN ARRAY:"<>n; + for(int i=1; i<=n;i++) + { + A[i]=(rand()%1000)+1; + } + Randomized_quick(A,1,n); +} +template +int QuickSort::partition(t A[],int p,int r) +{ + int x,i,j,temp,temp2; + x=A[r]; + i=p-1; + for(j=p; j +void QuickSort :: Randomized_quick(t A[], int p,int r) +{ + int q; + if(p +int QuickSort :: Randomized_partition(t A[], int p,int r, int n) +{ + int i, temp; + i=p+rand()%(r-p+1); + temp=A[r]; + A[r]=A[i]; + A[i]=temp; + return partition(A,p,r); +} +template +void QuickSort::display() +{ + for(int i=1; i<=n; i++){ + cout< q; + q.input(); + cout<<"THE ELEMENT OF AN ARRAY BEFORE SORTING : "<>ch; + cout<dV}!>x!UkhuVnhrE67UNH=3%e_VVgHL<`ohl%d!#3l4Hpj(sV|9e&2J>%xEM_ zl=jp8{qvj8M|01d*FE>#$J~48%&7miT17`)QmJbhDo}N)$gvc|aysEss-RG*Em65{ zM&egH4%YRDQXvOlF0f7QI9Jz~g!c5|O@lUcg7`+V6lzM{;;~s6fWEf6W0`zgK)GeI zQoD`_FT_-vYG|t)&g5$V{sQ=}G5Ly3zIrN<bF-W><)mn?N~DMj)Z zz~?;LybW#j%a%J)%=d5LYlsQjjfDADtjORS#?>p}+h+1j!ZqjHxTML+NcrwHoETGI z;&^m$3C}!8Rek%_W|&o zHTlTp!k5{u9zniSg7Dc07;xay##8`YS84bS;EH4aX^X+J>U!K`c zy3CBEeu_7UGE@O?jZOzWN zv7yP?@QJSoWBAN0zTTe4&rZeA1G4H|_+00y2j`vuDA%W^lbbtFmf&onPEIGdbNp$O zYG%rg5)D9bL&_)9;(taJR?EY8mHmu#=!_#9RKRaZaT z+d2Mn=gq(Hcb-bu_36%=pYx|l<6FJsy_Gk=)vJxpx$&))Z@#J2Xr+@M@MCYj`6jz5 zOZExk{ya6NR~`b3Nj;52)#2DV8Vw)u_iXRpMOTV1dlDn5x^VI+l?%tN&VWC#C9pNH zZI^%hMt}P@e|vX#`#%4=z{c&}0haCB*5P02XYTy`?HhLmy3_1xk%NC*@78r7LjC&f zTX(c~clC5_-`0bS0xMO~hVA}++k5?c+F`)1?cmt9t7}_tVC{nA_3?%Nm8Kd6`=ElX zO=~ml?(uiQYSZwQN-Xuw&~KgLo}w*vxf-+`qUFsuHSZM-O5LPA@A{!zz2?@H(mZb6 z(^TLlo_sJ#Poe?9OfLt#05GN3;70=trPt%v2H33hhE7y%=gENg%O@T{L#G2>`2r=5 zMwi{v#0-1IDY== z*Jdw#X8c0*+$*?iE_{0Y{Hac@^JK60WZ;d?_l+0dbTd@_{Ig`)$U{HLFLSkzf2Do=g2izc`WTUSXeYNWASIdPl-UK_OncdA%kGi1 z|LzjAExV5OXO2~#z?ZQbl9(avw zHZ zcN43vQR*DWs7g}QuW`^AMaScvSbH+$(K@#E`qy81Wn;6yrLM8A!M}JYH5!k!h7%)^ zCR~I@!iQSpiEttw@-H6rFCK^-3rB`i(L_9{3f8YY(3^~mBoAzB@97Q%w)ru(??HNC zLnL`5l^8y-Ei&dGNW}UhBL_CLw+DCjcCFtWq}$Pfp-?nl7akr~f4vSafb--^rux-< z^-z^k?qD!{>=;%6MuFB|K&KypQ+Kx+=jT&;(&+V5ddm1AU*B%L&gmV7Zvo*?8?Bt) zX&m76UB-=^-er7%)4PqQIeoYBBTnCA{E^f58YK%!{(VL(r}r3xoW9?9JE!*=PjGt1 zc!|^djo+H7_X?7Gz-Z+3gGM)}A2LQb{fKc7ryn!EXr@2l^y5asl_d9|aRsNJG&Xbk zh;f9|M~%~*e#&^5(@z`U zlg3Xteai4HCb=&dEu4PQ807S6;|@-rF+R!Zv&IXYK4<)%(=Qpb>PYT+V=1R!HuiIR z-nfC&uNWWY^sB~KIsKaPV@|(rX!Rub4a3jrH;pz=BA!Sc8cB==Q|p@pN0oLE43n!d$-uIp39w<(Rl(IWgZq0@ z%dKnDR2&T2{V6z{8c}+4Nu>wt=o1k4=-Z7VT$Bd4I=B*jha=&X(s!23rA(#}r{3db zTN;;U>1$k)p&l0QII0TK^{3)DxfTk%tYs>)2=(`mL$V?$a93O^2IkJt*!KpTvp(0fZ@+vc9spDXAx5r85p-tVF4e@NLP z@>n^0?BJwJDy7tEi>}lf{Mcirg1$>u(7m~*A*i&sLc!ZDCEljADUnOov>~pv=b++S zwwmkFK1_q6m#k(x+f#xahD!XT8Ehtdru_^j{ph7B3iSk}WIG|MT?I`8wl*%EXuIx` zwXs>O>?{<0+E&J8GhbUP3z!AMHaM-9rvM1C1Xdt=vdw(ETgq z==Q1O!{|)+khPbfx2YkQJhJMitlVfcl8q|*AVwiw@ACSoA?f;xnS`huiO85{`&{V( z4~<@p%O{X92L8G37*Nzsy`)Mcq%eD z5{d;e>qw?T@ziSa>LUL@D3*+@QCeZ3`0Qk*W*rU1MkA`QV{s5#F2g9T3Og5*Gt2Di zz>Hw!%8Tn;xsvq+*~5jKrkWmJK0&IhZ%bc8ARu-29T>VDM)cx0`7rWS)juEuw$J*r z@-fr{iQf*lS`_C!Dtdq4DBj1vO1QC5BmEPqtJoYH0g%oB?i{=lM233gB$&g#S3v&^IlXY zHh8I0o}-qPslh2soBV0vfh^%Ym~vzZ55y9olw|y1hU|y3WN#zcNmFprJX?xh1=T|r zo-J3RjrF9O8i%8iaAYi+j7U!z84ahbX~<8&J^AmcDpV2WGB*dW@@!v9S~WE<2zT|3 z4ywsbCAHy0A@t6XP&AcXO)yL?D%Xl%Lf-R#OZsMM=AhZ=VC@PAmW7hZ=wLk19q!&7 zR;gli`ESAk?{~Drth&qhkbg^_Djkw1^FrpUFpy@Y$3g4`*dCS{~Ylr4;< zRMFggqOp`y^o=ahaAIgUG!juoi}J`XH#q`3IRE2{?iU>;$oqR_0H4SiYGEuAA50xm zMJw}YS|$vnNRh-%mJ+paAR6z--d7&MW+Ic=@$R0+prS0#Te4o#WV&G}aTEpV&ZmXQ zfgNGeqkae-#ifuWz*&fJV)(c!+MiDck)1kriH;cYJDy(L)BYZr}X53|~;G$4l zP*?1r=5aWWipHi?A}Eaw_X^Z*l$+NJr0B;ek6Q3060gwaP+b)f{tDVTEE>+Iun`I| z9`LA7twoW{<+f+9I7`y0ywZ_tozhXOnI0kqWRO^OWh616ijL*cvIJC&ew6V-EDD0m ze0?5fS~d^|mz_kuX=SAr6=Qi%y-N9#(d!~~V|{g|3x3Gx$z$R^>dd!j#UCxVI`gTV z8IGkp^H}%hG1cxxnSMb9`!&0pJM(SYoX=s%EFvOz<~#G~lFmG4dFggiMtVdUcjkBJ z6Xniqi+&|b)b7mpO-Zc^dZSy|0l0e9G+1XY*)Ecjhtf%-by`R%iZn9zm-! zk4a~yEZ=R(N@r%DE|kvvOg=5rna6f)9y_l71ReiEItXwULOSzT^XZVzoYrw!*+d=E znP14G!tTst$H&-=gSHCp%+wal&iuVRDkgO16gRIAkfMS{h)ZXFn>MExjkt*L(wV=X zPhnPP9#bUqOVY=lmCpR5ywaJSIb}7|rRXDUkXR+1`Nw&*n4Ot2PIu;?ml|uDh`!7i2sFFL1ijcqj9% zGCs%YYU4jSZ8fGceXa2dr)@?P9IY3xGki>6Z&0X!UcABB&uPGT3#T1MH}iKI*K^us ze2mjg#tWQoF+RwATa9mUy3P0lr`wJBOy6m|&S|%?p7JYMYRsQY=`v&a5=xgFdy)FE zIOvZK4A40C%UQFCv-Aez=gpL!FlzDaRWH5G_#GY+>!t5Brr@ExUV6%y&*|;PT2AjU z_HcTq@c^fH8&7fi9^<>5-edfR)At)w@$gzNz1N_J?0V^a##Nkt*tmhyj~b^q{d?m> zoPNxBn$xq!%bfm$QG|!?dg&*O8crWHx;Xt+#S3iT?lHua z^bZvu;Pj6b&vE)j#bn&J^eKJDL$#EKjT-XIl!&pA@dHLXr-Q~-oE|cgoJNgPoE|nl z#_18`9H%kk$D9rslUI?RxG|s8YmH7$M~q=klg7I_O&O1II%>Sc=~3fPoE|e~tS0&6 zMm?v0XS8v8gRz^_n~iHZy~Q}m>8-}cIlav|$LZUQ?{WHe<9D2n8?#$U-#d&pPEQ&K zIXz`u%jq4)Nls52ALsN=;{vDeGJeJB=PN4Kko*%Bt(-nt(Z}gi6*qGFg^GueE{;W0 zSe9dj;PuR$RyhOP!pYP~G(H$i6N+X|EAZm%0rC9=P+f3$lbYHwtscKQkZXu0 zlEFUO&w2${ja~6*N@-97p_vk1@uE%fk3$RHw{hdf0%qbz; z6=%WyX-h)3E0zR%u%|WWwb-GgkX~MneJ25PR;Q%Q(`owT&>L2 zjEYRD2-u8pWMo9S)|hCz5Ogdts9bAJG+hwdht(ceikkMR8Y-wU#(A$Rr@Wi_;tA%n zbAPOcDhPa>{d#6xDpxa`ez%WCffm)1(}g|t0$Pq$KE!jxCjK6*Ljpq2-NgYi*%oTZFH&G;r7b^7U+ zhn{ZXbPk-l`!z$JUTB&jPcK}WK~FERyiW`#RYi@V&sbDS^E7?N;?n!3@y@N;phVsCA zRXNDzY2k7nmU4~~{)piJNN_A&W^Ruc$-~|_LMG4swV7CZO8E+sxxa;+>Z zSvh5Fq>aXD(%ydAJgDH&m_*DPtF`^0MMUzAg?Y;#yhnt$KZgK+&-0OYQCp5@43sB zTI=^cqZPHxK~xr0fJ^zF)r?QnC?Lix%yU}lqriCDZwK1s`y<1lK`8!5%}e{o1%i#mLMiOZ4lCam1@9sJp-{Y^j5w#w`giaa z6E51Xd{1lMN$4kYSr&qWiIL;V_hqeY2C$v$D4$sL2n5ed)*fx$P+u@SIuaZT9aFxq z2)0-QXCi)-hVWQ=vgrG&=HVh)WHd?#^=m?{w5UUgxP$t2q54g#@_j>_`Y-daMAz1F z9X2|6zbU*87D@TOrIr5x%q`lwVdhr83!3j`VA=>18^QxP-?z2Op99lLm{G>OAebGL zXD}5Vf*(gQC-J?g&76T%(O%7N7ejq!yZ8rf-b<+OR?qiwUN7y!B$|z)R;rttNzg=j zeGh8hX4C^U4ryNxX=P{8vQ(R``IA~1wIq*P9TW}0lqv3eSabgdq}o(yaLf8&*9KMS z`?TggLkh>XgyMsv+%7(&mG!gAvGp`}r;2?{P_8zh`Xf7-?X!X_P^(3k?{k`aD^#_5 zsQ0#dXab5ZWzJev5nZ=>q{B?g=wciG3ncmlT*y~Phmx+I!Bj*H8^~5_VkYN?S0F%3 za`U>1o0Hl*b8!*Xd1-$n938@Axna!yQfg+M^rX_%p~PqsEjt-ZMuyeQdPaLn2S*a4 z!?>@inGKBbmO_fF5^I*BK0GF!*~o;-QmWrbJbc_HG%>+nN{ulq*Ck9^z@)64o0-(W zq;&2}8QW4ioJdAf(W8+d-LBNkWsGhsjYkGU4)k(Hce1SmBcX7xKRSp9A!=p|52HIu zGmtA7xwCXQ7)}O+9trlLT*IMoM9o~q_@2^uCi`ke?*clLy_NC3 zqy{F#?Mc|ZhLO98IgMP)$USHgRDG=;YH_We>-g+KpIN1O?CO_$!v8^qt`7#S9>(wV zw0b6iw+gfSzR>~IP_?j#b|FeRFs14Wb_}k(x;8bW z=2q?0i=M?rTWScE5mr^*I$OqwA*}4GdIV8G9BB9>s%n>DJcJqQ4;@!ky@DxbOael? z1>q&c@d)n8ReJ<8jWA;@v{x{d%)^*{f|*5_XtE!-^{V}X^5aPwtXw_Rhv(zC(SY)H zeF}{RMHJuG(U(e$!T6JU8Ev6bXq%UBSseoiqaljh&6M&5pwI~}q`DS*QdJeZr_oK3 zg5bOau()t`3=EI54qbFmfSi|xBPSUuO5AMFTZqgjGoNR`+A%N|?MEHIUyP=hI+hkI zI|s&wu}zagL+NtqWH<%e2?J^BQs792Lvb+769$UHb24<8<(wooQgEJ_w}}ZfEvoVe ztz)Qf1kdSI)jRdF-(ak5TnJu1(Uo^OF5w-TS+;uEx!@P~o)Q6y@DnFxNkMax*U44) zN;z*LPC7x=zfwJcfpx)Mw~MmR*vc4knn2n+Oy5ry+bM|9>3gPf;fjQTq6?WpZT>E@ zowbJDNwJ1vvA9!cmotsx4~52goBmE({+=TKrszbeRbl8Djhh}fBx4F&^ity!w|5>* z*J)5xPz+wW%Dl9$Rm5gi>{{WXaK~(}%^RsGOW0frgG?7ivscDC{R$iOp7gpTZB$=mkxTzSQs@t)TgTMkP4=FOfOAArQW!CfeEEX zC-&*w?I>0=T`0xmph5iFS(k%+{V9MhCb| zETl-#Eb#%FhN-HEFzmGz*iFPsIJ9aSJIP$`P}Ratk)*7TDRC~SUreFk(zGdFQfD$z zapy>JDDpIIkCTZCb-8Gwu+&_d*!k#Qr^S|XYz&F_8FF?nYRF_dyP{UuDY!MAwdw>p zmFQPh-!CYmML7M090G);Q-Q4S;RqTug&l*`j|!&J#sK}C>;(n9<-ob75=T_k0x1iH z&Zf&^l2N_?Rlqw<6j7U2V-DU6&-S6`-9UB-KQdP^Ocod79&dBy`DuL#D zr#PR&bh#hHjG@R-nCj&{LZZmsv~w(JVxoF^uat$tdM9Q9CVtvkb&qgS&~HwzB%(g6 z?iMDB2o@&3+i+v)w7cgn>3$S0%tqlRVfDUAnU1)4$j=ix1tDk2W0jz)<_no(lQYE0NhJPmq0_EiTHNv^wY3-; z+s_MT&^`?Pgh?8kw}98_W{aZ|fgKItj6RY+%zRu4s} zt@2L7>@A*ZY-;gavr)`U3(f5#o|mrj>J|^AC~#@VZ*W4KH0^!VH2~Fzp*?OT@6OnHUz<+WRJgxPohd z7=jclE%`1^+u^|0+13bBOsG%WUs9 zVX%!{HN)~=kZ@w|YKOULY-`$DLW;3#9LA=xYbz~}vQ{y*&0#9B3bx(06gwp3{S9e0 z6BA&TRW2_zJhpIE0mE#9Zve|J2v#4ON7YtD&tZ3BG%|OMX6~3u_i%b%EmLEfoT+Z1 z(k6_WxpNLJnm5q$>nPZIXnhiojLEjg>>brdfHYCO?=gF)g&L+@ctc`#x9==+2itJU z+LD;vux1(^iKdQYV=Qqb8d3hYPFoM{ zz1M>-uNt&^t_8ds1>&u};E~92^lPkb=G17j?*pmTL(INlJEl!|EHRcC=~tKgOQ?6X zdj1ilJylqgA4T1GYF3p|TtMlyqluKNSuHEI(virJs%hnm0_79dnl<_t!C4iIS)y%a z^bE%oZ7(_l^-4t7@dZRp-kSCL>yX_*6&`>L?~af^lE;%lJT2o5*O~`wmx3n9I6XtF zd1x-#yxVeHXk;*~YJ3`d%!xg!YA(~t-v{Yd&;5L+oNSIU2!dsfR`DbgY4o>=_*?uGi!jJ_q0hR zKj~_q{;1lxmY;MjqbuyrS*(z2{UF#k217%Au_Ls(Fn8$;GPwf_ z*|Hb4v|QzdZ_UG^gkoi~dG=qM#3K~MPitNZq2WHydB}+izG(!zg{tN=qGf+lEp!IZe>CmK(QDO4w$ zX(#${3gd;pm)k^*#bQpn;TBc%EAa?L_Q=wKRtokcjTd({uS!|y31@n7r#iS*s+upj z=1~)-=bny7melMpVXHasT0o7Mo`$k{R_Q=`PDu2CG~04<0p6uhHD7Wyx}bm_pJsE3 zAJMqKqRpn|2R&L%^H@2-&)?DJ(*%>kj2!g+Va!ZMXf&%{=kikQku2vs2EwrfqG77n zyV!3Ojbu?MjJ0}`;3+!E#*d7khgWYF3dJi~l!4f2@{p?DA{2^XvM6ZlVO70V2o%!f zAmIM2s<#X2hZf085PBBfu6Z*HJUd<7Q78gR>W2D}r3i0|#8vfP*Hqe_qTnbgJ>Skd z2h44#>TMctCQ#563o=s|a-gSEs`_dd_Zf<%%5Lzy=|y~!(KV70MO&pa5?eY4Wap!L zj$}rWSecn6BatJjIwVD=04*WYAY?ZA0nAX?FF|2?&1ND9exYx$bPS{-Xg1Y-E*=^v zvP&$Wp#|=~Lu4t^OYpR3#oQx%dC#g>^F?S}(s zhq?M8mzP4##6xsHMO%-gjxz00$%;bI(sUVOWl@>5O42VGP>`B59cmX?Std;b453r- zTH5F?wTX7IY3sZCYf|4GK%kha`s>mbDY}gnD%m)L*S}$wpD5`DiVZQ#mW1R*fpB6q z56tE!l*M#Zm?%n43^M6<+POV zh$gLl{~8&hDc(&sCT~E$Q9J35#zJb|!@MU>fpEe=p>t}dO@3rLAt*kMb7u;@l{fFv zX{0J>6Ruh_6C%Zj%{Eu{%Fy~9i&Hq&pJ=`YQcBAoQv<;5H$Tia61F|xHQiaAEM zc4aZg$kwhd<``9^94m{IBA@iyHN_k=TiaI5F|)Pni#cYtc0)18%+>~qIcB!DqnKl6 zYdecMX0~=yF~`i-ZZ77S+1f3|95Y+HwU}dOYqu5CjaaYUQA~GRy>@3Y-C653ed<5M zT?g!M)U3wBc#S$cMVmA!x(;*mcBM@&AxK>e zaHW;&6gyxu@JG6k<(ke{`ZcDy-@-{k8^=k#vONwDC!4zZNi(pPho)>4?QpmA9? zS71jp8dcgp=!sjpc!Do|m@D)ehY;R8N@4khDZ93Qf_+U5xi~qCsM!28^7z+0`AF-z z#*xG92|28=sbV-gq5|c=5bppq+zQ0U1bS$7+A&XCb+&~3N$Er0!byoNfcV;{h?-~eTzky;m z@PhAfA|AmeQ$s*?T}H3$T(Xk>oJu|kCC%EUYl-C4Qdy1lZh2OL^80Zp(1I5T`9XO= zy$!PdOBM}t6_6Xh4Y?aGx$2U3)h(J$RrhyUMb2-mNK%e1kbLvfvpi;Jc^79%?FGjT z{h3vkKW9-uIe&n1mg9yib?sZQc{17;>_W4^V`l41E$|5++L-~+vB!fQ5p$m= zdL6D1AAxa;H&7_{iLM*?vs5I7`41o3nOZzC8>Ed@-uj`J#D9Uo zPR}6nojqUj^$w2UVzFFQ9zLeDIlO7(y0iZ<#?(26P-2G<&}CG-2}um;Xa^_&_Mi#!?wpv8?`f6b>y&Z{UV2L>z6ugTffS*4e=t{`gL;QC))z1 zp)u2(K(P=HsUvhtxeobQ$6a>rPvy$JWuYVYmL^B;EiGp5hp$!IN-INkgof&Wb!2eF z&cM@|RlFE&kJAy5M3L>=O! z+r#simuQEpu!)h zq??BO&L18CPMfOD^OPHIPnD;4##GIVX`gEaK54MhSY>GCU|XU1LSJEwYd!?ztyCc4 zsuD!qLl=fz6!L{hnN+U1OASM)q{maIt@XJ}1rhhG_Jw^XHKQMt$-3$)Z-(lkS^$Wk zZ5X?muzG@&AsATnXogc-SriYVuKrZg%VcWT>Mv>+mD}71tw*s+N!Mbtg@J~KPHO7X_Hom%=caGA_6D>-)2K!Q z+0T$|LRp$J%}Uq%60-upXEp3*$-f%@Seof11nt{;%)TJSTb{O*%xr;Dy8@-RtgxNQ zzFj#*8R+3u%2jg#uE7OvXJ)fuW3ZV)OvJK=g>`WgWw5qfvr0#oZO%eaS8F#7U`2#j zm%*VUGOpZgk{dLwi+f>U4tildcsDu=E!KC~#b%9C=*~JBlpLt8N{nBdoRvy7t<+|) z+71!vEmSx>w)C21+_nk^;fo{d%xmmhcc5rH?VRB^tJ!qhIhaU1e42xtcTLBsce+MC z!SfocVObTsrxxVBY1hR)#JF#|>45!qRw$7ec@-JqLZJ?DgQ6NhjwE%p=}aP!vwh#Q}V1GeC&tzTKsUl6R%`hsA+`31rH^cMu{Gru5+4+qxo7)jte zK|}tH*lSDHQ!w>9JoY@2tlt`qckHQ;Mf>Up!{Pd4Ez5$-nir4ZhsECD*pjAt{?=iA zG#-wP_DAZ&S6=xyR#)FgLBoGr6YC}X;cu)ohjacnY^Ogz`16+MFvhGS^e^j+k!Uw~ z%U0fkM2`t`OgwccJYA>6{%92iF4rAW*oc$YP56^G#DVWl@`pdncix02iI*mZLs3(L zeGLK{Ep2^gaH6^35&uAR5Oj=02)yaXUKJ~rr|t{_iw0UqI6RUFN0O#i^C7=b@VLu* zpbrEbCms?a-Yb9!0!yI0+l?ePxfrmr*9#yLf70feHKHj zb?;a7DW3g$vuCfqicshEDKG1#o_b*S>AHIu^2P45y)Wyt-G}$;ntKMmH(lV;eeMJI z-&CLhG1pV~UDh=~=tB2_((kK73z6^ScUe-PL>m@Ji(;@Fp z>E)E%kCSUZqg*Myimp80)hAQB8k&$ieps)#U)MM3nrE|X5@k^6%;4)v(~F>= z3&$V4vpALGyCvozMUNwbyP1o^%6RMu?vioOHplun-hze70$Y`Qx=XBc>`JQOdW?R% zRLA=DEBy=1;TcaDqsJB}BZn4`M2PG!cPBJaz*FRF;HCnF z3AnnNA?%)VO%*6wv+QTwl{g<{2;Z1dS245_=MY2Na3-G@sNFdCF?2J|2oMGC9XJd1 zPC%mXJ%A44SD^00S@eArkm!39&{U>Aj+7;&7%H$K>buky-26XDLL~`-s22&9 z+K}L8*^u9+k|%_^z=jstR6JQReMNjya*Fyqh+lzfz*+p#0w~0|EjWw+b^?krj>>hI zp)cV~mQg9NVThlbVS%Vbc((<(B{)lNq`4oz0<{)rvZ6qB;CzswT{w#cbQTGsh%Err z6#OI)fhZ5e%L7MRu#;-qg1~5#Paxu>UgcI;TbtH@0?f&RmW!bKLY#;~A+Hgv{@9G7&`u0Jg1g&> zUbLZ?ZKwuSC4Aqqp-E`kf?H=p)u<}Lg>2{n8~T(D{mO>Ulv@%#s1}huU_Q zW%Sn6hXPjr{ecbDqw}ID*x%U%2n_|$j{(uhps9WgHE4o>z66NIAx-_%hNhys)A*;U zr8X1-B>L{PA#_^RhM%FVQC?GiT#GD?#iF?lkmR-lkXUdKkXQx4)a-vTpWei*L9@4d1Zke@aCTx;^6yX570(&QnJ=F{_{$uo(0F5rwCig{Rh z{o3Y%%}g^;?{pO5=hlwkO!9JAQj2UJORB@fV9Oj*ci}v-T%$IRC3T;P@v_uoI9oZS zA-ZqU;U%v!^gkvBw-DrI&EA=0%hymR#Zk^u&R_zn9jU?f;Gwlv8j}QuR#k#={%b0g z#;wt&bu;U=PR@T!CF|V8m~}Y+EtOk~Hj&BsPpMQTZtaaMEtoAi{w0-M;MTU_oTznWVdz#XVX9jTc^oGvuC$9 zjB{q)6YFl12h%6;(0_wY%&yPmp)u91(f@)@JcdjjOmo14+jfrQn8`DTdCuc(A{@N8 znyAZ}rwwPT2GYtEJpW|!5L%?@4-4e5cwV1?X{5oM4~u8r1k5cHFb_|_e0~DvcM~uR zsOx9swPyl`{+J-mGeU3R*oS4|wHZ7_9?!s-Z%~K4?oR(_{aZf%!46 zcx0bTp>sJybY-Bu2%Z0i`XY4tyX^^NN5pEL44fRfvv6|c%p_lwaGo6Vvggh|FMCc~ zE*est$DoVL=gG225b%2Y85h97w1-fkS0&c@VU3HF#aDW>yI+%h{5}MXY*)w!BU5VnP>h5f_up zu1a$8mc|u19>ehPvjwro=J#lG)d7F@HW%S)CU-vBl_o2r2@adUCZogu!r1K?cK$yaKr`-1 z=6IOCd;QgSsk90n0fYFisUyLmBxcfs$BqT@nrIS#9E-2*;}eLHLk&D$$C6!_ zc1H~F!u@b*kp4Ug158gMmJICJ*xi%p2?iLEYHT)dq2?#EbKYv#H}d~D;eH$J!WTWZ z<9**D1d5Rc{E^-Y(SWF%oWk;7Z&vOYMQ|$`$<6AxrJJ8