!!!!!!!!!!!!    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!       !!!!!!!!!###############%%%############!!!!!!     !!!!!!#########%%%%%%%%%%%%%%%%%%%%%%%%#########!!!!!!    !!!!!!#########%%%'''''''''''')))'''''''''''''''%%%%%%######!!!!!!      !!!!!!######%%%'''''''''))))))))))))+++)))))))))''''''%%%%%%######!!!   !!!!!!######'''''''''))))))++++++---+++---+++++++++)))))))))'''%%%%%%###!!!!!!      !!!######'''''''''++++++------------///---///---------+++))))))'''%%%%%%###!!!   !!!######%%%''')))++++++------//////111111111///111///------+++))))))'''%%%######!!!    !!!###%%%'''))))))+++---///111111111333333333333111111111///---++++++''''''%%%###!!!!!!     !!!###%%%%%%))))))+++---///111111333555555555555555333333111111///---++++++''''''%%%!!!!!!   !!!!!!###%%%''')))+++---///111333333555555777777777777555555333333//////---+++)))'''%%%###!!!   !!!!!!%%%%%%))))))------111111333555777999999999999999999777555333333//////+++)))''''''%%%###!!!    !!!###%%%''')))+++---///111333555777999999999;;;;;;;;;999999777555333111///---+++)))%%%%%%!!!!!!    !!!###%%%''')))+++---///111555555999999;;;======;;;===;;;999777777333333///---+++)))'''%%%###!!!   ######%%%''')))+++//////333555777999;;;;;;======???===;;;;;;999777555111111------)))'''%%%###!!!!!!  !!!###%%%'''++++++///111333555777999;;;======??????======;;;999777555333111---+++))))))%%%###!!!!!!    !!!!!!###'''''')))+++//////333555777999;;;======???===???===;;;999777555333//////---)))'''%%%%%%!!!   !!!###%%%'''++++++---111111555777999999;;;======???===;;;;;;999777555111111---++++++'''%%%###!!!   !!!###%%%''')))+++---111111333555777;;;;;;======;;;===;;;999777555555111///---+++)))'''%%%###!!!     !!!###%%%''')))+++---///111333555777999999999;;;;;;;;;999999777555333111///---+++)))'''%%%###!!!  !!!######%%%'''++++++---111111555555777777999999999999777777555333111111------)))'''%%%######    !!!###%%%''')))+++---//////333333555777777777777777555555333333111///---+++)))'''%%%###!!!!!!   !!!###%%%'''''')))+++---///111111333333555555555555333333333//////---+++)))''''''%%%###!!!     !!!!!!###%%%'''))))))------//////111333111333333333111111111///---++++++)))'''%%%###!!!   !!!!!!%%%%%%'''))))))+++------//////111///111/////////------++++++''''''%%%######!!!    !!!######%%%'''))))))+++---------//////---///---------+++))))))'''%%%%%%###!!!    !!!!!!###%%%%%%''''''))))))++++++++++++---+++++++++))))))''''''%%%%%%###!!!     !!!!!!######%%%''''''''')))))))))+++))))))))))))'''''''''%%%######!!!    !!!######%%%%%%''''''''''''''''''''''''''''''%%%%%%######!!!    !!!!!!#########%%%%%%%%%%%%'''%%%%%%%%%#########!!!!!!    !!!!!!!!!###!!!########################!!!!!!     !!!!!!!!!!!!###!!!!!!!!!!!!     !!!