From 9ef5d427f9e80e259f180e799570556545258b4e Mon Sep 17 00:00:00 2001 From: "Nathan Brown (brownn28)" Date: Sun, 12 Jul 2020 03:17:51 +0100 Subject: [PATCH] Add files via upload --- Concurrency/portfolio | Bin 0 -> 107408 bytes Concurrency/portfolioSubmission.cpp | 54 ++++++++++ Concurrency/ritmo_rhythm.txt | 37 +++++++ Distributed/arith | Bin 0 -> 117560 bytes Distributed/data | Bin 0 -> 138008 bytes Distributed/distribArith.cpp | 77 ++++++++++++++ Distributed/distribData.cpp | 65 ++++++++++++ Distributed/distribStatus.cpp | 48 +++++++++ Distributed/machines | 10 ++ Distributed/ritmo_rhythm.txt | 37 +++++++ Distributed/runJob.sh | 7 ++ Distributed/status | Bin 0 -> 107480 bytes Parallelism/parallel_portfolio.cpp | 154 ++++++++++++++++++++++++++++ Parallelism/paraport | Bin 0 -> 31696 bytes README.md | 1 + gcc commands | 1 + 16 files changed, 491 insertions(+) create mode 100644 Concurrency/portfolio create mode 100644 Concurrency/portfolioSubmission.cpp create mode 100644 Concurrency/ritmo_rhythm.txt create mode 100644 Distributed/arith create mode 100644 Distributed/data create mode 100644 Distributed/distribArith.cpp create mode 100644 Distributed/distribData.cpp create mode 100644 Distributed/distribStatus.cpp create mode 100644 Distributed/machines create mode 100644 Distributed/ritmo_rhythm.txt create mode 100644 Distributed/runJob.sh create mode 100644 Distributed/status create mode 100644 Parallelism/parallel_portfolio.cpp create mode 100644 Parallelism/paraport create mode 100644 README.md create mode 100644 gcc commands diff --git a/Concurrency/portfolio b/Concurrency/portfolio new file mode 100644 index 0000000000000000000000000000000000000000..597beb17edfbe1f8a416447ea3e6def3a684f2ff GIT binary patch literal 107408 zcmeEvdtg-6@&C;OMMVgT8WAxfSU{wC0Rho&APc(?ASMA3(M?Deh~{Oo36H9cf|dwa zs%WXz7Av*XqNR$IQVLO#ptTwwwbWWoE#gL~jY=(TvHU)BX3pNbckkT<(f+=FblWg{ zXXeZ~XU@!=Igh=5!<#=TF(JXwpG4ydgPz*@c@&EO#q;+}9*>b@oML#43ygurN#N>% zKh5WnZyFwvVjA`YFMX2mmyExhM0z6VArOHB)RSRosB0%k^_d@!d}VmUJ^ZMlVWcSp zm7})qeNa6DmZ&cpK0pn^C!LtoCr$lJ%_CG;%7vwzhAGm14R!yhZ}e9z^x{Mhp6J;_ zz{peonvi(uQ}AA>oW7@Bs~!P8>WhYhPi4G@y4;m07il`P#Qir#sD)CWn_kTE;R1Rb zzFJu^Z*=xoE6Xpftf+2SeCgtx(U*?S9$8;AGE?=NXQmUij@oq7BBM9=BU_(=QArq$CjTV*Cxo-`-nKef7bz zUq6@j+2K4FC+Na|u?s)Bfs>r^F73S0rJa9w zk#miU{$9T)s_F8H@x`nA!e{inF}_pnR9 zzU?CaOqcewy4b_X(1VlS=AfMy8vTu?hf0)IXRCh=V?5*#-gr0~f2Y)&F7u19V=iI& z9vl87(L?%~9?h!YDUj0_^4q1}6zGLMh4>@;TyNtaC~`L2@Y@C7WUJRee5((YmtArR z#kA2zAh4jSraDj`Dy<6z0(h(qEvyTcmIrPKE(w(3TPSD*=1eaNW#p9ARF_wTD!|=X zT31mzuQE6>!`p}=Ws6G#wGDN_Kx0K+sG+oy3QR2ujh$CoUr`pQsHyjtp?pT!!qU1x zsIIgk1ccXH)>zO;#UZ>Nf@T!eb48=M0U4tL)1+C9@Ipp* zTNyw_L9Z9Z!7?Tg0DsLQAj<=#m6bJRTt`UcW?x@ZQ7!eNQK5wu^;7^|&d3M^>MMi6 z+Q9spIxo6Bx(tGPo5K{>q}zDD~B!Uzy>hKYXSaWduOU3}|G!{t%V>m!}kk z=4Gbq=G8B$4+X0N!MeJdx(ZQZT~IY$b!2QPSXWh14gFL5i$Y@-1VfmTf=;?DDkX&$ zqW4*%^ZF2aROK%Y6sHHgMPmYmMf3bc*@2=_f#Qq+H!75akx{D4_E%Sgq=_yg?a+am zhESkpexR`~bY4Yc1`S17WobS1yQDT4sHmP_BQ-nOQbu}p zO{il25*o9JRm}@7sHhH;QE{qlZC1nTv(BO>PV0BeZ zdGI(SM6{V5tS+x~8d2+D)HiVFYGYFRDQQ3xo9yRY78txJBf2LkF?ojTDablNxzt2R2kgH5ms6ToE#${<5lCD4pmMlB!B8s*TALCkC=m+vI%zgo%O7k(nb$@%P!YfzKY9ksbY* zV@#YqJ9mOVkTEhVnv!9CM3hgI|4}ZPh`(g~+e7`)Ghy`KNeW9i;z>46MpoYw-%bHc zRyg7y3Q3{7Gr{;JzUVxz;Nm5x8Q{*xJV+m+zhR*_^shLDRtm)y`T%^_<(b~YLhk_y zOecBeN4|rZsHagPWfrRElZ_gAe(h&B;9IhBi#(SqdXmvB&!J&=W9gA-tiv;Xj{KlR zL0S_CN^hX2v?DB*`$@W#U>>WT0})HnVob$yBYax(svsaHLxS@7skWMlfX-h%I|k$@X5cx(Q? z*@8dQ!oSUer?r~?v{>+GX(ZrY3x2o--)6yIV!`jT;Lo<;+b#HWEcmbmpK8H(TJYyu z@JB3oWTEEgp%V3-Y~(x>YxK0>^_~NfQ!IE|cj`~71^*R|1WdEw&$r-*TJQrc_;d@N za$x<*vEWB&B%sHFPqW~C7W{=4e1Qc&$bz43!Cz#-`<5N*>08<3Ppi`m-|a1-9^q?1 z^ex-n^I2v(HtJQ7jtzMo|Mt1SgKzY_kcb`a$M6~Q0zFem=x9^V&(L!sJ-4Xm?ev^P z&zsfr6ZA~3-?3gjKT6N!@*Qi`^AG8nT)m@7J>O5yG<+Sk>iKSZCfDvLQO|eMGr4p} zfqK4;p2?LvJnDHVJ(CM}q^svTdhSKfY3liUdM20cNKw!8=$Tx#!%)w2=$Tx!qw_yN z3@M~%a>0&v^*n{1$@Mzg)bj*-CYS4IQP1P(nOv=7vwF^?XL7NQ_3C*zJ(Fv7tWnQ{ z=$Txkqe(sYr)P4Fj#~A620fEYbd;#)Q|Xypp`$=OC(<*yK!-;?|7#VV$@DwY)$_;n zOeWuvrk+2bXENQ66!rWrJ(J0H80z^=dL~ot==_ZO|0+GF(Q~_ceu19J1UuT)^E32J zrq|J;p10F8nOw(a_51`q(^S;4UOhib&otF^tWnQDq-S!yjwbbdKRuJnb=0coyXl!i zV@C;|Gydvte&sq}^Si!f`#TGY{jDvXS9uIy>(fmNw0?Mw#|Xa<#>4abT##oN+iKtl zGkupX1n@08(%aYk-lD{7pWOy|$^i~vyNgK2+WTD4M7VAAr1_sdk_3KV^E1AuKlqw2 zq0RTokp>jrPK>_WUkx3;*4Mm;%fBn-n=bz|#=~gnI};_tw?Ki{?&?`~gN8(Otjv{!&q#825$_}k#$N&6TiZwnq;y@wJFFsz<= z2!h+C%pt@werydVAWm_et>L#3(+>9cH9xBnzXihAypN=vjZs3-&AEmZv9iZgE77Qy zgytTb@WrB?)!xoXmx@q+Pmlg+egb!>?O%`r4w6_4qE^YRhgP7SptKNW3UjTe@7t+= zt8XXA+D;*L=h?G8Xj5zWxqmBBYv}t}?obnbzZBmOo{1i}KpaFU8*5im2&E(mHj(OC znc`daL8@=%8RRV}|EGTfDaO~ZEj$R=AauIw@4&NRbU zwh#R4iD5N$YV5Op?rvG$(&zTMXy~udPO4kgcfFZ3@hr!f}AKMj2I zzJph>2`DLpEmBgWr927lg9tZdE~-I8Axa}!sD(FDJ#0U3Q15TuO~WiEL?NO1=A+FG zN0!}uG@-$J>&-`w9YY)%zw0AtIQ$%*w)ezf@1)0FwA&W`GjME3lOdU@Ekva~wD7Z_ zvO(=6LAz+i58n;7M7$g!hr*AyGa3{9M0BzW6`@kPNh9W!rW>Te!NZUcCN2CPP4HE; z7%$v^nXegqt7qbmd_WEPtwcqY(J_r{Zw+q(_4#Ml#D-9+uK;-wwbj$pH};v(NL2<8 zeYP6ohleg^n&JU3c(^{&^6f1RCvPM5MB*veKmnS1(h8Ch-5WHwp&gMMf03qNgfUf~ zVsD{R9XuRD5W#zdfASCaUO+)U&37yKY_kJQ%Ahvc)Dt_6T#Npg?cf2BNJCkah{b@s z;aiy#9t0FZs!b}jdsz!K)fz5Q;-d5}y?Q|nNerdcSaY>UHC2n)1x7VpA#3fW^a{B< z|E`TRG9`-KN5QVS)>*ltjOld@AEqd{j1f8&^Abc}qnM*@L}dOh;u7ZM>+M{LDALAN zY5UgGvy}VLoRh^S#1EDo;?^i*VDo-MwcCJc!xU+bX$?QCP&45HKqs=Xw}u~MEG&qy z=2)euwo%O>Kv#WK(}<}x+=^%}gA{2v+~+Ko}N4oD4#&l4Wfa=U`Lk( zy3bZmPgrPVbOwXnW)rcN=2tSKa+vF_<RT|Q`^<3c zK}CBZYAG5cjp(Ylo~61T3Yn{=cymF| zg9CNh<(9Inly9i^M8{ASais#oH|!Z-bDIy@xn({xKO07E0AA0mow|iEhYo5gTR9CPm8E2HP6o7h zy;$vhMy=5OV>B4u2aMy zKc2QtloU1-*B0SCkMmKe5@Ci7yXkMLzu;&McTzPHc4krEFJ{Fk;%gS-Sk(rlhjvmj z#~8Urr}i15C?pSCP1>x1*h(!oq+I3f>lu!nJnu#-aMjKXdw~W`d1c8#WAHt z+J>$co1z@&8uSrdn<=hd=I!irA8F*&U0*>a98N%^^eje!FEaO$jyio$zng?bOk}1` zf!jfiEN>rt#X%FOsmYnL(u4A`@hgJk@XQ`}FFB%A^bL%twT(bWT9l?*M6GV7r!oFqRFw=m1Min8=gH_FfstDKdBoP%w504@a)6)wN z4{$vd7Z>`JlOSNJTDX+zf7pjv4d0P5SbC+lJka!ll#W%Rw_hDXoy%?x8x12^XlwWk z6$c%PsnAM$p9cqN-j8YLpqYj(3=|rml=T5&xgi*kX&OBhO$~4VfJ!_YPNa%?`S=~x zhRF7VwrqQFRato?C5Xw}0ko$;QmIe^T*)HX*sn%B}om7&uJL|SnLY~H;`*GcO+1+GPk z<-JN;h_av&wD|;8+lMF0=PaWWYlDrD;8?o5MuL7HuQ!|fI#P4g`0>)KJ)sTQq zh27J6NWyld>UteV_LZ0($!u`~BRkw2S*_n?Hy<&~EQn&5ng!7lXg~;iBkG{Ya60_zU=1CNLwfkK{_E5xV215#1EqLl*_G5(Sl{a zubh&98kwj(h08_dDW;>Vc~N$BRmuSpHvdQvE#cop=i9J;Ra?Dkw?YMhGybA1RPi>c zN@=~M9&c2SG`Fk0>2@)Z=}M=DF9A&OY+=qL=F7a{MQ3PCGVuXZPp2#~5 zqqdMINxaCWbx*T(ZdvaVC%A@BX`L0te;4!}@e4;YYl|tPW@Kr>2BJpK%HL2;h*+SL z{@bV{i-bgo;*omJyCS1oAZNz0x=L)8>Hn@~JJsy?3Fs2h-hm}ZW+ zs<8*E;K@zdTA0>e$^ex7qqHlmCbO_PnT@6fEZd!?CbI6-@eqVs>R29KM_47PG+|om zm|(5L$!c_Tv&?h9qcTw=xl?TpS*;$O!~{<+P1+_^p|h*Kf1}5@XyzuLTRjcWTHXI5 ztZ=-J@A{NZ6?vA3oF>=)8N#TvMfWO>so+T-iCulRczfH~z-0?n?@8?7Va9HsY=o)o zQ_VJyaYH*LJjZu3tvp8`Q{F=}Ia=OHIvAl;V)dS(z(l+u#f;3%&jw=UzYo&f`AcHP z=!X%09hsuWXjAkU?Z@4a*fC19jL}=*h#I5cP!S%Z7vFIhqi&7HNS&X?j>ZMtB-?0c zsXY2^IG>0)j~Mx<7){9xx}CHn-+Q`p6{2Eu>?7lw78#>vnqqmJo_Q;#E_lwtb9F5# zN=Z0tCb-Od1W5ws5^RDr{7Gi{+?gCnD0cA(QJPH4NSMu`4)XBl@>d4i@|zFrqD zv>%;-cisNS(CPWjANrc#39mvc4xV@LTw-lLK$uR)*G787 z7ALycMCZF;rQZ#hJ%>wos^%&`!dD#4K2v`ZP@QVp#Pp*5&aN9}|K%i=_Iv0w7e{7i zL*rD~_jEgsSX;w)SVw>)K&#NKd5$=S1fW2~?1>5Pq@peQHVw0~%62HD1YWJe&old= zZAJAXDlffAF>#Ew=pQ;)yDTl#Ji01MVQ;nf9Z5A#}mK8?LI3=W#PH-BXsfRa&9+-g!#kJ)(4Z|=y)wHnR|maF<`(KMmw!EBDG zs0p_kRN@S4X$@bAp=TMYqMo!#$4)thD7JBrqzEc{Md^p_IaQVCee&p-Ka?B87Qxwh z1yC-z>Z6JjRg2i#{Sk`Z+lsOJG1voDl~1E7W#5VcgGIe`qm3}=7Twxl>(di3rCKmi zI+&t)T^VgV2Y)gwn54_eU~!~HNa3RVA}>O5ZEN`_E^R%-xve@Ua~=uNQLjJ5L=~ZY z2BWliD6rzuByStS8+|UY;37T@`?n|{Ey|N(z369VJz6I$2~t|amHT4a7gdj%P3gy5 z7zr%8)Hvx`C@lUQ(E&ola!+BqB97to_?66J=k0?M7}wV8OEzMe6LD1DLsJ(r?s0NN&;nA zw0Bx8lhH>O2=RE64mI}JC#MW?) z8WObx`#DjBYmTaswy^ou6$D0%8kg3dpq?MhA_2A72I6UmrfkKu8vO|GeVxYo*>DQc zIU@gvzM2=#BGD$+cdDs+(|4jdqsF}ooO%SKJT;1o_F>e}x2lAhzdCI^M5#B{%Kk_r zq+)5JlA(euY*|uiI9}w?Msn8zY+FVw0i#0m2maU)k0T)6qbyZ5&mKD2@p)fKjVaWO zR&o%K1vp>dpjyF^f>B1J_4N(HwgVe&La=k$vZM(oqBo3jYxur{sGym8h(*ofo`7x2 z1zrJiCuunRIQtxCs+OKRYp?O3F|FZm(5N<(%b*;^T(m@e6#(tw)L_}uJ=K!)WtG^5 z?@^X$&Uf0xFh~`2QZeS?qBh_WbiPM)4m#=F$H@3Zdr#ykGDlNSOxxn^dei>Zm7DjaO4Z)g z-uENNksMouDJ1IMg;q9pDK6`nNnrJ-`$-Mx#|*)EG6B0CSA&E)5@U4L`5g z$()pjt6T$@h1a%NeAuzz52@hFR9%qf5*l8Vy;qm*UQCjqKw(RYt;UAJf?mp}MqEfX z#9)82jK|rPEaS&>eqde3Klh@289xk6vW#E&l2TBrEaSPoI!5XY0!rHLddqW5EJc;$ zJ$>uu_Sy(1sdFg01O2PK7h|OsWr%gH;cv-K1Q`Y%f2!`yk$bm8(oKkle)?{d4qDX>61xu0Hg%xw(l*GvyRi0oT_^RtyFIJ3_3R~F#>1HKK9auZ zF-%<-!6>Dp-`(ifCOT+R%K&A&_xy_J593!#DlE*> zfgv5_y%;zI-kICrNt@9PKrAATaP{V1(^OQQzq;xjaBL=yi?9vuZ{CBQK-?BQuxmCY zng8Uuk3vZA{N|5kGw@1kv=Y=B{yNra2Zx&5f`34X{N{t2JXbB_lmbp6rSd6y?zOqs znPcPIcK2XE{Xex`o^mjP(3fRpfU$X*+DJjL)o8=*EO;HRCeqo5 zk}bc6z)GQj79K#W^Q1SpW9qo$b;{RC!0G~;q)-7^C21P|4x0v{SNaIuCc9x2=?@Oq zMywX~*mcBI!y;P4zfn`W8s6csP$i>Q+8dkYq5pQqdfj`dBC)E7HLDJN+SpROvDjBw8`4@!jpLXpg}$h#Ft z%LMHz>wcx`h^#b{^&Ok6o1UYi~7es(@_@6LxEO)F06Y zKI%@DcyR}g6WRBom)I<)+LV)Gk+X;N6D?;7P&PT-11Serz%5QpqH6mAdW`&%_96>@$P|GmesX)5Z^0NNO5@pQzd4EIP`e9C)=? zqdHJf)>6l;>)i*5Rk5{(j~gp59 zM?_b*W3GKAsat~NMx#p>$3Zt3b2I%|p6)yXcp`ZlqOt~zm?WV3j?u4*tP zbWc}eyju_mY%;0;?$p?byeU@1e~l?(jVt=$Y^^oiq1s~2-Ic8hm2xm!XJcD>Di+mU zGM&~PrsVE0^@wE>1N7c(T>z zpbqm=>*=o@f0?teX&0{^HB#pF+P&~qtSef>^Q0ROpibWKQ0ONGy$>4^dFuRGp%)6e znYIX<>7=_&qS8k+|KKr?ZWFW~dyPr0;d7B!>q{Wu#Z5L!v^lM6{WZQu-NV(25O1R` z7qzL@DOV)5z41tBE=V1T)tIgOn%Zp{XCvG{|17_MBKNA?=3}|D{LP={&h$6`F1I*; z^^o*QX?VrN>PvF~i}HuPm+?p6)1M__ZtWSq7WYJaxBoRXu+Ig{;TUu(|3QB9r+JWZ ztlwL{WzQz~#vW|=0G;i5&9!u^BKNx7z_V-SkJS91APXi*#6byh0^S)F`>Cr4Rn-LQ z7A^@btQr|w95Nb%Wucn7apUl=LG>cLK-t0|-UMbr2l0Zz(y}04lvj2`ptOPVK$2{K zpJQxYjH#XDQD5d=$#9dvR|OswIJ=PPirMl{Iu0`EbC=Nf3H*=1p+!tzE>JOB{@E<$ z?=E1z7X@y2;kOi3U(@GuxsRpXcxmsxZkDf=@{bH)Ir|0L-(zX7S3kE%`AMU=d`O@! zzxPtc>t|gK@0`mD6x9ashQI0%zcCVTAXGz%H%IE1L5@=IkHlL6Gcp4c=zVha6&UWI ze^SAuM!cMoUf_t=vrq**x`w{51n8$^%vDsBkR513NK#pSfN{;+jXnWR_XSycWFOVG?w&PReD1(AaCIe zl`e<~So2Vc`d%RRc3e6}NnL-Fl-G6>slfK7d-9!il+8MdlBnx%cd6g3FY2YE5gC#G zi@ic$qpkKwuPF6*WkeBa7JZ1klxsZ}s$oEWMqnDf%2K_;vrEyseeEJI;k=~F=v~_r zk!Ykmb?jIzzHi2vwFmIQZO4wS1N=GQHo!Lk_W}0!<*{Q&0J8y8@usQifH{DR0cQjL zik|UCsap}uO91Z!Yyx}LN8vxe<-Uql1a68~Wz$1W100-_u`P0!}z#PCzz}bLz z04@gH4Y&^Q1Hf&7saS991Iz?G0$2dJ9__y#FbudDuxB5`cmZ%I;3t4Sz(lNz=nY!q z0apOd1KbRFKVTc+%YdDL9e^n*7{h1K9>7h2vjO)2E(SaWN9XGSQvq85?+0uLYymX- zLZ5(XfNueM06zdM0ZiTveFF{xTn{)Numx}yU^`$fAiYHRF2FRvjes7&pFf9o1GWIJ z0DK#8Bj6Fhy@1>HpxuC(NZC`)#K9NWWo2Oz`^gJ-xpy#0doNF1e^`H7H~1(8-VKo+X1%$egL=+@RD|v2lN7_ z4n{u#J%9uL47~wP0Bi!h6L39XJ75doQNVV;&*!KzbA3P{0*{y~C&%a57*U;BvrDzzu*YLk;68z;wW80Sf@LJJ4Ui zLcsNam4GdP_W`y8z7N=Q82sS_)C-si=mX3LTnN|*xB{>ha5Laxz&5~>4x(Pbet;>% zF|Prp0}cf&09*=K3-}`7I=~MBw*ejj+y_X%ggydT2$*^a+7IXf+yhtw_$FWz;M%{U zUciljZGiJWgq}uVTmaJme+cLSto|F?3%C|=1>oa=8v&Pgq8#7~z)rxs0aGqT90W`U z{10FO;OLLgUO@Wg*c!kP;ATMj#abKSe!xz^0Ux9MNW)kNm;<;4umtd3z$U=qpFq!m zb$~5^n*iGZUj;P2it^aGO9Pw$SOT~TunF)9!1aJ{0qzCN`8(sHo$hkHvo+c!}vE~8erN#peH~tU%Uk16TxD0$2^$1b8ptdcdCnwg5g4*bev?KqJdAJ_AexJm;S% z510v90{AN63cw?P8v)P$7y1o29xx180ys1q@c^(EkUp4x)hA(Tp^>mSCE>hYC-+>F zaB>Ra5vq-aj~zP(lZt$t`T3p9#J}!Qv^^1DdZ$e4ojRq@X^VO`8DHyv+3>8vh(Ihe z5AZX{RkCt>r`(Y^@${2spkkqy1AYWLTpyE?&`V7Ea-cs29Ybl-uQ%x%fbQ|QJAF6k z{XoamXO^F7mfsI_Z_ri0b^Sq;o}7T(4fKiD^0%1u!Ju#X`LSbXSn1PDdLHPHfZp3m z_nY)`(AR=a`i%7dDwDn(^fhtl8$e$LdS7e#e6##+&~FBPyp_Jlr0)m)yP&)2hjtUG zeWlj&iF1_zYV%;w-vAw{nc4mVQ+^)kzX9D%zvWUMQ;u2wI1$L$axfeZu+_j^k+aH zMFq4zYt42(0Q&Dichlz%&|d-ldTV(aQ;DsFrgrQH-@% za`?|A&?n-1@;jFPN{l42R8KzSl!DJ~+$upY0R2`fp!=J6Q=}cMKz{=Ci>-8vA8i7C zTO9c>g8oPx`XSKQ#-aB**)VPc-AUinKYIJcO`yB^VLs?fXIPeze`JhjUD({Vy zKMHyy=vh{JwORjwQ?LdCJG+%k8?p^j`B`)(gXSLEuhc9_vF*>_LzN~ z!j%9|ayCHDBj9uMtKFcl1$`KJBQh-UZa?S`g6;u4Kz7m3(hiJAQo9+K zN1Tea^H%qEj#GXU=x2cLmgl?(`XJB)QT>|} z>E9vHOXJAz)yptu#G#J>{qi{Ue9$ie-K~F>pbv{veii7cpbxdSzs&TvO`xZN?$*B- zK`#M)h_$?BopA_svQH;E`9ZJKu_puiB5Qe$jgn2WKW2k(JNVrEu^9A?pgZ{+*>MQ; zmN@0tg8n$@ZsWWK^qq0azYhAQIP}Ay-yetG4;@mL$`^ya7j(Dr3xU25^bywj7nto^3;KT0FSpVcoAfQ9C;q~Hd|n6rD9UGB%h#CY z4}+e9@^1R=mtq)af$r3Q@{?@PM}q#mRX)w#ySNTQ(>ToqUt1hGH-R1oeY#yvUbLJI z;Oo83y}i3ZKNEDf@!Su3LL7QB7S^3;2c`$p9ym=<{TK}To1nYRD|w)|gFfC`-m?BK z2mL7M=~lXBeYza{FzN!=NW`cem$$ z*vLB-bl3O~I+b_RQ!(ftqW(eF`mZ(X4}snZ`WP#{j_DK=Ur)i_E#!yrJ$bf85B}9j ztCE-XNSx2SRGjpd413N8Kh>99ZsC_YiBF9`>YW6>O9-LYpCXIsy|BSm2>Jvo{bsY> zBR~&7s^4#>;@mAk#a z1^PJ9r&`;SI7tbi@<&0R54zhp55QS!NgVok(C2{ewaSN2e;qZD{JEevfu3olSDE^_ z3G}<;$bSIzRdMJ$K))kS{cnN333N9*Jqr4Lpu5G30XPd@9;g2Cpx+XQJ{R=Gapd0w zI_V!~Y1*S@-~0j4NxwJ}HtEHt{&s*~1p1{`x@BMSEzoKF-170GpkD{N)4GxTYAzbK z5cKQtJ-NwZj}*5p?Z`{TSt$6@t?jVH^>WZ32i?stmV>@44t)dYZJ-xf<;(m?cD5Vz zP3T@yv06|wXEpnE`fvx8(Pcz7K8V9@)4o@;I!^g=(9`13mxF$4 z9QhkSzXWtAKUMJ$c02_1$IzDKRkm?@*tC~Jkn-FruRwRxYd;LgPh9BKju8B49q6jPVM{y6mZZJZj=7LCtHpMX03KS35&b66 zYd{~5?~!(bPN@*l9{_z7=xJ8E#eQ}O9chDE-f}MZ7U(ylyi-3Z-xv>nxB>K9d{6Fq zk0;Uwoo~!z-II7~&j?H;o4^lX)@M0K%Ln06&>_~OTh3uCLEixSa4TKbFr?R2pg#_J zl>d@Wd5expsdj7u-|xZa7AIZ@eLv^`W;-nHJPg9Spu4rR-v#g;(B0aZ4f+AlyK3iL z@b!7xy`49KJ^*yL@p}OD-k>{;AC1Qj(2t@WZu8n(pi?{D=tn`P-)a?F^_0j5+cX{n z()f;KSN+Tb-w3qRE#EH(eI)2^?N|Rm~zlUMavc2eS_+GA*Z=0e_EapaNz zwrP2Tx|X*I^5)>q=@7_{)NR?{d=c~#(4Fj>^hEwk<$r_k$?2B*$j6@MmQ%a?VIcn# zr=D!klW~XDt)8{0hsvvZzUE%fO_1|L$Z@mp2S8r~x|`kX0DURwm!ZuOeKeZ=cnkFV zKu@>QEqUot&>sOk$4a-HXAigt`>de5wQoG=o8riy3;K>Y@^1qD^*HngKtJR{r}5kY zI^7}8x3-_ga)P!(&S&<6Z)g{MH1541G#`9!adiafb3l*EH>~*|=(ok8SAza1=;N&I z<>NdR*H?kQ8+5mQwoRbF0QwYb`9$+P??uoL$0>gZ^qW?@uM>K~vEGa$e+1~s&pEdb zqK#GXzf(b{d@Fgn#qQ-Sj+#w;Tfo-~d~=Df(88A(*``zacmVZzz&Dx->bQ5KY2Q0Q zp9Q*`KHdVo33MlYQai@O{_g-?wRe`K9k%wCgKq`+RD0)G_-yUXM@2ip=hogz&|d}J zZC+jldRrX&CeU939o;hZVU2&FzZQpn2=sk%=)JyzyY6x5BS3!_bcAiQeoMZd4|;nX zdSw^#SBZSL{%r#N{W$G=5%fcG=!Zc62y~~ot^6McHV5O-M}U3+bciwgFF7KW&j^ubeq&Vf*f}S6z{1(vrG&}E;=b?SCgPxA^L3}qR^iKI! zqPKVIT}j^FX{(dHy@#&q;p?4#$4S24Im=F-*4tCrJ14hydT#Hb6MCmj=$#7w3B7x& zd!z$~<2MqJlSpzbpJT@odJpJG5=u5qvHIZ>@Vj ziHXEOfBj1Fytv1K1mpV&J)Tc6{w;-jkA`0Bd*DS;PYQ;rJC-ygq5mLIZc7;R`^1C; z379xmCVAVEjJHW{f^L!s?|FHT0wc&3Mtz?Qe7V_>ek1X{pvPmX5v>WvGYQCpA*1K$ z9+w-1#Fun#LZ9*;^$E=hr{0rbJVZ^>l_{EMm<#RvgtI30crF25ye}c)=Lx6&D#3Wu zEUns^)Fn^Pi9Pa-5^nFQbvnkL zp9cP?f&XdXe;W9o2L7jk|7qZV8u*_EzAz1}Im@GDeXT#kT6xwL=semEf0oP~8vje% z^BcBjT7S@|7Xu^Z43GMDx;!7gil1>*qdt2dEKv|gUh0z~P_0GreV@>2eMg_33=I6I zeATt9b%`E@(fM=g$^3kh!eZT@$j@r861WY*cpARbCzXMLD;H6pB>l9$M19k1t$jjJ zd(ohrEPOb!SD&2T9tAai-|76U+g+llcsGGSUH^aN8d<9FACqTMuYsR>s{Zci#qy;1 zmkz?Be|trfWL#$noG-9Z;2i?*6ZnY0tpfK5d_&*?fu9OI=}hkD*#a*XI9lK&fwKh8 z7uYE94uSUxd_>?@fqMkLA@G2}PX(UTPwE$VvB1#+CkdP-aK6Asfp-YJPv9d0w+h@N zkn}ov;>2-jLnlw4IV>%EWX{M@X_@I6qtZubW~B`+43?+)N<)mlG;1t&5W4;(VO5-y z=!s!WG7^nqM|_eIa>OSa+P|#Al8hb^zlz46WN813#-D6B*=-WMS=)Ow|0#y{n`r#0 zhW4*${ArOm6OHd>q>DX8<4-r*Ec(~9B%`;X|DEKT;X`+=0IYhjIB4@J{{uwc_t%q==p9 z`EnodB>&gaem!q|B=}bZKLpS8p_lR!|EGfgDx-~T!4Emxqc9pjPw>Tp*YoC`g0B`l zwhYy0o8Z?8exl&Rz$X~}jgKBKQ5Za`&p#BtkI~oGuU?oC6W|wT*zo5H{!APG62bSg z;ja+TD9VUpt-gIl}*;;Co3sDPGVg8;Kn8AHLM1o-bGb;_j5-?e(q|eD-AK*Zt}b!y`F) z;~B5*`D);C{XOQhT=?(zG5?jqaW4`_C;m;qll)bqnSYS*zbyDv(en_&zXyC@_0cyj|rZBTSoX#hBJPV;LpKSL3sT>$0>q;SnyM_nP0c_Rlz?slkwUf za^WB(=Y#VZKTPB-6}*1Ww34MAdOea!zGFn?xQ}>34iZ#9`%f7sL#8CxBGip3d?_8 z{2IfjKEIyC?X>4bw+Vle&5!;ecwe4Jl|R5@jBoX2`Rm2bwfw&ezEg9~j75)Q)x7)*6{ha-1I`GsU{eDob|2GBy z_=VB+j>1Hv+HbSBa={OhxRfUC`G(*hwdv!8SKDEc z;4@{u(EO!>UpI#9JtXxu34Y@=#%nv-DtNnp9TEI%6PbUu$eDwLlEy{9FZBw+F9IGW z6!ZC=@V_ql*LwR{@beq7NUnu(2tVm(Um4_4d|ICaF5>odUdDKxpUe>ab%NJ^T_gBm zY0+|iB=`?)F$q{J-j0PdxkK-9>RzOy<}1?hyQo7ewQKFZeUYGTtk4t{LGx zUQ2-|JCIuTKRZ>d*KA!apjT`8#a(`GDZB z$z^_RSG$0BiW`3r{teR3G?9PKD3)J1i{-2r{LO;5=Ls(Z?etjk5rwIRE!T;W7SA*f0#IN7eulcJ4Un}{Z?$<4X zx7$fr@V!O8p6>?3(MbM}M4xDe`aCZ9?3o_*to`&y2!OskFl^$_ zv9)ss@TAZ5Gg-c{8zJGh&kI8@=QyC>zn>}vN`NQ%cE4UD_ze5SL*bGzX0oXB{;)cdC3H-44zT5l(Rjpa-BQ8@PBNJ zSFZ|wo!Fsn52ZKM-^TM;&RGV3$UO;fk9)TY-Y)+I;GOLG&%$qydrNXze)}LW;G^y5 zPlC7aN1Z-_`IE;n|Ea1Jet#qQJ8k1~gWv~W$oyLV_g(O>2>wHfhgv_uiCk};mWJuj9!tfKPGQFWoKtM{<~7%Rh56%fG_Mcs(vp2>y*s#y1%J zxfmTJyRz?Nd{^*0WgO8R^*I?1Lj22%Jn9+YSA8A_Uagz1_NeEfj5b~n{!~BXb$g1Y zu$;RtV?3r&^|?{-J`dx6Ao!%I%%3)#@ml@_!Ecjs(RLLQ{BqHc*5^+Jum8IwBSroJ z!S~N*`P$x2%jbHteT>)be-wD?um0~lq==k93IC&4F#k-!r%YoxxGwk1D^N#TY*>VEGT{GJcrg`(MfUoHWMYD)?!Fw~zZfz+Z@cNPP}C zTlo7HvK;$*94|jr_G#b$e^BsC)45))huwm==S%Mk{+X%FugB%qB9?E*pI6LyyZv|s zZ_i^xz|(kbJ%{DzNWX3o{=&hGNB7m|hl01SU-k*!ZVyc`Jo3}j5iCc?hsOlpPwcs` z$bVVzDKcJZg8!@FJ;f|%h~Ud-vHbQ?j7K`8K5Kzjao`%pj}-hK;kU>0IajfqzT(%t zh5tu_pKu||(d};+ynR1&5)6a-Yu^XnBzXHi>d99#zkR>x1Hl`YbG_Q%$IW5>7(W%f zeSAL_ygh!FTqF9K%ks0Ozw3af_S?@jzCD-mZ^}4o{cjb#eV=o;;O*;zORi-(_Bgyn z@Q1`621$ELuVel*2XZ_0xU3btF)SM2Ciqh>VEpwW=ZXOLSO52{QUzZNJoUHHHohAL zf9Ltp^4|x(Z{oSe!iP#k0)tP4-ySz^2OG(^`^BZDjK6=BM+wk&b(!G%%w)XQ^GCp+ zp*W-eIcpxvNxh2s2MT$U;5UlDoG{+-gELBfA&nRC4rz*E0I z8{$!%I&S-hPx;M)bS`7aN; z)C)Yt2mRky)AsON;QJ=_F?!Bs`G$Pn1fJUYpFxb*<8{G&#@plhB*EMFALa?(eqOv> z@b>+s*94z>5!bs*+Vgk8+w-W31>7F{dUL7Z?fWp_7yMOUWBEGHZxOtGz4?jY>&7wv zxze697jnIc1&sFzJ|OtpWd0f=_$LH!k0-we-pS4{tYG=}bB!y2r}?W%>>tCVKGTKY zzOVZN@M_#;UeNi{0pYjrA+JvjXBI;Blw4f-)>jC1aIG8eOvH$`!OoH-n~;;{&tbSQScwy{OE6j zx9jJODwb1}&T_QhT`PF|y@H23I1h?liD9ohoWe_ zR!w65;nJ_2g16^Ie*vD_qyM{eIu6jSQ<7spcgU<|{KdZL_Jjm)-&g#x;Ma?O#!GwN z0G{l8{h2IB(8k||zwlDV=Ln(jMy@w_IpZG_{G)>Zb$`Zd`4j4dU*f;Ew|@!VZVvOEXVE_b%M9={~Q&(eO)}cf%UW5rk@7jXSvhUytJ|!Q1WXSHP1!w}^k`NP9jJe*3w=q9rWf ze$V7x!Q1aCr9|tevYth><3aGE-~mcTm6gQhXYUJ{>d%{65!NX9{4B ziGF5Dd*-cVIj3I8{MsMy6})|4bid#S`I)~!lnefM-stv!4|wwH^lKQe@KTPny5d3??7_Y~1ToTW-M;*}={Vd0RKjbFC+xM}5Ciq>Kv78Lx2qwt05 zU%ZD&@JG`aulsf34_Utb_X76`-fri61b;y0uYMxG>S2~+zgO_Q;O+Z+=WbwoNbkq( z5iv$7@PqK+vEi2qzvk2MA;pjT@H0IMrSpUi!Q0P0bARNl&zl54PvVK5XFnGFsUujv z)?3;m&i1?xc(Ox#9`%aC>sFiaBjLC2!+iJ0EXRIdeVgFz_rcEI$o%&8pjYtr`=u`l z{ydu<*8YU$*!QDW0#AP0GMn{~BVFkCDD&IzdlU%%JDJR{^|n^<_B`!P!5!Sj=uj> ztGy@>e-3jgSzv3&c!-_?S*pM$Rxy#3rNEclh@ zvHam8-`LFZ?RvOO@b-PAn}K&~|GmO*UpMU({3e?|vwzO@zA5dwLfSJ~@OD3H6ukX@ z`=14GzsLBo;O+j~_X(;u_LHUXxL-8Hqlns0W(wYZp7My`?e_^k6#U*xSy#1a`_BNLPpF)qSZvbs=x zsA2y6k!408FlAz4Am3k990(ZY!MfmriuzEnE)c2;lvUPL2kXI6UK3bQSu?M+GEg3> zsjCl^HY_&EYN~20gP~yg$kAD&MmaMD=2ui#1WN1bN|ywJ)uFm2#{9a{s$ihJp{i;L ziddck;0#5v*4EU8=GRnK)D$($tE#B4uc)aWSyo$X1m+Zl@-xQPRs_p}iz@1afwG$F z`cPd%SqP;3jGRDVL1Rz(F` zVCBn18|{37`iklWl|gSoEcX}(?(&NI+R{+jLg9z1ppc3h(k?0^&1IEVqS2)oNT_=O zBS%*(sII9C3P*Z*a6T-6x+a(mj9nm9V@0KxmeM93Ay=@+%PZT2O73G$7P7U)`8Rm zAF6|qO)AWt<_&nK=fS?&*!6e3d?MiW34<@MFjC=+Nt24a#ew473He?s6lI&`(FpV! z#~XpXtEcBq^G{Uz%C4$u4EhTTCN&m?MmGk_plW|neNid?@p>z~-Wk)2LK&m$g2Wc6 zBV7lp%Yy#mfHym|q&DcCQ8Wg%S}h|Zt2($S5E(c>1dL|;92M}x5B(6B8JJK3)2go^ zzw}RXtG#G+08PMWY{YN;MH2%4qTB$GjRnPlyxJMX>8b&cnh_{&fV==n_2*Zmd#6Bf zBRD5!`in9GQ@r>-!&+vlL!Z&MX@RnZ!Ll0ymBDInRl!umojIh1%)l(ApTNA*`k<+# zyi6}SEpfy&!0+0#OzIi6D?8vXEXoWNR>ZVURT-#XSXvh>57dV0ESk(nSE^Jk@#b6H z5{=AOK^m_9$bn`}qNIQN~ibKCEyl91L6UKCus8ot{*$qn(H#M1f8Xjp?Q7CIc zFodznRAUvVSx_&66k-t>A!#BbOLZp@tPEBmUi)XmB#T12k9oB)3yeG)senS*jf~Xj zht%Kg;1`L!8Tps*+>z=jOVcDADoFMP(yIblC!JAOCgakSUyftYAouZw+0^GB>5 z5h9eC6)37jPaCQ+w~~n>`qWmIB0e0KDk<8G33Oq{%2~kWEu0E|40e34jBYiarUmL3 zmDUEzOGBm5c_yhE9l(r=*i^HKd>vD9AXrydQwNv#cqZrjCrq3@JCHRpJD$y)xDp(P zR!2Tk&4eyh<3;~07UwUT6qqu#XkvilB)Lwox^x~z#`*r)^>x#Wd;!WmB0)8(oI+|&Rq0~H`lS%ZsuVBF zrV+tl1dK9Gu+KmlV=-_+1PmAzq8%a|@;N`O92<@+cLX^Q$rt3t~Jb ze_lGr+)S8}S<*2U{NET?YlxW?@S9`$Il>GEP|bZsQ$=O}P4CUf#yBF>BYC1kypFs$ zG?p?5gpBz$QD$-cX+pM26JU=s5KLJXd3HlJB||E|LwG8ysa@h%CXkV(X^gbapU6{@ zT~=ZFP=RJr=IJk(ii9ZEn!MfuvO znGKnP1RhG(+|rUMoR?4(GZO%sKy_rYucuw;W`LMg+-jao9oXnfAuh>d#i^G?-WcHoIFR; zRAgdqX6j_6r6EA+bXMCZ8^kCIrfO~cHG zjfI*ey7{Bakat$sWMq{$V49)bhO*N75C$-iqcQ$Uc#$Id^D8sF_)FIxWIx_Yn4Bii zGet;So)@6msG=U5SX>9?&0b0EFjeXhI(0gNGc8K25i{L!dWK$x#0< zL`-wC$T)sA$F)bxdf!!@nf_RHItg7IGi!YbTRV{jCAOKqfJM1|B{U`=Ht66TV~>9o zgtdB69vN*BZMM;-4^MO1v;nDH8-_?*uieXS{7$n*7r6~>G?=*!s>^Z6b3bRQp;B6k z1GIE3(rISQLJC2627HkckXcYc_h%fGC<>`%pJk@XtSHA?t`K!*iB6p@fwFCLDT$Ow z#f_p+WLE_YSk)DxMH#U>mf)6fr^XHOsovr%v0codq>Cp!iY-h|FBFlPSCe}E!C}t$AN-D68M>7!V!7^5#E5zxU&$?dE!ImKHSHS`3C>L!QOKot7eiPlIUnDDy*#nw@=r>tKKcDv0FM9ft+yM(uX*o<`EbTJd z($c8hfvhlQ)!j(xBE^DkFRrsx*Rs*Iz=A3yWa_wtPGZ#NzTJ!BuOPdfi#w0#SaS`I z^B_Ow9QQOTHbY0J5jh<5H>;y}v9^bgOh?r0M#e|yDn&>j1NjKyICFr;kYz>oR_mAG zl(vfZRx6?c!N`mZ(XLy26%jMG%>}FVwYY^YeJq>dn>iz*& zmKx_cvsNTY7d<(~juTI5C4f=djvC|ZF8btSB5gIpLsh8z9NUt4dRsCQQk=Vp$vzVa9TCl*V~rkRoZx!6P1h%OQ5zSdGY*MjE_&y5WB2% z3Q`sFu*ee8wkMG3^*b;6Gjd=O<=Fj&tu&U_RnYNAMtXHksAB#SI-IsG49!5~YJFp5 z0Z)k|(p8uk0&gUGIUcn|wvVuF%d3As_KZ=!5y@@_G9(;iAz6YDOBRd4qIl|_$RgX} ztiZTME_>)|8yeTMN^$!^omYE2IGfI$;16Vs%u?aQaTfrCo24%9m}gn= zXha@4wZiI5ExE}E0u%KViU8+F?D?5)@E?V-R@p*bO+$$G8636b z?9+VYOFPTa;Y%-9Xo~}mC0A-r%p{~Poz2l;+NL^ALo9QwL!+IqG9U$mqeWk3unEUW zl!G{=J!%`y+%vP@#p(V&Rpe~ToUYM9`1*<7wc>k$4lS2W9%yltZ20Q)rZ2*ACCc-( zYcmfRMbudqpQrLNzY41f2~>g1k(ncLO*r1IKU;RC>^o*Z(&5rToOCM7noiNaT_k~1 zqZzrCsSL?6MyfK=d(WBP3Y=p`k0|AwaSzYwq~3ZI&T z*8#j?A3JpBOyp!#`lL3Jynb;LfqN>BZ5e9@Y`HFp6rN6xWnI+0aLqZbY)#P7{_$)( zi@DljN4h$&=El$+SU&i%&g!a`sC%=n*9|RcypB5E%W)z*$}&eg)=BZ2LTl{SJ=~VH zJOeqb^z%4(<7g|ZJL$b;S@Ahe#$)@%LDj)t^>tf|P9sU6noD1Yz`ag7(y2tClOr9tqWu`w@lGh+ z86mqh^PMhdN80n%vm>gBUO7#PT{jicO<7t{#jJxY%5*RjH_NK6jVy>_*A&iUuJ*2J zX;o3(SaU>(YSpGXCj^L!uvbk`aBr$h&#fi>eCrFEiXysVwNEJgC!9I{sD{ z_0+I-`#v#ktEe42H8*_``xusKsLS0geZ$V2;3Cs)Bo|Uc?0B~(-u~VwJ?|W9~lyvvIV0{ok#?k8}fuI?ldI=1{b_a7tU z5ik95blmRrD6-D_yg#zy<*j)l7CATIFylU&rp3kE-FNJm{(S?jVG$bjsMy!lu1jCb zH9wt-I`8UII7WDj`gMdhJBNHF!|hO9hctbA&ir8n&H>bo9Q{i;_}c&F1TG!Ah@50h zLfmrD0=YJr`$I~U2b7h9$Q}-4C2>QxPu>a z6H?7wlwrm0%u0I23kANOHJX3?s^`twFBc}w`7?_I-YU+x{32(d= z)Bf4$(gEAV=emJr7CF&K<{UAP=SMpd-!dcH z5MRW)<;0s6S9XH$`gpZ0Z)b0hfrR;JtaEi;igzF%Ze9#V-@RL5`|_vaT_*vTfm z)6Xv?fOYL=FnP=QvBPmMO#8oZ9m-khW6W!e6J0M!jfqM}<>V7F%D#W2ej=!Eb;3OK z0aX_pHhzqbxnX0DbNr)x`)-oVeDssgu6LR9v)VA5kct!b0HXQ z3^?Rhqi)$1(-&q>G-O!3s>_{dT%FTD_*CyHP_}2e+4^}lbluP1aY@g5_Wrp%)_KTf z%IU(7`A4p3h3wySXU51#udS=74&~BY=A7ylgK!>QL=LPqyW`P0kpm69zDkZjEY9Ur zvwr(iR5t0nM(;)lq{BFga@r!C*PK!F>6bb^ICr{R-fi8kQ*YMEqqlt^@sGYA2?KE6 z_(lB0dON^BUU1%=sSeR=d9Xc$x9Z7{93t=JiEO*lkEvzJfUj&TF<0#}GOe%6aeP(I zmp8XXe)xSHSrifm%x(1U!P0pZjTv-cURGIJU$0(yqTUXJ!@a26u9U;`4l&Hk?Y9kn z$KN*4L~2{DcfAD(TaNpdHdlA0pH{HHs`)$WhAqvicKbQeVC`(<$FnN{h3enkO;A^V z#mxRsv`h!usFqpc8WIJZC&eZWPGcThri_+)?gg(&Dgue3O<#@62mumXt&N0*Kzr;B@Ico9-}1vTKKJ3d^kq$0&+c zbYo8>u5R#lkjPd8UGc|{c+}P9NE(*MKhja}7*h!q(oJ1Lz3hp8x1+X%i;KF~9!a0L zhX4Og#8WpNYRKEFA~yuwPJX(3Kfu*UoJU0M#_7!8J*n@WlAWv2?+*R%)FLYYQp53Q zP0k&VxEf%k<+7RLp6PbyvaGtYOsv$@Y{4#oLyzH!u&BI&zIa0f5)cbn`A5|G1eAP*VNu>+xR$u-(p*pXz^^ z0j67#&Rk2tZmmDqJTBjf{QNT;za7>$qRrP%$LVD~^dA+>B3GAbtwry}n=h|qa(X$Q z+dULVYoWag>vXCwP=1b?RJ}C;+xduF5^7?$W4e4nJ#EL}=CIpK^Bvy&K=(qTuK0Cn zMBQ@`F%4j1n}P$DX$F5@E`wbNh@71>|&;3eH?OZ+%LiW|71VhJ{C5nf{ULY+2|XyfAlHFx!}aU558!z6Zo zWXCpK2u=bJiK_rQh?Zf|RZf;^h>|S}q7xedoaK>sqAud`DBe*LQ>93gCV+tyf&s%4 zkRpY<009CRh)b77(x?hp8fnrPftp15-kbMkW@l$^ckf7w1bF*9yR$QI-v5spwx(7F z8CMEs)FoN?0ZlD?vfBz1Wh%gMi%;;>e-Tvm@@$@TH`pAqwZov zYaFSuc4#b&rV_K{d^K4e**nIh=D3E0^C+a$LxCbcO$Xi(Xi3?r7tT&>R;9HX<{8&f zK7gd)&9FN0>)wc#k!wKXP2vvAq6+XDV@??rK7OIr$5-d63{}Ov7N27AfkI{t{R=H&f3uEL}w363mk!2M5#AZx;f7Ssu&}&lp)_mYSN-# z533+25QYSE=9o725VwTl@+FV`Xb@RjFjCcEFbtNoEMkKBXErn}KE}zMws&`W`K|uW z7$yFaHg32C)Jc=07`w>cL1!fEk;1pI=%=ZVQYJ;j?6K1`lOw>0&0r;(EeaOZr1PBE z-V|jksIW>gU4Aq-`J+&Bdv}gf;4f{GS?>_Mr(3G>4&_(ZS8p_(%hOF+nRUNlaV zK=F96O0v4y@I(P^Tn@wpGPjoa0Cv*k=v-6Cj>CsMY;~llwIFQ(^+h;Uw%S*vnvHxX zu+yS(Fb94%320@uJ&Y4?r|exiD_&9&0;E%nCKUmOkbI!~N=B1f6kiIcj6{=`C5cJj z1P2bsuM&~>dDe)$QBnkXsW2PH5<>cT3km8rdmU%$SNIh%w*ZqbpD=Uu!2Fm#>Fcale_?{%}U~^Je1kIA4$#ibKaj7l{Pz8)7%uD5BO6d2j0$m)Q zn)nTwA@kG*N31LNXmE7lHk(|}PXszG!pK~sF%DbGoI}?X5_yzIm_krwK6qLKaGj}4 zDT0b-VWRq_r0UVft1gz*|MgRXu!$VL12U>9fbmrt6^W@8{6G_3X}R7_O-klq07#%J zmT=}ZrTiGoF==aQpus;c=1AWwhe%u62|COL90mT_5rp?KH5^1j3Ry@Ij#&uF5C-e3%^r(Ikpk`-l%~R=&ypeaJgH?PY?^Y4 zOxRMa)6&l40cr&kBpKr3@Kw_UNno{{XIf94Yp+ML6agps$$=y=(FESGKPj(SgV;P) z6ib=-hEVt=tm&)d9iEy59ut98{qLJOdKy42lrDlP1uPqlsncIn##?&nBl9&laY4O%_3h~u@TxB)s-yff*0*Uf6AqQX*b@)-BA)eiX8eoj5If~5|nn(Ar zWZGG=z2_1bUybqF!)c)?!1h7J0O=Y={Te|7p`x==Z|8aLXbO_X&tQRrTU-Aatg}Eq zVTE{I^To<|Gg|Nt6sK5{X;>=Bbg8l?Q)pA*?i+xcQmNMMF|+0SAr%&kL6eVPgaKw& zKN~;5pssPy3Wl13f+o3s(JtN@ERrrHXTtnOL0% z=08HcN1V?weurk!_;@wGcqZ{tx^8P=U(QnJuenLjjrZG`xV66n$MYhB)%wE=xYIGnR%{#*_yb zCK06kMb`tfJq$0_I+C360`{J~T405pPFH>|(3QJlZ9L!wktWTnTF|PCTjKK~3&C>B zhbbD!5+{9aS{36gml`uYi7d=4uGH(3W^~iQxyR2X+37D~g!Do$xI8s>n{iYnKtY~T zpDe#tF%jIBj>IhVD=lyhu&UMVB1D4@9eA>W?MYdSA72b=jY?Z?B33h3LwXjQD{wzq za$#3Rf$^eUm6BQ|tf{lYp$GkyPNTqg8ckk^s)`JW>UA;7hFhZie~z<0B#l*kPMi5n z6coX10G8MkLd_}ATv&3TnZ}=ZLT%oW^i#wETCIHDwIpZ(MrNR_IhLbHg zC+#SBYY!$SS604Jc7h?+t5%YJ7QiMG3@Mm6Bo`}hWKsZ^E(INA7G!u9-B zQ#lwew7`78{6Pg8KnzGk^geHDd=wAM;Mn39rYTKIIbAYqY0tzmD>1LbZr zTx{?=amMVsi)4{-Kpn4N4;*)WJI5^gLCh;a1Y*qaHo|$jCKr4uf^T7=zeOnmN4+b< zQK+AW`j%te^YIR1ibm|PMl9l4n~cm&G`1$eR%Q`WT| zMu~%r8nO-vi9j4-#wy;aMC(x1$+OHsLCI`2CRp47#3jjc4OC*d?lcrOTmMi}5v@aC zL4`M$WBCoP5^^$m5QarJh*$DJHqO=E>qc)+^6dtOTPFBxy$zH?iIIGC9wZicq~kGRM@xm!BU~-OOlx6rI$}YCs?Y}1jEak!!}S{hv>h(C z_E?~_G0gXfWAEK)z$?Lh2}i(P(CU=Vz?YCqO%jSEc@-^y17;0`R1rRWxmIC^Cw{rk zaT@o`P62C;sgo#=hbZPmWzJv2{B1h4+@J%BXP6Zq#7Wic`o5%{&%+mCIj53rUxSoc zeRvu4qn}2a9CCD^TqGpzcu7969A+I&5A-T6X+}k7a-15Aa>QMM{203Ive)Z&#vQ?P zMQl95JHSxp?&g(SD$*b$>wq{HBKFSaVo)S>6ol+SXlUx4YNQ8>MOYFUVw&`B5F>I|lBRZgH+;erzA^$e zPQ4jpV4~1$)S~SBVpEV;PeuGu#s|dNu|s@b$)s>M%zC6aSksS1${E&K+hiE#V8DhF zUENyo@sBE&*IsT`UK=Hg3yg+Y1hrw^#X?4-ASF`Gg~=1_l-aE4cd4H`90IJHdYYs* zTcFl>+`H)-QtCkGc2Q=pqrDX9B(1nYXFVZ}oeUzGUVgT9yAMU*)!t}#KsL4W=kqhI z(=;vVj|Tz;V0s$0qr~xUH3`&oR!G4n*fbznnqa3P!{jDul7drljL%ChqSz^EYeMZb zlp;E4iLOHUWaosCe>R0(OB^(dQmF_E){~Zb*J^abg#a|#F`(s>1!sJ6UFQRItf`Mw znXp@I2*1Zv3OR5kXL3rAR^&;l0DJn;10X8%R0E~O7r4+2E1kx9>1GgG$ZdEQAj&zM zr|=WtC}Cm*IJ^2~()F=VxDHta*@{d{?x|2|(M({eu8iU7WcW0bR}IcIte%Ia3&gBw zTPkId>QEb?PV;&(8=WCvoU6zbYcRo4q9lVPfD&!;5t)5rjNgFgafu7>FJY0zU=wSj zAu%V16XgshVXJ5_U}>Y}u|y-eM1_7{C)|Zj#8TBSK6Q7J)8fDeC&MsNSJJCc=HE6l$ z5^4!;+XM*h?g7#lL-{w2Mc;4Ljqw{8~zuI1pKg5pz{;%F`^QEue zHFtd5Z0v8?|9iMX?QJ*TYvTxi@0rcK4!k+c=4Gp!KVipjKmUH4FU`Mi?s)M#W~;y9 z`~QLqe)|g>ZNBxwhH26LiP`F}&YvECh8@5CCm*!=(kCDACi@#*^!~#4{~gx|R0K@2 z&p%q_yFdSkH(5B|`hMO16SsX2|Jwe6w0|J&^*-}72Y-70U${VB)b{(*e!rr%afu$E!G#We-2*ja@J1sNDbm;)35kySHj?y=OM7 z!T9U@b^8Ra`|VfnoA#^sP5W@Zg2!biaDtwt-~StF-<9@vEMS}G&6|z=eHQKMnWya; zv!m@#1?TBr`t!HJEBN}|`@G36{M2lJh|M|t>vt>uqV=hLH+P!f{e83j$6x)k?!9{U VS?t8x|M^4H!xyxp(jYj@{tqQ$+x-9l literal 0 HcmV?d00001 diff --git a/Concurrency/portfolioSubmission.cpp b/Concurrency/portfolioSubmission.cpp new file mode 100644 index 0000000..c0bd53c --- /dev/null +++ b/Concurrency/portfolioSubmission.cpp @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +int pos = 0; + +std::mutex mutx; +std::condition_variable cv; +bool ready = false; + +void printArray(std::vector array, int pos){ + + std::unique_lock lck (mutx);//critical section + while(!ready) cv.wait(lck); + + std::cout << array.at(pos) << std::endl; + std::this_thread::sleep_for(std::chrono::seconds(2)); + +} +void increasePos(){ + pos++; +} + +void start(){ + std::unique_lock lck (mutx);//critical section + ready = true; + cv.notify_all(); +} +int main(){ + + std::string line; + std::vector poemLines = {}; + std::ifstream poem("ritmo_rhythm.txt"); + std::thread t1, t2; + + + while(getline(poem, line)){ + poemLines.emplace_back(line); + } + start(); + while(pos < poemLines.size()){ + t2 = std::thread(printArray, poemLines, pos); + t2.join();//prevents unpredictable behaviour + t1 = std::thread(increasePos); + t1.join(); + } + + return 0; +} diff --git a/Concurrency/ritmo_rhythm.txt b/Concurrency/ritmo_rhythm.txt new file mode 100644 index 0000000..9f36f8f --- /dev/null +++ b/Concurrency/ritmo_rhythm.txt @@ -0,0 +1,37 @@ +Mad has decided to catch a vulture, +the biggest bird she can find. + +She is so determined, and so inventive, +that by stringing together a rickety trap +of ropes and sticks, she creates +a puzzling structure that just might +be clever enough to trick a buzzard, +once the trap’s baited with leftover pork +from supper. + +Mad and I used to do everything together, +but now I need a project all my own, +so I roam the green fields, +finding bones. + +The skull of a wild boar. +The jawbone of a mule. + +Older cousins show me +how to shake the mule’s quijada, +to make the blunt teeth +rattle. + +Guitars. +Drums. +Gourds. +Sticks. + +A cow bell. +A washboard. +Pretty soon, we have +a whole orchestra. + +On Cuban farms, even death +can turn into +music. \ No newline at end of file diff --git a/Distributed/arith b/Distributed/arith new file mode 100644 index 0000000000000000000000000000000000000000..56db27be86814e220c1d2e6e48a1567d0ed47805 GIT binary patch literal 117560 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 +#include +#include +#include +#include + +std::list unavailableNodes = {}; +int current_val; +std::string lastUsedOp = ""; + +bool isNodeAvailable(int node){ + if (node != unavailableNodes.front() && node != unavailableNodes.back())return true; + return false; +} + +void removeNode(int node){ + unavailableNodes.pop_front(); +} +void addNode(int node){ + unavailableNodes.push_back(node); +} +int determineArith(int randNum, int numPassed){ + if (randNum < 3 && lastUsedOp != "+"){ + lastUsedOp = "+"; + current_val += numPassed; + return current_val + numPassed; + } + if (randNum < 6 && lastUsedOp != "-"){ + lastUsedOp = "-"; + current_val -= numPassed; + return current_val - numPassed; + } + if (randNum < 9 && lastUsedOp != "*"){ + lastUsedOp = "*"; + current_val *= numPassed; + return current_val * numPassed; + } +} +int determineNextNode(int currentNode, int mpiSize){ + int destination; + do{ + destination = rand()%mpiSize; + }while(!isNodeAvailable(destination)); + return destination; +} +int main(){ + + srand(time(NULL)); + MPI_Init(NULL, NULL); + char node_name[MPI_MAX_PROCESSOR_NAME]; + int rank,size, namelen; + MPI_Comm comm; + comm = MPI_COMM_WORLD; + int passNum = 6; + int current_node = 0; + + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + MPI_Comm_size(MPI_COMM_WORLD, &size); + MPI_Get_processor_name(node_name, &namelen); + + while(true){ + if(rank == 0){ + addNode(current_node); + int nextNode = determineNextNode(current_node, size); + addNode(nextNode); + int operatorDet = rand()%10; + int updatedVal = determineArith(operatorDet, passNum); + std::cout << "New value is: " << updatedVal << " on node " << nextNode << std::endl; + removeNode(current_node); + current_node = nextNode; + std::this_thread::sleep_for(std::chrono::seconds(2)); + } + } + + MPI_Finalize(); +} \ No newline at end of file diff --git a/Distributed/distribData.cpp b/Distributed/distribData.cpp new file mode 100644 index 0000000..1eeb368 --- /dev/null +++ b/Distributed/distribData.cpp @@ -0,0 +1,65 @@ +#include +#include "mpi.h" +#include +#include +#include +#include + +std::vector make_sentence(std::string s){ + std::string word = ""; + std::vector sentence; + for(int i = 0; i poemLines = {}; + std::vector jumbledUpPoem = {}; + std::ifstream poem("ritmo_rhythm.txt"); + + while(getline(poem, line)){ + poemLines.emplace_back(line); + } + + jumbledUpPoem = poemLines; + if (rank == 0){ + std::vector originalPoem = poemLines; + } + #pragma omp parallel for num_threads(1) + for (int i = 0; i < poemLines.size(); i++){ + if (rank == i){ + std::string j_line = jumbledUpPoem[i]; + //std::cout << j_line << std::endl; + std::vector sentence = make_sentence(j_line); + std::random_shuffle(sentence.begin(), sentence.end()); + for(auto word : sentence){ + std::cout << word << " "; + } + std::cout << std::endl; + } + } + MPI_Finalize(); +} \ No newline at end of file diff --git a/Distributed/distribStatus.cpp b/Distributed/distribStatus.cpp new file mode 100644 index 0000000..dfd0676 --- /dev/null +++ b/Distributed/distribStatus.cpp @@ -0,0 +1,48 @@ +#include +#include "mpi.h" +#include +#include +#include + +int main(int argc, char** argv) { + + // Initialize the MPI environment + MPI_Init(NULL, NULL); + char node_name[MPI_MAX_PROCESSOR_NAME]; + int rank,size, namelen,*buf; + MPI_File fh; + MPI_Comm comm; + MPI_Status status; + comm = MPI_COMM_WORLD; + + + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + MPI_Comm_size(MPI_COMM_WORLD, &size); + MPI_Get_processor_name(node_name, &namelen); + + FILE *pPipeProc, *pPipeClock, *pPipeRAM; + pPipeProc = popen("grep 'cpu cores' /proc/cpuinfo | head -n 1", "r"); + pPipeClock = popen("grep 'cpu MHz' /proc/cpuinfo | tail -n 1", "r"); + pPipeRAM = popen("free -m | grep 'Mem'", "r"); + char bufCore[1024],bufClock[1024], bufRAM[1024]; + + fgets(bufCore, 1024, pPipeProc); + fgets(bufClock, 1024, pPipeClock); + fgets(bufRAM, 1024, pPipeRAM); + + std::cout << bufCore << std::endl; + std::cout << bufClock << std::endl; + std::cout << "RAM for node_name " << node_name << " = " << bufRAM << std::endl; + + if (rank==0) { + std::cout << "Node Count = " << size << std::endl; + + std::string sCore(bufCore); + int cores_per = sCore[12] - '0'; + + std::cout << "total cores = " << cores_per* size << std::endl; //implies single digit core number, since stoi does not work + + + } + MPI_Finalize(); +} \ No newline at end of file diff --git a/Distributed/machines b/Distributed/machines new file mode 100644 index 0000000..0551ed3 --- /dev/null +++ b/Distributed/machines @@ -0,0 +1,10 @@ +node2 +node3 +node4 +node5 +node6 +node7 +node8 +node9 +node10 +node11 diff --git a/Distributed/ritmo_rhythm.txt b/Distributed/ritmo_rhythm.txt new file mode 100644 index 0000000..9f36f8f --- /dev/null +++ b/Distributed/ritmo_rhythm.txt @@ -0,0 +1,37 @@ +Mad has decided to catch a vulture, +the biggest bird she can find. + +She is so determined, and so inventive, +that by stringing together a rickety trap +of ropes and sticks, she creates +a puzzling structure that just might +be clever enough to trick a buzzard, +once the trap’s baited with leftover pork +from supper. + +Mad and I used to do everything together, +but now I need a project all my own, +so I roam the green fields, +finding bones. + +The skull of a wild boar. +The jawbone of a mule. + +Older cousins show me +how to shake the mule’s quijada, +to make the blunt teeth +rattle. + +Guitars. +Drums. +Gourds. +Sticks. + +A cow bell. +A washboard. +Pretty soon, we have +a whole orchestra. + +On Cuban farms, even death +can turn into +music. \ No newline at end of file diff --git a/Distributed/runJob.sh b/Distributed/runJob.sh new file mode 100644 index 0000000..6884e6a --- /dev/null +++ b/Distributed/runJob.sh @@ -0,0 +1,7 @@ +#!/bin/bash +if [".$1" == ""]; then + echo "Positional paramter 1 is empty" +else +mpirun -machinefile /home/370user30/370CT/Distributed/machines --map-by ppr:4:node $1 + +fi diff --git a/Distributed/status b/Distributed/status new file mode 100644 index 0000000000000000000000000000000000000000..779af9b18d1b6a6e9f8e72afbba753ffd31b90cb GIT binary patch literal 107480 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%0AIMe>%LlW7~wo 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�UO#RXJMkk?1|m4>C7toM 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%0D=zpGouONl2Te-%YeZbTU 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 +#include +#include +#include +#include +#include +#include + +std::string determine_sched_type(){ + std::string type; + do{ + std::cout << "What type of scheduling would you like?(auto, static, dynamic, guided) "; + std::getline(std::cin,type); + if (type == "auto") return type; + if (type == "static") return type; + if (type == "dynamic") return type; + if (type == "guided") return type; + }while(true); + return type; +} +int main(){ + + std::string type_sched = determine_sched_type(); + if (type_sched == "auto") omp_set_schedule(omp_sched_auto,0); + if (type_sched == "static") omp_set_schedule(omp_sched_static,0); + if (type_sched == "dynamic") omp_set_schedule(omp_sched_dynamic,0); + if (type_sched == "guided") omp_set_schedule(omp_sched_guided,0); + + std::vector v1 = {5,14,10}; + std::vector v2 = {7,-8,-14}; + std::vector v3 = {-2,9,8}; + std::vector v4 = {15,-6,3}; + std::vector v5 = {12,4,-5}; + std::vector v6 = {4,20,17}; + std::vector v7 = {-16,5,-1}; + std::vector v8 = {-11,3,16}; + std::vector v9 = {3,10,-19}; + std::vector v10 = {-16,7,4}; + + std::cout << "Original State of Vectors:" << std::endl; + std::cout << v1.at(0) << "," << v1.at(2) << "," << v1.at(2) << std::endl; + std::cout << v2.at(0) << "," << v2.at(2) << "," << v2.at(2) << std::endl; + std::cout << v3.at(0) << "," << v3.at(2) << "," << v3.at(2) << std::endl; + std::cout << v4.at(0) << "," << v4.at(2) << "," << v4.at(2) << std::endl; + std::cout << v5.at(0) << "," << v5.at(2) << "," << v5.at(2) << std::endl; + std::cout << v6.at(0) << "," << v6.at(2) << "," << v6.at(2) << std::endl; + std::cout << v7.at(0) << "," << v7.at(2) << "," << v7.at(2) << std::endl; + std::cout << v8.at(0) << "," << v8.at(2) << "," << v8.at(2) << std::endl; + std::cout << v9.at(0) << "," << v9.at(2) << "," << v9.at(2) << std::endl; + std::cout << v10.at(0) << "," << v10.at(2) << "," << v10.at(2) << std::endl; + srand(time(NULL)); + #pragma omp parallel for schedule(runtime) + for (int z = 0; z <10; z++) + { + const auto processor_count = std::thread::hardware_concurrency(); + std::cout << "Processor Count: " << processor_count << std::endl; + + system("cat /proc/cpuinfo | grep 'cpu MHz'"); + system("free -m | grep 'Mem'"); + system("du -sh /home"); //cannot gain access to some folders due to not having sudo access + } + #pragma omp parallel for num_threads(1) + for (int step = 0; step < 5; step++) + { + + short co_ord_rand = rand()%3; + short rand_direct = rand()%100 +1; // x>50, increment. x<=50, decerement + + //if chosen to add + if (rand_direct > 50){ + v1.at(co_ord_rand)++; + v2.at(co_ord_rand)++; + v3.at(co_ord_rand)++; + v4.at(co_ord_rand)++; + v5.at(co_ord_rand)++; + v6.at(co_ord_rand)++; + v7.at(co_ord_rand)++; + v8.at(co_ord_rand)++; + v9.at(co_ord_rand)++; + v10.at(co_ord_rand)++; + }else{ + v1.at(co_ord_rand)--; + v2.at(co_ord_rand)--; + v3.at(co_ord_rand)--; + v4.at(co_ord_rand)--; + v5.at(co_ord_rand)--; + v6.at(co_ord_rand)--; + v7.at(co_ord_rand)--; + v8.at(co_ord_rand)--; + v9.at(co_ord_rand)--; + v10.at(co_ord_rand)--; + } + //questions wants 5th and 10th steps + if (step == 4){ + std::cout << "Values of vectors on step #" << step + 1 << ": " << std::endl; + std::cout << v1.at(0) << "," << v1.at(2) << "," << v1.at(2) << std::endl; + std::cout << v2.at(0) << "," << v2.at(2) << "," << v2.at(2) << std::endl; + std::cout << v3.at(0) << "," << v3.at(2) << "," << v3.at(2) << std::endl; + std::cout << v4.at(0) << "," << v4.at(2) << "," << v4.at(2) << std::endl; + std::cout << v5.at(0) << "," << v5.at(2) << "," << v5.at(2) << std::endl; + std::cout << v6.at(0) << "," << v6.at(2) << "," << v6.at(2) << std::endl; + std::cout << v7.at(0) << "," << v7.at(2) << "," << v7.at(2) << std::endl; + std::cout << v8.at(0) << "," << v8.at(2) << "," << v8.at(2) << std::endl; + std::cout << v9.at(0) << "," << v9.at(2) << "," << v9.at(2) << std::endl; + std::cout << v10.at(0) << "," << v10.at(2) << "," << v10.at(2) << std::endl; + } + } + #pragma omp parallel num_threads(1) + for (int steppt2 = 0; steppt2 <=5; steppt2++) + { + + short co_ord_rand = rand()%3; + short rand_direct = rand()%100 +1; // x>50, increment. x<=50, decerement + + //if chosen to add + if (rand_direct > 50){ + v1.at(co_ord_rand)++; + v2.at(co_ord_rand)++; + v3.at(co_ord_rand)++; + v4.at(co_ord_rand)++; + v5.at(co_ord_rand)++; + v6.at(co_ord_rand)++; + v7.at(co_ord_rand)++; + v8.at(co_ord_rand)++; + v9.at(co_ord_rand)++; + v10.at(co_ord_rand)++; + }else{ + v1.at(co_ord_rand)--; + v2.at(co_ord_rand)--; + v3.at(co_ord_rand)--; + v4.at(co_ord_rand)--; + v5.at(co_ord_rand)--; + v6.at(co_ord_rand)--; + v7.at(co_ord_rand)--; + v8.at(co_ord_rand)--; + v9.at(co_ord_rand)--; + v10.at(co_ord_rand)--; + } + //questions wants 5th and 10th steps + if (steppt2 == 5){ + std::cout << "Values of vectors on step #10: " << std::endl; + std::cout << v1.at(0) << "," << v1.at(2) << "," << v1.at(2) << std::endl; + std::cout << v2.at(0) << "," << v2.at(2) << "," << v2.at(2) << std::endl; + std::cout << v3.at(0) << "," << v3.at(2) << "," << v3.at(2) << std::endl; + std::cout << v4.at(0) << "," << v4.at(2) << "," << v4.at(2) << std::endl; + std::cout << v5.at(0) << "," << v5.at(2) << "," << v5.at(2) << std::endl; + std::cout << v6.at(0) << "," << v6.at(2) << "," << v6.at(2) << std::endl; + std::cout << v7.at(0) << "," << v7.at(2) << "," << v7.at(2) << std::endl; + std::cout << v8.at(0) << "," << v8.at(2) << "," << v8.at(2) << std::endl; + std::cout << v9.at(0) << "," << v9.at(2) << "," << v9.at(2) << std::endl; + std::cout << v10.at(0) << "," << v10.at(2) << "," << v10.at(2) << std::endl; + } + } +} \ No newline at end of file diff --git a/Parallelism/paraport b/Parallelism/paraport new file mode 100644 index 0000000000000000000000000000000000000000..d71d18ee70c12c4f19708f06c0ba8de73583d4c2 GIT binary patch literal 31696 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 E2XtMHT>t<8 literal 0 HcmV?d00001 diff --git a/README.md b/README.md new file mode 100644 index 0000000..18a99f9 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# 370CT \ No newline at end of file diff --git a/gcc commands b/gcc commands new file mode 100644 index 0000000..8ba7cc8 --- /dev/null +++ b/gcc commands @@ -0,0 +1 @@ +g++ --std=c++1y filename.cpp -o exefile -pthread \ No newline at end of file