+--++++- --++++-- -++++--+ ++++--++ +++--++- ++--++-- +--++--- --++----