(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%))))))))))))))))))))))))))))))))))))))))))))))))------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%))))))))))))))))))))))))))))))))))))))))))))))))------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%))))))))))))))))))))))))))))))))))))))))))))))))------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%))))))))))))))))))))))))))))))))))))))))))))))))------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%))))))))))))))))))))))))))))))))))))))))))))))))------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%))))))))))))))))))))))))))))))))))))))))))))))))------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%))))))))))))))))))))))))))))))))))))))))))))))))------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%))))))))))))))))))))))))))))))))))))))))))))))))------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%))))))))))))))))))))))))))))))))))))))))))))))))------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%))))))))))))))))))))))))))))))))))))))))))))))))------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(((((((((((((((((((((((((((((((((((((((((((((((($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''))))))))))))))))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((((((((((((((((((++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####################################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''))))))))))))))))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((((((((((((((((((++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####################################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''))))))))))))))))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((((((((((((((((((++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####################################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''))))))))))))))))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((((((((((((((((((++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####################################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''))))))))))))))))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((((((((((((((((((++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####################################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''))))))))))))))))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((((((((((((((((((++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####################################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''))))))))))))))))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((((((((((((((((((++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####################################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''))))))))))))))))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((((((((((((((((((++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####################################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''))))))))))))))))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((((((((((((((((((++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####################################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''))))))))))))))))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((((((((((((((((((++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####################################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""########################''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((())))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''((((((((((((((((((((((((------------------------((((((((((((((((((((((((************************444444444444444444444444++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111111////////////////////////((((((((((((((((((((((((""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!################################################((((((((((((((((((((((((""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""########################''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((())))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''((((((((((((((((((((((((------------------------((((((((((((((((((((((((************************444444444444444444444444++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111111////////////////////////((((((((((((((((((((((((""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!################################################((((((((((((((((((((((((""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""########################''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((())))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''((((((((((((((((((((((((------------------------((((((((((((((((((((((((************************444444444444444444444444++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111111////////////////////////((((((((((((((((((((((((""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!################################################((((((((((((((((((((((((""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""########################''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((())))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''((((((((((((((((((((((((------------------------((((((((((((((((((((((((************************444444444444444444444444++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111111////////////////////////((((((((((((((((((((((((""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!################################################((((((((((((((((((((((((""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""########################''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((())))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''((((((((((((((((((((((((------------------------((((((((((((((((((((((((************************444444444444444444444444++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111111////////////////////////((((((((((((((((((((((((""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!################################################((((((((((((((((((((((((""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""########################''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((())))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''((((((((((((((((((((((((------------------------((((((((((((((((((((((((************************444444444444444444444444++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111111////////////////////////((((((((((((((((((((((((""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!################################################((((((((((((((((((((((((""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""########################''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((())))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''((((((((((((((((((((((((------------------------((((((((((((((((((((((((************************444444444444444444444444++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111111////////////////////////((((((((((((((((((((((((""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!################################################((((((((((((((((((((((((""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""########################''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((())))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''((((((((((((((((((((((((------------------------((((((((((((((((((((((((************************444444444444444444444444++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111111////////////////////////((((((((((((((((((((((((""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!################################################((((((((((((((((((((((((""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""########################''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((())))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''((((((((((((((((((((((((------------------------((((((((((((((((((((((((************************444444444444444444444444++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111111////////////////////////((((((((((((((((((((((((""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!################################################((((((((((((((((((((((((""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""""""########################''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((())))))))))))))))))))))))&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''((((((((((((((((((((((((------------------------((((((((((((((((((((((((************************444444444444444444444444++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111111////////////////////////((((((((((((((((((((((((""""""""""""""""""""""""%%%%%%%%%%%%%%%%%%%%%%%%""""""""""""""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!################################################((((((((((((((((((((((((""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''' """"""""""""""""""""%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''((((((((((((((((((((--------------------####################********************88888888888888888888AAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@BBBBBBBBBBBBBBBBBBBB>>>>>>>>>>>>>>>>>>>>33333333333333333333::::::::::::::::::::4444444444444444444411111111111111111111&&&&&&&&&&&&&&&&&&&&))))))))))))))))))))$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""&&&&&&&&&&&&&&&&&&&& $$$$$$$$$$$$$$$$$$$$'''''''''''''''''''' """"""""""""""""""""%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''((((((((((((((((((((--------------------####################********************88888888888888888888AAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@BBBBBBBBBBBBBBBBBBBB>>>>>>>>>>>>>>>>>>>>33333333333333333333::::::::::::::::::::4444444444444444444411111111111111111111&&&&&&&&&&&&&&&&&&&&))))))))))))))))))))$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""&&&&&&&&&&&&&&&&&&&& $$$$$$$$$$$$$$$$$$$$'''''''''''''''''''' """"""""""""""""""""%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''((((((((((((((((((((--------------------####################********************88888888888888888888AAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@BBBBBBBBBBBBBBBBBBBB>>>>>>>>>>>>>>>>>>>>33333333333333333333::::::::::::::::::::4444444444444444444411111111111111111111&&&&&&&&&&&&&&&&&&&&))))))))))))))))))))$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""&&&&&&&&&&&&&&&&&&&& $$$$$$$$$$$$$$$$$$$$'''''''''''''''''''' """"""""""""""""""""%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''((((((((((((((((((((--------------------####################********************88888888888888888888AAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@BBBBBBBBBBBBBBBBBBBB>>>>>>>>>>>>>>>>>>>>33333333333333333333::::::::::::::::::::4444444444444444444411111111111111111111&&&&&&&&&&&&&&&&&&&&))))))))))))))))))))$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""&&&&&&&&&&&&&&&&&&&& $$$$$$$$$$$$$$$$$$$$'''''''''''''''''''' """"""""""""""""""""%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''((((((((((((((((((((--------------------####################********************88888888888888888888AAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@BBBBBBBBBBBBBBBBBBBB>>>>>>>>>>>>>>>>>>>>33333333333333333333::::::::::::::::::::4444444444444444444411111111111111111111&&&&&&&&&&&&&&&&&&&&))))))))))))))))))))$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""&&&&&&&&&&&&&&&&&&&& $$$$$$$$$$$$$$$$$$$$'''''''''''''''''''' """"""""""""""""""""%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''((((((((((((((((((((--------------------####################********************88888888888888888888AAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@BBBBBBBBBBBBBBBBBBBB>>>>>>>>>>>>>>>>>>>>33333333333333333333::::::::::::::::::::4444444444444444444411111111111111111111&&&&&&&&&&&&&&&&&&&&))))))))))))))))))))$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""&&&&&&&&&&&&&&&&&&&& $$$$$$$$$$$$$$$$$$$$'''''''''''''''''''' """"""""""""""""""""%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''((((((((((((((((((((--------------------####################********************88888888888888888888AAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@BBBBBBBBBBBBBBBBBBBB>>>>>>>>>>>>>>>>>>>>33333333333333333333::::::::::::::::::::4444444444444444444411111111111111111111&&&&&&&&&&&&&&&&&&&&))))))))))))))))))))$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""&&&&&&&&&&&&&&&&&&&& $$$$$$$$$$$$$$$$$$$$'''''''''''''''''''' """"""""""""""""""""%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''((((((((((((((((((((--------------------####################********************88888888888888888888AAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@BBBBBBBBBBBBBBBBBBBB>>>>>>>>>>>>>>>>>>>>33333333333333333333::::::::::::::::::::4444444444444444444411111111111111111111&&&&&&&&&&&&&&&&&&&&))))))))))))))))))))$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""&&&&&&&&&&&&&&&&&&&& $$$$$$$$$$$$$$$$$$$$'''''''''''''''''''' """"""""""""""""""""%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''((((((((((((((((((((--------------------####################********************88888888888888888888AAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@BBBBBBBBBBBBBBBBBBBB>>>>>>>>>>>>>>>>>>>>33333333333333333333::::::::::::::::::::4444444444444444444411111111111111111111&&&&&&&&&&&&&&&&&&&&))))))))))))))))))))$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""&&&&&&&&&&&&&&&&&&&& $$$$$$$$$$$$$$$$$$$$'''''''''''''''''''' """"""""""""""""""""%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''&&&&&&&&&&&&&&&&&&&&((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%''''''''''''''''''''((((((((((((((((((((--------------------####################********************88888888888888888888AAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@BBBBBBBBBBBBBBBBBBBB>>>>>>>>>>>>>>>>>>>>33333333333333333333::::::::::::::::::::4444444444444444444411111111111111111111&&&&&&&&&&&&&&&&&&&&))))))))))))))))))))$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&&&&&&&&&&&&&&&&&&&&""""""""""""""""""""&&&&&&&&&&&&&&&&&&&& $$$$$$$$$$$$$$$$$$$$"""""""""""""""""" """"""""""""""""""""""""""""""""""""################## $$$$$$$$$$$$$$$$$$(((((((((((((((((($$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,,,,000000000000000000000000000000000000000000000000000000::::::::::::::::::SSSSSSSSSSSSSSSSSS\\\\\\\\\\\\\\\\\\ffffffffffffffffff\\\\\\\\\\\\\\\\\\VVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUKKKKKKKKKKKKKKKKKKGGGGGGGGGGGGGGGGGG==================333333333333333333((((((((((((((((((------------------------------------,,,,,,,,,,,,,,,,,,''''''''''''''''''$$$$$$$$$$$$$$$$$$ ''''''''''''''''''""""""""""""""""""!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((##################"""""""""""""""""" """"""""""""""""""""""""""""""""""""################## $$$$$$$$$$$$$$$$$$(((((((((((((((((($$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,,,,000000000000000000000000000000000000000000000000000000::::::::::::::::::SSSSSSSSSSSSSSSSSS\\\\\\\\\\\\\\\\\\ffffffffffffffffff\\\\\\\\\\\\\\\\\\VVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUKKKKKKKKKKKKKKKKKKGGGGGGGGGGGGGGGGGG==================333333333333333333((((((((((((((((((------------------------------------,,,,,,,,,,,,,,,,,,''''''''''''''''''$$$$$$$$$$$$$$$$$$ ''''''''''''''''''""""""""""""""""""!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((##################"""""""""""""""""" """"""""""""""""""""""""""""""""""""################## $$$$$$$$$$$$$$$$$$(((((((((((((((((($$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,,,,000000000000000000000000000000000000000000000000000000::::::::::::::::::SSSSSSSSSSSSSSSSSS\\\\\\\\\\\\\\\\\\ffffffffffffffffff\\\\\\\\\\\\\\\\\\VVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUKKKKKKKKKKKKKKKKKKGGGGGGGGGGGGGGGGGG==================333333333333333333((((((((((((((((((------------------------------------,,,,,,,,,,,,,,,,,,''''''''''''''''''$$$$$$$$$$$$$$$$$$ ''''''''''''''''''""""""""""""""""""!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((##################"""""""""""""""""" """"""""""""""""""""""""""""""""""""################## $$$$$$$$$$$$$$$$$$(((((((((((((((((($$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,,,,000000000000000000000000000000000000000000000000000000::::::::::::::::::SSSSSSSSSSSSSSSSSS\\\\\\\\\\\\\\\\\\ffffffffffffffffff\\\\\\\\\\\\\\\\\\VVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUKKKKKKKKKKKKKKKKKKGGGGGGGGGGGGGGGGGG==================333333333333333333((((((((((((((((((------------------------------------,,,,,,,,,,,,,,,,,,''''''''''''''''''$$$$$$$$$$$$$$$$$$ ''''''''''''''''''""""""""""""""""""!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((##################"""""""""""""""""" """"""""""""""""""""""""""""""""""""################## $$$$$$$$$$$$$$$$$$(((((((((((((((((($$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,,,,000000000000000000000000000000000000000000000000000000::::::::::::::::::SSSSSSSSSSSSSSSSSS\\\\\\\\\\\\\\\\\\ffffffffffffffffff\\\\\\\\\\\\\\\\\\VVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUKKKKKKKKKKKKKKKKKKGGGGGGGGGGGGGGGGGG==================333333333333333333((((((((((((((((((------------------------------------,,,,,,,,,,,,,,,,,,''''''''''''''''''$$$$$$$$$$$$$$$$$$ ''''''''''''''''''""""""""""""""""""!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((##################"""""""""""""""""" """"""""""""""""""""""""""""""""""""################## $$$$$$$$$$$$$$$$$$(((((((((((((((((($$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,,,,000000000000000000000000000000000000000000000000000000::::::::::::::::::SSSSSSSSSSSSSSSSSS\\\\\\\\\\\\\\\\\\ffffffffffffffffff\\\\\\\\\\\\\\\\\\VVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUKKKKKKKKKKKKKKKKKKGGGGGGGGGGGGGGGGGG==================333333333333333333((((((((((((((((((------------------------------------,,,,,,,,,,,,,,,,,,''''''''''''''''''$$$$$$$$$$$$$$$$$$ ''''''''''''''''''""""""""""""""""""!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((##################"""""""""""""""""" """"""""""""""""""""""""""""""""""""################## $$$$$$$$$$$$$$$$$$(((((((((((((((((($$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,,,,000000000000000000000000000000000000000000000000000000::::::::::::::::::SSSSSSSSSSSSSSSSSS\\\\\\\\\\\\\\\\\\ffffffffffffffffff\\\\\\\\\\\\\\\\\\VVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUKKKKKKKKKKKKKKKKKKGGGGGGGGGGGGGGGGGG==================333333333333333333((((((((((((((((((------------------------------------,,,,,,,,,,,,,,,,,,''''''''''''''''''$$$$$$$$$$$$$$$$$$ ''''''''''''''''''""""""""""""""""""!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((##################"""""""""""""""""" """"""""""""""""""""""""""""""""""""################## $$$$$$$$$$$$$$$$$$(((((((((((((((((($$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,,,,000000000000000000000000000000000000000000000000000000::::::::::::::::::SSSSSSSSSSSSSSSSSS\\\\\\\\\\\\\\\\\\ffffffffffffffffff\\\\\\\\\\\\\\\\\\VVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUKKKKKKKKKKKKKKKKKKGGGGGGGGGGGGGGGGGG==================333333333333333333((((((((((((((((((------------------------------------,,,,,,,,,,,,,,,,,,''''''''''''''''''$$$$$$$$$$$$$$$$$$ ''''''''''''''''''""""""""""""""""""!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((##################"""""""""""""""""" """"""""""""""""""""""""""""""""""""################## $$$$$$$$$$$$$$$$$$(((((((((((((((((($$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,,,,000000000000000000000000000000000000000000000000000000::::::::::::::::::SSSSSSSSSSSSSSSSSS\\\\\\\\\\\\\\\\\\ffffffffffffffffff\\\\\\\\\\\\\\\\\\VVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUKKKKKKKKKKKKKKKKKKGGGGGGGGGGGGGGGGGG==================333333333333333333((((((((((((((((((------------------------------------,,,,,,,,,,,,,,,,,,''''''''''''''''''$$$$$$$$$$$$$$$$$$ ''''''''''''''''''""""""""""""""""""!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((##################"""""""""""""""""" """"""""""""""""""""""""""""""""""""################## $$$$$$$$$$$$$$$$$$(((((((((((((((((($$$$$$$$$$$$$$$$$$,,,,,,,,,,,,,,,,,,000000000000000000000000000000000000000000000000000000::::::::::::::::::SSSSSSSSSSSSSSSSSS\\\\\\\\\\\\\\\\\\ffffffffffffffffff\\\\\\\\\\\\\\\\\\VVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUKKKKKKKKKKKKKKKKKKGGGGGGGGGGGGGGGGGG==================333333333333333333((((((((((((((((((------------------------------------,,,,,,,,,,,,,,,,,,''''''''''''''''''$$$$$$$$$$$$$$$$$$ ''''''''''''''''''""""""""""""""""""!!!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%((((((((((((((((((##################&&&&&&&&&&&&&&&&""""""""""""""""!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""))))))))))))))))################66666666666666663333333333333333DDDDDDDDDDDDDDDDKKKKKKKKKKKKKKKKOOOOOOOOOOOOOOOOccccccccccccccccaaaaaaaaaaaaaaaa]]]]]]]]]]]]]]]]rrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZUUUUUUUUUUUUUUUUXXXXXXXXXXXXXXXXPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKKK66666666666666664444444444444444////////////////33333333333333333333333333333333&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""$$$$$$$$$$$$$$$$))))))))))))))))****************""""""""""""""""""""""""""""""""((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&""""""""""""""""!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""))))))))))))))))################66666666666666663333333333333333DDDDDDDDDDDDDDDDKKKKKKKKKKKKKKKKOOOOOOOOOOOOOOOOccccccccccccccccaaaaaaaaaaaaaaaa]]]]]]]]]]]]]]]]rrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZUUUUUUUUUUUUUUUUXXXXXXXXXXXXXXXXPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKKK66666666666666664444444444444444////////////////33333333333333333333333333333333&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""$$$$$$$$$$$$$$$$))))))))))))))))****************""""""""""""""""""""""""""""""""((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&""""""""""""""""!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""))))))))))))))))################66666666666666663333333333333333DDDDDDDDDDDDDDDDKKKKKKKKKKKKKKKKOOOOOOOOOOOOOOOOccccccccccccccccaaaaaaaaaaaaaaaa]]]]]]]]]]]]]]]]rrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZUUUUUUUUUUUUUUUUXXXXXXXXXXXXXXXXPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKKK66666666666666664444444444444444////////////////33333333333333333333333333333333&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""$$$$$$$$$$$$$$$$))))))))))))))))****************""""""""""""""""""""""""""""""""((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&""""""""""""""""!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""))))))))))))))))################66666666666666663333333333333333DDDDDDDDDDDDDDDDKKKKKKKKKKKKKKKKOOOOOOOOOOOOOOOOccccccccccccccccaaaaaaaaaaaaaaaa]]]]]]]]]]]]]]]]rrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZUUUUUUUUUUUUUUUUXXXXXXXXXXXXXXXXPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKKK66666666666666664444444444444444////////////////33333333333333333333333333333333&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""$$$$$$$$$$$$$$$$))))))))))))))))****************""""""""""""""""""""""""""""""""((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&""""""""""""""""!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""))))))))))))))))################66666666666666663333333333333333DDDDDDDDDDDDDDDDKKKKKKKKKKKKKKKKOOOOOOOOOOOOOOOOccccccccccccccccaaaaaaaaaaaaaaaa]]]]]]]]]]]]]]]]rrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZUUUUUUUUUUUUUUUUXXXXXXXXXXXXXXXXPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKKK66666666666666664444444444444444////////////////33333333333333333333333333333333&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""$$$$$$$$$$$$$$$$))))))))))))))))****************""""""""""""""""""""""""""""""""((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&""""""""""""""""!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""))))))))))))))))################66666666666666663333333333333333DDDDDDDDDDDDDDDDKKKKKKKKKKKKKKKKOOOOOOOOOOOOOOOOccccccccccccccccaaaaaaaaaaaaaaaa]]]]]]]]]]]]]]]]rrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZUUUUUUUUUUUUUUUUXXXXXXXXXXXXXXXXPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKKK66666666666666664444444444444444////////////////33333333333333333333333333333333&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""$$$$$$$$$$$$$$$$))))))))))))))))****************""""""""""""""""""""""""""""""""((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&""""""""""""""""!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""))))))))))))))))################66666666666666663333333333333333DDDDDDDDDDDDDDDDKKKKKKKKKKKKKKKKOOOOOOOOOOOOOOOOccccccccccccccccaaaaaaaaaaaaaaaa]]]]]]]]]]]]]]]]rrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZUUUUUUUUUUUUUUUUXXXXXXXXXXXXXXXXPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKKK66666666666666664444444444444444////////////////33333333333333333333333333333333&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""$$$$$$$$$$$$$$$$))))))))))))))))****************""""""""""""""""""""""""""""""""((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&""""""""""""""""!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""))))))))))))))))################66666666666666663333333333333333DDDDDDDDDDDDDDDDKKKKKKKKKKKKKKKKOOOOOOOOOOOOOOOOccccccccccccccccaaaaaaaaaaaaaaaa]]]]]]]]]]]]]]]]rrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZUUUUUUUUUUUUUUUUXXXXXXXXXXXXXXXXPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKKK66666666666666664444444444444444////////////////33333333333333333333333333333333&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""$$$$$$$$$$$$$$$$))))))))))))))))****************""""""""""""""""""""""""""""""""((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&""""""""""""""""!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""))))))))))))))))################66666666666666663333333333333333DDDDDDDDDDDDDDDDKKKKKKKKKKKKKKKKOOOOOOOOOOOOOOOOccccccccccccccccaaaaaaaaaaaaaaaa]]]]]]]]]]]]]]]]rrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZUUUUUUUUUUUUUUUUXXXXXXXXXXXXXXXXPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKKK66666666666666664444444444444444////////////////33333333333333333333333333333333&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""$$$$$$$$$$$$$$$$))))))))))))))))****************""""""""""""""""""""""""""""""""((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&""""""""""""""""!!!!!!!!!!!!!!!!%%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""))))))))))))))))################66666666666666663333333333333333DDDDDDDDDDDDDDDDKKKKKKKKKKKKKKKKOOOOOOOOOOOOOOOOccccccccccccccccaaaaaaaaaaaaaaaa]]]]]]]]]]]]]]]]rrrrrrrrrrrrrrrriiiiiiiiiiiiiiiiZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZUUUUUUUUUUUUUUUUXXXXXXXXXXXXXXXXPPPPPPPPPPPPPPPPKKKKKKKKKKKKKKKK66666666666666664444444444444444////////////////33333333333333333333333333333333&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$""""""""""""""""$$$$$$$$$$$$$$$$))))))))))))))))****************""""""""""""""""""""""""""""""""((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"""""""""""""""'''''''''''''''%%%%%%%%%%%%%%%###############((((((((((((((($$$$$$$$$$$$$$$!!!!!!!!!!!!!!!(((((((((((((((!!!!!!!!!!!!!!!(((((((((((((((%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&000000000000000AAAAAAAAAAAAAAAjjjjjjjjjjjjjjjfffffffffffffffuuuuuuuuuuuuuuutttttttttttttttcccccccccccccccYYYYYYYYYYYYYYYmmmmmmmmmmmmmmmtttttttttttttttddddddddddddddd```````````````[[[[[[[[[[[[[[[fffffffffffffffPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXQQQQQQQQQQQQQQQBBBBBBBBBBBBBBB:::::::::::::::<<<<<<<<<<<<<<<///////////////---------------///////////////%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$"""""""""""""""'''''''''''''''###############$$$$$$$$$$$$$$$***************$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%"""""""""""""""'''''''''''''''%%%%%%%%%%%%%%%###############((((((((((((((($$$$$$$$$$$$$$$!!!!!!!!!!!!!!!(((((((((((((((!!!!!!!!!!!!!!!(((((((((((((((%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&000000000000000AAAAAAAAAAAAAAAjjjjjjjjjjjjjjjfffffffffffffffuuuuuuuuuuuuuuutttttttttttttttcccccccccccccccYYYYYYYYYYYYYYYmmmmmmmmmmmmmmmtttttttttttttttddddddddddddddd```````````````[[[[[[[[[[[[[[[fffffffffffffffPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXQQQQQQQQQQQQQQQBBBBBBBBBBBBBBB:::::::::::::::<<<<<<<<<<<<<<<///////////////---------------///////////////%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$"""""""""""""""'''''''''''''''###############$$$$$$$$$$$$$$$***************$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%"""""""""""""""'''''''''''''''%%%%%%%%%%%%%%%###############((((((((((((((($$$$$$$$$$$$$$$!!!!!!!!!!!!!!!(((((((((((((((!!!!!!!!!!!!!!!(((((((((((((((%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&000000000000000AAAAAAAAAAAAAAAjjjjjjjjjjjjjjjfffffffffffffffuuuuuuuuuuuuuuutttttttttttttttcccccccccccccccYYYYYYYYYYYYYYYmmmmmmmmmmmmmmmtttttttttttttttddddddddddddddd```````````````[[[[[[[[[[[[[[[fffffffffffffffPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXQQQQQQQQQQQQQQQBBBBBBBBBBBBBBB:::::::::::::::<<<<<<<<<<<<<<<///////////////---------------///////////////%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$"""""""""""""""'''''''''''''''###############$$$$$$$$$$$$$$$***************$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%"""""""""""""""'''''''''''''''%%%%%%%%%%%%%%%###############((((((((((((((($$$$$$$$$$$$$$$!!!!!!!!!!!!!!!(((((((((((((((!!!!!!!!!!!!!!!(((((((((((((((%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&000000000000000AAAAAAAAAAAAAAAjjjjjjjjjjjjjjjfffffffffffffffuuuuuuuuuuuuuuutttttttttttttttcccccccccccccccYYYYYYYYYYYYYYYmmmmmmmmmmmmmmmtttttttttttttttddddddddddddddd```````````````[[[[[[[[[[[[[[[fffffffffffffffPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXQQQQQQQQQQQQQQQBBBBBBBBBBBBBBB:::::::::::::::<<<<<<<<<<<<<<<///////////////---------------///////////////%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$"""""""""""""""'''''''''''''''###############$$$$$$$$$$$$$$$***************$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%"""""""""""""""'''''''''''''''%%%%%%%%%%%%%%%###############((((((((((((((($$$$$$$$$$$$$$$!!!!!!!!!!!!!!!(((((((((((((((!!!!!!!!!!!!!!!(((((((((((((((%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&000000000000000AAAAAAAAAAAAAAAjjjjjjjjjjjjjjjfffffffffffffffuuuuuuuuuuuuuuutttttttttttttttcccccccccccccccYYYYYYYYYYYYYYYmmmmmmmmmmmmmmmtttttttttttttttddddddddddddddd```````````````[[[[[[[[[[[[[[[fffffffffffffffPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXQQQQQQQQQQQQQQQBBBBBBBBBBBBBBB:::::::::::::::<<<<<<<<<<<<<<<///////////////---------------///////////////%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$"""""""""""""""'''''''''''''''###############$$$$$$$$$$$$$$$***************$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%"""""""""""""""'''''''''''''''%%%%%%%%%%%%%%%###############((((((((((((((($$$$$$$$$$$$$$$!!!!!!!!!!!!!!!(((((((((((((((!!!!!!!!!!!!!!!(((((((((((((((%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&000000000000000AAAAAAAAAAAAAAAjjjjjjjjjjjjjjjfffffffffffffffuuuuuuuuuuuuuuutttttttttttttttcccccccccccccccYYYYYYYYYYYYYYYmmmmmmmmmmmmmmmtttttttttttttttddddddddddddddd```````````````[[[[[[[[[[[[[[[fffffffffffffffPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXQQQQQQQQQQQQQQQBBBBBBBBBBBBBBB:::::::::::::::<<<<<<<<<<<<<<<///////////////---------------///////////////%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$"""""""""""""""'''''''''''''''###############$$$$$$$$$$$$$$$***************$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%"""""""""""""""'''''''''''''''%%%%%%%%%%%%%%%###############((((((((((((((($$$$$$$$$$$$$$$!!!!!!!!!!!!!!!(((((((((((((((!!!!!!!!!!!!!!!(((((((((((((((%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&000000000000000AAAAAAAAAAAAAAAjjjjjjjjjjjjjjjfffffffffffffffuuuuuuuuuuuuuuutttttttttttttttcccccccccccccccYYYYYYYYYYYYYYYmmmmmmmmmmmmmmmtttttttttttttttddddddddddddddd```````````````[[[[[[[[[[[[[[[fffffffffffffffPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXQQQQQQQQQQQQQQQBBBBBBBBBBBBBBB:::::::::::::::<<<<<<<<<<<<<<<///////////////---------------///////////////%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$"""""""""""""""'''''''''''''''###############$$$$$$$$$$$$$$$***************$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%"""""""""""""""'''''''''''''''%%%%%%%%%%%%%%%###############((((((((((((((($$$$$$$$$$$$$$$!!!!!!!!!!!!!!!(((((((((((((((!!!!!!!!!!!!!!!(((((((((((((((%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&000000000000000AAAAAAAAAAAAAAAjjjjjjjjjjjjjjjfffffffffffffffuuuuuuuuuuuuuuutttttttttttttttcccccccccccccccYYYYYYYYYYYYYYYmmmmmmmmmmmmmmmtttttttttttttttddddddddddddddd```````````````[[[[[[[[[[[[[[[fffffffffffffffPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXQQQQQQQQQQQQQQQBBBBBBBBBBBBBBB:::::::::::::::<<<<<<<<<<<<<<<///////////////---------------///////////////%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$"""""""""""""""'''''''''''''''###############$$$$$$$$$$$$$$$***************$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%"""""""""""""""'''''''''''''''%%%%%%%%%%%%%%%###############((((((((((((((($$$$$$$$$$$$$$$!!!!!!!!!!!!!!!(((((((((((((((!!!!!!!!!!!!!!!(((((((((((((((%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&000000000000000AAAAAAAAAAAAAAAjjjjjjjjjjjjjjjfffffffffffffffuuuuuuuuuuuuuuutttttttttttttttcccccccccccccccYYYYYYYYYYYYYYYmmmmmmmmmmmmmmmtttttttttttttttddddddddddddddd```````````````[[[[[[[[[[[[[[[fffffffffffffffPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXQQQQQQQQQQQQQQQBBBBBBBBBBBBBBB:::::::::::::::<<<<<<<<<<<<<<<///////////////---------------///////////////%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$"""""""""""""""'''''''''''''''###############$$$$$$$$$$$$$$$***************$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%"""""""""""""""'''''''''''''''%%%%%%%%%%%%%%%###############((((((((((((((($$$$$$$$$$$$$$$!!!!!!!!!!!!!!!(((((((((((((((!!!!!!!!!!!!!!!(((((((((((((((%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&000000000000000AAAAAAAAAAAAAAAjjjjjjjjjjjjjjjfffffffffffffffuuuuuuuuuuuuuuutttttttttttttttcccccccccccccccYYYYYYYYYYYYYYYmmmmmmmmmmmmmmmtttttttttttttttddddddddddddddd```````````````[[[[[[[[[[[[[[[fffffffffffffffPPPPPPPPPPPPPPPXXXXXXXXXXXXXXXQQQQQQQQQQQQQQQBBBBBBBBBBBBBBB:::::::::::::::<<<<<<<<<<<<<<<///////////////---------------///////////////%%%%%%%%%%%%%%%!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$"""""""""""""""'''''''''''''''###############$$$$$$$$$$$$$$$***************$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%############$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!""""""""""""%%%%%%%%%%%%))))))))))))%%%%%%%%%%%%!!!!!!!!!!!!((((((((((((************............;;;;;;;;;;;;bbbbbbbbbbbbssssssssssss{{{{{{{{{{{{}}}}}}}}}}}}ˆˆˆˆˆˆˆˆˆˆˆˆzzzzzzzzzzzzffffffffffffmmmmmmmmmmmm}}}}}}}}}}}}››››››››››››ƒƒƒƒƒƒƒƒƒƒƒƒuuuuuuuuuuuugggggggggggg^^^^^^^^^^^^SSSSSSSSSSSS============OOOOOOOOOOOOUUUUUUUUUUUURRRRRRRRRRRRDDDDDDDDDDDD>>>>>>>>>>>>>>>>>>>>>>>>CCCCCCCCCCCC555555555555666666666666++++++++++++++++++++++++''''''''''''############$$$$$$$$$$$$)))))))))))),,,,,,,,,,,,$$$$$$$$$$$$))))))))))))!!!!!!!!!!!!((((((((((((++++++++++++************++++++++++++))))))))))))&&&&&&&&&&&&""""""""""""############$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!""""""""""""%%%%%%%%%%%%))))))))))))%%%%%%%%%%%%!!!!!!!!!!!!((((((((((((************............;;;;;;;;;;;;bbbbbbbbbbbbssssssssssss{{{{{{{{{{{{}}}}}}}}}}}}ˆˆˆˆˆˆˆˆˆˆˆˆzzzzzzzzzzzzffffffffffffmmmmmmmmmmmm}}}}}}}}}}}}››››››››››››ƒƒƒƒƒƒƒƒƒƒƒƒuuuuuuuuuuuugggggggggggg^^^^^^^^^^^^SSSSSSSSSSSS============OOOOOOOOOOOOUUUUUUUUUUUURRRRRRRRRRRRDDDDDDDDDDDD>>>>>>>>>>>>>>>>>>>>>>>>CCCCCCCCCCCC555555555555666666666666++++++++++++++++++++++++''''''''''''############$$$$$$$$$$$$)))))))))))),,,,,,,,,,,,$$$$$$$$$$$$))))))))))))!!!!!!!!!!!!((((((((((((++++++++++++************++++++++++++))))))))))))&&&&&&&&&&&&""""""""""""############$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!""""""""""""%%%%%%%%%%%%))))))))))))%%%%%%%%%%%%!!!!!!!!!!!!((((((((((((************............;;;;;;;;;;;;bbbbbbbbbbbbssssssssssss{{{{{{{{{{{{}}}}}}}}}}}}ˆˆˆˆˆˆˆˆˆˆˆˆzzzzzzzzzzzzffffffffffffmmmmmmmmmmmm}}}}}}}}}}}}››››››››››››ƒƒƒƒƒƒƒƒƒƒƒƒuuuuuuuuuuuugggggggggggg^^^^^^^^^^^^SSSSSSSSSSSS============OOOOOOOOOOOOUUUUUUUUUUUURRRRRRRRRRRRDDDDDDDDDDDD>>>>>>>>>>>>>>>>>>>>>>>>CCCCCCCCCCCC555555555555666666666666++++++++++++++++++++++++''''''''''''############$$$$$$$$$$$$)))))))))))),,,,,,,,,,,,$$$$$$$$$$$$))))))))))))!!!!!!!!!!!!((((((((((((++++++++++++************++++++++++++))))))))))))&&&&&&&&&&&&""""""""""""############$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!""""""""""""%%%%%%%%%%%%))))))))))))%%%%%%%%%%%%!!!!!!!!!!!!((((((((((((************............;;;;;;;;;;;;bbbbbbbbbbbbssssssssssss{{{{{{{{{{{{}}}}}}}}}}}}ˆˆˆˆˆˆˆˆˆˆˆˆzzzzzzzzzzzzffffffffffffmmmmmmmmmmmm}}}}}}}}}}}}››››››››››››ƒƒƒƒƒƒƒƒƒƒƒƒuuuuuuuuuuuugggggggggggg^^^^^^^^^^^^SSSSSSSSSSSS============OOOOOOOOOOOOUUUUUUUUUUUURRRRRRRRRRRRDDDDDDDDDDDD>>>>>>>>>>>>>>>>>>>>>>>>CCCCCCCCCCCC555555555555666666666666++++++++++++++++++++++++''''''''''''############$$$$$$$$$$$$)))))))))))),,,,,,,,,,,,$$$$$$$$$$$$))))))))))))!!!!!!!!!!!!((((((((((((++++++++++++************++++++++++++))))))))))))&&&&&&&&&&&&""""""""""""############$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!""""""""""""%%%%%%%%%%%%))))))))))))%%%%%%%%%%%%!!!!!!!!!!!!((((((((((((************............;;;;;;;;;;;;bbbbbbbbbbbbssssssssssss{{{{{{{{{{{{}}}}}}}}}}}}ˆˆˆˆˆˆˆˆˆˆˆˆzzzzzzzzzzzzffffffffffffmmmmmmmmmmmm}}}}}}}}}}}}››››››››››››ƒƒƒƒƒƒƒƒƒƒƒƒuuuuuuuuuuuugggggggggggg^^^^^^^^^^^^SSSSSSSSSSSS============OOOOOOOOOOOOUUUUUUUUUUUURRRRRRRRRRRRDDDDDDDDDDDD>>>>>>>>>>>>>>>>>>>>>>>>CCCCCCCCCCCC555555555555666666666666++++++++++++++++++++++++''''''''''''############$$$$$$$$$$$$)))))))))))),,,,,,,,,,,,$$$$$$$$$$$$))))))))))))!!!!!!!!!!!!((((((((((((++++++++++++************++++++++++++))))))))))))&&&&&&&&&&&&""""""""""""############$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!""""""""""""%%%%%%%%%%%%))))))))))))%%%%%%%%%%%%!!!!!!!!!!!!((((((((((((************............;;;;;;;;;;;;bbbbbbbbbbbbssssssssssss{{{{{{{{{{{{}}}}}}}}}}}}ˆˆˆˆˆˆˆˆˆˆˆˆzzzzzzzzzzzzffffffffffffmmmmmmmmmmmm}}}}}}}}}}}}››››››››››››ƒƒƒƒƒƒƒƒƒƒƒƒuuuuuuuuuuuugggggggggggg^^^^^^^^^^^^SSSSSSSSSSSS============OOOOOOOOOOOOUUUUUUUUUUUURRRRRRRRRRRRDDDDDDDDDDDD>>>>>>>>>>>>>>>>>>>>>>>>CCCCCCCCCCCC555555555555666666666666++++++++++++++++++++++++''''''''''''############$$$$$$$$$$$$)))))))))))),,,,,,,,,,,,$$$$$$$