From 54928473262c2a70bae4c27bfbb4180e79bb86f5 Mon Sep 17 00:00:00 2001 From: umangag07 <52677699+umangag07@users.noreply.github.com> Date: Mon, 5 Oct 2020 20:26:26 +0530 Subject: [PATCH 1/2] Added the full code regarding issue #576 (#602) * Added the full code regarding issue #576 * Added the final title of file regarding issue #576 --- .../Maths/MarathiToEnglish_number.py | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Python/Algorithms/Maths/MarathiToEnglish_number.py diff --git a/Python/Algorithms/Maths/MarathiToEnglish_number.py b/Python/Algorithms/Maths/MarathiToEnglish_number.py new file mode 100644 index 00000000..c6a60d2b --- /dev/null +++ b/Python/Algorithms/Maths/MarathiToEnglish_number.py @@ -0,0 +1,34 @@ +''' +English_digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] +Below is marathi numbers list + +This program will convert the input number into english number +''' +marathi_digits = ['०', '१', '२', '१', '४', '५', '६', '७', '८', '९'] +a = input("Enter marathi digit: ") +if a in marathi_digits: + print("English Digit: ", marathi_digits.index(a)) +# It will go to this condition if marathi number is of more than one digit +else: + c = 0 # counter is to check input is valid or not + n1 = '' + for i in a: + if i in marathi_digits: + n1 += str(marathi_digits.index(i)) + c = c + 1 +if c != 0: + print("English Digit: ", n1) +else: + print("Enter marathi number only") + +''' +OUTPUT-:Enter marathi digit:६७८ + English Digit: 678 + + Enter marathi digit:० + English Digit: 0 + + Enter marathi digit: seven + Enter marathi number only + +''' From 2c3b2b9cafab49b8e34729d60dabbb2f43573d9c Mon Sep 17 00:00:00 2001 From: aditya-gite-04 <55936621+aditya-gite-04@users.noreply.github.com> Date: Mon, 5 Oct 2020 20:31:41 +0530 Subject: [PATCH 2/2] Interpolation Search and Documentation (#567) * Create InterpolationSearch.py * Add files via upload * Update README.md * Update InterpolationSearch.py * Update InterpolationSearch.py * Update InterpolationSearch.py * Update InterpolationSearch.py * Update InterpolationSearch.py * Update InterpolationSearch.py --- .../InterpolationSearch.py | 25 ++++++ .../Algorithms/SearchingAlgorithms/README.md | 85 +++++++++++++++++- .../SearchingAlgorithms/searchalgos.png | Bin 0 -> 28290 bytes 3 files changed, 107 insertions(+), 3 deletions(-) create mode 100644 Python/Algorithms/SearchingAlgorithms/InterpolationSearch.py create mode 100644 Python/Algorithms/SearchingAlgorithms/searchalgos.png diff --git a/Python/Algorithms/SearchingAlgorithms/InterpolationSearch.py b/Python/Algorithms/SearchingAlgorithms/InterpolationSearch.py new file mode 100644 index 00000000..ce5bdb6e --- /dev/null +++ b/Python/Algorithms/SearchingAlgorithms/InterpolationSearch.py @@ -0,0 +1,25 @@ +def interpolationSearch(arr, lo, hi, x): + if (lo <= hi and x >= arr[lo] and x <= arr[hi]): + # Probing the position with keeping + # uniform distribution in mind. + pos = lo + ((hi - lo) // (arr[hi] - arr[lo]) * (x - arr[lo])) + # Condition of target found + if arr[pos] == x: + return pos + # If x is larger, x is in right subarray + if arr[pos] < x: + return interpolationSearch(arr, pos + 1, hi, x) + # If x is smaller, x is in left subarray + if arr[pos] > x: + return interpolationSearch(arr, lo, pos - 1, x) + return - 1 + + +n = int(input("Enter number of elements : ")) +arr = list(map(int, input("\nEnter the numbers : ").strip().split()))[:n] +x = int(input("Enter the element to be searched :")) +index = interpolationSearch(arr, 0, n - 1, x) +if index != -1: + print("Element found at index", index) +else: + print("Element not found") diff --git a/Python/Algorithms/SearchingAlgorithms/README.md b/Python/Algorithms/SearchingAlgorithms/README.md index 8b8cd78a..2268e778 100644 --- a/Python/Algorithms/SearchingAlgorithms/README.md +++ b/Python/Algorithms/SearchingAlgorithms/README.md @@ -1,3 +1,82 @@ -# Changelog -#### 01-10-2020: -- Added Sequential Search \ No newline at end of file +
+ +
+ +
+ diff --git a/Python/Algorithms/SearchingAlgorithms/searchalgos.png b/Python/Algorithms/SearchingAlgorithms/searchalgos.png new file mode 100644 index 0000000000000000000000000000000000000000..578abdf683e81f0fcb3e0434112d105a0dd5f5e6 GIT binary patch literal 28290 zcmeFZcTkhv*Dib`B8UnqMWm`UDT0C&sVdTY?;s%3q)D$qQF#ObrAn6$2@olvH$^}| zItkKiXrXrqkZe9ixMQ9I_=IiTZ`*p5xyvMLlyf?~%4V*RN_OYtY)N`yL2l)oldf@bR8xg^Zk@(mF&Q-ww3A;? z(NU(qa3TN{T-q$pC|pr`Ln+FJ&j%#GIfw&L+9{n1#K1g9n z%{eJPwPm6H@?-W6Tf-~(tfATTAuH|@Z~ReDRIu#1`?uV46p-n~U;yyq66F!6ecpg> zi}z{~x=WvYiKg8*v%Q7y>&KMLI=9n_%jjq)s%hK5uD3}Wr`C {7v?snAWfgH(1 zua#;Oe)?8qee)Lq!+g3urxf-Z91h!QUCe2)4pBMRT_MwK(@H_r;=S(E(U(274J-C8 zy1!01A}yrb`;V$z0|r q=J2uoRc-Kn3VzhZ=x;xq+}xy#kF zx^4V^m2SInjDq>YCtp;#3XhF4L53k=(ThI}aV%HC-dxGQIAuEO@RUc)l{&J~+Z)+J z8ZZl(PT_%o;jGw#q=p%js$(2}CU^}$5g>6=rKxYJHR6!=W?gP5rXzU=?|L^FOP02B zph;o4+YyTl53QNN7*|TlfvzXJ;jaS^X!X6js~9E|ux4RAHcBUBR|JClu*03ZKC*(X z$m+-ai5kn^b+N(qY7Y`MaTPs)X^MXcHel`8@Ro)ag#Wfjz-`_W8Fx(FZgB+I^3Z{a zdM1#b(~q!IEko%~ctr(Bil#g6dU^b7@jue9ON(_gw)VY=KIuP7eDx%7m$MR!h@$r# zHJIck*UK<1Daehj8$X_&U4XySztIU(dq>$Ml?76v_JA6kE(Zb-qEBsRVpW3&OEfog zKulPx+!y}X=n2mwypF$ Q^?3Qs5uVIz=@tES9kX>cK;O5VT?=$k 6=UW_;5Z-bwWYbk5|BT#AQRU+K68MK zaAlwJ4M#isfunE}CDp3OEnw5Xa}9fT?2gMX)Ei(mFHbl27#sYf<|c;*%(*@1M>NqU zW4;*tEiZz!ie>lb2_rr98h-uFWVq>r@-Cb@ofofWN7-6SjI#8aMYO;F!#KOY9aAM0 zm174aUwfak39hc`{2DKnmT?pzdT30?c#200g >`&IQz4;K%_9JZqchkuhP z$FydFydt-u*0?6${5->NnbeP`_%hiaOP;{&arrL_b8DZZTb+fQj5c`}4ey|0X98h> zv6au!Lzl1YXRaAIO(n?Iq_*Y~ZYD;At;t60xBW 58YEReTW(Mxcts_kG5Z%#ZZHip;y78x0NRW0Sk+%XoEcrSgYxQ8wNF z1)Bz!roytGEdp+bk3*UD_Ts*_4#>N(L4Mz?1v2u+qp9!Cbvwg*5nB7B4N+E~NhiVv z0kK9D4tZPV1nnv+Qn$z|9{P1m^df+@IYnah0i*g|m*U5Iq4R7EwdHvpvb*0mCvWqm zINSI5E?n1`pWg5M5xl0pWGu=|v%RfRT;#LY&a%X_ar7Xj5|uVEStU{_{&Wq*u~qjm z4Aq#Qg2(%{6+av0$hi)gpc+}it9KmjJRFZSK(0ib>Tp1jg(k=IzTdpKeR+>*Q^xZk z*xV(_1eZKyFuW?>v}BKKWWg;5wrmyrzB)ycmbmxgJJG 5IDa2&*D zs;a7ITO+?t=6fj|`u+wDu0`I9ijCaiyzdYfUd0?M(a2~n^f~BrPFA;K{MoSqs;Ytq ztW8cckIZ_73!UuEre1zn6~DvN;9)z0dP*m52-ElH87O&OK7iPiv5qCHXO!jUT^#{^ z6KS_9e5f}ufYJjAszaFn+pyw9dS~z}mtqG!C-Yc^L;v(HA(p_bw^)#;et4^*m=F7g z@5B7fniC8z9GJLCnao^Vjj#i1iCX&18RN`a=1@~`(RSQw@UT6>d=1EX3=xl@`yB6j z)IhO+_+%G9u3=b ^UX>Dq7E$@-d#i8b98mk--emz{$g6>d0~ $`xM7B=!jtrz-3%2w+Tr;fi4a1Bo zh|s3LYS*Y)dhj{u_sM| @)qS`(i48XqGCs4pGrztl@~z|2+UgFONTTrK<>|{5 zU|@&QQEu-bKely4TStqkE;KfQ?;!iM(yQ&+ zE3l_}G% z!C2uE<$bXtH(VcKY+qt0Qm$J~J(2Zx}mZ3WpDw3^( () cJv3julIK>clKVpzZBJtz%TH; zGLsr|e@XQeXIIkKvP#;fx>F0%n;$6?HaawXz>=5{(Df5XT1Jzs+B*-wX&>g 8BX;Mx-FFm!z%H8vg24Sfv{TiD}-? zNX59Vo+yn-Ul6Wz2*;%>JACsQ;yNJgui2_DMq37cwHBz7zI1%p#l#}KGKRjP$2+&S zHhM&ubW=OwR-WNz+tLjx(&7fdv%i4k+T)o>%Vh5j!XRfh?xC-A;&;FCQq9|M5E_XR z9#Ni17*%KwIu1KK$uxm8(u&`P5ANiXmr?H Yrg9JFsv z*RZFmfHRivA&&{jvn5XcaKpRTPbv}tTanlvx05)WKh{7h{?P=xOr0)?GJDrg0y(f= zlWJ*6R`fTD&7)?%XbjOgB$al!D9Yj+m`2nfN-Gq=nBW?GLtBYrymo6c%9bb^yK?GD z?u )s6^ia3Us&?Jz!5p{H-$bGy;=W5)PIlJs{+MG7?hJZ8P=R uqAKj-Fj8EUec6iXx*&iy6?pKpe5sWE=Y! z5K@&l>G7VZM0B?Jb^5zj%{}^+PnpU9mia>3o(zcbcLTk%RJ?PX2sSucsYeR*HzL6F zAxcya#Qx~+Crh8632^eb1?I#w29-uN)hqk4tr-ISXZs_SwxUzY%8oNTb(TPy&^Kq& z=9-5K$9^mJIIaG?Y>CZw6bNClcGXQQU`}{6a+pb)W(y=gcgsy9LjQo}R2E>eaH%+M z tz!dm<-r*%m-vVxX9E0!K67Wh zt69PIk{Ycf0;>_X^zlHUW3huy&v6hjwJaN6k9YO_PLzQ%3~vL{|1@Tfyuuk2qQDl6 zR&F7s!Qj{N#OlF|;fo@MLxnY27V9LF+Z0>+OBLep&BgPE5fnj5FADN)kMXr>t!Ue3 z+=m{e&zhd!RlL)+(EWknCZcfqBo+vQ!cVSww0GD(JHQ8s;{7W(xF^LepTt`0m9d*& zc^~h{564i*YDSugTYwy$PP81S)%zF8*~KUIm?$(9Rw%^C6HlOC!~jJ!4sWH>#PxAI zoT6_CpNJ3=(d3jIL<7m4h+TdGzyDQS6`fv)ajOH)Q(DCzM-=LSdg>>x2}VGf&YYby zCJ=K_a7!PM$k%jvRU4anL?HnX!`87V#KN 6(8Gz!g_;}baq;lXBjaq z0JW2FQP#C#W)gsI+CW*=t7kVCad;1~RM%8DLh5ZGbCtw#hG+!g@xg81*PrsnJ>GB2 zN)~{KD?)GB1(X{bSBr0(muU3e?=KdeeYoBjoO#l&P~hv7%m`wJTbX*~kx3btLb1IL z(Y3iOq&< XLlan+vRD`y$u|ug} BP4pkCgvsL9lP^hb;1oye0!E zWqu8p*Q{qb* P*`yOZ>%e{J*74sQF_9QxJi~xX6czSS@v;$4zV~Ou?F$g!+h9OC_%e z&HHHsg@vGvHS2FJi-PWjSS__y&25|}^vi$qsR)JKdito6FSA1*LWoD{4Ie|#KZEu> z2818>5v#6`CGAx{K@3m-t-7Knwj1RsAJ)=C3~=Iz(Y3Q{U-6=h=9iAcK=rqWb?sZt zgLBU*{3I6|BiCG5B8mnsWIKVaG{1SB?R{`Yzm$9Xo`IsX9k?1anq^=o8=Q!CtQo%3 z%4B{C5|>28*_Ik*_)4xf%7OzIh}G9!mbF`8gYbv%Xu9Y_1m;v!BV_uM!M($5j^&AN z*$36vzb2i&Qw+W*xb2%g1KRER1b#xiujaEu3|t0SX;F0X#Ou -Fe&{VpE~ zuF3;^#!VvN){mght;F=AG`N4kaiZBK@((Ct_k8fas_+ezXBlQ?w@c3y!LAD&*q%=T zjFoyV7W#Md#sB<*DsdYE*JI*4*e7-I|MNSn#8dx&z2yFH%x}9D#v?UQ_im1AQWj@A z<9d_6HAS9!1s3ZjdZM1r646g~S!|;#e}K3*f*cYTM(ClQ?mYnuL!7CH9h&|l9?c-G z09_VhbOtA*;vXLzx{`u@X*SsAnw#d$ZeFOBo8~0>n`}o$oM&7!Qme37$iM9YQ_tHS z3StXARR6tE>VMO2kxjx_-9dE$;$&+M*?Yf*<=Qn`y{mfl-xfHLN#TCCiz}SR9P3`0 zuDuki8sHyuZ4#)%nT&b63$E=umlq)?Jk^C;Du#r*>oa}jAD<^9A;U`CC*8r@2>fY= zgfEkl?gY!Q%7i5KruHU9Z}c9eddMuMMqhnOA$W@gdP;Ho9r*S3yBnXWp#T2$>d#9` z Qi5mW#~V5+^!Gtg#L5KRg1?G z(0{J_UwP#J0go9?``9~Pn`P>JZ}7?mTiOc>p_z49b@` V z_k$5mCAC@wcf~Aa9zF%e%TjONklj@|NRYiPK^HnBM47=yiFDNrUQklBYrl3q);#rB z&gR3k`&`l=Q`yYTxTRz{xa!0|D$h8KGsHTNl6 iZ8sdVzCNuQ2$94Y8Cc&yKpL<)^V-k9}&b EJR!Kg0_%DCx;tf59yDr}ASpH{1RV`eh{w^0feCvmRzg*hH!D_?$tK*Wqe)>S# z_a<`O76 n6DPigJR-fcz;EH*&=_)SQP$(x>dlo zPGyhr+fHex_R4}V%d5SgzIIhUQvEBs$kUj*Ck|u9d-xxd)uryAhL$*oGD~EV{#TDy zxBo|v)}cOJ+<`U&dbBq}K+P)7BENoWvM&BBt$NH?&%f{CI{W5Qa=~a@=)#9*uMa{x z_$Lo8D)S(<6!BAj(UcU}x#deqw2wZ+(nfz|H8>sO`e_68Wlr4x^qQ&E`8>YsbLH!h z!XvMz A?t`DrA|5k3RGJH<1iFi>FpUcH`(GMxA`F z$7ac2kELHIJa+{q7O>weQMtg (Hgnf!CP!Wq%HhM9-Ps|13h4JNgbVBWqsQDYQ}+s>wUh1 zt(t^%f=62-vTdl)u~!2BXeLe1OQv)^U6}I$PilX>jgakrY)-1`T;!ao^S=&3MmL2{ zoouo`qHBGXbjpEb!zYi;w$rfmrA44^>*H#_RK)B+uQV+>x7jVP(_QUElB<_0^YLKm z{K?;yy_%O&_^?OzoRItKEbve@+==(=fYa4pb1(Ld99Vmc+{@1v{%_iY%~}#hG`DqD z6j(J=<;B#Y4ZD-a?p|aERJ9-OPu&XU@3bCygNkg_)ogk$qw4=vmSyr+<;h%kFroFM zM|I-{MIbHR4S31s>(Q4w5gsIm#;Zp3R7p_^TbX)>ty7wTa %-(R9}bw(>D!nU z%5)|#8tN-aKUxB0zK^{0T5#Fs72LriT)sOnG(DK18VK**iWsV*z#MM<{hm}WaVEMx zwkH5J@`?=0Uzw|s!*$#ftPFJV&Ui+@ZlO+?PUmL}xOAj%XjB~_^2AYgGVL|n0d;Kx zA@yvMi#oJ+@7%5OqVFRc#3y`%fdP!6!YPA9WFuHwaB~~el`O9A+NM1=a>zM!Hcz16 zIz_hsuW7{gOxo_oZ$$kc-IiF%oEcXPE0_ZkEl0Pd!s14L4k{5b=arg-$m9cu9X?&{ zxaFRgD!vcolhTP`wXR}ets|~(eLdtr$lHBeMTTrt$J;`@qp$C7n2Z>YHPmoYw{={K z +Tit!rs{p5GzDzA9=NVsaku;@JVou(DafN-IHrj@@5KA)Zz zKZpcV_1A?kvC)jIyP~pd{dZ;ld}3^?Tb_#5b^oY}#-6wy`z) duHM5E=L*`%;jhQnal1%Txl!N{kvXG-ZF|m$7+OKIJo4UJkek4 zbMA5f5iID(Nvk30hV}lQrk0doW`Zs+(SIZ <&d`;y;H-*pF&KE3l>NS)=d 7>@Y?cDUdgrwA2G3ok zq3x+}WS@wEDSCOHRGS(Sg1eXhV9WF88~74NO0@WR1CzfpqU@K{-lBuoQrQ=MRm^Ih zT9>VPwi#{yl9FVUr4l@6U!WUfW*jlQ=Csb)vn$S14(8sgPU$}ZH)ShiW-jFIF{)*J zTQBMuz0@3M5qj9Nlu{#r6{M1G8nuuik$JR3ld;JBkcv&ZAp)ILm)0}ZK#H`|)aJ@B zG5d}W)_Z(6BCOZyl`pK>S8NSsV=5l}sCPLCg~_rKzKLf45YPzAS05A^;!$pH6V)92 z@wMWBP@8`@7M3w?C9F7N9(+wKo&0*9kW&{TWUB<5D${cBQu+~mhzPu0R7KeKtRnis zfLm6)RjrY(yZ#2o*A58Z!+T>`7tG`zXrAnr4*EI!QjP4?Sqaw^PTA{)|7=|mnp7sF z-&>59Xh33K@7Gu66MYJRxEfbi<>&v)EFr3z^*&WE?6w!Fq+qIJ`KeT+&y_BPp1IJ% zCX!E@Bu4ccv7)L?nZno`HTXIL_RYIODbZaCXyx(+fDNq;Q%!R2>SQpf6Ef8g+&fht zeX?|DDd8%9v-#0HeF@iRZafWCI?q#{asC!cJWQ7P>|6-jrT?e3ua0W!|NkE%B?2lU zJrooK36aq;0TGcBk(Lt45yI#godQF;TWWMSC?(x7i3vy!7~S!`ygzZy@BF@he*fFq z+1XzA-skK2i05PX@^y2!w4Y7RDZkcwl;0s7mUFL?+Nm7?%)C9850tI=B&rFsY muTVV9k}Wm3q6TRxOqF2vO2OCM$&XH-E4^l?MK5 zAwt{bynR4)&wj}&uG{ei1QOz@RG-u&qa|i^upiAkU-pW~k!=PVwAJh_CjN ;68s80HdoUgIoboE}*{AXWRm(cm0#UNE6XZu6BM zV`*?@*w-JuRw=eK+C_7l@IiaHp}PI22EEnUuID}C<|5#zGaloLg vg z8=8tfIxny$dq%I}*?$=*nHSdP=|5{>mi~ONxQzve`TR6$GubVPn%+b-V?TC@YEPnM z?E_w@F4PEzcVzP+@hqbr4wlq^I!REsOWl7)&?s=}xJCCon1b(U$`V#0m81S)RWarb zlZ>%y#?4jwG2hYe{@fJ3X6xib6+{zShc+qHSWMCaF3a3*nz-c-q2H@=!1mWl?eM65 zJh|pRjiM1vQWmt8?U-1D@Tk$doqjFoJ!Te+=?d(Z$~sQx8>>DQ;vc6mSHiS{V=tx_ zS1*%7Mkm83oDBFCP~R)*Q>Dpj6hr8GWK9ptQQHs@&{F +T;{Z&eNp2mJmP>` aaR&)~7aeO4vfa z7|j%xe+o-6G0gzMPj9cpRF F0Li@daweU9M$qh5 zS}I!hxA9`~SdvlK7hF2~P1MDdCwo%vk;g>AEzE?lye8tWJV2tayV!hIVbkLy#(|+B zGenIOnX5D-ARXje(!l`VI9ct}Bi9q_rKj8i{V9@j!Y}=d$z`aGwvwyKtH14)bQ;E* zRT)vBt()bc975B&7+ev&Pa&y;T7<4)Dh@XgAnRbp-V}V+d&~5%{F?)oWCh9^p10Zc z#co}NQp*mqwRXj2M{8J)6cmr{*-q#s< Xe3bYrMXWl zRFaEDntHc{KkNR%zyCqk@a^A+&E29(;VCh5Nunl;Zk=UjQwpay0}MfzM`KD7B1Xv; z1~_+)k=UJ?yd+L!-gK&GB$as**O}c~<6&w1{mkAjWl_(TRj;kbj>u(yY5K(3;{4qf zWdkRK=XhA`uBnlALBBTLwQ4Jr2+n)Q$->YtD4cTu?!yK2KkgF@g2z0$uO4&bK)Qy0 z0#D#$O^|ZM5qgH$Hd}A#g9nL-WK*l01C39A3qAd|1!Pq*1=RVvdBA=WGsSMePu9Ax z>T8wj<&c=t;WNcc<5e<{JNzu2Ua%{?%pPPZ;pEr96285#dUF1R%YXIdS#Gju@uFgf z+J~2B6_Y#R;m_ji%Uu0X#wPN{N~)WJu<$YO1_kjkMut!()7PL{MaL7FPQR`j&r5J` zzzkw3GH#O*>UQDuXSy9}opVyVlb%(US7X~)mnWOgLJE4E&CKrcgr*J_O=Fk=A#|-y znM^O*iE@NbRb9z$7#P&Nxt0K4$bcGFOq&g%@**bJ5t5KAL3XP@XRDGm;K0zykd?{g z^4GUWcwwR)({(HGW}0L93H7rTKZDmkj?=gF{Hh!UUdRw<0&Zl{JX<*@Q5A(DPwnhm zHQZqD`P_Sw73 s<7tGX_*Ar8 z{0XM;v(ziG!SF`!w2%S&;|L}VUB)@gNGpM6)IpZ9_j5k%;@=)#PmgoP>^MCGw70`5 z) Hac^NHf#{pCtSII{u9$u;%+@(wBDibRVHxrSg(jCHmSi#66KF5mO z=f3Psggg5|bsJ6b##$Xs^C$aSBhn1)5?xoKwP35F@act4RaFg7!7lWkHu1bTVc;R* z!>q#AWe4mxjfrsxc9-c-$)e557h7)mBae{Gr;QSqjtKs3y1Bt)Z{VbT8!8fX+H_Cy zDR>VCi}*fii_&VuQJxY7?)}U=X>@a?2KeG*k#y1P6PZ6knp_*HY@&4+sLN`5kU|K} z%b?D*15*mfDS7`mX(Eb;;P}{a*j3U4UoWs(QW|qw3{}S^)zqZk{d0F5qpo#_FYzkz zlko-G_uS$Szd|^JSsfnUc5YizUOwtcQ)R0)-BxXQ8tS #->cqKXK!MjP9_FeypAND#k&H~Fhb_;f33z-g$m64(GH7?RWpvI`? zsKvOwrv= M{1`_2^1@+eQ_)(- zG;gu3Ph5b&CSLy`zBIG2zShqb;Xv*4OB1FPbnm&1diid bG;Z!; zYmBdo@`P-K({Q&&5*UOd>^%6t9(hPv*pe@uT2!Y(l}djj-zj=M*}QID{5TpwSk|$d zK P3q8n|4kjs;_8&>Q9C$8KV z66g?7f+nBpoPRic#xH*Eqxr2m!Gn5GGeEaWKnWS0Y_v5Y=*;fG5?9cx1+ip(#&&+s zOhO4S6 46FnydH5?$_9h^P>&C;$Vi) zF44=1yjf_M`TJC-iLWskb*_@|gYU&UJVQp-+b~cHIpjEL;;^FmGJp7w&0eAl*~=6~ zk(6FQseSVKspUB_HC301`lRv0{6TwYHM%&bxEgIg ?mf=VxUhGk?!?@oWn(4b*Hb42duiF&!q2mPA z!u9pqH^!S4n?1Kjv{J1NB{?d32&p#!@!*4btgy%wwUr4NJ7=^FT;f&XPsh!*JP#jY z2f=^mAMw?4S&LnXRQVo95TCn43KI^~`wy2pKiZ|;1)$I8(QH;;v6Z_D-=GK4; =_p#m_p1yp5{sZ{JtF&i)`}8dvuozTv0Y(HZx^&f021%yR72U`{3k0 zU}vQKFsONNsVu)zb?0Y8GCSV{384el7|v#ozN|9)AkpZ#i7zlM$a#gQu2|QiQono) zn*~@qDx<3Gt(r_EN2EDG*(wRzu26-xRZ>%=wfV&JTK*FL1=KGXbEXnCEvUw0mft)E z&}i+KVXuuma`k5oZh6_h^?I$^vaO%Rk0+XNQq~!88JNRXs!4i8T73d_@B=`QY_TT+ z>)h29;{^ZS=NH?{0GrqpbTdY>I2hyyR;Mm9f(WGrLPlDO_@39x-ZuJa#3jz*q85h+ z(BEmK1y)&9lG2dms{qd*jIG(sn$d39mIh>LuLAOOooVZ5FuiL^8yPC#tI5X#?uz}+ zCH4E1*@sJ#sJaCc!LHEx8sFTq&lom_hUBh@p{Kpt_=kI%ziLx$2i& X&g xwz~`9*8h2xe@u<{eTQorN4x2G@|lRR)_Hir0YLWi`I)g zvZ|b@IvwTi(m2_e%sZ=#^2S9*{w1nn&sqKB;Iay?k-)uF1~g)?K^!1QyNZ`2l{v!u z;|{I`*u;|L#FZF Vw3JA}A;N4cwUpiH0A%POx9MWsa{^=w32F|j*MK|#-@r1}J-_G2Ni^>x>VXM )Bcn-fUEJ@CGN*hP0&!E_GQ3xRuv}eh z3-E8^J+i-Bcu};oECG3~TOac{mfDxx0Vk#pX^z1A)xR>bN=eh1vO~F}njZ`-FRkmc zkqqghi%yL&@zW>1i+FS!Hy4;2z?Q`~7O9 ne^S@1KW+5bhwb)lwBHHgy#f-0?(NT~gaK9KhQF*)ely8A+h8 fkRzerXTvd0x0F2^nz$MN>hN(C`9~@ zLk|bffCaC)h0U(=_E5y*Prg3^zY|!$vF!o_sF~+Yu8jfB-f8$_%}rULGu>V_(TTkT z8uL$g-#1%)GcS@GGGf;W`p4r$ Qu&TPxKD*Dn_+t5K zFy?`=X!$ovRZ#Q?16Ne}rx&bZ6DDt7D|I~SWhOJh!pVJZ42CAl0;mfhF|6W9RZYi; z7Vk^-IWyKo%m zw{Jh-WJrEhlo8HIt+cb2kalfo^MAuXVLf37tVT;SLy4ocksEpnv)6*m1@ObZ*K;Jr zAZDfI98?oW8D~$|w=dlj_al~Y0EKZjxzgs?=XaEit2~T{!5kVR>b<|S6tBcip{|SL z*@(d2!YV MgU;W@|B#mzya5y!;7VQlHrAaiA68*gF7w&_jhb!`uJ%a=!|H>t2AuDwWW@H@ z$qH#`NnJ%$$FofB@Uk g#`F!nZTMMXhfd$SpK&L=zM3J`rLYo^Llo`A(Qb=r?W*-SplsR-Lc*`%SoHs z7dhYUp5hd`dBV0vHPj#Jh#03L*AwZD-=1O>1!)&hLp1cY wbg%crk$9m9WfY!D~l`*Su{j&u^ZnQtK<+f1J)GO?6x zv}yyR9XksQS(@+M2e5X5nSlH2&+zGLb@(Rro;!TsF;k?N^z~GY-IPoCL!R|7eIV zOUycpg_9-+%gHX3@DH9_uEz_;5Se0Z*7?HQ^G_}YMx5;g(f~f?= xCVAMPbl2=W_OyJ*pjz3a ~ z0~=9s36q5-P^zytZCT<8tN&qF+V}Nz$z&-iB4TL6baZr7aeB48yPJiR)6WaU-=aM0 zexXb~D1n_zt|60Mze7k@ax$8lEQ}O;Qv7kD 6fPh1vPE>Q#k#4Z+-q}{jX!WwCM2c|9=Gtof2IuATWfOof z0!}e65_b_a6Y?pk%Qv`slxndnk nrNg|yXG8!%d( zI*`+7V14q+%537|q($oT2o TKg}lTAQT?u&hU_zU0d !8X|`cZN<$&jg}*xE{0 jD`M;T%_#)mcz~C _o#B z2`{?{ZLnN!qlX0>Ushn5%LL{1;BnNIqPkJ=-+qQM(Zn}ki6}nDz1*^zKUq%!IFAQ} zSls)TKb=-K<@|%S#06CV!tI@w6^XeSFal#gEx=e1Sju@}gQXX%bgSx@k_LEvgpNwz zwZ=RD#cCbgl(+-FoO%&hC(J4?ry&Z}mS2AnPP((B=<#_KQo|K-GBsqL|45=)*Bwu3 zI42uC4`JV%>FbWScb)m}v+iOFWoguKYyaAw{UxA18!jPI5qE7lECpNnoe^BCYfc6+ z#%nmQ;1!IajN1d|Kg}X>0mVv#Q`?u(Sk$!+2MkI;d{rEr+X6(y&tjd4W#4ca4ETaZ zz|2OlBb2o!GoIqb(K{`jwuIfUjVXFiaY5iMz Uv= =h;Dc*YadZzpgm(ON#+0@+{O~$q%@#dU8jj*w)1B zHN67vnsYGIy&oq%z2qx$HhD5d>$hM;mC68pEp|i@9|2C}+{XH>rw3&TRsm<> p1+ws~|wJa3+il*^p}mAb#_$L))}&KP1(P2mvn^8Qd2fT^0?0>-6ZAG7Lo z$g1S=kCpVe=hxp($#~$^SkP-Z2<;YK3o8-*|2g_xqP W@?iF+Stty&3L?7{6SO-_lBcj#$SWMD zuy;ty{2J-%w+$%@?N* fNHj%Cr^Ot`4mVLrETYvMN)$t*iCts1b%c|U^o{3_+XG-~JQT~I0 z6ZeN0z}}GfVF6w4g6Mmq-MPagybS@ed>0y%So |Uc6LrNK$s-6)o zn3lQy_C4}WYNvm^<-u|Hb$UkSgF>4ZXEO6T?HjcZ3TKXUk;(sxzQ}(nAD` V zCCJRoiT(Nm0YxhtoOsoz4V3k Eg&94?=6uSs?j-j{H77#>5`u& z5V!I#Wc};7rlnP=cR|~7mDUj*7o+n2z0@mBnl)jq# @CVEBuw5rV zh&r>`zU{R&_>Z3;PR&OyJf*W E9G;Vx z?RRF~ -`5<)R20%2@d^3uEdn;yjT_@{k*@b2doeTFQ=tWyM=o zJc)J!ew##ww=eDyhhFE)f=rraH*GwUdr^Aw*Q0p~U>7m31UkL9ucGx{c^fyY%XlU@ zBszBN^x@Sjnn#9rqcsvnJ{XN_rDqhrMYf2 SahmqLB7H)++*3P+;$Vc*2^Q#eBReUgM*Lv|YzL z2)jCc9LjjlWz9_BBC5o Ek89F~-mBmd?RfLs4l zNc>1FqJBy7U%AgNU<6j&XuDOPZx}K$_VA#DX`*=elXXxH5q5xRPl8Q>MqWzl_F+NV zw{M1;6thG|zKw-%nVM;a@VJH=y zL31Zjcyl2xS!Zds;77@@CNk%!%bnV@KXLF^Z#TYfn*(T_{`Y~?9Cmb4^I}W|S_6IY zBDD0^9eJW)<9O&n*L%|#2`?q9E&S3{Is+wr#hA5Ru!rg%rQe;OS(RubkpFdD_mvyp zVAv!beHtCV*_he8EJ;#2qeV@kRsK!*5k^G6+Ghz0R&W##&&mNWa2FoQRy^dGlvJ zkyev+@pRc-zALL{QJXCqJTh$~wjgsIvgNyYuD!pAv7)B}FxK?fStXcUrQDj0(PV_z zfCaqng2!+5=6^55a6C?6y3wTGw`k&hivgn-6i>txMd;{8aao8-bE$16pBBBG5bW (N9j&o1ad!plYp+ggz$+r)-Zjndqn4C?V&w0wuAJ zF6sCuMsJ6n{U}e*G``9ay`nP*>P_T7dFU?zgqHLP)yQ