-- The following deeply left-nested expression illustrates a problem
-- in a previous implementation of the occurrence machinery.

postulate A : Set

data List : Set where
  nil  : List
  snoc : List → A → List

f : A → List
f x = snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc (snoc nil x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x) x
