Premium Members
Member ID

Password


Forget ID/Password?
Renew Membership

Google

Instant Match Finder

Instruction and Screenshot

Now you don't have to repeatly enter your numbers. You can easily save your numbers and recall these numbers when access the page next time with just one click. Please see below for detail.

 Game: Hot Lotto (Multi-state)   Rule: 5/39+1/19

  Enter up to 10 sets of ticket numbers

!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!