#pip install pycryptodome import random ,base64,codecs,zlib;pyobfuscate="" obfuscate = dict(map(lambda map,dict:(map,dict),['(https://pyobfuscate.com)*(cryptography)'],['''-up)CYtoz~3MC`D&FUADKrnWV%sn$aIktE`SRQ1v9wCYr#u*Xw8;Dy%FwfI{lQmcVQ2-b{~RXP`jQ((#gOqLiCTp64Ul)Ss|(AM7TnM&1YNcQv=+}FGf2ipeW9m0G6L2D$Q)WZH9nB`|-Dx~?=0iJFuJaIT9vv*i&J?niLc{@%axth|(hb}dLiuYR2J~?&yc{CrjEy1Ox93Zl|X>=8E`{-(Mesmr4khW*}KGDC^T?jlo*A*bA1Fv1OfVOd=iDWX^k>8E9bEKdzMPn9vs>o~nB{r=oOyg8eSqvd$eWdZTcVNdiKKH~B%3#gJ-#Et_+K|O*l#qMeT_d>CY!rz8=59(JnI;t7{~kUH1_bn-Tsm#(>1fwjSN#Rk5zL2xfIPw*)kY;?w7qoje!}v}dV&omRr)jMm*=0qgfYDOgVd_KBAwrmVQ7#RUrBR+D(o7LYPXBxVy1BdhX{fS7lb>L;1em>V+TJar4-FLcEdPVd6@gF_-)9EMo~qXs?b5S42jiom@n_64Nc>EpOF#_qWLA>e|P~@rqlskXFG(dV#xisg$A^pM0RYzaR10hGy*>Ji|@CmG%^-eKuN$tq3r3AEZGms14wxlCMO&f&RVUvUoh`oCgB;wC%*J1Hc~cTGIZb9%%mm%d+-%uBn&sQG=US}P5ckS&m{eRS`aJ*BCJmObJ!?M=Uu9_X!%G{l2uIWIwJ{34|fqw96-SMN{YY{T+g3>Hb&i-^ptocfKw}64J#O%kjVyY=k$IKSku4-*Vh}`0v!yfh|IIJzY^_?OjZgD!)(!PFUVH8^$VK%(O>>(oc6GXv)-cCGU4#Pyil~!*Z?%atBeGrTQE{k8cTa<7}sWQMEq}KMLa{gb2WNWwrUYqdTnPqJrE852_+Imo?Q;g&+8#v4D?Ua7&AOc1_#A(F}Q;4rM#wL)>Ne8BFpzvO7;_O%?>*ZI01LxCvD~HCIng5Fy@D$=HB6pIciz`Xi4S|{B9l}z9-e*Z+e{PGlecDAm%YBsQWcy{wJs=yz1PqhhTd~MgJhA!KV(4LbbT_CzHXPN~+9Wf)CzjmBPZ~ve^{uUGI^#e>Rn8WzbH_%&wdm;=Xq>Q7SiD^RbJ(xSu9!u9p=ec?#7KA0n!&RtNc)je6H@1r?D>5N0L^x$0^kuPsS@{z(tVhJ)zb4eqQ8BFJbB9~`CUZX$Wan`w6oIE+T?*?EY6u^_ja$FA!4uogxe`~sg}wE1U#K=DPEA^&Qhi2B@-*zaR|9kHwo^IbQ|X$(fbA9$09rfF|pJsk&7sgKx+D1%{cgA%umHgRKM*BulBfV0LCTv&&^X8_4ktP+a#P0FU&>!kC|X4u{5h7!$JTWgQf?k~CR6Lgq_5fyTd=y;NrO%OcL*J^C|kkH5we9s&FQZt3u=gvCx`?-@UMh@;gr_`6huAtGnZM%|hBVDqF*dJ3)_dDhS7gECkfp5eP;f+57%ru9J{wNNYAQXc`6|67e)55((ZGfux%S1uGZx@2qb5D-WH=H8dA;VNgWW`FLww+4c13Q7PH4BJz3$=&Q@gf^LDn_5JOq{&G+A8jKDkvAv*LChK~+Buk*BbLzArAyBAxU-|Bsjn=9k5hf)Eca%uGq(7%xSHnHI4OWSUk@Tq@H7mO~RpTM6nL8dIJ@hDUPHj$Vx>N|69>r6#C8O=j)=NCg^i!_XdORR#p``D)M4+O?vGPOO6jro>FZp~-U{}Nc|F)b`G4mwBF)|E2cL2;fTHNI6*(9TBTKaNZKD8ePXMZ~w02L5U-+mxP*|=|x?D*j8w<}drG@0Smr-R>l2vfV`Q%s!<$AT4l3pxJrU)jv6sN3@5&?*R|}EgnaC2&zJ@0N7(n174-wIqP_sVS0E;aMOswWlOw*|*sb9WDG0jF*YHU*Cs+fR5vvJzHXu@{Rn{{rSR1KNoXm0o1uVgU_^>wOa!MS(PCOxD^u3IEtH{n#MCpH-p31CGXjegwTY$Oud@Juk1;Zj_g%bACcNAt*)jW`BlL#EG*zQJr_2vk39QhpHYGI1^sFZ_J3#o^!q)l1xV-^?y=vXbC&B!;7QGJP4}pUPV-LO_T`0za;Xc~02v7%}BiUzg7J5zcUF5bcMU0H84=v1$1zOlOeL%M~z}dP=l_7lLDQk^B_K(bJ=(F-bKEDi-#1Lw_(b=!~~9p2C($x4OY8-VfxjNvQ&maT$Rv5-({#qnDdn5uTv$le-IASySmZfr+o|3M^x@hA%H(W!An*gyn>`Uosou&A8o*$XbH|5@pzH6CdPd9gLLZ}Ozf27u`p_V1KzQc`|4$satN2vs6GLsV`caJ!ND%6t;1u&~>`8UxBv5~4AaoXkZR9|OCW(<0w0f0y50P-Y&c7dlCCEv%3%N)xvz^cD>I&~M_hWg;REpMTt|cDL^VV#$CPeg7XWnVj#zGR-1yg5v6nh`}KB&23%8{j}|2r+I0teHh_x&CiBR&Q2pwKeuMcIhW%Kf-WKp;L43=+zi1kE8Cu1a?wWyQZ++f$Mf)Cz+N;IhL$~9pZXSv_qA{G6P2z$$;HkaMT845YEx2SCPNLn)2^^uN(qr;3!agA6Bu|coZ<3XI3>U&5=n?}y&jGaXiaA@`s8NP9!a^L@B|5LP_){rmxasf@+y-`JKJem($HN|&tA}8Os!wJT>oP%2Rm6Oto0puP`*^k=Y*w|ou7o55@J`)aOcB@vN)^vY8-t5?DzD&OY5&~4{Z*aF=|^KEr1^URn^_ve2-QETDdhY9@R}4oy9)D;IT{nFAl@18=^}@sDda;%0ntS}J}X3sw2i?Onl}#wUy!=}X(<`@TA)h(f(&lh-03nLzWZpk_1$22#Pi-DJo-J~LSAXz2GVFV9d2w{G6)wMF*n;yX>RnXf@1(~0saxM)yPWIAohNOLzK&)?%aD6*!|>f;<0ARd3rMU*Ui^CA`?P-2s&xwbD9RTLASEFciT9p`!vXQ4+>?|D?AdE1C+||+G4G;(AABX96=#9b$?MKG*(WKSY$9V%J9qB@Ve;QQ#cR0@>?Lcw?Kj+Fq?T7Mx9@_PJ@>{=7IGt&d{9Rxk9%tO5)*RDWO%QHpGt&bOr9(j8F>?d&`yX&mGu^hPJ#vwZPT9qg%S5DnM_Cxr&mz9Ds$SwB<3fz(Q@`ZGCBp9#gYrg7;27ksWhx<8WiPu&<}_Z@Yb- KmZ-&)D!ZtDEWZY@UDiSrS8m0eheBbZ+Y5J;9l&tB1PRccnx3TK4*xs(PCbIX0Y3RCO*Ji81t5V2ah`Ls?3_NaIswfcc6FOF;{v?pP3=*{Lw2Dr!&Sur@(nHqn#cFjt5`j1J2g{S^(LL4Thz423-vs%_rYckJCpWAg0?%bgAIgT+>L#>`rOn%Q7F=dJ-&N5MqR!Ag2s3P?G2BQMsYt{OSqV5$`+K9FYIq=(6HRC;>XwB!-XaL%mO2H(vQnmHrXm;ox}oH+$`(Y$6)|Z-cbc=m=l=jOXPj*NuKwalbUHHa1ax=vz8A@lRvR#7!^KDn8=>dABZ<}Pg#6~49C-ZeDtF5lsWS`m_JDe&frP%KiB3IsmBwGALmJSnf{Z^@L=?PSp!L#C2*2A8I~bi9Zn$6oa#vfFH!k%bW}rGSh#^F%BX^`KEyrDBJqT@4i)y8$>LIux9$vn?=5cGG5i+4UAFgNg@eOw(Z%Kr%-GMhdN(8NGVdCp@sWQ+r(;)`$PQn^YhE2pQ%ph}w!=8h<(^V+=OVE;_DkGlkra$Tvw;E9X61Fk@2;l#oQpL)H$gD1Aiusio{p;tPZf{w0IAPa}@II>@DdOG?rCB5X1cHIc_M^s6gq?r&!#h$`ZmgawP%g+-D(Ho`~{cck{Ygyso4b`}3i3bqXA7=FaVPnCsLyP_ao5uTZnyU*9O}?YY4c!*#oy(*>x3W-VZ3aHv@-g%w)O`s-=;l>(bO$j(4Xhw>{7Q=={JKuDO$qrisZKG?c|7HqLe>78Emru6MPNth&N^JJDd3!YJkqfZFr+C6EX`XRIGRh)7^M_a8v1Y*&S|r@{`y&q6)5-`KTI}2X@gbr5780vs}jz>S$yQ{}K-Kek0oG9@%Uhn&4+=2mMKzs)G@F|sIL^Jf;hMJ+F?Tr)ePQ*3WmrB&&}YgU`ab(d?Qa3PQ&D;`IUcNs4KX3G?d)&&;(CWH*v>XT~nwHSsgJT9$(GNXO%--q`j)Oudebr#svDWy@o#9j;$V!RAJdp{Zl!5kxZ_{0#IE~DzWMCF>6)_G=)S@sJvKae;XqYh&H8=UN9>*Ub9btIr^2t^+zfPi>e9?VGocgbMJ8dXb?1-L*XFX(i29q8PPTW@S9%;fV0ugb}PyGbKx9$7GGl!yZ_7mzCAFJ-esWGFxI2AfZUXjVqN5I*;p{Tl{gu7Vog@`OZ72$%V*jb1N`-;cf|+AYf|K6Gi4cnKF6n~G9Pxi<&Xw2ARY$((NTBlxW#Ay@E)6W|M{lp>mqf1Q^rFK_p8%t?a?&Tc#&gbz-4EP@n;kI#UN8qBj*9i&afu0KIdF&q*~tF8{ShJe`idfr;@F=$yDkh0K{uo8H;WP2xRnYQkkXH+sUENao(Z4>ck;z7G5;f=53O9=iYh{`|88xQ!mTfzKWPP)3oa*lKFk^a*PYvB3RUA=6oG+-LB)%4ar!3FJ0M_+~KH{2m3f%un|0KF|PQ8t@X&V(=+9{Wd=YK(TgmE@^2ni(beZ8=Kj+@NXd4g=m#kYzAx-li%rvn;bAEySUzkJyd+S$T4245Fuis)+RSqsBD+Ew;)^5mn*KS<96^opF}386n_}i~G%TV5W(Cmpt%)qy3zj4ix482GoIWtIok8-uF=U#lLQ0!b8a?|8OFOGU?BhQeiacQa&2YMpqRAuitRlgAAvuRj_=jym*c0fEDNUt2dlmm1UMxe_yrbM^wh2}2>PjJJ^o@a?8IS(K@LRgwh9u^i$bfc^L=e&PurG0pbMrE6$GgST0LN(z^lK&&|>xA{y|CVZR>_)P%Tb&k$6Rtzk}(Eb{WhFV@!R7^mk@g>{)+x*T{PVy~^ZfI}Dwv2n3dukDERzCxcfmqUhS@gcXwd#L0rA_zm&<%N&uO0Z&KL6W7utKq^7td*tULnlQ!{6N@55#rcFWJcTzz5g0?^PmiL|IT<%rwB0#WE%+cGWW{2(d7w6dT?`s4{!WmjsD9E0VN-x<(-7_Jf5g=Iu^+*f%S1du2g->eM-4=W?>e%X1VW@k*ouFyTPh-=QrfC3ML+#2H|9#IVw6xuZ=|69ykoJTaYD@Yv)1JH7oJt*4(8&}L%+E;;}F%}@#=?>GZ>J#+fzeivd40_T}XL;Cy$tYH+nH-hX**_^t+GQ8$w>SHRqCqLIgxaeu7*+7TuUym?w1G&Sgn}44FdKI{~FNiQ5@FdWoiGVNSHEWWN!pAP=z1j*(A5(QKZldbfR- gxLQTB`@>l!&=iT_hfI4F;1p?~eCMU=gX!ISXFJGcAC|_u{l#YW*}r7%ofo0v2&amzOW3Hxbs?untLo=9;hk=E`&fo4|T3Z`(l*AyJlhftoP`LjN2&>L!_no=9+84Y-URAi;%Qp=ovsEj?bBym@2EJG2WvJKAj!O*CcXM1jJoNQztLHe0p#vXxrlSr4=KZO6*xD?^x0+2mX;h!F-7rigRQSYCA^5!hYp5fwPLQjvcILzT0IKF(}Tte*l#obsg9j~1uI?gK%-(|zQ*PyD->Af~He|TwO@xLQuOnrL&3E=$^UXN+IYED+S!H$S&>6-SFQ$vr1YR_K_gD{=Hbdqn&NR(I6QdV8woI*bQA>F=x8d@Lg0y{k}yJqnh0>$8IWg(7`HK#X*}X^yizN@1L01L^ac(biYLD&P3_tY!U29G{_f7Zcx(Dg&>gO$S4BR!-gfpSdRfxk6||MCIc)<$pL?sg_Nnn^lYFDqIj)a(rX*Ek{M|^-iQ&?I?7U724Mm#S;RxZ+W;O;6Q!TMqzob$Je$uqEi6znq%~Uj;qH!7CQj?6nBmwZTU#i>M3Z1fsMa$`Q9lV&GqF!@K?txtVJ>j-*W{|tc`(&22MD+nDqMMeX)fogle2#w-~7X*pS}ZC>cd3u|0^1@*p4XauZFK3i0+>dR}*+4sM%aE!}p0!Mzm0hxy@VXqB5nQET4zKsJ`FH#*d4{qn&MH(^RRk{nHA*wu>*3y>!E8|_YeulJWz%!-8K&>v~RpF&c*R<7^((?V+K@HhhH(Nud{G#P!&j~`CzD#?30nE#4u&a-8r|4axbZoV?eG}1lvFLnC2`vt^LoXI$J85b91T$Q3XdWXfGCZ%EslSvY!5tB3|9lJVTI^zLS}yDKuKKg|H;wsBRsBLmRk@s_XOWUQJ?vSBTlz6fpSpxi5&GsNf_Bjdq5cy+cNot9$`|`j~@0Xc$5GSdeSf5DphME46>xJhqZ2@L+Uzt3~T(9_-3lG*`^~zvPEKD?nK2}DC|T@Lpq(}D2V-Y{K3mTQ~bRRN)|lt^*Dw@^Dmp%uep!r8a!3nU1Nia%2*uDg_Jdx=%?+(Ae3nBCsdb&*o)-AZ3<80{Q=q&)i4K8P5x*}lTn~WkbaU=2WuFgD(Xr1$-6TA`3oFs>TdBEkMgX(-aOOxDr-->aEnM`=w1wZ7bXm@f@Y+5UGmO^ZUN*Zovs8U5FEwS^S&uxz|B~7sA=Tc!zL2w-5ot4OmY0A6Cofkd(Nzj$L=cI}g6-kZEBIeFogiE?ryW{DX%Y%VaPjy7uu$20?vO`^Fu@f~K7J+D^4d9dqWArzLUz@XMHusU)$ujBmu`^4NiR0j8E8<&ip!Nw-kE1^FuECQ*e(4Lgue$*)c{`jf8HkouJy0}mm8Q(U#6%5GWro2YOlsTcKnooAlCsUfg@IFT3-UvW5+|wo*$hGeazq_oZFgpE;je9A8MScij6z^Ifte#pXjG?1RIb#X;>TR0ihA&J2R-~WJ0#`9Du@i8Z0mbs+25tm5DL*i$LLWO}TW;niXMoK?-3RbH};Tq#>2Wg45zekj_b&&I%85@j&b%K5M7->Vo+rZe4${4bUpKMM7)pIxH;emr=hR6Q18x#?}ku|yIU}(VuR%J@6>7UFs6b0R|19A#B7UkNronGSbPKx*dF+8-~2PLXGbUtGJ=0&`7{s2{fH%I%M>eZ}iXc-WFF@&|Z2d@7tet?)c+nN&Ss|pl`t3jqWsGo_hk7dmN3Gb8Fs$Guy`<6KnG1g0u(gV&5}`-H4aE^U(Mq;=Lx=piq3DWMvVKOQzknZz+WeQzEroX+mzvPv3frl<^dzIpgo83Xh%D}^1=30_Uc%7@6oHDX?^NYCTd+D@jL(#qGdV}sYu*!5)*=Eq)9ulw57ILy_-j(m3z=Q<9Ay|6890NFlxHmh=P8bUmghtbQkT`7`aHvjogm|7I{X&cN7dn)BcBuLCH|E9ma+%i&ig6txLzS<`L{=_QYSa@o;+@H1PVZniUOPQp?LyPdZaE+v-`vrD~p;Nm7O5cS1|{D^wbyVhGwloznTc9-RV3tl$;~H{FdFXl5oD2BdThAfPARWLA79UL#1KqalBX_a*nqtMnA<8RNyX;k#)q*OQScWiBuO_0b&@;;sN+lP%28_kYiKqF*HEqo)pkem<72&CEp?ojq$1wIA1&z#y3^)2U(0DmJ8;*PGl`NjWri5TskocmzF;Wr7=!lR6-@3vyrEjnW@UUm4=4nAHLOz%hb=`F*{iCGdC_JJ$+Hc3$1Pj-WDOF0A=n~>f`58*JM4~&Sb;H8Pfnf%rQ!V!u9OyMnSA|>^AQlt@rL(2+cF8HV};}u~eU*@-i7|nii#1Q>|-l7ct%+0n`Wyf1V3J{(4Ls#+UFORYS=X`Q-fYkGh2=25+?t$