'########'''######''''##''''''''########''##''''''''##''''##'''##'''''''''''##'''''##''''''''##'''''''''##'''''''''''##'''''######''''##'''####''##'''''''''''##'''''##''''''''##''''##'''##'''''''''''##'''''##''''''''##''''##'''##'''''''''''##'''''##'''''''''######''''########'''''##''''