AC1024!'! mqh@* ߦ< >$^G޳MB<Z}/]olO; ۮ2P`x6I2}I܎Olk0;""W4Fjs/ghJJWhvPVbRdARdARdAkRdAkRdAYU(Lenovo6 g%o%%=^VRdA>cA>cARdARdA-蘾H%m6((W?D+hP7(h( h0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!WXWWXWWXWYZYUVUWXWWXWWXW0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!^^^^^^^^^^^^^_^^^^^^^^^^0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!^^^^^^^^^^^^^_^^^^^^^^^^0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~~~~{|{0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutuutuutuutuuthihefe0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutuutuutuuthihefe0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutuutuutuutqrqhihghg0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutuutuutqrqhihefe0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutuutuutqrqqrqefe0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutuutuutqrqhihghg0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutuutuutqrqqrqefe0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutuutqrqqrqefebcb0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutuutqrqqrqhihghg0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutqrqqrqqrqghg0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutqrqqrqqrqefeghg0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!uutqrqqrqqrqghg0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!qrqqrqqrqghg0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~~~qrqqrqcdc0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~qrqqrqcdc0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~qrqqrqcdc0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~~~qrqqrq\]\0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~xxwqrqcdc\]\0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~xxwqrqcdc0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~xxwqrq\]\0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!~~xxwxxw\]\0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxwxxw\]\0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!{|{{|{uuthhh0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!}~}0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!}~}0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!fgf0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!fgf0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!fgf0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!zzyzzy___0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!vwvlml0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!ڒ+b5b:>cA=cA=cA>cA>cAy}FtAppInfoDataListH >MρP 23.1.47.0.0%דI(orAutodesk DWG. This file is a Trusted DWG last saved by an Autodesk application or Autodesk licensed application.QβD;D<ProductInformation name =\"AutoCAD\" build_version=\"Q.47.0.0(x64)\" registry_version=\"23.1\" install_id_string=\"ACAD-3001:804\" registry_localeID=\"2052'#cA&cA&cA#cA#cA3>kS8C!ʖ*g;<SҍAppInfoDataListH >MρP 23.1.47.0.0%דI(orAutodesk DWG. This file is a Trusted DWG last saved by an Autodesk application or Autodesk licensed application.Oh+'<prop_set fmt_id="{f29f85e0-4ff9-1068-ab91-08002b27b3d9}"><prop id="10"><datetime>2020-09-14T01:42:56</datetime></prop><prop id="8"><string>Lenovo</string></prop><prop id="258"><string>AutoCAD 2020</string></prop><prop id="259"><string>Q.47.0.0</string></prop></prop_set>QβD;D<ProductInformation name =\"AutoCAD\" build_version=\"Q.47.0.0(x64)\" registry_version=\"23.1\" install_id_string=\"ACAD-3001:804\" registry_localeID=\"2052P!c%cA%cA%cAk%cAk%cA!}$0 /)#!%cA?G h  Z`3 `sl(|9lp \XF X}'pl'-t XT(Yp\H-0x#&  -\\ p0]0 $!S`"hhT tP ]3$CTdfcd   T'L"C~k  j <dP@@`\ !XnA\\@ PY |`,X2| >=27\n;~5 5"20|#n~55*2<<328^i@k#\5: |5B2}G G2=J3n|l>R2|Y1|0|Z2~ڌS\>=b81\l##j8 #`A_}r30>z3n/|Y^|3=81\0|G87?+\'@ ^Z'3lG/G23n/|^Z\G281\0|G8@> =81\l##8 Y)3|kS>30+#ݏ3l#/>3n#|.2=810|Y87?A\G+3|G/G23n/|.20#$1\0|G 8+$>]81\l##3|Y*#|#8" |2*86\+ 52 2!:8 |Gl53=B8-##6/l%3]'J -#]\GR9 52*Z8A>b87|*(5j86<3=/r9A53z9/2] 8>87|*Y8+#287<2}8+#286=`* G86|386<381\#+15 1<521|k8=2$\/|#|+<# l#38 >=3l/1l58 ^#o5x4#<Z.'32#0]|_# 3l \:=12\%?`V;l5+ @ul),G"03>=*0&7/|:]23l//Mw4# }: }* }B9 \G:=J0YU;|/\e2= R }Z9 >=b02>j0/6|2r0w.*)2z862+V 338 \Y;3=9.< *|R5 9.:=8AG2]8+<22_86<+87|*\Q#8/#+O86<+|I8#386<+=b1=]`%<#+=/j1&, 3\$}r15<;z15<'/ܧ#0.8"_O#+p"P2o`|@ `-n4'303;=0Aw>06|3|G03]~YGpҽY03>03 >07\&;+309\>=06\3|k03"~k kѽk0@2|>06>@~#@##0`2\Y:06= ##/#3; 06= #2=03":06>~kGG"03":*06>~# #)203;:07>1#`#ڽB12\#:J0$'":R06\3|&Z03\}%>CG*=b03>j0 $`&0$ :=r06\3|Gz0& #\A>]03"|5#06>~MEk)#0w"<:06?`+n#0#03\G:0'\-=0&%`S",>06|3|503"%&+q/#', le> 06<312>= 0&)k",>"06\3|Y*1%&#",>=203\k2|#:0&)#",>=B0&,.\3|#J0&)` =R03),#Z0&) #",>}b06\3|#j0&~+`#",>=r03\%+#z0&^'#",\%312\%+#12"%\-#"\-12>0`%=/;GX#&)h)=&03>06?*#}(@&"(}(0 2\:0& '5"\!)|+XY +\3=&0 ".%0`2=&06<3 )3~y #; 8>0A $,\"_\@ "4\ }\3=*8.|\5"U$_\;#2 \#3:8 57=B86_0]J4/#3R4\A6? ~0=Z4\##3b4:?@m0=j4\##3r4:<Mz4\##34:>%DŊ4\##34:<G4\##34\#+\>8/|586<4\G2<\34/5_04\ >4\#>82</|Y86?`0}4\G 4\/G582</|/#"/#3} 4\G/>4\#>82</|G"4\52#\)*8.! -8^#%#(i2 q#:4\ "7:=B0\/\A/>J0\/\2<\5R06>@~Y@YذYZ4\G"M:b0\\/> < :\/|Gr >~G`G@Gz4\G.\;0\ \/"m:=063|G03\#GG4\G.] :0\ \G>=0:\/|G0\^5@A"z\\h' \#4\ *)#45\ > #/|5 8=Y4G 4-5# /|G 6=G3#-|  4-5-|# #/|G 6=G"4/4\ *4-5|2 5/|G: 6<(B4-| J4-#`1\#R #/|GZ 5=#b4-| j4/ r /|Gz06]`%~ %~G4\.|;0\ \Y\:=0:\/|G06=#@GG4\G.\;0\ \/"\o:=0:\/|G06>$.'%G4\G.\;0\ ^/e\"b:=0:\/|G0"\5'=)%\G\ 4\ \%k3=8 \;#4\ 2<\3 /#"\9^ %i"A#;*Y \)0/\ >=0>^`;\Y"0\#/#3*06<\\_#20#"=8$3:0\\e %\B^#G*DB4\ J0">\#>=R0:\/|YZ06<&=G*Db4\G.\;j0\ \/%D\5r0:\/|z06<& G)D4/]|30\\/ >0:\/|G0'"%\"<> \4\ >=4\k/> #/|5 \S4<(]B4G 4-+>M# 'D/|G 6<(]B4-| 4-+>G# #/|G /#/h6<(]B 4-| 4-+>G# #/|G" 6<(;*4-| 24-+>G#: #/|GB 5<)DJ4-| R4/(D#Z (D/|Gb06\&="C]%*Dj4\.|;r0\ \"%!5z0:\/|06<&=%%*D4\G/%|C\30\\/ >0:\/|G06<&B"B4/%|Cl&0\]/e\ >0:\/|50"\ A"<;%4l27 3<5#03>=0`9m/n% "`"\3 "\*}03^.$&*}0/%)o$?r']f /|"\-k 3#\A\ "\9:= 0"\.|ܜ#+# "\+\03"$|U3="0"\.;]*07~2l}521| .;=:06\"<\;#B0"\ .;=J03";#R0"\#+>Z06\3|#b0"\#.;}j03]|#r0"\#+>}z06\3|#0"|\#+>=1|A.\3|#0"^#`E%<%<;03\k&#0>>)03Y38'h#=; '|C\_5 #;;= l5M#(]B #\9;= l51<(@06W32Y 3T03;=06\31# /#3\%\x+<5 @-8#)#l֮RI볦< >$^G0 cAIcAcA cA cA0̣mCȤذ-8\#\  <a` 0@#}##"03T*:*06=`@)#203;:07=~G#kB03\#:J06=q##R0`2\k:Z07=~Gy#P#b03\#:j0`~ 4l:r ho׀o逐rz \/\  = |50=k  = |50=#  = |50=#19_n }|\}0.n l5#30`E\"#0 >8hl5;} |})50>|q\M0SG30,o?0`5 3|50!S; 03\:] $50k":"06_+n@p#*03;20|#@_3l2<G: '\\B8 \:=J0k\5&|;*]R @'}Z8 ̳3=b0/+\!>j0/6|kr07<%_~|G"\z8A\5:1 .<3=12#515<&@m|G"8/30'|\>0SA50&}53]0@uA"%`V;#,\3|# +\0 ;8 ;U;ll;0 -|202#`o@#<&@][`6/'= &\;*%03":=0@~5%p ^/#6|3|k 03>03\>06<;= "1錉l>] *0`~k klk;=206\3|k:1~#@# =B03\k2|#J0 # =R0@.\3|#Z0  =b033|#j0~kG }r03" 2|#z0~# #$;= 07\2|#01$# }12\2|#12"<\%C'"C153&D30`%E:GXlG;063|503\%^9`)h)]903>06?*m&'(;0 2\:0&-$""|"" #(w4lZ.'" lk30>=12\;# ;~(/#3>= 07:]3<x4$0} }-l++"9 \Gq2=*0Y-=/2= 2 *&:9 52=B0/A>J0/6|5R0w Z9A"4Y\\`,X'b \ PYj8 \Y;3=r8 3=z ˝k8 >=86\"Tk8A#386<]#@}9/#39ܭA\#lk8>86|+\#^Z8/#386<>"*#8#386<+"G8#395<33#I|X\1'\ܹ n`~ !)~/#1G3 2$<) |l#+<5 0\$8>="3l/1l#*3|/*l#12 1:809=B21l5$~U$ )}J _5R2| >=Z9%|"\/l~;$#@b )|#5j9 >=r9/\*|#z21l#92A5<+'#3l72)3n`$+,+3=80\0|586=*<3lG/k33}/$@ ^Z*3900|595<3]3lG/G33n/)$>8`0\0|G86<+\$3lGA533}/$|+/2)900|51#$5<++ 3lGAG33}/$<2.390\0|5"95<+1*3lG/G323|/*\!>:90\0|5B3l51<88J l3}R27\|#*A5Z *"b2| |k8=j27\lG+D#r2$|" |#l+ z2<<327<8}1&U*P|58 lGMG1%\N >=1=\&+[1&^%|Ul "z&|#|515<3V15<'a20$^o@&#\&_$_"܋# &`*}03"|y%3=0Aw>06|3|G03\%`_(02>03 >7#.3|G 0&.&3}03"t%|#06<&k""03"ܠ%<3*06<&#"#203\}%3:06<&#"#B03"\#3J06<&`1=R03"<#3Z06<& #"Gb03"%3j06<&`#"#r03\%܋3z07<%ދ#"#12\#:0&'|"\>06\3|503\}%+ҝ0&S>0&\'">06\3|506<3ҝ03"):06>`$ˀ&0)=03":0&!+|a\'ܗ\qG 48 >=0k/\2+5 3*/#3>= 8.\Y%|1#150 *056<+\6#"03\%23*8.< 3295F+g5: 3jB90j86Gr8 #*fz9*L>90=J0G.\&K+ܝ#R0&NA\Y%N3Z06<&K+|ٝ#b12\G%n/#1< 3k 0 <201<+|(#0 <2"00< 3#*0 <2200<,2#:0 =}B00<.#J8.~0%r%>(R03":Z0$>8w%2C\EHb bDaGj03>=r07\"N#!Nz0IA\#:06<O#R0 N/"'|m!3,!<00|@F#`206#(}12"|1305/$u%)/#3|\: 1 ` \5@1 003I>0A>"06|L3|5*06;2 33:1='""|I5B0"\3J8.< ;R )3=Z03\\53b $ަ%|(j03\:r06^@~#@#$#z03"\K:0%^*~0#;=06\3|0${# =15\3|#15> ~kk%k03<"!:0~G@zG|G;=03"I2|G06=5GG03\:0/`yG|G;=06\3|G03"\05GG03>0"j"},`-8^`{(= "n^"sG/#3\:= 0".^%\o;]06|3|50""\#.<"|%\ S" "n\*]o*03" 9\3=20"%\ _]|`*]o: "nYB0"\!\#\ >=J8+ܚ">2|2}R "n\)3Z03>=b0G.\"\o\#3j0"\o\ +]Y|G3r06<"\l\3z12]G|#31.|"\l\#303%\o706|"\l\303"!G306<"\l\#303"=/|k306<"\l\#303"|#307>1#+ܸ&03\#:06<"\Z^Gd%\*]o0"\o\ /^+l530 (=n05'"|"0 <(=n01<'\o\M#/# <(=n 01=&q-<0 <(}(01<'\o-<"0 <)=n*01<'\o#20 <)=n:00<(\o#B0 <)=nJ00<(\o#R0 <)=nZ00<(\o#b0"J\ "$* j "\ll r03>=z07]|5"|g`A0"m\/A\#:06<"j\ 0"m\ /";#306<"j]AĢ03"]B|Y306<"j\#"jlk*m03\k#306<"i^# &=)m03" #303|="}(|Y&% ;]12"<&:]B0&.|1"g^Y@t%<&*]03&\0*8@@t#)#l֮RI볦< >$^cA"cAkcAcAcA ˥  <` 8@#gr^-o 00` h? =@# 1#/2\1~AyAPm5@`(#0| "05<_,#*03;20><4#:03#3B0>?@|#J0##3R8`ڼ*o׀v~Z00~ @t \;b1.nl,9#|#п "j0`o n l:r03>z16:=12]k~M@|k1%|'">0@~#`|%k `ˌ}Ţ8 >=06~ Y05< ;0A\A>]8.|3|9-3|03);0/.303\>] @~$02\\}:0%~ 0$|;>/#6|3|k 0~@}# =15\3|#15> ~kk%k"03?;*0~G{G|G;2033|G:03\ŎG GGB03>J0GzG}G:=R06\3|GZ03"2#`GGb03>j06\;]r0#%'?&"%&|%@m#"]&"|%Gz |\8 "%'3=0&_@\539# '|.\8 ")2(0/5%<:0/6|#07<2+8/@:1 ~|G"1\Y2}11SA51 ̳+28/>03\>0&,6\30&|63}06\&|.'<"9Y/#6)* 03"%0#0/h*짝5 /|*" \ \2 #*0@2#@%^p#@#G"42 `$@(}::03\%=3=B0`~ 5 ]J07|2|GR1~#@# =Z06]@2|#b0 # =j033|#r0 # =z03"\02|#0~kG }06\3|#0~# # 03"22|#01#`# }12\#2|#0%~C#">06\3|#03#)03>8%.G@$>b@ذ(}  ~03"E:=0G.^~#`#@#03"<:06= ##/#3": 06=` ##03\:06=@##"1 /"\'3*1&-^ ~##203" !%>$(=03"<:06^K $`&|^*"0373=JR0S+7\#)3Z0><'Wkb0##3j07Y:r063|z1S+|"%2_03\: &%*0k.\;06_+#>G%^Bpע0`2|"O2 u@"0G5d :`V,``@PPP b` @Eը"ܫ;Wp ֩("`/TYXPXP)]xP+ZS@d1piX 8`1A+T@Zy,Rt1W1k1h`\ Bg@T U0 XbT1*Vc-J oQ@P1E`-d1PQTR+˘lb*T1SJobbh"\bJ0n\AKJT17j(Jik;0l_PT1P)hc~lbG~k{-'t{;D 72d1Ao|PbX6S)bT1ߣ  nb q0lb8%R-PL\bQ'2ZGkZ cX\b]P P dXfdb0+ Xid{dX{lŘŘf$PJhFP)@-|5TT1"ShPptSj-v0ZiJ11 W_#e&v`B$ W1bJ$i XV SJ`/#VT@C(`0t1PLX9/D 70.Jdh{iv] %2Xvb.`T)YX9X{T1.,\pS`Dw1 "Hi"{t%0@ X [DT1Xآ*hP@v"FG"d1"0lklƏkdf1 1?ّW1@1Th߀f6{Qj@k{Fkzp_XqYJpzhf'W1ފah~bJ{z#XZf10E]bb1b[.x0Ws0 jJx"b%b $@ X{[^xA\bpkj#e2J}#"lb$1{"{&'06h{@ yly{{6zaz{`ms1z{A0m$1wkd{gnspmobPrSkFxvw,{P%Z{vy1@h{6Te @Tbb'&.t7,z{$&A/`$/0~d1<"cqSJ`tT1"+/ X91"h|ň#cJG#T@+X\bn31jP@1/\ . D3@Hnt-!|ň{XPJ_x- |3 r/,cJ/PJ3,#..A$Ns#"1iX{9~b`oe#{{al ][{{Ňjl{0Izkz' Tkk{MhPi" 1Wez4x"\bSJG"/@#*/"*~6635`J24D\bAlZfPHJ[{#"AJ`R#c gsJKjP[${{E/Y G[kPh{bj[{h"d1'{\4/53,ArJ@N%Ř{TO14u-.c31lXh{x@[k$3GlbpJs$A% Sh1-'JůbŰJ-b.$t6P045\b7^b#&|śA!b{QxnrG/@f1$L+JAx&b&7_ "F%[q"%"M+8"|5'%%L+/@%3tQ#J%&8id1&G"`zށ#"3"%,)3y%))3[@)3[F%))3[[$)$L+"3j0%)%3ىj9Xmt1%%.x*"X7"Э6T1{l&%)d1 "lb*T1 #X%#Kg~$y %"1?y|J5t|"Jсu~$G#`A\`J'~1#&{)-%3Xs"g.@?$3X{g!%9UXޗ1fp$b $/rJ<% '89h1gV1%7#/":"'d.&:d1J' 6.)h'&%K@O#x]"S<?F|b&|1Uw9a#sJ`o"x ##|1#HϜW1$S##>g1 6$ 3X"i?"vh*h?h.6"@Y{0-'G$$f. l$&%/3 e[;$Dl@&TM1%K1 #&qJ$k? mkz$'GdobmpJ%k?f1-HkFzp`1%&Gd1bj0%7#H"Kh{'H%K W{kP|d1cJ@8VyC1TQmŁ&N 'NP/="h?T.lP *k{;#4 A"f7,"@X&Q'lP8@h.X^- "SP(SJT1":'U5"B]2jX@"}R)g[#b*@[31\[W$Y*mX"B)mhp{"S<',iT11B[[^0DlY1mjpI$tr(.i#P$.i(pX81jh2@[T1A6Y )_5` " #sa'pah0d13mSw#t+&_{k{lb2bqJ$t`Z'bT13D f1#tJ'tjPx$p{Y2mj#m(mZ$t0U0uy$t.QX2\/=cb'xd10 w$^o ({5.P R0\oh6,1QPJ/\o(0d&m0H-&/wp #3{${ XZ'@01U`&&m7|1"pPJ&\&p"Y#x .#73&b%/-ct1.bP%|1-c%)%3&cV$5(-b %4&`6L+73 )$)0"1&UY#b1Tָ{-wTR $w'b@-g'd..d${ ^rJ$g|b){`.`"HVA1tX3T10x %&71X1P#3}%(d12T13Y2d1.&@.Yb?%lP%|1"KX/Y&K |$Q&K{% 677(#3#L+W#/%7&Q)K#4(7d."mT13uPJ2uh2u\3ux1uX2uh.u7%t%B(V \h'Z^+N)\" 62#d.&Hb&@[$bp#Ek{%/`$:@f$R<%j$J}v$@C%b#@$B%U#Bg%\a$TM&C[p%@[7\"lPh{.X^"dX{"Eq$ D0G%f%0&d${$ 3{ #3 3"(mAm_pM#b%#6@"|'B?p# 3%Bb@!J0%El@@#@$E`%sa]A1@1w1#:9&bH(#B %y %b g1$Tq=%7X)q_b11@$JEkvxzP$;9<{(j@2z:%:y7Rx"#pa._c$f$*X$$&% $%Vz%)X{$&"@$Y&%XT1(lP(@[J)pPJ b.#B0f#uX-$wX\b(*X#"Z%U)f1D%lP)j%V)[w$V)h'b$\o"i`&b%p"h.d"[x&x%O x{&L0`J(؏&p$E[{aaJ %y ']o@$U0PJ%0,%#7v$0H#؏.Q"#4/(X'1 t1{7!#X^&pa"0^b%/%00e%Y%#1.{#ÌsJ<#$!"0%>#!$N/|#KE`J"0f1psJj%m$$zp={)k@7P$%k~b z A{ wj $R0{"")"ĝ(%Q"Dl3&'#))|&L%"_\$)X$_"L+P`J&L+@"DKh"Z"m7D g1ۺx%\o"x T1vx%x $%\"P iB hBi2HiBLi"L ijR irV irZiJZ i^ ib ifif ifif ifif izfitixi| j~ i ij:j: jRjR jR jZ jbjj jrjz jj jj jjjj jҰj´jj kkB kB¯ kBİkBƱ kBȱkBʲ kB̲kBγ kRδ kRҳkZҵ kbҵkڷ kj޸ kjⷠkj丠l" k k껠k k꼠k k꽠k kk l l ll l+l+ k lK àlK l[Ġl[ lkŠlk lƠl l l"Ǡl" l&Ƞl& l*ɠl* l.ʠl. l2ˠm2 m6̠l l: m: m>Πm> mBϠm3HҠm#LӠmSPԠm[P mcPՠmsP msZ mZ m^֠m^ mbנmd٠mh mhڠml ml۠mp mpܠmt mtݠmx n+xޠn+| n bߠn ؠnn n3n3 nێ oC ok n nnn nn nn noKokok okn nn oo oo oook ok okok os o[okoosoco{ oo o oo oo oo o o `  `  `( `h `h  `h `h `h `h `h `h `x `x ` ` `$ `( `( `. `2 `6 `6 `: a> a> a> a > a(> a0> a8> `> aPPTIa`Te@  axZd^"(\bmelUj\lUlTnlUlTrlUlTvlUlTz\bU\d~]a\U \d]7\b(!]b""\d P#d0$Tlp&%d U'lUT 'dU(d\aU)l\adm *l\a]*m+mȔlT(l\ZU,lT,-dU.UcT^/\c0e1e ]b\oU 2lH3d\Z4\\cXU5l\dlTzU6l\adlTU7l\}d]dTB8TT l9dTW:d T;;UcTlTBdl\U?]dTWd]d\U@lTIdl\Z]"Al\ZdlT;UBl\dl8UCl"ddlTeUDl\dlTUElhFepe xGmmHm^cImȅ9]dT]"Id\ZUJU e\>U&Jl"UlK\d.\oVcLVdЅL]cT U4Mm؅ ;eMV dNlT:K<NTeUO@O\eUPlVD"H e(UQ\fPLSPTUf\ZRUTeVVd\"Wd\adUe\aUXl\adl\aUYldmZl\S]Z^f8[l\S]"[]eTsU\lT^dl\ZU]l\Zdm4^m^f@_]f\Z"`ddd TWUam al\Z]bm0b]eT]cl\aUTd\]>cV fH"dlTW]0dmXem`l\]fl\adlT;Ugl\oUzglT"Ud\aUhdTjTl]oejlTU hlTlUkid \"kd\oUl"%ll\oUmlTm\gUnlT-_dTB\)egTWql\hr"%q]gTlUslT"]rl\oUtlT"EslTUu\`xvdwUg\>x\d\"%x"%y "]yz"=z{"u{\`U|Ug\}dTWU~lTdlTWU\`d^` `Um m(mpl vdTd UT TTmeoe mmS mȔl(ul0] lU,TeЄ `% ( % H h" *!" 2HBH:RJ!Z!j"r bh&hz""h$"H&#*2"2#(0#H4#h6#8#:#<#B Bi D$hF$"J2P$:P% JZIRZZX%j\J\iz`&ihIhfjɪln p)r)|'i|'z'|i(iIj"(*(")J:)J2JBjRZbjr zJJJ**ʪ*겮+J²JҶ+j⾮+꾯+⼯, - а ±- ı Ʋ- Ȳ "ʳ- *̳ 2γKBԴK:ҴkRִZضKjܷ.Kj޷ jථ+z⸮K. /+K/k//, l0L # 0 1,3ñ,C1 CılS1LSűc1c8Ƴs81{$Dz $ȲL{"Ȳ(ɲ&ɲ̣,ʲ̛*ʳ 0˳ .˳L4̳L2̴LDʹL63<γs:δ @ϴ >ϴmFдlB4#JҴ3N4CT5-KT5mSV5[X5c\ֵCZֶs`׶k^׷~ط{b6fٶj6nڶn6ͳr۷-r7vܷmv7Mzݷz7޸7͋߸.ظn8N#8;CK=[幎ck:{:.N:n麎:γ.;.Nۺ/O o#<+<3;cA.cAkcAbAcA(EmモkoSN/c住S=c=cO??O/?o? @   P (` Q08P@HPPX hTP` x  "  &Q, TU;h  6 U PP 4P8e`QX X.<X PBP @ YrD` F ]eH YrJ YrL TnNQ&PPj T PjQPTPjVPX XP\Pj\X P]e~PP7\eQP\2 dhPTTTlT\2PjPlT;PpTTnQ\\!PtT\TTnPT;PxTXXrQTP&P|T\!XrQT\!P\!\vQT\!PHX?TLU\v  @ \v` ]vT# X Xr#$T UX X%X PTQ&P TQ \ p'`\2(Q{TUn\2QᦐX U媐\!]v  P&\v,`]T\v-TPQP P\!/ QqX0T Xr` YrƔ Yr\X PT2P PjP3@ "<4TdXP5TXQP\TP6T QPTXP7T P&P8T\T82PU*9P\!":PY;X Xr;\e<XTnPQjP7UTUnP7UP7Yr  @ "h.` "` \2P7  "4d ("` 0"P 8"`\!@"QXH"QHT P*EPX"F"FT\!T"5GT\!P"G\!P"H\!P$HTTnP{"9TXd*\CU(CX.X"4Y.TX"]X0K\\eY .TnU;\e"Q]lX"MPXP>NXX?Ph YPNX TLP"O \`"EPT` \`U@"EQT TST TPTX TPTTT"EUTPT]nU `QVPTh"DW`WX.TbXP7P"EXT\!PfYTP7P"YTXPjZTP7P"ZT P"[\!X."[\!Pr\\!P"\T\!Pv]T\!P"]T\!Pz^T\!P"^T\!P"i_XPX\ _ \v@ ]` ]v \"l \"` ]XrP&X?TPT`{PH"cP{*"dT*C"dPX.eT\CQP\\CP"fT\CP"Ef\\TXgX\"gT\CX]"EhTP7"("hi\C\QhPP&P"j T"]\CP&XP"UiX  \"kT"! lX.TT"`Pj"t"UmTP"t"`T"nTP" QT;"u{Y.X"p@ XQqP X"rPTd P"Ts \Qr]"tTTXPPs l!Qu"5@X"v#4@"&*vX \!"'Pw\xxUT\vPx\!T]Py` Xr`T "\QzTT;Tn`T\!PjQ{TT;\e`P&\C" $|"6@@\e"}T*XTnT"dTTn"`T""P@":` @p@@`@@@  @(e Qp08P@HPPXP`& @p0UPx \C"@.\e"<\C&X 2 \!(!TLTdPHh, T] 4ZU QDCbh$C~ "*<"DlP$\ @F%\q#\`G "- %PF0.l >=0g_->o1l5@»?"EF*]#" @G*0.o .\#2063k: ;=B03>J0(\c\ R .|Z l >]b0.< 6l;kj0.l 1<lr8l]`|_T$`j½z l;# l h#2=8`#_Rl3# l)8l 5ܹ86\}>""8#l#39e>86]58 ] kp#˝# ) 5;=03)5l;#0.l >1P"|#_S`Rl3# l)/".l 1\l_")-%&)]5%\`\;&_(]0<6.]*! l "\:="0&!`$\/&|(;]*0.G3|Y205;: ;]B03>J06|\"<lqGR l_Z4l "»#b l "3]j4 #l5r4/%4\칝z .l) l >=0"\/&<#"3'_@Zo ( .|#5 l >=0\\/e>0.G3|50.|l>=06<"\;& lM# l;0.l %\'7= l/%<\l#06|.\052+\#@" hŽ8Q"<1G\3|5 3=86\G$Xr+F/>\"hr-#`t"#\'lG"xr #"5l 1< #"r57\25"Pu5#l#2"Pt5>:#8z36\k"r5< \",s 3RR8\.<.l)5Z03)3<"(t-\.. )l#"8t-ќ l/}"Ht- #"z#"@]|.l#"Xt @#!#X""ht-31#"xt G"t-.l ><"t-& (Y"+_3o_+&^_)"t %.#<"t-&$.`@:\"t-6|3|506< ; ;\"v-\3>"-\G#\".:" lY0|.<l \:<"Xv1<"| 1+d"hv1/l >/G\5#}2="\/%\b#CG 42<; 3#43_%"P#5" l*p#*06] :=20\A3%#M3]:0\" %=l2]B07<2\uGJ07<: R12\5:Z0.#P#S&|[b 3<#Gj03>=r 3dz8 >=06v _v"eY12\}:1%\&|+}3k15<;1-#\\3 0\w\ &,  \q\MG03" {3 \k\#+�3>=03\%2\#˝#06306<\\#30 @E\3|5 &l0 %\53\ "x-%6;" %zE(/<& >"d-<*\E>|"-\G\yS#l)k" )",-\5l >=:06\앝#B0#AY\)3J0.\\\\R8%7Z0\\ +|>b0>\Yj0"|\#+<>=r06\3|#z03"!%)\=/0#\ >0\{lG*\3>12$+0G1A "}"\9\ͬ;8S>15]0`:=15\;;15<\q\E;G03k70.3=1=\5128>]12\<\2|#0#> )3 '3^/!"\2\\3 03%\+\Y0'\ @#"F#7%|]* * "1%K+->=*0\u"|\\"\#2 2}:0 57=B07_'\q5J0#e\#:R06>@$ l%*Z0\l - ;b0\\};j06\lYr0 l _\)"\lݝz03>0Ü7 =033|503%\E+02<>06>`&$[`%0\5"/:=06\3|G03\%<&짝02>/#"\G\e#\K&\$3= 06\\/|503%\\3}03>"06<"\#3=*0"<\ /"r$321%|;\[k;=:06\\l)%#<kB0" \ +#\Y2J ;]R03%|\)3,Z0&\o&|&\;]b4"/ j 3Yr4"t/<2<z 3ܝ03>0\A23#03%\\3=06<\;706<; 03>1%|p&&m\\530'3-; "|m\#)}03"2+ ;03>=06"\G+512:%\\3>1%* 15<;/#3> 0\Y#|1< \3] 0\\ >  3}"03\}2J* 2|I291D\M3= :063&#B03%\#3J06<"7R06<\\3 Z03>b0,#I$"@@B_`;m@yB']xj  B&#@ܒ \r03":z0s^!\SP|"?l"?,\; $hsl\M03>=06,\#\Zߕ"`fCk '<*U503"|:=3]S>06< \_/|50\l -;= 033|#03"Q$_+5}03>06#dr\l>06\3|G03^>y# #\02<>0\\c>a 7^\#SG 0\l#>=06\3|#1%\X.D:"03\52|#*0"E\G#\E\:=20"|\.\l#:0 l "T#=B03<>J037 =R033|GZ03"=Gb0Ql >j06Y&3=r06\3|Gz03"|(l;03X30\5"%.\\306\3|503}l)G0\.\/>0\\\"\_\306\\\\G0\ /%\˝03>0\\\7/> 35 \i\)\=\)0\Q\ \ %\30\\ +< >16A.\';]12/\#2|Y /G"#l51)]`2+ 1>yAS%*70"*\ .\9"(\3= 3G" "/\#3=*03"B&$|2>20"5\+|=>:1b\b\&\B;]B12?"=2|YJ12"~;#Z0\WlG%FG"D\3=b05\3|Gj03_5ܒ ]#@&F*Ir03>z0"L_ #\AG:=06\\\G0\ \ P"\lG0`2X30\5]-\\30\ \.\3|G03}\)30\"\/>0\\.\_\3=06\3|G03\5%|V30\\/ \&|20"\73506<b"\\#|I06\70\G\ .|;0"<'\\\/#(>! /#\2;= 06\""^$QY03_70\\ >" " ]%R5*12P320 '|W&a2=:0"*\G"-܏3B ;J0/"1#;R 3Z8/%<03= b9e\93j0\\ 2< \3r \}\z12$+#312|>0\\/.< ; \\30"\\ &|; Wk0"|\#."\\%03>0imG3#03< }"\8*|.& &!++03>=4"|,@)#l֮RI볦< >$^ЮcAcAcAzbAcA 7l3$@@B  <l @, bob03_,\$/0\ \ .<\hs.]02d<9 |\%Y 03-|/06|_m#0G\#3"06<I#*03̧320.`%X;:8;B8.<\)\#J03G7R0\\?.<\_lkZ4l wl2b43<%<+#j03\#:r0.|\\53z0\\ l/%\30x  \ 0!1\h0a 0<;)3l3A-/0}*>12^;$^;#@y(=0`2_KB& \3ܒ \0Sl ">03 > 3}0s^!\AP|#\S>=06\3|#03"?$Q#\)`\_5C'%0 2|>06$\dr>l>06\3|G /#3_%>y%\) _G`fG 02<>0\'\ߕ\Gl>153|G"16?P&_)%lG@E*12$(\\;215?8:15=:B0v#\\l/>J05<\\G\kR0\ /"%Tl)T \lZ03>b0\\#\7\G\!\\\#j06\3|5r03\\#\=/=z0\-\ \ >0`=\G;=06\3|G03|'d"\)k03dp30\5\.v306\3|G03}o)>y%\G03>0\\܏\3= 06\lG0 l %\#˝0\\ />07 =033|503%\;=0Ql >/#"\+> 06\3|G1\'l#1#\3}03\52|#"0"/\&|9&|:")\+/* "/l2O203_s^!l*1#:0&.)"+\3]0B1%e%j03 >r0"3\S.3|Gz06\ "8\3}1%M+]1%N."D\#515<"C]@2D03%E703+U>03"$\#G07<%G,G03<\5:12[>07\2|G06[&'`%G12\720\5$2$j&3=06\3|G03_3ܒ \)303>/#\\+|> 06\3|G03\#2U0\\5+\:"06<"\\="l#*0&/. b\#/#"2\#+6> 0`#h#\hF_`*#<` 5oJ'h @»?"_A)\G03\}:="0"I\Q\k1G_i~o3#@5* `\V4_#\A203"|C:=:0-\ D0]5 \/"ޙ#|v]\;B =o1\*\lJ03>=R06\ #n#z##@]FZ0@2"\B:b0`{#j06\3|Yr03_Y_3oG+&^)Gz03<>07<»^Im@0@2\#:0{ oAµ5\Al>06\3|k0$o =03"2|#0:<"} 20"|/|Y70x(_iH\706\3|G0&@nh#;8.3|#8.?#`KX\)+03"<:0/`t^|G;=8.\3|G/# ]`">] 8.\3|#8.?#  \)k03<"):"03"_0\!`#.l" 5*03>20#_p#lAk :=:06\3|5B03"n$3/}J03>R1'_@Z#' #@:=Z06] 2|Gb0"]*.>]j03\%|#r06<_M@$\ݳz12<\:12\3>432|G03>403"!g">#(.0\k"|+\!>06<\_#q##3#<G02"<l330@%1\|)\&);=06\3|503$F#|%\)G03>0`Vm#+#+#>06\3|G03#`#_Rɽ0"\QS>0oGA#2.|3>/#6\3|G 035T$"`j½G0G/>0><+|%5"0#/#3*0ϯ4\}#"|>2153|5:0q3_# #N.3]B03"<2|#J06<&<+'R0k/\#%|3Z0#\L`W,]k`k;=b12\#2|5j0@+_k& #\M =r06\3|#z03^P$$+R03<>06Y35 :]03>%0\\.3T5 \_\3"03"<:W 3U503>=063]#03\%|+/#{(o/ $\`%3|# ;} ;03>] "0 #I@2#\lw>*063|Y20`F2"`R"#<&4;}:03"|2|#B0 Xg$LXg# =J06\3|#R03"b0 #?̑#2G30hM"6@27")k:=06\3|503"G:j0 k1#-< 3h506]2|03"2\l03>0"]`-<3J#06\3|03"X2M03>0``|&<3J#06\3|/#3"2M 03>0%@9$>J#:=06\3|5"03"#2F*0 M20V.6\-\E3K#:06\3|B03\G2KJ03>R0 h}#_K)#G:=Z06\3|5b03"\2\Hj0 Mr07<:=Jz07N:1[._,\K:07\2|Y02"2M12>0"nG`E#:&O3|I#06\3|03":]03>0\G@7"<G;ݩ06\3|G03".:]x03>0?CǾ6G3w506\3|03\2<}03>/# P#?#C; 06\3|503>03>"1/_@$C%|L35*06]@2|20`6oiV+j;=:03"2|#B06<3J03\:R0`M~l&#;=Z12\G2|5b12"\':ݠj03>r09#,$35z063|06\]; ;]15|;[0@u:"_#\' R"D=8_ylcO'1h9_ dH#  3k0;_1T#\O\ Y=_`|{#\\; o(#ܻ03":=06\;12e"N2eG153a1}V?\\g`=\Sx"Alq )a\l03"\:=03"\92|@#/#63|@ 03>=06 _U?\o`V\m03<\:"0`w#a#i#@;#/lR'* `_o{o@212"+:=:15_go#A#@ν#B03"":J1~Y #@lY;=R072|Z0@2^oGVoGGb03>j0YyoGF6oGmG:=r06\3|Gz03\203>07<2 #0Z#?`G,#?#y<" `0#_$m`03\G:=06_bo5l50@2\:1 SoYuK|A:06]@2|}03"%'4,"lG03<>0#)`lG :=06\3|G03^}]oG lG,#03>0oG@[glGl>/#6\3|G 0`,*"^`ݎ$~T#b( Vo+n;)!03":="06_`e@_}#)*02"+:206?׹n#ãk:12"*:B0X#Xn|};=J06\3|5R0-$$`9\l"K|#|)(:]`\Z o@lb12>=j0 $#y|\>r07|2|Gz0q$?Bhl#& :06\3|#03"|L2 ;]03>}1J|l\@l5 @03>=05^~ }\502":06> }l#03\:0%>@$}%\;=153|50 $$<l\}%+%*] $] %03>>/#%$<l> 06|3|Y1b$%l>=03\2|#"03>* :20 2\#:}:03\W">&$~ e$)M']KB15V`:J B$|)`Lg"6+`R03\:Z0"V"$*\W>b `#,g'"5j03\k:r03\i"4{l#Q\=#z ;]03>=04%~X+_:] %lG/}12"\:06q`#1=#k ;]03\:=0&^z{,&2\ <)#D@lAYlA+YlAnA@lA?e; : Y=z{'\ R\:\s(\cO <`=0`=lSx>O\U`K<\_\l&0V.o-m @%<8;0"$`E)15|:;/#72|# 06<3<>06D3A03"):<"0 h}#A)#u'):*06|3|5203"2<>:0@6@2;R06<3|5Z06|C;=b0","+.>j0@u:_#E#("^Y$D*5r0}V?_(6>z 3C#0 Xg$~Xg#R &#l45_+ (=A  !"4̑ll#12\k:=1e`|{']/%C5gok#^R'D @c~`$`l503":=0#M%l" H# g#|Q5 "|.^K$Rl503>=0``+I3|R# 2#X@9"I#03"2T06 #15; 03"$2=S"0&."\T\E3]T*0$o #g#`{$}=Y2 m%:03\:=B06?y#_C#ol;J03^kn`$p5R06=:Z  7#q# (b12\"!:j06 \#?+#=@#r03"|:z06|;=  =Dl5C)_`rY03\Y:06_Y o#@o#Kd#03"\:06? BoŠ#Ku#06|;0 #`i#l>06<3|&06om@ݏ03\"|(:06? ok VNokfk03\\:0 A# 29lkl>153|k07~Co)@lk03|\G:/#6?Llk*" `k 03|"\:0noAUlAl>03\"<&2|k"06<&;_E@#e(,*03\G:203\>:  _o5$:5B12\:J065@.##}@#R ;]Z03"|:=b06|;]j "o~4^b)r03"}}@2z0 2> @!#@b#7׊03\k:0"<]Q`-?JU#/$\ ;]03"%:=06\;] `oGmG 03"|:038> K%_"$\03\#:0$J%\J#\E"_#@r)#<. :=03>=0`Ma"%B#<;> ][2$\\G/#2<\: 1hM]5@%Ok"Y3 ;]03Y7="1{$\+|F>* \\#3}20\k\ S^{K#\3:06^:#a@#!B03\G:J06P:R :bZ02>]b06\';,j06+3\-&=/r 3\$z06 ;06|3|#03":]'15\'3#06;06\3|#03":!06%3<,#06""|7}09706|3|506\319 /03w"703";2x#06<303<""2\/#6<; 03m>= ;=0#k7\`VY\{;d"1l\ࣟX?* 3k21)@\@"yV\3: 2B0"pl*=0oJolS'\Zl:]0\2|3|G0{o#?0o#\\303\2|#0\\C"zn`u|)Y12 > /#2\"\'`)+܋5 12>0I#?lk*MW\K"\3=06\3|5"03^Ŋ#(#|p#O*03>206;:0\#\S"`:]B0nk$) mk:~J / 62|YR /2"t @/\=kZ /3>b05<;~j /=`2"!:r06`޲#@#0(!z03 \G:06?`n`V(=02\#:03<2\:12\"2\60`mA%5@$5;05 3|# / 5<83\  ; 063# 3\03"R:03\W>06|3|506Y;03\:06;>!0< 2"": 06;=06\3|k06;="03\k:}*03I>= 206\3|G:03",9B ;J06=25R 3|Z03":=b1615\3|#06;}03"2\Ɲ#06;=06\3|#03]5q$<303>15M;)03>=/06|1;,0 ##`%\T;06<3|}03\k2<מ"/#3> 06<3#0 m0 pr$Z0\5"H.3|5b06\3|j11|"2p%fܹr ;]z "\M+#03]5$312": 3507\203\3>} ;] :}L03"):07v#g#j@(=w +wk0 #9=8.|p3j# 3|m03"<2o0GeN^#|p;]8.|3|##0#k6#ij$|p;= 8.\##8 "E2"03\:[*06v3]520##b P#0/$`LlG;d8.3|G8.<3o03\:=03"<:03>0#*\!>9-3|Y07#:}06|#"## +0 \Y%3=8.<&"|"2m5@"# 303"%$3=0G|e#|+>$7#.|3|5 8`6#\&;8.\##8 "I$_?l)#|"03>*0/~ &:=28.\3|5:8.>$m)@"<B0"܎\S\:J03"=$@"##R12>Z1%&%"\Z\;3=b8/2|5j8/=$@}k *r03\G:z0kÌ%."܎lG2=8.\3|G8%&7;=8.\##8 "}z$? p0$*0/ VY)#l֮RI볦< >$^z,~lA(glAkglA+nA+~lA;|?bz@@ p0Y $<f@\ \ N^Z_zl386ljY^1|#8.?mJo# l)#\Z503\C:0,\l`;>^lG;=0?oC2_`VlG9\@- 3\R51l \ ࣟX\; 2k0 ?\@n(\!i`\3 l_.\_m 12\m2%/\ 7\: 12\#:4\U/ l_5 @\3"12\5:=*0oJo o'\|:20\\/.|3|G:14UlS`\ R_)l)@\VB l)a\l#J03;=R05_o5H~_]5Z03":b4"S^5}V#?ɼ_Gj \M\3r03>=z1$lS@LVl:]0\Y\/.}2|G1{nw:$> $\"|\%303\G2|#0\\5<"12>03<"$Y=\)z{'\I02|>1Io?#%*MWl:=06]2|k0 Y=\A>063|#03^0#_OBlM@WMW'}03>0\#/_:\V1_O(]' @u~l03>>&/#\5\-._o$'5 03^bgo׹l506= :06=:"0 Kl/T)\I#.>*06<3|20+o# Vo#$":]:03\2|#B06]Elw^y#3 6#3ݏJ  hoqHll#R03>=Z06^ ~3|75b033|75j06<;r0@x_kHA#l`}@5z a|lk03>=1("`ol /y^`E;# n@[1]12"<:=0`6n/llS_'4,\<\s+ ]o llG03>=06\Yy9m5F|lq#03@hn d106<;0l+*_e`l;072|G03(> g:_kA#"@)#02$"*06_ `޲##T(=/212#\#::0X#@X-^|;=B06\3|kJ0(:n!J|le&;=R15\3|#Z06>`n@ V(ab06|^;j06\]\)\M+A5r12C"|#03\3"#:15.@#)$]o@\ݝG07*:0`$%~p@$}p`:~(/#7 2|5 07>w~Ganנ)=&12"|:03\>] "03|\#:}* :]206@?##++:03"+:B15\x3<J03\Y:!R0"< "+< \5:}Z06 7o7"!+zb06<;j06;r03\G:z1p#>D$\zlA>12<"`*303>0 5?Z#&`G,$@*=0`2":0%<k;=06\k03<)3 ;]0/\:N p ?\%\+M03.":06%3k ;] \"<+<#03]Wp$|3)/#3\:}( %f$f+}103|+"`:06^`,%\R%Q#AY"03"<:*0"]w@*>212|]}$<5:12Q$=H%E"\HB03<>J06~ K$=H%|HkR02\G:Z06=%<@%;b12"<:j038\52kr ;]z06<3#03?>] ")l*ܦ#03\k:0@*D"%A]`%l# B^@|03\:=1%3r$+&%`No;#<#0\Y^/$<1l "<: \}l)Y0/ #\*5; 3} 2ܯ503\:0/6|+9#03\#306<3*/#G%\3 0`A";=06\3|Y0B ="03\k%#*0&*D =206\3|#:0%M =B1%.\3|#J16<2=R03 \:Z0\/\i/|:b4\.3|5j42<"l*:r0"\0l#-FlP2z03Yl)#2P-?>2#.\\#30\G\ +8\#:)0\\.\ ;=14\3|Y0"\#+>]03%</|#0"\\ 2\306\3|#0"\.|;03%\'/|#06<"\+03\k:=/0#+&>8.3|58/<%3~+3#/<\5: 03\Y+050"|(\#/>06<+1#"0/)3*0.<8;=206\3|5:0&+8>]B03\k%)#J0&\+\<>=R06\3|#Z0&~O$\;&|:;b1$<0.\3|#j1%/<%>P$|l)r03\Y:z0\/"% =4\.3|542<%w%@$|G0&#S"|o203Y\)52p/>0\}\+h$F_# \M\3]06|"|\+\#0"\ .\3| ;=03\Y%8+#0\\A^#:&Ja(  ~`0 >=8/>}(06|+|%Y,/#"#F@AmU\A"ql #E@0 >=08\ M#\l>"  #>|lG*1.;21=\짝#:15<3 B2#ܲ"lAY3=J17\1|#R9Q#"\ =Z11\5)#b0w@2\##\_3}j0"#r06="%f)=z03207<&#glM503\#:06<'A#g#0'/"\%=@206<"#^0=03l$}I20 O$< 8912 \2|}125\'3]03<>2^1#l>081|G4\A2\3}01]9O$#0\\+>}12]#$#-/#6<\l)2 0\\ S\306<"<l*<503%<7"07=$2*03\#:206<"<\53=:0"\ /l$<3B0"\] -\;=J07]$}R0><+)Z1%<AG3b2$2|(\M3j12l#1|5r91\07=z11\#)#0}+1\_3}0})<#06<%"#\-0/207=$\(+8#03\#:06<'%-G0'<%|*l *206<'>(\?G03l$}D20""mѭ$=5;=1%\%5125#,2]03>2$%$<%E\7=081|G.0#%,S>] 0&|(.\\)\5#0\\ .;}15\3|#"0"\#.;=*0\\.M3|#2 %52= :03"<%3OB1/Ya]92|5J %}IY(WR1 |#<6+"#Z1&G-<\5l72=b 3=j160"#\e.W3|G03"%B(\G00<|0|03>=1/l3|G16\/\51/<G:0 #03\%C+\G06<0\#00<|G;44<&. #00/|G0\5/\/�0<|G0|/0# ) 1/G2|G12\G/\#1/<G:"0"\k2\\3=*0" |G3|G200|50\)b: 0YB 5%"3}J0\#'\]|5\\M(|U#R  '\ZZ03\3=b03"\&('L#j k(Wr1 >=z12\}3=&0A>0?'+G0"|+\/\#k206<k30G\q307<q(|:G12\#:1 \Y/!#8/>8.<\M"\&}0&($(70\\/<2(#4/\k:42<\\(|k12\k:417$܂G0/#3\#2|7 06*|0"\S/\#G206<"\+#"03̏3*0\#\6< 320 |*# }3"B8 3#J1&|w,%생kR )Z1% \53=b16\/\)j12\#:r1/|Y\"|3 z %%|300 =0\\/+t\#͡07<2 G:1/G/\͏1/\6G1/|&3}1 |G;00 =0"|\(|6G06<\/ |G;00|50\͏0 \G00#%\$# G:1/#\\e = 1%R.3|}1/|#"|\)(|G |G;"00 =*03%5͏20 #G:0"\2|l2}B 3J8 \G:R0"\o/+}z0"w\Y."\3˂ @*\ 1)#l֮RI볦< >$^lA9lA9lA9oAlAZiL <=@WOD\`i`_A_* 1/"o @A a?0#3|#03B^5@|l;02>0}~`|G;=06\3|50@u7oA; ;] ~|lM503\5:12\Ŏ |#0\\.< \]ݝ5 \38 l5|3#2/3; 4\/ >1A\+\# 3}"1=\ >=*2D\\\52 `Nm%#:03>=B0\\/>J04|3|5R03%\)3Z03\>b0"l1l2j1Alw.3|Gr0"l-|"l2=z033|#0"\\.; ;]03>0\5"_*mm&<&aG M|l1 5\)3=2$?'#]%#\^`$# "\^ i`G03%\3=0"_ "# ]0"\.|3|k03%\B\Y03\>0\_@,+3=1&<&-3|G0\l#%\k\\3>3/#3%]@# 063 ;]03>"0&|(2l2* G24\ 5\3:8 \}#B4\ 2<\3J0\\/+l#$\$+<#R "\3]Z03>=b0\\A\%/+|5j %|._r8 >=z0\\5+|>06|3|503%\)3=0"\ e>0"\\2\3=06\3|G06|; "|7] "l*|503%D71%.#"<#\30@o \N^Z_,\l`;>_Z']' 38 \:=0)l/@~/V\5#|;@V5 }0 "_2>4/#o5Hok] ] 07|2|50><`6\]`LWY12G3"00?_OBl@WMW\_3*06\3|G2035_' RG:03>B0`޲oGoG3=J06\3|GR1l# \AࣟX\;3=Z03"\2|#b02Y)Xj03>r0oG2lk`VYG3=z15\3|G1=>ÏPYG0G/G303%j#0#>0{#:0#k3=153|k05-|; 3] oJoM $^'\(!03"@:03>!03$̏"|9#|%k +\$0e >=8|/#$"\2|%# )+\$50#% >= 8.^$%ok L(}(06%;0A6\#$\:="9-3|Y*9->I$%?o)*M("203\k::0/@\G#$>B8.3|GJ8.>%~%~)GR03<\:Z03`$|%_M@("b12>j1@|#$>r9-;kz9 ]#$~%`kV( 03<>0/5"$>8.3|G8$#$>=8.\##8 "=z$%`u0$)]'0`2|>0/+>8.\3|G8.>m$%##)%02<"#:06#;=0A+|F"<%<+G + 8 >=86\ q#67#6앝 8 52*86<+)#9#3"9-\*4#*8#+<5286|34:8#3B86<+;5J8#3R86<+|@#Z9*A#3b86<3j86\5r8 53}Lz8/>86<3}U8/#386)Y 3= +0#8/G386|+4#8#38 *:#4"<3e\칝 짝8 >=8++# +8 >=86\+#73#\wA#3 86<3=&8#386<+&G"91%\M3*91<\+\#28G*&:86|+B9#3J8+>R86\5Z8 #;*qb8A>j86<+5r82l*|Rz87<28/G3}:86<+958#386<+ #91܅\k386|31 4"t@2'\@J\ 7\?1\֝O'r `F2\`R"+] \G03;=05\;\#T(_#Խ503"_K{(5\ #\lM506=:06?`l5@/\#Rk03"^K$(*/06=:06<;8/#3_9\k2/] 06=:06|3 uD\- .Pnd `8A*TF>P`#`YP;P a]H"j"w~f[40kl~JhTJ\ 8 :x~2Y%PX 0O Y(PJQBP(`  WV"hOUh>bTX)2/`C\AcnA*"5AJ@8XZJT Gj)ah{\bPP{8\{pYbgIfh (Ty6_:Ah{6/ ߽SYpW~SNY5YP.7QJJT1lAb/P)0ndT֘;S)`JP7\PbQXG P{U.XF?P"`hSb h{/@G \QFX{WRvd1XX7 m{Xh#`|"/b$c"|J]K\A.1.tp"|[9` I[Zh2"7@T] P- RYpT""bf'TpD_bx`J{.0\@%20n$1;7)b.H-XPdA,a#k"p1UR&1P&"7&&#"43&uts1\ h. k#' PX{TӠ;XZptЭ"H#5&&& 6&|/"T/0Ӡ:27/#!Ԕ_Taߗ)@BX(H>_" 3(XP#|1Pk !X9X&"\d1-VXlP z{h\.kTPS)@c#&  Gr"0OPoʟ"89 xj#Lt1(X&16'Y6" &0PX{.0N29#$T1@!TRe"0 \A`J`@1 X BXZ"@&H[pU%hXG5PydTPY`\.hw ky@x1"$kv#TL@P6M.#4'pZx(T1Fe.$R b"AY"$lOPCo VlVT&T`7PJ/UL %s`#cAX91J^RF"|kjg#-&1X#L* UpRk kY1A(lbP"2#&2&X""1"%bT D"<^"8[]q"L&xgY90{&R-^Py\b<#%1X+i&R38WK|#Lp$X]X!#$b"XTs&X&^jP)`RyPJT"].XvPfY{JX{\ _b"X$,h @*u_ XH#1}y#Ol#!% J!TH".&X]1d0{+UR >ZX2LcX9b"aU1.,h(aT1S$GkU&#d0t\TP/XTsTA&p`8t5@#\ 7@4`)$PhM{"pa#tbX)$L{0#hkZ DEpkx@akZ,3TR&y#+2Ϫ#p`&"dPJPrOX9"1#6Gm"\Mdn\ aT1 \A&\69S)h70fH#  \&KbP)`>B\ J)"[r#"P;b #'"Dk`+XZţPlgP #CTR#tq"X9`8b) #h_*\T1@EPkn`JYP0d\)X& sXF]{@5T rT#2dg"=7A̠#x<Prd&73|%Tfц0rd d"J@"*mc)e#4bPH#zb@\AeTRKA%r"tq{9kZ#LKAP:""PE j%#]"#O;1h #PkAkA6 $"&3"1~H"hAWHTs@VrT,:TzPp)h"X]YZ6\  5"#0;k 9&\>T1t[Pt# P "lO^eP@JPkPI[{d1P~3X=PrXrTP#TRjXd)k@x#KX{MX"AhJ-tT1 X91a(# @Y 1Y#ͺy\ 1jeXYU111hh7'X1#Gkp0h19b"_@>h1%"9h10JWR d1rJ# Plz[J#*{W1g`J }%"&bX[vobI#W1{@Z$'&JNPJ\bA\ 9s[@Qmhf\[#p8wsX{@sj9h@)"+Cs0~hU Ee1`)&\ &zc)b)`w`Jz"/$[W1`~ohgS dR kmhZ e_ lAؾhZPMtT1wsr#kU)Qs\"0h7P)0+pTt\b7XK" B5@hk Y{Ac#5160L4T)\b{6q"0mX96K`khZ ,Pk3T`$ \ 10P&oP&"5g)#Jp|" X&`@^$N+""pT#"x h4>#x %T&H(lc)yCP1q#3A Z7P&H'"P]1"(',POd\JzpTp<PJ z)PX$cJnSKhZc8#"Ǣ#0R# W "x@C\)T9+_ 1` "I#08p|\Aq"kuglP"J"4K&"!#@1p>#"] tgspz#%1)k9*#$TsdR1`|sW1mx9@D-W1@[dRR#=RDhZ%dRP5#~K#pJŰ#20@7\ I"Cw\  "NdR ?#2bAfW0 `1#g.@b# {g\\p= X¤"174""K$k% l"2$&%#PyCXX9'&g1@L4#$'&5(+4(F"&Ȏ!"&)M#)" PoA0)# &3&i1#%9PJ'&yw o"XY~\b@"s&%#RA#/'@3#P)"%`<ʞPJePk#5k`&{`"([d1dP)P*"+l#,`RS`%h ]A&<'h?5=@k Uc l#x 7h? odPAm "PJ-h?:Yp%2{"HtP`k"|!"@@@ k9j\AydX,zT@"vb_#pi"Hq"\Ō#@ E#\#NL$K Ih{,FAX[PSh`J X "d.a z"X`Jg1E'PT1@|zSTS Z#`#7RcJ`1hd1X"!0B"ZG]CJdPXsXZ)J#(d" DP+T74(@HP`[7g""&&@s0>=T1{g)"\NRîX&&(P) '@XZEP) =[hA#L+9IPM,T1͂w1]OX@M4P)P')zXP. T t "A`P`S"zR"Peπ PP-Xcg1`c6 P@T1h6d.O"<)A~*g&T7= 1[Z w#08&HdsJrߍP}*PP"P#H; #Bo)h`yg BPj"xA:P)0: P^k" #X{o~6cA+,W1 T#|1TU>boYh"JX70"W#< C#0 $c)"X^<6072":Xk@#3 #.bjc \$&4#089#{$# 9$2##h!Sx#D[#H67H7pXTsP#H%YL#UP:$F%77 {GX"AosM###$KPK#W,`BSh9&7#eThIh4WP=#[ 5lmb"}Xx%k#%#XT/k0=#tWA4#(\sUP #p#0hyP"\l"6'$Pv#NR#q#HR$o rp"N8 "d2#l.T1 @hPz X "p#.l*XXp5yTHX>"T0@N#`=#\o$T0drPJ* ;1#@@#Pds"z"61A,t10L&+T1 G"p#PAүX96Jy`J*obX\b$.#@"(PJ/,1.(`-"Y6P#?ok$@J F" bcJ"6h{`" d1#@)w#+ >`J!"h"@TbJt$7"6$`~XZ4 S#X $WrUO\ { #7Ab#J1Ww'#p# ߍX T{*Ws'/#C#d1A泀P6 %!lAElAElAoA!lA{yZئ"@CJ~s`I&QP @M4`6u?i4PP. t h@XP0rT0 Xk͂\ ]O|HP6\@NTP*P) P]"_Yd1@XtX)J{XP+T1(d1'T1@X@Vr\C,:"6P`T _A{t`+PpfP)HXff1Ft1`>k"1~TBgI`AX9OPU)\ chPJG@k@d1,XOdd1"tTPUXJbhA5QP@VݩX L\F\AWHP %T*8S&z\bV{c+uP[j\bqT1m`1TATTo'cmXgT`KP1s[lJ%PJ 9Y9`tP[95xrP[ -h9lS)1\Pp,\bxPDr[2$h9!P)@W*US0~lbHP[cvlbP~3T1=PJrPJdwpߍPJ}*\ P+^e[@JhGPzXPpg\KcJXP uP`%>P X{V@PeyohPTT1SRlbRS:lb 9XP 7PP`tX9oAAc)E`JF- Jx{>tptc "5.  XAb#bJ@lb#$&1`%,u4 "k)w{#e0d-D 1PKlb  TA*lb Zj9#v3"tX#sPa$Ĕ#\N2" D3Y -Dxz Qbx- \bXG pbU%bd1 Pbkxbh\bfbl&012X*\ůb"):XS0#h# D DE#"8bwPs\ X{AcA6 #LL %X{ "o)zY%vPE $S%" 3&GxA7#Hh`\TөX.# N#UM"v  ( h H  !(!h! ! &H"644*H*(<#8#H$(J$hJ$H@$P$L%(`HT^bb%V&(h&hd&z&zxHx(llh'|((HH)h)))*(*h*Ъ*Ы+Hh(+¯+°+ư,(Ʊ,̱,h̲,H̲,Hڵܵ൭෭h䷮中渮H踮h츮캮(𻮨Hh/(Ҿ/ҿ// 0(0h0H0Űñ ıH ű(ñ1&12(2$2hX5L2H22ֳ4ֳ(4563H6׵8׳h:׳<׳>׳>5@3@ضBشB6(D4(DٶHFٴHF6h,4h,ڶHڲJڴJ6(4(۶L۲N۴N6P4PܷRܵR7(T5(TݷHVݵHV7h05hn6x۷l6h7p޷z7(r7|ܷHxٶf7z6hd޷t߷~7hv7ݵ|ضHb7~6(`߸X8\5׶^5HḈḨ(HhṈṨ8h9:H:(=HHh:h꺈뺨뽈:=;(=H;h>(;>Hh<(H<><h>((?(H=>H?h?h=>?=(hP  @  `        0 0 ? `    $ $ *@ *  * ` .  .  P  2 6 6@ :` :@ > > @ F F F L` L@ L N   \@ \` R R  b j j j@ j` n n p t t x@ x | |`       @ ! ! "` " " $ $ % % ` & @ & ' ' ( ( ) ) @ ) * ` * + ^+ ^, <P@ - ` . / :0 - @ 1 1 3 ` 3 4 <4 <5 5 5 7` 7 8 48 49 9 9 &9 &;` < = =@ = &= > > > @  A`  B@  B B B B. @ Q DE` HC` HF LD LF NB  T T@ TH` XG` X= ZI ^H ^J (X *X@ ,Y@ hJ` h9 lK lM nN rL r5 t0 >]` BQ D- P DQ Q HQ@ R HR R@ LR S` LS` S NT`  S PT` RB TT RG` TU "U XU V XV V ZW &V` ^W`  W@ ^X@ (W` `X@ bJ dX bJ@ dY fK hY *Z hZ Z lZ@ .[ l[ 4[@ n\ 8[@ r\ 2\` rP` \ 6] @]` @O` @O v] tO ] ^ ^ _ `@ xa b zc d@ ~e _ ^ c c c ~h` i _` ~j j@ _ ~k l c k ` _ n m l o@ m@ p n p w a@ r q q r r@ s@ ~r s@ s s t` t` t u` t u u v u v v w v w p q w xq`   x@ y z z z | |@ V} V~` V | y@`  @@   @ @@@@<|@V @@`@(@(@(@(@(@(  @( @@ @ `@: @: @: @: @: @:@@:`@R@|@@|@@@ B@F @F@J`@J@@N@N@8@8@R@T @&@@&@&`@x@d@d@d@f@@j`@j @p@p@p@t@t@v@@z`@z @X@@  @!@!@@!@"`@"@"@$@$ @% @% @@% @& `@& @|& @D @( @@( `@:* @:+ @+ @+ @- `@. @@:. @( @. @0 @0 @0 @@1 @2 @2 @3 @4 @4@@5@ 6@&7@8@@9@:@0 `@0@0@< @< @:@@=@>`@(@:? @8@&@@> @A@4`@B`@,6@C`@C@C@D@@ C@@8`@(@ (@ F @F@F @G@ G@$G@$H@H@@&H@(H`@H@J @,J@.J@2J@2L@4L @6L@@8L`@L@L@L @N@?@O@D`@DP@FP@@HP`@RP@RR @RS@RS@RT@VT @VU@XU`@ZU@dU@dW@@dW@dX@dX@hX@@hY @jY@lY@vY@v[`@v\@v\@v] @z]`@z^@@|^@~^@@^@^@<^@<`@a`@b@c@d@d @e@e@@f`@f@f@f@f@h@h@@i @j`@j@j@j@j@j @m@m`@n@@n@o@o@o@o @o@@q@q@r`@s@s@d@d@t @u`@v@v@w@w@x@x@@y @y@z`@z@{@{@|@|@@} @~@@` `@``` ` ```` `@```8` `"`& `& `* ``* @`. `. `2 `2 `6  `6`:``:@``@`< `V``N`N`R`R`D `D`D@`\`X`r `j``j@`p`p`p```````~`~`` ` `t @`t! `"`#`$ `% ``& @`& `' `' `( `( `) ``* `+ `+ `, `, `- `- @`- `. ``. `. `0 `0 `1 `1 @`2 `3 `3`4 `4@`5 `5`5`7``7`8`8`8@`9 `9`9` ;`< `<@`<``<`<`<`?`?`? `?@`A`B``B`C`D `D@`D``D`D` D` G`"G`$G `&G@`(G``*G` G`8K`,L `0M``4N`0N@`,N`8 H"h$H"B BJHZrr!Ȃ!z"(""H&"(*,.#2"*28<@$ B$I*Di*HI"@BLBPJV%IZT%ibT%zZ%zZ`VIdihIlɺnp)r'Iv')lv| J:jB(B2(:)*r)Jrjr)jr)꒞* *ꚤ*B*B*ʺ+ B*Ҵ*ⶮ+*+ , ±K,K2Ƴ,2IJ,2Ȳ**:ʳBҿ-+RԿ-kjֶ-jַ-rָ-˂޸-kz޹. -⹮K.k..+../ .Kk+Ҿ-+0 "/° ¯0+Ű[ ðc1 c ı,S 1,[1̓1sɱ{ɱ ȱ 2L03kXֲ3(ʲ3,2̻.3-k0̳Mk23MsZ3ms4ͳm{\׳{63{8γ{:3{<ϳ^4>4`ش-@д-b4MB4MdٴmDѴmf2ͣ,ѲͫhڴJڴ+J6(2+(۶ͻL۴LӴn5N5pܵ-PԵ-r5MR5MtݵmTյmcXݳ[n6p6h7x޷-r7t6mf޶Md7M|߷mv7X6-b߶`5s\58.8n+8+83;8CK9.SN[9nc湎k繮{ns9=K=S:/C:.O[N=oc:n꺮:c:kð=s;˲{.Ӵ=;N۶n>/;;;;ϛ//<+ϻ3><;/>O/?/>>?o==/o@  @? @ ` (  0 H 8 @    P?X x` h p   "  " @ &  ( ` (  ,  .@ 0 @ 2@ @ 6 4 : 8 > @ <@ B@ 0F 0D 0H 8L?( @R PT@ XV `X hX ^ ` ` d f@ h` h l l l r r@ v v z` z  ~  ~! ! "@  " # 0#` (# 8$ H$ @% X% P& ` h& @ `' x' p( ( * * * @ + + ` , , ^+ , P@ 1 @ 1 @ . @ 0 0 0 D @ @2 `  2 ` 83 83 H4 H4 O P6` `6` x7 x7 8 8 M@ 9` : ; I I` > >@ =` = >` ? ? @ xG x@@ 0A` 0C@   C (B 0 G P @ BQ@ Q@ R FR  R (S (JS 0S 8 S @NT HPT HRU P"U XTU `U` `V` hXV` h&W p W p\W x(X (X *X *Y dY *Z fZ@ Z .[ j[@ 4[ 8[ n\ 2\ \ ] >]@ >] P C PR  D@ `S` 0E` 8F` @ F` HT PG "V `H hH` x$W $X` $X ,X@ ,L 0Z *K@ [ .L 4N 6\ 6P@ 6] 6N >P O xq q pz_ p~f f 8a@ 8xa`  xb` (c` 0zc @zd e@ ~e` `~f i xg xh l ~h` o ~k` ~j o@ ~n ~k o q q  r (r (~r 0s 0s 8t@ 8t @t Ht Pu` Xu@ Xu `v hv hv pw xw` xq@ xq r@ (m@ 0t` @m` Hn Xu` p hv w w w @  H ` y z {  8} } ` X~ X`   @@` @@(  @ @0@@X@ H@P X @h @@@ @ @@" `@$ `@ @* @.@0@2@4 @6@@8`@8@H@@@@@@B@@>@@(F@(D@8J@8H@08@@L@HP @P&`@P&@XX@hZ@\@`@b@b@@b`@h @h@l@n@n@r@r@@r`@x @X@h|@h"@"@@ !`@ !`@0#@0"@8#@H$ @H$ @`& @@`% `@`% `@p' @p& @x'@xD @H? @) @@/ `@N @N @+ @, @1 @/ @@/ @. @. @> @1 @0 @0 @= `@2 @2 @03 @= @8= @@A @PA @X6 @`B@pB@8@? @? @: @=@; @; @<@<@@D@@`@=@> @`F@? @XE@@ @@ @A @HD @ B@ K @0C@@C@PE@@H C@PG`@xC@`C@hF @hG@xG@H@ I @H@I @"J`@H@J @*K@,K@.L@*L@2M@4M@6N@N @L @0N@<O@D`@@Q @B` @DQ @ FR @HHT@HBR@HJS@HLS@HNT@XRU@@XPU@@`VV@@hXV@@ZY@TW@\W@^X @`X @dZ`@bY`@hZ`@j[`@l]@f[@n\ @p\@@r]@@v^@t^@z_@|_@@_@<^@x`@@ a`@ b@@(t@8t@Hs @8f @hf@Pf@@Xf`@`g@pg@xh@i@i@k@@k @k`@k@k@l@l@m @m@o`@o@@o@o@p@p@q @r@@ r@t@@t`@(t@0t@8t@Ht @H}@@X}@pv@px@x@xy@y@z@@z @{@{`@|@|@}@}@|@@}@~@@@@@@ @(@0 @8 @@e@PXPT@P `X`` PP\$Q] T ``(`@` T `,`Q& T\!"$`U\!4`U*ЁT\!8T;P\!lCP `<Q@PTfD@`F `8HULPT0QPTXrP`T@VTP`Q{TP pXXP\PT x`\Yrb\2PjdT``PhPTTnR"`Yal\PTUnn\2\vY\XX d@`XPt``x)#l֮RIpLlAlAklAKhAKlA:`z`xP`~!| Q P @`t T#X `(U8 T$P\P&PTXPhd Px'X TQPTUpdP ( PX1 XT*T`P+PTQ,P ``Q&. T;`\!]!؁/X T```\v` T\vQ0P`Pj``U;0Y?@P1 `YĈ? `\C2 \P4X `]vP5 `Pi `6T``QX TPQ{T\v7PXQP\P 9\2P8P\!QPP:TXQ\TPTX?\CPBTXYXXr<T=PT]\vT>TX`TT\vQ?TT]TQ@P`Xr`XT``TPA `\vY.?.AX`PUBX `` 7Xx CTX PEXHXQ`F hPpGHPXPYGX P T"I $P&J(PP7T;P,NP.0LȀM@`ؑ8\T`U D[+"C~"" <|`3@ia\%\l 4\T?03)3=03@ /\#ΰ2\5" ,_`X@l*03>=206]F!l[#:03X3B06<\\3J0\\G7R06<\_\3Z03S(,7b06<\\3= j037r0\\_54l2z4l *|>42<\)\+\&0"\ +G30\2<_=-\ך4\ \G342<@n3\#03307|^[l#03\G:06<\\M3]0X/G706<\_\303P)%30#2 7=0\#\+<\#(a i0$"0\#/"5##\/<5 #00 =06\0\Y"00<|Y;*1/|5;200|\\Y:03P;/GB00<|G0|J0\l/'.6\R00|3|Z03"~#+<b00<|G0|5j00|53#r |#;z0 @V&\3 =0>\58(\' =06\)#03̏}0#6\'31(/|G0#00|G03)#00</0&(|6\06\3|G00|50\) 05 G\l"D'=#4"%(!|5X,! 5/#0 = 0\e\5/PG# G0)|(6#"06\0\*00<|Y;21%/(||5;:00|\\qB03P;/GJ00<|G0|R0"<\/(\6\Z00|3|Gb03%)#j00<|G0|r1%=z00|G"\5G03\)+00<|G38(|+530AY505 3}0#/>1+5>06\G03\/G00<:0&(|:06\3|G00|50\)= 0Y G/O#0\k2<+G/# .|\\ 03\3=0# %R\+|%# \k\3}"03>=*06\X\(O}20\\/AP3:06<\"YB0/);J06<\_\#3R03P)%3Z06<\\#짝Gb037j0\\}\5% 3r4/>z42<\)\+<G0"\ /G30\2<_3=4\#\G342<+|G03%\)307|:03\G:06<\\M3]0X/@G706<\_\303P)%PHP)v1thXp*Wk1Yxt1 Xy/  \AXJ10, Pid1xPH4x/ 7 U,8/h@1 TlХP#D3K]\TKh9DXTfP@X T&`.hupFXu[u&`-.YxS)j@M1"菸/dU,&x"&xx0T1T2,#2{'x\`/h0 /P3"p(x-/ (x/xpHT1"(PH^R  (Hh("&Ȓ(Ȫ$,*(02.486<:@ >iF"J "L :HI:PIJNJTZRZXjV j\ zZIz`I^IdIbɢj n)pIritvxɲz| ~)IiH( H H*H2 H: HB HJHR HZHb HjHr Hzz "H$h$"*"H*"."..#(4"6#H6#:#h:#># >IDiH$*J$BL$BHRP%)RN)bT%ibRirX%rV\%Z`&)^ID&)h&j&ll l')lIl'ill'll'l l(*lJhUUUUUUUUUUUU0T"QDCd @HetD?.N @FaP(Td(gP@T G GTGoF @ SDJ< .@DHK?>AjEE EA?A?\ B*j?_BjDcdggHgUd9 g!H   @ @^1Uk"H `   ` `  @4y BIKx C* z X8xp < ! "/!'&')" `p.$   ` R 8x$ & *")$ &"( `r a a@zh`Hp(`("\: (&'*)*,P ' &"!Ȫ" `P%Z# kl!(HxpH($$ e#+$)*dB$" ` @ @ @  ` l   (xhx( Е pԄ4hĄ\d8|̇t ̈oG"?V F :`xd7226'CCGIHAV j :`xX#67106/CCljn"2 |d Bp  P10ǁ"2 E BpQ>X -0c+ $ Fd 1PAC )p;" A !-!Q w b  H `j  H r! H@ f! H@P108'By$"L1B1/16" = 1'-0"8'Bydo "Y9`3/324 6Rq U81}\7 nz$m44V~x;\5 x;T;2/x;T5 3*_X{$"8'bf 11|؏:h 71-6 -32h8tvB 34w[x72  Cma|q1 ':H |RRH#$(H`j`hA A !">k"2 wd8h{ p Y H(0h( X!9434:27!h`@` R"p(T-"232!7"l9'33!h `   @"0`"47:90:2"@   \'`2@H "Dp`4728Xh;97!il%; J\L"`HH 40222;4:4\PC9!eP X=` \0 :X(@d~-49239062  @  2"BRbrrBRo>Bse 0@ 0`P@  P0@`P 0` !(@P$@d333333?@@? @@` @P!p 0@P@P$0 (  2!77128::06UpBPp̀\?&>Bse 0@ 0h@P=0A/3P!6 (""<$ 246pBp̀]?q8_bve ,"*ka3?"FYa da$A(d- @dd!p 0 *0$HT7 epFp̀ciV+t ! <d01.]pCP]_?56Bq HT1@P$^@"\Z^l^ jT1#6#%`T_X?$V_qS  ( 4"X.n--+$,&X 9mp@p̀Xe2h2 ! i`$  =d2-=p@\Y?hd/  $= "#+08ATYQ4r BP@d8@ 2I&H7 *D$42"75pBP1[#Q1v z " ))5+\",%&$MpE\b$ !X A "5$"X1^h[  " %5;29"(&73$)]pEPc?숽]*s @P4  1#20649:41MpBT[\xM#v #hT0 8#- 00*V))8, 5pEPp̀b? ]_u ~#H "D."`-##/ 4/E"a[``5 J"q5  ""Q)"8*f Yff973##d5 W#b"YAP@@@P P0P@JW0T]CN|N4#?c2`:aRS:Z`-)\B0AP@@P@\\0PZ[,Yhh- kѸ1,|x^0  p  bR҄aN-b_ g0`jV}iOx\"^CZ\=3(| tQ0 2e)O-I{e10U)W)~+:QXO-v(BAQ`@%Xu&@Pa" DD?Z @P!"Cx"4`@( G#,*WLPQ QLQQR RLRRS SLSST TLTTU ULUUV VLVVW W?/"Qx?^į/& ɒOgR${iWQp9b#kb;fPgf`m/]Rxm0|""| xoNHr*X D'<C J`' @R1PyDP~T/ Q+D||/toKGЭz<tA `m S|15 l `(5} a#11@o1 l1H`;| |1K.?lcP`(| 3O3C3&s}m T3.@Z2Hm}T|3}jo}d`Z<=#T|1'd 'f;#)Tp? n \aUtH R+U#UxQ( !Z"#U- 0RѲ#U- VƒeV-" !Vt- eV#eV-X eZqmVpJ. Rm WxC%