%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%++++++++++++++++++++%%%%++++%%%%%%%%%%++++%%%%%%%%++%%%%++%%%%%%%%++%%%%++%%%%%%++++%%++++++%%++++++%%++++++%%++%%%%++++++%%%%%%%%++++++%%%%%%++++++%%%%%%%%%%%%++++++%%%%%%%%%%++++++++++++++++++++++++%%%%++%%%%%%++++++%%%%%%++++++++%%%%++++++++%%++++++%%%%++++++++%%++++++++++++++%%%%%%%%%%++++++++++++%%%%%%%%%%++++++++%%%%++++%%%%++++++++%%%%++++%%%%++++++++++++%%%%%%%%++++++++++++++++++%%%%%%%%++++++++++++%%%%%%%%++++++%%%%%%++++++%%%%%%%%++++++%%%%%%%%%%%%%%++++++%%%%%%%%%%++++++%%%%%%++++%%++++++%%%%++++%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%++++++++++%%++++++++%%%%%%%%%%++++%%%%%%%%%%++++++%%%%++++++%%++++%%%%++++++%%++++++%%++++++%%++%%%%%%%%%%%%++%%%%++%%%%++++%%%%%%%%%%%%%%%%%%%%%%%%++%%%%++%%%%%%%%++%%%%++%%%%++%%%%%%%%++%%%%%%%%%%++++%%%%++%%%%%%%%%%%%++++%%%%++%%%%%%++++%%%%++++++++++++++++%%%%++++++++++++++++++++++%%%%%%++++++++++++%%%%%%++++++++++++++%%++++++++++++++++%%++++++++++%%%%++++++++++++%%%%++++++%%%%%%%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%++%%%%++++%%%%++%%%%%%%%%%%%++%%%%++++%%%%++%%%%%%++%%%%%%%%%%++%%%%%%++++++%%++++%%++%%%%%%%%%%++%%%%%%++++++%%++++%%++%%++%%%%%%++++++%%++%%++%%%%%%++++++%%++++%%%%%%%%++++++++%%%%%%++++++++%%%%%%++%%%%++++++%%%%++%%%%%%++%%%%++++++%%%%++%%%%%%++%%%%++++++++++++%%%%++++++%%%%++++++++++++%%%%++++++++++++++++%%%%%%%%%%%%%%%%%%%%++%%%%%%++++%%%%%%++%%%%%%++++%%%%%%++%%%%++++%%++%%++++%%%%++++%%++%%++%%++++%%++++%%%%%%++++%%++++%%++++%%%%%%++++%%%%++++++%%++++%%%%++++++%%++++%%%%++++++++++%%%%++++++++++++++++++++%%%%++++++++++%%%%++++++++++%%%%++++++++++%%%%%%++++++%%%%%%%%%%++++++%%%%%%%%++%%++++%%++%%++++%%++++++++++++++++++%%%%++++++%%%%++++%%%%%%++%%%%%%++%%++++++%%++++++++++++++%%++%%%%%%++%%%%%%%%++++%%%%%%%%%%++++%%%%%%%%%%%%++++++%%%%%%++++++%%%%++%%%%%%++%%%%++++%%%%++%%%%%%++%%%%++++++%%%%++++++%%%%%%++++++%%%%++++++%%%%%%++++%%++++++++++++++++++%%++++++++++++++++++%%++%%%%%%++%%%%++++%%%%++%%%%%%++++%%%%++%%%%%%++++++%%++++++%%++++++%%++++++%%++++++++++++++++++++++++++%%%%++++++%%%%++%%%%++++++%%%%++++%%%%++++++%%++++%%%%++++++%%++%%++++%%++++++++%%%%%%%%%%%%++++++++%%%%%%%%%%%%++%%%%++++%%%%++++++++%%%%++++%%%%++++++++%%%%++++++++++++++++%%%%%%%%++++++++++++++++%%%%++++++%%%%%%%%%%++++++%%%%%%%%%%%%%%%%++++%%%%%%%%%%%%%%%%%%++++%%%%%%%%%%%%++%%++%%++++%%%%++%%++%%++++%%%%++++++%%%%++++++++%%%%++++++++++++++++++++++%%%%%%%%%%++%%%%++%%%%%%%%++%%%%++%%%%%%++%%%%++++++%%%%%%++%%%%++++++%%%%%%++%%++%%%%++%%%%++++++++%%++%%%%++%%%%++++++++%%%%++++++%%%%++++++++%%%%++++++%%%%++++++++%%%%%%++++++++++%%%%%%++++++++++%%%%++%%++++%%%%%%++%%%%++%%++++%%%%%%++%%%%%%%%%%++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%++++++++++++++%%%%%%++%%%%%%%%++%%%%%%%%++%%%%%%%%%%++++%%%%%%++++%%++++++++++%%%%++%%%%++%%++++%%%%++%%++++%%%%%%%%%%++++%%%%%%++++++%%%%++++%%%%++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%++%%++++++++%%++++++++++%%%%++++++++++%%%%++++++%%++++%%%%%%++++%%%%++%%%%%%%%%%++++%%++%%%%%%%%%%++++%%%%%%++++++++++++%%++%%%%++++++++++++%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%++%%%%++++%%++%%%%%%++%%++++++++++%%%%++%%++++++++++%%%%%%%%++++++%%%%++++++%%%%%%%%%%++++++%%%%++++++%%%%%%++++%%%%++++%%++++++++++%%++++%%%%++++%%++++++++++++++++%%%%%%++++++++++%%%%%%++++++%%%%%%%%++%%++++++++%%%%%%%%++%%++++++%%%%%%%%++++%%%%%%%%++++++++++++%%++++++%%++++++++%%++++++%%++++++++++++%%%%%%++++++++++++%%%%%%++++++++++++